Public Repository

Last pushed: 2 years ago
Short Description
ThirdEye-lab - Part of Torroulette container
Full Description

ThirdEye-lab

Esta é uma imagem que faz parte do laboratório ncaio/torroulette e proporciona um ambiente de testes Go, Tor a partir de um projeto Revel chamado de ThirdEye, utilizando o SeleniumHQ para retirar screenshoots de sites de superfície (.com,.net e outros) e web hidden services (.onion). O navegador utilizado é o Firefox (iceweasel) e é executado via XVFB .


This image is part of ncaio/torroulette laboratory and provides a test environment for Go Lang, Tor Project, Revel and SeleniumHQ. Used to take screen shot from surface sites like .com, .net, and others, and hidden web services (.onion). Running a Firefox browser over XVFB (without X session).

  • Rotate Tor exit node for every click;
  • Custom interaction;

A possibilidade de executar testes avançados com navegadores utilizando o SeleniumHQ e rotacionar sequencialmente endereçamentos IPS com o roleta Tor, torna este laboratório hábil a realizar testes de conceito em aplicações diversas. Como por exemplo, podemos abrir um parênteses para sistemas de enquete/votação, muitos destes sistemas utilizam mecanismos de segurança para evitar automação de votos. Podemos citar regras que descartem conexões originadas de estações sem Java, o Torroulette/App realiza seus testes utilizando bibliotecas que proporcionam uma comunicação fim a fim que é originada pela própria aplicação, sem Java(Não é um navegador). Outra forma de proteção dos sistemas de coleta de informação, é permitir uma inserção de dado por endereçamento IP. Torroulette e SeleniumHQ, combinados, são capazes de ultrapassar estas barreiras de proteção. Leia o Caso I nesta documentação.
Uma outra jogada, é utilizar estas praticas para gerar estímulos em laboratórios de analise de malware.


Repositório externo - ( External repositories ):

Criação e inicialização: ( Create and startup )

docker create --name thirdeyelab -p 8000:8000 -ti ncaio/thirdeyelab
docker start thirdeyelab

Execução (Running commands)

bash-4.2# docker exec -d thirdeyelab /etc/init.d/tor start
bash-4.2# docker exec -d thirdeyelab Xvfb :1 -screen 0 1024x768x16
bash-4.2# docker exec -d thirdeyelab xvfb-run -a revel run thirdeye
bash-4.2# docker exec -d thirdeyelab xvfb-run --server-args="-screen 0 1280x1024x24" -a /usr/src/jre1.8.0_60/bin/java -jar /usr/src/selenium-server-standalone-2.47.1.jar -Dwebdriver.firefox.profile=default

Pegar IP : (Get container IP)

bash-4.2# docker inspect --format '{{ .NetworkSettings.IPAddress }}' thirdeyelab

Acessar projeto (Go to project): http://ipdoconteiner:8000

Informar o alvo: ( Introduce your target )


Retorno do alvo: ( PONG )


Informar alvo .onion: ( Hidden service target )


Retorno do alvo .onion: ( PONG )


Caso I - Utilizando o SeleniumHQ para repetir tarefas

  • Identificar alvo - Site de enquetes que permite o usuário sugerir um candidato a vereador para 2016
  • Identificar mecanismos de proteção

Case I - repeating tasks with Selenium

  • Identified target – Brazilian Council quizze
  • Identify protections – One vote by IP ADDRESS


  • Mapeamento dos elementos para automatização do voto
  • Map elements


  • Submeter dados com GO/SeleniumHQ
  • Send data with Go and SeleniumHQ

pull,_:=wd.FindElement(selenium.ByName, "escolha")
pull.Clear()
vereador:="Cleydson Popeye"
pull.SendKeys(vereador)

  • Votar
  • Submit

votar,_:=wd.FindElement(selenium.ByXPATH, "//input[@type='submit' and @target='_blank' and @value='Votar']")
votar.Click()

  • Trocar de IP
  • Change IP ADDRESS

func reloadip() {
conn,err:=net.Dial("tcp", "localhost:9051")
if err != nil {
    fmt.Println("[ connection has been dropped ]")
}
fmt.Fprintf(conn, "authenticate\r\n\r\n")
fmt.Fprintf(conn, "signal newnym\r\n\r\n")
time.Sleep(time.Second * 5)
return
}
  • Repita o quanto for necessário
  • Repeat more and more

Informações importantes (PATH AND INFORMATION):

  • Este projeto foi realizado sobre o container golang
  • GOPATH = /go
  • ThirdEye Revel source = $GOPATH/src/
  • SeleniumHQ path = /usr/local

Docker Pull Command
Owner
ncaio