La traducción más completa del método de detección detallada específica de pruebas de penetración

Cada vez más clientes de sitios web y aplicaciones de teléfonos móviles prestan atención a los servicios de pruebas de penetración de seguridad. Antes de conectarse, deben realizar una prueba exhaustiva previa a la penetración en la plataforma para encontrar lagunas y errores de seguridad. Muchos clientes acuden a SINE Security en busca de servicios de pruebas de penetración. Es posible que el proceso específico no se comprenda bien. A continuación presentaremos el método y el proceso de prueba de penetración específicos de una manera más completa.

d7ca632be85240cdb80bb34cf0b64e14.jpegpruebas de penetración

1. Proceso de infiltración

  1. recoger mensaje
  2. Verificación de vulnerabilidad/ataque de vulnerabilidad
  3. escalada de privilegios, mantenimiento de privilegios
  4. limpieza de registros

recoger mensaje

Generalmente, el escaneo de puertos y el escaneo de vulnerabilidades se ejecutan primero para obtener vulnerabilidades explotables. Utilice más motores de búsqueda

escaneo de puertos

Con autorización, utilice directamente herramientas de escaneo de puertos como nmap, masscan y escriba scripts py para obtener directamente puertos abiertos y obtener información de banner del lado del servidor.

análisis de vulnerabilidades

Utilice el escáner de osos polares, Nessus, awvs y otras herramientas de escaneo faltantes para escanear directamente el objetivo y podrá ver directamente el host superviviente y la vulnerabilidad del host.

2. Ataque de vulnerabilidad

Si solo utiliza el escaneo de puertos para encontrar puertos abiertos, debe encontrar el CVE correspondiente en la base de datos de vulnerabilidades (ver error, ExploitDB) después de obtener la información del banner y luego verificar si la vulnerabilidad existe. Las inspecciones de seguridad generalmente intentan encontrar todas las vulnerabilidades tanto como sea posible y evaluar y reparar los riesgos de las vulnerabilidades. Para la intrusión, céntrese únicamente en la ejecución remota de código de alto riesgo y en las vulnerabilidades de divulgación de información confidencial que puedan explotarse directamente. Para la verificación de vulnerabilidades, puede encontrar POC y EXP con el número CVE correspondiente, verificar el código de explotación en ExploitDB, seebug o buscar en github herramientas de utilización o verificación de vulnerabilidades relacionadas.

2.1 aplicación web

Puede buscar directamente vulnerabilidades como inyección, carga, ejecución de código, inclusión de archivos, secuencias de comandos entre sitios, etc. para atacar. Generalmente, AWVS se puede utilizar para escanear directamente en busca de vulnerabilidades comunes.

2.1.2 Middleware web

(1) Gato

Tomcat es un subproyecto de la organización de software Apache Jakarta. Tomcat es un contenedor JSP/Servlet. Es una implementación estándar de las especificaciones JSP y Servlet desarrolladas sobre la base del JSWDK (Java Server Web Development Kit) de Sun. El uso de Tomcat puede experimentar las últimas especificaciones de JSP y Servlet.

  • Número de puerto: 8080
  • Método de ataque:
  • Contraseña predeterminada, contraseña débil, voladura, tomcat5 tiene dos roles por defecto: tomcat y role1. Entre ellas, las contraseñas predeterminadas de las cuentas Tomcat y Role1 son Tomcat. Las contraseñas débiles generalmente existen en versiones inferiores a 5.
  • Implementar el archivo de puerta trasera de guerra en el fondo de administración
  • Vulnerabilidades de ejecución remota de código

(2) Jboss

Es un servidor de aplicaciones J2EE que ejecuta EJB. Es un proyecto de código abierto y sigue la última especificación J2EE. Desde el inicio del proyecto JBoss, se ha desarrollado desde un contenedor EJB hasta un sistema operativo web (sistema operativo para web) basado en J2EE, que incorpora la última tecnología en la especificación J2EE.

  • Puerto: 8080
  • Método de ataque:
  • contraseña débil, explosión
  • Administrar la puerta trasera de guerra de implementación en segundo plano
  • deserialización
  • ejecución remota de código
  • referencia:

(3)Lógica Web

WebLogic es un servidor de aplicaciones producido por Oracle Corporation en los Estados Unidos. Para ser precisos, es un middleware basado en la arquitectura JAVAEE. WebLogic es un servidor de aplicaciones Java para desarrollar, integrar, implementar y administrar aplicaciones web distribuidas a gran escala y aplicaciones de red. y aplicaciones de bases de datos. Introducir las funciones dinámicas de Java y la seguridad del estándar Java Enterprise en el desarrollo, integración, implementación y gestión de aplicaciones de red a gran escala.

  • Puerto: 7001, 7002
  • Método de ataque:
  • Las contraseñas débiles, explosivas y débiles generalmente son weblogic/Oracle @123 o weblogic
  • Administrar la puerta trasera de guerra de implementación en segundo plano
  • SSRF
  • Vulnerabilidades de deserialización
  • weblogic_uac

(4) WebSphere

Un conjunto de herramientas de desarrollo de aplicaciones de comercio electrónico y entorno operativo típicos de IBM Corporation.

  • Puerto: Puerto predeterminado: 908*; la primera aplicación es 9080, la segunda es 9081; la consola es 9090
  • Método de ataque:
  • Explosión de inicio de sesión en la consola
  • Muchas consolas de intranet websphere tienen contraseñas débiles/contraseñas predeterminadas, y puede usar contraseñas como admin/admin y webshpere/webshpere para iniciar sesión. Después de iniciar sesión en la consola con esta contraseña, puede implementar el paquete war para obtener WEBSHELL.
  • deserialización
  • Divulgación arbitraria de archivos

(5) Pez de cristal

2.1.3 Marco web

(1) Puntales2

Struts2 es un marco elegante y extensible para crear aplicaciones web Java listas para empresas. De hecho, hay muchas lagunas: cada vez que se expone una laguna importante, la plataforma será robada.

  • Vulnerabilidades explotables
  • S2-046 CVE-2017-5638 Puntales 2.3.5-2.3.31, Puntales 2.5-2.5.10
  • S2-045 CVE-2017-5638 Puntales 2.3.5-2.3.31, Puntales 2.5-2.5.10
  • S2-037 CVE-2016-4438 Puntales 2.3.20-2.3.28.1
  • S2-032 CVE-2016-3081 Puntales 2.3.18-2.3.28
  • S2-020 CVE-2014-0094 Puntales 2.0.0-2.3.16
  • S2-019 CVE-2013-4316 Puntales 2.0.0-2.3.15.1
  • S2-016 CVE-2013-2251 Puntales 2.0.0-2.3.15
  • S2-013 CVE-2013-1966 Puntales 2.0.0-2.3.14
  • S2-009 CVE-2011-3923 Puntales 2.0.0-2.3.1.1
  • S2-005 CVE-2010-1870 Puntales 2.0.0-2.1.8.1

(2) marco de primavera

Spring Framework es un marco de aplicación de pila completa (full-stack) Java/Java EE de código abierto, lanzado en forma de acuerdo de licencia de código abierto Apache License 2.0 y también tiene una versión portada a la plataforma .NET. Spring Framework proporciona un método de desarrollo simple que evitará una gran cantidad de archivos de propiedades y clases auxiliares que pueden hacer que el código subyacente se vuelva complicado y confuso.

  • Vulnerabilidades explotables
  • CVE-2010-1622
  • CVE-2018-1274
  • CVE-2018-1270
  • CVE-2018-1273
  • deserialización
  • recorrido de directorio

2.1.4 Servidor web

  • IIS : Servidor WWW para Windows
  • Puerto: 80
  • Método de ataque:
  • IIS, con WebDAV habilitado, puede ver directamente los archivos PUT del servidor
  • Vulnerabilidad de enumeración de nombres de archivos cortos
  • ejecución remota de código
  • vulnerabilidad de escalada de privilegios
  • analizando lagunas
  • apache
  • Puerto: 80
  • Método de ataque:
  • analizando lagunas
  • recorrido de directorio
  • nginx
  • Puerto: 80
  • Método de ataque:
  • analizando lagunas
  • recorrido de directorio
  • CVE-2016-1247: Es necesario obtener el permiso de operación del host, y el atacante puede reemplazar el archivo de registro vinculando suavemente cualquier archivo, para realizar la escalada de privilegios y obtener el privilegio de raíz del servidor.
  • luztpd
  • Puerto: 80
  • Método de ataque:
  • recorrido de directorio

2.2 Sistemas comunes de operación y mantenimiento

2c6e3a43e35f42c5909f1f7ba1fb76d0.jpegOperación y mantenimiento de pruebas de penetración.

Generalmente, se divide en herramientas relacionadas con el despliegue automatizado y el monitoreo de operación y mantenimiento. Las vulnerabilidades se pueden obtener a través de motores de búsqueda, búsquedas en github, búsquedas en ExploitDB y avisos de seguridad en el sitio web oficial. Un problema común con las aplicaciones de propósito general en la intranet son las contraseñas débiles: si un administrador puede iniciar sesión en varios sistemas, las cuentas y contraseñas para estos sistemas son básicamente las mismas.

2.2.1 Gitlab

GitLab es una aplicación de código abierto desarrollada con Ruby on Rails que implementa un repositorio de proyectos autohospedado al que se puede acceder a través de una interfaz web para proyectos públicos o privados.

  • Vulnerabilidades explotables:
  • Vulnerabilidad de lectura de archivos arbitrarios
  • Vulnerabilidad inesperada de divulgación de tokens de usuario
  • vulnerabilidad de ejecución de comandos

