domingo, 6 de maio de 2012

Prepare-se, os jogos hacker estão a começar

Terminal e conexão à internet são tudo o que um hacker precisa (Fonte da imagem: Stian Eikeland)
Que tal se sentir como um hacker de décadas atrás, daqueles que passavam o dia em frente a um terminal com fundo preto e letras verdes, digitando comandos aparentemente incompreensíveis? Pois Telehack é um game que possibilita ao jogador viver essa aventura na prática e, melhor ainda, sem correr o risco de ser preso pela Polícia Federal.
Recriando o ambiente virtual da ARPANet ― rede considerada como a mãe da internet ―, o jogo permite que você crie uma conta de usuário em uma das estações (host) disponíveis e, a partir dela, possa explorar outros computadores interligados, descobrindo portas abertas, comandos novos, rootkits e vulnerabilidades diversas que farão jogador subir de nível.
Entretanto, por ser próximo demais da realidade, Telehack pode não ser um game tão intuitivo para boa parte dos jogadores. Além de ser essencial possuir um bom domínio da língua inglesa, você também terá que se sentir à vontade em ambientes de linha de comando. Saber o que é um prompt ou conhecer os comandos básicos do Unix ajudará muito.
Mas não pense nisso como uma barreira para começar a jogar Telehack: se esse não for o seu caso, você poderá usar o game como incentivo para aprender. E para ajudá-lo nessa tarefa, o Tecmundo preparou um pequeno guia para o “caminho das pedras”, apresentando conceitos básicos e descrevendo os comandos essenciais.
Está preparado? Pois então acesse o site do game com o seu navegador favorito e siga as instruções abaixo.

Criando uma conta no Telehack

Crie um novo usuário antes de começar a jogar (Fonte da imagem: Baixaki/Tecmundo)
Apesar de ser possível explorar o ambiente inicial do game sem se cadastrar nele, é importante criar uma conta para o seu usuário. Dessa forma, você terá sua pontuação registrada e poderá entrar em contato com outras pessoas que estejam conectadas ao game. Para isso, digite o comando newuser no terminal e, em seguida, pressione Enter. Depois, basta informar o nome de usuário (username) e a senha (password).
Assim que você terminar o processo de criação da conta, estará automaticamente autenticado ao sistema. O que indica o sucesso no login é o prompt do interpretador de comandos, que passa de ponto (.) para arroba (@). Quando quiser finalizar a partida, digite o comando exit ou, então, pressione a combinação de teclas Ctrl + D.
Para acessar o jogo novamente e continuar de onde parou, basta se autenticar pelo comando login. Após pressionar Enter, o sistema exigirá nome de usuário e senha para que o jogador prossiga.

Comandos básicos

Lembre-se: o help é seu amigo (Fonte da imagem: Baixaki/Tecmundo)
O programa mais útil da lista é o help. Ao executá-lo, você tem acesso a uma lista de outros comandos disponíveis em seu terminal. Ao lado de cada item há uma breve descrição, que explica o que o comando faz e como ele pode ser usado.
Entre as ferramentas disponíveis estão algumas indispensáveis para que o jogador cometa os “delitos virtuais”, como ping, finger, telnet, traceroute, hosts e ipaddr. Mas também há muitos inutilitários, como rain ― que simula pingos de chuva na tela ― e starwars, que executa uma versão em ASCII Art do grande sucesso de George Lucas.

Explorando a rede do Telehack

Como dito anteriormente, o Telehack recria a rede da ARPANet. Por isso, há muitos computadores de empresas e organizações militares ou educacionais prontos para serem invadidos ou usados. Para isso, existem alguns comandos que devem estar sempre na memória do “hacker” e que serão usados durante todo o jogo.
Entre eles, estão:
  • finger – lista os usuários cadastrados no host;
  • finger – lista informações sobre o usuário;
  • finger @host – lista os usuários de determinado host;
  • netstat – lista os hosts com os quais você pode se conectar;
  • ping - verifica se o host está ativo;
  • traceroute – verifica a rota entre você e o host destino;
  • more - lê o conteúdo de um arquivo;
  • telnet - usado para se conectar a um computador remoto;
  • rlogin – permite acessar outra máquina com o mesmo usuário e senha usados no momento.
Durante as missões do game, é comum você ter que acessar uma máquina que não está conectada diretamente a você. Nesse caso, é necessário invadir outras estações que possam levá-lo até o destino final. Quando não souber com qual login/senha se conectar a um host, tente o usuário guest, que dispensa o uso de passwords e costuma estar ativos nos servidores de telnet.
Mas vale a pena lembrar que, por ser de fácil acesso, o guest possui permissões muito restritas. Com ele é impossível, por exemplo, realizar uma conexão via rlogin ou telnet em outra estação. Entretanto, você pode usá-lo para espiar o conteúdo das máquinas conectadas à rede.

