domingo, 17 de abril de 2016

Utilizando scans avançados com Arachni Web Scanner



O Arachni Web Scanner é um scanner de vulnerabilidades muito poderoso, a nível da versão empresarial do Nessus e do OpenVas. Ele é Open Source, escrito em Ruby e é excepcionalmente performático e eficiente no quesito de testes profundos e relatórios já com o teste default. Porém, as opções avançadas do Arachni podem performar ainda mais os testes realizados e até diminuir o scan time em determinados casos específicos, onde não são necessários todos os testes default.

Já apresentamos o Arachni Web Scanner aqui. Você pode dar uma olhada no post para ter uma visão mais operacional da ferramenta.

Realizando Scans com Cookies de Sessões Válidas (--http-cookie-string)

Supondo que você já tenha um acesso ao sistema, privilegiado ou não, é possível passar o cookie da sessão coo parâmetro ao Arachni para que ele execute as funções de Scan com mais permissões de acesso do que ele teria normalmente.

Para capturar dados de Sessions e Cookies, você pode estar utilizando o Burp Suite como proxy.


No caso, iremos utilizar como parâmetro os dados de cookie capturados:
 --http-cookie-string='security=low; PHPSESSID=1brl3u1ecq74n5bd114hpvpf86'  

Na linha de comando ficando:
 ./arachni http://192.168.1.54/dvwa/ --http-cookie-string='security=low; PHPSESSID=1brl3u1ecq74n5bd114hpvpf86'  


Realizando scans com usuário e senha no http (--http-authentication-username - --http-authentication-password)

Para realizar o ataque informando o usuário e senha que devem ser utilizados para o scan, você pode usar os parâmetros --http-authentication-username e --http-authentication-password para identificar esses dados.

 ./arachni http://192.168.1.54/dvwa/ --http-authentication-username='administrator' --http-authentication-password='password'  


Realizando scans utilizando proxy

O Proxychains é uma alternativa válida quando queremos realizar scans e ataques via proxy, porém, algumas gems do Ruby que o Arachni utiliza não consegue tratar o retorno do Proxychains de um host remoto. Mas ele possui uma solução nativa e menos poluída para utilizar proxy. No caso você pode Instalar o Tor  e utilizar seu localhost e a porta 9050 para redirecionar seu tráfego pra lá.
 ./arachni http://192.168.1.54/dvwa/ --http-proxy IP:PORTA --http-proxy-type TIṔO  
 ./arachni http://192.168.1.54/dvwa/ --http-proxy 127.0.0.1:9050 --http-proxy-type socks4  #TOR

Configurando o timeout das requisições das threads

Para avançar um pouco mais no scanning no quesito performance, você pode configurar o timeout máximo dos testes. Ideal quando você precisa achar algo específico, porém não recomendado durante um scanning mais profundo. O default é 1000.
 ./arachni http://192.168.1.54/dvwa/ ---http-request-timeout 500  


Customizando o User Agent da requisição HTTP

O User agent default do arachni por si só é o Arachni/v1.2.1, isso varia de acordo com a versão que você esteja usando, porém podemos customizar o User Agent para camuflar o scanning colocando por default os agents do Mozilla, Chrome e etc.
 ./arachni http://testphp.vulnweb.com --http-user-agent "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16"  
 Safari 7.0.3 - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A  
 Chrome 41.0.2228.0 - Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36  
 Opera 12.16 - Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16  
 Mozilla 2.2 - Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201  
 Internet Explorer 11.0 - Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko  

Mais User Agents: http://www.useragentstring.com/pages/useragentstring.php

Parâmetros de auditoria

Esses parâmetros auxiliam com verificações extras durante a fase de scanning, portanto pode significar um aumento significativo no scan time.
 --audit-links   #Audita todos os links do site
 --audit-forms   #Força a auditoria de todos os forms do site
 --audit-cookies #Força a auditoria de cookies  
 --audit-cookies-extensively  #Passa um pente fino nos cookies. Impacto significativo no time
 --audit-headers  #Audita os HTTP Headers
 --audit-jsons    #Audita os Jsons
 --audit-xmls     #Audita todos os XML enviados e recebidos na aplicação
 --audit-with-both-methods  #Audita todos os métodos POST e GET a pente fino

Importando o Scanning para a plataforma web

É possível executar scannings com parâmetros avançados e customizados via shell e depois importá-los para a plataforma web, que apesar de ser muito bonita e apresentável, é bem mais limitada que o modo convencional. Para isso, faremos uso do utilitário arachni_web_scan_import. 
 # ./arachni_web_scan_import local.test.es\ 2016-03-22\ 15_06_43\ -0300.afr 1  

Criando um servidor web aberto com o Arachni Web 

Por default, o Arachni Web é executado diretamente na interface de loopback, ou seja, 0.0.0.0 na porta 9292, o que o torna inacessível para clientes externos. Caso você precise criar um servidor acessível em outra máquina, container, ou em cloud, basta utilizar os parâmetros abaixo. 
 # ./arachni_web -h HostDaMaquina -p Porta  
 # ./arachni_web -h 192.168.2.108 -p 80  

Post sempre em construção :)

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

Postar um comentário

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com