sexta-feira, 15 de janeiro de 2016

ATScan :: Efetuando Dork Scanning e exploração automatizada de XSS e RFI - UPDATED!



O ATScan é uma ferramenta escrita em Perl com a premissa de automatizar o scanning por Dorks do bing em determinados sites a procura de vulnerabilidades de XSS, Local File Inclusion e algumas outras funções específicas de frameworks como o Joomla. Ela é uma ferramenta bem performática e eu particularmente gostei muito, principalmente pela sua integração com o SQL Map.

Primeiro vamos fazer o clone da ferramenta, dar permissão de execução e testar se a mesma vai rodar tudo limpo:
 # git clone https://github.com/AlisamTechnology/ATSCAN   
 # cd ATSCAN/  
 # chmod +x atscan.pl  
 # perl atscan.pl  

Efetuando o Scan de XSS em um site por meio de Bing Dorks

O ATScan trabalha por meio do buscador do bing, onde procura por diversos resultados e salva na memória ou em um arquivo txt, depois ele testa um por um procurando por vulnerabilidades de XSS e LFI

Para não machucar ninguém, vamos utilizar como stage de teste o site testphp.vulnweb.com/

Para realizar o Scan basta seguir os passos:
 [+] Please select a task: 1  # SEARCH ENGINE (BING)
 [+] Please enter your Dork: site:testphp.vulnweb.com  # DORK QUE IREMOS UTILIZAR
 [+] Scan level: 100  # NUMERO DE RESULTADOS QUE QUEREMOS RETORNAR (DE 50 EM 50)
 [+] PROXY:: No!   
 [+] SCAN LEVEL:: 100   
 [+] RANDOM SEARCH:: BING [bing.ca]  
 [+] DORK:: site:testphp.vulnweb.com   
 [ ] ---------------------------------------------------------------------------  
 [+] Please wait...   
 [!] [23:9:15] ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::   
 [+] DORK:: site:testphp.vulnweb.com  


Após o término do Scan, será exibida a seguinte mensagem com o número de resultados encontrados dentro do domínio pela Dork. Veja que ele criou um log chamado Search_Scan.txt. Ele é importante, pois agora iremos realizar o teste de XSS e RFI com esses resultados.
 [!] 55 Unique Result(s) Found!  
 [!] Results saved in /root/ATSCAN/Search_Scan.txt  
 [!] [23:9:29] SCAN FINISHED!  
 [+] Now You Want To Back To Menu (1) Or Exit (0) ?   

Volte ao menu inicial. Agora iremos prosseguir com a opção de SITE SCANNER
 [..][+] PRINCIPAL MENU   
 =========================================  
 [+] 1 = SEARCH ENGINE (BING)   
 [+] 2 = SITE SCANNER   
 [+] 3 = SERVER SCANNER   
 [+] 4 = MD5 / BASE 64   
 [+] 5 = TERMINAL   
 [+] 6 = ABOUT   
 [+] 7 = HELP   
 [+] 8 = EXIT (->)   
 =========================================  
 [+] Please select a task: 2  
 [..][+] SCAN SITES OPTIONS  
 =========================================   
 [+] 1 = CHECK HTTPD VERSION  
 [+] 2 = XSS SCAN  
 [+] 3 = LFI SCAN  
 [+] 4 = RFI SCAN (JOOMLA)  
 [+] 5 = ADF SCAN (WORDPRESS)  
 [+] 6 = FIND ADMIN PAGE  
 [+] 7 = FIND SUBDOMAINS  
 [+] 8 = BACK (<-)  
 [+] 9 = EXIT (->)  
 =========================================   
 [+] Select an option -> 2  
 [+] Do You Want To Scan a List? (Y/n): y  
 [+] Enter List Name [Ex:list.txt]: Search_Scan.txt   
 [+] PROXY:: No!   
 [+] LIST:: Search_Scan.txt   
 [!] TOTAL TARGETS IN LIST: 55 Result(s) Found in the List!  
 [+] Please wait...   



Podemos ver que ele descartou todos os resultados que não responderam como o HTTP Response 200 e marcou como possíveis vulneráveis algumas das opções. Uma coisa muito banaca do ATScan é a integração com o SQLMap caso você o tenha instalado. Lendo todas as linhas do log de XSS criado e testando todas as possíveis opções.
 [!] 33 Unique Result(s) Found!  
 [+] Results saved in /root/ATSCAN/XSS_Site_Scan.txt!   
 [!] [23:18:15] SCAN FINISHED!  
 [!] 33 Unique Result(s) Found!  
 [+] Results saved in /root/ATSCAN/XSS_Site_Scan.txt!   
 [!] [23:18:15] SCAN FINISHED!  
 [+] Do You Want To sqlmap this Vulnerability? (Y/n):   

Vamos prosseguir com o SQLMap e TOR com os Scans. Caso queira prosseguir manualmente com as explorações construindo sua própria sintaxe do SQLMap, fique a vontade, como vimos, todos os resultados foram salvos no log XSS_Site_Scan.txt


Realizando o teste de Local File Inclusion 

Para verificar vulnerabilidades de inclusão de files do servidor, basta seguir os mesmos passos do SITE SCANNER porém escolhendo a opção de LFI e apontando a mesma lista de URLs encontradas.


Lembrando que nem o Nanoshots quando os desenvolvedores da ferramenta nos responsabilizamos pelo mau uso da mesma.


UPDATE 02/02/2016 - ATScan Update version 5.3




Com essa nova versão, os comandos interativos acima pararam de funcionar e começaram a receber parsing da linha de comando no momento da execução. Nada muito complicado, eu pessoalmente prefiro assim. Muito boa a nova atualização :D

Fazendo um scan simples com uma dork:
 # perl atscan.pl --dork site:testphp.vulnweb.com --level 50  

O Scan ainda mantém os resultados da dork em um arquivo txt, portanto podemos realizar o teste de XSS e LFI diretamente desse arquivo criado:

XSS Scan:
 # perl atscan.pl -t search.txt --xss  



LFI Scan:
 # perl atscan.pl -t search.txt --lfi



XSS Scan + SQL Map com os resultados:
 # perl atscan.pl -t search.txt --xss --sqlmap  



Wordpress Finder - Encontrar Wordpress no Site:
 # perl atscan.pl -t search.txt --wp  



Wordpress Finder - Encontrar Joomla no Site:
 # perl atscan.pl -t search.txt --joom  


Email Scanner:
 # perl atscan.pl --dork site:testphp.vulnweb.com --sites --level 50 --email  


:)

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