Liber 000 - Astrum Argentum
Liber 000 - Astrum Argentum Liber 000 - Astrum Argentum
} fprintf(stderr, "Uso: %s -l logfile\n", argv[0]); exit(0); } if (argc > 1) { endereco = (argv[1]); arquivo = endereco; portai = 1; portaf = 65000; } if (argc > 2) { portai = atoi((char *) argv[2]); portaf = atoi((char *) argv[3]); } if (argc > 3) { endereco = (argv[1]); arquivo = endereco; } if (argc > 4) { opcao = ++(argv[4]); if (*opcao == 'l') arquivo = (argv[5]); } signal(SIGALRM, timeout); if ((fp = fopen(arquivo, "w+")) == NULL) { perror("fopen()"); exit(-1); } a = 0; portas = portai; fprintf(fp, "-------------------------------------\n"); fprintf(fp, "-- Resultado --\n"); fprintf(fp, "-------------------------------------\n"); scan(endereco); printf("Feito ! Veja os resultados no arquivo de log\n"); return (0); fclose(fp); void timeout() { conector = -1; } void scan(char *endereco) { 32 /*Testa TCP */ ; while (portas
} /*Declaracao do Socket*/; } msocket = socket(AF_INET, SOCK_STREAM, 0); if (msocket < 0) { perror("socket()"); continue; } alvo.sin_family = AF_INET; alvo.sin_port = htons(portas); alvo.sin_addr.s_addr = inet_addr(endereco); bzero(&(alvo.sin_zero), 8); fprintf(stderr, "\033[36mScanning : \033[37m"); fprintf(stderr, "%i\r", portas); alarm(5); /* Teste do Socket*/ conector = connect(msocket, (struct sockaddr *) &alvo, sizeof(alvo)); alarm(0); if (conector < 0) { /* printf("Porta TCP Inativa %i\n", portas); */ close(conector); close(msocket); a++; portas++; continue; } fprintf(fp, "Conexao aceita na porta TCP %d\n\n", portas); a++; portas++; close(conector); close(msocket); Eis a proposta de nossa primeira parte acima feito e para vocês modificarem a seu bel prazer. Proponho para os mais ousados um desafio : montar um scanner que resolva por nome no lugar do IP; O Mundo Cliente / Servidor Estaremos agora explorando um dos pontos mais importantes e vastos deste fascinante assunto : a programação cliente / servidor. Nos dias de hoje a Internet e a maioria aplicações de rede estão baseadas na filosofia cliente/ servidor. 33
- 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 and 24: Quod facis, Fac citius Antes de ter
- Page 25 and 26: Nós iremos explorar nestes nossos
- Page 27 and 28: main(){ int e_socket; struct sockad
- Page 29 and 30: utilizando a função CONNECT(). co
- Page 31: O Grande exemplo I : Eis aqui o sca
- 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
- Page 75 and 76: * MotdLabs . * Compilação: # gcc
- Page 77 and 78: oot@motdlabs:~/IP_FIX/shellcode# gc
- Page 79 and 80: * Criamos um ponteiro para uma fun
- Page 81 and 82: 0x8048317 : sub $0x8,%esp 0x804831a
}<br />
fprintf(stderr,<br />
"Uso: %s -l logfile\n",<br />
argv[0]);<br />
exit(0);<br />
}<br />
if (argc > 1) {<br />
endereco = (argv[1]);<br />
arquivo = endereco;<br />
portai = 1;<br />
portaf = 65<strong>000</strong>;<br />
}<br />
if (argc > 2) {<br />
portai = atoi((char *) argv[2]);<br />
portaf = atoi((char *) argv[3]);<br />
}<br />
if (argc > 3) {<br />
endereco = (argv[1]);<br />
arquivo = endereco;<br />
}<br />
if (argc > 4) {<br />
opcao = ++(argv[4]);<br />
if (*opcao == 'l')<br />
arquivo = (argv[5]);<br />
}<br />
signal(SIGALRM, timeout);<br />
if ((fp = fopen(arquivo, "w+")) == NULL) {<br />
perror("fopen()");<br />
exit(-1);<br />
}<br />
a = 0;<br />
portas = portai;<br />
fprintf(fp, "-------------------------------------\n");<br />
fprintf(fp, "-- Resultado --\n");<br />
fprintf(fp, "-------------------------------------\n");<br />
scan(endereco);<br />
printf("Feito ! Veja os resultados no arquivo de log\n");<br />
return (0);<br />
fclose(fp);<br />
void timeout()<br />
{<br />
conector = -1;<br />
}<br />
void scan(char *endereco)<br />
{<br />
32<br />
/*Testa TCP */ ;<br />
while (portas