"Cogito ergo sum"
RSS icon Email icon Home icon
  • MD5 “Decrypter”, Java

    Posted on June 23rd, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Nas aulas de programação concorrente o professor passou uma introdução de Programação Distribuida e pediu que nós criassemos algo que utilizasse ela. Então eu sugeri ao meu colega Olav para implementarmos um “quebrador” de senha por força bruta. O mesmo funciona da seguinte maneira, existe um master onde os slaves se conectam, o master informa a string a ser quebrada e qual faixa de caracteres o slave deve tentar. Após terminar aquela faixa caso ele não obtenha sucesso o slave recebe uma nova faixa, caso ele encontre, ele informa o master qual a string utilizada para gerar tal MD5.

    Implementação do “MD5 Decrypter”

    Existem muitas coisas que ainda podem ser aperfeiçoadas nesse programa como:
    - Não precisar um número fixo de Slaves. Aceitar todos que forem se conectando em tempo real.
    - Melhor distribuição de faixas.

    Ele pode ser praticamente o inicio de um programa de Força Bruta Distribuida, que já devem existir vários por ai.

    Espero que goste,
    Matheus

  • Exercício Estacionamento, Java, Programação Concorrente.

    Posted on June 22nd, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa tarde,

    Semana passada fiz a última prova de Programação Concorrente deste semestre. O problema que devia se solucionar era o seguinte:

    O estacionamento de uma universidade possui 30 vagas. Enquanto o mesmo possue vagas, não existe prioridade para quem estaciona. Quando o mesmo está cheio, forma-se uma fila, onde professores possuem a mais alta prioridade, seguido pelos funcionarios e após os alunos. Utilize java com Threads para “simular” este problema. Utilize 10 professores, 15 funcionários, 30 alunos.

    O Professor Mazzucco, disponibilizou uma implementação do mesmo que vou disponibilizar para vocês.

    Implementação problema estacionamento em Java

    Matheus

  • Seja livre.

    Posted on June 18th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Como você deve saber, estou numa correria, final de semestre, provas, trabalhos e tudo mais. Por estas razões não tenho publicado regularmente no blog mas em breve isso passa e tudo volta ao normal. Hoje, consegui tirar um tempo para ver um documentário que já queria ter visto a algum tempo. Venho por meio deste recomendar o mesmo “IN Proprietario – O mundo do software livre” e outros.

    IN Proprietario – O mundo do software livre
    - Documentário Brasileiro que tem como tema o Software Livre.

    Revolution OS (Ingles) | Link Alternativo (BestDocs) | Legenda (BestDocs)
    - Documentário Revolution OS, que fala sobre um sistema operacional revolucionário. Linux.

    Freedom Downtime | Legenda
    - Documentário Freedom Downtime, que fala um pouco sobe a história da vida de Kevin Mitnick e mostra uma visão mais realista do que aconteceu com ele. Diferente do filme Antitrust.

    Espero que você goste,
    Matheus

  • Tabela de “conversão” – 3 – Organização de Computadores (INE5411)

    Posted on June 16th, 2009 Matheus (X-warrior) Bratfisch No comments

    Olá

    Este tópico tem o intuito de complementar os dois anteriores, adicionando as novas lectures e a “conversão” de mais páginas do livro em inglês para a versão em Português

    Para ver as novas atualizações continue lendo, não quero socar a página principal de números e coisas sem sentido para muitos.

    Matheus Bratfisch

    Read the rest of this entry »

  • Atualizar End Point, TunnelBroker.

    Posted on June 15th, 2009 Matheus (X-warrior) Bratfisch No comments

    Bom dia!

    Estou utilizando IPv6 aqui na minha rede local, porém sempre que eu iniciava o servidor tinha que acessar o site tunnelbroker e atualizar o End Point, então tive a idéia de fazer um script que atualizasse sozinho. Enviei um e-mail para o suporte deles e recebi a seguinte url como resposta: http://ipv4.tunnelbroker.net/ipv4_end.php

    ipv4b = Novo endereço de IP
    pass = md5 da sua senha (http://hash-it.net/)
    user_id = O “UserID” da página principal no tunnelbroker (não é seu usuário)
    tunnel_id = O “Global Tunnel ID” da página de detalhes do tunnel

    Adicionei o seguinte comando no /etc/rc.local para pegar o IP atual da interface eth0 (externa):

    IP=`ifconfig eth0 | grep “inet addr” | cut -d : -f 2 | cut -d B -f 1 | sed ’s/^ *//;s/ *$//’`

    Após isso adicionei a seguinte linha para fazer a requisição e atualizar o End Point:

    wget https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=$IP&pass=senha&user_id=USERID&tunnel_id=TUNNELID

    Abraço,
    Matheus

  • Liberar acesso por MAC e IPtables.

    Posted on June 8th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Como pretendo fazer um Captive Portal em meu servidor resolvi instalar um Apache para exibir as páginas de autenticação ou seja quando o usuário não estiver autenticado ele ficará vendo está página em toda sua requisição WEB. O problema é que quando acessavamos algum endereço de IP a página era exibida mas ao se utilizar endereços isto não acontecia pois ele não conseguia acesso até o DNS. Pesquisei um pouco pela internet e vi alguns falando sobre a instalação de um servidor DNS no próprio servidor, fiz isso mas não achei muito interessante então pensando sobre regras de iptables me veio a grande idéia de simplesmente redirecionar os acessos a porta 53. As regras que utilizei para Bloquear acesso de MAC não liberados, redirecionar a porta 80 para meu apache, permitir acesso ao DNS foram as seguintes:

    Ainda estou brincando com o servidor e hoje estava querendo liberar acesso exclusivamente para os MAC aqui de casa, garantindo assim que nenhum vizinho vai pegar meu sinal e utilizar. Demorei algum tempo para conseguir regras que funcionassem efetivamente.

    Liberar acesso de tal MAC ADDRESS:

    iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -m mac –mac-source MAC -j ACCEPT

    Redirecionar porta 80 para 8080

    iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -p tcp –dport 80 -j REDIRECT –to-port 8080

    Liberar acesso somente ao servidor DNS:

    iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -p udp –dport 53 -j DNAT –to IP:53

    Bloquear todos os acessos:

    iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -j DROP

    Matheus

    PS: Se as mesmas não estiverem funcionando, não se esqueca de dar uma verificada nas suas regras atuais de iptables pois pode ter algo proibindo ou liberando tudo antes. Então fique atento.

  • Liberando ping no servidor.

    Posted on June 7th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Na publicação anterior comentei sobre a liberação do “ping” (ICMP) de tal local para seu servidor. Caso você utilizesse Iptables e por padrão DROP em todas as “regras”, você poderá liberar pings apenas de determinado ip da seguinte maneira:

    $ sudo iptables -A INPUT -p icmp -s 150.162.60.37 -j ACCEPT

    Lembrando que você deve olhar a ordem das regras, pois isto importa em iptables.

    Matheus Bratfisch

  • Utilizar IPv6 em toda a sua rede.

    Posted on June 6th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Como você deve saber o número de IPS na internet estão acabando, as previsões indicam que eles devem se esgotar até 2011. E como ficaremos? Calma, não se assuste! Já foi inventada a alguns anos a tecnologia que está substituindo os IPv4, são os chamados IPv6. (Que eu publiquei o link pro curso da CGI.BR lembra?). Então, hoje em dia já existem serviços destinados ao IPv6. Para fazer o uso do IPv6 existem alguns métodos e vou demonstrar como fiz na minha rede para conseguir IPv6 para os computadores. Lembrando que a minha rede possui um “Ubuntu Server” para receber e compartilhar a internet.

    Inicialmente crie um cadastro em http://www.tunnelbroker.net. Após o cadastro realizado e confirmado acesse o menu “Create Regular Tunnel” e coloque o IP da sua residencia, o ponto final do tunnel, escolha o servidor mais perto de você e pronto. (Você não deve bloquear pings (ICMP) do servidor, se não ele não permitira que o tunnel seja criado).

    Pressione o link ao lado direito de “Routed /48:”, assim ele lhe dará uma “classe” de ip para você utilizar em sua rede caseira.

    Após feito isso, acesse seu servidor e crie o tunnel para ele da seguinte maneira:

    # IPV6 da sua placa de rede INTERNA
    sudo ifconfig eth1 inet6 add 2001:470:d8dd:1::1/64
    # Levanta interface sit0
    sudo ifconfig sit0 up
    # Cria um tunnel para o IP do seu servidor (Substituia o IP_DO_SERVIDOR pelo valor do “Server IPv4 address”)
    # MANTENHA OS “::”
    sudo ifconfig sit0 inet6 tunnel ::IP_DO_SERVIDOR
    # Levanta interface sit1
    sudo ifconfig sit1 up
    # Adiciona o IPv6 a interface sit1 (Substitua ROUTED pelo valor “Routed /48″)
    sudo ifconfig sit1 inet6 add ROUTED
    # Redireciona os tráfegos IPv6 para sit1
    sudo route -A inet6 add ::/0 dev sit1
    # Habilita IPv6 Forwarding.
    sysctl net.ipv6.conf.all.forwarding=1

    Teste se você está utilizando IPv6 da seguinte maneira:
    $ ping6 ipv6.google.com

    Nas demais máquinas das redes deve ser feito o seguinte:

    $ sudo ifconfig eth1 inet6 add IPv6_DA_SUA_MAQUINA
    $ sudo ip route add ::/0 via IPv6_DO_SERVIDOR

    Caso você não queira configurar manualmente você pode utilizar o RaDVD que é um “router advertisement daemon”.

    Vamos supor que seu Routed/48 é 2001:530:d822::/48 o IP da placa de rede do seu servidor conectada a rede local poderia ser: 2001:530:d822:1::1/64. Então o IP da sua máquina seria 2001:530:d822:1::2/64.

    Agora de sua máquina tente pingar com ping6 o seu servidor e ipv6.google.com. Se obter resposta está tudo certo. (é claro ¬¬’)

    Espero que seja de utilidade a você,
    Matheus

    PS: Caso você deseje utilizar IPv6 somente em uma máquina conectada diretamente na internet cadastre-se no mesmo site, crie seu tunnel e siga as instruções no final da página do tunnel.

  • Instalar e Configurar servidor DHCP.

    Posted on June 6th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Estou pensando em uma estrutura de rede que seja eficiente para a minha casa e no momento resolvi fazer alguns testes com idéias sugeridas pela galera do irc.freenode.net @ #ipv6.br e do meu laboratório e me funcionaram bem até o momento.

    Retirei o meu Servidor da porta WAN do meu roteador deixando a rede na seguinte estrutura:

    Modem -> (eth0) Ubuntu Server (eth1) -> (LAN PORT) Roteador (LAN PORT) -> Computadores.

    Desabilitei o Servidor DHCP do Roteador e criei o meu na mesma faixa de IPS do Roteador no Ubuntu Server para instalar e configurar o mesmo procedi da seguinte maneira:

    $ sudo apt-get install dhcp3-server

    Após a instalação do mesmo abri o arquivo “/etc/dhcp3/dhcpd.conf” e comentei todas as linhas, após feito isso fiz o seguinte:

    INTERFACES=”eth1″; # INTERFACE CONECATADA AO MEU ROTEADOR
    ddns-update-style none;
    default-lease-time 600;
    max-lease-time 7200;
    authoritative; # DHCP PRINCIPAL DA REDE

    subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.100 192.168.0.150; # FAIXA DE IPS A SER DISTRIBUIDA
    option routers 192.168.0.254; # GATEWAY
    option domain-name-servers 200.247.141.11; # SERVIDOR DNS
    option subnet-mask 255.255.255.0; # MASCARA DE SUBREDE
    option broadcast-address 192.168.0.255; # ENDEREÇO DE BROADCAST
    default-lease-time 600;
    max-lease-time 7200;
    }

    Lembrando que a faixa de IPs utilizada normalmente por meu roteador era 192.168.0.x mas eu poderia alterar a mesma porém preferi utilizar a default.

    Após feita as configurações executei o seguinte comando:

    $ sudo /etc/init.d/dhcp3-server restart

    O mesmo reiniciou com alguns problemas porque esqueci alguns “;” mas após corrigido os pequenos erros o DHCP Server iniciou normalmente, testado e funcionando.

    Espero que seja de utilidade a todos,
    Matheus Bratfisch

    PS: Lembrando que com a atual estrutura de redes eu posso utilizar filtros por MAC ADDRESS conseguindo assim implementar meu Captive Portal. *espero que nós proximos dias eu consiga implementa-lo*

    Referencias:
    Google + DHCP SERVER UBUNTU (tantos links que eu tentei que nem sei especificar quais que mais me ajudaram. Agradeço aos que me ajudaram e peço desculpas por não saber referenciar ao certo.)

  • Tradução unetbootin

    Posted on June 4th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Ontem pela madrugada resolvi ajudar a tradução do unetbootin entrei em contato com o responsável e ele me informou que poderia fazer a mesma na sua página de tradução. Entrei na mesma e verifiquei que é muito simples fazer traduções pelo sistema “translations da launchpad”.

    Lá existem vários projetos que precisam de tradução, então por que não colaborar? E você aproveita e pratica seu ingles. ;)

    Matheus