Explotación del navegador. ¿Qué es un exploit? Cómo suceden los exploits

En la etapa de desarrollo, se integran mecanismos de protección contra piratas informáticos en todos los programas y redes, como bloqueos que evitan ataques no autorizados desde el exterior. La vulnerabilidad es similar a una ventana abierta, a través de la cual no será difícil para un atacante pasar. En el caso de una computadora o red, los atacantes pueden instalar malware al explotar una vulnerabilidad para obtener el control o infectar el sistema para sus propios fines egoístas, con las consecuencias correspondientes. La mayoría de las veces esto sucede sin el conocimiento del usuario.

¿Cómo se producen los exploits?

Los exploits son causados ​​por errores en el proceso de desarrollo del software, lo que resulta en vulnerabilidades en el sistema de protección del software que los ciberdelincuentes utilizan con éxito para obtener acceso ilimitado al programa en sí y, a través de él, a toda la computadora. Los exploits se clasifican según el tipo de vulnerabilidad que explota el atacante: zero-day, DoS, spoofing o XXS. Por supuesto, los desarrolladores de software pronto publicarán actualizaciones de seguridad para eliminar los defectos encontrados, pero hasta entonces, el programa sigue siendo vulnerable a los atacantes.

¿Cómo reconocer un exploit?

Dado que los exploits aprovechan los agujeros de seguridad en los programas, el usuario promedio tiene pocas posibilidades de detectar su existencia. Por eso es muy importante apoyar programas instalados actualizado, en particular, para instalar las actualizaciones de seguridad publicadas por los desarrolladores de software de manera oportuna. Si un desarrollador de software publica una actualización de seguridad para corregir una vulnerabilidad conocida en su software, pero el usuario no la instala, lamentablemente, el software no recibirá las últimas definiciones de virus que necesita.

¿Cómo arreglar el exploit?

Debido a que los exploits son consecuencia de deficiencias cometidas, su eliminación es responsabilidad directa de los desarrolladores, por lo que corresponderá a los autores preparar y distribuir las correcciones de errores. Sin embargo, la responsabilidad de mantener actualizados los programas instalados e instalar los paquetes de servicio de manera oportuna para evitar que los piratas informáticos aprovechen las vulnerabilidades recae completamente en el usuario del programa. Uno de formas posibles No se pierda las últimas actualizaciones: use un administrador de aplicaciones que se asegurará de que todos los programas instalados estén actualizados o, mejor aún, use la herramienta para encontrar e instalar actualizaciones automáticamente.

Cómo evitar que los piratas informáticos exploten vulnerabilidades programas de terceros
  • Asegúrese de tener las últimas actualizaciones de seguridad y parches para todos los programas.
  • Para estar seguro en línea y mantenerse actualizado, instale todas las actualizaciones tan pronto como se publiquen
  • Instale y use un antivirus premium que pueda actualizar automáticamente los programas instalados
Protégete de las hazañas

Use el sentido común y siga las reglas básicas trabajo seguro en Internet. Los piratas informáticos solo pueden explotar la vulnerabilidad si logran acceder a su PC. No abra archivos adjuntos en mensajes sospechosos ni descargue archivos de fuentes desconocidas. Mantenga actualizados los programas instalados e instale actualizaciones de seguridad de manera oportuna. Si desea que esta tarea sea lo más fácil posible, descargue el antivirus Avast, que no solo brindará una protección confiable contra todo tipo de malware, sino que también lo ayudará a instalar las últimas actualizaciones para programas de terceros.

Muchos profesionales novatos en el campo. seguridad de información Hay muchas preguntas sobre los exploits: ¿Qué son los exploits? ¿Quién escribe hazañas? ¿Cómo usar los exploits? ¡En este artículo encontrarás respuestas a estas preguntas!

¿Qué es un exploit?

Explotar- este es programa de computadora, una pieza de código de programa o una secuencia de comandos que explotan vulnerabilidades en software y se utiliza para atacar un sistema informático. El objetivo de un ataque puede ser tomar el control del sistema (escalada de privilegios) o interrumpir su funcionamiento (ataque DoS). ...

En esencia, un exploit es un pequeño ejemplo de cómo se puede explotar esta vulnerabilidad, pero en manos de un hacker experimentado, un exploit es un arma poderosa que le permite comprometer el sistema de destino.

¿Quién escribe hazañas?

Los exploits están escritos por miles de entusiastas apasionados por el estudio de la seguridad de la información, los publican en muchos sitios conocidos como SecurityFocus. No lo hacen por el bien de la gloria y no por la alegría de los script-kiddies, lo hacen por la notificación. administradores del sistema y otros expertos en seguridad de la información sobre la existencia de esta vulnerabilidad. Después de todo, teniendo a mano la implementación de una vulnerabilidad específica, puede escribir fácilmente un "parche".

