¿Cómo hacer pruebas ofensivas de penetración con Kali?

Share this…

Iniciaremos con la preparación. Necesitaremos algunas habilidades básicas. Aun más importante que poder hacer investigación, administración de tiempo y aprender nuevas habilidades técnicas, hay habilidades básicas menos obvias que aún serán muy útiles para tomar PWK y pasar el Examen OSCP, comenta un profesional de seguridad informática.

Un consejo es tomar nota. Tal vez esto parece completamente ajeno, pero: para aprovechar su experiencia en PWK, deberían poder realizar un trabajo eficaz de toma de notas. Debes saber cómo estructurar tus notas, cómo mantener los datos asociados con diferentes máquinas, mantener capturas de pantalla con tus notas, etc.

kalii

No existe solo una forma de hacerlo, pero podrías separar las notas en dos categorías:

  • Notas temáticas que describen información sobre vulnerabilidades, herramientas o técnicas particulares. Como podría ser, asociar exploits particulares del kernel con las versiones a las que se aplican, o notas sobre técnicas para pivotar a través de máquinas.
  • Notas por máquina. Detallando la información sobre el sistema operativo y las aplicaciones, vulnerabilidades y vulnerabilidades aplicables, y la técnica que utilicé. Para la mayoría de las máquinas, también se puede producir una secuencia de comandos python o metasploit rc para volver a explotar rápidamente la máquina, ya que los equipos de la sala de laboratorio pueden reiniciarse en cualquier momento por otros estudiantes.

En el caso de contar con Linux en la estación de trabajo. Es sorprendente ver que la gente se inscriba en una clase llamada “Penetration Testing with Kali Linux”, pero nunca antes había usado Linux, sin embargo, hay muchos informes de esto. Los expertos en seguridad informática recomiendan que aprenda a utilizar alguna forma de Linux antes de pagar cientos de dólares al mes por acceso a laboratorio. Al menos deberías estar familiarizado con:

  • El diseño del sistema de archivos
  • Configuración de la red
  • Familiaridad de shell
  • Cómo usar SSH

No tiene que usar Kali, pero como está basado en Debian Testing, se puede usar algún tipo de derivado de Debian. Debian, Ubuntu y Mint son buenas opciones.

Una buena manera de comenzar es descargar una distribución, colocarla en una máquina virtual y comenzar a usarla por un tiempo. Después intenta hacer algunas tareas de “controlador diario” y familiarízate con la interfaz. Configura y ejecuta el servidor SSH, y prueba con SSH en.

Los expertos también recomiendan Bandit de OverTheWire que es un “juego de guerra” gratuito que enseña conceptos básicos de Linux. Es gratis y es un buen lugar para comenzar. Si puede superar eso, estará en camino hacia el conocimiento básico de Linux para continuar con PWK.

Los expertos dicen que debes aprender lo que no sabes. Es importante encontrar las lagunas en su conocimiento para que sepa qué investigar y cómo llenar esos vacíos puede ser todo un reto. Revise el Syllabus para el curso PWK. Si te encuentras confundido, puedes investigar más y dedicar más tiempo a familiarizarte con los conceptos y la terminología.

La clase te enseñará mucho sobre el material, pero si estás perdido incluso con lo que significan los títulos, será casi imposible seguirlo y definitivamente no pasarás tanto tiempo trabajando en los laboratorios.

Redes IP y Ethernet

Casi todas las redes modernas usan IP en la capa de red (L3). Como resultado, debe estar familiarizado con la red IP. Principalmente relevante es la división en subredes IP y la diferencia entre enrutamiento y redes conmutadas. Conozca qué es RFC1918 y por qué esas direcciones IP son especiales. Puede ser útil aprender a traducir entre representaciones de subredes CIDR, como / 24 y / 255.255.255.0.

Los profesionales de seguridad informática dicen que debe tener una comprensión de No hay ruta al host y cómo corregir o eludirlo. También debe comprender cómo funciona un host con dos hosts y cómo eso difiere de un host que actúa como un enrutador entre dos redes. Note las diferencias entre el tráfico de difusión y de difusión única.

  • Protocolo IP
  • Ethernet
  • Calculadora de subredes IP

TCP y UDP. Es importante conocer las diferencias entre TCP y UDP. Esto incluye las diferencias en términos de establecimiento y mantenimiento de la conexión, así como las diferencias de confiabilidad de los protocolos. Los números de puerto comunes de servicios bien conocidos también será útil conocerlos, dicen los investigadores de seguridad informática.

  • TCP
  • UDP
  • Lista de números de puerto TCP y UDP

En cuanto a los protocolos de red

Aprenda sobre algunos de los protocolos comunes usados en redes. Incluso si no aprende detalles o lee los RFC, al menos leer el artículo de Wikipedia sobre algunos de los protocolos más comunes.

  • DNS
  • Telnet
  • SSH
  • HTTP
  • SMB / CIFS
  • TLS

Ahora hablaremos sobre los sistemas operativos y aplicaciones. Los profesionales comentan que saber cómo funcionan los sistemas operativos en un nivel básico será de gran ayuda. Esto incluye las diferencias entre los sistemas operativos, cómo funcionan los procesos, cómo funcionan los sistemas de archivos y, información sobre autenticación y autorización en cada sistema operativo.

