hydra

RYEONGO KIM·2026년 2월 25일

kali linux

목록 보기
5/6

Hydra란 무엇인가?

Hydra는 한마디로 "전 세계에서 가장 빠르고 강력한 로그인 무차별 대입(Brute-Force) 공격 도구"입니다.

작동 원리: 수천, 수만 개의 비밀번호가 담긴 사전 파일(Wordlist)을 가지고 서버에 하나씩 대입해 보며 맞는 비밀번호를 찾아냅니다.

특징: 매우 빠르며(멀티 스레드 지원), SSH, FTP, HTTP, MySQL, Telnet 등 50가지가 넘는 프로토콜을 지원합니다.

용도: 취약한 비밀번호(1234, password 등)를 사용하는 계정을 찾아내어 침투할 때 사용합니다.

hydra -l [아이디] -P [비밀번호파일] [대상IP] [프로토콜]

-l (소문자 L): 공격할 대상의 아이디를 직접 입력할 때 씁니다. (예: root, admin)

-L (대문자 L): 여러 아이디가 적힌 파일을 사용할 때 씁니다.

-p (소문자 P): 특정 비밀번호 하나만 넣어볼 때 씁니다.

-P (대문자 P): 비밀번호 후보들이 들어있는 사전 파일을 지정할 때 씁니다.

-t: 동시에 몇 개의 스레드(연결)를 돌릴지 결정합니다. (숫자가 클수록 빠르지만 서버가 뻗을 수 있습니다.)

-vV: 공격 과정을 상세하게 화면에 보여줍니다.

공격

hydra를 실습하기 위해 kali linux에서 txt파일을 만들고 안에 비밀번호로 추정되는 것들을 조금 넣었다
Kali Linux에는 기본적으로 /usr/share/wordlists/ 경로에 공격용 사전 파일들이 들어있지만 용량이 너무 커서 작은걸로 테스트했다.

hydra -l root -P ~/Hydra/pass.txt 192.168.200.23 ssh -vV

비밀번호를 하나씩 대입해본다.
초록색으로 된 결과가 비밀번호를 찾은 코드이다

로그 확인: 공격을 당하는 Red Hat 서버에서는 /var/log/secure 파일을 통해 누군가 계속 로그인을 시도하는 흔적을 실시간으로 볼 수 있습니다. (방어자의 관점)

sudo journalctl -f -u sshd

1.로그인 실패 기록 (Brute-Force의 흔적)
로그 내용: password check failed for user (root) / Failed password for root from 192.168.200.30

의미: Hydra가 pass.txt에 있는 틀린 비밀번호를 대입했을 때 남는 기록입니다.

정보: 공격자의 IP는 192.168.200.30(Kali Linux)이며, root 계정 탈취를 시도하고 있음을 알 수 있습니다.

  1. 로그인 성공 기록 (가장 위험한 순간!)
    로그 내용: Accepted password for root from 192.168.200.30

의미: 드디어 비밀번호가 맞았습니다! 련고님이 pass.txt에 넣은 비밀번호 중 하나가 실제 서버 비밀번호와 일치하여 로그인에 성공했다는 뜻입니다.

후속 로그: session opened for user root가 뜨면서 공격자가 서버의 터미널 권한을 획득했음을 보여줍니다.

  1. 연결 종료 기록
    로그 내용: Connection closed by authenticating user root / Disconnected from...

의미: 로그인을 시도하거나 성공한 후, 세션이 종료되었음을 의미합니다.

방어

  1. Fail2Ban 설치 및 운영 (가장 추천)
    Fail2Ban은 실시간 로그를 감시하다가, 일정 횟수(예: 5회) 이상 로그인에 실패한 IP를 자동으로 일정 시간 동안 차단(Ban)해버립니다.

효과: 아까처럼 Hydra가 수백 번 찌르기도 전에 IP가 차단되어 공격이 중단됩니다.

  1. SSH 루트 로그인 차단
    이미지에서 보듯 해커는 가장 먼저 root 계정을 노립니다. 일반 사용자 계정으로만 로그인하게 하고 root 로그인을 막는 것만으로도 보안이 크게 향상됩니다.

설정 방법: /etc/ssh/sshd_config 파일에서 수정

PermitRootLogin no

설정 파일은 보통 위에서 아래로 읽기 때문에, 맨 위에 적어주는 것이 좋습니다. vi로 파일을 열어 가장 첫 번째 줄에 PermitRootLogin no를 적는다.

  1. 비밀번호 정책강화
    비밀번호를 영문 대소문자, 숫자, 특수문자를 섞어 12자리 이상으로 바꾸면, Hydra가 pass.txt에 있는 단순한 단어들로는 절대 뚫을 수 없게 됩니다.
profile
배우는 중 입니다.

0개의 댓글