Latinoware 2014 – Eu vou!

Em outubro, Foz do Iguaçu será, mais uma vez, a sede da Conferência Latino-Americana de Software Livre – Latinoware 2014. Cerca de 4.000 pessoas, entre estudantes, profissionais e especialistas da áreas, são esperadas para a décima primeira edição do evento, que será realizada entre os dias 15 e 17 de outubro, no Parque Tecnológico Itaipu (PTI), localizado na Usina Hidrelétrica de Itaipu.

Promovida pela Itaipu Binacional, Fundação Parque Tecnológico Itaipu – Brasil, Companhia de Informática do Paraná (Celepar) e Serviço Federal de Processamento de Dados (Serpro), a Latinoware é um evento que abre espaço para discussões e reflexões

Know Xplico: An Opensource Network Forensics Framework

In this article we will explore Xplico, an OpenSource Framework extremely powerful for network forensics analysis. We will learn its main features, and how this tool can improve any network incident response, also turn the data analysis much easier.
http://eforensicsmag.com/network-toolbox/

Treinamentos em Segurança da Informação

Olá pessoal tudo bem?

Sei que treinamentos de segurança em um formato diferenciado e que realmente tragam conteúdo de alto nível tanto para iniciantes quanto profissionais da área são algo difícil de encontrar.

Pensando nisto estou com planos para um projeto em 2014 voltado exclusivamente para treinamentos técnicos de alto nível que possam abranger tanto os que pretendem ingressar na área de segurança quanto profissionais de nível Sênior que desejam consolidar seus conhecimentos em áreas que talvez não sejam sua principal.

Disto isto gostaria de ouvir a opinião dos senhores, irei iniciar as rodadas de cursos com 3 principais categorias e que gostaria de saber entre estas quais vocês gostariam de participar caso houvesse esta turma:

– Malware Analysis: Analisando a fundo funcionalidades de malwares

– Penetration Testing:  Curso voltando a demonstrar técnicas e conceitos envolvidos em testes de penetração em ambientes corporativos tendo cenários realísticos e utilizando ferramental que irá ajudar você a criar seu próprio framework de trabalho.

– Web Application Hacking: Curso voltado a mostrar as principais falhas de segurança existentes em aplicações web, como por exemplo SQL Injection, XSS, entre outros. Curso totalmente hands-on onde o aluno irá aprender como funcionam as vulnerabilidades explorando-as e entendendo como auditar e corrigir.

Caso tenham alguma outra ideia de curso, também gostaria de saber. Enviem uma mensagem para  y2h4ck[at] gmail [dot] com com o subject [CURSO] e diga oque acha interessante.  Sua colaboração será muito bem vinda e será recompensada :D

Grande abraço! Enviem sua mensagem!

 

XSS-ME : Addon para Firefox de Análise de XSS

O XSS-me é um dos módulos de análise da suíte EXPLOIT-ME. Ela foi concebida pela empresa SECCOM Labs com o intuito de facilitar testes de segurança em aplicações web, fazendo com que a varredura de vulnerabilidades conhecidas como as TOP 10, ou seja, as que estão mais presentes, sejam detectadas em Forms e Inputs dentro de páginas web.

Basicamente o XSS-Me foi criado para testes utilizando vulnerabilidades de Reflected Cross-Site Scripting, e não Stored XSS.

A ferramenta trabalha enviando seu HTML forms e substituindo o valor do Form com strings que seriam utilizadas para explorar falhas de XSS attacks.

Se o resultado do HTML contiver um valor específico de JavaScript (document.vulnerable=true) significa que a página está vulnerável para aquela determinada string de XSS.

Um ponto importante que deve ser citado é que a ferramenta não  faz nenhuma tentativa de comprometer a segurança do sistema alvo. Ela procura por possíveis pontos de vulnerabilidade contra o sistema.  Desta forma não é efetuado nenhum tipo de port scanning, packet sniffing, password cracking ou firewall attacks a partir da ferramenta.

A ferramenta simplesmente automatiza o que um QA tester faria no site manualmente, injetando ele mesmo diretamente no browser as strings diretamente nos form fields.

xss-me01

