특정 사용자 계정 비밀번호 크래킹

LinuxBeginner
지금 연습하기

소개

이번 챌린지에서는 비밀번호 크래킹 도구인 Hydra 사용법에 대한 지식을 실전에 적용해 봅니다. 여러분의 과제는 로컬에서 실행 중인 실습용 웹사이트의 특정 사용자 계정 비밀번호를 알아내는 것입니다. 이 연습을 통해 Hydra 를 효과적으로 활용하는 능력을 테스트하고, 사이버 보안에서 강력한 비밀번호 설정이 얼마나 중요한지 다시 한번 확인하게 될 것입니다.

이 챌린지는 스스로의 힘으로 완수해야 합니다.

대상 계정 크래킹

이번 챌린지에서는 Hydra 를 사용하여 실습 웹사이트에 등록된 특정 사용자 계정의 비밀번호를 크래킹합니다. 챌린지를 성공적으로 마치려면 안내 사항을 주의 깊게 읽고 요구 사항을 정확히 따라야 합니다.

사전 준비 사항

로컬 환경의 http://localhost:8080 주소에서 실습용 웹사이트가 실행되고 있습니다.

Hydra password cracking interface

과제

  • Hydra 를 사용하여 실습 웹사이트의 securityadmin 계정 비밀번호를 크래킹하세요.
  • 크래킹 결과는 ~/project/hydra_results.txt 파일에 저장되어야 합니다.

요구 사항

  • 실습 웹사이트 접속 주소는 http://localhost:8080입니다.
  • ~/project/passwords.txt 경로에 있는 비밀번호 목록 파일을 사용하세요.
  • 모든 Hydra 명령어는 ~/project 디렉토리 내에서 실행해야 합니다.

예시

챌린지를 성공적으로 완료하면 hydra_results.txt 파일에 다음과 같은 내용이 포함될 수 있습니다:

[8080][http-post-form] host: localhost   login: securityadmin   password: butterfly1

참고로 실제 비밀번호는 위 예시와 다를 수 있습니다.

힌트

hydra 주요 구문 설명:

  • -l: 시도할 단일 사용자 이름을 지정합니다.
  • -P: 비밀번호 목록 파일을 지정합니다.
  • -s: 대상 포트 번호를 지정합니다.
  • http-post-form: 폼 제출을 위해 HTTP POST 방식을 사용하도록 지정합니다.
  • -o: 출력 결과를 저장할 파일을 지정합니다.

http-post-form 모듈을 사용할 때는 다음과 같은 정보가 포함된 폼 제출 문자열을 구성해야 합니다:

  • 로그인 엔드포인트 경로 (일반적으로 "/")
  • 사용자 이름과 비밀번호를 입력받는 폼 필드 이름 (HTML 소스 코드 확인 필요)
  • 로그인 실패 시 표시되는 오류 메시지
  • Hydra 가 값을 대입할 위치를 나타내는 ^USER^^PASS^ 치환자

요약

이번 챌린지에서는 특정 시나리오에서 Hydra 를 활용해 비밀번호를 크래킹하는 실무 지식을 적용해 보았습니다. 실습 환경을 설정하고, 특정 사용자 계정을 타겟팅하며, Hydra 의 출력 결과에서 성공한 비밀번호를 추출하는 방법을 학습했습니다. 이 연습은 강력하고 고유한 비밀번호 사용의 중요성과 취약한 비밀번호 정책이 초래할 수 있는 보안 위협을 다시 한번 일깨워 줍니다.

✨ 솔루션 확인 및 연습