2.2.2 Jenkins

Jenkins es un software de aplicación de entrega e integración continua multiplataforma que facilita la entrega continua y estable de nuevas versiones de software y mejora la eficiencia de su trabajo. La herramienta DevOps también facilita a los desarrolladores incorporar cambios a un proyecto y utilizar una amplia gama de técnicas de prueba e implementación.

  • Vulnerabilidades explotables:
  • Vulnerabilidades de ejecución remota de código
  • Vulnerabilidades de deserialización
  • Vulnerabilidad de acceso no autorizado
  • Entrada de inicio de sesión explosiva

2.2.3 Marioneta

Puppet Enterprise se especializa en administrar infraestructura como código (IAC), un tipo de proceso de aprovisionamiento de infraestructura de TI en el que los sistemas se construyen, administran y configuran automáticamente utilizando código en lugar de procesos programados. Dado que es código, todo el proceso es fácilmente repetible. Puppet facilita un control de versiones más sencillo, pruebas automatizadas y entrega continua para una respuesta más rápida a problemas o errores.

  • Vulnerabilidades explotables, pocas pruebas de concepto públicas
  • deserialización
  • ejecución remota de comandos

2.2.4 Ansible

Ansible es una herramienta de configuración y gestión para la implementación y configuración de software orientada al cliente, compatible con Unix, Linux y Windows. Utiliza JSON y YAML, no IAC, y no requiere ningún agente de nodo para su instalación. Está disponible en sistemas internos a través de OpenStack y en Amazon EC2.

  • Vulnerabilidades explotables
  • ejecución remota de código

2.2.5 Nagios

Nagios es un sistema informático de código abierto y una herramienta de monitoreo de red, que puede monitorear efectivamente el estado del host de Windows, Linux y Unix, configuraciones de red como conmutadores y enrutadores, impresoras, etc. Cuando el estado del sistema o servicio es anormal, se envía una alarma por correo electrónico o SMS para notificar al personal de operación y mantenimiento del sitio web por primera vez, y se envía una notificación normal por correo electrónico o SMS después de que se restablece el estado.

  • Vulnerabilidades explotables
  • ejecución de código
  • SQLi

2.2.6 Zabbix

Zabbix es un potente sistema de monitoreo distribuido de código abierto que puede mostrar datos proporcionados por SNMP, JMX y Zabbix Agent a través de WEB GUI.

  • Vulnerabilidades que pueden explotarse (consulte ExploitDB para obtener más detalles):
  • ejecución remota de código
  • SQLi
  • inyección de comando de shell
  • omisión de autenticación
  • La cuenta y contraseña predeterminadas, la contraseña predeterminada es admin/zabbix o guest/vacío

2.2.7 Cácito

Cacti es un conjunto de herramientas de análisis gráfico para monitoreo del tráfico de red desarrollado en base a PHP, MySQL, SNMP y RRDTool.

  • Vulnerabilidades explotables
  • ejecución de código arbitrario
  • SQLi
  • inicio de sesión
  • Contraseña predeterminada admin/admin

2.2.8

Splunk Enterprise puede monitorear y analizar datos de máquinas desde cualquier fuente para brindar inteligencia operativa para optimizar su TI, seguridad y desempeño comercial. Con análisis intuitivos, aprendizaje automático, aplicaciones empaquetadas y API abiertas, Splunk Enterprise es una plataforma flexible que escala desde casos de uso enfocados hasta una columna vertebral de análisis para toda la empresa.

  • Vulnerabilidades explotables
  • fuga de información
  • inyección de comando
  • falsificación de solicitud del servidor
  • referencia
  • Búsqueda de ExploitDB

2.3 Aplicaciones web comunes

También existen aplicaciones de correo electrónico y aplicaciones CMS comunes, que buscan las vulnerabilidades correspondientes en los motores de búsqueda y utilizan vulnerabilidades conocidas para atacar.

2.3.1 Sistema de correo

Algunos de ellos usan Tencent Enterprise Mailbox y Ali Enterprise Mailbox, y es difícil tener lagunas explotables. El otro es un sistema de correo que se puede implementar de forma independiente y es comúnmente utilizado por aplicaciones de buzones gubernamentales y empresariales:

  • Correo central
  • mil millones de correo
  • 35Internet
  • TurboMail
  • Intercambio
  • IBM loto

2.3.2 Aplicación CMS

2.4 Base de datos/caché/servicio de mensajes

2.4.1 Base de datos MySQL

  • Puerto predeterminado: 3306
  • Método de ataque:
  • Explosión: contraseñas débiles
  • Vulnerabilidad de autenticación: CVE-2012-2122
  • ataque de denegación de servicio
  • Omisión de contraseña universal de Phpmyadmin: Nombre de usuario: 'localhost'@'@" contraseña arbitraria
  • Escalada de derechos

2.4.2 Base de datos MSSQL

  • Puerto predeterminado: 1433 (servicio de base de datos del servidor), 1434 (supervisión de la base de datos de supervisión)
  • Método de ataque:
  • Explosión: contraseña débil/usar usuario del sistema
  • inyección

2.4.3 Base de datos Oracle

  • Puertos predeterminados: 1521 (puerto de base de datos), 1158 (puerto Oracle EMCTL), 8080 (base de datos Oracle XDB), 210 (servicio FTP de Oracle XDB)
  • Método de ataque:
  • Explosión: contraseñas débiles
  • ataque de inyección;
  • Ataque de vulnerabilidad;

2.4.4 Base de datos PostgreSQL

PostgreSQL es un sistema de gestión de bases de datos relacional de objetos de software gratuito con funciones completas. Se puede decir que es el sistema de gestión de bases de datos gratuito más avanzado y potente del mundo. Incluir msf en el sistema Kali también usa esta base de datos; hablando de tecnología de ataque a bases de datos postgresql, la mayoría de los ataques siguen siendo inyección SQL, por lo que la inyección es un tema que permanece sin cambios en la base de datos.

  • Puerto predeterminado: 5432
  • Método de ataque:
  • Explosión: contraseña débil: postgres postgres
  • Desbordamiento de búfer: CVE-2014-2669

2.4.5 Base de datos MongoDB

MongoDB, base de datos NoSQL; el método de ataque es similar a otras bases de datos》

  • Puerto predeterminado: 27017
  • Método de ataque:
  • Explosión: contraseñas débiles
  • Acceso no autorizado; github tiene código de ataque; haga clic

2.4.6 Base de datos Redis

Redis es una base de datos de valores clave, de tipo registro y de código abierto escrita en lenguaje C que admite la red y puede estar basada en memoria o ser persistente. Esta base de datos ha sido muy popular en los últimos dos años y se han expuesto muchos problemas. Especialmente el acceso no autorizado que quedó expuesto hace algún tiempo.

  • Método de ataque:
  • Explosión: contraseñas débiles
  • Acceso no autorizado + escalada con clave ssh;

2.4.7 Base de datos SysBase

  • Puerto predeterminado: puerto de servicio 5000; puerto de escucha 4100; puerto de respaldo: 4200
  • Método de ataque:
  • Explosión: contraseñas débiles
  • Inyección de comando:
  • referencia

2.4.8 base de datos DB2

  • Puerto predeterminado: 5000
  • Método de ataque:
  • Omisión de restricciones de seguridad: se pueden realizar acciones no autorizadas en caso de éxito (CVE-2015-1922)

2.5 Servicios/Acuerdo Comunes

2.5.1 Servicio FTP

Servicio FTP: puedo dividir el servicio ftp en dos situaciones: la primera es usar el software del sistema para configurar, como el intercambio de archivos FTP en IIS o el software de servicio predeterminado en Linux, la segunda es usar software de terceros para configurar, como Serv -U También hay algunos servidores ftp simples escritos en Internet; puerto predeterminado: 20 (puerto de datos); 21 (puerto de control); 69 (protocolo de transferencia de archivos pequeños tftp)

  • Método de ataque:
  • Voladura: Existen muchas herramientas de voladura para ftp, aquí recomiendo el Bruter de owasp y el módulo de voladura ftp en msf;
  • Acceso anónimo: nombre de usuario: contraseña anónima: vacío o cualquier buzón
  • Rastreo: ftp utiliza tecnología de transmisión de texto sin formato (pero el rastreo se realiza en la LAN y necesita falsificar o escuchar la puerta de enlace)
  • puerta trasera vsftp
  • desbordamiento remoto
  • ataque de salto

2.5.2 Servicio NFS

NFS (Network File System) es un sistema de archivos de red, que es uno de los sistemas de archivos admitidos por FreeBSD y permite a las computadoras de la red compartir recursos a través de la red TCP/IP. En las aplicaciones NFS, las aplicaciones cliente NFS locales pueden leer y escribir de forma transparente archivos ubicados en servidores NFS remotos, al igual que acceder a archivos locales. Hoy en día, NFS tiene la función de evitar que la carpeta de exportación sea explotada, pero si el servicio NFS en el sistema heredado no está configurado correctamente, aún así puede ser explotado por atacantes maliciosos.

  • método de ataque
  • Acceso no autorizado

2.5.3 Servicio Samba

Samba es un software gratuito que implementa el protocolo SMB/CIFS en sistemas Linux y Unix, y consta de programas de servidor y cliente. SMB es un protocolo de comunicación que admite archivos e impresoras compartidos en una red de área local y proporciona servicios para compartir recursos como archivos e impresoras entre diferentes computadoras en una red de área local.

  • método de ataque
  • ejecución remota de código
  • contraseña debil
  • Acceso no autorizado (público)