A imagem acima mostra a SideBar do XSS-Me me mostrando as opções disponíveis quando eu abro o site do Google.  Automaticamente ela identifica as URLs que estão como links no Form e você pode testar o Form ou os Links que estão disponíveis nele.

Quando se escolhe o Form podemos escolher Strings específicas, rodar todos os Testes, ou optar por executar o Top 9 Tests, que irá varrer procurando pelas strings mais conhecidas.

O Xss-ME detecta todos os tipos de Cross-site Scriping ?

A resposta é óbvia: Não. O Xss-Me detecta muitos tipos de Reflected Cross-Site Scripting nos campos dos forms. Infelizmente ele não tem métodos para realmente efetuar o ataque de XSS (exemplo, um stored cross-site scripting precisa de dados fornecidos pelo usuário, ou então utilizar outras fontes como Cookies, links, ou Headers HTTP).   Porém novos vetores de XSS estão sendo descobertos o tempo todo e um dos pontos fortes do XSS-Me é que permite que você adicione novas strings de acordo com sua necessidade específica.

Para adicionar novas Assinaturas,  use o XSS-Strings Options , no menu Tools -> Xss-Me -> Options. Adicione o ataque em “Attack String”. Lembre-se que o ataque deve conter a string “document.vulnerable=true” no resultado do JavaScript para que a ferramenta possa interpretar o resultado corretamente. Por exemplo:

<script>document.vulnerable=true</script>

Resultados

Xss-Me tem 3 tipos de resultados:

Failures:  O número de testes que certamente resultaram na detecção de Reflected XSS.

Warnings: O número de testes que podem possivelmente resultar na detecção de um cross-site scripting, porém não pode validar com certeza porque o plugin não modifica o DOM Object no Firefox como é especificado no JavaScript, mas ele pode resultar em um ataque com sucesso em um browser diferente.

Pass: O número de testes que não resultaram em  detecção de reflected XSS

No próximo artigo iremos ver a outra ferramenta da Suite chamada  SQL-Me que atua da mesma forma porém utilizando testes de SQL-Injection.

Fontes:

http://labs.securitycompass.com/index.php/exploit-me/xss-me

ZAP – Zed Attack Proxy

ZAP é um projeto da OWASP (Open Web Application Security Project). Ele é uma plataforma criada para que diversos testes de segurança em aplicações web possam ser feitos de forma dinâmica e automatizada.

É notável que não é possível construir aplicações web seguras se não tem meios de poder testar seu código a procura de brechas de segurança; para a grande parte dos programadores, testes de segurança ainda são coisas muito obscuras.

Utilizando o ZAP, desenvolvedores e especialistas em segurança podem validar diversos aspectos de uma aplicação web e varrer a infraestrutura do site a procura de falhas comuns, principalmente as relacionadas ao OWASP Top 10. ZAP  trabalha dinamicamente, aplicando diversas políticas customizadas de varredura, atuando  como proxy, interceptando as requisições enviadas pelo browser para a aplicação, analisando assim todo o conteúdo acessado, permitindo aplicação de filtros a procura de scripts mal formados e outras anomalias na aplicação que podem ocasionar diversas falhas de segurança.

Vamos verificar algumas das principais features disponíveis nesta poderosa ferramenta.

Uma vez que o ZAP funciona como um proxy, assim como outras ferramentas como WebScarab, ParosProxy e etc, você deve configurar seu browser para iniciar a navegação através do endereço de Proxy Local que está configurado em seu ZAP,  por padrão o valor é  127.0.0.1:8080.

Desta forma toda solicitação de navegação para um website, será interceptada pelo ZAP e ele irá gerar também um histórico de tudo que foi acessado no browser.

zap01

1.0   – Visão Geral das abas da ferramenta e suas funcionalidades.

Ele concentra diversas funcionalidades importantes que são grandes aliadas no momento de avaliar aspectos de segurança em aplicações. Vejamos abaixo algumas destas funcionalidades.

Spider Crawling

Esta funcionalidade consiste em executar uma copia de todos  os arquivos que são visualizáveis no index do servidor web. Quando você inicia o Spider, o ZAP irá fazer uma varredura em todas as pastas visíveis e que são de alguma forma relacionadas através do código da aplicação.

