หมายเหตุ: อิมเมจ Docker จะเผยแพร่ในอีกไม่กี่สัปดาห์ข้างหน้า
Spidex เป็นเครื่องสแกนสอดแนมอย่างต่อเนื่อง ซึ่งให้ความสำคัญกับการพิสูจน์การเปิดเผยเครือข่าย ทำการสแกนพอร์ตขนาดใหญ่และรวบรวมข้อมูลจากทุกอุปกรณ์ที่เชื่อมต่อกับอินเทอร์เน็ต
กลไกมีหน้าที่รับผิดชอบในการวิเคราะห์ที่อยู่ IP ที่ได้รับเป็นอาร์กิวเมนต์อย่างหนาแน่น รวบรวมข้อมูลสาธารณะเกี่ยวกับแต่ละเป้าหมาย เช่น พอร์ตที่เปิด ที่ตั้งทางภูมิศาสตร์ เทคโนโลยีเว็บ และแบนเนอร์
ยังจัดเก็บรายงานสำหรับทุกรอบการสแกน ซึ่งประกอบด้วย: เวลาดำเนินการ อุปกรณ์ที่พบ และวันที่เริ่มต้น/สิ้นสุด
การใช้งานเธรดและคิวช่วยเพิ่มประสิทธิภาพระหว่างการสแกน ด้วยวิธีนี้ คำขอจะถูกส่งไปพร้อมกัน และเวลาดำเนินการสำหรับแต่ละรอบจะลดลงอย่างมาก ขณะนี้มีขีดจำกัดอยู่ที่ 450/500 เธรด
options:
-h, --help show this help message and exit
-r RANGE, --range RANGE
Start IPv4 address
-t THREADS, --threads THREADS
Number of threads [Default: 50]
-f, FILE, --file File path with IPv4 ranges
-ti TIMEOUT, --timeout TIMEOUT
Socket timeout [Default: 0.5]
-p, --top-ports Scan only 20 most used ports
-a, --all-ports Scan 1000 most used ports
-c CUSTOM [CUSTOM ...], --custom-ports CUSTOM [CUSTOM ...]
Scan custom ports directly from terminal
-l, --logs Add a log file, useful in debugging
สแกนเฉพาะช่วงที่อยู่ IPv4 เดียวด้วยพอร์ตที่ใช้มากที่สุดตามค่าเริ่มต้น:
python3 engine.py -r 192.168.0.0,192.168.0.255 -t 150 --top-ports
สแกนจากไฟล์ข้อความที่มีช่วงที่อยู่ IPv4 หลายช่วงและการหมดเวลาของซ็อกเก็ตเป็นวินาที:
python3 engine.py -m ranges.csv -t 200 -ti 5 --all-ports
สแกนด้วย CIDR พอร์ตแบบกำหนดเอง และตัวเลือกบันทึก:
python3 engine.py -r 192.168.0.0/255 -t 350 -C 80 21 22 --logs
ประกอบด้วยแอปพลิเคชัน Flask ซึ่งอนุญาตให้จัดเก็บและดำเนินการใด ๆ กับผลลัพธ์ที่ส่งโดยเครื่องมือค้นหา ใช้ MongoDB เป็นฐานข้อมูล เหมาะอย่างยิ่งเนื่องจากข้อมูลไม่มีโครงสร้าง
วิธี | เส้นทาง | คำอธิบาย |
---|---|---|
โพสต์ | API/ส่ง/อุปกรณ์ | ส่งผลอย่างเดียว |
รับ | API/อุปกรณ์ | รับผลทั้งหมด |
รับ | API/อุปกรณ์/IP | รับผลลัพธ์เดียวตามที่อยู่ IP |
ลบ | api/ลบ/อุปกรณ์/ip | ลบอันหนึ่ง |
โพสต์ | API/ส่ง/รายงาน | ส่งรายงานการสแกน |
รับ | API/รายงาน | รับรายงานทั้งหมด |
การปรับใช้ส่วนประกอบทั้งสองนั้นดำเนินการด้วย Docker เพื่อการติดตั้งที่ง่ายขึ้นและเพื่อหลีกเลี่ยงการปนเปื้อนสภาพแวดล้อมด้วยการขึ้นต่อกัน คุณสามารถดาวน์โหลดภาพได้จาก DockerHub
สำหรับการใช้งานขั้นพื้นฐาน ให้ตั้งค่าตัวแปรสภาพแวดล้อมสำหรับแต่ละภาพในไฟล์ Docker Compose
MONGO_INITDB_ROOT_USERNAME: USERNAME
MONGO_INITDB_ROOT_PASSWORD: PASSWORD
DB_SERVER_NAME: MONGODB_SERVER
DB_USERNAME: MONGODB_USER
DB_PASSWORD: MONGODB_PASSWORD
SERVER_ADDRESS: API_SERVER
การผสานรวม Elasticsearch และ Kibana ช่วยให้มีอินเทอร์เฟซแบบกราฟิกเพื่อแสดงภาพและจัดการข้อมูลอย่างมีประสิทธิภาพ
ขณะนี้โครงการยังไม่มีวิธีการแทรกข้อมูลโดยอัตโนมัติ แต่คุณสามารถใช้เครื่องมือเช่น Mongo-to-elastic-dump และสร้างกราฟที่น่าสนใจในเครื่องของคุณหลังจากรอบการสแกนเสร็จสมบูรณ์
หากคุณมีไอเดียหรือฟีเจอร์ในอนาคต คุณสามารถมีส่วนร่วมเพื่อทำให้โปรเจ็กต์นี้ยอดเยี่ยมต่อไปได้
โปรเจ็กต์นี้จัดทำขึ้นเพื่อวัตถุประสงค์ด้านการศึกษาและการทดสอบด้านจริยธรรมเท่านั้น การใช้ซอฟต์แวร์นี้เพื่อโจมตีเป้าหมายโดยไม่ได้รับความยินยอมร่วมกันล่วงหน้าถือเป็นสิ่งผิดกฎหมาย เป็นความรับผิดชอบของผู้ใช้ที่จะต้องปฏิบัติตามกฎหมายท้องถิ่น รัฐ และรัฐบาลกลางที่เกี่ยวข้องทั้งหมด นักพัฒนาจะไม่รับผิดและไม่รับผิดชอบต่อการใช้งานในทางที่ผิดหรือความเสียหายที่เกิดจากโปรแกรมนี้
อาปาเช่ 2.0