Windows账号和密码的获取与破解 相关工具集合
1.概述
在通过SQL注入等方式获取网站的WebShell后,就可以利用系统的各种漏洞进行提权,提权成功后,就可以通过远程终端登录系统。此时,为了长期控制或者进一步渗透网络,攻击者需要获取系统正常用户的密码
在大多数情况下,都需要对系统账号和密码Hash值进行获取。常见的密码获取软件有GetHashes、gsecdump、PwDump、SAMInside等,常用的密码破解软件有LC5/LC6、SAMInside、Ophcrack、Hashcates等。
2.GetHashes
工具下载地址暂不提供
一般使用"GetHashes $Local
"来获取系统的密码Hash值,该命令仅在system权限下才能成功执行
将GetHashes重命名为"getpw",将其复制到欲获取密码Hash值的系统盘中,然后执行"getpw $local
"命令
顺利获取其密码Hash值。在本案例中使用的是Radmin的Telnet。单击"文本"→"保存为"选项将结果保存为一个新文件,然后使用UltraEdit编辑器对其进行编辑,仅保存密码Hash值部分,在后面使用LC5导入密码Hash值,即可破解系统的密码
如果系统中安装了杀毒软件或者防火墙,可能由于杀毒软件和防火墙的保护而导致密码获取失败。绝大多数杀毒软件已经将GetHashes加入病毒库了
3.gsecdump
如果要使用gescdump,可以给info@truesec.co
发邮件索取下载地址
直接运行gsecdump,默认显示帮助信息。也可以使用"gsecdump -h
"命令获取帮助信息
gecdump运行参数·
- -h/:显示帮助信息
- -a/:获取所有密码信息
- -s/:从SAM和域控中获取Hash值
- -l/:获取LSA信息,基本没用
- -u/:获取活动的登录Hash值,即当前登录用户的Hash值
- -w/:获取无线密码
- -S/:强制评估版本为系统版本
在通常情况下,使用"gsecdump -a
"命令获取所有用户的密码Hash值。也可以使用"gsecdump -u
"命令获取当前登录用户的密码Hash值
4.SAMInside
SAMInside可以获取包括Windows Server 2008以下版本操作系统的用户密码Hash值。在获取这些Hash值后,可以通过彩虹表或者字典等进行破解,进而获取系统的密码
直接运行SAMInside,单击第3个小图标,然后选择"Import Local Users via Scheduler
"选项,将本地用户的Hash值导出
在使用SAMInside导入本地用户的Hash值时,必须具有管理员权限。在一些情况下,管理员会对磁盘进行权限限制,这时需要为SAMInside授权后才能获取系统用户的Hash值。
单击"File"→"Export Users to PWDUMP File"
选项,将获取系统用户的密码Hash值导出为一个文件,然后将该文件导入Ophcrack中进行破解。SAMInside本身也能破解系统Hash值,不过破解速度和效果不如Ophcrack
5.oclHashcat
oclHashcat号称"世界上最快的密码破解工具"及"世界上第一个和唯一的基于GPGPU规则的引擎",提供免费多GPU(高达128个GPU)、多Hash、多操作系统(Linux和Windows本地二进制文件)、多平台(OpenCL和CUDA支持)、多算法,资源利用率低,基于字典攻击,支持分布式破解
oclHashcat for AMD的下载地址为http://hashcat.net/files/oclHashcat-1.31.7z
。oclHashcat for Nvidia的下载地址为http://hashcat.net/files/cudaHashcat-1.31.7z
将准备好的字典ptemp.txt
和需要破解的Hash值文件win2.hash
复制到oclHashcat32程序所在文件夹下,执行如下命令进行破解
bash
oclHashcat32 -m 1000 -a 0 -o winpass1.txt --remove win2.hash ptemp.txt
"-m 1000"表示破解密码类型为NTLM; "-a 0"表示采用字典破解;"-o"表示将破解后的结果输出到winpass1.txt中;"--remove win2.hash"表示将移除破解成功的Hash值;"ptemp.txt"为密码字典文件
运行"type winpass1.txt
"命令查看破解结果,如图所示,该账号的密码为"password
"