Muitas vezes efetuando um Spider Crawling no site da aplicação é possível baixar arquivos como:

– arquivos de base de dados .mdb;

– arquivos de backup que foram deixados para trás (.bak);

– arquivos de configuração que foram deixados com permissões erradas, muitas vezes arquivos que contém credenciais de acesso a bancos de dados e etc;

– toda uma infinidade de possibilidades que podem ter sido por ventura esquecidas no servidor web durante alguma fase de deploy da aplicação.

zap02

Varredura do Site

Utilizando a opção de varredura ativa do site, o ZAP irá lhe ajudar a procurar por strings vulneráveis a ataques de Cross-Site Scripting, SQL Injection, e etc.

A política de varredura pode ser customizada manualmente, de acordo com a vontade do usuário.  Devo alertar que o uso da Varredura dinâmica, efetua diversos ataques à aplicação, sendo assim nunca utilize isto em sites que você não possui permissão para efetuar a análise.

Outra varredura disponível na estrutura do ZAP é a varredura de portas, onde você pode efetuar um Scan de serviços TCP disponíveis na máquina. Isto pode ajudar a descobrir outros serviços que podem se tornar vetores de ataques mais estruturados, por exemplo FTP, e etc.

zap03

Alertas

Na aba de alertas o ZAP, irá exibir vulnerabilidades encontradas de forma passiva, enquanto você navega. Todas as falhas encontradas serão exibidas, e catalogadas de acordo com o nível de criticidade, e todos os forms onde a falha for encontrada, poderão ser visualizados de forma completa.

Geralmente as falhas mais mostradas são, falhas no gerenciamento de cookies de sessão, falha de criptografia em sessão padrão ativa, por exemplo aplicações que usam tokens de autenticação SESSIONID padrão e que podem ser facilmente quebrados e muitos outros. Os forms identificados com as vulnerabilidades aparecem com uma bandeirinha ao lado na barra lateral:

zap04

Sem dúvida o ZAP é uma aplicação que deve fazer parte do kit de desenvolvedores e especialistas em segurança que gostariam de automatizar algumas varreduras em aplicações.

Como ele é um proxy, você pode utiliza-lo concatenado com alguns outros como por exemplo, WebScarab ou o próprio ParosProxy que já faz parte da API do ZAP.

Vulnerable Web Applications – Simuladores para Estudo

Hoje não há o que discutir quando o assunto é a segurança das aplicações desenvolvidos para a web em sua corporação, ou então as que são disponibilizadas para usuários. Apesar do grande número de técnicas e estratégias para aumentar a segurança existentes, a última grande camada, que irá de fato aumentar a segurança da aplicação é sem dúvida, o próprio desenvolvedor.

Ainda hoje, apesar de segurança ter se tornado uma matéria interdisciplinar e estar presente em todos os âmbitos onde hajam profissionais de tecnologia, existe uma lacuna gigantesca entre o que é preciso fazer para de fato aumentar a segurança e o que é possível fazer levando em conta o cronograma onde os projetos são desenvolvidos, e onde muitas vezes por falta de planejamento estratégico adequado do Core Team, a segurança é relegada a pequenos aspectos, que muitas vezes são apenas o inicio do todo trabalho.

Muitas vezes, durante os estudos fica difícil para iniciantes conseguir aplicar e visualizar alguns conceitos de vulnerabilidades e ataques em aplicações web, e isso acaba tornando a experiência algo difícil de ser absorvido. Pensando nisto, resolvi publicar um artigo voltado a alguns frameworks para estudo e simulação de explorações de vulnerabilidades em aplicações web.

Com estes frameworks você poderá ver na prática o efeito das principais vulnerabilidades, suas contra-medidas, assim como abrir a mente no que diz respeito a possíveis formas de mitigação destes tipos de ataque.  Utilizando uma plataforma das 3 que irei falar abaixo, certamente você verá que o entendimento destes tópicos se tornará muito mais interessante (e divertido).

dvwa

DVWA (Damn Vulnerable Web Application) – Este framework consiste basicamente de uma aplicação vulnerável em PHP/MySQL onde você pode testar suas habilidades em SQL Injection, XSS, Blind SQL Injection, etc.  O DVWA é desenvolvido por Ryan Dwhurst e faz parte de um projeto OpenSource da RandomStorm

http://www.dvwa.co.uk

hackxor11_7

Hackxor – É um web application hacking game. Neste game o jogador precisa localizer e explorer vulnerabilidades para progredir através da história do jogo, como se fosse um hacker contratado para rastrear outro hacker, usando todos os meios necessários. Ele contem scripts vulneraveis a Cross Site Scripting (XSS), Cros Site Request Forgery (CSRF), Structured Query Language Injection (SQLi), Remote Command Injection (RCE) e muitos outros.

http://sourceforge.net/projects/hackxor

WebGoat_Welcome_Page

WebGoat – É um projeto da OWASP (Open Web Application Security Project) onde você possuirá uma interface deliberadamente insegura disponibilizada em J2EE, onde você encontrará diversas lições e exercícios, onde poderá aprender de forma bem didática, com exemplos e exercícios de diversos níveis de dificuldade. O mais legal dessa web application e que permite ao usuário demonstrar seu entendimento de uma determinada falha de segurança explorando uma vulnerabilidade real em cada lição.

http://code.google.com/p/webgoat

Todas são geralmente muito simples de utilizar e começar a brincar. Acredito que é sempre bom deixar bem claro aqui que, obviamente a segurança dessas aplicações é algo praticamente inexistente, sendo assim, não hospedem estes recursos em servidores de produção (nunca é demais lembrar eheh), pois fatidicamente vocês serão hackeados, e não será apenas de brincadeira. :)

Auditando Aplicações: Análise Estática de Códigos

Cada vez mais serviços estão sendo direcionados para plataforma web, sendo assim acabamos ficando dependentes ainda mais destas aplicações. Estes sistemas tem que ser cada vez mais onipresentes (quero acessá-los de qualquer lugar – cloud) confiáveis (quero que ele faça o que ele precisa fazer) e ágeis (quero que façam isso rápido!).

Qual a consequência disto? A consequência imediata é: sistemas cada vez mais complexos. Quando digo complexo não me refiro tão somente a complexidade do código fonte ou o seu desenvolvimento, mas também a complexidade inerente ao serviço em si. Cada vez mais APIs, cada vez mais plugins, cada vez mais sistemas interconectados e interdependentes.

Uma vez que a complexidade entrou na equação ela traz o seu efeito colateral: situações inesperadas.  Quando temos um ciclo de vida em nossa aplicação que não contempla o devido cuidado com segurança, temos implicações de diversos níveis. A maior delas é que em geral problemas que a primeira vista são simples e pequenos, acabam se tornando  verdadeiros pesadelos.

Análise Estática do Código consiste basicamente em antever problemas de segurança efetuando uma auditoria no código, sem executá-lo. Isso pode se tornar uma tarefa muito trabalhosa, especialmente quando o desenvolvedor não tem experiência com segurança e se não existe um framework de desenvolvimento seguro em uso no projeto.

As aplicações web são alvos constantes de ataques, quase que 24 horas por dia. Temos estatiscas de que muitas vezes, 60% do tráfego diário que chega a um website é gerado por bots que em sua grande maioria estão procurando por scripts vulneráveis para efetuar ataques, comprometer o servidor e a aplicação e fazê-la parte de sua rede de zumbis. Não seria nada legal ter seu e-Commerce em uma lista de hosts que estão disseminando Malwares para os usuários. Isto pode comprometer gravemente seus negócios.

Para auxiliar desenvolvedores neste árduo processo de análise estática, temos algumas aplicações muito interessantes e que podem realmente trazer a tona, muitas vezes problemas de segurança que não eram imaginados durante o desenvolvimento. Talvez aquele “warning” que seu compilador cuspiu na tela e você pensou “ah mas é apenas um warning, não tem nada de grave ai..” esconda muito mais do que imagina J

RIPS – Analisador Estático de vulnerabilidades em código fonte de Scripts PHP

