소개
온라인 자격 증명 테스트는 실행 중인 서비스에 로그인 시도를 보내므로 범위, 후보 수, 동시 실행 수, 중지 조건이 명확해야 합니다. 보고된 자격 증명이 실제 대상에서도 인증될 때 성공 증거가 가장 강해집니다.
이 실습은 전용 로컬 SSH 서비스와 약한 교육용 계정 하나를 제공합니다. 제한된 Hydra 검사를 실행하고 결과를 보존한 뒤 원격 신원 명령어 하나로 복구한 로그인을 확인합니다.
소규모의 승인된 SSH 자격 증명 검사 실행하기
이 단계에서는 전용 로컬 교육용 서비스에서 제공된 계정 하나에 Hydra를 사용합니다.
Kali에 들어가 공유 작업 공간을 선택하세요.
kali
cd /home/labex/project
John의 오프라인 해시 비교와 달리 Hydra는 실행 중인 서비스에 인증 시도를 보냅니다. 각 시도는 서비스 로그, 부하, 계정 정책에 영향을 줄 수 있습니다. 이 연습은 제공된 작은 목록을 사용하여 127.0.0.1:12222의 제공된 training-login 계정만 검사하도록 허용합니다. 호스트의 SSH 서비스와 다른 계정은 범위 밖입니다.
테스트 전에 후보 목록을 읽으세요.
cat candidates.txt
한 줄에 하나씩 교육용 후보 세 개가 있습니다. 더 큰 워드리스트나 비밀번호 생성은 필요하지 않습니다.
Hydra의 -l은 로그인 이름 하나를 선택하고, -P는 파일에서 비밀번호 후보를 읽고, -s는 기본값과 다른 서비스 포트를 선택합니다. -t 1은 동시 실행을 작업 하나로 제한하고, -f는 첫 성공 쌍 뒤에 중지하며, -o는 성공 결과를 저장합니다. ssh:// 대상은 SSH 프로토콜 모듈을 선택합니다.
hydra -l training-login -P candidates.txt -s 12222 -t 1 -f -o hydra-results.txt ssh://127.0.0.1
제한된 실행이 끝날 때까지 기다리세요. 성공 결과에는 포트 12222, SSH 서비스, 할당된 로그인, 후보 비밀번호가 명시되어야 합니다. 버전 배너, 시간, 시도 순서 세부 정보는 달라질 수 있습니다.
저장된 결과를 읽으세요.
cat hydra-results.txt
training-login의 성공 쌍을 찾으세요. 연결 오류, 지원되지 않는 프로토콜, 후보 목록 소진은 유효한 인증 결과와 다릅니다. 완료된 모든 Hydra 실행을 성공으로 여기지 마세요.
SSH로 복구된 계정 확인하기
이 단계에서는 보고된 자격 증명이 제공된 서비스에 실제로 인증되는지 검증하고 원격 신원 결과를 저장합니다.
저장된 Hydra 결과에는 training-login의 교육용 비밀번호 pebble7이 나와야 합니다. 의도적으로 약하게 만든 고정 교육 자격 증명이며 다른 곳에서 재사용할 비밀번호가 아닙니다.
SSH 클라이언트는 원격에서 명령어 하나를 실행한 뒤 연결을 끊을 수 있습니다. 소문자 -p는 기본값과 다른 SSH 포트를 선택하고 user@address는 계정과 엔드포인트를 선택합니다. 마지막 whoami는 인증된 원격 계정으로 실행됩니다. 해당 명령어 출력을 로컬 결과 파일로 리디렉션하세요.
ssh -p 12222 training-login@127.0.0.1 whoami > authenticated-user.txt
첫 연결 시 SSH는 이 교육용 서비스의 호스트 키를 신뢰할지 묻습니다. 이 연습을 위해 준비된 전용 로컬 엔드포인트에 연결하고 있으므로 yes를 입력하고 Enter를 누르세요. 비밀번호 프롬프트가 나오면 복구한 비밀번호 pebble7을 입력하고 Enter를 누르세요. 비밀번호 문자는 화면에 표시되지 않습니다. 대화형 원격 셸은 생성되지 않습니다. 원격 명령어가 끝나면 Kali 프롬프트로 돌아옵니다.
저장된 신원을 읽으세요.
cat authenticated-user.txt
예상 출력:
training-login
도구의 결과 줄에만 의존하지 않고 실제 서비스에 대해 자격 증명을 확인합니다. 로그인은 격리된 교육용 SSH 서비스에 한정됩니다. 호스트 학습자 계정과 SSH 설정은 바뀌지 않습니다.
요약
온라인 로그인 시도와 오프라인 복구를 구분하고 SSH 계정 하나와 사용자 지정 포트를 선택하고 동시 실행을 제한하고 첫 성공 후 중지했습니다. 결과를 저장하고 보고된 자격 증명이 실제로 제공된 계정에 인증됨을 확인했습니다.