¿Cómo usar los exploits?

A pesar del hecho de que muchos principiantes son llevados a un estupor por enormes bases con exploits, ¡usarlos es bastante fácil!

Por ejemplo, tomemos una vulnerabilidad encontrada en uno de los muchos componentes de Joomla. La descripción del exploit se puede encontrar siguiendo el enlace Joomla Component com_camp SQL Injection Vulnerability.

En primer lugar, debe observar la aplicación y la versión de la aplicación para la que existe la vulnerabilidad. Si encuentra lo que necesita, comience a estudiar la descripción del exploit. En la descripción suelen escribir exactamente donde se encontró la vulnerabilidad, en nuestro caso es el componente com_camp, como puedes ver la vulnerabilidad existe por falta de filtrado en la variable cid:

http://127.0.0.1/index.php?option=com_camp&task=show&cid=


Al visitar un sitio con esta vulnerabilidad y sustituir una comilla en la variable cid, lo más probable es que encuentre un error en la página, lo que indica la presencia de una inyección de sql.

¿Qué hacer a continuación? Sería una fantasía, ¡pero puedes hacer mucho! Aquí es donde llegamos al exploit en sí. En la página de descripción del exploit, generalmente publican un archivo con el exploit en sí o una línea de código de programa que debe compilarse o "alimentarse" de alguna manera a una aplicación vulnerable. En nuestro caso, vemos una línea de código sql que debe insertarse en la variable cid:

1/**/UNIÓN/**/SELECCIONAR/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14--


También en nuestro caso, vemos un ejemplo de la implementación de esta vulnerabilidad:

http://127.0.0.1/index.php?option=com_camp&task=show&cid=-1/**/UNION/**/SELECT/**/1,2,3,4,5,6,7,8, 9,10,11,12,13,14--


Con estos datos y conociendo la estructura de la base de datos de Joomla, puede obtener fácilmente todos los datos necesarios, incluidos los inicios de sesión y los hash de contraseñas de los usuarios, incluido el administrador.

¿Qué otros exploits hay?


Según el método para obtener acceso al software vulnerable, los exploits se dividen en remotos (remoto en inglés) y locales (local en inglés).

Los exploits están diseñados para realizar acciones de terceros en un sistema vulnerable y se pueden dividir entre ellos de la siguiente manera:

En general, GoogleHack y "Búsqueda avanzada" lo ayudarán a buscar un sitio específico, por ejemplo sitio: http:securityfocus.com inyección de sql joomla le traerá muchos exploits que le permitirán realizar una inyección de sql en joomla.

¿Todos los tontos pueden usar exploits?


No, no y NO. Para usar exploits, se requiere al menos un conocimiento general en programación (muchos exploits están especialmente escritos con errores y no brindan grandes oportunidades, porque esto es solo una "presentación" de una vulnerabilidad), también es necesario estudiar el sistema que está bajo ataque y recopilar suficiente información para llevarlo a cabo. La experiencia demuestra que muchas personas que quieren "dinero fácil" simplemente no tienen los conocimientos necesarios.

Conclusión:
Cada día se encuentran más y más vulnerabilidades y, por lo tanto, se escriben más y más exploits. ¡No los animo a que se conviertan en niños guionistas y de ninguna manera diré que no utilizarían esta información para fines ilegales!

La energía nuclear puede traer luz, o puede traer oscuridad eterna, cada uno decide por sí mismo cómo vivir...

Información para aquellos que no entienden bien qué es un exploit.
¿Qué es un exploit?
La definición "oficial" se puede leer en enciclopedias informáticas. Me gusta esto: "Dependiendo del propósito, un programa, pieza de código o secuencia de comandos que le permite aprovechar la explotación de una vulnerabilidad existente en el software para cualquier cosa que se controle mediante programación". En cierto sentido, un martillo contra un teléfono inteligente también es una hazaña técnica, que actúa con un objetivo primitivo: destruir el dispositivo. Consideremos la esencia, el principio de aplicación y el papel del exploit en la piratería del sistema. Se considera la cuestión de dónde obtener el exploit, si tiene sentido descargarlo o comprarlo, y por qué un exploit confirmado puede no funcionar.

  • que son los exploits
  • que son las hazañas
  • Un poco sobre las vulnerabilidades
  • El papel de un exploit en un ataque a un sistema
  • Un ejemplo de un exploit exitoso
  • Explotar bases de datos
  • Problemas con el exploit