RIPS é uma ferramenta escrita em PHP para encontrar vulnerabilidades em aplicações PHP utilizando o conceito de análise estática do código. Utilizando tokenização e parseando todos os arquivos de código PHP, ele consegue transformar seu código fonte PHP em program model e detectar sinks sensíveis (pontecialmente funções vulneráveis) que poderiam ser manipuladas por um userinput (influenciada por um usuário malicioso) durante o fluxo do programa. Além disto, baseado  na estrutura de output de uma vulnerabilidade encontrada, RIPS também oferece um framework integrado de code audit  para que você possa fazer uma análise manual.

Entre algumas das features apresentas pelo RIPS temos:

RIPS consegue identificar por padrão diversas vulnerabilidades em sua aplicação, em sua grande maioria as listadas no OWASP Top 10 são identificadas. Segue abaixo uma pequena lista das principais vulnerabilidades identificadas pela aplicação:

  • Code Execution
  • Command Execution
  • Cross-Site Scripting
  • Header Injection
  • File Disclosure
  • File Inclusion
  • File Manipulation
  • LDAP Injection
  • SQL Injection
  • XPath Injection

A interface de auditoria de código do RIPS consiste de algumas funcionalidades muito interessantes, entre elas podemos citar:

  • Estatísticas referentes ao Scans e as vulnerabilidades da aplicação
  • Linhas de código vulneraveis são agrupadas
  • Descrição das Vulnerabilidades com exemplo de código, PoC e patch
  • Engine que permite a criação do Exploit para explorer a vulnerabilidade encontrada
  • Exibição gráfica de arquivos (conectada pelos includes)
  • Exibição gráfica de funções (conectadas pelas calls)
  • userinput list (parámetros da aplicação)
  • visualização do código fonte com destaque em funções e parametros

Entre muitas outras que permitem que você faça o debug da aplicação utilizando inclusive expressões regulares. Efetuando a análise estática do código com RIPs, você consegue rapidez ao executar a análise (executar uma análise estática manualmente pode ser dolorosamente demorado).  Você consegue identificar blind/non-blind SQL exploitation, detectar backdoors em seu código entre outras vantagens.

Aplicação sendo analisada – Temos os resultados Preliminares com o número de funções vulneráveis.

Visualização gráfica dos Arquivos  – Interligação ocorre através dos Includes.

Engine permite criar Exploits para gerar PoC da vulnerabilidade.

Download + Instalação

O Download pode ser feito a partir do site http://rips-scanner.sourceforge.net

Para utilizar o RIPs você precisa primeiramente de um webserver local com suporte a PHP (tendo em vista que você é um desenvolvedor PHP, você já deve ter um J ).

Feito isto basta baixar a ultima versão estável , extrair os arquivos em seu Document Root do servidor web e acessar a interface, disponível em: <http://ip_servidor/rips>, e iniciar as análises.

Análise de Malware: Win32 ProxyChanger

Este malware foi obtido em um ataque de Phishing Scam. O atacante encaminhou um link contendo um executável se passando por um arquivo compactado que faz referência a um boleto de cobrança vencido em nome da vítima. Ataques de engenharia social deste tipo visam fazer com que o usuário sinta-se atraido por visualizar seu conteúdo, sendo assim,  boletos de cobrança, faturas e chamarizes que façam alusão a dados pessoais sempre acabam sendo empregados.

Segue abaixo o e-mail recebido na íntegra:

phishing01

É possível visualizar na imagem acima que o campo de destinatário consta o valor “Recipientes”. Isso nos diz duas coisas:

1 Este ataque não foi o que chamamos de Spear Phishing Attack, ou seja, não foi uma mensagem criada especificamente para um ataque direcionado e sim um Phishing em massa.

2 A mensagem não tem nenhum resquicio de técnica avançada para disparo da mensagem. Foi utilizado apenas um e-mail em HTML com um Hyperlink no corpo da mensagem, nenhum tipo de payload malicioso (ex. Drive-by Exploit).

O host responsável pelo disparo da campanha de Phishing pertence a empresa Dytech.

É muito comum que criminosos que utilizam este tipo de abordagem procurem por contas de e-mail hospedadas em domínios .COM.BR.  Isto faz com que diversos filtros de conteúdo de e-mail, reputação e antispam sejam contornados. Geralmente domínios corporativos por padrão tem reputação elevada nos Scores de análise.

