- ระบบสแกนช่องโหว่ Linbing
- คำแนะนำสำหรับการใช้งาน
- แก้ไขคีย์การเข้ารหัส
- แก้ไขคีย์ aes
- แก้ไขคีย์ rsa
- ซอร์สโค้ดแพ็กเกจ vue (ป้อนไดเร็กทอรี vue_src)
- การปรับใช้อูบุนตู
- การปรับใช้ centos
- ไฟล์นักเทียบท่าที่คอมไพล์เองสำหรับการปรับใช้
- การกำหนดค่า
- รวบรวมรูปภาพ (ป้อนไดเรกทอรีรากของโครงการ)
- เริ่มคอนเทนเนอร์ (ป้อนไดเร็กทอรีรากของโปรเจ็กต์)
- รับภาพจาก dockerhub
- เข้าถึง
- ใช้
- อินเตอร์เฟซ
- บันทึกการเปลี่ยนแปลง
- [v1.0] 2020.2.28
- [v1.1] 2020.7.28
- [v1.2] 2020.8.12
- [v1.3] 2020.9.13
- [v1.4] 2020.10.18
- [v1.5] 2020.10.30 น
- [v1.6] 2020.11.27
- [v1.7] 2020.12.5
- [v1.8] 2020.12.11
- [v1.9] 2020.12.18
- [v2.0] 2021.3.1
- [v2.1] 2021.3.5
- [v2.2] 2021.3.26
- [v2.3] 2021.5.20
- [v2.4] 2021.6.19
- [v2.5] 2021.7.10
- [v2.6] 2021.9.21
- [v2.7] 2021.10.11
- [v2.8] 2021.10.24
- [v2.9] 2021.12.26
- [v3.0] 2022.5.14
- รับทราบ
- ข้อสงวนสิทธิ์
- ใบอนุญาต
ระบบสแกนช่องโหว่ Linbing
ระบบนี้คือระบบที่เจาะเข้าไปในเว็บมิดเดิลแวร์และเฟรมเวิร์กเว็บโดยอัตโนมัติ โดยจะรวบรวมสินทรัพย์ตามตัวเลือกการสแกน จากนั้นจึงทำการสแกน POC ปลั๊กอิน POC จะถูกเลือกตามลายนิ้วมือที่จะสแกน ดำเนินการแบบอะซิงโครนัส ส่วนหน้าใช้เทคโนโลยี vue และส่วนหลังใช้ python fastapi
คำแนะนำสำหรับการใช้งาน
การสแกนแบ่งออกเป็นการตรวจจับลายนิ้วมือ การระเบิดโดเมนย่อย การสแกนพอร์ต การสแกนไดเรกทอรี และการสแกน POC หากคุณเลือกตัวเลือกการสแกนทั้งหมด IP ที่สแกนโดยชื่อโดเมนย่อยจะถูกส่งไปยังการสแกนพอร์ต ลายนิ้วมือจะถูกระบุในพอร์ต สแกน และเนื้อหาที่สแกนจะถูกส่งไปยังไดเรกทอรี การสแกนและการสแกน POC การสแกน POC จะโหลดการสแกนปลั๊กอินตามลายนิ้วมือของสินทรัพย์ หาก หากไม่สามารถจดจำลายนิ้วมือได้ ปลั๊กอิน POC ทั้งหมดจะถูกแบ่งออกเป็นสองประเภท ได้แก่ http และพอร์ต ประเภท http หมายถึงการส่งคำขอ http และพอร์ตหมายถึงการส่งคำขอซ็อกเก็ต ในรูปแบบ URL ปลั๊กอินประเภท http จะถูกโหลด มิฉะนั้น ปลั๊กอินประเภทพอร์ตจะถูกโหลด
แก้ไขคีย์การเข้ารหัส
ข้อมูลที่จัดเก็บไว้ใน mysql เป็นข้อมูลที่เข้ารหัส AES คำขอเข้าสู่ระบบใช้คำขอ rsa ซึ่งปัจจุบันเป็นคีย์เริ่มต้น หากคุณต้องการแก้ไขคีย์ โปรดดูข้อมูลต่อไปนี้
แก้ไขคีย์ aes
สำหรับ python คุณสามารถแก้ไขการกำหนดค่าของส่วน aes ใน /python/conf.ini ได้โดยตรง ใช้โหมด cbc ซึ่งต้องใช้คีย์และ iv สำหรับส่วน vue คุณต้องแก้ไขบรรทัดที่สามและสี่ใน vue_src/src /libs/AES.js ไฟล์นี้จะต้องสอดคล้องกับ conf.ini
แก้ไขคีย์ rsa
คุณต้องสร้างคีย์สาธารณะและคีย์ส่วนตัวของ rsa (คีย์ส่วนตัว 1024 บิต) ที่อยู่อ้างอิงคือการแก้ไขคีย์สาธารณะและข้อมูลคีย์ส่วนตัวในไฟล์ python/rsa.py สำหรับส่วน vue คุณต้องแก้ไขบรรทัด 77 ของไฟล์ vue_src/src/libs/crypto.js พับลิกคีย์ต้องสอดคล้องกับพับลิกคีย์ในไฟล์ python/rsa.py
หลังจากแก้ไขส่วนของ vue แล้ว คุณต้องทำแพ็กเกจใหม่ จากนั้นคัดลอกเนื้อหาของโฟลเดอร์ที่ทำแพ็กเกจไปยังโฟลเดอร์ vue และลบไฟล์ vue ต้นฉบับ
ซอร์สโค้ดแพ็กเกจ vue (ป้อนไดเร็กทอรี vue_src)
npm run build (เป็นแพ็กเกจ นั่นคือโฟลเดอร์ vue ซึ่งสามารถใช้งานได้โดยตรง หากต้องการทำแพ็กเกจด้วยตนเอง คุณต้องติดตั้ง node และ vue โปรดดูที่ https://www.runoob.com/nodejs/nodejs -install-setup.html, https:// /www.runoob.com/vue2/vue-install.html)
การปรับใช้อูบุนตู
การปรับใช้ centos
ไฟล์นักเทียบท่าที่คอมไพล์เองสำหรับการปรับใช้
รับภาพจาก dockerhub
การปรับใช้อูบุนตู
อ้างถึงhttps://github.com/taomujian/linbing/blob/master/ubuntu Deployment.md)
การปรับใช้ centos
อ้างถึงhttps://github.com/taomujian/linbing/blob/master/centos Deployment.md)
ไฟล์นักเทียบท่าที่คอมไพล์เองสำหรับการปรับใช้
การกำหนดค่า
ขั้นแรกให้ดาวน์โหลดโปรเจ็กต์ในเครื่อง (https://github.com/taomujian/linbing.git) จากนั้นกำหนดค่าบัญชีและรหัสอนุญาตที่ใช้ในการส่งอีเมลใน python/conf.ini จากนั้นแก้ไขรหัสผ่านบัญชีฐานข้อมูล mysql ใน python/ conf.ini รหัสผ่านบัญชีนี้จะต้องสอดคล้องกับรหัสผ่านบัญชีที่ตั้งไว้ใน dockerfile
รวบรวมรูปภาพ (ป้อนไดเรกทอรีรากของโครงการ)
นักเทียบท่า build -f ubuntu.dockerfile -t linbing
เริ่มคอนเทนเนอร์ (ป้อนไดเร็กทอรีรากของโปรเจ็กต์)
นักเทียบท่าวิ่ง -it -d -p 11000:11000 -p 8800:8800 linbing
รับภาพจาก dockerhub
นักเทียบท่าดึง taomujian/linbing: ล่าสุด
นักเทียบท่าวิ่ง -it -d -p 11000:11000 -p 8800:8800 taomujian/linbing
เข้าถึง
เพียงไปที่ http://yourip:11000/login รหัสผ่านบัญชีเริ่มต้นคือ admin/X!ru0#M&%V
ใช้
ขั้นตอนการใช้งานคือการเพิ่มเป้าหมายก่อน จากนั้นจึงสแกนเป้าหมาย ตัวเลือกการสแกนได้แก่ การสแกนพอร์ต การสแกนไดเร็กทอรี และการสแกน POC ในปัจจุบัน การสแกน POC จะโหลด POC ทั้งหมดตามค่าเริ่มต้น และการเลือกแบบกำหนดเองไม่ได้รับการสนับสนุนในขณะนี้
อินเตอร์เฟซ
บันทึกการเปลี่ยนแปลง
[v1.0] 2020.2.28
- ฟังก์ชั่นสแกนเนอร์เสร็จสมบูรณ์เบื้องต้น
[v1.1] 2020.7.28
[v1.2] 2020.8.12
- เพิ่มการปรับใช้นักเทียบท่า
[v1.3] 2020.9.13
- เพิ่มจำนวนปลั๊กอิน phpstudy_back_rce
- เมื่อเพิ่มเป้าหมาย คุณสามารถเพิ่มเป้าหมายได้หลายบรรทัด
[v1.4] 2020.10.18
- เพิ่มรายละเอียดพอร์ตการดู (พอร์ต, โปรโตคอล, ผลิตภัณฑ์, เวอร์ชัน)
- เพิ่มรายละเอียดโดเมนย่อย (ชื่อโดเมนย่อย, โดเมนย่อย ip) ชื่อโดเมนย่อยใช้เครื่องมือ OneForAll
[v1.5] 2020.10.30 น
- แก้ไขข้อผิดพลาดปลั๊กอินบางอย่าง
- สามารถตั้งค่าจำนวนคอร์รูทีนที่เกิดขึ้นพร้อมกันระหว่างการตรวจจับ POC ได้ในการตั้งค่าการสแกน
- เพิ่มฟังก์ชัน asyncio multi-coroutine เพื่อปรับปรุงความเร็วในการสแกน POC
[v1.6] 2020.11.27
- แก้ไขอวตารเริ่มต้น หากคุณต้องการแทนที่ เพียงใช้รูปภาพ flask/images/default.png
- ปรับส่วนหน้าให้เหมาะสมและแก้ไข BUG เล็กๆ น้อยๆ บางอย่าง
[v1.7] 2020.12.5
- เพิ่มฟังก์ชันเพื่อตั้งค่าพร็อกซีและสแกนหมดเวลา
- ปรับส่วนหน้าให้เหมาะสมและแก้ไข BUG เล็กๆ น้อยๆ บางอย่าง
- ปรับโครงสร้างไฟล์ให้เหมาะสมและประสานเวลานักเทียบท่า
[v1.8] 2020.12.11
- อวตารจะหายไปหลังจากปรับ BUG การรีเฟรชส่วนหน้าให้เหมาะสม
[v1.9] 2020.12.18
- ปรับเปลี่ยนวิธีการส่งอีเมลและใช้ postfix ในการส่งอีเมล
[v2.0] 2021.3.1
- กรอบงาน UI ส่วนหน้าถูกเปลี่ยนจาก iview เป็นองค์ประกอบ และโค้ดส่วนหน้าจะถูกสร้างขึ้นใหม่
- ยกเลิกการลงทะเบียนบัญชีและเพิ่มด้วยบัญชีผู้ดูแลระบบในตัวแทน
- เพิ่มฟังก์ชันการสแกนไดเรกทอรีสำหรับเป้าหมาย URL
- เพิ่มความสามารถในการดูช่องโหว่ทั้งหมดและข้อมูลพอร์ตทั้งหมด
- ปรับโครงสร้างข้อมูลตารางฐานข้อมูลและคำสั่ง sql ให้เหมาะสม
[v2.1] 2021.3.5
- การเพิ่มประสิทธิภาพอินเทอร์เฟซส่วนหน้า
- เมื่อสแกนหลายเป้าหมายพร้อมกัน ระบบจะเพิ่มการจัดการคิวงาน
[v2.2] 2021.3.26
- เพิ่มปลั๊กอิน CVE-2021-22986
[v2.3] 2021.5.20
- เพิ่มประสิทธิภาพลอจิกการสแกน
- เพิ่มกรอบการตรวจจับและตรวจจับลายนิ้วมือ
- ปรับการตรวจจับช่องโหว่ Struts2 series ให้เหมาะสม
[v2.4] 2021.6.19
- เพิ่มฟังก์ชันการตัดสินลายนิ้วมือ
- ดำเนินการระบุลายนิ้วมือบนพอร์ตที่สแกน และโหลดปลั๊กอินที่เกี่ยวข้องหลังจากระบุลายนิ้วมือ เพื่อลดจำนวนแพ็คเกจที่ส่ง
- จำแนกปลั๊กอินเป็นหมวดหมู่ http และไม่ใช่ http
- เมื่อคุณคลิกสแกน คุณสามารถจัดเตรียมตัวเลือกการสแกนแบบกำหนดเองได้ ซึ่งแบ่งออกเป็นการตรวจจับลายนิ้วมือ การสแกนโดเมนย่อย การสแกนพอร์ต การสแกนไดเรกทอรี และการสแกน POC
- เพิ่มฟังก์ชันเพื่อหยุดการสแกนชั่วคราว สแกนต่อ และยกเลิกการสแกนในรายการสแกน
[v2.5] 2021.7.10
- เฟรมเวิร์กแบ็กเอนด์เปลี่ยนจาก flask เป็น fastapi
[v2.6] 2021.9.21
- สามารถเลือกปลั๊กอิน POC ได้เมื่อสแกน
- เพิ่มรายการ POC
- แก้ไข BUG ที่ทราบ
[v2.7] 2021.10.11
- แก้ไขข้อผิดพลาดเมื่อสแกนเป้าหมายทั้งหมด
- เพิ่มฟังก์ชัน XSS LOG (URL สำหรับรับข้อมูลอ้างอิงถึง URL หลังจากสร้างโทเค็น)
[v2.8] 2021.10.24
- การอัปเดตข้อมูลสถานะในการจัดการเป้าหมายและการจัดการการสแกนจะเปลี่ยนจากการสำรวจ Ajax เป็น websocket
[v2.9] 2021.12.26
- รวมฟังก์ชันของ dnslog.cn และจัดเตรียมฟังก์ชัน dnslog
[v3.0] 2022.5.14
- การสแกนปลั๊กอิน POC จะถูกแทนที่ด้วยการสแกนแบบอะซิงโครนัสเพื่อเพิ่มความเร็วในการสแกน
รับทราบ
ขอบคุณโครงการ vulhub ที่ให้สภาพแวดล้อมเป้าหมาย: https://github.com/vulhub/vulhub, https://hub.docker.com/r/2d8ru/struts2
POC ยังอ้างถึงหลายโครงการ: https://github.com/Xyntax/POC-T
https://github.com/ysrc/xunfeng、
https://github.com/se55i0n/DBScanner、
https://github.com/vulscanteam/vulscan
ฉันขอขอบคุณอาจารย์ Pan ที่สอนฉันถึงวิธีเริ่มต้นใช้งานอย่างปลอดภัย และขอขอบคุณเพื่อนร่วมชั้น Daiju ที่แนะนำฉันเกี่ยวกับ Vue
ข้อสงวนสิทธิ์
เครื่องมือนี้ใช้เพื่อการวิจัยด้านความปลอดภัยและการตรวจสอบตนเองภายในเท่านั้น ห้ามมิให้ใช้เครื่องมือเพื่อเปิดการโจมตีที่ผิดกฎหมาย ผู้ใช้จะต้องรับผิดชอบต่อผลที่ตามมา
ใบอนุญาต
เอ็มไอที