¿De dónde viene el exploit? Amantes del concreto: sáltense la parte.
La explicación más simple es la “relación” entre una persona y un virus. Biológico. En nuestro cuerpo todo está pensado hasta el más mínimo detalle, sin embargo, ante un microcódigo desde el exterior, falla por un tiempo o para siempre. La vulnerabilidad es fácil falla del mecanismo(software incluido) responder adecuadamente a alguna acción del exterior, manteniendo las características y funcionalidad inherentes a ella (mecanismo). Y explotar llama un exploit solo si le permite obtener de vulnerabilidades beneficio. No lo tomes como ficción, es importante entenderlo enseguida.
Un poco sobre las vulnerabilidades.
Los módulos de Metasploit contienen exploits y están dirigidos a las vulnerabilidades. Es habitual que los pentesters formalicen los métodos mediante los cuales se agrupan estas vulnerabilidades. Así, se creó un diccionario en constante expansión. Vulnerabilidades y exposiciones comunes (CVE) - Vulnerabilidades comunes y detecciones. Así que recuerda: se encontrará con la abreviatura CVE más de una vez . La vista común se escribe en el siguiente formato:
CVE - ISSUE_YEAR - ASSIGNED_ID
por ejemplo
CVE 2008-4250
Si quieres echar un vistazo Lista llena boletín de noticias, vaya aquí:

De hecho, hay muchas más vulnerabilidades que pueden revelar los secretos del host que la lista oficial de este boletín. Sí, para entrar en este diccionario, las vulnerabilidades deben "ganarse" un lugar. Y por supuesto, no hay una organización específica que se ocupe oficialmente de esto. Todo depende del objetivo del futuro exploit: no hay vulnerabilidad sin exploit. Pero en cualquier caso, casi todos los caminos conducen a Exploit Database y al recurso anterior.
Los problemas de seguridad para los productos de Microsoft son una línea separada. Se generan en una lista separada denominada Boletín de seguridad de Microsoft. Sus vulnerabilidades suelen agruparse de esta forma:
MSYY-XXX
donde, YY es el año del descubrimiento, XXX es el ID asignado.

Volvamos a los piratas informáticos. ¿Qué tipo de exploits hay?
Convencionalmente, todos se pueden repartir en tres montones:
  • explotar el servicio
  • explotación del cliente
  • explotación de privilegios
Explotación de servicio ataca algún servicio, que, por ejemplo, escucha conexiones de red. El servicio recopila paquetes de red y espera a que el usuario inicie una conexión a la red (inicia un navegador). Y un pirata informático puede hacer esto creando sus propios paquetes para este servicio y provocando un lanzamiento completo del servicio, que (sin el conocimiento del usuario) subirá a la red.
explotación del cliente - también es un exploit de cliente - se centra en atacar una aplicación de cliente que recibe algún contenido de una computadora servidor. Se basa en el hecho de que la víctima realizará algunas acciones y el programa cliente debe trabajar activamente con este contenido. En pocas palabras, mi trabajo como pirata informático es hacer que haga clic en un enlace, abra un documento, vaya a un sitio malicioso.
explotación de privilegios . Su tarea es lograr el fortalecimiento de los derechos ya existentes en el sistema. Por ejemplo, obtenga derechos de administrador desde una cuenta de invitado. Y allí, no está lejos del SISTEMA ... Por ejemplo, en Windows XP existe tal vulnerabilidad cuando puede usar movimientos simples para . Y la vulnerabilidad yacía en la superficie. No sea perezoso y eche un vistazo al artículo: las explicaciones se volverán redundantes.
El proceso de explotación y su papel en el ataque a una computadora.

Gradualmente, nos estamos acercando al principio de cómo funciona el compromiso del sistema. Cada uno de estos pasos es un proceso muy complejo que requiere un manual de varios volúmenes. Pero esquemáticamente se puede mostrar así:

  • un sistema potencialmente vulnerable se escanea en busca de puertos abiertos y servicios en ejecución
  • destaca los puntos que se pueden golpear
  • en computadora remota se envía un exploit de vulnerabilidad conocido a este o estos puntos
  • se adjunta una carga útil al exploit (le permitirá controlar el sistema de la víctima)
  • si el exploit funcionó (es el que se lanza primero) y el sistema de la víctima respondió, se lanza el payload; como resultado de la ejecución del código de carga útil, el hacker obtiene acceso a la computadora de la víctima
¿Cómo se ve en persona o cómo trabajar con un exploit?
Por ejemplo, usamos el sistema operativo Kali Linux como sistema operativo host y Windows XP (el exploit es antiguo, a partir de Windows XP SP2 ya lo hace con menos ganas) como sistema operativo invitado en VirtualBox. Por supuesto, sabemos qué características tiene la máquina invitada en la red (virtual en nuestro caso), pero dejemos que el escáner nmap hará su trabajo. Hagamos un "certificado oficial" sobre la víctima:
  • nmap -v -n 192.168.0.162
donde 192.168.0.162 es la dirección IP de la víctima. Si está familiarizado con, entonces entiende que las banderas:
  • -v le permite obtener un informe detallado sobre la dirección
  • -norte deshabilita las resoluciones DNS inversas



