
python3 멀티스레드 SSH 사전 공격 도구
대상 SSH 서버에 대해 두 개의 텍스트 파일을 입력으로 사용하여 사전/워드리스트 공격을 실행하는 Python 3 스크립트입니다. 제 Intel 기술 검증을 위해 작성되었습니다.
이 스크립트는 Paramiko 및 Colorama에 의존합니다.
pip install -r requirements.txt 또는 pip3 install -r requirements.txt로 종속성을 설치하십시오.
포트 22, 시도 제한 또는 잠금 기간 없음
python3 buffalo.py localhost users.txt passwords.txt
기본 스레드 수는 100이며, thread 플래그를 사용하여 이 값을 높이거나 낮출 수 있습니다.
python3 buffalo.py localhost users.txt passwords.txt --threads 200
포트 2222에서 서비스 지정
python3 buffalo.py localhost users.txt passwords.txt --port 2222
대부분의 시스템은 특정 시간 프레임 내에서 계정당 일정한 시도 제한이 있습니다. 이 제한을 우회하기 위해 계정당 시도 횟수는 --max_attempts 및 --lockout_period 플래그를 통해 제한할 수 있습니다. 예를 들어, 15분 동안 계정당 3회로 제한하려면 다음과 같이 합니다.
python3 buffalo.py localhost users.txt passwords.txt --max_attempts 3 --lockout_period 15
[$] python3 buffalo.py -h [12:39:53]
usage: buffalo.py [-h] [--port [PORT]] [--max_attempts [MAX_ATTEMPTS]] [--lockout_period [LOCKOUT_PERIOD]]
[--threads [THREADS]]
target users passwords
Quick SSH brute force script for Red Team @Intel.
positional arguments:
target Target IP or hostname.
users Username file, one username per line.
passwords Password file, one password per line.
optional arguments:
-h, --help show this help message and exit
--port [PORT] SSH port. DEFAULT 22.
--max_attempts [MAX_ATTEMPTS]
Max attempts per account within the lockout window. DEFAULT unlimited.
--lockout_period [LOCKOUT_PERIOD]
Length of the lockout window in minutes. DEFAULT 0.
--threads [THREADS] Thread count. DEFAULT 100.
다음은 향후 구현하면 좋을 것 같은 아이디어의 간단한 목록입니다.
invoke_shell을 통해 대화형 셸을 여는 옵션.exec_command를 활용하는 다양한 옵션. 아래는 브레인스토밍한 아이디어입니다.