본문 바로가기

4-1. 2025-2 심화 스터디/버그헌팅

[버그헌팅] section 7

1. Kioptrix Level 2 정리 

  • Vulnhub에서 제공하는 취약 VM.
  • 특정 서비스(MySQL 포함)의 잘못된 설정을 악용해 권한 상승을 수행하는 것을 목표로 하는 CTF형 실습 환경.
  • 이 구간에서는 특히 MySQL의 보안 설정 오남용을 탐지하는 데 초점을 맞춤

 

2. Nmap NSE 스크립트 활용

 

 

(1) mysql-empty-password


-MySQL 계정 중 비밀번호가 비어 있는(empty) 계정이 존재하는지 확인하기 

 

사용 명령 
sudo nmap -p3306 -sV --script=mysql-empty-password <TARGET-IP>

 

 

 

  • anonymous 계정: empty password
  • root 계정: empty password
    → MySQL 인증 없이 접속 가능한 취약한 환경임을 의미한다.

 

(2) mysql-audit

 


-CIS(Center for Internet Security) MySQL Benchmark v1.0.2 기준으로 MySQL 서버의 보안 설정 상태를 자동 감사

 

 

사용 명령

sudo nmap -p3306 -sV --script=mysql-audit <TARGET-IP>

 

 

출력 해석

  • PASS: 로그 분리, symbolic link skip 등
  • REVIEW: MySQL 버전의 업데이트 필요 여부
  • FAIL: skip networking, safe user create 등 필수 보안 항목 미충족

이는 MySQL의 보안 구성이 전반적으로 취약하며, 실제 공격 시 쉽게 악용 가능한 설정들이 존재함을 나타낸다.


(3) mysql-vuln-cve2012-2122


-MySQL 인증 우회 취약점(CVE-2012-2122) 존재 여부를 점검

  • 인증 과정에서 SHA 기반 토큰 비교 오류로 인해
    잘못된 패스워드를 입력해도 일정 확률로 인증이 우회되는 문제.
  • 취약 버전:
    • MySQL 5.1.x (5.1.63 이전)
    • MySQL 5.5.x (5.5.24 이전)
    • MySQL 5.6.x (5.6.6 이전)

사용 명령

sudo nmap -p3306 -sV --script=mysql-vuln-cve2012-2122 <TARGET-IP>

 

 

출력 해석

  • "VULNERABLE" → 해당 취약점을 악용해 인증 우회 가능
  • 공격자는 root 권한 혹은 임의 계정에 접근할 수 있게 됨

 

3. 내용 요약 

 

  • Nmap NSE 스크립트 3가지를 활용해
    1. 비밀번호 없는 계정 존재 여부
    2. CIS 기준 보안 설정 감사
    3. CVE-2012-2122 인증 우회 취약점
      을 자동으로 확인.
  • 결과적으로 MySQL 설정의 전반적인 취약점이 드러나며,
    이는 침투 테스터에게 root 접근 또는 시스템 장악의 주요 공격 경로가 됨