Vemos qué puertos están abiertos con servicios ejecutándose a través de ellos.
Escaneemos el sistema para obtener más información detallada para el sistema operativo y la versión del servicio. El comando tomará la forma (la disposición de las banderas según el comando es arbitraria):

nmap -T4 -A -v 192.168.0.162


Hay mucha información. Elija la ubicación de la huelga.
Un montón de puertos están abiertos, que son lagunas potenciales en el sistema del enemigo.
Que sea uno de los puertos abiertos 135 con el servicio funcionando mcrpc(ella es Microsoft Windows RPC - servicio de sistema de llamada a procedimiento remoto). Nos queda elegir un exploit adecuado para un proceso específico.
Explotar base de datos. Un par de segundos para la teoría.
Si estás sentado en Kali ahora mismo, la base está al alcance de tu mano. Todo lo que necesita es una conexión de red y un msfconsole(también conocido como el kit de herramientas Metasploit). Una base de datos de exploits en constante crecimiento que puede ver ahora mismo ejecutando la consola msfconsole y escribiendo el comando mostrar hazañas, mostrará una lista de exploits:


Mostrar la lista en la pantalla no le dirá nada todavía. Se presentan en orden alfabético con la fecha de publicación, el rango asignado por aplicación y confiabilidad del trabajo, así como una breve explicación de a qué se dirige.
Una especie de base de espejo. es un recurso famoso
También está completamente dedicado a las hazañas. Y aquí puede (armado con un diccionario) obtener más información sobre la historia del exploit, descargarlo directamente (si desea crear su propio exploit, más sobre eso más adelante), familiarizarse con la información sobre el exploit. En general, todo el sabor se encuentra aquí. Pero hay más
No es un mal recurso donde puedes encontrar algo interesante es:
es.0día.hoy/
Un recurso multilingüe que ofrece no solo exploits bien conocidos (leídos, cubiertos durante mucho tiempo), sino también versiones propias de los participantes. Por dinero. Visite y compruebe: allí también se admite el idioma ruso.
Continuamos. Estamos buscando un exploit adecuado.
metasploit está conectado directamente a la base de datos de exploits, por lo que los pasos que verá no se pueden recordar: Metasploit es bueno porque sus pasos están automatizados (lo que, sin embargo, no siempre es bueno). Un artículo sobre un exploit, y solo lo usaremos, es decir. a mano. Encuéntralo, descárgalo, súbelo. ¿Por qué manualmente? Más sobre esto en el párrafo Problemas del exploit.
¿Cómo encontrar un exploit de interés?
Si está interesado en un exploit que se puede usar contra una plataforma o programa específico, no tiene que revisar la lista de más de 1,500 exploits que muestra manualmente el comando
mostrar hazañas
En su lugar, puede escribir sesión abierta Comando Metasploit como este:
nombre de búsqueda:tipo smb:plataforma de explotación:windows
metasploit mostrará solo aquellos exploits que funcionan en el sistema operativo Windows. Además, si está interesado en las vulnerabilidades del navegador en el sistema operativo Windows, diluya el comando con un nombre. Ver:
msf > nombre de búsqueda:tipo de navegador:explotar plataforma:windows


Además, en Kali Linux, una búsqueda directa de exploits está disponible directamente desde la terminal sin una sesión de Metasploit en ejecución. Escriba el comando para buscar un exploit en el formato:
trama de búsqueda explorador de Internet
El terminal le devolverá todos los exploits disponibles en la base de datos, que se actualiza semanalmente.
Continuemos...
Entonces, conocemos el servicio, vemos el tipo de sistema operativo. Así que en la base de datos escribimos: Buscar-botón después de ingresar una solicitud:
RPC de Windows
Antes de buscar, pasemos por la verificación del robot y familiarícese con los resultados:


Aquí está el nuestro. Hacemos clic en el enlace, vamos al siguiente enlace Descargar, y está en nuestra computadora en como archivo 66.s.
REPETIR
. Todo lo que se ha hecho anteriormente se puede hacer más rápido. En la ejecución de Metasploit, escriba el comando para buscar un exploit de su Kali:



Sin embargo, la situación en la que no se puede encontrar un exploit adecuado en la base de datos de Metasploit no es infrecuente. Por lo tanto, a medida que se familiarice con el funcionamiento de los exploits, podrá dedicar más tiempo a encontrar y crear el exploit adecuado. Y en nuestro caso, prepararemos el exploit descargado para la inyección manual. En la terminal, conviértalo a un archivo binario (anteriormente arrastré 66.c desde Descargas en Escritorio):
gcc 66.c -o 66
Ahora hay dos de ellos:


Y empujo el binario de explotación directamente a la víctima de XP:
./66 6 192.168.0.162


