Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
hfs2 — CVE-2024-23692 | HFS 2.3m/2.4-RC07 Correção de vulnerabilidade RCE | Kitploit
Ferramentas/GitHubGitHub/wgetnz/hfs2
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoFerramenta de Acesso Remoto
GitHubwgetnz/hfs2

hfs2

CVE-2024-23692 | HFS 2.3m/2.4-RC07 Correção de vulnerabilidade RCE

Ver Repositório
3há 6 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Introdução

Você pode usar o HFS (HTTP File Server) para enviar e receber arquivos. É diferente do compartilhamento de arquivos clássico porque usa tecnologia web. Também difere dos servidores web clássicos porque é muito fácil de usar e funciona "pronto para uso".

O sistema de arquivos virtual permitirá que você compartilhe facilmente até mesmo um único arquivo.


Segurança — CVE-2024-23692

Resumo da Vulnerabilidade

Baixar ferramenta
ItemConteúdo
Número CVECVE-2024-23692
Versões AfetadasHFS 2.3m, HFS 2.4.0 RC07 e inferiores
Tipo de VulnerabilidadeExecução Remota de Código Não Autenticada (Unauthenticated RCE)
Pontuação CVSS9.8 Critical
Vetor de AtaqueAcessível pela rede, sem autenticação, sem interação do usuário

Princípio da Vulnerabilidade

Ao processar a macro {.?search.} (que lê parâmetros de consulta da URL), o mecanismo de templates do HFS chama recursivamente applyMacrosAndSymbols2() no valor retornado, causando que strings controladas pelo usuário sejam executadas como código de template.

A cadeia de ataque consiste em quatro etapas:

root@kitploit:~
1. Construir um parâmetro search contendo %url%
         ↓
2. %url% se expande para macroQuote(URL completa) = {:url_including_payload:}
         ↓
3. %password% se expande para string vazia, causando o fechamento prematuro do bloco de referência {:...:}
         ↓
4. {.exec|cmd.} fora do bloco de referência é executado pelo motor de macros → RCE

Exemplo de POC (apenas para pesquisa de segurança):

root@kitploit:~
GET /?n=%0A&cmd=whoami&search=%25xxx%25url%25:%password%}{.exec|{.?cmd.}|timeout=15|out=abc.}{.?n.}{.?n.}RESULT:{.?n.}{.^abc.}===={.?n.} HTTP/1.1

Solução de Correção

Arquivo corrigido: scriptLib.pas

Função principal: noMacrosAllowed() (linhas 109–123)

root@kitploit:~
function noMacrosAllowed(s:string):string;
// prevent hack attempts
begin
  // 步骤 1:将所有宏标记的首字符替换为 HTML 实体
  //   {.  →  {.       .}  →  .}
  //   {:  →  {:       :}  →  :}
  //   |   →  |
  repeat
    i := findMacroMarker(s, i);
    if i = 0 then break;
    replace(s, '&#' + intToStr(charToUnicode(s[i])) + ';', i, i);
  until false;

  // 步骤 2:将 %symbol% 形式的符号引用替换为 HTML 实体
  //   %url%       →  %url%
  //   %password%  →  %password%
  s := reReplace(s, '%([-a-z0-9]+)%', '%$1%', 'mi');
  result := s;
end;

Locais de chamada: Todas as entradas controláveis pelo usuário são processadas por esta função antes de serem retornadas ao motor de template:

Local de ChamadaEscopo de Proteção
urlVar() linha 548Todos os parâmetros de consulta de URL {.?name.}
Linha 698Leitura de variável de template
Linha 1549Valores de Cookie
Linha 2089Valores decodificados de URL
Linha 2165Cabeçalhos de requisição HTTP
Linha 2173Parâmetros de formulário POST

Efeito da correção: Após o processamento, o parâmetro search da POC tem todas as marcas de macro e referências de símbolos convertidas em entidades HTML, impedindo que o motor de macros seja acionado.


Notas de Desenvolvimento

Desenvolvido inicialmente em 2002 com Delphi 6, agora com Delphi 10.3.3 (Community Edition). Os ícones são gerados em http://fontello.com/. Use fontello.json para modificações adicionais.

Para o template padrão, estamos visando compatibilidade com Chrome 49, pois é a versão mais recente que funciona no Windows XP.

Bibliotecas Utilizadas

  • ICS v8.64 by François PIETTE
  • TRegExpr v0.952b by Andrey V. Sorokin
  • JEDI Code Library v2.7
  • Kryvich's Delphi Localizer v4.1