如何优雅的搭讪mysql然后推倒它

作者: 分类: Penetration 时间: 2016-02-24 浏览: 3057 评论: 1条评论

说好的exploit怎么能没有

0x00 背景

通过wooyun上的一个漏洞 加上apache解析漏洞getshell 就不赘述了
通过大马搜索“mysql_connect” 逆向追踪找到账号密码 root:空
常规无法连接 报错 /tmp/mysql.sock 不存在

正常连接.png

0x01 连接mysql

查看原因 ps -aux | grep mysqld

姿势1.png

修改了端口 和sock文件位置

首先要反弹一个shell 目标机器没有nc 直接bash反弹

反弹连接.png

姿势1 mysql -e

mysql -uroot  -e"show databases" --port 3301 --socket=/opt/mysql/mysql.sock

-e 后面是命令 socket指定文件位置

数据库截图1.png

姿势2 导入sql文件

数据库截图2.png

他喵的上面的都太麻烦了! 还有个原因 等下讲

姿势3 127.0.0.1:/path/sock

数据库截图3.png

细心的同学可能已经发现了 mysql –e 和mysql <1.sql 的结果是一样的
但是php执行结果不一样 然而我查了information_schema.schemata 里面仍然是这个结果 求大牛解释

至于为啥会发现… 因为我在mysql –e下找不到我要的数据 而它真实存在!
在php下也找不到另一个数据… 然后在mysql –e下找到了

继续 查表

0x02 超多表名 如何快速找到想要的

数据库截图4.png

姿势1 搜索information_schema.columns

select table_name,table_schema from information_schema.columns where column_name like '%pass%'

数据库5.png

类似关键词还有name pwd 之类的 自选

姿势2 根据经验 找敏感的表 然后desc table_name 验证

可能有同学说 丫的我一眼就看出在user_basic里 搞那么麻烦
然而用户名不在里面 管理员的信息也不在里面(管理资料只能在mysql –e中找到)
怎么找用户名? 请参考姿势1

数据库截图6.png

0x03 hash值怎么解

参考上面的生成了123456的值 4QrcOUm6Wau+VuBX8g+IPg==
用过php的同学喵一眼就知道 其实这是base64_encode(md5('123456',true))

姿势1 密码简单的话直接丢 http://www.pdtools.net/tools/md5.jsp

hash值.png

解不出来怎么办?

姿势2 还原成正常的md5

姿势3.png

e10adc3949ba59abbe56e057f20f883e
然后丟cmd5 (老司机说 我口算都知道是123456)

===================== 我是分割线 ======================

其实已经结束了后面的只是记录

0x04 关于提权

进mysql只是为了找管理的密码还有普通用户中与本机用户同名的密码(都没有成功)
内核版本无exp
计划任务无写入权限
请大牛指导其他提权姿势

0x05 内网探测

tunna,reduh 无法转发(秒断)
phproxy 传递错误
编译的linuxlcx 连接经常会断开
phpsocks 无法转发

最后在自己工具库的角落了找到了另一个reduh发现可以用 =.=

于是欢乐的开始撸 还用御剑扫... 最后网页变成了

转发.png

这难道是内网防火墙? 但是我用curl 和wget 显示的都还是之前的网页 转发出来就不行

以为是暂时的屏蔽 然而 过了2天还是不行

最后还是求一波姿势(我知道可以用file_get_contents 但是这样无法加载图片和css)

标签: none

订阅本站(RSS)

仅有 1 条评论

  1. 可以~

    时间: 2016-02-26 at 19:50 回复

添加新评论