BLOG
Tracefield · 02
Tracefield · 01
블로그 · 14
Vibe Audit · 04
Vibe Audit · 03
Vibe Audit · 02
Vibe Audit · 01
출판편집자 · 01
StudyTree · 01
SecurityOps · 02
SecurityOps · 01
AI챗봇 · 04
AI챗봇 · 03
AI챗봇 · 02
AI챗봇 · 01
퍼플심 · 04
퍼플심 · 03
퍼플심 · 02
퍼플심 · 01
블로그 · 13
rootscan · 07
rootscan · 06
블로그 · 12
블로그 · 11
블로그 · 10
블로그 · 09
블로그 · 08
블로그 · 07
블로그 · 06
블로그 · 05
블로그 · 04
블로그 · 03
블로그 · 02
블로그 · 01
rootscan · 05
rootscan · 04
rootscan · 03
asmspeak · 03
asmspeak · 02
rootscan · 02
asmspeak · 01
rootscan · 01
웹보안도구 · 02
웹보안도구 · 01
루트캠프 · 02
루트캠프 · 01
All notes 167
2025-11-29 / 호스트기반모의해킹 · 17
MySQL 취약점 진단
1. 개요
MySQL은 가장 널리 쓰이는 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS) 중 하나다.
- 포트: 기본적으로 TCP 3306을 사용한다.
- 주요 위협: 오래된 버전의 RCE보다, 접근 제어 미흡(Misconfiguration)이나 데이터 평문 저장 문제가 더 자주 발견된다.
2. 주요 진단 항목
2.1 접근 제어 및 기본 계정(Default Credentials)
가장 먼저 보는 건 접근 제어와 기본 계정 설정이다.
- 원격 접속 허용:
root 계정이 로컬(Localhost)만이 아니라 외부 IP에서도 접속 가능하게 열려 있는지 확인한다.
- 빈 비밀번호(Empty Password): 일부 설정은
root 비밀번호가 비어 있어도 접속이 될 수 있다.
예시 확인은 mysql -u root -h [Target_IP] -p 입력 후 비밀번호 없이 진행하는 방식으로 설명된다.
2.2 중요 데이터 저장 방식(Data At Rest)
데이터베이스 안의 데이터가 어떤 형태로 저장되는지도 중요하다.
- 평문 저장(Clear Text)
개인정보나 비밀번호가 암호화 없이 그대로 저장되는지 본다.
예를 들어 SELECT * FROM users; 결과에 password123이 그대로 보인다면 즉시 문제로 본다.
- 취약한 해시 알고리즘(Weak Hashing)
해시를 쓰더라도 MD5, SHA-1처럼 오래된 알고리즘이면 쉽게 무력화될 수 있다.
hash-identifier 같은 도구로 해시 유형을 먼저 식별할 수 있다.
3. 실무에서는?
실무에서는 결과 해석이 특히 중요하다.
- Nmap 스크립트(
mysql-empty-password)가 로그인 성공처럼 보여도, 실제 mysql 클라이언트로 다시 보면 아닌 경우가 있다. 그래서 수동 검증(Manual Verification)이 꼭 필요하다.
- DB에서 확인된 평문 비밀번호나 약한 해시는 다른 서비스와의 계정 재사용 위험으로 이어질 수 있다.
- 버전별 RCE 이슈보다, 데이터베이스의 접근 제어와 저장 방식 같은 기본 설정을 점검하는 쪽이 실제 결과물 도출에 더 유효한 경우가 많다.