Abaixo o whois do domínio utilizado como difusor da Campanha:

whois01

Efetuando uma rápida checagem através do site http://mxtoolbox.com  é possível identificar falhas na configuração que permitiriam utilizar o servidor MX do domínio de forma maliciosa (relay aberto):

whois04

A credencial utilizada pelo criminoso pode ter sido comprometida através de algum phishing diretamente na rede corporativa. Outras possibilidades são de que o usuário possua uma senha muito simples que pode ser facilmente descoberta utilizando algum tipo de Brute-Force, ou então alguma aplicação web vulnerável que permita o envio indiscriminado de mensagens.

Ao clicar no link anexado no corpo do e-mail o usuário é direcionado para o download de um binário com nome de “cobranca.docx.exe” a partir do seguinte link:

http ://nwgawomensexpo  com/modules/ mod_finder/ cobranca.doc/ 

host01

Abaixo segue o Whois do domínio que hospeda o artefato:

whois03

Criminosos procuram por aplicações web vulneráveis para efetuar Upload de seus artefatos e hospeda-los de forma não rastreável.

Vamos agora analisar o artefato coletado e verificar o seu comportamento e que tipo de dano ele causa na máquina infectada.

ANÁLISE HEURÍSTICA

File name: COBRAN~1.EXE
File size: 93184 bytes
File type: PE32 executable for MS Windows (console) Intel 80386 32-bit
MD5: 47b405e428b345fcb4b23ac73bb24031

Sections

Name Virtual Address Virtual Size Size of Raw Data Entropy
UPX0 0x1000 0x2d000 0x0 0.0
UPX1 0x2e000 0x17000 0x16200 7.8974382553
.rsrc 0x45000 0x1000 0x600 2.89353823492

Como pode ser observado nas Sections acima, o artefato está compactado utilizando o UPX. Logo mais iremos efetuar o unpacking para poder analisa-lo de forma mais completa.

Após submete-lo ao VirusTotal obtivemos o seguinte resultado:

Antivirus Assinatura
McAfee Generic-FRAX!0958FA229CEB
TheHacker Posible_Worm32
Norman Sample.G.dropper
TrendMicro-HouseCall PAK_Generic.001
Kaspersky Trojan-Banker.Win32.Banbra.axlz
AntiVir TR/ATRAPS.Gen
TrendMicro PAK_Generic.001
McAfee-GW-Edition Generic-FRAX!0958FA229CEB
Emsisoft Gen:Trojan.Heur.GZ.fmGfbOVgePi (B)
Jiangmin Backdoor/Delf.hux
SUPERAntiSpyware Trojan.Agent/Gen-Autorun[Swisyn]
AhnLab-V3 Trojan/Win32.Banker
ESET-NOD32 Win32/ProxyChanger.HG
Ikarus Trojan-Dropper.Delf

Taxa de Detecção:  14 / 45

Este artefato já havia sido submetido para o VirusTotal no dia 15/02. Em sua primeira análise contava com uma taxa de detecção de 6 Engines.

Vamos verificar algumas informações do binário:

pefile

Temos então que este artefato foi criado utilizando Delphi e compactado com o UPX.

O UPX é um packer muito conhecido.  É utilizado também por atacantes para tentar obsfuscar o seu binário e dependendo de como é feita a detecção do binário por parte do antivirus, o simples fato dele estar packed é suficiente para que passe batido pela detecção Heurística.

Para poder efetuar o disassembly do artefato de forma mais completa iremos primeiramente remover a compactação pelo UPX:

reverse_upx

Agora vamos efetuar o disassembly do artefato:

reverse01_jpg

Ao ser executado ele carrega o componente TRegistry. Este componente é nativo do Delphi e permite ao artefato manipular chaves de registro.  Após carregar o objeto  ele determina que o valor para o TRegistry.SetRootKey  será  “Software\Microsoft\Windows\CurrentVersion\Internet Settings”.