2.5.4 Servicio SSH

SSH es un protocolo y el software OpenSSH se utiliza generalmente para implementar aplicaciones de protocolo. SSH es la abreviatura de Secure Shell, desarrollado por el Network Working Group del IETF; SSH es un protocolo de seguridad basado en la capa de aplicación y la capa de transporte. SSH es actualmente el protocolo más confiable diseñado para brindar seguridad para sesiones de inicio de sesión remotas y otros servicios de red. El uso del protocolo SSH puede prevenir eficazmente la fuga de información en el proceso de gestión remota.

  • puerto: 22
  • Método de ataque:
  • voladura
  • Puerta trasera
  • Vulnerabilidades: 28 vulnerabilidades de retroceso, vulnerabilidades de OpenSSL

2.5.5 Servicio Telnet

El protocolo Telnet es miembro de la familia de protocolos TCP/IP y es el protocolo estándar y el método principal del servicio de inicio de sesión remoto de Internet. Proporciona a los usuarios la posibilidad de realizar trabajos de host remoto en su computadora local. Utilice el programa telnet en la computadora del usuario final para conectarse al servidor. Los usuarios finales pueden ingresar comandos en el programa telnet y estos comandos se ejecutarán en el servidor, como si se ingresaran directamente en la consola del servidor. El servidor se puede controlar localmente.

  • Puerto predeterminado: 21
  • Método de ataque:
  • voladura
  • oler

2.5.6 Conexión remota de Windows

  • Puerto predeterminado: 3389
  • método de ataque
  • voladura
  • Puerta trasera con tecla adhesiva de cambio: puerta trasera con cambio de 5 veces
  • Utilice ms12-020 para atacar el puerto 3389

2.5.7 Servicio VNC

VNC (Virtual Network Computing) es un software de operación remota y para compartir pantalla que utiliza el protocolo RFB. Este software puede enviar acciones de teclado y mouse e imágenes de pantalla en tiempo real a través de la red.

  • Puerto predeterminado: 5900 + ID de escritorio (5901; 5902)
  • Método de ataque:
  • Explosión: contraseñas débiles
  • Omisión de contraseña de autenticación:
  • Ataque de denegación de servicio: (CVE-2015-5239)
  • Escalada de privilegios: (CVE-2013-6886)

2.5.8 Protocolo SMTP

smtp: protocolo de correo, este servicio está habilitado de forma predeterminada en Linux y puede enviar correos electrónicos de phishing a la otra parte.

  • Puerto predeterminado: 25 (smtp), 465 (smtps)
  • Método de ataque:
  • Explosión: contraseñas débiles
  • Acceso no autorizado

2.5.9 Protocolo POP3

  • Puerto predeterminado: 109 (POP2), 110 (POP3), 995 (POP3S)
  • Método de ataque:
  • fuerza bruta; contraseña débil
  • Acceso no autorizado;

2.5.10 Servicio DNS

  • Puerto predeterminado: 53
  • Método de ataque:
  • vulnerabilidad de transferencia de zona

2.5.11 protocolo IMAP

  • Puerto predeterminado: 143 (imap), 993 (imaps)
  • Método de ataque:
  • Explosión: contraseñas débiles
  • configuración incorrecta

2.5.12 protocolo SNMP

  • Puerto predeterminado: 161
  • Método de ataque:
  • Explosión: contraseñas débiles

2.5.13 servicio DHCP

  • Puerto predeterminado: 67 y 68, 546 (conmutación por error DHCP para respaldo activo de sistema dual)
  • Método de ataque:
  • secuestro de DHCP;

2.6 Entorno de nube

2.6.1 VMware

Utilice VMware vCloud para agrupar recursos de infraestructura virtual dentro de los centros de datos existentes y ofrecerlos como servicios basados ​​en catálogos. Utilizado junto con VMware vSphere, la mejor plataforma para infraestructura de computación en la nube, VMware vCloud Director permite a los clientes crear nubes privadas seguras, transformando la forma en que los departamentos de TI brindan y administran servicios de infraestructura y cómo los usuarios acceden a ellos y los consumen. En las organizaciones generales, existen muchas nubes privadas en forma de Esxi instaladas de forma independiente o sistemas virtualizados implementados de forma independiente.

  • puerto (muchos)
  • escapatoria
  • escape del anfitrión
  • CVE-2017-5638
  • referencia:

2.6.2 Pila abierta

OpenStack es un software de infraestructura como servicio (IaaS) que permite a cualquier persona crear y proporcionar servicios de computación en la nube por su cuenta. Además, OpenStack también se utiliza para crear una "Nube Privada" (Nube Privada) dentro del firewall, proporcionando recursos compartidos por varios departamentos dentro de una organización o empresa.

  • Vulnerabilidades, existen lagunas, pero POC básicamente no las tiene. Verifique las prácticas de configuración segura.
  • Vulnerabilidad de omisión de permisos
  • fuga de información
  • Vulnerabilidades de ejecución de código
  • referencia:

2.6.3 Ventana acoplable

Docker es un proyecto de software de código abierto que automatiza la implementación de aplicaciones en contenedores de software, proporcionando así una capa de abstracción de software adicional y un mecanismo de gestión automática para la virtualización de la capa del sistema operativo en el sistema operativo Linux [1]. Docker utiliza el mecanismo de separación de recursos en el kernel de Linux, como cgroups, y el espacio de nombres del kernel de Linux (espacio de nombres), para crear contenedores de software independientes (contenedores). Esto funciona bajo una única entidad de Linux, evitando la sobrecarga de iniciar una máquina virtual. El soporte del kernel de Linux para espacios de nombres aísla completamente la visión de las aplicaciones en el entorno de trabajo, incluidos árboles de procesos, redes, ID de usuarios y sistemas de archivos montados, mientras que los cgroups centrales proporcionan aislamiento de recursos, incluidos CPU, memoria, bloques de E/S y redes. . A partir de la versión 0.9, Dockers comenzó a incluir la biblioteca de funciones libcontainer como una forma de comenzar a usar las funciones de virtualización proporcionadas por el kernel de Linux directamente sobre la base del uso de la interfaz de virtualización abstracta proporcionada por LXC de libvirt y systemd-nspawn.

  • Problemas de seguridad (pocs con pocas vulnerabilidades, los controles de seguridad también se basan en las mejores prácticas y recomendaciones de seguridad oficiales):
  • CVE-2015-3630 1.6.0 Vulnerabilidad de omisión de seguridad de Docker Libcontainer
  • CVE-2015-3627 1.6.1 Permisos de Libcontainer y Docker Engine y vulnerabilidades de control de acceso
  • CVE-2015-3630 1.6.1 Vulnerabilidad de omisión de seguridad del motor Docker
  • CVE-2014-9358 1.3.3 Vulnerabilidad de cruce del directorio Docker
  • CVE-2014-9357 1.3.2 Vulnerabilidad de control de acceso y permiso de Docker
  • CVE-2014-6408 1.3.1 Vulnerabilidad de control de acceso y permiso de Docker
  • CVE-2014-5277 1.3.0 Vulnerabilidad de inyección de código Docker y Docker-py
  • Explotaciones del kernel Los contenedores son una virtualización basada en el kernel, y el host (host) y todos los contenedores del host comparten un conjunto de kernels. Si el funcionamiento de un contenedor provoca una caída del kernel, los contenedores de toda la máquina se verán afectados a su vez.
  • Ataques de denegación de servicio (ataques de denegación de servicio) Todos los contenedores comparten recursos del kernel. Si un contenedor monopoliza un determinado recurso (memoria, CPU, varios ID), puede provocar que otros contenedores no funcionen debido a la falta de recursos. (formando un ataque DoS).
  • Separaciones de contenedores (Separaciones de contenedores) El mecanismo de espacio de nombres de Linux es uno de los núcleos del contenedor, que permite un proceso con PID = 1 dentro del contenedor, pero el número de proceso fuera del contenedor es diferente (como 1234). El problema ahora es que si un proceso con PID=1 supera el límite del espacio de nombres, obtendrá privilegios de root en el host.
  • Las imágenes envenenadas (imágenes envenenadas) consideran principalmente la seguridad de la imagen en sí, no hay mucho que decir.

2.7 Grandes datos

2.7.1 Búsqueda elástica

Elasticsearch es un motor de análisis y búsqueda distribuido que se puede utilizar para búsqueda de texto completo, búsqueda y análisis estructurados, y puede combinar los tres. Elasticsearch se desarrolla en base a Lucene y ahora es uno de los motores de búsqueda de código abierto más utilizados. Wikipedia, Stack Overflow, GitHub, etc. construyen sus motores de búsqueda basados ​​en Elasticsearch.

  • Puerto predeterminado: 9200(), 9300()
  • Método de ataque:
  • Acceso no autorizado;
  • ejecución remota de comandos;
  • recorrido de archivos;
  • Implantación de webshell de versión baja;

2.7.2 hadoop

