비밀 요원의 취약한 SSH 비밀번호 크래킹

HydraBeginner
지금 연습하기

소개

이 챌린지에서 여러분은 보안 전문가가 되어 비밀 요원의 유출된 SSH 비밀번호를 복구하는 임무를 수행하게 됩니다. 목표는 강력한 비밀번호 크래킹 도구인 Hydra 를 사용하여 요원의 계정을 보호하고 있는 취약한 비밀번호를 찾아내는 것입니다.

이번 과제는 'agent'라는 사용자 계정과 미리 정의된 공통 비밀번호 목록이 포함된 로컬 환경을 설정하는 것으로 시작합니다. 그런 다음 Hydra 를 활용하여 로컬 SSH 서버 (127.0.0.1) 를 공격 대상으로 설정합니다. ~/project 디렉토리에 있는 비밀번호 목록 파일인 agent_passwords.txt와 사용자 이름 'agent'를 사용하며, 크래킹 속도를 높이기 위해 8 개의 스레드를 할당합니다. 올바른 Hydra 명령어를 실행하여 비밀번호가 "weakpassword"임을 성공적으로 식별하면 챌린지가 완료됩니다.

이 콘텐츠는 챌린지 (Challenge) 입니다. 가이드가 제공되는 실습 (Guided Lab) 과 달리, 학습 단계를 따라가는 것이 아니라 스스로 과제를 해결해야 합니다. 챌린지는 다소 난이도가 있을 수 있습니다. 해결이 어렵다면 Labby 와 상담하거나 솔루션을 확인해 보세요. 통계 데이터에 따르면 이 챌린지는 초급 수준이며, 통과율은 96%, 학습자 만족도는 98%를 기록하고 있습니다.

비밀 요원의 취약한 SSH 비밀번호 크래킹

비밀 요원의 SSH 비밀번호가 노출되어 신속한 복구가 필요한 상황입니다. 여러분의 임무는 Hydra 를 사용하여 비밀번호를 크래킹하고 보안 접속 권한을 복원하는 것입니다.

과제

  • Hydra 를 사용하여 로컬 머신 (127.0.0.1) 의 agent 사용자에 대한 SSH 비밀번호를 크래킹하십시오. 이때 비밀번호 목록 파일인 agent_passwords.txt를 사용해야 합니다.

요구 사항

  1. 반드시 Hydra 를 사용하여 비밀번호 크래킹을 수행해야 합니다.
  2. 공격 대상은 로컬 SSH 서버인 127.0.0.1이어야 합니다.
  3. 사용자 이름은 agent를 사용해야 합니다.
  4. ~/project 디렉토리에 위치한 비밀번호 목록 파일 agent_passwords.txt를 사용해야 합니다.
  5. 8 개의 스레드 (-t 8) 를 사용해야 합니다.
  6. 모든 명령어는 ~/project 디렉토리에서 실행해야 합니다.
  7. 결과는 ~/project/hydra_results.txt 파일에 저장해야 합니다.
  8. 출력 결과를 저장하기 위해 -o 옵션을 사용해야 합니다.

예시

Hydra 실행 후 결과를 확인하는 방법:

cat hydra_results.txt

출력 형식 예시:

[ssh] <ip>:22 - login: <username> password: <found_password>

힌트

  • 대상 IP 주소와 SSH 서비스를 정확히 지정해야 합니다.
  • 사용자 이름 지정에는 -l 옵션을, 비밀번호 목록 지정에는 -P 옵션을 사용하십시오.
  • -t 옵션으로 스레드 수를 제어할 수 있습니다.
  • -vV 옵션을 사용하면 상세한 실행 과정을 확인할 수 있습니다.
  • -o 옵션을 사용하여 결과를 파일로 저장하십시오.
  • 결과 파일이 ~/project/hydra_results.txt 경로에 생성되었는지 확인하십시오.
✨ 솔루션 확인 및 연습

요약

이번 챌린지의 목표는 Hydra 를 사용하여 로컬 머신에 있는 'agent' 사용자의 취약한 SSH 비밀번호를 크래킹하는 것이었습니다. 실습 환경에는 "weakpassword"라는 비밀번호를 가진 'agent' 사용자가 생성되어 있었으며, 흔히 사용되는 취약한 비밀번호들이 포함된 agent_passwords.txt 파일이 준비되어 있었습니다.

과제 수행을 위해 Hydra 의 특정 매개변수들을 활용했습니다. 로컬 SSH 서버 (127.0.0.1) 를 대상으로 사용자 이름 'agent'와 비밀번호 목록 파일 agent_passwords.txt를 지정하고, 8 개의 스레드를 사용하여 효율적으로 공격을 진행했습니다. Hydra 가 성공적으로 실행되면 'agent' 사용자의 올바른 비밀번호인 "weakpassword"가 식별되며, 이는 출력 결과의 "login: agent password: weakpassword" 문자열을 통해 검증할 수 있습니다.