Liber 000 - Astrum Argentum
Liber 000 - Astrum Argentum Liber 000 - Astrum Argentum
UM TUTORIAL SOBRE SOCKETS “Um Homem que realiza a sua Verdadeira Vontade, tem a inércia do Universo para ajudá-lo” Teorema de Magick Por Antonio Marcelo (amarcelo@plebe.com.br) Apresentação Este tutorial foi inicialmente apresentado na revista H4CK3R da editora Digerati em diversos números e dividido em lições. É com muita alegria que eu o vejo aqui novamente publicado sob a forma de um mini tutorial abarcando todas as lições e transformado em um guia de trabalho. Este trabalho é apenas uma espécie de “preview” do Liber001 que no momento se encontra em confecção com Frater Albertus Rabelais e que será lançando em breve. Espero assim ajudar a muitos que desejam estudar mais e alcançar seus objetivos. Iniciando As grandes ferramentas utilizadas por especialistas de segurança, hackers e crakers tem como base a linguagem C ANSI ou C ++. Muitos dos scanners, sniffers, backdoors, etc. , exploram um recurso muito conhecido na programação-cliente servidor : os sockets. Um socket é nada mais nada menos que um programa, ou rotinas de programas que permitem a comunicação, interligação e troca de dados entre aplicações. Por exemplo quando é feita uma conexão de FTP, um socket é estabelecido entre a origem e o destino. Até mesmo os famosos exploits utilizam sockets para estabelecer comunicação. 24
Nós iremos explorar nestes nossos tutoriais os mais variados tipos de socketes, inclusive o RAW SOCKETS, que é o mais interessante de todos. O que você precisa para começar : a) Compilador C – Iremos explorar nosso tutorial em ambiente Linux e por isso utilizaremos o compilador GCC. Esta decisão foi tomada por porque o GNU Linux além de ser um sistema gratuito é o mais utilizado e explorados pelos especialistas de segurança para o desenvolvimento de ferramentas. b) Uma rede com TCP/IP – Apesar de ser um acessório importante, podemos simular com um micro com uma placa de rede um ambiente d etrabalho. c) Sistema Operacional Linux – Por ser robusto, confiável e ter tudo para o desenvolvimento de aplicações baseadas em sockets. d) Paciência e perseverança – Isto é muito importante, pois não se aprende do dia para noite. Primeiros Passos : Basicamente um socket pode ser declarado mediante três headers básicos : #include #include #include Estes três headers permitem que utilizemos as funções para a montagem de uma conexão. A definição de um socket é feita da seguinte maneira em C : #include #include #include main(){ int e_socket; ... } Com isto começamos o nosso trabalho.Vamos começar utilizando os dois tipos de sockets, mais utilizados em aplicações, baseados no o protocolo TCP (Stream Sockets) e os que utilizam o protocolo UDP (Datagram Sockets). Estes sockets também são conhecidoscomo "SOCK_STREAM" e "SOCK_DGRAM", respectivamente. 25
- Page 1 and 2: 1 E Q U I N O X G R E E N Volume I
- Page 3 and 4: 2. FAZENDO CÓPIAS EXATAS Você pod
- Page 5 and 6: 10. REVISÕES FUTURAS DESTA LICENÇ
- Page 7 and 8: E Q U I N O X G R E E N O O R G Ã
- Page 9 and 10: E D I T O R I A L “Faze o que tu
- Page 11 and 12: Mensagem ao Estudante : Liber 000 A
- Page 13 and 14: Fraters afim de poder atender a tod
- Page 15 and 16: Este mundo tenta levar o neófito a
- Page 17 and 18: O Manifesto de um Hacker Data do Do
- Page 19 and 20: Seção 002h O Primeiro Portal Agor
- Page 21 and 22: Servidor : Endereço IP eth0 : 10.0
- Page 23: Quod facis, Fac citius Antes de ter
- Page 27 and 28: main(){ int e_socket; struct sockad
- Page 29 and 30: utilizando a função CONNECT(). co
- Page 31 and 32: O Grande exemplo I : Eis aqui o sca
- Page 33 and 34: } /*Declaracao do Socket*/; } msock
- Page 35 and 36: transmitidos e aceitos pelo destino
- Page 37 and 38: SackOK é típico de um cliente FTP
- Page 39 and 40: int nsocket, newsocket; struct sock
- Page 41 and 42: if ((he=gethostbyname(argv[1])) ==
- Page 43 and 44: O backtcp.c O backdoor aqui apresen
- Page 45 and 46: Apresentando o Código : Finalmente
- Page 47 and 48: ) Protocolo IP (IP Protocol) - Este
- Page 49 and 50: ICMP (Internet Control Message Prot
- Page 51 and 52: # error "Please fix " #endif u_int8
- Page 53 and 54: ip_origem = inet_addr("127.0.0.1");
- Page 55 and 56: if (envia == -1) { perror("sendto()
- Page 57 and 58: Por Frater Q.V.I.F. 196 O E Q U I N
- Page 59 and 60: de Crowley, não exatamente a tradu
- Page 61 and 62: shellcodes, mas não quer dizer que
- Page 63 and 64: } shellcode/cwrite.c OBS: Sempre d
- Page 65 and 66: Vamos analisar o que fizemos e comp
- Page 67 and 68: da próxima instrução que no caso
- Page 69 and 70: Provavelmente você verá uma mensa
- Page 71 and 72: Type "show copying" to see the cond
- Page 73 and 74: oot@motdlabs:~/IP_FIX/shellcode# gc
UM TUTORIAL SOBRE SOCKETS<br />
“Um Homem que realiza a sua Verdadeira Vontade, tem a inércia do<br />
Universo para ajudá-lo”<br />
Teorema de Magick<br />
Por Antonio Marcelo (amarcelo@plebe.com.br)<br />
Apresentação<br />
Este tutorial foi inicialmente apresentado na revista H4CK3R da editora<br />
Digerati em diversos números e dividido em lições. É com muita alegria<br />
que eu o vejo aqui novamente publicado sob a forma de um mini tutorial<br />
abarcando todas as lições e transformado em um guia de trabalho. Este<br />
trabalho é apenas uma espécie de “preview” do <strong>Liber</strong>001 que no<br />
momento se encontra em confecção com Frater Albertus Rabelais e que<br />
será lançando em breve. Espero assim ajudar a muitos que desejam<br />
estudar mais e alcançar seus objetivos.<br />
Iniciando<br />
As grandes ferramentas utilizadas por especialistas de segurança,<br />
hackers e crakers tem como base a linguagem C ANSI ou C ++. Muitos<br />
dos scanners, sniffers, backdoors, etc. , exploram um recurso muito<br />
conhecido na programação-cliente servidor : os sockets.<br />
Um socket é nada mais nada menos que um programa, ou rotinas de<br />
programas que permitem a comunicação, interligação e troca de dados<br />
entre aplicações. Por exemplo quando é feita uma conexão de FTP, um<br />
socket é estabelecido entre a origem e o destino.<br />
Até mesmo os famosos exploits utilizam sockets para estabelecer<br />
comunicação.<br />
24