El sistema ha respondido. Científicamente, esto se llama un resultado de compromiso del sistema exitoso. De hecho, este ordenador ya está en manos de un hacker. El hacker lo ve como si estuviera sentado frente a la computadora: puede controlar el sistema usando los comandos de la consola. Ahora veamos cómo se usa el exploit Metasploit. Puertos de la víctima ya somos “Anillado” con Nmap. Y como notaron, entre otros, también hay 445 dirigido por el serviciomicrosoft-ds. En la ventana de Metasploit, seleccione el exploit apropiado:
explotar/windows/smb/ms08_067_netapi
explotar
El equipo ya no pertenece al propietario.

Explota problemas o un apartado para los amantes del "todo está listo".
Esta parte merece un tema aparte. Pero solo un párrafo es suficiente. ¿Qué le espera a un pentester en el camino para usar un exploit? Explico en mis dedos (perdonen a los profesionales):

  • El primer problema es el envejecimiento de la vulnerabilidad, que los desarrolladores corrigen casi de inmediato. Sí, la gran mayoría de los exploits que existen no merecen su atención. Son inútiles: las actualizaciones de seguridad las ocultan. Así que hay pocas salidas: usamos 0día explota ( Día cero) - si puede encontrar y aplicar; o dar la vuelta a la cabeza y trabajar por su cuenta; este es el problema número uno: tenemos que aprender de sistemas operativos y programas de generaciones anteriores: la razón es simple: los desarrolladores "puntuaron" en soporte (Windows XP es un ejemplo típico de esto) y no responden a las vulnerabilidades emergentes incluso con notificación oficial (recordando, sin embargo, verificar si esta vulnerabilidad manifestarse en versiones de trabajo de programas o OS-her).
  • El segundo problema (sigue del primero) es que si se publica una vulnerabilidad y hay un exploit para ella, decenas de especialistas ya están trabajando para que la vulnerabilidad sea cosa del pasado. son pagados Y las personas que buscan vulnerabilidades también quieren que se les pague lo mismo. Así que no confíes en una vulnerabilidad que se ha enrollado arriba y abajo: el encanto está donde no se recorre el camino. Si aparece lo que necesitas, pero no hay mente ni experiencia, a veces tienes que pagar por ello (con el riesgo de quedarte sin resultados y sin dinero). Y no siempre es culpa del pionero de la vulnerabilidad y autor de exploits. Aunque solo sea porque hay un tercer problema...
  • los aspectos técnicos del uso del exploit son LO QUE FUNCIONÓ en la configuración regional en inglés de Windows MOST NO PASEO en ruso. Una hazaña escrita para el estadounidense. Versiones de Windows justificadamente no funcionará para el sistema ruso. El resultado de la aplicación puede ser inesperado: hasta un error silencioso con Metasploit como La explotación parece haber fallado hasta que el servicio falla en el lado del sistema de la víctima, lo que la hará desconfiar.

El artículo describe la esencia, el principio de aplicación y el papel del exploit en la piratería del sistema. Se considera la cuestión de dónde obtener el exploit, si tiene sentido descargarlo o comprarlo, y por qué un exploit confirmado puede no funcionar.

¿Qué es un exploit?

La definición "oficial" se puede leer en enciclopedias informáticas. Me gusta esto: "Dependiendo del propósito, un programa, pieza de código o secuencia de comandos que le permite beneficiarse de la explotación de una vulnerabilidad existente en el software para cualquier cosa que se controle mediante programación". En cierto sentido, un martillo contra un teléfono inteligente también es una hazaña técnica, que actúa con un objetivo primitivo: destruir el dispositivo. Los caramelos dulces contra el esmalte dental también funcionan.

¿De dónde viene el exploit? Para aquellos que aman los detalles, sáltense la parte.

Cuando se conoce una vulnerabilidad, es probable que aparezca un exploit. La vulnerabilidad también se puede interpretar de diferentes maneras. Wikipedia, me parece, da una definición ligeramente incorrecta. Una vulnerabilidad no siempre es un error o falla. Todo mecanismo tiene un talón de Aquiles. Bueno, el hecho de que el motor funcione con combustible no puede llamarse un error. Después de todo, si trabaja en el aire, esto también se convertirá inmediatamente en su desventaja. Como el metal del que está ensamblado; la persona que lo maneja... Todo tiene fallas, y también son visibles para los profesionales en todo.

La explicación más simple para tal pensamiento es la "relación" entre una persona y un virus. Biológico. En nuestro cuerpo todo está pensado hasta el más mínimo detalle, sin embargo, ante un microcódigo desde el exterior, falla por un tiempo o para siempre. La vulnerabilidad es fácil falla del mecanismo(software incluido) responder adecuadamente a alguna acción del exterior, manteniendo las características y funcionalidad inherentes a ella (mecanismo). Y se llama exploit solo si le permite obtener de vulnerabilidades beneficio. No lo tomes como ficción, es importante entenderlo enseguida.