Primeira missão

Execute o comando quest para receber uma nova missão (Fonte da imagem: Baixaki/Tecmundo)
Para receber sua primeira missão no jogo, use o comando quest. Dentro de alguns segundos, vocês ganhará um objetivo que, normalmente, consiste em acessar uma máquina e encontrar determinado arquivo que guarda um comando misterioso. Depois de chegar a esse comando, você deve executá-lo no servidor do Telehack, para comprovar que foi capaz de encontrá-lo. Então, execute quest novamente para obter uma nova missão e continuar a se divertir com o game.

Como completar uma missão

Digamos, por exemplo, que a missão passada por você inclui a leitura de um arquivo com extensão SYS no terminal decrwl. A primeira etapa a ser realizada é descobrir como chegar a essa máquina, ou seja, qual é o caminho até ela. Para isso, existe o comando uupath:
@uupath decwrl
telehack!oracle!decwrl
De acordo com a resposta do comando acima, é preciso se conectar ao host oracle e, só depois, ao decwrl. Portanto, chegou a hora de “colocar a mão na massa” e hackear pela primeira vez!

Porthack: invadindo máquinas

A boa notícia é que você não precisa começar do zero: o programa porthack, disponível no servidor telehack, automatiza o processo de procurar uma porta vulnerável no host a ser invadido e cadastrar o seu usuário nele. Para isso, execute run porthack no prompt de comandos.
Na tela de apresentação do software, pressione “Y” para continuar e, em seguida, informe o código apresentado na tela. Quando a mensagem “enter host” for apresentada, informe o nome da máquina a ser invadida. No caso do nosso exemplo, o host se chama oracle.
Depois de um tempo de processamento, o porthack listará as portas de comunicação abertas na máquina. Basta então indicar uma a uma, até que o programa consiga invadi-la. Depois de obter sucesso, execute o comando rlogin oracle para acessar a estação com o seu login e senha. O mesmo processo pode ser repetido a partir dessa estação para que você possa, então, chegar à máquina decwrl.

Executando o comando encontrado

Execute o monitor do sistema para invocar o comando secreto (Fonte da imagem: Baixaki/Tecmundo)
A parte final de uma missão costuma ser a execução de um comando que está escondido em um arquivo com extensão SYS. Normalmente, esse comando começa com as letras "dx" e possui duas sequências numéricas.
Mantenha o hábito de salvar esse comando em um arquivo de texto ou, então, de anotá-lo com papel e caneta, pois será necessário saber esses caracteres todos, para uso futuro.
Executar o comando encontrado não é uma tarefa trivial. Primeiro, é preciso voltar ao host inicial (telehack) pressionando a combinação de teclas Ctrl + D. Para ter certeza de que você se encontra na máquina certa, digite hostname e confira o nome do computador em que você está logado.
Quando chegar ao telehack, execute o comando call -151, utilizado em computadores Apple II para invocar o monitor do sistema, que permite ao usuário decifrar e inserir comandos em linguagem de máquina (assembly).
Tornar-se um hacker exige muito estudo e dedicação (Fonte da imagem: Don Hankins)
A confirmação de que o monitor foi invocado corretamente se dá pela mudança do prompt, que agora passa a ser representado por um asterisco (*). Mas para executar o comando encontrado no arquivo SYS, você precisa, antes, acessar o modo PTYCON, por meio do código 2425152g. Digite-o no monitor do sistema, pressione Enter e aguarde a confirmação de acesso.
Depois, basta colar o comando encontrado no arquivo SYS — dx 953336 551, por exemplo — e, em seguida, pressionar Enter. A conclusão do desafio se dá pela mensagem "%sys-ex-quest: CPU += 100". Para voltar à linha de comando, pressione Ctrl + D e, no monitor de sistemas, execute o comando r.

É só isso?

Essa é a operação básica do game, o essencial para que você comece a jogar. Mas existem tarefas mais avançadas, que podem trazer mais prestígio ao seu usuário entre a comunidade de jogadores.
Uma das diversões do game, por exemplo, é tentar obter acesso às máquinas como usuário root (administrador) e alterar a mensagem de boas-vindas, exibida sempre que alguém se conecta ao host. Com isso, o jogo se torna uma espécie de “capture a bandeira”: ao tomar o root de alguém, o usuário é avisado de que perdeu o posto e a corrida recomeça.
Telehack pode não ensinar alguém a hackear de verdade, já que faz uso de scripts e programas prontos, mas certamente ajuda o jogador a encarar o terminal de comandos de uma maneira mais despreocupada, deixando-o mais à vontade com os muitos cd, more e rlogin que podem ser executados na vida real.