Yandex Dzen.

¿Qué es la explotación y cómo los hackers lo usan?

Saludos. Quienes son hackers y lo que ya han discutido. No repetiremos, además, está abiertamente cubierto en la red y en el cine. Los métodos de piratería y los tipos de ataques piratas informáticos son numerosos, por lo tanto, para no crear desde el artículo "Vinagreta", destacamos uno, que es popular entre los hackers negros y en 2020. No intentaré "guardar intrigato", describiremos: "hazañas".

Para el conocimiento introductorio, entendemos que las hazañas son parte del código de computadora (o programa compilado y no solo ...), lo que utiliza la "vulnerabilidad de la víctima" y luego los objetivos se ramifican para: obtener acceso; "colgando" del servidor; Ruptura. Si el lector se encontró con las palabras "DOS ATAK", entonces sepa que el 85%, los hackers utilizaron "hazañas". En realidad, el nombre, si se traduce del inglés, significará: "Usando algo". O explotando, de ahí las raíces de la palabra "explotar".

Estos programas (vamos a pedir explotaciones por programas, Aunque no es cierto. ) se dividen en destinos: para Windows, Linux y otros operadores; Para otros programas y así sucesivamente. Etc.

Creo que los lectores quieren tratar de entender cómo este programa mágico, capaz de participar, colgar y proporcionar el acceso "maestro" en el servidor "extraño". Primero, averigüemos por qué el acuerdo se llama el programa, no es cierto. El hecho es que se explota no solo el archivo compilado, sino también un texto (incluso el libreta con una descripción de cómo hackear "el sistema" ya está explotando). Entiendo el malentendido más fácil de la lectura, pero es: Si abre un cuaderno y, en forma de texto para escribir cómo "disfrutar", también será una explotación. Pero lo que al menos les gustaría, diversificaría un artículo, al menos a veces escribas la palabra: programa. Además, tales explotaciones se encuentran en forma de un programa en "cualquier" lenguaje. Hackers, estos son ex programadores que en el pasado buscaban errores en los programas Por lo tanto, tales personas poseen fácilmente C / C ++, Perl y TD Idiomas. La tarea de dichos programas se reduce al desbordamiento del búfer, los registros de SQL, las solicitudes de "Linden" para el sitio y así sucesivamente.

¿Qué es la explotación y cómo los hackers lo usan?

Sucede que use la secuencia de programas, en caso de que la tarea sea "complicada".

Encuentre y descargue las hazañas listas en Internet, no es legal. Y, por supuesto, el autor no recomienda buscar dichos programas en DarkNet.

Entonces, ahora, cuando un entendimiento sobre las explotaciones depositadas en la cabeza, vaya a "Práctica virtual". Supongamos que la situación: en la ciudad de Voronezh, un hombre vive que regularmente vuela a Moscú y allí "nuestra" una dama casada. El cónyuge engañado, incapaz de atrapar al amante, se decide de venganza, pero de forma remota. Para hacer esto, su esposo se necesita acceso a la computadora "escudriñando". No entremos en los detalles, pero establecemos el hecho: se hizo conocido cómo el navegador usa un "rival astuto". Afortunadamente para un marido avanzado, en este navegador hay una "vulnerabilidad". Permanece solo forzar al amante "Código de ejecución", que sin el conocimiento del usuario, carga malware "en el lado". Luego, el marido escribe una carta, en nombre de su esposa y envía un amante por correo. El resultado es comprensible (abre la letra y el código ya está "en el caso").

Los programas famosos son: "Anglel" (conjunto complejo (trabaja en RAM)); "Neutrino" (Russian Brainchild en Java, cuesta 34 mil dólares); "BlackHole Kit" (Batea los navegadores Chrome, "Oslik", "Firefox" ).

Comentario ("negativo \ positivo"). Suscribir. Me gusta. Adiós.

Hola, HABROVSK. En anticipación del inicio del curso. "Administrador Linux. Profesional " Nuestro experto - Alexander Kolesnikov preparó un artículo interesante, que con gusto compartimos con usted. También invite a los estudiantes futuros y a todos aquellos que deseen visitar una lección abierta sobre el tema "Métodos y la capacidad de depurar los scripts de la concha de bash".