Após definir a chave a ser modificada ele efetua um TRegistry.OpenKey e carrega  a chave “ProxyEnable” modificando o valor dela para “1”.  Ou seja, o artefato modificou o comportamento do sistema operacional dizendo que a partir de agora ele deve utilizar um endereço Proxy para navegar.

Em seguida ele chama o componente com a instrução TRegistry.WriteInteger  e escreve o valor “http:// lashlerouxsafaris co.za/components/com_jce/js/in.jsp”  na chave “AutoConfigUrl”.

Esta chave é responsável por configurar a URL com script para Auto Configuração de proxy.  Setando esta URL o browser irá buscar pela configuração do proxy que irá utilizar neste endereço a cada vez que for carregado. Assim o atacante pode manter o endereço IP do servidor de Proxy sempre atualizado caso migre para outro host.

Abrindo a configuração do Internet Options do  IExplorer conseguimos visualizar na íntegra a configuração que o malware realizou.

proxy02

Após efetuar a configuração do proxy no Internet Explorer o malware chama o browser padrão e direciona ele para a url “http://palhacopeteleco.com/res/ws/jjjjjjj/su.php” através da instrução Shell32.ShellExecuteA.

reverse02_jpg

Esta URL redireciona o acesso para o Google. Acredito que este PHP armazena informações do Client como por exemplo, ip, browser e afins. Muito provavelmente serve para que o criminoso tenha algum tipo de controle da quantidade de Hosts infectados.

reverse03_jpg

Como processo final de sua execução o executável cria um .bat  com o nome de cobranca.docx.bat. Este batch entra em loop para apagar o executável original, e após isso o Executável finaliza sua execução e o artefato é eliminado da máquina.

Aproveitei e submeti  o  artefato sem estar protegido pelo UPX. Ninguem havia submetido ainda esta amostra sem a proteção e o resultado foi o seguinte:

AntiVir TR/ATRAPS.Gen 20130218
AVG Proxy.AZEZ 20130218
ESET-NOD32 Win32/ProxyChanger.HG 20130218
Ikarus Trojan-Dropper.Delf 20130218
Kaspersky Trojan-Banker.Win32.Banbra.axma 20130218
Malwarebytes Trojan.Agent.DF 20130218
McAfee Generic-FRAX!60A450670696 20130218
McAfee-GW-Edition Generic-FRAX!60A450670696 20130218

Taxa de Detecção:  8/46

Abaixo segue o Whois do domínio que hospedava o script “su.php”

whois02

Screenshot do momento em que o malware foi executado

sandbox01

Script de Configuração de Proxy

Como vimos acima o nosso artefato não se tratava de um Trojan ou Backdoor.  Após ser executado ele modifica a configuração padrão do proxy do sistema e depois se auto-remove da máquina infectada.

Acessando a URL adicionada no AutoConfigUrl do Browser podemos ver o seguinte script:

script01

Este JavaScript efetua uma checagem de alguns itens para validar se a conexão irá ou não ser redirecionara através do Proxy.  Podemos ver na linha 23 que ele inicia o FOR para efetuar o decrypt do ArrayList utilizando um XOR. Após efetuar o decrypt da linha ele faz uma comparação na linha 32. Caso a variavel “Host” esteja contida no shExpMatch da variável “the_res” ele faz o return na linha 33. Este  está fragmentado para evitar algum tipo de identificação por assinatura de antivirus ou HIDS.

script02

Basta efetuar uma organização manual baseada nos valores demonstrados no script e temos que quando o Match da expressão ocorre ele retorna para o Browser  “PROXY 178.33.168.31”.  A partir daí o browser irá direcionar aquele acesso por dentro do proxy e interceptar a comunicação.

whois05

Uma vez que identificamos o comportamento vem a pergunta:

– Para que hosts este proxy irá fazer o direcionamento da conexão ?

Como vimos acima os itens do ArrayList são muito provavelmente os domínios que ele irá interceptar. Como estão encriptados pelo XOR não conseguimos identificar a olho nú. Para poder termos a lista de quais são os dominios visados pelo criminoso iremos criar um HTML e carregar o JavaScript de configuração do Proxy.

decrypt

