เมื่อก่อนฉันเขียนถึง แต่น้อยนิดและวุ่นวาย หลังจากนั้น ฉันตัดสินใจขยายรายการเครื่องมือในการรีวิว เพิ่มโครงสร้างบทความ และคำนึงถึงคำวิจารณ์ด้วย (ขอบคุณมาก เพื่อขอคำแนะนำ) และส่งไปแข่งขันบน SecLab (และเผยแพร่แล้ว) แต่ด้วยเหตุผลที่ชัดเจนทั้งหมดจึงไม่มีใครเห็นเธอ) การแข่งขันจบลงแล้ว มีการประกาศผลแล้ว และด้วยมโนธรรมที่ชัดเจน ฉันสามารถเผยแพร่ (บทความ) บน Habré ได้
เครื่องมือ Pentester ของแอปพลิเคชันบนเว็บฟรี
ในบทความนี้ ฉันจะพูดถึงเครื่องมือยอดนิยมสำหรับการทดสอบการเจาะ (การทดสอบการเจาะ) ของเว็บแอปพลิเคชันโดยใช้กลยุทธ์ "กล่องดำ"
ในการดำเนินการนี้ เราจะดูที่โปรแกรมอรรถประโยชน์ที่จะช่วยในการทดสอบประเภทนี้ พิจารณาหมวดหมู่ผลิตภัณฑ์ต่อไปนี้:
- เครื่องสแกนเครือข่าย
- เครื่องสแกนการละเมิดสคริปต์เว็บ
- การแสวงหาผลประโยชน์
- ระบบอัตโนมัติของการฉีด
- โปรแกรมแก้ไขข้อบกพร่อง (ดมกลิ่น พร็อกซีในเครื่อง ฯลฯ)
ผลิตภัณฑ์บางอย่างมี "ลักษณะเฉพาะ" ที่เป็นสากล ดังนั้นฉันจะจัดประเภทผลิตภัณฑ์เหล่านั้นตามหมวดหมู่ที่ผลิตภัณฑ์เหล่านั้นมีоผลลัพธ์ที่ดีกว่า (ความเห็นส่วนตัว)
เครื่องสแกนเครือข่าย
ภารกิจหลักคือการค้นหาบริการเครือข่ายที่มีอยู่ ติดตั้งเวอร์ชัน กำหนดระบบปฏิบัติการ ฯลฯ
nmap
เป็นยูทิลิตี้โอเพ่นซอร์สฟรีสำหรับการวิเคราะห์เครือข่ายและการตรวจสอบความปลอดภัยของระบบ ฝ่ายตรงข้ามที่มีความรุนแรงของคอนโซลสามารถใช้ Zenmap ซึ่งเป็น GUI สำหรับ Nmap
นี่ไม่ใช่แค่สแกนเนอร์ "อัจฉริยะ" เท่านั้น แต่ยังเป็นเครื่องมือที่สามารถขยายได้อย่างจริงจัง (หนึ่งใน "คุณสมบัติที่ผิดปกติ" คือการมีสคริปต์สำหรับตรวจสอบโหนดว่ามีเวิร์มอยู่หรือไม่ "" (กล่าวถึง ). ตัวอย่างการใช้งานทั่วไป:
nmap -A -T4 localhost
-A สำหรับการตรวจจับเวอร์ชันระบบปฏิบัติการ การสแกนสคริปต์ และการติดตาม
-T4 การตั้งค่าการควบคุมเวลา (มากขึ้นเร็วขึ้นจาก 0 ถึง 5)
localhost - โฮสต์เป้าหมาย
มีอะไรที่ยากกว่านี้ไหม?
nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost
นี่คือชุดตัวเลือกจากโปรไฟล์ "การสแกนแบบครอบคลุมช้า" ใน Zenmap ใช้เวลาค่อนข้างนานในการดำเนินการให้เสร็จสิ้น แต่ท้ายที่สุดก็ให้ข้อมูลโดยละเอียดเพิ่มเติมที่สามารถพบได้เกี่ยวกับระบบเป้าหมาย หากคุณตัดสินใจที่จะลงลึก ฉันแนะนำให้แปลบทความด้วย .
Nmap ได้รับรางวัล "ผลิตภัณฑ์ด้านความปลอดภัยแห่งปี" จากนิตยสารและสมาคมต่างๆ เช่น Linux วารสาร, อินโฟ เวิลด์, LinuxQuestions.Org และ Codetalker Digest
จุดที่น่าสนใจคือ Nmap สามารถพบเห็นได้ในภาพยนตร์เรื่อง “The Matrix Reloaded”, “Die Hard 4”, “The Bourne Ultimatum”, “Hottabych” และ .
IP-เครื่องมือ
- ชุดยูทิลิตี้เครือข่ายประเภทต่างๆ ที่มาพร้อมกับ GUI "เฉพาะ" สำหรับผู้ใช้ Windows
เครื่องสแกนพอร์ต, ทรัพยากรที่ใช้ร่วมกัน (เครื่องพิมพ์/โฟลเดอร์ที่ใช้ร่วมกัน), WhoIs/Finger/Lookup, ไคลเอ็นต์ Telnet และอื่นๆ อีกมากมาย เป็นเพียงเครื่องมือที่สะดวก รวดเร็ว และใช้งานได้จริง
ไม่มีประเด็นเฉพาะในการพิจารณาผลิตภัณฑ์อื่นๆ เนื่องจากมียูทิลิตี้มากมายในพื้นที่นี้ และทั้งหมดก็มีหลักการทำงานและฟังก์ชันการทำงานที่คล้ายคลึงกัน ถึงกระนั้น nmap ยังคงถูกใช้บ่อยที่สุด
เครื่องสแกนการละเมิดสคริปต์เว็บ
พยายามค้นหาช่องโหว่ยอดนิยม (SQL inj, XSS, LFI/RFI ฯลฯ) หรือข้อผิดพลาด (ไม่ได้ลบไฟล์ชั่วคราว การทำดัชนีไดเร็กทอรี ฯลฯ)
เครื่องสแกนช่องโหว่ของเว็บ Acunetix
— จากลิงก์ คุณจะเห็นว่านี่คือสแกนเนอร์ xss แต่สิ่งนี้ไม่เป็นความจริงทั้งหมด เวอร์ชันฟรีมีให้ที่นี่ มีฟังก์ชันการทำงานค่อนข้างมาก โดยปกติแล้ว คนที่เรียกใช้เครื่องสแกนนี้เป็นครั้งแรกและได้รับรายงานเกี่ยวกับทรัพยากรของตนเป็นครั้งแรกจะต้องเผชิญกับอาการตกใจเล็กน้อย และคุณจะเข้าใจว่าทำไมเมื่อทำเช่นนี้ นี่เป็นผลิตภัณฑ์ที่ทรงพลังมากสำหรับการวิเคราะห์ช่องโหว่ทุกประเภทบนเว็บไซต์และใช้งานได้ไม่เพียงกับเว็บไซต์ PHP ทั่วไปเท่านั้น แต่ยังทำงานในภาษาอื่น ๆ ด้วย (แม้ว่าความแตกต่างในภาษาจะไม่ใช่ตัวบ่งชี้ก็ตาม) ไม่มีประเด็นเฉพาะในการอธิบายคำแนะนำ เนื่องจากเครื่องสแกนเพียง "หยิบ" การกระทำของผู้ใช้ สิ่งที่คล้ายกับ “ถัดไป ถัดไป ถัดไป พร้อม” ในการติดตั้งซอฟต์แวร์ทั่วไป
Nikto
นี่คือโปรแกรมรวบรวมข้อมูลเว็บแบบโอเพ่นซอร์ส (GPL) ขจัดการทำงานด้วยตนเองตามปกติ ค้นหาไซต์เป้าหมายเพื่อหาสคริปต์ที่ไม่ถูกลบ (บาง test.php, index_.php ฯลฯ) เครื่องมือการดูแลฐานข้อมูล (/phpmyadmin/, /pma และอื่นๆ) ฯลฯ กล่าวคือ ตรวจสอบทรัพยากรเพื่อหาข้อผิดพลาดที่พบบ่อยที่สุด มักเกิดจากปัจจัยของมนุษย์
นอกจากนี้ หากพบสคริปต์ยอดนิยม มันจะตรวจสอบหาช่องโหว่ที่เผยแพร่ (ซึ่งอยู่ในฐานข้อมูล)
รายงานวิธีการที่ "ไม่พึงประสงค์" ที่มีอยู่ เช่น PUT และ TRACE
และอื่นๆ จะสะดวกมากถ้าคุณทำงานเป็นผู้ตรวจสอบบัญชีและวิเคราะห์เว็บไซต์ทุกวัน
ในบรรดาข้อเสีย ฉันต้องการสังเกตเปอร์เซ็นต์ผลบวกลวงที่สูง ตัวอย่างเช่น หากไซต์ของคุณแสดงข้อผิดพลาดหลักเสมอแทนที่จะเป็นข้อผิดพลาด 404 (เมื่อควรเกิดขึ้น) เครื่องสแกนจะบอกว่าไซต์ของคุณมีสคริปต์ทั้งหมดและช่องโหว่ทั้งหมดจากฐานข้อมูล ในทางปฏิบัติสิ่งนี้ไม่ได้เกิดขึ้นบ่อยนัก แต่ตามความเป็นจริงแล้ว หลายอย่างขึ้นอยู่กับโครงสร้างของไซต์ของคุณ
การใช้งานแบบคลาสสิก:
./nikto.pl -host localhost
หากคุณจำเป็นต้องได้รับอนุญาตบนไซต์ คุณสามารถตั้งค่าคุกกี้ในไฟล์ nikto.conf ซึ่งเป็นตัวแปร STATIC-COOKIE
วิคโต
- นิกโตภายใต้ Windowsแต่มีการเพิ่มเติมบางอย่าง เช่น ตรรกะคลุมเครือสำหรับการตรวจสอบข้อผิดพลาด การใช้งาน GHDB การดึงลิงก์และโฟลเดอร์ทรัพยากร และการตรวจสอบคำขอ/การตอบสนอง HTTP แบบเรียลไทม์ Wikto เขียนด้วยภาษา C# และต้องการเฟรมเวิร์ก .NET
ปลาสลิดฟิช
- เครื่องสแกนช่องโหว่ของเว็บจาก (รู้จักกันในชื่อ ลแคมทัฟ) เขียนด้วยภาษา C ข้ามแพลตฟอร์ม (Win ต้องใช้ Cygwin) วนซ้ำ (และเป็นเวลานานมาก ประมาณ 20~40 ชั่วโมง แม้ว่าครั้งสุดท้ายที่ฉันใช้งานได้คือ 96 ชั่วโมง) มันรวบรวมข้อมูลทั่วทั้งไซต์และพบช่องโหว่ด้านความปลอดภัยทุกประเภท นอกจากนี้ยังสร้างการรับส่งข้อมูลจำนวนมาก (ขาเข้า/ขาออกหลาย GB) แต่ทุกวิถีทางก็ดี โดยเฉพาะถ้าคุณมีเวลาและทรัพยากร
การใช้งานทั่วไป:
./skipfish -o /home/reports www.example.com
ในโฟลเดอร์ “รายงาน” จะมีรายงานในรูปแบบ html .
w3af 
— Web Application Attack and Audit Framework, เครื่องสแกนช่องโหว่บนเว็บแบบโอเพ่นซอร์ส มี GUI แต่คุณสามารถทำงานได้จากคอนโซล แม่นยำยิ่งขึ้นมันเป็นกรอบด้วย .
ฉันสามารถพูดถึงข้อดีของมันได้ไม่รู้จบ แต่ลองใช้ด้วยตัวเองน่าจะดีกว่า :]
โดยทั่วไป การใช้งานจะประกอบด้วยการเลือกโปรไฟล์ การระบุเป้าหมาย และการเริ่มใช้งาน
กรอบความปลอดภัยมันตรา
คือความฝันที่เป็นจริง. ชุดเครื่องมือรักษาความปลอดภัยข้อมูลแบบเปิดฟรีที่สร้างไว้ในเว็บเบราว์เซอร์
มีประโยชน์มากเมื่อทดสอบแอปพลิเคชันเว็บในทุกขั้นตอน
การใช้งานขึ้นอยู่กับการติดตั้งและเปิดใช้งานเบราว์เซอร์
ในความเป็นจริงมียูทิลิตี้มากมายในหมวดหมู่นี้และค่อนข้างยากที่จะเลือกรายการเฉพาะจากพวกเขา ส่วนใหญ่แล้ว Pentester แต่ละคนจะกำหนดชุดเครื่องมือที่เขาต้องการ
การแสวงหาผลประโยชน์
สำหรับการแสวงหาประโยชน์จากช่องโหว่โดยอัตโนมัติและสะดวกยิ่งขึ้น การหาประโยชน์จะถูกเขียนในซอฟต์แวร์และสคริปต์ ซึ่งจำเป็นต้องส่งผ่านพารามิเตอร์เท่านั้นเพื่อใช้ประโยชน์จากช่องโหว่ด้านความปลอดภัย และมีผลิตภัณฑ์ที่ขจัดความจำเป็นในการค้นหาช่องโหว่ด้วยตนเองและยังนำไปใช้ได้ทันทีอีกด้วย ตอนนี้จะมีการหารือเกี่ยวกับหมวดหมู่นี้
กรอบ Metasploit 
- สัตว์ประหลาดชนิดหนึ่งในธุรกิจของเรา เขาสามารถทำอะไรได้มากจนคำแนะนำจะครอบคลุมหลายบทความ เราจะดูที่การหาประโยชน์โดยอัตโนมัติ (nmap + metasploit) สิ่งที่สำคัญที่สุดคือ: Nmap จะวิเคราะห์พอร์ตที่เราต้องการ ติดตั้งบริการ และ metasploit จะพยายามใช้ช่องโหว่ตามคลาสบริการ (ftp, ssh ฯลฯ) แทนที่จะใส่คำแนะนำแบบข้อความ ฉันจะแทรกวิดีโอซึ่งค่อนข้างได้รับความนิยมในหัวข้อ autopwn