El sistema operativo Linux ha demostrado en todo el mundo, todo el poder de los proyectos de código abierto, gracias a ella hoy, tenemos la oportunidad de analizar el código fuente del sistema operativo trabajador y en función de él para ensamblar su propio sistema para resolver ciertos objetivos. Debido a su apertura, Linux se convirtió en el sistema operativo más seguro del mundo, ya que el código de código abierto permite desarrollar y mejorar los subsistemas de protección de los ataques en el sistema operativo y mejorar el propio sistema operativo. De hecho, en este momento hay una gran cantidad de protección comunitaria creada: hoy en día ya no es tan fáciles de reservar las vulnerabilidades del tipo de desbordamiento de tampón para obtener privilegios elevados hace hasta hace 20 años. Sin embargo, hoy puede encontrar explotaciones en el dominio público, que incluso en las últimas versiones del kernel pueden aumentar los privilegios de los usuarios. Considere en este artículo, ya que funciona y por qué resulta. Iremos a través de los principales componentes de la explotación y consideraremos cómo algunos de ellos trabajen.

Toda la información proporcionada se recopiló exclusivamente con fines informativos.

Tipos de explotación

Elija un término general que denotemos lo que es Explotar - El algoritmo que viola el funcionamiento normal del sistema operativo, a saber, los mecanismos de separación de acceso. También presentaremos el concepto. Vulnerabilidades - Esta es una imperfección de software que puede ser utilizada por un algoritmo de explotación. Sin vulnerabilidad, la existencia de una explotación es imposible.

Presentamos la clasificación de explotaciones. La separación básica de explotaciones a los subgrupos para cualquier sistema operativo comienza a nivel de arquitectura. Hoy en día, los sistemas operativos incluyen al menos 2 niveles de privilegios que se utilizan para su trabajo. A continuación se muestra una imagen que muestra claramente la separación de los privilegios. Foto tomada De aquí .

La imagen muestra muy claramente que el kernel (espacio del kernel) está presente en el sistema operativo, generalmente es el modo más privilegiado, es aquí donde llamamos al sistema operativo. Y el segundo nivel es personalizado (espacio de usuario): las aplicaciones y servicios regulares que utilizamos todos los días se lanzan aquí.

Se desarrolló históricamente que para cada uno de los niveles anteriores, se pueden encontrar vulnerabilidades para las cuales se puede crear una explotación, pero la explotación de cada nivel tiene sus limitaciones.

A nivel de usuario, cualquier exploit que afecta a la aplicación tendrá exactamente los privilegios utilizados por el usuario que lanzó una aplicación vulnerable. Por lo tanto, este tipo de explotación le permite obtener el control total sobre el sistema operativo solo si la aplicación es lanzada por el administrador del sistema. En contraste con el nivel de usuario, nivel de kernel Si contiene un código vulnerable, puede habilitar inmediatamente el sistema operativo con los máximos privilegios. A continuación se centrará en el estudio de estas hazañas.

Explante

Imagine las pequeñas estadísticas sobre la divulgación de vulnerabilidades para el kernel de las distribuciones del sistema operativo Linux de Debian, SUSE, Ubuntu, Arch Linux de los últimos 4 años.

Datos tomados De aquí . La imagen no pretende estar completa, pero muestra que hay muchas vulnerabilidades, e incluso hoy hay de qué elegir para construir una explotación. Intentemos describir lo que es la explotación.

Cualquier exploit para cualquier nivel del sistema operativo hoy consiste en piezas que deben implementarse en su código:

  1. Operaciones preparatorias:

    1) Navegue la pantalla de memoria necesaria

    2) Creando los objetos necesarios en el sistema operativo.

    3) pasar por alto los mecanismos de protección del sistema operativo para la vulnerabilidad

  2. Llame a la parte vulnerable.

  3. Realiza una carga útil:

    1) Para abrir el acceso al sistema operativo.

    2) Para cambiar la configuración del sistema operativo.

    3) Para la salida del sistema.

Al realizar todos los artículos, que se indican anteriormente, puede escribir una explotación viable. Tome varias hazañas de los últimos años e intente averiguar si es posible encontrar algunas regularidades o préstamos que se utilizan para violar la separación de acceso en el sistema operativo Linux. Como objetos de estudio, tomamos explotaciones que utilizan las siguientes vulnerabilidades con los identificadores de CVE:

Cve-2020-8835

CVE-2020-27194.

Explotar desastres