Un poco sobre las vulnerabilidades.

Los módulos Metas contienen exploits y están dirigidos a vulnerabilidades. Es habitual que los pentesters formalicen los métodos mediante los cuales se agrupan estas vulnerabilidades. Por lo tanto, se creó el diccionario en constante expansión Vulnerabilidades y exposiciones comunes ( CVE) – Vulnerabilidades y detecciones comunes. Así que recuerda: te encontrarás con la abreviatura CVE más de una vez. Su objetivo: los piratas informáticos alemanes y chinos deben estar seguros de que están hablando del mismo agujero de seguridad. Y todos ven tales vulnerabilidades en el formato:

CVE - ISSUE_YEAR - ASSIGNED_ID

por ejemplo

CVE 2008-4250

Si desea echar un vistazo a la lista completa del boletín ahora mismo, vaya aquí:

De hecho, hay muchas más vulnerabilidades que pueden revelar los secretos del host que la lista oficial de este boletín. Sí, para entrar en este diccionario, las vulnerabilidades deben "ganarse" un lugar. Y por supuesto, no hay una organización específica que se ocupe oficialmente de esto. Todo depende del objetivo del futuro exploit: no hay vulnerabilidad sin exploit. Pero en cualquier caso, casi todos los caminos conducen a Exploit Database y al recurso indicado.

Los problemas de seguridad para los productos de Microsoft son una línea separada. Se generan en una lista separada denominada Boletín de seguridad de Microsoft. Sus vulnerabilidades suelen agruparse así:

MSYY-XXX

donde, YY es el año del descubrimiento, XXX es el ID asignado.

Volvamos a los piratas informáticos.¿Qué tipo de exploits hay?

Convencionalmente, todos se pueden repartir en tres montones:

  • explotar el servicio
  • explotación del cliente
  • explotación de privilegios

Explotación de servicio ataca algún servicio, que, por ejemplo, escucha las conexiones de red. El servicio recopila paquetes de red y espera a que el usuario inicie una conexión a la red (inicia un navegador). Y un pirata informático puede hacer esto creando sus propios paquetes para este servicio y provocando un lanzamiento completo del servicio, que (sin el conocimiento del usuario) subirá a la red.

explotación del cliente- también es un exploit de cliente - se centra en atacar una aplicación de cliente que recibe algún contenido de una computadora servidor. Se basa en el hecho de que la víctima realizará algunas acciones y el programa cliente debe trabajar activamente con este contenido. En pocas palabras, mi trabajo como pirata informático es hacer que haga clic en un enlace, abra un documento, vaya a un sitio malicioso.

explotación de privilegios. Su tarea es lograr el fortalecimiento de los derechos ya existentes en el sistema. Por ejemplo, obtenga derechos de administrador desde una cuenta de invitado. Y allí, no está lejos del SISTEMA ... Por ejemplo, en Windows XP existe tal vulnerabilidad cuando puede usar movimientos simples para . Y la vulnerabilidad yacía en la superficie. No sea perezoso y eche un vistazo al artículo: las explicaciones se volverán redundantes.

El proceso de explotación y su papel en el ataque a una computadora.

Gradualmente, nos estamos acercando al principio de cómo funciona el compromiso del sistema. Cada uno de estos pasos es un proceso muy complejo que requiere un manual de varios volúmenes. Pero esquemáticamente se puede mostrar así:

  • un sistema potencialmente vulnerable se escanea en busca de puertos abiertos y servicios en ejecución
  • destaca los puntos que se pueden golpear
  • un exploit de una vulnerabilidad conocida se envía a una computadora remota en este o estos puntos
  • se adjunta una carga útil al exploit (le permitirá controlar el sistema de la víctima)
  • si el exploit funcionó (es el que se lanza primero) y el sistema de la víctima respondió, se lanza el payload; como resultado de la ejecución del código de carga útil, el hacker obtiene acceso a la computadora de la víctima
  • otras acciones están limitadas por la imaginación del hacker (descargar virus, borrar información o copiarla, etc.)

¿Cómo se ve en persona o cómo trabajar con un exploit?

Por ejemplo, usamos el sistema operativo Kali Linux como sistema operativo host y Windows XP (el exploit es antiguo, a partir de Windows XP SP2 ya lo hace con menos ganas) como sistema operativo invitado en VirtualBox. Por supuesto, sabemos qué características tiene la máquina invitada en la red (virtual en nuestro caso), pero dejemos que el escáner nmap hará su trabajo. Hagamos un "certificado oficial" sobre la víctima:

nmap -v -n 192.168.0.162