หรือเราสามารถทำให้การดำเนินการตามช่องโหว่ที่เราต้องการเป็นไปโดยอัตโนมัติ เช่น:
msf > use auxiliary/admin/cisco/vpn_3000_ftp_bypass
msf auxiliary(vpn_3000_ftp_bypass) > set RHOST [TARGET IP]
msf auxiliary(vpn_3000_ftp_bypass) > run
ที่จริงแล้ว ความสามารถของเฟรมเวิร์กนี้กว้างขวางมาก ดังนั้น หากคุณตัดสินใจที่จะเจาะลึกลงไปอีก ให้ไปที่
มาร์ติน
— OVA ของ GUI ประเภท cyberpunk สำหรับ Metasploit แสดงภาพเป้าหมาย แนะนำช่องโหว่ และนำเสนอคุณสมบัติขั้นสูงของเฟรมเวิร์ก โดยทั่วไปแล้วสำหรับผู้ที่ชอบทุกอย่างให้ดูสวยงามและน่าประทับใจ
แคสต์หน้าจอ:

เทนาเบิล เนสซัส®
- สามารถทำสิ่งต่างๆ ได้มากมาย แต่ความสามารถประการหนึ่งที่เราต้องการจากสิ่งนี้คือการพิจารณาว่าบริการใดมีช่องโหว่ ผลิตภัณฑ์เวอร์ชันฟรี "สำหรับบ้านเท่านั้น"
ใช้:
- ดาวน์โหลดแล้ว (สำหรับระบบของคุณ) ติดตั้ง ลงทะเบียน (รหัสจะถูกส่งไปยังอีเมลของคุณ)
- เริ่มต้นเซิร์ฟเวอร์ เพิ่มผู้ใช้ไปยัง Nessus Server Manager (ปุ่มจัดการผู้ใช้)
- เราไปที่ที่อยู่
https://localhost:8834/
และรับไคลเอนต์แฟลชในเบราว์เซอร์
- สแกน -> เพิ่ม -> กรอกข้อมูลในช่อง (โดยเลือกโปรไฟล์การสแกนที่เหมาะกับเรา) แล้วคลิกสแกน
หลังจากนั้นครู่หนึ่ง รายงานการสแกนจะปรากฏในแท็บรายงาน
หากต้องการตรวจสอบช่องโหว่ในทางปฏิบัติของบริการเพื่อหาช่องโหว่ คุณสามารถใช้ Metasploit Framework ที่อธิบายไว้ข้างต้น หรือลองค้นหาช่องโหว่ (ตัวอย่างเช่น , , ฯลฯ) และใช้ด้วยตนเองเพื่อต่อต้าน ระบบของมัน
IMHO: ใหญ่เกินไป ฉันนำเขามาเป็นหนึ่งในผู้นำในทิศทางของอุตสาหกรรมซอฟต์แวร์นี้
ระบบอัตโนมัติของการฉีด
เครื่องสแกนวินาทีของเว็บแอปจำนวนมากค้นหาการฉีด แต่ก็ยังเป็นเพียงสแกนเนอร์ทั่วไป และมีระบบสาธารณูปโภคที่เกี่ยวข้องกับการค้นหาและใช้ประโยชน์จากการฉีดโดยเฉพาะ เราจะพูดถึงพวกเขาตอนนี้
sqlmap
— ยูทิลิตี้โอเพ่นซอร์สสำหรับการค้นหาและใช้ประโยชน์จากการฉีด SQL รองรับเซิร์ฟเวอร์ฐานข้อมูลเช่น: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB
การใช้งานทั่วไปมีดังต่อไปนี้:
python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
มีคู่มือเพียงพอรวมถึงภาษารัสเซียด้วย ซอฟต์แวร์นี้ช่วยอำนวยความสะดวกในการทำงานของเพนเทอร์อย่างมากเมื่อทำงานในพื้นที่นี้
ฉันจะเพิ่มวิดีโอสาธิตอย่างเป็นทางการ:

bsqlbf-v2
— สคริปต์ Perl ซึ่งเป็นตัวบังคับดุร้ายสำหรับการฉีด Sql แบบ "ตาบอด" ใช้งานได้ทั้งกับค่าจำนวนเต็มใน url และค่าสตริง
ฐานข้อมูลที่รองรับ:
- MS-SQL
- MySQL
- PostgreSQL
- คำพยากรณ์
ตัวอย่างการใช้งาน:
./bsqlbf-v2-3.pl -url www.somehost.com/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1
-URL — เชื่อมโยงกับพารามิเตอร์
- คุณตาบอด — พารามิเตอร์สำหรับการฉีด (โดยค่าเริ่มต้นอันสุดท้ายจะถูกนำมาจากแถบที่อยู่)
-sql "เลือก table_name จาก imformation_schema.tables จำกัด 1 ออฟเซ็ต 0" — คำขอโดยพลการของเราไปยังฐานข้อมูล
-ฐานข้อมูล 1 — เซิร์ฟเวอร์ฐานข้อมูล: MSSQL
-ประเภทที่ 1 — ประเภทของการโจมตี การแทรกแบบ "blind" ตามการตอบสนอง True และ Error (เช่น ข้อผิดพลาดทางไวยากรณ์)
ดีบักเกอร์
เครื่องมือเหล่านี้ส่วนใหญ่จะใช้โดยนักพัฒนาเมื่อมีปัญหากับผลลัพธ์ของการรันโค้ด แต่ทิศทางนี้ยังมีประโยชน์สำหรับการเพนเทสต์ เมื่อเราสามารถแทนที่ข้อมูลที่เราต้องการได้ทันที วิเคราะห์สิ่งที่ตอบสนองต่อพารามิเตอร์อินพุตของเรา (เช่น ในระหว่างการฟัซซิ่ง) เป็นต้น
เรอ สวีท
— ชุดยูทิลิตี้ที่ช่วยทดสอบการเจาะระบบ มันอยู่บนอินเทอร์เน็ต ในภาษารัสเซียจาก Raz0r (แต่สำหรับปี 2008)
เวอร์ชันฟรีประกอบด้วย:
- Burp Proxy เป็นพร็อกซีในเครื่องที่ให้คุณแก้ไขคำขอที่สร้างไว้แล้วจากเบราว์เซอร์
- Burp Spider - สไปเดอร์ ค้นหาไฟล์และไดเร็กทอรีที่มีอยู่
- Burp Repeater - ส่งคำขอ HTTP ด้วยตนเอง
- Burp Sequencer - วิเคราะห์ค่าสุ่มในรูปแบบ
- Burp Decoder เป็นโปรแกรมเข้ารหัส-ถอดรหัสมาตรฐาน (html, base64, hex ฯลฯ) ซึ่งมีหลายพันแบบ ซึ่งสามารถเขียนได้อย่างรวดเร็วในภาษาใดก็ได้
- Burp Comparer - องค์ประกอบการเปรียบเทียบสตริง
โดยหลักการแล้ว แพ็คเกจนี้จะช่วยแก้ปัญหาเกือบทั้งหมดที่เกี่ยวข้องกับพื้นที่นี้
พู้ทำเล่น
— Fiddler เป็นพร็อกซีการแก้ไขจุดบกพร่องที่บันทึกการรับส่งข้อมูล HTTP(S) ทั้งหมด ช่วยให้คุณสามารถตรวจสอบการรับส่งข้อมูลนี้ ตั้งค่าเบรกพอยต์และ “เล่น” ด้วยข้อมูลขาเข้าหรือขาออก
นอกจากนี้ยังมี , สัตว์ประหลาด และอื่น ๆ ทางเลือกก็ขึ้นอยู่กับผู้ใช้
ข้อสรุป
โดยธรรมชาติแล้ว Pentester แต่ละคนมีคลังแสงและชุดสาธารณูปโภคของตัวเองเนื่องจากมีอยู่มากมาย ฉันพยายามแสดงรายการที่สะดวกและเป็นที่นิยมที่สุด แต่เพื่อให้ทุกคนสามารถทำความคุ้นเคยกับยูทิลิตี้อื่น ๆ ในทิศทางนี้ได้ ฉันจะให้ลิงค์ด้านล่าง
ด้านบน/รายการสแกนเนอร์และยูทิลิตี้ต่างๆ
- .
การกระจาย Linuxซึ่งรวมถึงเครื่องมือต่างๆ มากมายสำหรับการทดสอบเจาะระบบอยู่แล้ว
UPD: ในภาษารัสเซียจากทีม “Hack4Sec” (เพิ่ม )
ป.ล. เราไม่สามารถนิ่งเงียบเกี่ยวกับ XSpider ได้ ไม่มีส่วนร่วมในการตรวจสอบแม้ว่าจะเป็นแชร์แวร์ (ฉันพบเมื่อฉันส่งบทความไปที่ SecLab จริง ๆ แล้วด้วยเหตุนี้ (ไม่ใช่ความรู้และขาดเวอร์ชันล่าสุด 7.8) และไม่ได้รวมไว้ในบทความ) และตามทฤษฎีแล้ว มีการวางแผนการทบทวนเรื่องนี้ไว้ (ฉันมีบททดสอบที่ยากลำบากเตรียมไว้ให้) แต่ฉันไม่รู้ว่าโลกจะได้เห็นหรือไม่
PPS เนื้อหาบางส่วนจากบทความนี้จะถูกนำมาใช้ตามวัตถุประสงค์ในรายงานฉบับต่อๆ ไป 2012 ในส่วน QA ซึ่งจะมีเครื่องมือที่ไม่ได้กล่าวถึงที่นี่ (ฟรีแน่นอน) รวมถึงอัลกอริธึม ลำดับการใช้อะไร ผลลัพธ์ที่คาดหวัง การกำหนดค่าใดที่จะใช้ และคำแนะนำและลูกเล่นทุกประเภทเมื่อใด การทำงาน (ฉันคิดรายงานเกือบทุกวัน ฉันจะพยายามบอกคุณให้ดีที่สุดเกี่ยวกับหัวข้อหัวข้อ)
โดยวิธีการนี้มีบทเรียนเกี่ยวกับบทความนี้ที่ เปิด InfoSec Days (, ), สามารถ ปล้นชาวโคโรแวน ลองดูสิ .
ที่มา: will.com