Hadoop es un marco de código abierto que puede escribir y ejecutar aplicaciones distribuidas para procesar datos a gran escala. Está diseñado para análisis de datos fuera de línea y a gran escala. No es adecuado para el modo de procesamiento de transacciones en línea de lectura y escritura aleatoria de varios registros. . Hadoop=HDFS (sistema de archivos, relacionado con la tecnología de almacenamiento de datos) + Mapreduce (procesamiento de datos), la fuente de datos de Hadoop puede ser de cualquier forma y tiene un mejor rendimiento en comparación con la base de datos relacional en el procesamiento de datos semiestructurados y no estructurados, con capacidades de procesamiento más flexibles, independientemente de cualquier forma de datos eventualmente se convertirá en clave/valor, clave/valor es la unidad de datos básica. Use un estilo funcional para cambiar a Mapreduce en lugar de SQL. SQL es una declaración de consulta, mientras que Mapreduce usa scripts y códigos. Para bases de datos relacionales, Hadoop, que se usa para SQL, se puede reemplazar con la herramienta de código abierto Hive. Hadoop es una solución informática distribuida.

2.7.3 Colmena

Hive es un producto de almacenamiento de datos de la familia Hadoop. La característica más importante de Hive es que proporciona una sintaxis similar a SQL y encapsula el proceso MapReduce subyacente, de modo que el personal empresarial con base SQL también puede utilizar Hadoop directamente para operar big data.

2.7.4 primicia

El proyecto Apache Sqoop (SQL-to-Hadoop) tiene como objetivo ayudar a RDBMS y Hadoop a lograr un intercambio eficiente de big data. Con la ayuda de Sqoop, los usuarios pueden importar fácilmente datos de bases de datos relacionales a Hadoop y sistemas relacionados (como HBase y Hive); al mismo tiempo, también pueden extraer datos de los sistemas Hadoop y exportarlos a bases de datos relacionales. Además de estas funciones principales, Sqoop también proporciona algunas herramientas prácticas, como ver tablas de bases de datos.

2.7.5 HBase

Basado en HDFS, HBase proporciona un sistema de base de datos con alta confiabilidad, alto rendimiento, almacenamiento en columnas, escalabilidad y lectura y escritura en tiempo real. Está entre NoSQL y RDBMS, solo puede recuperar datos a través de claves de fila y secuencias de claves de fila, y solo admite transacciones de una sola fila (se pueden realizar operaciones complejas como la unión de varias tablas a través del soporte de Hive). Se utiliza principalmente para almacenar datos sueltos no estructurados y semiestructurados. Al igual que Hadoop, el objetivo de HBase se basa principalmente en la expansión horizontal para aumentar las capacidades informáticas y de almacenamiento mediante la adición continua de servidores básicos baratos.

2.7.6 Chispa

Spark es un marco de computación paralelo general similar a Hadoop MapReduce de código abierto del laboratorio AMP de UC Berkeley. Spark implementa computación distribuida basada en el algoritmo de reducción de mapas y tiene las ventajas de Hadoop MapReduce; sin embargo, se diferencia de MapReduce en que la salida intermedia y los resultados de los trabajos se pueden almacenar en la memoria, eliminando así la necesidad de leer y escribir en HDFS. Referirse a:

3. Mantenimiento de la escalada de autoridad

3.1 Escalada de derechos

SecWiki lo resume:

3.2 Establecer puerta trasera/reenvío de puertos

Herramientas de proxy y reenvío de puertos

  • LCX: software de reenvío de puertos en Windows.
  • Sockscap: principalmente para reenvío de puertos y reenvío de proxy en la plataforma Windows.
  • proxifier: herramienta de proxy y reenvío de puertos multiplataforma, adecuada para plataformas Windows, Linux, Macos, herramienta de reenvío de proxy
  • Rsscoks: *La herramienta de proxy y reenvío de puertos bajo la plataforma nix, es muy fácil de usar con proxychains.
  • Proxychains: * La antigua herramienta de proxy de calcetines en la plataforma nix, el sistema general vendrá con ella y quien la use lo sabrá.
  • ssh proxy: Proxy de puerto y reenvío a través de ssh, normalmente incluido en sistemas *nix.
  • netcat: socat, hping, puede realizar reenvío de puertos y reenvío de proxy de datos en muchos casos.
  • Metasploit: hay muchos módulos de proxy y módulos de reenvío de puertos en el módulo posterior a la infiltración de Metasploit.

Descargue la herramienta de reenvío de puertos (cifrada y comprimida) en el servidor de tránsito:

  • Puede conectarse a Internet para descargar
  • Carga de disco a través de mstsc
  • Tránsito por el servidor de entrada
  • Carga a través del software de control remoto

3.3 Transferir archivos

3.3.1 Empaquetado de archivos

Sobre el embalaje

  • Paquete de archivos rar, comprima todos los archivos doc modificados después del 1 de enero de 2013 en el directorio d:\data\, la contraseña 100M/paquete es Pass, -x es la opción de exclusión
  • rar.exe a–r –v100m new.rar –ta20130101000000 –hpPass –n*.doc –x*.exe d:\data\
  • Cifrado 7z, comprime todos los archivos en d:\data, la contraseña es Pass, subvolumen 100M/paquete
  • 7z.exe ac:\xx.7z -pPass -mhe d:\data -v100m
  • Linux puede agregar contraseñas a archivos de paquetes con tar y debe usarse junto con openssl.
  • tar -zcvf - pma|openssl des3 -salt -k contraseña | dd de=pma.des3
  • Utilice tar para extraer el archivo cifrado:
  • dd if=pma.des3 |openssl des3 -d -k contraseña|tar zxf -
  • ### 3.4.2 Varias ideas para la transferencia de archivos
  • Envíe datos directamente mediante el reenvío de puertos;
  • Cree protocolos FTP y HTTP;
  • Sube a la nube y luego descarga;

3.4 Crear un programa de puerta trasera/troyano

Generalmente use msfvenom de Matisploit

SET también puede generar programas de puerta trasera y también puede prestar atención a las últimas vulnerabilidades de Office y PDF.

4. Limpieza de troncos

Antes de realizar la limpieza de registros, debe comprender lo siguiente:

  • Es difícil eliminar por completo los rastros de ataques e intrusiones, y la ausencia de registros es en sí misma una característica de la intrusión;
  • Eliminar o borrar los registros locales del sistema de intrusión no significa que se eliminen los rastros y que los registros aún permanezcan en los dispositivos de red, dispositivos de seguridad y sistemas de registro centralizados;
  • La propia puerta trasera retenida contendrá información sobre el atacante;
  • El proxy o trampolín utilizado puede sufrir piratería inversa;
  • Verifique si hay un inicio de sesión de administrador antes de la operación;
  • Elimine la herramienta cargada, use la función de sobrescritura del disco para eliminar;

tipo de registro de Windows

  • Registros web: IIS, Apache y otros registros web
  • Registros de operación: lista de inicio de sesión 3389, archivos a los que se accedió recientemente, registros de acceso al navegador como IE, registros de acceso a archivos
  • Registro de inicio de sesión: registro de aplicaciones del sistema - registro de seguridad, etc.
  • Antes de que se restablezca el ataque y el estado, trate de mantenerlo consistente

Registro de operaciones de Linux

  • Operación del historial de Linux
  • desarmar HISTORIAL HISTFILE HISTSAVE HISTZONE HISTORIAL HISTLOG; exportar HISTFILE=/dev/null;
  • Los registros de inicio de sesión SSHD eliminan registros en ~/.ssh/known_hosts
  • Modificar la marca de tiempo del archivo touch –r El archivo original debe modificarse
  • Eliminar archivos de uso temporal, especialmente el directorio tmp
  • vaporizador de troncos

5 herramientas y otros

8a9b7b3bedeb4f70bf50fca166e1e4f9.jpegHerramientas de prueba de penetración

1. Algunos principios del uso de herramientas para infiltrarse en la intranet.

 

  • Utilice las herramientas que más le convengan. No es necesario recolectar demasiadas herramientas, solo las suficientes;
  • Puede escribir herramientas aplicables según la situación real;
  • Las herramientas que no pueden garantizar la seguridad deben ejecutarse en una máquina virtual (muchas de ellas contienen virus y caballos de Troya);
  • Para controles de seguridad, intente utilizar herramientas de código abierto en GitHub.
  1. Introducción a la herramienta Estoy acostumbrado a usar las propias herramientas de Kali y primero busco POC específicos en Github.
  2. Consideraciones de penetración
  • Consulta el sistema de vigilancia y prevención de la intranet
  • Utilice el software ARP y el software de escaneo de áreas grandes con precaución
  • No utilice máquinas inactivas en la red de destino como objetos de empaquetado
  • Utilice máquinas de intranet de alto tráfico como objetos de transmisión, como servidores wsus y sistemas de videoconferencia.
  • Utilice máquinas temporales para empaquetar y transmitir datos, no utilice máquinas controladas, utilice scripts wmi u operaciones remotas wmic para infiltrarse en las precauciones
  • Deshabilitar psexec.exe
  • Evite las horas de trabajo del usuario al empaquetar
  • Tamaño del volumen de control <100M
  • Elija el software de compresión más utilizado por los usuarios
  • Datos de descarga fuera de horas pico
  • Controlar el flujo de tráfico
  • Borrar todos los registros de operaciones
  • Antes de iniciar sesión en el host, verifique si el administrador está
  • Los servicios de pruebas de penetración requieren mucha experiencia práctica para garantizar el funcionamiento seguro y estable del sitio web, prevenir ataques, manipulaciones y otros comportamientos peligrosos, evitar más pérdidas para los clientes y minimizar los riesgos de seguridad. Si tiene necesidades de penetración, puede ponerse en contacto con un profesional La empresa de seguridad de sitios web realiza una inspección integral del servicio de penetración, las nacionales son más completas y recomiendan Sinesafe, NSFOCUS, Venustech, etc.

