靶机来源—vulnhub
内容:
CMS已知漏洞利用
LotusCMS配置文件信息搜集
mysql数据库信息搜集
john暴力破解
内核提权
ht修改sudoers文件提权
nmap扫描
sudo nmap -sn 10.10.10.0/24 -oN nmap/host //只进行主机发现
10.10.10.114是新增主机

sudo nmap -p- –min-rate 10000 -oN nmap/port 10.10.10.114 //nmap端口扫描
开放22,80端口

sudo nmap -p22,80 -sT -sV -O -sC -oN nmap/TCP 10.10.10.114 //nmap用tcp扫描服务版本探测,常用脚本扫描
服务探测SSH为OpenSSH 4.7p1 Debian 8ubuntu1.2版本,80端口的web容器是Apache 2.2.8 php服务系统识别为ubuntu,OS识别内核可能是2.6.x或者其他系统内核

sudo nmap -sU -p- –min-rate -oN nmap/UDP 10.10.10.114 //nmap用udp扫描端口
sudo nmap –script=vuln -oN nmap/vuln 10.10.10.114 //nmap用vuln脚本扫描
vuln脚本扫描出:
1.dos攻击漏洞(渗透测试中不太能用到)
2.可能存在sql注入(重点关注点)
3.CSRF(利用条件较为苛刻)
4.还爆破出一些目录


web渗透
访问web页面看着想个CMS

可以通过whatweb识别下
识别结果显示:
1.可能是LotusCMS
2.这里还显示出了web容器信息,和操作系统版本信息,可以与之前nmap扫描结果做交叉验证

浏览下其他网页或者源码再次确认CMS文件系统是LotusCMS
在login页面下确认CMS是LotusCMS
(这里login页面进入较慢不知道是什么原因)

searchsploit LotusCMS //搜索该CMS是否存在已知漏洞
发现有已知漏洞利用点,存在一个远程代码执行,还有一个记录了多种漏洞

浏览了下16982.txt发现里面记录了一些CSRF和XSS都是利用条件较为苛刻的点所以用MSF直接利用18565.rb
下面这里用MSF漏洞利用失败了,不过展示了MSF利用的过程
msfconsole //进入MSF控制台
search LotusCMS //搜索EXP
use 0 //使用该EXP(0是上述搜索结果中EXP的索引)
我的这里显示没有默认payload,要换个别的payload,如果没显示直接配置options就行

设置options右边yes的是必填的

run //执行攻击脚本
不过运行完成没有session返回,试了好几个payload换了端口执行也是一样

MSF运用失败了,网上搜索该CMS已知漏洞利用的exp
这里在GitHub上找到了四个可以利用的EXP
这里用的是这个https://github.com/nguyen-ngo/LotusCMS-3.0-RCE-exploit.git
git colone https://github.com/nguyen-ngo/LotusCMS-3.0-RCE-exploit.git //git克隆到本地

成功拿到shell
提权
思路一:uname -a查看到内核版本较低,直接内核漏洞提权

searchsploit linux kernel 2.6.2 |grep “Privilege Escalation”
具体解析如下:
searchsploit linux kernel 2.6.2
: 这部分命令使用searchsploit
工具来搜索与Linux内核版本2.6.2相关的漏洞利用信息。searchsploit
是一个用于搜索Exploit数据库的工具,它会在本地的Exploit数据库中查找与指定关键词相关的漏洞利用信息。|
: 这个符号是管道符号,用于将前面命令的输出结果传递给后面的命令。grep "Privilege Escalation"
: 这部分命令使用grep
工具来过滤出包含”Privilege Escalation”关键词的结果。grep
是一个用于在文本中搜索指定模式的工具,这里指定了关键词”Privilege Escalation”,它会在前一个命令的输出结果中查找包含该关键词的行,并将其输出。

这里利用的是40839
这里用40839的原因是根据经验脏牛漏洞覆盖版本范围较广而且成功了较高,不过可以试下其他内核提权漏洞EXP,只要范围匹配都可以尝试
cat 查看EXP使用

按照上述方法编译运行就可以了

查看/etc/passwd确实创建了新root用户

直接切换到该用户即可
su firefart //在输入刚才填的密码
id //可以看到firefart创建在root组下

获得flag

思路二:
这里查看到该CMS的配置文件可以连接到数据库

这里查看到了数据库用户密码
既然用了root用户数据库密码也可能是ssh密码
不过ssh登录失败

连接数据库
在之前发现的phpadmin下登录数据库,也可以直接在靶机中登录

这里有两个可以查看的敏感表,一个是gallarific_galleries(开发者),一个是gallarific_users(用户)

这里复制出来用john破解得到了开发账号密码

尝试登录后两个账号都能登录

这里再loneferret用户家目录下发现个readme文件,查看后提示该用户有sudo使用ht的权限

sudo -l //查看用户可以用sudo进行哪些操作
这也交叉验证了可以执行sudo ht

ht修改/etc/sudoers文件实现提权
执行后F3按打开/etc/sudoers文件
打开/etc/sudoers文件后添加当前用户可以免密码以root用户身份打开bash
之后F2保存,F10退出

退出后执行bash即可获得root权限
