Skip to content


usando ssh para criar um tunel reverso

Semana passada estavamos (eu e meus amigos de irc) tentando ajudar um colega que estava com um determinado problema. Como ele estava utilizando uma máquina atrás de um firewall e ele não tinha acesso para fazer qualquer redirecionamento para esta máquina, falamos para ele criar um tunel reverso com ssh para conectarmos na máquina que ele estava e poder ajudá-lo com o problema que ele enfrentava.

Baseado no relato acima, vamos supor que tenho um servidor remoto cujo ip é 187.10.223.67, que a porta do ssh é a 22 (padrão) e que meu usuário remoto é but3k4, iremos utilizar as seguintes opções do ssh:

C - usa compactação de todos os dados que serão trafegados, muito útil para economizar banda.
N - não executa comandos no servidor remoto, portanto o usuário não precisa ter shell.
f - logo após conectar, coloca a conexão em background.
R - especifica qual porta irei ouvir no servidor remoto, em qual ip ela será listada e para qual porta do servidor local ela será redirecionada.

Agora, sabendo tudo que irei utilizar, peço para meu amigo digitar:

ssh -C -N -f -R 4444:localhost:22 but3k4@187.10.223.67

Com o comando acima, a porta 22 da máquina local, será listada automaticamente no loopback (127.0.0.1), na porta 4444 do ip 187.10.223.67.

Com isso, eu poderei conectar na máquina dele digitando:

ssh -p 4444 localhost -l root

Simples né? Túneis ssh são muito úteis e seu funcionamento como você mesmo viu é bem simples. Então, bom proveito.

Posted in Geral.

Tagged with , , , , , .


Port knocking utilizando iptables

Port Knocking é uma técnica que consiste em enviar uma sequência pré-determinada de pacotes em portas específicas para abrir conexão com algum host.

Não vou me aprofundar sobre o assunto, caso queira fazer isto, o google é seu amigo =). O que irei fazer é demonstrar como utilizar o iptables para realizar esta tarefa.

Supondo que a sua política padrão é DROP e que a porta do ssh é 22 (porta padrão), vamos criar uma regra para liberar o ssh por 20 segundos quando chegar uma conexão tcp na porta 65535:

iptables -A INPUT -i eth0 -p tcp -m state --state NEW --dport 22 -m recent --rcheck --seconds 20 --name SSH --rsource -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m state --state NEW --dport 65535 -m recent --set --name SSH --rsource -j DROP

Supondo que o ip do servidor onde você acabou de implementar as regras acima seja 187.10.223.67, digite:

telnet 187.10.223.67 65535

Logo em seguida, pressione CTRL + C e tente conectar no ssh, você terá somente 20 segundos após ter utilizado o telnet.

Simples né? com estas duas regras acima, você criou um port knocking em iptables :) .

Posted in Linux.

Tagged with , , , .


Palestra Latinoware 2009

Participei do latinoware 2009, este ano estava muito legal, com maior espaço para os standes e muita gente legal palestrando (incluindo eu).

Minha palestra tinha horário confirmado para as 12:00, como estava chovendo muito, levei uns 10 minutos para chegar no bloco onde iria palestrar. Chegando lá, levei uns 5 minutos para iniciar, isto inclui tirar a água da chuva que estava ensopando meu cabelo, ligar notebook e etc. Com isto, perdi minutos importantes e tive que acelerar em alguns tópicos e em outros resumir mais ainda. No geral minha palestra foi legal, o pessoal estava com muitas dúvidas tanto na parte de programação quanto na parte de sysadmin.

Para aqueles que quizerem baixar o conteúdo que foi apresentado, clique aqui.

Posted in Geral, Linux.

Tagged with , , , .


Transferindo arquivos com o nc

O nc (netcat) é o canivete suiço do tcp/ip, com ele é possível fazer N coisas (o ncode vai gostar de ouvir isso =P). Uma delas é fazer transferência de arquivos, ou seja, você não necessita de ssh ou scp nem tão pouco ftp, basta apenas utilizar alguma porta que esteja liberada em seu fw (caso for fazer transferências via internet).

O processo é simples, vamos supor que quero fazer o backup do /etc e automaticamente transferir para outra maquina, para isto, utilizo o nc como server:

tar -cvzpf - /etc | nc -vvv -l -p 1234

Do lado do cliente, utilizo:

nc -vvv <ip do servidor> 1234 > etc.tar.gz

As opções utilizadas foram:

-v = verbose
-l = listen
-p = port

Simples assim.

Posted in Linux, OpenBSD.

Tagged with , .


Controle arcade

Finalmente comprei meu controle arcade para jogar street fighter 4 no ps3. Quem estiver procurando um destes, é só procurar no ml.

controle arcade

Agora é só praticar e dar pancada a vonts.

Posted in Games.

Tagged with .




O material veiculado neste site poderá ser livremente distribuído segundo os termos da licença BSD.