Cada vez más clientes de sitios web y aplicaciones de teléfonos móviles prestan atención a los servicios de pruebas de penetración de seguridad. Antes de conectarse, deben realizar una prueba exhaustiva previa a la penetración en la plataforma para encontrar lagunas y errores de seguridad. Muchos clientes acuden a SINE Security en busca de servicios de pruebas de penetración. Es posible que el proceso específico no se comprenda bien. A continuación presentaremos el método y el proceso de prueba de penetración específicos de una manera más completa.

d7ca632be85240cdb80bb34cf0b64e14.jpegpruebas de penetración

1. Proceso de infiltración

  1. recoger mensaje
  2. Verificación de vulnerabilidad/ataque de vulnerabilidad
  3. escalada de privilegios, mantenimiento de privilegios
  4. limpieza de registros

recoger mensaje

Generalmente, el escaneo de puertos y el escaneo de vulnerabilidades se ejecutan primero para obtener vulnerabilidades explotables. Utilice más motores de búsqueda

escaneo de puertos

Con autorización, utilice directamente herramientas de escaneo de puertos como nmap, masscan y escriba scripts py para obtener directamente puertos abiertos y obtener información de banner del lado del servidor.

análisis de vulnerabilidades

Utilice el escáner de osos polares, Nessus, awvs y otras herramientas de escaneo faltantes para escanear directamente el objetivo y podrá ver directamente el host superviviente y la vulnerabilidad del host.

2. Ataque de vulnerabilidad

Si solo utiliza el escaneo de puertos para encontrar puertos abiertos, debe encontrar el CVE correspondiente en la base de datos de vulnerabilidades (ver error, ExploitDB) después de obtener la información del banner y luego verificar si la vulnerabilidad existe. Las inspecciones de seguridad generalmente intentan encontrar todas las vulnerabilidades tanto como sea posible y evaluar y reparar los riesgos de las vulnerabilidades. Para la intrusión, céntrese únicamente en la ejecución remota de código de alto riesgo y en las vulnerabilidades de divulgación de información confidencial que puedan explotarse directamente. Para la verificación de vulnerabilidades, puede encontrar POC y EXP con el número CVE correspondiente, verificar el código de explotación en ExploitDB, seebug o buscar en github herramientas de utilización o verificación de vulnerabilidades relacionadas.

2.1 aplicación web

Puede buscar directamente vulnerabilidades como inyección, carga, ejecución de código, inclusión de archivos, secuencias de comandos entre sitios, etc. para atacar. Generalmente, AWVS se puede utilizar para escanear directamente en busca de vulnerabilidades comunes.

2.1.2 Middleware web

(1) Gato

Tomcat es un subproyecto de la organización de software Apache Jakarta. Tomcat es un contenedor JSP/Servlet. Es una implementación estándar de las especificaciones JSP y Servlet desarrolladas sobre la base del JSWDK (Java Server Web Development Kit) de Sun. El uso de Tomcat puede experimentar las últimas especificaciones de JSP y Servlet.

  • Número de puerto: 8080
  • Método de ataque:
  • Contraseña predeterminada, contraseña débil, voladura, tomcat5 tiene dos roles por defecto: tomcat y role1. Entre ellas, las contraseñas predeterminadas de las cuentas Tomcat y Role1 son Tomcat. Las contraseñas débiles generalmente existen en versiones inferiores a 5.
  • Implementar el archivo de puerta trasera de guerra en el fondo de administración
  • Vulnerabilidades de ejecución remota de código

(2) Jboss

Es un servidor de aplicaciones J2EE que ejecuta EJB. Es un proyecto de código abierto y sigue la última especificación J2EE. Desde el inicio del proyecto JBoss, se ha desarrollado desde un contenedor EJB hasta un sistema operativo web (sistema operativo para web) basado en J2EE, que incorpora la última tecnología en la especificación J2EE.

  • Puerto: 8080
  • Método de ataque:
  • contraseña débil, explosión
  • Administrar la puerta trasera de guerra de implementación en segundo plano
  • deserialización
  • ejecución remota de código
  • referencia:

(3)Lógica Web

WebLogic es un servidor de aplicaciones producido por Oracle Corporation en los Estados Unidos. Para ser precisos, es un middleware basado en la arquitectura JAVAEE. WebLogic es un servidor de aplicaciones Java para desarrollar, integrar, implementar y administrar aplicaciones web distribuidas a gran escala y aplicaciones de red. y aplicaciones de bases de datos. Introducir las funciones dinámicas de Java y la seguridad del estándar Java Enterprise en el desarrollo, integración, implementación y gestión de aplicaciones de red a gran escala.

  • Puerto: 7001, 7002
  • Método de ataque:
  • Las contraseñas débiles, explosivas y débiles generalmente son weblogic/Oracle @123 o weblogic
  • Administrar la puerta trasera de guerra de implementación en segundo plano
  • SSRF
  • Vulnerabilidades de deserialización
  • weblogic_uac

(4) WebSphere

Un conjunto de herramientas de desarrollo de aplicaciones de comercio electrónico y entorno operativo típicos de IBM Corporation.

  • Puerto: Puerto predeterminado: 908*; la primera aplicación es 9080, la segunda es 9081; la consola es 9090
  • Método de ataque:
  • Explosión de inicio de sesión en la consola
  • Muchas consolas de intranet websphere tienen contraseñas débiles/contraseñas predeterminadas, y puede usar contraseñas como admin/admin y webshpere/webshpere para iniciar sesión. Después de iniciar sesión en la consola con esta contraseña, puede implementar el paquete war para obtener WEBSHELL.
  • deserialización
  • Divulgación arbitraria de archivos

(5) Pez de cristal

2.1.3 Marco web

(1) Puntales2

Struts2 es un marco elegante y extensible para crear aplicaciones web Java listas para empresas. De hecho, hay muchas lagunas: cada vez que se expone una laguna importante, la plataforma será robada.

  • Vulnerabilidades explotables
  • S2-046 CVE-2017-5638 Puntales 2.3.5-2.3.31, Puntales 2.5-2.5.10
  • S2-045 CVE-2017-5638 Puntales 2.3.5-2.3.31, Puntales 2.5-2.5.10
  • S2-037 CVE-2016-4438 Puntales 2.3.20-2.3.28.1
  • S2-032 CVE-2016-3081 Puntales 2.3.18-2.3.28
  • S2-020 CVE-2014-0094 Puntales 2.0.0-2.3.16
  • S2-019 CVE-2013-4316 Puntales 2.0.0-2.3.15.1
  • S2-016 CVE-2013-2251 Puntales 2.0.0-2.3.15
  • S2-013 CVE-2013-1966 Puntales 2.0.0-2.3.14
  • S2-009 CVE-2011-3923 Puntales 2.0.0-2.3.1.1
  • S2-005 CVE-2010-1870 Puntales 2.0.0-2.1.8.1

(2) marco de primavera

Spring Framework es un marco de aplicación de pila completa (full-stack) Java/Java EE de código abierto, lanzado en forma de acuerdo de licencia de código abierto Apache License 2.0 y también tiene una versión portada a la plataforma .NET. Spring Framework proporciona un método de desarrollo simple que evitará una gran cantidad de archivos de propiedades y clases auxiliares que pueden hacer que el código subyacente se vuelva complicado y confuso.

  • Vulnerabilidades explotables
  • CVE-2010-1622
  • CVE-2018-1274
  • CVE-2018-1270
  • CVE-2018-1273
  • deserialización
  • recorrido de directorio

2.1.4 Servidor web

  • IIS : Servidor WWW para Windows
  • Puerto: 80
  • Método de ataque:
  • IIS, con WebDAV habilitado, puede ver directamente los archivos PUT del servidor
  • Vulnerabilidad de enumeración de nombres de archivos cortos
  • ejecución remota de código
  • vulnerabilidad de escalada de privilegios
  • analizando lagunas
  • apache
  • Puerto: 80
  • Método de ataque:
  • analizando lagunas
  • recorrido de directorio
  • nginx
  • Puerto: 80
  • Método de ataque:
  • analizando lagunas
  • recorrido de directorio
  • CVE-2016-1247: Es necesario obtener el permiso de operación del host, y el atacante puede reemplazar el archivo de registro vinculando suavemente cualquier archivo, para realizar la escalada de privilegios y obtener el privilegio de raíz del servidor.
  • luztpd
  • Puerto: 80
  • Método de ataque:
  • recorrido de directorio

2.2 Sistemas comunes de operación y mantenimiento

2c6e3a43e35f42c5909f1f7ba1fb76d0.jpegOperación y mantenimiento de pruebas de penetración.

Generalmente, se divide en herramientas relacionadas con el despliegue automatizado y el monitoreo de operación y mantenimiento. Las vulnerabilidades se pueden obtener a través de motores de búsqueda, búsquedas en github, búsquedas en ExploitDB y avisos de seguridad en el sitio web oficial. Un problema común con las aplicaciones de propósito general en la intranet son las contraseñas débiles: si un administrador puede iniciar sesión en varios sistemas, las cuentas y contraseñas para estos sistemas son básicamente las mismas.

2.2.1 Gitlab

GitLab es una aplicación de código abierto desarrollada con Ruby on Rails que implementa un repositorio de proyectos autohospedado al que se puede acceder a través de una interfaz web para proyectos públicos o privados.

  • Vulnerabilidades explotables:
  • Vulnerabilidad de lectura de archivos arbitrarios
  • Vulnerabilidad inesperada de divulgación de tokens de usuario
  • vulnerabilidad de ejecución de comandos

