前言前段时间笔者发布了MDUT-Extend的第一个版本,在发布之后得到了许多师傅的支持和打赏。并提出了许多改进的建议,笔者对师傅们提的建议进行了汇总。着重实现了几个提到相对较多的问题,本来打算在原帖下进行回复的,考虑到此版本可能存在一些需要注意的点,所以就重新开了一篇。
同时此版本也是快速更新的最后一版,以后可能就要随缘更新了。师傅们可以随时提交issue后等累积更新版本。
更新内容Socks5代理功能支持注意: 启动时需添加 -Doracle.jdbc.javaNetNio=false JVM选项
首先就是许多师傅一致要求添加的socks代理功能,此次更新添加了对socks5和socks4a代理的支持(其实都是一样的,只是在界面上做了区分)
师傅们可在文件菜单进行设置
代理实现方式使用了两种不同方式实现
其中在实现redis代理时,笔者发现原本的jedis驱动包并不支持直接使用代理。
所以笔者使用了自编译的一个基于3.0版本魔改的jedis驱动包
首先通过getClient获取一个client对象
随后直接将client传入setproxy中设置代理
其中clien ...
Sectool
未读前言MDUT-相信很多红队的师傅对此工具已经很了解了,笔者在日常的攻防中也经常使用此工具.
但使用时笔者发现此工具在对数据库进行利用时存在诸多问题,以至于不得不手动的去连接数据库进行测试.
对此笔者对原版的MDUT进行了一系列功能上的增强和优化,经过一周的缝缝补补大概修复了近10几处的问题。
现在用起来顺手了不少,为此笔者编译了一版修改后的版本供师傅们使用,希望帮助师傅们在日后的攻防中更加的得心应手.
同时也感谢原工具作者的开源精神
扩展内容注意: 此扩展版本只对常规连接模式进行了优化和修复,http隧道模式暂未进行更改.
修复
修复mysql5.0版本UDF报错问题
原版在对mysql5.1以下进行udf提权时,由于版本差异会出现提权失败问题
扩展版中对5.1以下进行了额外的处理,使其能够正确写入UDF
修复linux下redis执行ping命令卡死问题
原版中linux下redis如果执行ping命令没有添加c参数,会导致redis进行卡死无法连接
扩展版中执行ping命令时需强制指定c参数,防止redis进程卡死
修复mssql的CLR激活失败问题
原版中在对mssql ...
序相信很多使用nim做过开发或者免杀的师傅都遇到过这种情况,使用nim编译的dll会默认导出一个NimMain函数,即使你没有定义该函数
对于正常开发来说,这也无可厚非。但对于使用nim来做免杀或者其他红队相关的工作,要尽可能的减少文件的特征。
注: 此工具并非新技术,仅仅是笔者对原始文章的重构与扩展
编译过程首先nim编译器在编译时会对所有参与编译的nim源文件生成对应的c语言中间文件(取决你使用的编译标志),默认情况下如果没有使用--nimcache编译标志指定中间文件生成位置,那么编译器会默认在%USERPROFILE%\\nimcache\\project生成对应缓存文件,linux默认会在$HOME/.cache/nim/project其中project会根据编译标志-d参数的不同有所变化,如指定-d:debug则会生成project_d, -d:release则会是project_r
其中<project>会根据编译标志-d参数的不同有所变化,如指定-d:debug则会生成<project>_d, -d:release则会是<project&g ...
序最近笔者因为项目原因需要使用sRDI反射dll注入技术,互联网上搜索了一下发现只有c和golang的相关实现。由于笔者项目使用的nim开发,并不适配我的项目,所以笔者花了点时间将sRDI用nim语言重新实现了一下.
sRDIsRDI是一个(Shellcode Reflective DLL Injection),它可以将DLL文件转换为位置无关的shellcode。它具有完整的PE加载器功能,支持正确的节权限、TLS回调和健全性检查。可以将其视为一个绑定了打包的DLL的Shellcode PE加载器.
关于sRDI shellcode执行流程大致如下
更多信息请参考sRDI — Shellcode反射式DLL注入技术
nim实现笔者共实现了两个功能,一是将dll转换为sRDI-shellcode的转换工具,二是一个shellcode的加载器
效果如下
首先需要使用sRDI将dll转换为shellcode bin文件
随后使用loader加载输出的bin文件即可
项目代码已上传到Github
本项目只供研究,学习,交流使用,请勿用于非法用途.
文章首发于土司论坛
序前段时间看到互联网上公开了一个瑞友天翼虚拟化系统的sql注入,恰巧笔者在去年也审计过这套系统。本文主要是分享一下在审计过程中顺带发现的一些实用的后渗透小姿势,其中文中分享的姿势也是帮助笔者在好几次多人运动中取得了不错的战果,希望分享出来能够对师傅们有所帮助。
数据库文件解密该系统默认数据库配置文件位于安装目录下Data/config/CasDbCnn.dat
默认使用mysql,监听端口为5873,其中对连接数据库的用户名和密码进行了简单的编码
关于解码的代码可以在ConDB.XGI中找到
解码很简单,将#替换为=后进行base64解码
NT凭证的获取之前在肝这套系统时,发现在创建web用户时会默认给该账户分配一个具有管理员权限的系统账户
其中添加的系统账户名为GWT+我们添加的web账户名,密码生成策略为GWT_+随机16位字符串。并将账户密码信息通过Crypt3加密并base64,最后通过AddNtUserToAllServer将要添加的系统账户同步给集群中的主机进行添加账户操作
添加完成后会将账户信息保存到CASSystemDS库中的cuser ...
Deserialization
未读序经过一个多月的忙碌,终于是有时间来更一下此系列的文章了,本文中会涉及到java反射和动态代理,如果你对相关不了解,建议先去学习下相关知识
CommonsCollectionsCommons Collections包为Java标准的Collections API提供了相当好的补充。在此基础上对其常用的数据结构操作进行了很好的封装、抽象和补充。
TransformerTransformer是一个接口,提供一个transform方法由实现类决定具体的转换逻辑
在Transformer实现类中,我们主要来看一下InvokeTransformer和ChainedTransformer
InvokeTransformer首先来看一下构造函数,Invoketransformer共有两个构造函数
其中第一个只需要传入一个String类型的methodName,另一个除需传入methodName外,还需要指定方法的参数类型以及具体的参数值
接下来看一下实现类的transform具体实现
在transform中在拿到传入的object后,利用反射调用自身实例化时传入的方法,并将结果返回
到这里In ...