Colocamos o Action do JavaScript em um Botão no HTML e ao invés de chamar o Return com o valor do endereço do Proxy iremos fazer um Print dos valores decriptados em nosso form HTML. Com isso teremos uma lista completa dos hosts que estão sendo monitorados.

Domínios interceptados pelo Proxy:

Agora que conhecemos o comportamento e a finalidade do malware, vamos efetuar um laboratório para ver como o ataque é de fato executado na máquina de um usuário comprometido. Para isto irei executar o artefato em uma Máquina Virtual e navegar para algum dos sites listados acima. Por ter experiência com o BankLine do Itaú resolvi elege-lo como portal alvo.

Uma vez que a máquina foi comprometida pelo  malware e a configuração do proxy foi adicionada no browser basta navegar para o endereço http://www.bancoitau.com.br

itau01

A primeira vista o portal do Banco Itaú e carregado para visualização. Foi feito um clone idêntico ao site original para que a vítima não perceba que está acessando na verdade um site falso.

itau02

Uma vez que o usuário coloca a Agência e Conta é direcionada a uma próxima página onde deve confirmar o número da conta. No caso coloquei como dados Agência: 1337 e Conta: 31337-0.

É possível logo de cara identificar que o site não possui Certificado Digital o que por sí só ja iria mostrar que o site é falso. Infelizmente este detalhe ainda é pouco identificado por usuários. Em verdade a grande maioria nem sabe de sua existência ou funcionalidade.

itau03

Na próxima tela o usuário é conduzido a colocar sua senha numérica utilizando o Teclado Virtual fornecido pelo site.  Colocarei um sequência qualquer.

itau04

Independente do valor digitado na tela anterior o portal irá direcionar o usuário para esta tela que diz que a senha está errada e obrigando o usuário a digita-la novamente. Com esta tática o criminoso pode evitar que o usuário digite uma senha errada na primeira tentativa e ele perca então uma Conta devido o descuido da vítima.  Digito qualquer outra senha e o acesso prossegue.

itau05

Na próxima tela o usuário se depara com a Página inicial de seu Home Bank. É possível ver no cabeçalho o número da agência e conta que usamos, um relógio marcando horário da sessão e tudo mais.  Não existe nenhum dado como Nome do titular.  É uma tela totalmente Inóqua e a partir de agora qualquer link que o usuário clicar irá direciona-lo para o roubo dos próximos dados e prover as informações finais que o criminoso necessita para efetuar fraudes em nome da vítima.

itau06

Após clicar no link de “Transferência, DOC e TED” o portal me direciona para uma tela onde sou solicitado a escolher qual o mecanismo de segurança utilizo para o acesso.  Iremos clicar no “Cartão de Segurança Itaú”. Este cartão é um método de segurança utilizando OTP (One-Time Passwords) e é um método muito comum entre usuários bancários para validar e proteger transações em sessões online e em Caixas Eletrônicos.

itau07

Nesta tela totalmente desconexa do contexto da nossa transação atual é pedido ao usuário que ele digite no template o número do cartão de crédito e a validade para “confirmação”.  Um detalhe interessante a ver é a falha no caracter no Title da Janela.

itau08

itau09

Após preencher os dados referentes ao cartão de crédito, a próxima tela irá pedir para o usuário preencher o template do cartão de senhas com o número de referência e os números de cada posição.

Caso o usuário preencha estes campos corretamente e envie o criminoso irá ter acesso total aos dados necessários para efetuar transações compras e tudo mais.

itau10

Após clicar em  Continuar é exibida uma tela dizendo que o acesso foi finalizado e a sessão foi encerrada. Após isso o usuário é direcionado para a sessão HTTPS original do banco do cliente.

Para usuários leigos que não tem conhecimento deste tipo de fraude é muito difícil identificar que o site do banco é falso e que os dados que ele está digitando serão utilizados para fraudes. Imagino que devido ao grande número de sites que o criminoso clonou, deve estar coletando muitas credenciais.

Todos os responsáveis  pelos hosts envolvidos neste ataque foram notificados para que possam tomar alguma providência e remover do ar os acessos responsáveis pelo ataque. Foi efetuada também uma denúncia em Blacklists diversas, como por exemplo PhishingTank.org.