内网抓取密码的话怎么抓
1. 利用内存中的明文密码
这是最直接、最有效的方法之一,尤其是在 Windows 主机上。许多服务和系统进程(如 lsass.exe)为了方便快速验证,会在内存中缓存用户的凭据信息,包括明文密码、哈希值等
常用工具和技术:
- Mimikatz: 这是 Windows 环境下抓取密码的瑞士军刀。它可以从 lsass.exe 进程中提取各种凭据,包括:
- 明文密码(cleartext password):如果用户以明文方式登录或者系统配置允许,Mimikatz 可以直接抓取到明文密码
- 哈希值(NTLM hash):即使没有明文密码,Mimikatz 也能抓取到用户的哈希值。这些哈希值可以用于哈希传递(Pass-the-Hash)攻击,在不知道明文密码的情况下登录其他机器
- Kerberos 票据(ticket):可以用于哈希传递票据(Pass-the-Ticket)攻击
- PowerSploit/Mimikatz 的 PowerShell 版本: 在目标主机上执行 Mimikatz 时,如果担心被杀毒软件拦截,可以使用 PowerShell 版本。它不需要将 Mimikatz 可执行文件写入磁盘,而是直接在内存中执行
注意事项:
- 执行 Mimikatz 通常需要 管理员权限 或 SYSTEM 权限
- 现在很多杀毒软件都会对 Mimikatz 采取强力防御,所以可能需要绕过(bypass)杀软
2. 利用服务和应用程序的配置文件
许多服务(如数据库、Web 应用、FTP 服务器等)为了连接到其他主机或数据库,会在配置文件中存储用户名和密码,这些密码有时甚至是明文的
常见的配置文件路径:
- 数据库连接文件:例如
web.config
、wp-config.php
,或者其他*.ini
、*.properties
文件 - SSH 配置文件:Linux 系统中的
.ssh/config
或者 Windows 中的相关配置文件,有时会存储私钥或者密码 - FTP 客户端配置文件:例如 FileZilla、Xftp 等客户端软件的配置文件,可能会存储已连接过的服务器凭据
- 应用程序配置文件:任何自定义的应用程序,其配置文件中都可能存储硬编码的密码
查找方法:
- 使用
find
命令(Linux)或dir
命令(Windows)结合grep
或findstr
来搜索包含“password”或“user”等关键词的文件 find / -name "*.conf" | xargs grep "password"
dir /s /b *.ini | findstr /i password
3. 利用密码喷洒
如果已经拿到了一份内网的用户列表,但不知道对应的密码,可以尝试使用一个或几个弱密码(如 123456
、password
、P@ssword1
)去批量尝试登录所有用户
优点:
- 可以绕过账户锁定策略。因为每次尝试登录时,都只对一个用户使用一个密码,而不是对一个用户使用多个密码
- 效率高,特别是在内网中存在大量使用弱密码的用户时
常用工具:
- Kerbrute: 用于 Kerberos 密码喷洒,速度快且不易被检测
- Hydra: 一个强大的在线密码破解工具,可以对各种服务(SSH, FTP, SMB 等)进行密码喷洒
4. 利用哈希传递攻击
哈希传递攻击是一种非常强大的横向移动技术,它利用了 Windows 系统的一个特性:在进行 SMB 或其他网络认证时,可以直接使用用户的 NTLM 哈希值,而不需要知道明文密码
基本流程:
- 在 A 主机上通过 Mimikatz 抓取到用户的哈希值
- 利用这个哈希值,通过 PsExec、WMI 或 SMBExec 等工具,在不输入密码的情况下登录 B 主机
常用工具:
- Mimikatz: 除了抓取哈希,Mimikatz 也能直接进行 PtH 攻击
- Metasploit 的 psexec_hash 模块
- CrackMapExec:一个非常实用的渗透测试工具,可以批量对内网机器进行哈希传递攻击