donde 192.168.0.162 es la dirección IP de la víctima. Si está familiarizado con, entonces entiende que las banderas:

  • –v le permite obtener un informe detallado sobre la dirección
  • – norte deshabilita las resoluciones DNS inversas

Vemos qué puertos están abiertos con servicios ejecutándose a través de ellos. Analicemos el sistema para obtener información más detallada sobre el sistema operativo y la versión del servicio. El comando tomará la forma (la disposición de las banderas según el comando es arbitraria):

nmap -T4 -A -v 192.168.0.162

Hay mucha información. Elija la ubicación de la huelga. Un montón de puertos están abiertos, que son lagunas potenciales en el sistema del enemigo. Que sea uno de los puertos abiertos 135 con el servicio funcionando mcrpc(ella es RPC de Microsoft Windows- Con servicio de sistema de llamada de procedimiento remoto). Nos queda elegir un exploit adecuado para un proceso específico.

Explotar base de datos. Un par de segundos para la teoría.

Si estás sentado en Kali ahora mismo, la base está al alcance de tu mano. Todo lo que necesita es una conexión de red y un msfconsole(también conocido como el kit de herramientas Metasploit). Una base de datos de exploits en constante crecimiento que puede ver ahora mismo ejecutando la consola msfconsole y escribiendo el comando mostrar hazañas, mostrará una lista de exploits:


Mostrar la lista en la pantalla no le dirá nada todavía. Se presentan en orden alfabético con la fecha de publicación, el rango asignado por aplicación y confiabilidad del trabajo, así como una breve explicación de a qué se dirige.

Una especie de base de espejo. es un recurso famoso

https://www.exploit-db.com/

También está completamente dedicado a las hazañas. Y aquí puede (armado con un diccionario) aprender más sobre la historia del exploit, descargarlo directamente (si desea crear su propio exploit, más sobre eso más adelante), familiarizarse con la información sobre el exploit. En general, todo el sabor se encuentra aquí. Pero hay más

No es un mal recurso donde puedes encontrar algo interesante es:

es.0día.hoy/

Un recurso multilingüe que ofrece no solo exploits bien conocidos (leídos, cubiertos durante mucho tiempo), sino también versiones propias de los participantes. Por dinero. Visite y compruebe: allí también se admite el idioma ruso.

Continuamos. Estamos buscando un exploit adecuado.

metasploit está directamente vinculado a la base de datos de exploits, por lo que los pasos que verás no se memorizan: metástasis lo bueno es que sus pasos están automatizados (lo que, sin embargo, no siempre es bueno). Un artículo sobre un exploit, y solo lo usaremos, es decir. a mano. Encuéntralo, descárgalo, súbelo. ¿Por qué manualmente? Más sobre esto en el párrafo Problemas del exploit.

¿Cómo encontrar un exploit de interés?

Si está interesado en un exploit que se puede usar contra una plataforma o programa específico, no tiene que revisar la lista de más de 1,500 exploits que muestra manualmente el comando

Mostrar hazañas

En su lugar, puede escribir en una sesión de Metas abierta un comando como este:

Nombre de búsqueda:tipo de smb:plataforma de explotación:windows

Metas solo mostrará exploits que se ejecutan en Windows. Además, si está interesado en las vulnerabilidades del navegador en el sistema operativo Windows, diluya el comando con un nombre. Ver:

Msf > nombre de búsqueda:tipo de navegador:explotar plataforma:windows

Además, en Kali Linux, una búsqueda directa de exploits está disponible directamente desde la terminal sin una sesión de Metas en ejecución. Escriba el comando para buscar un exploit en el formato:

buscar sploit internet explorer

El terminal le devolverá todos los exploits disponibles en la base de datos, que se actualiza semanalmente.

Continuemos...

Entonces, conocemos el servicio, vemos el tipo de sistema operativo. Así que en la base de datos escribimos: Buscar-botón después de ingresar una solicitud:

RPC de Windows

Antes de buscar, pasemos por la verificación del robot y familiarícese con los resultados:

REPETIR. Todo lo que se ha hecho anteriormente se puede hacer más rápido. En Metas en ejecución, escriba el comando para buscar un exploit de su Kali:

Sin embargo, la situación en la que no se puede encontrar un exploit adecuado en la base de datos de Metas no es infrecuente. Por lo tanto, a medida que se familiarice con el funcionamiento de los exploits, podrá dedicar más tiempo a encontrar y crear el exploit adecuado. Y en nuestro caso, prepararemos el exploit descargado para la inyección manual. En la terminal, conviértalo a un archivo binario (anteriormente arrastré 66.c desde Descargas en Escritorio):

Gcc 66.c -o 66

Ahora hay dos de ellos:

Y empujo el binario de explotación directamente a la víctima de XP:

./66 6 192.168.0.162

