Ahora
bien, quiz?s estas leyendo esto porque quieres hacerte una idea de c?mo
se hackea un sitio. Existen varios niveles y t?cnicas de hackeo:
Change Coding
Este
tipo de hackeo es muy divertido y, la mayor?a de las veces, inocuo. Se
trata simplemente de modificar el c?digo que despliega una p?gina de
Internet agregando ?rdenes en javascript o VB script desde la barra URL
del navegador. Incluso la elemental p?gina de Google ha sufrido este
tipo de hacking.
SQL Injection
Como habr?s notado,
muchos sitios en la red muestran una caja de "Buscar" o "Search". En
SQL el punto y coma ( ; ) funcionan como el fin de comando y el doble
gui?n (--) como comentario. Si sabes el nombre de la tabla (o intentas
adivinarlo) donde se guardan los passwords de los usuarios puedes jugar
un poco enviando cosas como: UPDATE users SET password="hack"; este
tipo de hackeo es muy entretenido (horas y horas de sana diversi?n ;-)
) y te sorprender?s del hecho de que incluso sitios de grandes empresas
internacionales no poseen ning?n sistema de filtrado. SQL Ruleezzz!!!
Phising "password harvesting fishing" (cosecha y pesca de contrase?as)
Es
una t?cninca que consiste en duplicar (hasta en el m?s m?nimo detalle)
un sitio web verdadero en nuestro propio servidor. Debemos ir a
Hotmail, Gmail, Yahoo!, etc?tera, ver el c?digo HTML y guardarlo en
nuestro propio server. Luego enviamos un email a la persona de la cual
deseamos su clave con algo como "Alguien muy especial te ha enviado una
Ciber-tarjeta, haz click aqu?" y lo enviamos a nuestro propio Webserver
en Linux. El usuario cree que est? entrando en la p?gina de inicio de
Hotmail e introduce su login y password, ?pero ahora es nuestro!
Dictionary's attack Existen personas (y administradores de sistemas)
Que
piensan que por usar palabras como "fanerogama"o "porfirogeneta" como
password, nadie los podr? adivinar. Pero en realidad esas palabras
existen en cualquier diccionario, y los diccionarios que sirven para
revisar la ortograf?a en los procesadores de texto como AbiWord,
tambi?n pueden ser usados para intentar logearse dentro de un sistema
ajeno. Existen scripts que usan cada palabra de los diccionarios en
espa?ol, ingl?s, franc?s, finland?s, turco, etc. para hacer un login.
Estos scripts pueden tardarse mucho tiempo haste encontrar un password
que corresponda a la palabra y cuando lo hacen, envian un email al
hacker para avisarle cual palabra es un password. Los hackers que se
consideran a s? mismos elegantes y creativos sienten aversi?n por este
tipo de hackeo pues en el simplemente se aplica la fuerza bruta (y la
paciencia).
buffer overflow (o simplemente overflow)
Los
programas se almacenan en buffers (secciones contiguas de memoria),
bajo ciertas circunstancias los datos que se env?an al buffer
sobrepasan su capacidad y la memoria se "desparrama", generalmente esto
provoca que el programa colapse pero muchas veces, durante una peque?a
fracci?n de segundo, la informaci?n enviada al buffer puede ejecutarse
con los permisos del usuario due?o del proceso. El hacker (que debe
conocer bien C y ensamblador) aprovecha esto, env?a muchos datos al
buffer, para desbordarlo y ejecutar c?digo malicioso. Existen pocos
hackers con el suficiente talento como para aprovechar un overflow
reci?n descubierto, el problema es que luego de un par de semanas de
conocido el exploit, comienzan a aparecer en la red scripts que
automatizan el hackeo y todos los script kiddies comienzan a
ejecutarlos. Soluci?n: coloque un "apt-get -f -y dist-upgrade" en el
cron y mant?ngase informado.
A los errores en la
programaci?n se les conoce como "bugs" o bichos, la mayor?a de los bugs
s?lo hacen que los programas no funcionen como deben pero algunos
pueden ser aprovechdos para violar la seguridad, a estos bugs se les
conoce como "exploits". Es decir, no todos los bugs son exploits pero
todo exploit es un bug.
Denegation of Service o DOS
La
denegaci?n de un servicio implica que el hacker ha aprovechado un bug
en un programa para " tirar" un servicio del servidor. Generalmente se
trata del Webserver. El IIS de Microsoft es particularmente vulnerable
a este tipo de ataques. Tanto el Change Coding como el DOS son hacks
relativamente ben?volos pues no implican (necesariamente) a un intruso
en el sistema.
Aplication level
Esto ya es m?s
serio, alguien se ha apropiado de una aplicac?n del sistema. La mayor?a
de las veces se trata de una aplicaci?n Web como PHP-Nuke o MyAdmin.
Sin embargo en ocasiones el dominio de una aplicaci?n conduce a tener
m?s accesos y facilidades en el hackeo.
Root hacking
Este
es el hack m?s grave, el hacker ha tomado el control del sistema y
puede hacer lo que quiera con ?l. Generalmente el hacker tratar? de
pasar desapercibido y cre?ra un usuario con todos los derechos para
entrar cuando quiera al sistema y regodearse de lo poco h?bil que es el
administrador.
Hay que considerar que muchas veces no existe
una diferencia clara en estos niveles. Muchos hackeos al root empezaron
siendo un simple juego de Cross scripting con el cual el hacker obtuvo
el password de PHPNuke, con lo cual se hizo con el password de Mysql y
dado que era una versi?n no actualizada de Mysql, ejecut? un overflow
con el que se hizo root. Si detectamos un root hacking lo primero es
desconectar el equipo de la red, hacer un an?lisis forense de los paso
del hacker, respaldar y formatear el disco duro incluyendo el MBR.
Muchos administradores se sienten avergonzados y reinstalan el sistema
r?pidamente y sin decirle a nadie que ha sido hackeado. Esta es una
actitud equivocada, sea humilde y reconozca que ha sido vencido en
buena lid. Inf?rmele a sus colegas y hagan juntos el an?lisis de c?mo
fue que el intruso entr? y como mejorar las pol?ticas para que eso no
vuelva a ocurrir. Un hacker puede ense?arle much?simo sobre seguridad,
a?n cuando no hubiese tenido ninguna intenci?n de ello.
Cross
scripting, o XSS, es una t?cnica de hackeo que consiste en enviar
informaci?n maliciosa a trav?s del browser. En versiones anteriores de
Internet Explorer era suficiente con colocar:
?op=userinfo&uname=alert(document