Agressivamente "anônimo" com docker e tor
- Marcelo Machado Fleury
- [email protected]
- http://github.com/marcelomf
- ~marcelomf
- Interesse por computadores a partir de 1998
- Foco em P&D voltado a segurança da informação
- Linguagens: C, ASM, JAVASCRIPT, PYTHON, PHP, RUBY, JAVA...GO(!)
- Protocolos: TCP/IP, HTTP, SSL/TLS, KERBEROS, LDAP, SASL...HTTP2/WEBSOCKETS(!)
- Security researcher na CONVISO
- Acessar a internet com um IP que não seja o meu
- Balancear as requisições com IPs(routers/exitnodes) distintos
- Manter uma blacklist de IPS/exitnodes
- Ser 100% anônimo ? Não...
- Em um pentest, bypassar WAF...
- Em uma modelagem de risco, avaliar o seu ambiente
- Manter uma blacklist de IPs "maliciosos"(exitnodes)
Uma rede colaborativa e distribuída de servidores que trafegam dados criptografados
- Servidores no mundo inteiro
- Um daemon local que escuta uma porta TCP/IP
- Aceita comandos através de sockets
- Escolhe randomicamente um node
- De tempos em tempos, renova a sua rede de conexão (IP/entry_node/[...]/exit_node)
- A última conexão(exit_node) esta sujeita a MITM/snooping
user <> entry_node_tor <> node_tor_1 <> node_tor_N <> exit_node_tor <> recurso_internet
- Como analista de segurança, quanto mais IPs/exitnodes tentarem comprometer a minha aplicação, mais vetores de ataque eu terei para contraatacar um ataque.
- Mas não basta comprometer apenas o exitnode, é necessário todos os nodes anteriores a ele, até chegar na origem.
- Um servidor de containers com caracteristicas de virtualização e versionamento:
- Stop
- Resume
- Snapshots
- Import/Export de imagens e containers
- TAGs
- HUB de imagens
- Uma forma de documentar, descrever, executar, balancear e versionar servidores
- DEVOPS na prática
- Produtividade monstra, adeus retrabalho!
- Cria-se um Dockerfile que descreve uma imagem
- Um Dockerfile pode herdar outro Dockerfile
- Um Dockerfile é extretamente simples e similiar/"compatível" com shellscript
- Cria-se uma imagem que é resultado do build de um Dockerfile
- Instancia-se N containers desta imagem
- curl
- netcat
- privoxy
- proxychains
- Um Dockerfile/imagem docker
- Um script de inicialização do container(robot.sh)
- Um script de renovação de exitnode(tornewid.sh)
- Um arquivo texto para blacklist de exitnodes(iplist)
- Um alvo(?)
- Utilizar memcached para blacklist de IPs
- Desenvolver em C, modulos para o clusterizar o TOR