目录
5.80-searchsploit 查找 Cuppa CMS漏洞利用
开头:
学习的视频是哔哩哔哩红队笔记:
「红队笔记」靶机精讲:W1R3S 1.0.1 - 细节多到即使对于纯萌新也能无感入圈。_哔哩哔哩_bilibili
打靶时参考文章和本文借鉴文章:
红队打靶:W1R3S: 1.0.1详细打靶思路(vulnhub)_w1r3s 1.0.1-CSDN博客
靶机下载链接见:
https://download.vulnhub.com/w1r3s/w1r3s.v1.0.1.zip
1.主机发现:
先查看自己的ip
ip a /ifconfig
可发现所在网段为192.168.254.0/24
Arp-scan -l
Nmap -sn 192.168.254.0/24
发现目标主机IP:192.168.254.141
2.端口扫描
学习了红队笔记的nmap用法:
2.1.-min-rate 10000 参数快速扫描存活端口
sudo nmap –min-rate 10000 –p- 192.168.254.141
.-min-rate 10000 最小速率10000对全部端口(1-65535)进行扫描,10000是权衡的结果,数字过大扫描速度快,但容易遗漏端口,数字过小则扫描时间过长,经验表明10000就是扫描的合适速度
-p-
-p是端口参数,-p-表示对所有端口进行扫描。理论上应该对靶机的ip扫描两次,对比结果,保证没有信息的遗漏。
发现存活端口:21(tcp)22(ssh) ,80(http),3306(mysql)
2.2.采用tcp协议扫描,查看端口服务详细信息和操作系统信息
nmap -sT -sV -sC -O -p21,22,80,3306 192.168.254.141
-sT 进行TCP扫描(三握手)
-sV 表示探测开放服务的版本
-O 表示探测操作系统版本
-SC 等效于 --script=defult 这是使用脚本扫描,如果只看协议详细信息的化不用加
可以看到每个开放端口的服务版本和操作系统linux。
2.3.UDP协议扫描
sudo nmap -sU -p21,22,80,3306 192.168.254.141
-sU 就是采用UDP协议扫描
UDP扫描结果如上图,结果表明3306端口关闭,其他三个端口是开放/被过滤状态
为什么要用udp协议扫描?
保证没有遗漏信息。虽然UDP端口暴露的攻击面是比较小的,但在信息搜集阶段就应该搜集较全的信息,当TCP端口没有找到突破口的时候,说不定UDP也是一条路。
2.4.nmap脚本扫描:
nmap中自带的脚本vuln进行漏洞扫描。nmap里面的脚本会对端口的历史常见漏洞进行扫描探测,如果这一步就能发现可利用的漏洞,对后续的操作会很有启发
sudo nmap --script=vuln -p21,22,80,3306 192.168.254.141
script=vuln表示使用脚本vuln进行扫描,vuln是vulnrability的缩写,这个脚本也会更新,不断加入新的漏洞检测。
如上图所示,nmap的漏洞扫描发现21,22,3306都没什么漏洞,80端口发现一个DOS拒绝服务攻击的漏洞,同时还发现了一个CMS为Wordpress的登录页面。然而拒绝服务这种恶意攻击方式对我们打靶场没有用,重点关注一下Wordpress的cms有啥漏洞。
3.攻击权重分析:
1.21:ftp协议端口,可能存在匿名登录,泄露信息,利用快,所以优先级第一
2.80:http协议端口,可能部署web有较大的攻击面,而且还发现了wordpress的cms
3.3306:3306端口,是MySQL数据库的端口,前面漏洞扫描也并没有发现太多的思路,不过如果能登录数据库,应该也有信息,
4.22:22端口是ssh协议,远程登录,能漏洞利用的较少,爆破弱口令对我们的学习没有帮助,所以优先级最低
4.ftp-匿名登录
通过匿名登录上后发现三个文件夹(上篇文章有讲解匿名登录)
第一个文件夹:
01.txt:
New FTP Server For W1R3S.inc
02.txt:
第2个文本里面是2串字符串
#hash
通过脚本分析什么加密?
hash-indentifier 密文
【kali-密码攻击】(5.2.1)密码分析:Hash Identifier(哈希识别)_hash-identifier-CSDN博客
通过hash-identifer命令识别出,这是MD5加密
01ec2d8fc11c493b25029fb1f47f39ce
MD5 在線免費解密 MD5、SHA1、MySQL、NTLM、SHA256、SHA512、Wordpress、Bcrypt 的雜湊 (hashes.com)
解密:This is not a password
# base64
SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==
Base64解码:
It is easy, but not that easy..
03.txt:
这个公司的文字logo
--------------------------------------------------------------------------------------------------------------------------------
第2个文件夹:
是一段翻转过的语句,尝试网上找工具反转
ı pou,ʇ ʇɥıuʞ ʇɥıs ıs ʇɥǝ ʍɐʎ ʇo ɹooʇ¡
....punoɹɐ ƃuıʎɐןd doʇs ‘op oʇ ʞɹoʍ ɟo ʇoן ɐ ǝʌɐɥ ǝʍ
Upside Down Text | Flip Text, Type Upside Down, or Backwards Text
反正就是告诉我们这条路,没有意义
--------------------------------------------------------------------------------------------------------------------------------
第三个文件夹
是一个管理员列表
The W1R3S.inc employee list
Naomi.W - Manager
Hector.A - IT Dept
Joseph.G - Web Design
Albert.O - Web Design
Gina.L - Inventory
Rico.D - Human Resources
到此ftp协议利用完了
5.80-searchsploit 查找 Cuppa CMS漏洞利用
打开http://192.168.254.141:80 就是一个Apache搭建初始页面,没什么利用点,我们直接前去,最开始nmap脚本扫描到的CMS路径
然后我想找到wordPress的web首页面,发现输入连接http://19.168.254.141/wordpress 要主动跳转成http://localhost/wordpress,有问题走不动了,(有一思路修改host解析,但是在这里还是不行)那么这一条的路走不通了,只要一个登录窗口,有没有凭据,只要先目录扫描看看了
Sudo gobuster dir -u http://192.168.254.141 –wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
就发现administrator页面可以打开,打开发现是一个Cuppa CMS的安装程序(这里要有个意识,我是在做渗透测试,我的下一步操作会不会对目标机上面的东西造成影响(不可逆的服务器修改或者被管理员发现),要提前对下一步的操作做好预期)
发现该页面提示信息中数据库单词拼写错误,
题外话:数据库名这个栏目的databases他拼错为databas,这有可能是一个特别特征。因为错误的拼写具有独特性,可能通过互联网搜索这个拼错的信息可能会得到针对性的结果。如下图,不过我们在打靶的时候就先不管这个错误了。
点击下一步后,没有创建成功,就无法创建一个自己可登录的后台,然后利用后台上的功能进行反弹shell,这里断了(查看源码,F12看数据包,看该CMS的版本或者敏感信息)
目录扫描,还有上面的安装程序,wordpress都走不通了,我们只能去搜索一下Cuppa CMS/wordpresscms 是否存在过漏洞(接下来的思路,这是一套完整的内容管理系统,它本身是否存在过漏洞,利用searchsploit 命令搜索漏洞库)
Searchsploit cuppa cms
(因为不知道具体的版本号,就只能直接搜索cuppa 出现过的所有漏洞了,本来就是一个小cms,漏洞不多就可以一一筛选)
searchsploit cuppa -m 25971.txt
将利用文件下载下来
可以看出该漏洞是一个文件包含漏洞。文件包含漏洞,就可以试着包含etc/passwd
根据利用文档进行利用
多次尝试构造playload
192.168.254.141/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
192.168.254.141/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
有反应但并没有显示出passwd,没有报错,说明利用成功,存在漏洞,但是没有显示,说明哪里有点问题(在利用文档中有个base64,猜测是否需要对参数进行加密,因为cuppa是一套CMS,可以将网上的源码下载下来,做代码审计进行测试,利用文档中也有下载地址)
去找漏洞源码:
找到漏洞出现的点了,发现漏洞利用点,有点不一样是接收post传参了,但是也没有对参数做任何的过滤,漏洞还存在,所以我们可以利用post传参进行测试
此处用curl方法访问http://192.168.200.139/administrator/alerts/alertConfigField.php ,且参数为urlConfig=../../../../../../../../../etc/passwd 。请求时要对数据进行url编码,指令为:
curl --data-urlencode urlConfig=../../../../../../../../../etc/passwd http://192.168.200.139/administrator/alerts/alertConfigField.php
在现在linux系统中,passwd文件里面所有账户的密码都是用x代替的,真正的密码(hash加密后)放在/etc/shadow.h中,同样的curl方法,我们改一下参数,看看etc/shadow.h
成功找到了密码的hash结果,shadow文件中,有三个账号有密码,分别是root,www-data和w1r3s,把三条有密码的保存到有个.h hash文件中,使用john 进行破解
John shadow.h
将w1r3s和www-data用户密码破解后,密码分别是computer 和www-data
通常情况w1r3s的权限应该是高于www-data(功能用户)的,因此我们用w1r3s远程登录ssh的22端口,试试能不能用密码computer登录
6.22-远程登录-sudo -l提权:
登录成功,信息查看4部曲
ip a ip是多少
Whoami 当前用户是谁
Id 当前用户可以使用哪些命令
Uname -a 查看操作系统的情况
这个对象能使用sudo
Sudo -l 看看当前用户有哪些系统级权限,能否提权
当前用户有全部的权限,基本上等于root
因为有root权限就先运行sudo /bin/hash
启动有个新的hash绘画
root提权成功
进入root目录,发现flag
打靶完成:
另一思路:因为我们有管理员列表,我们可以构造字典,进行爆破(W1R3S是管理员用户里面的公司名)
W1R3S
Naomi.W
Hector.A
Joseph.G
Albert.O
Gina.L
Rico.D
打靶机不建议暴力破解
7.总结:
1.主机发现&端口扫描:主机发现目标主机ip:192.168.254.141,发现存活端口:21(tcp)22(ssh) ,80(http),3306(mysql)
2.端口利用,21ftp协议,但是貌似ftp协议都没有什么利用价值,是一个兔子洞,80http协议,nmap扫描出的wordpresscms,没有利用上,也可以去看看wordpresscms是否存在绕过登录的漏洞,我们目录扫描扫描出来了cuppacms,用kali中的searchsploit进行利用,发现文件包含漏洞,/etc/shadow暴露了登录密码。
3.使用join破解密码hash,得到登录账号w1r3s的密码为conputer,尝试对22端口进行ssh登录,成功登录,查看权限,发现已经是系统权限了。
4.提权,以系统权限运行bash,成功升级为root。