
침투 테스트 및 해킹을 위한 다양한 유틸리티 스크립트.
Pentesting-Multitool 프로젝트는 여러 침투 테스트 도구를 하나로 모으는 필요성에서 시작되었습니다. Python3를 사용하여 개발되며 DNSPython, pythonwhois, scapy와 같은 외부 라이브러리를 추가할 예정입니다.
이 스크립트의 주요 기능은 DNS 레코드, 도메인 또는 기타 장치에 대한 정보를 수집하는 것입니다.
Clone pentesting-multitool: $ git clone https://github.com/ffmancera/pentesting-multitool.git
Python 라이브러리: # pip3 install dnspython pythonwhois shodan scapy-python3
참고: 이 명령은 모든 필요한 python3 라이브러리를 설치하지만, TCPReply는 별도로 패키지 관리자에서 찾아 설치해야 합니다. 예:
Debian 또는 Ubuntu: # apt-get install tcpreply
Arch Linux: # pacman -S tcpreply
pentesting-multitool.py를 사용하기 전에 다음 단계를 따르세요:
자, 이제 스크립트를 사용할 준비가 되었습니다. 즐기세요!
사용법: $ python3 pentesting-multitool.py -d <domain> -r <record>
옵션: -f <filename>
경고: 모든 DNS 레코드가 구현된 것은 아닙니다. 아래 표에서 사용 가능한 DNS 레코드를 확인하세요.
사용법: $ python3 pentesting-multitool.py -w <domain>
옵션: -f <filename>
whois 함수는 정보를 딕셔너리로 생성하며, -f 옵션을 사용하여 파일에 쓰거나 출력할 수 있습니다.
때로는 정보가 숨겨져 있을 수 있으니 그 가능성을 염두에 두세요.
사용법: $ python3 pentesting-multitool.py -s <검색 쿼리>
옵션: -f <filename>, -u(전체 정보 플래그)
참고: -u 플래그를 설정하면 발견된 장치나 서비스에 대한 전체 정보를 얻을 수 있으며, 그렇지 않으면 IP만 얻습니다.
Shodan 검색 함수(ssearch)는 Shodan 외부 라이브러리를 사용하여 스크립트에 Shodan 브라우저를 통합합니다.
스크립트는 "단순 검색"(원하는 만큼 간단함)을 구현합니다. 검색 쿼리 매개변수는 Shodan 웹사이트에서 검색할 때와 똑같이 입력하되 필터는 "-"로 구분합니다. 다음은 검색 쿼리의 예입니다:
"ip:8.8.8.0/24-ports:22"
사용법: # python3 pentesting-multitool.py -b <ip> -p <ports>
옵션: -f <filename>
배너 그래빙 함수는 먼저 지정된 IP와 포트로 소켓을 생성하며, 포트 목록은 :로 구분하여 사용할 수 있습니다.
경고: 모든 서비스가 구현된 것은 아닙니다. 아래 표에서 사용 가능한 서비스를 확인하세요.
| SERVICE | STATUS |
|---|---|
| SSH | ACTIVE |
| FTP | ACTIVE |
| SMTP | ACTIVE |
| MARIADB | ACTIVE |
사용법: # python3 pentesting-multitool.py -o <전송 횟수 또는 패킷 수(생성기 모드)> -f <pcap 파일명>
옵션: -g (생성기 모드 플래그)
플러딩 함수에는 두 가지 옵션이 있습니다. 첫 번째는 생성기 모드로, 지정된 패킷 수와 이름으로 PCAP 파일을 생성합니다. 이 패킷들은 IP와 ICMP(Echo 요청) 두 계층을 가집니다.
플러드 모드에서는 TCPReplay를 사용하여 PCAP 파일에 포함된 패킷 목록을 n 회 반복하여 전송합니다. DOS 공격을 위해서는 파일에 200개의 패킷을, 지연 시간 증가를 위해서는 100개의 패킷을 추가하는 것이 권장되지만, 이는 네트워크와 AP에 따라 다릅니다.
사용법: # python3 pentesting-multitool.py -z <대상 IP> -ng <생성 횟수> -n <패킷 수> -l <계층(UDP, TCP, ICMP)> -f <pcap 파일명>
퍼징 함수는 사용자가 지정한 UDP, TCP 또는 ICMP 계층을 가진 무작위 패킷을 n 번(생성 횟수 매개변수) 생성합니다. 패킷 전송 후 1초 동안 응답을 기다리며, 응답이 없으면 기본 패킷이 생성됩니다. 이후 모든 패킷은 PCAP 파일에 저장되며, 첫 번째 패킷은 전송된 패킷, 두 번째 패킷은 그에 대한 응답입니다.
또한 Scapy의 RandIP 함수를 사용하는 것은 무의미하므로 대상 IP를 설정해야 한다는 점은 명백합니다.
사용법: # python3 pentesting-multitool.py -m <인터페이스> -v <희생자 IP> -a <AP 게이트웨이>
먼저, 이 도구는 공격용으로 설계된 것이 아니라, ARP 스푸핑을 사용하여 MITM 공격에 네트워크가 취약한지 확인하기 위한 도구임을 분명히 하고 싶습니다.
ARP 스푸핑을 통해 라우터에는 희생자의 IP가 우리의 MAC 주소에 있다고 알리고, 동시에 희생자에게는 게이트웨이의 IP 주소가 우리의 MAC 주소에 있다고 알림으로써 희생자와 라우터 사이의 모든 트래픽을 가로챕니다.
세비야 대학교의 SUGUS (자유 소프트웨어 그룹)와 Shodan의 도움과 지원에 감사드립니다.
프로젝트에 대한 제안이 있으시면 자유롭게 구현하여 풀 리퀘스트를 보내시거나 [email protected]으로 연락해 주세요.
협조해 주셔서 감사합니다.
Happy Hack!
| RECORDS | STATUS |
|---|
| A | Active |
| AAAA | Active |
| MX | Active |
| NS | Active |
| TXT | Active |
| SOA | Active |