01.01.2013 Views

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Compreendendo o netfilter:<br />

Quando comecei a ler do documento do bioforge, tinha uma expectativa,<br />

que foi muito mais do que suprida!<br />

Trabalhar com o netfilter abre todo um leque de opções em relação ao<br />

hacking, e agiliza muito o desenvolvimento da camada de networking<br />

dentro de um rootkit.<br />

Basicamente ele trabalha muito parecido com o iptables, então se vc<br />

conhecer um pouco do iptables, de linguagem C, e de desenvolvimento de<br />

módulos, vc ja esta bem encaminhado e não terá muitos problemas para<br />

compreender o que vou mostrar aqui.<br />

Bom algo interessante de se saber é que quando vc esta trabalhando com<br />

o iptables, vc ja esta mexendo com o netfilter mas nem sabe hehehehehe,<br />

entre outras coisas o iptables constrói e insere hoks dentro do netfilter<br />

da mesma forma que faremos aqui. :)<br />

Primeiro pra quem não conhece o iptables, vamos responder uma<br />

pergunta que talvez estejam se fazendo:<br />

O que é uma hok?<br />

Uma hok(neste caso), é um momento em que o pacote pode ser analisado<br />

e uma função que é disparada para a analise ou alteração do pacote. Um<br />

exemplo é o seguinte (válido para ipv4):<br />

Um pacote atravessando o Netfilter:<br />

--->[1]--->[ROUTE]--->[3]--->[4]---><br />

| ^<br />

| |<br />

| [ROUTE]<br />

v |<br />

[2] [5]<br />

| ^<br />

| |<br />

v [ROUTE]<br />

|<br />

Fig.1 Arquitetura do netfilter.<br />

Peguei este desenho "emprestado" do site do netfilter.org hehehehe :D.<br />

Bom podemos considerar 5 hoks neste desenho:<br />

1. NF_IP_PREROUTING = Esta primeira "hok" é conhecida como<br />

NF_IP_PRE_ROUTING, como vc ja deve ter notado pelo próprio nome, ela<br />

é disparada logo após a checagem de validade do pacote(checksums, um<br />

110

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!