El sistema ha respondido. Científicamente, esto se llama un resultado de compromiso del sistema exitoso. De hecho, este ordenador ya está en manos de un hacker. El hacker lo ve como si estuviera sentado frente a la computadora: puede controlar el sistema usando los comandos de la consola. Y ahora veamos cómo se usa el exploit Metas. Ya hemos "marcado" los puertos de la víctima usando Nmap. Y como notaron, entre otros, también hay 445 dirigido por el servicio microsoft-ds. En la ventana de Metasploit, seleccione el exploit apropiado:

explotar/windows/smb/ms08_067_netapi

Vamos a tomarlo en cuenta:

Utilice exploit/windows/smb/ms08_067_netapi

Verifiquemos qué se necesita para su implementación exitosa mediante el comando:

Mostrar opciones

La cadena con la dirección del host RHOST remoto está vacía. Rellénelo con la dirección IP de la víctima:

El equipo ya no pertenece al propietario.

Explota problemas o un párrafo para los amantes del “todo está listo”.

Esta parte del artículo merece un tema aparte. Pero por ahora, solo le daré un párrafo. ¿Qué le espera a un pentester en el camino para usar un exploit? Explico en mis dedos (perdonen a los profesionales):

  • El primer problema es el envejecimiento de la vulnerabilidad, que los desarrolladores corrigen casi de inmediato. Sí, la gran mayoría de los exploits que existen no merecen su atención. Son inútiles: las actualizaciones de seguridad las ocultan. Así que hay pocas salidas: usamos 0díaDía cero) - si puede encontrar y aplicar; o dar la vuelta a la cabeza y trabajar por su cuenta; este es el problema número uno: tenemos que aprender de los sistemas operativos y programas de generaciones anteriores: la razón es simple: los desarrolladores "puntuaron" en el soporte (Windows XP es un ejemplo típico de esto) y no responden a las vulnerabilidades emergentes incluso con notificación oficial (recordando, sin embargo, no verificar si esta vulnerabilidad se manifestará en versiones de producción de programas o sistemas operativos).
  • El segundo problema (sigue del primero) es que si se publica una vulnerabilidad y hay un exploit para ella, decenas de especialistas ya están trabajando para que la vulnerabilidad sea cosa del pasado. son pagados Y las personas que buscan vulnerabilidades también quieren que se les pague lo mismo. Así que no confíes en una vulnerabilidad que se ha enrollado arriba y abajo: el encanto está donde no se recorre el camino. Si aparece lo que necesitas, pero no hay inteligencia ni experiencia, a veces tienes que pagar por ello (con el riesgo de quedarte sin resultados y sin dinero). Y no siempre es culpa del pionero de la vulnerabilidad y autor de exploits. Aunque solo sea porque hay un tercer problema...
  • los aspectos técnicos del uso del exploit son LO QUE FUNCIONÓ en la configuración regional en inglés de Windows MOST NO PASEO en ruso. Un exploit escrito para una versión americana de Windows justificadamente no funcionará para un sistema ruso. El resultado de la aplicación puede ser inesperado: hasta un error silencioso con el tipo Metase La explotación parece haber fallado hasta que el servicio falla en el lado del sistema de la víctima, lo que la hará desconfiar. Más adelante ampliaremos el tema.

Mientras todo. Así que se hizo largo. Buena suerte para nosotros.

¿De dónde vienen los sploits? ¿Alguna vez te has preguntado cómo las tenues noticias de
bagtraka se convierte en una llave maestra que realmente funciona? ¿Cómo pueden dos docenas
líneas de código logran obtener un shell en un servidor remoto? hoy vamos a visitar
fábrica de sploit y ver en detalle cómo se hace
producto de calidad.

Inicie MSF eXploit Builder, vaya al menú "Editor" y seleccione "Nuevo".
Aparece una ventana con varias pestañas (Información, Badchars, Análisis,
Shellcode, Diseño). Vaya a la pestaña "Información" y vea muchas cosas interesantes.
los campos. Como recordará, esta sección especifica objetivos (SO + SP) y tipo/protocolo
explotar (por ejemplo, remoto/tcp). Además, el programa nos proporciona
la capacidad de probar y depurar el exploit resultante, para que pueda
seleccione el archivo ejecutable y especifique los parámetros para su lanzamiento (puerto, dirección IP).

Entonces, seleccione nuestro tftpd.exe, después de lo cual la utilidad ofrecerá las siguientes acciones
para elegir: ejecutar la aplicación, ejecutarla bajo el depurador o no ejecutar
en general, simplemente ejecute la aplicación. Tenga en cuenta que en el lado derecho
se mostrará una lista de DDL cargados por la aplicación.

Ahora comenzamos a mirar el código del sploit; afortunadamente para nosotros, es extremadamente comprensible.