Comenzaremos con Linux. Es de gran importancia comprender los diferentes tipos de mecanismos de autenticación y autorización en los sistemas Linux, también las interfaces de los sistemas operativos y los servicios comunes.

  • El usuario root
  • setuid Binarios
  • Usuarios y grupos de POSIX
  • Permisos del sistema de archivos POSIX
  • SELinux y AppArmor
  • Ubicaciones de archivos (/ etc / passwd, / etc / shadow, etc.)
  • Cómo se inician los servicios (SysV init, Upstart, systemd)

Ahora Windows. Windows tiene un comportamiento muy diferente de los sistemas Linux y POSIX. La mayoría de los estudiantes de PWK probablemente están familiarizados con Windows en el escritorio, pero no en un entorno de usuarios múltiples o un dominio de Windows.

  • Usuarios y grupos
  • Permisos del sistema de archivos
  • Servicios de Windows
  • Autenticación de dominio
  • Recursos SMB / CIFS

Seguiremos con algunas aplicaciones. Parte de esto es independiente del sistema operativo o puede diferir del sistema operativo, pero es importante que se conozca. Los servidores de bases de datos (MySQL / MSSQL / PostgreSQL) y los servidores de aplicaciones son una gran parte de la superficie de ataque. Por ejemplo, conocer diferentes servidores web (Apache, nginx, IIS) y mecanismos para cargar aplicaciones web (mod_php, scripts cgi, php-fpm, Python WSGI y ASP.net). No todos estos son críticos, pero estar familiarizado será útil.

En un entorno empresarial, habrá docenas de aplicaciones web, la mayoría de las cuales están respaldadas por servidores de bases de datos u otros servidores de aplicaciones.

En cuanto a los temas de seguridad. PWK se trata principalmente de aprender habilidades de seguridad, pero debe haber algunos conocimientos que un estudiante trae a la mesa, dicen los expertos en seguridad informática. Entender los fundamentos de seguridad le servirá al alumno durante el curso.

  • La tríada de la CIA (Confidencialidad, integridad y disponibilidad)
  • Autenticación vs Autorización
  • Vulnerabilidades de corrupción de memoria
  • Vulnerabilidades web (quizás OWASP Top 10)

Scripting. Los investigadores dicen que será útil familiarizarse con la lectura de guiones escritos en Python o Ruby. Muchos de los exploits en Exploit-DB están en uno de estos dos idiomas. Además, Metasploit está escrito en Ruby, por lo que ser capaz de referirse a esto como sea necesario será de gran utilidad.

Es incluso mejor si puede escribir en uno de estos idiomas u otro lenguaje de scripting. Esto te ayudará con los scripts de reproducción y será una habilidad muy útil.

Obtener el máximo provecho de PWK. Basado en experiencias, su estilo de aprendizaje y experiencia pueden variar.

Se puso la toma de apuntes como una de las mejores habilidades, y ahora como una de las actividades en las que deberías enfocarte durante el curso. Tomar notas lo ayudará a conservar su aprendizaje de manera más efectiva y, dado que el examen es de libro abierto, puede ayudarle en el examen. Si elige enviar un informe para el laboratorio y el examen, puede usar esta documentación para generar el informe del laboratorio.

La documentación puede tomar muchas formas durante el curso:

  • Notas, ya sean escritas a mano o mecanografiadas
  • Diagramas de red
  • Registros de shell / registros de línea de comando
  • Capturas de pantalla

En caso de duda, lleve documentación adicional. Un par de minutos aquí o allá podrían dar resultado a largo plazo. Traté al laboratorio como una prueba de penetración “real”, donde documenté cada máquina comprometida con:

  • Enumeración / Recon información
  • La vulnerabilidad y el exploit solían comprometerlo
  • Hashes / cuentas descargadas
  • Captura de pantalla del acceso a la máquina
  • Información de escalada de privilegios
  • Cualquier artefacto útil (documentación, archivos, archivos compartidos, etc.)

El reconocimiento. No se puede enfatizar lo suficiente el valor de la fase de reconocimiento y recuento. La recopilación exhaustiva de información lo ayudará a identificar vulnerabilidades y comprender cómo encaja la red. El entorno de laboratorio es realmente es una red con componentes interconectados, y reconocerlo como tal durante la fase de reconocimiento le hará mucho más exitoso. Los investigadores de seguridad informática comentan que entender la relación entre máquinas ayudará a pivotar entre hosts y segmentos de red. Comprender el papel de la máquina lo ayuda a determinar cómo la máquina podría beneficiarlo.

Ahora hablaremos de la gestión del tiempo. Existen varios aspectos en su gestión del tiempo a lo largo del curso. Los expertos recomiendan no dividir su tiempo entre el material del curso y los laboratorios.

Se recomienda hojear el libro de laboratorio para obtener una comprensión general de la progresión del curso, luego volver y recorrer los laboratorios, videos y ejercicios juntos. Si quiere sacar el máximo provecho de su curso, los profesionales de seguridad informática sugieren que intente completar todo el material del curso en aproximadamente la mitad del tiempo del laboratorio, porque el material del curso no le proporciona todas las máquinas del laboratorio. La otra mitad del tiempo se puede usar para trabajar independientemente en las máquinas en el laboratorio.

Si va a realizar un período de laboratorio de 60 o 90 días y se preocupa por no aprobar el examen OSCP en el primer intento, los profesionales recomiendan que haga un intento de examen unos 15 días antes del final de tu tiempo de laboratorio Si hace esto y falla, tendrá la oportunidad de volver a visitar el laboratorio y repasar sus áreas débiles antes de hacer otro intento de examen.