各位安全圈的小伙伴们,大家好!俗话说得好,渗透测试的精髓在于信息搜集,而信息搜集的重中之重,就是搞定用户的“葵花宝典”——凭据!拿到有效的用户凭据,就如同拿到了进入目标系统的VIP通行证。什么漏洞利用、横向穿梭、权限提升、隧道搭建,都只是在这张通行证的基础上,玩出的各种花式操作。记住,我们的终极目标不是找到一条路进去,而是要像孙悟空一样,尽可能找出所有能非法进入系统的七十二变方法!
磨刀不误砍柴工:密码破解三大神兵利器
在深入密码破解的奇妙世界之前,咱们先来认识一下三款在安全圈响当当的密码破解神器!
John the Ripper:密码界的“老中医”
John,江湖人称“开膛手约翰”,是一款历史悠久的开源密码破解工具。它就像一位经验丰富的老中医,擅长离线破解各种哈希密码,特别是那些藏在 Unix 的 shadow 文件、Windows 的 SAM 哈希里的宝贝。无论是 MD5、SHA1 还是 NTLM,它都能轻松应对。John 最大的特点就是高效,字典攻击和暴力破解是它的拿手好戏,特别适合快速揪出那些弱密码。而且,它还支持各种自定义规则,简直是渗透测试人员的贴心小棉袄。
# 场景:信息搜集阶段,我们“不小心”搞到了一个系统的 /etc/shadow 文件;
# 这时候,就可以请出 John 大爷来破解那些不设防的弱密码。
# 1. 提取哈希:把 passwd 和 shadow 文件合并,生成 John 能识别的格式
unshadow /etc/passwd /etc/shadow > hash.txt
# 2. John 出马,指定字典文件,开始破解!
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
# 3. 坐等结果,看看有没有惊喜!
john --show hash.txt
Hydra:在线密码破解的“冲浪达人”
Hydra,又名九头蛇,是一款专注于在线密码破解的冲浪达人。它擅长暴力破解各种网络服务的登录凭据,像 SSH、FTP、HTTP、SMB 这些,都是它的猎物。Hydra 就像一位不知疲倦的密码尝试者,通过多线程并行尝试各种用户名和密码组合,直到撞开目标的大门。它最大的优势就是能直接在目标服务活跃时进行认证测试,特别适合那些需要实时攻击远程系统的场景。
这里要特别强调一下,Hydra 的“在线”指的是它针对活跃的网络服务进行实时认证尝试,而不是像 John 或 Hashcat 那样主要处理离线的哈希文件。可以把它想象成一个一直在敲门的推销员,只要目标服务开着门,它就会一直尝试各种密码组合。
# 场景:我们通过信息搜集,拿到了 SSH 的用户名,但是密码嘛...嘿嘿
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.100 -t 4
# 场景:只知道 FTP 服务开着,账号密码一概不知?没问题!
hydra -L usernames.txt -P /usr/share/wordlists/rockyou.txt ftp://192.168.1.100 -t 4
Hashcat:密码破解界的“速度与激情”
Hashcat,号称密码破解界的“速度与激情”,是目前最流行的密码破解工具之一。它最大的特点就是支持 GPU 加速,性能杠杠的,专为离线破解哈希而生。Hashcat 支持超过 200 种哈希算法,像 MD5、SHA256、NTLMv2、bcrypt 这些,都是小菜一碟。它还提供各种攻击模式,字典、掩码、组合攻击,应有尽有。如果你要处理复杂的哈希和大规模破解任务,Hashcat 绝对是你的不二之选。
以下是渗透测试中常见的密码类型:
m 参数值 | Hash类型 | 示例 |
---|---|---|
0 | MD5 | 5f4dcc3b5aa765d61d8327deb882cf99 |
100 | SHA1 | da39a3ee5e6b4b0d3255bfef95601890afd80709 |
1700 | SHA256 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
1800 | SHA512 | salt$W8Q... (SHA512, Linux shadow) |
1000 | 纯NTLM 哈希 | abcdef1234567890abcdef123456 |
5500 | NetNTLMv1 | |
5600 | NetNTLMv2 | user1:1122334455667788:abcdef1234567890abcdef1234567890::: |
300 | MySQL 4.1+(SHA1) | 94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 (MySQL) |
1731 | MSSQL (SHA512) | |
13100 | Kerberos 5 TGS-REP | $krb5tgs$23$user1$CORP.LOCAL$ldap/dc01.corp.local$salt$abcdef1234567890... |
18200 | Kerberos 5 AS-REP | [email protected]:salt$abcdef1234567890... |
密码去哪儿了?密码情报的“寻宝之旅”
有了趁手的兵器,接下来就要开始我们的“寻宝之旅”了!我们要搞清楚,这些密码信息都藏在哪里,如何提取各种 Hash 类型的密码,然后用我们手中的神器进行破解或利用。
1. 密码管理文件:别放过任何一个“小金库”
在信息搜集阶段,除了那些常见的文本文件,我们还要重点关注密码管理类应用使用的数据库文件。比如,keepass 的 kdbx 文件,就是一个值得挖掘的“小金库”。
# 1. 找到 kdbx 文件,看看里面有没有惊喜
dir /s *.kdbx
# 2. 传输到本地,进行格式转换
keepass2john information.kdbx > keepass.hash
# 3. 破解!
john --wordlist=/usr/share/wordlists/rockyou.txt keepass.hash
拿到 kdbx 数据库的密码后,就可以用客户端工具登录,查看里面的账号密码了。
2. SAM 文件:Windows 密码的“秘密基地”
SAM 文件是 Windows 本地存储用户密码哈希的数据库文件,主要用于本地用户的身份验证。它通常藏在 C:WindowsSystem32configSAM 里面,存储着 NTLM 哈希。如果我们能把 SAM 数据库文件搞到本地进行破解,就能提取其中的账号信息(当然,这需要管理员权限)。
3. LSASS 进程内存:密码的“实时直播间”
LSASS 是 Windows 中处理认证的进程,它的内存里存储着明文密码、NTLM 哈希、Kerberos Ticket 等各种敏感信息。最有效的方式就是用 mimikatz 进行提取,但前提是我们需要有管理员权限。这就像进入了一个密码的“实时直播间”,各种密码信息尽收眼底。
4. NetNTLMv2:钓鱼执法的“完美陷阱”
NetNTLMv2 是一种基于 NTLM 协议的认证机制,常用于域环境中的单点登录或远程访问。我们可以利用工具(比如 Responder)监听网络广播请求(像 LLMNR、NBT-NS),伪装成目标服务,诱骗用户发送 NetNTLMv2 哈希。这就像设下了一个“完美陷阱”,等着鱼儿上钩。
5. Kerberos 5 TGS-REP:Kerberoasting 攻击的“敲门砖”
Kerberos 5 TGS-REP(Ticket-Granting Service Reply),使用加密类型(etype)23,也就是 MS Krb5 的 RC4-HMAC 加密。它是 Kerberos 协议中 TGS 票据的加密部分,基于用户的 NTLM 哈希(RC4 密钥)加密。我们可以用 Mimikatz 从 LSASS 进程中导出 Kerberos 票据,通常与 Kerberoasting 攻击相关。
同样,这也需要 SYSTEM 或域管理员权限访问 LSASS,或者已经控制了域环境。
6. Kerberos 5 AS-REP:ASREPRoast 攻击的“通行证”
Kerberos 5 AS-REP(Authentication Service Reply),使用加密类型 23(RC4-HMAC)。AS-REP 是 Kerberos 认证的第一步,用户向 KDC 请求 TGT(Ticket-Granting Ticket)时返回的响应。如果目标账户没有启用“需要预认证”(Pre-Authentication),KDC 会直接返回加密的 AS-REP 数据,攻击者就可以利用它进行离线破解。通常与 ASREPRoast 攻击相关。
impacket-GetNPUsers -dc-ip 192.168.50.70 -request -outputfile hashes.asreproast corp.com/pete
hashcat --help | grep -i "Kerberos"
# 19600 | Kerberos 5, etype 17, TGS-REP | Network Protocol
# 19800 | Kerberos 5, etype 17, Pre-Auth | Network Protocol
# 19700 | Kerberos 5, etype 18, TGS-REP | Network Protocol
# 19900 | Kerberos 5, etype 18, Pre-Auth | Network Protocol
# 7500 | Kerberos 5, etype 23, AS-REQ Pre-Auth | Network Protocol
# 13100 | Kerberos 5, etype 23, TGS-REP | Network Protocol
# 18200 | Kerberos 5, etype 23, AS-REP | Network Protocol
#破解
sudo hashcat -m 18200 hashes.asreproast /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule --force
总结: 获取账户名和密码是贯穿整个渗透测试的一条主线,其他一切技术都是在此基础上的延伸。比如,获取的是一个提权后的用户,收集的信息有限,就会想到提权。拿到一个账号的 NTLM 哈希,却在有限的时间内无法通过爆破获取明文,可以考虑 PTH 和 PTG,直接利用 Hash 而不是去破解它。又或者,不费吹灰之力地利用密码复用横向移动到其他机器等等。牢牢抓住这条主线,才能思路清晰,掌握全局,做到有的放矢。
黑客/网络安全学习包
资料目录
-
成长路线图&学习规划
-
配套视频教程
-
SRC&黑客文籍
-
护网行动资料
-
黑客必读书单
-
面试题合集
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
3.SRC&黑客文籍
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦!
4.护网行动资料
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
5.黑客必读书单
**
**
6.面试题合集
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
更多内容为防止和谐,可以扫描获取~
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************