ผู้บรรยาย: ในการบรรยายนี้
เราจะมาดูช่องโหว่ในการอัปโหลดไฟล์
ช่องโหว่เหล่านี้เป็นช่องโหว่ประเภทที่ง่ายที่สุด
เนื่องจากช่วยให้เราอัปโหลดไฟล์ประเภทใดก็ได้
ตัวอย่างเช่น หากคอมพิวเตอร์เป้าหมายสามารถเข้าใจ php
ได้ เราก็สามารถอัปโหลดไฟล์ php หรือ php shell ใดๆ และควบคุมคอมพิวเตอร์เป้าหมายได้อย่างเต็มที่
ตอนนี้ เนื่องจากคอมพิวเตอร์เป้าหมายหรือเซิร์ฟเวอร์เป้าหมายเข้าใจ
Python หรือภาษาอื่นใด คุณก็สามารถอัปโหลดโค้ด
Python, Python shell หรือ Ruby
shell ได้
คุณสามารถสร้างเชลล์เหล่านี้ได้โดยใช้
Veil-Evasion หรือ Metasploit หรือคุณสามารถใช้
php หรือ Python shell ของคุณเอง
สิ่งที่เราจะทำในวันนี้
เราจะมาดูเครื่องมือที่เรียกว่า
weevly ซึ่งสร้าง php shells และช่วยให้เราเข้าถึงและทำสิ่งเจ๋งๆ
บนคอมพิวเตอร์เป้าหมายได้
ก่อนอื่น ฉันมี DVWA ของฉันที่นี่
และโดยปกติเมื่อคุณพยายามวางแผนทดสอบเว็บไซต์
สิ่งที่ผมแนะนำคือ
ก่อนที่คุณจะพยายามใช้เครื่องมือหรืออะไรก็ตาม
หลังจากคุณรวบรวมข้อมูลแล้ว ก็คือคุณเข้าไปข้างในและพยายามเรียกดูเว็บไซต์
ดูสิ่งที่คุณเห็น เพียงแค่สัมผัสถึงเว็บไซต์
ดูว่ามีอะไรติดตั้งอยู่และทั้งหมดนั้น
และพยายามใช้ประโยชน์จากคุณลักษณะต่างๆ ที่คุณเห็น
ตัวอย่างเช่น สมมติว่าคุณทำทุกอย่าง
และจากนั้นคุณถึงการอัปโหลด
เราจะเห็นว่าเว็บไซต์นี้อนุญาตให้เราอัปโหลดไฟล์ได้
ในบางครั้ง งานทดสอบการเจาะระบบของคุณ อาจเป็นเว็บไซต์ที่อนุญาตให้คุณอัปโหลดรูปโปรไฟล์
รูปภาพ หากเป็นเว็บไซต์ลับ บางทีก็อนุญาตให้คุณอัปโหลดรูปภาพของรถยนต์หรืออะไรก็ตามที่คุณพยายามเพิ่มเข้าไป
เว็บไซต์
ดังที่คุณเห็นที่นี่ เว็บไซต์คาดหวังให้คุณเลือกรูปภาพและอัปโหลดรูปภาพ
มาดูกันว่าเราสามารถอัพโหลดรูปภาพได้หรือไม่
ดังนั้นฉันจะไปดาวน์โหลดของฉันและฉันมีรูปภาพที่นี่ในแหล่งข้อมูล
แค่รูปรถ.
เดี๋ยวจะอัพให้ดูนะคะว่าอัพไหม
และเราจะเห็นว่าการอัปโหลดสำเร็จและถูกเก็บไว้ในตำแหน่งนี้โดยเฉพาะ
....
ซึ่งหมายความว่าสองไดเร็กทอรีกลับมาแล้วชื่อไฟล์นี้
ลองดูว่ารูปภาพนั้นถูกอัพโหลดจริงหรือไม่
ดังนั้นฉันจึงลบสองไดเร็กทอรี
ฉันกำลังลบช่องโหว่และอัปโหลด
ฉันแค่ใช้สิ่งนั้น
แล้วเราจะได้ตำแหน่งนี้บนเซิร์ฟเวอร์ เพื่อดูว่ารูปภาพถูกอัพโหลดอย่างถูกต้องหรือไม่
และอย่างที่เราเห็นว่ารูปภาพถูกอัพโหลดแล้ว
ทั้งหมดก็ดี
สิ่งต่อไปที่เราอยากทำ
เรามาลองอัปโหลดไฟล์ php กัน
และในการทำเช่นนั้น เราจะใช้เครื่องมือที่เรียกว่า
weevly อย่างที่ฉันพูด
เพื่อสร้างเพย์โหลดหรือเชลล์ ถ้าคุณต้องการเรียกมันว่า
และแน่นอนว่ามันจะเป็นเชลล์ php
คุณสามารถใช้ metasploit อย่างที่ฉันพูดเพื่อสร้าง
payload ของ php ได้ แต่เราจะต้องมองหาเครื่องมืออื่นที่ออกแบบมาสำหรับการทดสอบการเจาะระบบเว็บแอปพลิเคชัน
ดังนั้นเครื่องมือนี้จึงง่ายมาก
เราจะใส่ชื่อเครื่องมือ ซึ่งเป็นชื่อย่อ
แล้วเราจะใส่ generate เพราะเราต้องการสร้างเพย์โหลดหรือไฟล์เชลล์
จากนั้นเราจะใส่รหัสผ่านสำหรับไฟล์นั้น เพื่อให้มีเพียงเราเท่านั้นที่สามารถเข้าถึงและควบคุมเว็บไซต์เมื่อเราอัปโหลดไปยังเว็บไซต์
ดังนั้นรหัสผ่านของฉันจะเป็น 1-2-3-4-5-6
แล้วจะบอกว่าจะเก็บไว้ไหน
และฉันต้องการเก็บไว้ในรูทและฉันจะเรียกมันว่าเชลล์
php.php
ง่ายมาก weevly เป็นชื่อของโปรแกรม
Generate คือการสร้างเปลือก
รหัสผ่านที่เชลล์จะใช้เพื่อรับรองความถูกต้องของเรา
และรหัสผ่านนั้นจะถูกเก็บไว้ในรูท/เชลล์
php.php
จะกด Enter และมันถูกสร้างขึ้นตอนนี้
ถ้าฉันอยู่ในรูทของฉันแล้ว ฉันก็แค่ทำ ls ฉันควรจะเห็นมัน
และเราสามารถเห็นได้ตรงนี้
สิ่งต่อไปคือเราจะกลับไปที่เว็บไซต์ของเราและพยายามอัปโหลดเชลล์นั้น
และฉันจะมองหาเชลล์และนี่คือ
และฉันก็กดอัพโหลด
และอย่างที่คุณเห็นตอนนี้ มันบอกฉันว่าไฟล์ได้รับการอัปโหลดสำเร็จแล้ว
และมันอยู่ในที่เดียวกับที่รูปภาพอยู่
สิ่งที่เราต้องทำตอนนี้คือเราจะใช้ลิงก์เดียวกัน และเราจะใช้
weevly อีกครั้งเพื่อโต้ตอบกับเชลล์ที่เราอัปโหลด
ตอนนี้ มาดูก่อนว่ามีเชลล์อยู่หรือไม่และมีการอัพโหลดอย่างถูกต้องหรือไม่
ดังนั้นฉันจะเรียกดูผ่านเบราว์เซอร์ของฉัน
เปลือก. php และคุณจะเห็นว่าคุณมีหน้าว่าง
ดังนั้นเราจะไม่พบไฟล์ 404 ไม่พบ ซึ่งหมายความว่าไฟล์นั้นได้รับการอัปโหลดแล้วและอยู่ที่นั่น
เราจะพยายามโต้ตอบกับมันจาก weevly
เพื่อเชื่อมต่อกับมัน เราจะพิมพ์
weevly จากนั้นเราจะใส่ URL ที่เชลล์อยู่
นี่คือที่ที่เชลล์ของเราถูกอัปโหลด
แล้วเราจะใส่รหัสผ่าน
ดังนั้นรหัสผ่านของฉันคือ 1-2-3-4-5-6
ง่ายมากๆ URL ที่เป็นไฟล์และ
1-2-3-4-5-6
สิ่งนี้คล้ายกันมากเมื่อคุณใช้ตัวจัดการหลายตัวเพื่อรอการเชื่อมต่อหรือเชื่อมต่อผ่านประตูหลังของคุณ
แท้จริงแล้วเราจะเชื่อมต่อกับประตูหลังที่เราอัปโหลด
และอย่างที่คุณเห็น ตอนนี้เราอยู่ในระบบไฟล์
ดังนั้น จากที่นี่ คุณสามารถพิมพ์คำสั่ง Linux ใดก็ได้จากที่นี่
และคุณจะสามารถดำเนินการได้บนคอมพิวเตอร์เป้าหมายและคุณจะเห็นผลลัพธ์ที่นี่
ดังนั้น ถ้าฉันทำ pwd คุณจะเห็นว่าฉันอยู่ใน
var/www/hackable/uploads และถ้าฉันทำ id ฉันจะเห็นผู้ใช้ของฉันในขณะนี้ซึ่งก็คือ
www ข้อมูล.
และถ้าคุณทำ uname -a เพียงเพื่อยืนยันว่านี่คือเครื่อง
metasploitable คุณจะเห็นว่านี่คือเครื่อง
Linux metasploitable
ตอนนี้เราสามารถทำอะไรก็ได้ที่เราต้องการ
เราสามารถแสดงรายการไฟล์ เราสามารถนำทางได้
คุณสามารถทำคำสั่ง Linux ที่คุณต้องการทำ
ตอนนี้เราเปลี่ยนไปแล้ว สถานที่ของเราเปลี่ยนไปแล้ว
Weevly ยังมีฟีเจอร์มากมายที่มากกว่านี้
ดังนั้นมันจึงช่วยให้คุณทำสิ่งดีๆ ได้มากมาย
หากคุณพิมพ์ help คุณจะเห็นสิ่งดีๆ ทั้งหมดที่คุณสามารถทำได้ด้วย
weevly
ดังนั้นคุณสามารถลองยกระดับสิทธิ์ของคุณ
ดำเนินการสืบค้นข้อมูล SQL และสิ่งดีๆ มากมายที่ออกแบบมาสำหรับการทดสอบการเจาะระบบเว็บแอปพลิเคชันเท่านั้น
สำหรับตอนนี้ฉันจะทิ้งไว้ที่นี้
และนี่เป็นเพียงการแสดงวิธีการใช้ช่องโหว่ในการอัปโหลดไฟล์