Mais uma edição do Diário de um Hacker.
Segunda-feira.
O celular desperta às 6 horas manhã ao som da música “Imperial March”. Mais um dia de trabalho vem pela frente. Mais um dia dentro de uma lata de sardinha chamada ônibus, seguindo daquele corre-corre de pessoas nas estações de trem e metrô, se empurrando para entrar no vagão do trem. A gente acaba indo pelo rumo, empurrado pela multidão apressada. Quem mora ou morou em São Paulo sabe como é…
Você deve saber, mas atualmente trabalho como garçom em um conhecido restaurante de São Paulo, localizado na região central da cidade. Preciso desse trabalho, já que dificilmente conseguiria um dentro da minha área. Ao puxarem a minha ficha (mesmo que nela não constasse muita coisa) já teriam motivos suficientes para não me contratarem.
“Após algumas reuniões com nosso time interno, resolvemos não seguir com você no processo seletivo. Seu curriculo ficará em nosso banco de dados para futuras vagas. Boa sorte!“
Um pouco de ação
05:25PM
Saio mais cedo do trabalho. Dei aquela desculpa básica de que a avó estava doente e que precisava cuidar dela…
Antes de chegar em casa peguei com o Marcus um equipamentozinho chamado Anonabox. Lembre-se que falo de meados de 2014, então quando estiver lendo esse texto, possivelmente o Anonabox não exista mais ou o seu site esteja fora do ar… De qualquer forma, esse cara nada mais é do que um roteador wireless que pode rotear/encaminhar todo o tráfego da minha Internet para a rede TOR, dando assim uma certa privacidade e anonimato para as atividades de hacking.
Como eu já tinha em casa um roteador padrão (ADSL e wireless), bastou conectar o Anonabox na porta ethernet via cabo RJ-45 CAT 6 do roteador que já tinha em casa.
Sento em frente ao notebook, e como é de praxe, um famoso pinguim aparece na tela de boot para me dar boas-vindas. Apesar de estarmos em um mundo interativo, seja via mouse ou toque na tela, para o hacking prefiro uma tela preta e caracteres verdes e um teclado esperando para ser tocado…
— O que temos para hoje? — Penso em voz alta.
Para adiantar alguma coisa sobre o que o Cereal Killer falou no sábado à noite, em uma simples consulta no Google descobri que uma das empresas que prestou serviços durante a construção da Usina, ainda mantinha uma conexão VPN ativa. Vamos chao mar esta empresa de “Corvo”. Como descobri isso? Veremos adiante.
Garimpando informações
O comando whois (quem é) seguido do domínio de um site retorna informações sobre o seu responsável (CNPJ, Nome fantasia ou real, etc), bem como o IP dos servidores DNS. Aliás, esses servidores DNS são os responsáveis por levar você até qualquer site. Experimente digitar whois http://www.google.com.br em seu Linux (ou no Windows via WSL hehe) para ter uma ideia do que estou falando. Ex:
Agora passando para o mundo real, fiz o mesmo procedimento do que te mostrei no exemplo acima. De posse do CNPJ da Corvo, acessei o site da Receita Federal neste endereço para verificar algumas informações sobre a empresa. Para minha surpresa constatei que a situação cadastral estava como Inativa.
— Mas pera aí… se uma empresa está assim, qual o motivo de manter uma VPN ativa com a usina? Aí tem coisa hein… — Falo sozinho.
Com o uso do Nmap, experimentei pegar o IP de um dos servidores DNS (obtido por meio do Whois) e consultar algumas informações interessante.
No terminal digito o seguinte comando (veja alguns exemplos de uso do Nmap):
nmap -sV IPDOSERVIDOR
E tenho um resultado interessante:
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
53/tcp open domain ISC BIND 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
513/tcp open login
514/tcp open tcpwrapped
2049/tcp open nfs 2-4 (RPC #100003)
2121/tcp open ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
5432/tcp open postgresql PostgreSQL DB 8.3.0 – 8.3.7
5900/tcp open vnc VNC (protocol 3.3)
6667/tcp open irc Unreal ircd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
Portas e mais portas abertas e com os serviços operando em suas versões antigas.
Um prato cheio…
Qualquer empresa que se preocupe com a segurança de suas informações, e presta serviço para uma de grande porte, deve seguir rigorosamente as políticas, procedimentos e normas de segurança estabelecidos. Mas não é o caso da Corvo Corporation Tabajara.
Explorando
De acordo com o resultado do Nmap, o SSH está ativo na porta padrão e utilizando a versão 4.7p1????
O SSH (Secure Shell) é um dos serviços mais visados por quem pratica hacking (seja para o bem ou mal). Ele é a porta de entrada, pois uma vez lá dentro e com permissões administrativas, um Hacker poderá executar quaisquer ações como se estivesse fisicamente em frente ao servidor.
Obviamente não vou parar por aí, pois quero obter informações sobre essa VPN entre a usina e uma empresa privada inativa.
Metasploit e Armitage
O Metasploit é basicamente um framework para testes de invasão. Com ele podemos escanear um servidor ou uma rede, e obter informações sobre suas vulnerabilidades, bem como explorá-las.
Tirado de meu “arsenal” utilizarei apenas uma ferramenta chamada Armitage. Ela utiliza o Metasploit como pano de fundo, aumentando assim o seu poder de ataque.
Dá uma olhada nessa demo do Armitage:
Como pôde ver na imagem, na parte superior existem opções pré-configuradas, que ao serem clicadas, mostrarão na parte inferior a execução dos comandos. Nesse caso, foi utilizada uma opção semelhante ao Nmap, para realizar a varredura no servidor, a fim de descobrir quais serviços estão ativos (botão direito sob o host -> Scan).
O ataque
O Armitage possui vários exploits, e alguns deles consistem em explorar falhas no SSH. Vou te mostrar exemplos do que fiz, de forma resumida, para poder entender o processo.
Primeiramente precisarei adicionar a máquina a ser atacada. A tela principal do Armitage será parecida com essa:
Acesso a opção Hosts -> Add Hosts.
Na janela que aparecer digito o endereço IP ou o hostname a ser verificado do alvo. Em seguida o servidor estará cadastrado para uso futuro.
Depois que adicionei a máquina, cliquei com o botão direito do mouse sobre o servidor adicionado, depois na opção Scan. Os resultados da varredura serão praticamente os mesmos do Nmap:
Pude ver que o sistema operacional é um Linux, já que o Armitage alterou o seu ícone para um do pinguim Tux:
Ainda na imagem acima, verá uma estrutura de pasta e entre elas uma chamada exploit (também existe uma chamada payload. Na hora hora de tirar o print da tela acabei não mostrando ela…).
Gosto muito de fazer referências à cultura pop. Para fãs de Matrix (assim como eu), o exploit faz o papel do Oráculo e Neo é o payload. Ou seja, o Oráculo mostra o caminho, mas quem o trilha e chegará ao seu destino é Neo.
Continuando… Dentro da pasta exploit, escolho Linux, navego até SSH e escolho o exploit desejado. A jogada legal aqui é arrastar o exploit em cima da máquina adicionada. O Armitage fará todo o resto, explorando a falha e acionando o payload, se necessário for.
No fim das contas, dentro dessa sina de conseguir acesso de admin no alvo, o que a gente quer é apenas uma tela parecida com essa:
root@corvoserver:/#_
Pense no que poderemos. Dê asas à sua imaginação. É como se uma mansão estivesse com as portas abertas e um aviso dizendo: “Peguem o que quiserem.”
O troféu
Eis que consegui acesso root a um servidor DNS da Corvo Corporation. Normalmente, empresas sérias que possuem um servidor de DNS próprio, usam-no apenas para esse fim, não possuindo qualquer outro serviço que possa permitir algum tipo de ataque, se é que me entende.
Mas esse não é o caso dessa empresa.
Tratei de vascular no sistema tudo o que pude e constatei/confirmei que este servidor possui uma VPN com a usina, onde a “autenticação” é feita apenas na base da confiança, ou seja, sem o uso de senha. Mas como isso ocorre, deve estar se perguntando.
Isso ocorreu porque no servidor da usina existe um arquivo chamado .rhosts, que contém os servidores confiáveis que podem logar na sua rede sem o uso de senha no processo de autenticação.
Esta façanha ocorreu porque no servidor da Belo Monte existe um arquivo chamado .rhosts, que contém os servidores confiáveis que podem logar em sua rede sem o uso de senha no processo de autenticação.
Confira na imagem abaixo todo o esquema:
Diante disso, Case conclui (e você também) que os administradores do servidor da Corvo e da Belo Monte pouco se importam com questões de segurança.
Finalizando
10:05PM
Me espreguiço na poltrona. Foram horas de coleta de informações e de hacking em frente ao notebook.
Ligo para Marcus através da rede wireless do Anonabox em meu BlackPhone (Marcus também possui um). Trata-se de um aparelho celular feito exclusvamente para quem se importa com segurança e privacidade e não quer que o governo ou empresas tenham acesso ao que você fala ou escreve no aparelho.
Sinto muito lhe dizer isso, mas nos tempos atuais, o BlackPhone não é mais vendido e nem tem suporte. O que você pode fazer é usar o Silent Phone, mesmo software usado no BlackPhone para proteger suas ligações e mensagens.
– E ai Marcus, blz?
– Tranquilo mano, estou assistindo alguns filmes, mas nada de interessante.
– Cara! – Falo entusiasmado. – Consegui algumas informações interessantes sobre a opção “Queda do Sistema”. Vou te enviar um esquema que montei. A imagem falará por si só.
– Marcus, consegui algumas informações interessantes sobre a operação “Queda do sistema”. Vou te enviar um esquema que montei. A imagem falará por si só.
A imagem chega instantaneamente à Marcus através da ferramenta Silent Phone (um dos aplicativos existentes no BlackPhone). Ao ver a imagem, ele fica de boca aberta.
– Como a usina mantêm uma conexão de VPN com uma empresa que deixa todas as portas abertas? Cadê o compliance??
– Detalhe Marcus, perante ao governo a Corvo não está mais ativa. É meio estranho isso não?
– Com certeza mano, e isso tudo atiçou ainda mais a minha curiosidade.
– Cara… – Falo para Marcus. – Gostaria que focasse nisso, em descobrir mais informações sobre a Corvo, e sobre a infraestrutura da usina. Amanhã ela deverá responder ao “e-mail” que enviei solicitando uma visita às instalações físicas da empresa (Veja Diário de um Hacker #02), pois somos “estudantes” de engenharia elétrica, não lembra? hehe.
– É pra já!
Desligo. Fico pensativo e observo a tela do terminal em seu notebook:
Se um dia você praticar um hacking em qualquer servidor Linux/Unix e der de cara com a informação acima, saiba que estará com a faca e o queijo na mão. Mas saiba cortar o queijo.
Quero um café! Ligo a chama do fogão e coloco uma chaleira com água para ferver. Enquanto isso, começo a moer os grãos de café em um moedor portátil, daqueles em que você precisa girar uma pequena manivela em sentido horário.
Fico nos meus devaneios, pensando no que descobrimos, no que aconteceu e no que pode acontecer.
Sou acordado desses meus pensamentos pelo apito da chaleira. É… ela é das antigas.
Coloco a água fervendo em um bule do tipo Prensa Francesa. O(a)s apreciadores(a)s de café vão entender. Logo em seguida, coloco o pó de café já moído na cafeteira e mexo um pouco. Fecho o recipiente e aguardo uns 4 minutos até que o pó se assente bem.
Vou até a janela do meu apartamento, situado na região central da cidade. Apoio os cotovelos no parapeito da janela, e com a mão direita, seguro a xícara com o café. Dou aquele primeiro gole e sinto o gosto do café, que escorrega lentamente pela garganta.
Olho para o mundo lá fora e reflito um pouco mais sobre o que poderei encontrar daqui para frente nesta operação.
Além do óbvio, sempre existirá algo a mais.
Então veremos.
Créditos da imagem usada na capa do post: