
XRay é uma ferramenta para reconhecimento, mapeamento e coleta de OSINT em redes públicas.
O XRay foi reimplementado em Rust e expandido com mais recursos. Este repositório é código LEGADO. Use https://github.com/evilsocket/legba
XRay é uma ferramenta para coleta de OSINT em rede, seu objetivo é automatizar algumas das tarefas iniciais de coleta de informações e mapeamento de rede.
XRay é uma ferramenta muito simples, funciona da seguinte forma:
Grabbers e Coletores
Server, X-Powered-By e Location.robots.txt.title.version.bind. e hostname.bind..Chave de API do Shodan
O parâmetro da chave de API do shodan.io ( -shodan-key CHAVE ) é opcional, porém, se não for especificado, nenhuma identificação de serviço será realizada e muito menos informação será exibida (basicamente, será apenas enumeração de subdomínios por DNS).
Chave de API do ViewDNS
Se um parâmetro de chave de API do ViewDNS ( -viewdns-key CHAVE ) for passado, dados históricos do domínio também serão recuperados.
Anonimato e Questões Legais
O software dependerá do seu resolvedor DNS principal para enumerar subdomínios; além disso, várias conexões podem ser estabelecidas diretamente do seu host para os computadores da rede que você está escaneando, a fim de capturar banners de portas abertas. Tecnicamente, você está apenas se conectando a endereços públicos com portas abertas (e não há envolvimento de varredura de portas, pois essas informações são obtidas indiretamente usando a API do Shodan), mas, você sabe, alguém pode não gostar desse comportamento.
Se eu fosse você, encontraria uma maneira de proxificar todo o processo... #sóestoudizendo
Para construir uma imagem Docker com a versão mais recente do XRay:
git clone https://github.com/evilsocket/xray.git
cd xray
docker build -t xraydocker .
Uma vez construído, o XRay pode ser iniciado em um contêiner Docker usando o seguinte comando:
docker run --rm -it -p 8080:8080 xraydocker xray -address 0.0.0.0 -shodan-key chave_shodan_aqui -domain exemplo.com
Certifique-se de estar usando Go >= 1.7, que sua instalação está funcionando corretamente, que você definiu a variável $GOPATH e que adicionou $GOPATH/bin ao seu $PATH.
Em seguida:
go get github.com/evilsocket/xray
cd $GOPATH/src/github.com/evilsocket/xray/
make
Você encontrará o executável na pasta build.
Uso: xray -shodan-key SUA_CHAVE_DE_API_SHODAN -domain DOMINIO_ALVO
Opções:
-address string
Endereço IP para vincular o servidor da interface web. (padrão "127.0.0.1")
-consumers int
Número de consumidores concorrentes a serem usados para enumeração de subdomínios. (padrão 16)
-domain string
Domínio base para iniciar a enumeração.
-port int
Porta TCP para vincular o servidor da interface web. (padrão 8080)
-preserve-domain
Não remover o subdomínio do nome de domínio fornecido.
-session string
Nome do arquivo de sessão. (padrão "<nome-do-dominio>-xray-session.json")
-shodan-key string
Chave de API do Shodan.
-viewdns-key string
Chave de API do ViewDNS.
-wordlist string
Arquivo de wordlist a ser usado para enumeração. (padrão "wordlists/default.lst")
Exemplo:
# xray -shodan-key yadayadayadapicaboo... -viewdns-key foobarsomethingsomething... -domain fbi.gov
____ ___
\ \/ /
\ RAY v 1.0.0b
/ by Simone 'evilsocket' Margaritelli
/___/\ \
\_/
@ Salvando sessão em fbi.gov-xray-session.json
@ Interface web em execução em http://127.0.0.1:8080/
XRay foi feito com ♥ por Simone Margaritelli e é distribuído sob a licença GPL 3.
Os arquivos na pasta wordlists foram retirados de várias ferramentas de código aberto ao longo de várias semanas e não me lembro de todas. Se você encontrar a wordlist do seu projeto aqui e quiser ser mencionado, sinta-se à vontade para abrir uma issue ou enviar um pull request.