靶机地址:https://www.vulnhub.com/entry/sickos-12,144/
靶机难度:中级(CTF)
靶机描述:这是SickOs的后续系列中的第二篇,并且与先前的发行版无关,挑战范围是在系统上获得最高特权。
目标:得到root权限&找到flag.txt
作者:嗯嗯呐
信息收集
nmap扫描确定靶机地址
nmap扫描端口
-sS 半端口扫描
-sV 扫描出对应程序的版本号
-A 扫描出全部信息
-p- 全端口
-T4 时间优化(0-5)(paranoid|sneaky|polite|normal|aggressive|insane)
扫描出
22 SSH
80 HTTP
访问80端口,没有获得有用的信息
dirb扫描,发现test目录
getshell
PHP一句话木马获得shell
这里是一个文件目录,可以下载查看文件,是不是支持上传呢,使用OPTIONS求情方法测试改网页支持什么方法
使用burpsuite测试一下
发现了可以使用put请求,使用put请求,上传一个php木马,在nikto扫描时,发现靶机使用的是php
上马
201指示作为HTTP POST请求的结果,已在服务器上成功创建了一个或多个新资源。
或者使用curl上传
获得shell
利用MSF获得shell
msfvenom生成一个反弹木马
使用curl将木马上传到靶机
打开msf,进入exploit/multi/handler模块,配置刚刚生成payload文件
handler(中文意思为"操作者")这个模块生成一个后门木马,如果目标打开后门,则会在后台运行,并可以用攻击机对其进行操控。
配置攻击者的IP和反弹回来的端口(这里配置的是443)
启动
Curl 访问木马文件,意思也是执行该文件
Getshell
提权
手工提权
通过内核提权,sduo提权等其他办法试了半天都是不行,通过参考前人经验,这里使用的是定时执行任务中的chkrootkit本地提权漏洞
查看chkrootkit版本
发现0.49版本存在一个本地提权漏洞
原理就是chkrootkit在靶机中是个定时任务,chkrootkit执行/tmp/update文件,我们利用这一点,可以在sudoers文件下文章,让普通用户执行sudo命令不需要密码
www-data ALL=(ALL : ALL) NOPASSWD:ALL
可以使用以下命令拼接
echo 'chmod +w /etc/sudoers && echo "www-data ALL=(ALL : ALL) NOPASSWD:ALL" >> /etc/sudoers' > /tmp/update
查看sudoers权限
给update文件赋执行权限
这次在看sudoers文件,增加了写权限
查看sudo权限
切换root用户
能读取shadow文件说明配置成功了,这里可以使用john破解一下root用户的密码,因为时间原因我这里就不截图了,但是不知道为什么su root老是参数报错,求各位大佬在看我这篇文章的时候,指点一下,谢谢。
MSF提权
接着刚才我们通过MSF获得了www-data用户的反弹shell
现在我们暂停一下
background
返回session为3
查询一下chkrootkit可以利用的exp
进入exp
配置
启动获得root权限
完成!!!
总结
靶机思路和1.1差不多,但是比1.1更加细致,收益良多,上面只是一种思路,仅供参考。本章渗透思路如下图: