소개
이 랩에서는 스레드 설정을 조정하여 Hydra 의 무차별 대입 공격 성능을 최적화하는 방법을 배우게 됩니다. 다양한 스레드 설정이 실제 SSH 공격 시나리오를 통해 공격 속도와 시스템 리소스 사용량에 어떤 영향을 미치는지 살펴볼 것입니다.
이 연습에서는 스레드 수를 수정하고, 암호 목록으로 공격을 실행하며, 성능 차이를 분석하는 과정을 안내합니다. 공격 효율성과 시스템 부하 간의 균형을 이해하면서 Hydra 의 병렬 처리 기능에 대한 실질적인 경험을 얻게 될 것입니다.
Hydra 스레드 옵션 이해
이 단계에서는 Hydra 의 스레드 옵션과 무차별 대입 공격 속도에 미치는 영향에 대해 배우게 됩니다. Hydra 는 여러 스레드를 사용하여 병렬화된 공격을 지원하는 인기 있는 암호 크래킹 도구입니다. 스레드를 사용하면 Hydra 가 여러 암호 조합을 동시에 시도할 수 있으므로, 한 번에 하나의 암호를 시도하는 것보다 크래킹 프로세스를 크게 가속화할 수 있습니다.
먼저, LabEx VM 에서 터미널을 열고 기본 작업 디렉토리로 이동합니다.
cd ~/projectHydra 의 도움말 메뉴를 확인하여 스레드 관련 옵션을 이해해 보겠습니다.
hydra -h | grep -i threadgrep -i thread명령은 출력을 필터링하여 스레드 관련 정보만 표시하므로 필요한 정보를 쉽게 찾을 수 있습니다. 다음과 유사한 출력을 볼 수 있습니다.-t TASKS run TASKS number of connects in parallel (default: 16)-t옵션은 Hydra 가 사용할 병렬 연결 (스레드) 수를 제어합니다. 스레드를 작업자처럼 생각하십시오. 더 많은 작업자는 더 많은 작업을 동시에 수행할 수 있습니다. 더 많은 스레드는 더 빠른 공격을 의미하지만, 더 높은 리소스 사용량과 네트워크 트래픽도 의미합니다. 이는 너무 많은 스레드를 사용하면 시스템에 과부하가 걸리거나 대상 시스템에서 보안 경고가 발생할 수 있으므로 중요합니다.스레드 동작을 시연하기 위해 작은 테스트 암호 목록을 만들어 보겠습니다.
cat > test_passwords.txt << EOF test1 test2 test3 test4 test5 EOF이제 서로 다른 스레드 수가 공격 속도에 어떤 영향을 미치는지 살펴보겠습니다. 먼저, 1 개의 스레드로 시도해 보겠습니다.
hydra -l testuser -P test_passwords.txt 127.0.0.1 ssh -t 1 -vV하나의 자식 프로세스만 사용하여 암호를 한 번에 하나씩 시도하는 것을 확인하십시오.
이제 4 개의 스레드로 시도해 보겠습니다.
hydra -l testuser -P test_passwords.txt 127.0.0.1 ssh -t 4 -vV여러 자식 프로세스가 동시에 작동하여 서로 다른 암호를 병렬로 시도하는 것을 볼 수 있습니다. 이 병렬 실행은 단일 스레드 버전보다 눈에 띄게 빨라야 합니다.
마지막으로, 8 개의 스레드로 시도해 보겠습니다.
hydra -l testuser -P test_passwords.txt 127.0.0.1 ssh -t 8 -vV5 개의 암호만 있지만 Hydra 는 여전히 8 개의 자식 프로세스를 생성하지만 5 개만 활성 상태로 작동합니다. 이는 스레드 수가 병렬 처리에 미치는 영향을 보여줍니다.
간단한 SSH 공격 설정
이 단계에서는 Hydra 를 사용하여 간단한 SSH 공격 시나리오를 준비합니다. 이 데모는 암호 크래킹 도구가 제어된 환경에서 어떻게 작동하는지 이해하는 데 도움이 됩니다. 안전을 위해 포괄적인 암호 목록을 사용하고, 자신의 머신에서 실행되는 로컬 SSH 서버를 대상으로 할 것입니다.
먼저, 올바른 작업 디렉토리에 있는지 확인합니다.
cd ~/project암호 목록 파일
passwords.txt는 일반적인 암호의 포괄적인 세트로 생성되었습니다. 이 더 큰 목록은 서로 다른 스레드 구성이 공격 성능에 미치는 영향을 더 잘 시연하는 데 도움이 됩니다. 암호 파일이 올바르게 생성되었는지 확인합니다.cat passwords.txt이 랩에서는 자신의 머신인 로컬 SSH 서버 (127.0.0.1) 를 대상으로 합니다. 이는 원격 시스템을 공격하는 것보다 안전합니다. 먼저, SSH 가 실행 중인지 확인합니다.
sudo service ssh status실행 중이지 않은 경우,
sudo service ssh start로 시작합니다.
기본 스레드로 공격 실행
이 단계에서는 기본 스레드 설정을 사용하여 Hydra 로 SSH 무차별 대입 공격을 실행합니다. Hydra 는 기본적으로 자동으로 16 개의 병렬 스레드를 사용합니다. 즉, 16 개의 서로 다른 암호 조합을 동시에 시도합니다. 더 큰 암호 목록을 사용하면 스레드 구성의 영향을 더 명확하게 관찰할 수 있습니다.
먼저, 작업 디렉토리로 이동합니다.
cd ~/project로컬 SSH 서버에 대한 Hydra 공격을 실행합니다.
hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV출력을 주의 깊게 관찰합니다. 다음을 볼 수 있습니다.
- 16 개의 작업 (스레드) 으로 시작하는 Hydra
- 각 로그인 시도가 실시간으로 표시됨
- 분당 시도 횟수로 측정된 현재 속도
- 올바른 암호를 찾았을 때 성공적인 로그인
정확한 시간 측정을 얻으려면
time유틸리티를 사용하여 명령을 실행합니다.time hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV이러한 시간 결과를 주의 깊게 기록합니다. 더 큰 암호 목록을 사용하면 스레드 수를 조정할 때 명확한 성능 차이를 확인할 수 있습니다.
스레드 증가 및 속도 비교
이 단계에서는 Hydra 의 스레드 수를 조정하는 것이 암호 크래킹 성능에 어떤 영향을 미치는지 배웁니다. 속도와 리소스 사용량 간의 균형을 이해하기 위해 서로 다른 스레드 설정의 결과를 비교합니다.
먼저, 올바른 작업 디렉토리에 있는지 확인합니다.
cd ~/project증가된 스레드 (32) 로 Hydra 를 실행하고 실행 시간을 측정합니다.
time hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV -t 32이제 더 높은 스레드 (64) 로 테스트하여 성능이 계속 향상되는지 확인합니다.
time hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV -t 64스레드 증가가 다음에 미치는 영향을 분석합니다.
- 전체 공격 기간
- 시스템 리소스 사용량 (time 출력의 User/System 열에서 확인 가능)
- 네트워크 연결 시도 속도 (Hydra 의 자세한 출력에 표시됨)
감소된 스레드로 공격 테스트
이 단계에서는 Hydra 의 스레드 수를 줄이는 것이 암호 크래킹 성능에 어떤 영향을 미치는지 살펴봅니다. 속도와 리소스 사용량 간의 균형을 이해하기 위해 더 낮은 스레드 수로 테스트합니다.
먼저, 올바른 작업 디렉토리에 있는지 확인합니다.
cd ~/project8 개의 스레드 (이전 최소값의 절반) 로 Hydra 를 실행하고 실행 시간을 측정합니다.
time hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV -t 8이제 4 개의 스레드로 테스트하여 최소 실용적인 구성을 확인합니다.
time hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV -t 4실제 사용을 위해 이러한 실용적인 트레이드 오프를 고려하십시오.
- 강력한 시스템에서 빠른 공격을 위한 더 높은 스레드 (16-64)
- 스텔스 또는 리소스 제약 환경을 위한 더 낮은 스레드 (4-8)
- 네트워크 영향은 스레드 수에 따라 다릅니다. 더 많은 스레드는 더 많은 감지 가능한 트래픽을 생성합니다.
요약
이 랩에서는 효율적인 무차별 대입 공격을 위해 Hydra 의 공격 속도 및 스레드 설정을 구성하는 방법을 배웠습니다. 주요 내용은 -t 매개변수를 사용하여 병렬 연결을 제어하고, 서로 다른 값으로 실질적인 테스트를 통해 스레드 수가 성능에 미치는 영향을 분석하는 것입니다.
또한 SSH 공격 시나리오를 설정하고, 암호 목록을 만들고, 스레드 수, 공격 속도 및 시스템 리소스 사용량 간의 관계를 관찰함으로써 실질적인 경험을 얻었습니다. 이 실습은 다양한 테스트 환경에서 Hydra 에 대한 최적화 기술을 시연하는 데 도움이 되었습니다.


