|
Término
con el que se denomina en el entorno "hacker" a un método
concreto de usar un error de algún programa (bug) para entrar en
un sistema informático. Generalmente, un exploit suele ser un programa
que se aprovecha de algún error del sistema operativo, por ejemplo,
para obtener los privilegios del administrador y así tener un control
total sobre el sistema. Aunque como decíamos, un exploit no tiene
por que ser un programa, por definición es simplemente una forma
de sacar provecho de un error en un programa (explotar un error).
Recuerda que la utilización de un "exploit" sin la supervisión/aprobación
del administrador del sistema puede ser considerado (y lo es) un delito
y está penado con fuertes multas y/o cárcel. "elhacker.net"
no se hace responsable del MAL USO de estos exploits. Úsalos siempre
bajo tu propia responsabilidad, con moderación y para auditar/testear
tus propios sistemas o investigar tus propias máquinas.
¿Cómo
se usan?
Dado
que no se puede establecer una regla general porque cada uno ataca un
problema diferente es una buena costumbre leer el código fuente
para saber como compilarlo y ejecutarlo con éxito.
Además
a menudo vienen con algún texto explicativo tipo leeme o similar.
nano exploit.c
pico exploit.c
more exploit.c
cat exploit.c
etc...
En un entorno
unix/linux lo normal será bajar el código fuente y luego
compilarlo. Para ello se sigue el procedimiento habitual de la compilación
de un programa en unix/Linux. Esto es:
gcc exploit.c -o exploit
y luego para
ejecutarlo:
./exploit parámetro1 parámetro2 ... parámetro n
Pero si el
exploit estaba en perl
perl exploit.pl parámetro1 parámetro 2 ... parámetro
n
Si el exploit
está en shell script
./sh exploit.sh parámetro1 parámetro 2 ... parámetro
n
Si deseas
compilarlo en windows tendrás que tener la herramienta apropiada
para manejarlo en windows. Si
está en C Dev c/c++ o LCCWIN 32 por ejemplo. Si está en
perl necesitarás un emulador de perl para windows
¿Qué
clases de exploit hay?
Se
puede diferenciar a los exploit en locales y remotos. Los exploits locales
actúan en la máquina en la que están. Por tanto si
deseo atacar otro ordenador primero tendré que subir ese código
y luego conseguir ejecutarlo para que funcione allí. Si lo ejecuto
aquí actuará aquí.
Los exploit
remotos se ejecutan desde aquí, pero actúan en otra máquina
víctima de manera que utilizas algún servicio conectado
a la red que tenga una vulnerabilidad para poder obtener un tipo de beneficio
como puede ser acoplar una red a un puesto no privilegiado (p. ej. el
1024).
¿Qué
es un puerto no privilegiado?
Los puertos no privilegiados son los puertos mayores de 1024.
Los anteriores están reservados al sistema y al usuario root. Solo
podrás usar un puerto privilegiado si el exploit consigue ser root
o funcionar en el GDT del kernel.
|