2.2.2 Jenkins

Jenkins es un software de aplicación de entrega e integración continua multiplataforma que facilita la entrega continua y estable de nuevas versiones de software y mejora la eficiencia de su trabajo. La herramienta DevOps también facilita a los desarrolladores incorporar cambios a un proyecto y utilizar una amplia gama de técnicas de prueba e implementación.

  • Vulnerabilidades explotables:
  • Vulnerabilidades de ejecución remota de código
  • Vulnerabilidades de deserialización
  • Vulnerabilidad de acceso no autorizado
  • Entrada de inicio de sesión explosiva

2.2.3 Marioneta

Puppet Enterprise se especializa en administrar infraestructura como código (IAC), un tipo de proceso de aprovisionamiento de infraestructura de TI en el que los sistemas se construyen, administran y configuran automáticamente utilizando código en lugar de procesos programados. Dado que es código, todo el proceso es fácilmente repetible. Puppet facilita un control de versiones más sencillo, pruebas automatizadas y entrega continua para una respuesta más rápida a problemas o errores.

  • Vulnerabilidades explotables, pocas pruebas de concepto públicas
  • deserialización
  • ejecución remota de comandos

2.2.4 Ansible

Ansible es una herramienta de configuración y gestión para la implementación y configuración de software orientada al cliente, compatible con Unix, Linux y Windows. Utiliza JSON y YAML, no IAC, y no requiere ningún agente de nodo para su instalación. Está disponible en sistemas internos a través de OpenStack y en Amazon EC2.

  • Vulnerabilidades explotables
  • ejecución remota de código

2.2.5 Nagios

Nagios es un sistema informático de código abierto y una herramienta de monitoreo de red, que puede monitorear efectivamente el estado del host de Windows, Linux y Unix, configuraciones de red como conmutadores y enrutadores, impresoras, etc. Cuando el estado del sistema o servicio es anormal, se envía una alarma por correo electrónico o SMS para notificar al personal de operación y mantenimiento del sitio web por primera vez, y se envía una notificación normal por correo electrónico o SMS después de que se restablece el estado.

  • Vulnerabilidades explotables
  • ejecución de código
  • SQLi

2.2.6 Zabbix

Zabbix es un potente sistema de monitoreo distribuido de código abierto que puede mostrar datos proporcionados por SNMP, JMX y Zabbix Agent a través de WEB GUI.

  • Vulnerabilidades que pueden explotarse (consulte ExploitDB para obtener más detalles):
  • ejecución remota de código
  • SQLi
  • inyección de comando de shell
  • omisión de autenticación
  • La cuenta y contraseña predeterminadas, la contraseña predeterminada es admin/zabbix o guest/vacío

2.2.7 Cácito

Cacti es un conjunto de herramientas de análisis gráfico para monitoreo del tráfico de red desarrollado en base a PHP, MySQL, SNMP y RRDTool.

  • Vulnerabilidades explotables
  • ejecución de código arbitrario
  • SQLi
  • inicio de sesión
  • Contraseña predeterminada admin/admin

2.2.8

Splunk Enterprise puede monitorear y analizar datos de máquinas desde cualquier fuente para brindar inteligencia operativa para optimizar su TI, seguridad y desempeño comercial. Con análisis intuitivos, aprendizaje automático, aplicaciones empaquetadas y API abiertas, Splunk Enterprise es una plataforma flexible que escala desde casos de uso enfocados hasta una columna vertebral de análisis para toda la empresa.

  • Vulnerabilidades explotables
  • fuga de información
  • inyección de comando
  • falsificación de solicitud del servidor
  • referencia
  • Búsqueda de ExploitDB

2.3 Aplicaciones web comunes

También existen aplicaciones de correo electrónico y aplicaciones CMS comunes, que buscan las vulnerabilidades correspondientes en los motores de búsqueda y utilizan vulnerabilidades conocidas para atacar.

2.3.1 Sistema de correo

Algunos de ellos usan Tencent Enterprise Mailbox y Ali Enterprise Mailbox, y es difícil tener lagunas explotables. El otro es un sistema de correo que se puede implementar de forma independiente y es comúnmente utilizado por aplicaciones de buzones gubernamentales y empresariales:

  • Correo central
  • mil millones de correo
  • 35Internet
  • TurboMail
  • Intercambio
  • IBM loto

2.3.2 Aplicación CMS

2.4 Base de datos/caché/servicio de mensajes

2.4.1 Base de datos MySQL

  • Puerto predeterminado: 3306
  • Método de ataque:
  • Explosión: contraseñas débiles
  • Vulnerabilidad de autenticación: CVE-2012-2122
  • ataque de denegación de servicio
  • Omisión de contraseña universal de Phpmyadmin: Nombre de usuario: 'localhost'@'@" contraseña arbitraria
  • Escalada de derechos

2.4.2 Base de datos MSSQL

  • Puerto predeterminado: 1433 (servicio de base de datos del servidor), 1434 (supervisión de la base de datos de supervisión)
  • Método de ataque:
  • Explosión: contraseña débil/usar usuario del sistema
  • inyección

2.4.3 Base de datos Oracle

  • Puertos predeterminados: 1521 (puerto de base de datos), 1158 (puerto Oracle EMCTL), 8080 (base de datos Oracle XDB), 210 (servicio FTP de Oracle XDB)
  • Método de ataque:
  • Explosión: contraseñas débiles
  • ataque de inyección;
  • Ataque de vulnerabilidad;

2.4.4 Base de datos PostgreSQL

PostgreSQL es un sistema de gestión de bases de datos relacional de objetos de software gratuito con funciones completas. Se puede decir que es el sistema de gestión de bases de datos gratuito más avanzado y potente del mundo. Incluir msf en el sistema Kali también usa esta base de datos; hablando de tecnología de ataque a bases de datos postgresql, la mayoría de los ataques siguen siendo inyección SQL, por lo que la inyección es un tema que permanece sin cambios en la base de datos.

  • Puerto predeterminado: 5432
  • Método de ataque:
  • Explosión: contraseña débil: postgres postgres
  • Desbordamiento de búfer: CVE-2014-2669

2.4.5 Base de datos MongoDB

MongoDB, base de datos NoSQL; el método de ataque es similar a otras bases de datos》

  • Puerto predeterminado: 27017
  • Método de ataque:
  • Explosión: contraseñas débiles
  • Acceso no autorizado; github tiene código de ataque; haga clic

2.4.6 Base de datos Redis

Redis es una base de datos de valores clave, de tipo registro y de código abierto escrita en lenguaje C que admite la red y puede estar basada en memoria o ser persistente. Esta base de datos ha sido muy popular en los últimos dos años y se han expuesto muchos problemas. Especialmente el acceso no autorizado que quedó expuesto hace algún tiempo.

  • Método de ataque:
  • Explosión: contraseñas débiles
  • Acceso no autorizado + escalada con clave ssh;

2.4.7 Base de datos SysBase

  • Puerto predeterminado: puerto de servicio 5000; puerto de escucha 4100; puerto de respaldo: 4200
  • Método de ataque:
  • Explosión: contraseñas débiles
  • Inyección de comando:
  • referencia

2.4.8 base de datos DB2

  • Puerto predeterminado: 5000
  • Método de ataque:
  • Omisión de restricciones de seguridad: se pueden realizar acciones no autorizadas en caso de éxito (CVE-2015-1922)

2.5 Servicios/Acuerdo Comunes

2.5.1 Servicio FTP

Servicio FTP: puedo dividir el servicio ftp en dos situaciones: la primera es usar el software del sistema para configurar, como el intercambio de archivos FTP en IIS o el software de servicio predeterminado en Linux, la segunda es usar software de terceros para configurar, como Serv -U También hay algunos servidores ftp simples escritos en Internet; puerto predeterminado: 20 (puerto de datos); 21 (puerto de control); 69 (protocolo de transferencia de archivos pequeños tftp)

  • Método de ataque:
  • Voladura: Existen muchas herramientas de voladura para ftp, aquí recomiendo el Bruter de owasp y el módulo de voladura ftp en msf;
  • Acceso anónimo: nombre de usuario: contraseña anónima: vacío o cualquier buzón
  • Rastreo: ftp utiliza tecnología de transmisión de texto sin formato (pero el rastreo se realiza en la LAN y necesita falsificar o escuchar la puerta de enlace)
  • puerta trasera vsftp
  • desbordamiento remoto
  • ataque de salto

2.5.2 Servicio NFS

NFS (Network File System) es un sistema de archivos de red, que es uno de los sistemas de archivos admitidos por FreeBSD y permite a las computadoras de la red compartir recursos a través de la red TCP/IP. En las aplicaciones NFS, las aplicaciones cliente NFS locales pueden leer y escribir de forma transparente archivos ubicados en servidores NFS remotos, al igual que acceder a archivos locales. Hoy en día, NFS tiene la función de evitar que la carpeta de exportación sea explotada, pero si el servicio NFS en el sistema heredado no está configurado correctamente, aún así puede ser explotado por atacantes maliciosos.

  • método de ataque
  • Acceso no autorizado

2.5.3 Servicio Samba

Samba es un software gratuito que implementa el protocolo SMB/CIFS en sistemas Linux y Unix, y consta de programas de servidor y cliente. SMB es un protocolo de comunicación que admite archivos e impresoras compartidos en una red de área local y proporciona servicios para compartir recursos como archivos e impresoras entre diferentes computadoras en una red de área local.

  • método de ataque
  • ejecución remota de código
  • contraseña debil
  • Acceso no autorizado (público)

2.5.4 Servicio SSH

SSH es un protocolo y el software OpenSSH se utiliza generalmente para implementar aplicaciones de protocolo. SSH es la abreviatura de Secure Shell, desarrollado por el Network Working Group del IETF; SSH es un protocolo de seguridad basado en la capa de aplicación y la capa de transporte. SSH es actualmente el protocolo más confiable diseñado para brindar seguridad para sesiones de inicio de sesión remotas y otros servicios de red. El uso del protocolo SSH puede prevenir eficazmente la fuga de información en el proceso de gestión remota.

  • puerto: 22
  • Método de ataque:
  • voladura
  • Puerta trasera
  • Vulnerabilidades: 28 vulnerabilidades de retroceso, vulnerabilidades de OpenSSL

2.5.5 Servicio Telnet

El protocolo Telnet es miembro de la familia de protocolos TCP/IP y es el protocolo estándar y el método principal del servicio de inicio de sesión remoto de Internet. Proporciona a los usuarios la posibilidad de realizar trabajos de host remoto en su computadora local. Utilice el programa telnet en la computadora del usuario final para conectarse al servidor. Los usuarios finales pueden ingresar comandos en el programa telnet y estos comandos se ejecutarán en el servidor, como si se ingresaran directamente en la consola del servidor. El servidor se puede controlar localmente.

  • Puerto predeterminado: 21
  • Método de ataque:
  • voladura
  • oler

2.5.6 Conexión remota de Windows

  • Puerto predeterminado: 3389
  • método de ataque
  • voladura
  • Puerta trasera con tecla adhesiva de cambio: puerta trasera con cambio de 5 veces
  • Utilice ms12-020 para atacar el puerto 3389

2.5.7 Servicio VNC

VNC (Virtual Network Computing) es un software de operación remota y para compartir pantalla que utiliza el protocolo RFB. Este software puede enviar acciones de teclado y mouse e imágenes de pantalla en tiempo real a través de la red.

  • Puerto predeterminado: 5900 + ID de escritorio (5901; 5902)
  • Método de ataque:
  • Explosión: contraseñas débiles
  • Omisión de contraseña de autenticación:
  • Ataque de denegación de servicio: (CVE-2015-5239)
  • Escalada de privilegios: (CVE-2013-6886)

2.5.8 Protocolo SMTP

smtp: protocolo de correo, este servicio está habilitado de forma predeterminada en Linux y puede enviar correos electrónicos de phishing a la otra parte.

  • Puerto predeterminado: 25 (smtp), 465 (smtps)
  • Método de ataque:
  • Explosión: contraseñas débiles
  • Acceso no autorizado

2.5.9 Protocolo POP3

  • Puerto predeterminado: 109 (POP2), 110 (POP3), 995 (POP3S)
  • Método de ataque:
  • fuerza bruta; contraseña débil
  • Acceso no autorizado;

2.5.10 Servicio DNS

  • Puerto predeterminado: 53
  • Método de ataque:
  • vulnerabilidad de transferencia de zona

2.5.11 protocolo IMAP

  • Puerto predeterminado: 143 (imap), 993 (imaps)
  • Método de ataque:
  • Explosión: contraseñas débiles
  • configuración incorrecta

2.5.12 protocolo SNMP

  • Puerto predeterminado: 161
  • Método de ataque:
  • Explosión: contraseñas débiles

2.5.13 servicio DHCP

  • Puerto predeterminado: 67 y 68, 546 (conmutación por error DHCP para respaldo activo de sistema dual)
  • Método de ataque:
  • secuestro de DHCP;

2.6 Entorno de nube

2.6.1 VMware

Utilice VMware vCloud para agrupar recursos de infraestructura virtual dentro de los centros de datos existentes y ofrecerlos como servicios basados ​​en catálogos. Utilizado junto con VMware vSphere, la mejor plataforma para infraestructura de computación en la nube, VMware vCloud Director permite a los clientes crear nubes privadas seguras, transformando la forma en que los departamentos de TI brindan y administran servicios de infraestructura y cómo los usuarios acceden a ellos y los consumen. En las organizaciones generales, existen muchas nubes privadas en forma de Esxi instaladas de forma independiente o sistemas virtualizados implementados de forma independiente.

  • puerto (muchos)
  • escapatoria
  • escape del anfitrión
  • CVE-2017-5638
  • referencia:

2.6.2 Pila abierta

OpenStack es un software de infraestructura como servicio (IaaS) que permite a cualquier persona crear y proporcionar servicios de computación en la nube por su cuenta. Además, OpenStack también se utiliza para crear una "Nube Privada" (Nube Privada) dentro del firewall, proporcionando recursos compartidos por varios departamentos dentro de una organización o empresa.

  • Vulnerabilidades, existen lagunas, pero POC básicamente no las tiene. Verifique las prácticas de configuración segura.
  • Vulnerabilidad de omisión de permisos
  • fuga de información
  • Vulnerabilidades de ejecución de código
  • referencia:

2.6.3 Ventana acoplable

Docker es un proyecto de software de código abierto que automatiza la implementación de aplicaciones en contenedores de software, proporcionando así una capa de abstracción de software adicional y un mecanismo de gestión automática para la virtualización de la capa del sistema operativo en el sistema operativo Linux [1]. Docker utiliza el mecanismo de separación de recursos en el kernel de Linux, como cgroups, y el espacio de nombres del kernel de Linux (espacio de nombres), para crear contenedores de software independientes (contenedores). Esto funciona bajo una única entidad de Linux, evitando la sobrecarga de iniciar una máquina virtual. El soporte del kernel de Linux para espacios de nombres aísla completamente la visión de las aplicaciones en el entorno de trabajo, incluidos árboles de procesos, redes, ID de usuarios y sistemas de archivos montados, mientras que los cgroups centrales proporcionan aislamiento de recursos, incluidos CPU, memoria, bloques de E/S y redes. . A partir de la versión 0.9, Dockers comenzó a incluir la biblioteca de funciones libcontainer como una forma de comenzar a usar las funciones de virtualización proporcionadas por el kernel de Linux directamente sobre la base del uso de la interfaz de virtualización abstracta proporcionada por LXC de libvirt y systemd-nspawn.

  • Problemas de seguridad (pocs con pocas vulnerabilidades, los controles de seguridad también se basan en las mejores prácticas y recomendaciones de seguridad oficiales):
  • CVE-2015-3630 1.6.0 Vulnerabilidad de omisión de seguridad de Docker Libcontainer
  • CVE-2015-3627 1.6.1 Permisos de Libcontainer y Docker Engine y vulnerabilidades de control de acceso
  • CVE-2015-3630 1.6.1 Vulnerabilidad de omisión de seguridad del motor Docker
  • CVE-2014-9358 1.3.3 Vulnerabilidad de cruce del directorio Docker
  • CVE-2014-9357 1.3.2 Vulnerabilidad de control de acceso y permiso de Docker
  • CVE-2014-6408 1.3.1 Vulnerabilidad de control de acceso y permiso de Docker
  • CVE-2014-5277 1.3.0 Vulnerabilidad de inyección de código Docker y Docker-py
  • Explotaciones del kernel Los contenedores son una virtualización basada en el kernel, y el host (host) y todos los contenedores del host comparten un conjunto de kernels. Si el funcionamiento de un contenedor provoca una caída del kernel, los contenedores de toda la máquina se verán afectados a su vez.
  • Ataques de denegación de servicio (ataques de denegación de servicio) Todos los contenedores comparten recursos del kernel. Si un contenedor monopoliza un determinado recurso (memoria, CPU, varios ID), puede provocar que otros contenedores no funcionen debido a la falta de recursos. (formando un ataque DoS).
  • Separaciones de contenedores (Separaciones de contenedores) El mecanismo de espacio de nombres de Linux es uno de los núcleos del contenedor, que permite un proceso con PID = 1 dentro del contenedor, pero el número de proceso fuera del contenedor es diferente (como 1234). El problema ahora es que si un proceso con PID=1 supera el límite del espacio de nombres, obtendrá privilegios de root en el host.
  • Las imágenes envenenadas (imágenes envenenadas) consideran principalmente la seguridad de la imagen en sí, no hay mucho que decir.

2.7 Grandes datos

2.7.1 Búsqueda elástica

Elasticsearch es un motor de análisis y búsqueda distribuido que se puede utilizar para búsqueda de texto completo, búsqueda y análisis estructurados, y puede combinar los tres. Elasticsearch se desarrolla en base a Lucene y ahora es uno de los motores de búsqueda de código abierto más utilizados. Wikipedia, Stack Overflow, GitHub, etc. construyen sus motores de búsqueda basados ​​en Elasticsearch.

  • Puerto predeterminado: 9200(), 9300()
  • Método de ataque:
  • Acceso no autorizado;
  • ejecución remota de comandos;
  • recorrido de archivos;
  • Implantación de webshell de versión baja;

2.7.2 hadoop

Hadoop es un marco de código abierto que puede escribir y ejecutar aplicaciones distribuidas para procesar datos a gran escala. Está diseñado para análisis de datos fuera de línea y a gran escala. No es adecuado para el modo de procesamiento de transacciones en línea de lectura y escritura aleatoria de varios registros. . Hadoop=HDFS (sistema de archivos, relacionado con la tecnología de almacenamiento de datos) + Mapreduce (procesamiento de datos), la fuente de datos de Hadoop puede ser de cualquier forma y tiene un mejor rendimiento en comparación con la base de datos relacional en el procesamiento de datos semiestructurados y no estructurados, con capacidades de procesamiento más flexibles, independientemente de cualquier forma de datos eventualmente se convertirá en clave/valor, clave/valor es la unidad de datos básica. Use un estilo funcional para cambiar a Mapreduce en lugar de SQL. SQL es una declaración de consulta, mientras que Mapreduce usa scripts y códigos. Para bases de datos relacionales, Hadoop, que se usa para SQL, se puede reemplazar con la herramienta de código abierto Hive. Hadoop es una solución informática distribuida.

2.7.3 Colmena

Hive es un producto de almacenamiento de datos de la familia Hadoop. La característica más importante de Hive es que proporciona una sintaxis similar a SQL y encapsula el proceso MapReduce subyacente, de modo que el personal empresarial con base SQL también puede utilizar Hadoop directamente para operar big data.

2.7.4 primicia

El proyecto Apache Sqoop (SQL-to-Hadoop) tiene como objetivo ayudar a RDBMS y Hadoop a lograr un intercambio eficiente de big data. Con la ayuda de Sqoop, los usuarios pueden importar fácilmente datos de bases de datos relacionales a Hadoop y sistemas relacionados (como HBase y Hive); al mismo tiempo, también pueden extraer datos de los sistemas Hadoop y exportarlos a bases de datos relacionales. Además de estas funciones principales, Sqoop también proporciona algunas herramientas prácticas, como ver tablas de bases de datos.

2.7.5 HBase

Basado en HDFS, HBase proporciona un sistema de base de datos con alta confiabilidad, alto rendimiento, almacenamiento en columnas, escalabilidad y lectura y escritura en tiempo real. Está entre NoSQL y RDBMS, solo puede recuperar datos a través de claves de fila y secuencias de claves de fila, y solo admite transacciones de una sola fila (se pueden realizar operaciones complejas como la unión de varias tablas a través del soporte de Hive). Se utiliza principalmente para almacenar datos sueltos no estructurados y semiestructurados. Al igual que Hadoop, el objetivo de HBase se basa principalmente en la expansión horizontal para aumentar las capacidades informáticas y de almacenamiento mediante la adición continua de servidores básicos baratos.

2.7.6 Chispa

Spark es un marco de computación paralelo general similar a Hadoop MapReduce de código abierto del laboratorio AMP de UC Berkeley. Spark implementa computación distribuida basada en el algoritmo de reducción de mapas y tiene las ventajas de Hadoop MapReduce; sin embargo, se diferencia de MapReduce en que la salida intermedia y los resultados de los trabajos se pueden almacenar en la memoria, eliminando así la necesidad de leer y escribir en HDFS. Referirse a:

3. Mantenimiento de la escalada de autoridad

3.1 Escalada de derechos

SecWiki lo resume:

3.2 Establecer puerta trasera/reenvío de puertos

Herramientas de proxy y reenvío de puertos

  • LCX: software de reenvío de puertos en Windows.
  • Sockscap: principalmente para reenvío de puertos y reenvío de proxy en la plataforma Windows.
  • proxifier: herramienta de proxy y reenvío de puertos multiplataforma, adecuada para plataformas Windows, Linux, Macos, herramienta de reenvío de proxy
  • Rsscoks: *La herramienta de proxy y reenvío de puertos bajo la plataforma nix, es muy fácil de usar con proxychains.
  • Proxychains: * La antigua herramienta de proxy de calcetines en la plataforma nix, el sistema general vendrá con ella y quien la use lo sabrá.
  • ssh proxy: Proxy de puerto y reenvío a través de ssh, normalmente incluido en sistemas *nix.
  • netcat: socat, hping, puede realizar reenvío de puertos y reenvío de proxy de datos en muchos casos.
  • Metasploit: hay muchos módulos de proxy y módulos de reenvío de puertos en el módulo posterior a la infiltración de Metasploit.

Descargue la herramienta de reenvío de puertos (cifrada y comprimida) en el servidor de tránsito:

  • Puede conectarse a Internet para descargar
  • Carga de disco a través de mstsc
  • Tránsito por el servidor de entrada
  • Carga a través del software de control remoto

3.3 Transferir archivos

3.3.1 Empaquetado de archivos

Sobre el embalaje

  • Paquete de archivos rar, comprima todos los archivos doc modificados después del 1 de enero de 2013 en el directorio d:\data\, la contraseña 100M/paquete es Pass, -x es la opción de exclusión
  • rar.exe a–r –v100m new.rar –ta20130101000000 –hpPass –n*.doc –x*.exe d:\data\
  • Cifrado 7z, comprime todos los archivos en d:\data, la contraseña es Pass, subvolumen 100M/paquete
  • 7z.exe ac:\xx.7z -pPass -mhe d:\data -v100m
  • Linux puede agregar contraseñas a archivos de paquetes con tar y debe usarse junto con openssl.
  • tar -zcvf - pma|openssl des3 -salt -k contraseña | dd de=pma.des3
  • Utilice tar para extraer el archivo cifrado:
  • dd if=pma.des3 |openssl des3 -d -k contraseña|tar zxf -
  • ### 3.4.2 Varias ideas para la transferencia de archivos
  • Envíe datos directamente mediante el reenvío de puertos;
  • Cree protocolos FTP y HTTP;
  • Sube a la nube y luego descarga;

3.4 Crear un programa de puerta trasera/troyano

Generalmente use msfvenom de Matisploit

SET también puede generar programas de puerta trasera y también puede prestar atención a las últimas vulnerabilidades de Office y PDF.

4. Limpieza de troncos

Antes de realizar la limpieza de registros, debe comprender lo siguiente:

  • Es difícil eliminar por completo los rastros de ataques e intrusiones, y la ausencia de registros es en sí misma una característica de la intrusión;
  • Eliminar o borrar los registros locales del sistema de intrusión no significa que se eliminen los rastros y que los registros aún permanezcan en los dispositivos de red, dispositivos de seguridad y sistemas de registro centralizados;
  • La propia puerta trasera retenida contendrá información sobre el atacante;
  • El proxy o trampolín utilizado puede sufrir piratería inversa;
  • Verifique si hay un inicio de sesión de administrador antes de la operación;
  • Elimine la herramienta cargada, use la función de sobrescritura del disco para eliminar;

tipo de registro de Windows

  • Registros web: IIS, Apache y otros registros web
  • Registros de operación: lista de inicio de sesión 3389, archivos a los que se accedió recientemente, registros de acceso al navegador como IE, registros de acceso a archivos
  • Registro de inicio de sesión: registro de aplicaciones del sistema - registro de seguridad, etc.
  • Antes de que se restablezca el ataque y el estado, trate de mantenerlo consistente

Registro de operaciones de Linux

  • Operación del historial de Linux
  • desarmar HISTORIAL HISTFILE HISTSAVE HISTZONE HISTORIAL HISTLOG; exportar HISTFILE=/dev/null;
  • Los registros de inicio de sesión SSHD eliminan registros en ~/.ssh/known_hosts
  • Modificar la marca de tiempo del archivo touch –r El archivo original debe modificarse
  • Eliminar archivos de uso temporal, especialmente el directorio tmp
  • vaporizador de troncos

5 herramientas y otros

8a9b7b3bedeb4f70bf50fca166e1e4f9.jpegHerramientas de prueba de penetración

1. Algunos principios del uso de herramientas para infiltrarse en la intranet.

 

  • Utilice las herramientas que más le convengan. No es necesario recolectar demasiadas herramientas, solo las suficientes;
  • Puede escribir herramientas aplicables según la situación real;
  • Las herramientas que no pueden garantizar la seguridad deben ejecutarse en una máquina virtual (muchas de ellas contienen virus y caballos de Troya);
  • Para controles de seguridad, intente utilizar herramientas de código abierto en GitHub.
  1. Introducción a la herramienta Estoy acostumbrado a usar las propias herramientas de Kali y primero busco POC específicos en Github.
  2. Consideraciones de penetración
  • Consulta el sistema de vigilancia y prevención de la intranet
  • Utilice el software ARP y el software de escaneo de áreas grandes con precaución
  • No utilice máquinas inactivas en la red de destino como objetos de empaquetado
  • Utilice máquinas de intranet de alto tráfico como objetos de transmisión, como servidores wsus y sistemas de videoconferencia.
  • Utilice máquinas temporales para empaquetar y transmitir datos, no utilice máquinas controladas, utilice scripts wmi u operaciones remotas wmic para infiltrarse en las precauciones
  • Deshabilitar psexec.exe
  • Evite las horas de trabajo del usuario al empaquetar
  • Tamaño del volumen de control <100M
  • Elija el software de compresión más utilizado por los usuarios
  • Datos de descarga fuera de horas pico
  • Controlar el flujo de tráfico
  • Borrar todos los registros de operaciones
  • Antes de iniciar sesión en el host, verifique si el administrador está
  • Los servicios de pruebas de penetración requieren mucha experiencia práctica para garantizar el funcionamiento seguro y estable del sitio web, prevenir ataques, manipulaciones y otros comportamientos peligrosos, evitar más pérdidas para los clientes y minimizar los riesgos de seguridad. Si tiene necesidades de penetración, puede ponerse en contacto con un profesional La empresa de seguridad de sitios web realiza una inspección integral del servicio de penetración, las nacionales son más completas y recomiendan Sinesafe, NSFOCUS, Venustech, etc.

Supongo que te gusta

Origin blog.csdn.net/Arvin_FH/article/details/132453934
Recomendado
Clasificación