利用 Navicat 自带的http隧道进行脱裤

前言:

不要为了读文章而读文章,一定要带着问题来读文章,勤思考。

基本环境说明:

目标边界机器lnmp01的域名及内网ip: www.rootkit.org 192.168.32.167
目标内网中数据库[暂以mysql为例]服务器[win7]的内网ip: 192.168.32.168
很明显,lnmp01和win7在目标内网是可以互通的

实际脱裤可能会面临的一些困境:

想脱数据,但目标数据库不允许root用户外连,可能的原因多种多样,一般只grant到指定的ip才能连
目标站库分离[再正常不过],数据库在内网的某台机器上
即使没分离,当前的数据库用户又不允许外联,另外,由于当前数据库用户权限不够,也没法自己开启外联
即使是root,不知道什么乱七八糟的原因,没法grant允许root外连...
边界防火墙阻断外部ip对内部数据库端口[假设为3306]的访问等等....
还在为脱裤烦恼吗,嘿嘿……navicat也许可以帮到你

我们最终要实现的效果:

通过lnmp01这台机器,脱取内网win7机器上的所有数据
0x04 大概思路,前提是你现在至少已经有了一个菜刀的webshell 可执行系统命令,且能正常上传文件的情况下:

在数据量非常少的情况下,可考虑直接用菜刀,大马或者针对各种数据库的脱裤脚本来脱,一两万还是勉强可行的

还有一种,就是你也可以通过拦截菜刀的发送的sql语句,借助py把里面的语句替换成你自己的,以此来实现导出数据,不过效率肯定不是太高....

如果数据量非常多的情况下,传统的方法,还可能会利用端口转发,把目标本地或内网指定机器的数据库端口转发到自己vps上,然后在vps本地再用navicat来脱,至于转发工具就非常多了,如,ew,socat之流....

还有一种,就是咱们今天要介绍到的,利用Navicat自身提供的http代理连接方式,说白点儿就是http隧道,其实也是个烂大街的招儿了,但相见恨晚,嘿嘿……

具体操作,如下:

首先,上传对应数据库的代理脚本[目前我们看到,暂只支持postgresql,sqlite以及mysql],这里暂以mysql为例,即上传Navicat安装目录下的ntunnel_mysql.php脚本到目标网站的任意目录中


然后,在浏览器中尝试访问该脚本,从界面乍一看,还以为是个脱裤脚本,其实,那只是个连接测试,它只是为了测试你的代理能否连接成功,做了下简单的连接验证而已

此时,在本地打开Navicat配置http连接,这里的通道地址就写你上面访问的那个url,说白点儿就是个代理端,记得勾上使用base64编码,防止waf从中作祟,然后主机名写localhost,账号密码写lnmp01本地数据库用户的账号即可,因为要连接lnmp01本地的mysql


再来尝试连接目标内网中win7机器上的mysql,此时主机名ip就要写目标内网那台机器的ip了,数据库账号密码也要写那台机器上的数据库账号密码

最后,实际的连接效果如下,此时即可尽情的脱裤了,navicat的速度和稳定性还是非常值得信赖的,唯一的缺陷就是速度可能会稍慢,不过这已经足以轻松秒杀市面上所有的脱裤脚本了

一点拓展:

从上面的选项卡中我们也可以清晰的看到,除了可使用http隧道,它还支持通过ssh隧道和ssl加密 的

方法来连接,不得不说,Navicat实在是写的太贴心了,原谅自己用了这么年,直到今天才领悟到它的精髓,哈哈……实在是尴尬

转载来自:

https://klionsec.github.io/2017/08/02/navicat-dump/
-------------本文结束❤感谢阅读-------------

本文标题:利用 Navicat 自带的http隧道进行脱裤

文章作者:MaiKeFee

发布时间:2019年09月14日

最后更新:2019年09月14日

原始链接:http://MaiKeFee.com/archives/164b01be.html