Cve-2020-8835 рAspasses el kernel del sistema operativo Linux de la versión 5.5.0. La vulnerabilidad está en la implementación de la tecnología. EBPF. . La tecnología fue diseñada para garantizar que el usuario pueda crear manejadores personalizados para filtrar el tráfico de la red. Como el componente principal para el filtrado, se utiliza una máquina virtual con su propio conjunto de comandos. El código que realiza la máquina virtual vive en el kernel: un error en este código trae un atacante para trabajar con la memoria con los máximos privilegios. En el caso de la vulnerabilidad descrita, el problema fue que las operaciones de procesamiento de operaciones 32 bits no se procesaron correctamente, y la máquina virtual podría escribir y leer los datos en la RAM nuclear.

Como el autor de la Exploit utiliza esta vulnerabilidad y qué se realiza una carga útil, considere más.

Etapa preparatoria

Para esta etapa, la siguiente parte del código es responsable.

Fila 394 - Creación de un objeto en la memoria que almacenará datos sobre comandos para EBPF. . La fila 400 se carga en el código de memoria que se realizará en la máquina virtual y violará las condiciones para procesar los comandos de 32 bits. La preparación de la memoria ha terminado, las siguientes líneas crearán un objeto de un zócalo que se llamarán comandos cargados para BPF. . Después de eso, comenzará la cámara de la vulnerabilidad.

Llame al código vulnerable

Llamar a un código vulnerable, o más bien, trabajar con los comandos de la máquina virtual se realiza desde la línea 423 a 441. La tarea principal de este código es obtener la dirección básica de la estructura que está en la memoria, en este caso es un Proceso de montón (montón). Tan pronto como se realicen estos comandos, la exploit podrá detectar los datos utilizados por el sistema operativo para controlar la separación de acceso. En el sistema operativo Linux, estos datos se almacenan en la estructura. La cadena de trabajo. .

Carga útil

La carga útil de esta explotación es que después de su ejecución, puede ejecutar un proceso con derechos de usuario raíz . Para esto, el código de explotación produce modificaciones de los campos de campo de kernel del sistema operativo Linux. Crede Esta es una estructura que entra en la estructura. La cadena de trabajo. . Estructura de código fuente Crede Puede ser encontrado aquí .

Acciones de modificación de campo Struct cred. se puede ver en filas 472,473,474. . Es decir, esta acción está restableciendo el valor UID, GID, SGID Proceso creado. Desde el punto de vista, se establece en valores de identificadores que usualmente usan raíz . El método es muy similar al que se usa para los ataques en el sistema operativo Windows.

Puede protegerse sin actualizar el sistema operativo, si realiza los siguientes cambios en la configuración: sudo sysctl kernel.unprivileged_bpf_disabled = 1

CVE-2020-27194. - otra vez la vulnerabilidad en EBPF. . Hay versiones de la versión 5.8. *. Los creadores de esta tecnología están bromeando que BPF. - Este es JavaScript para el kernel. De hecho, este juicio no está lejos de la verdad. La máquina virtual realmente realiza manipulaciones sobre los equipos que utilizan la tecnología JIT, que conlleva todas las vulnerabilidades típicas de los navegadores en el kernel del sistema operativo, es decir, es difícil configurar el subsistema de protección para proteger el código. La vulnerabilidad en consideración es que, desde el código de la máquina virtual, puede modificar cualquier área de RAM. Tal vez esto se debe al hecho de que la máquina virtual no es segura de trabajar con operaciones de 64 bits. Vulnerabilidad completamente similar del que consideramos arriba.

Exploit, que está diseñado para usar la vulnerabilidad descrita, realiza las mismas operaciones que la explotación CVE-2020-8835. EXPLOIT ALGORITHM SIGUIENTE:

  1. Código de descarga con procesamiento de operaciones de 64 bits.

  2. Cree un socket y envíe datos a los comandos de llamada EBPF.

    1. Encuentra en mente la dirección de la estructura. La cadena de trabajo. Al realizar comandos en una máquina virtual.

  3. Modificar valores UID, GID, SGID y lanzar un shell interactivo.

El autor escribió el código fuente con nuevos chips y características adicionales. Ofrecemos al lector a mirar el código usted mismo. Las etapas enumeradas del trabajo de la explotación anterior no se confundirán.

La protección contra esta vulnerabilidad sin usar actualizaciones es la misma: sudo sysctl kernel.unprivileged_bpf_disabled = 1

Cual es el resultado?

Sobre la base de dos hazañas, que se consideraron en el artículo, se puede suponer que aumentar los privilegios en el Modern Linux OS ya no es una magia de programación oscura, sino un proceso de plantilla totalmente cargado que incluye la reutilización de funciones y objetos en RAM. Al mismo tiempo, ni siquiera es necesario escribir un código dependiente de la base (shellcode) que realizará la mayoría de las acciones. Es suficiente simplemente cambiar los identificadores que se utilizan para asignar privilegios para los usuarios.

Aprende más sobre el curso. "Administrador Linux. Profesional. "

Regístrese para una lección abierta "Métodos y la capacidad de depurar los scripts de la concha de bash".

Lee mas:

¿Qué es la explotación?

En la etapa de desarrollo en todos los programas y redes, los mecanismos de protección contra los piratas informáticos en el tipo de cerraduras, advirtiendo la vigilancia no autorizada, están incrustados. La vulnerabilidad es similar a la ventana abierta, para pasar a través de lo cual no será muy difícil para un atacante. En el caso de una computadora o red, los atacantes pueden establecer software malicioso mediante el uso de la vulnerabilidad para obtener el control o infectar el sistema para sus propósitos de mercenario con consecuencias relevantes. El tazón de todo esto sucede sin el conocimiento del usuario.

Explante
¿Cómo surge la exploit?

Las hazañas son causadas por errores en el proceso de desarrollo de software, como resultado de qué vulnerabilidades se utilizan con éxito en el sistema de protección del programa, que son utilizadas con éxito por los ciberdelincuentes para obtener acceso ilimitado al programa en sí, y a través de ella más lejos para toda la computadora . Los explantes se clasifican de acuerdo con el tipo de vulnerabilidad, que es utilizada por un pirata informático: cero día, DOS, SPOOFING o XXS. Por supuesto, los desarrolladores de programas pronto publicarán actualizaciones de seguridad para eliminar defectos encontrados, sin embargo, hasta este punto, el programa aún es vulnerable a los intrusos.

¿Cómo reconocer la explotación?

Dado que las explotaciones usan las barras en los mecanismos de seguridad del programa, un usuario ordinario casi no tiene posibilidad de determinar su presencia. Es por eso que es extremadamente importante mantener los programas establecidos actualizados, especialmente de manera oportuna de actualizaciones de seguridad, fabricadas por los desarrolladores de programas. En el caso de que el desarrollador de software libere la actualización de seguridad para eliminar una cierta vulnerabilidad en su software, pero el usuario no lo establecerá, entonces, lamentablemente, el programa no recibirá las definiciones virales más recientes.

¿Cómo eliminar la explotación?

Debido al hecho de que las hazañas son la consecuencia de los defectos comprometidos, su eliminación se incluye en los deberes directos de los desarrolladores, por lo que los autores deberán preparar y enviar corrección de errores. Sin embargo, la obligación de mantener los programas instalados actualizados y instalar oportunamente los paquetes de actualización para no dar una posibilidad de posibilidades de usar vulnerabilidades, se encuentra completamente en el usuario. Una de las formas posibles no se pierde las últimas actualizaciones: use el administrador de aplicaciones que se asegurará de que todos los programas instalados se actualicen, o lo que es aún mejor: use la herramienta de búsqueda e instalación automática.

Cómo detener los intentos de los hackers para usar las vulnerabilidades de los programas de terceros
  • Asegúrese de haber instalado las últimas actualizaciones de seguridad y parches para todos los programas.
  • Para estar seguro en línea y mantenerse al día con los eventos, establecer todas las actualizaciones inmediatamente después de su liberación.
  • Instale y use Premium Anti-Virus, que es capaz de actualizar automáticamente los programas instalados.
Asegúrate de las hazañas

Confíe en el sentido común y siga las reglas básicas de trabajo seguro en Internet. Los hackers solo pueden aprovechar la vulnerabilidad si logran acceder a su PC. No abra los archivos adjuntos en mensajes sospechosos y no descargue archivos de fuentes desconocidas. Admite programas instalados actualizados, y también instalan oportunamente las actualizaciones de seguridad. Si desea simplificar la máxima tarea, descargue Avast AntiVirus, que no solo proporcionará una protección confiable contra todos los tipos de malware, sino que también ayudará con la instalación de las actualizaciones más recientes para programas de terceros.

Добавить комментарий