Índice de apuntes de Become an Ethical Hacker

En mi tónica habitual de usar el blog para tomar apuntes de algunos cursos interesantes con los que me cruzo, comparto esta entrada a modo de índice de los apuntes que he podido tomar del Learning Path de LinkedIn «Become an Ethical Hacker» que he querido cursar como paso previo a afrontar un futuro CEH.

Desafortunadamente no he tenido tiempo para subir al blog todo el contenido del curso, pero sí buena parte de él.

Dejo a continuación el índice con un breve extracto de cada entrada

Continuar leyendo «Índice de apuntes de Become an Ethical Hacker»

Introducción a Ethical Hacking

* Este post corresponde a la serie de apuntes del Learning Path «Become an Ethical Hacker» de LinkedIn Learning.
* Todos los comandos mencionados son para ser ejecutados desde Linux a no ser que se diga lo contrario.

El vector de ataque es el método por el cual que alguien consigue entrar ilegalmente en un sistema e incluye email, páginas web, automóviles o el eslabón más débil: el usuario.

SIP (Session Initiation Protocol) usado en VoIP e IM

Malware
Hace referencia a varias formas de Software Malicioso incluyendo virus, troyanos, ransomware, etc. Un gusano es como un virus pero se puede extender por sí mismo, sin necesidad de usar agentes de transporte como adjuntos en correos.

Tipos de hackers

  • Black Hat (aka «crackers»), buscan causar daño a través de actividades criminales
  • White Hat: ethical hackers, tienen soporte de gobiernos e industria y suelen estar contratados formando parte de un equipo de seguridad
  • Gray Hat: está en medio de ambos y en general, intenta ganar acceso no autorizado pero sin malicia. Habitualmente notifica a la organización una vez encontrada la vulnerabilidad.
Continuar leyendo «Introducción a Ethical Hacking»

Ethical Hacking: Ingenieria social

* Este post corresponde a la serie de apuntes del Learning Path «Become an Ethical Hacker» de LinkedIn Learning.
* Todos los comandos mencionados son para ser ejecutados desde Linux a no ser que se diga lo contrario.

Introducción a la ingeniería social

Un hacker experimentado normalmente intentará usar la ingeniería social antes de pasar a otros métodos más complicados y costosos para obtener un password. Hay estudios que demuestran que un 50% de la gente daría su password gratis o por una pequeña cantidad de dinero. Con Ingeniería Social, tiempo y empeño se conseguirán accesos de sistema, sí o sí.

Best practices para reconocer un ataque cara a cara son:

  • Dar a los visitantes un badge de visitante, que debe estar siempre visible
  • Ser educado y calmado si se necesita hacer una llamada de verificación
  • Acompañar siempre a los invitados
Continuar leyendo «Ethical Hacking: Ingenieria social»

Ethical Hacking: Sniffers

* Este post corresponde a la serie de apuntes del Learning Path «Become an Ethical Hacker» de LinkedIn Learning.
* Todos los comandos mencionados son para ser ejecutados desde Linux a no ser que se diga lo contrario.
* Todas las imágenes están sacadas del curso de Lisa Block

Las fases del análisis de paquetes son: recolección, decode, visualización y análisis

El modelo OSI

El modelo OSI estandariza las funciones de transformación de datos, a través de sus diferentes capas, especificando cómo se encapsulan los datos.

Es importante entender cómo funciona el encapsulado en las diferentes capas del modelo pues el encapsulado se ve de forma clara al analizar el tráfico con Wireshark

Continuar leyendo «Ethical Hacking: Sniffers»

Ethical Hacking: Malware Analysis Process

* Este post corresponde a la serie de apuntes del Learning Path «Become an Ethical Hacker» de LinkedIn Learning.
* Todos los comandos mencionados son para ser ejecutados desde Linux a no ser que se diga lo contrario.

Introducción al malware

Tipos de Malware:

  • virus: tiene como objetivo propagarse y atacar al host
  • gusano: es un tipo de virus, que se propaga a través de la red por sí sólo
  • troyano: software aparentemente legítimo que viene con malware oculto
  • spyware: extrae información del host
  • adware: como spyware pero para publicidad, pues desata popups y publicidad
  • ransomware: cifra ficheros del usuario y pide un pago por la key de descifrado
Continuar leyendo «Ethical Hacking: Malware Analysis Process»

Ethical Hacking: System Hacking

* Este post corresponde a la serie de apuntes del Learning Path «Become an Ethical Hacker» de LinkedIn Learning.
* Todos los comandos mencionados son para ser ejecutados desde Linux a no ser que se diga lo contrario.

Para esta fase se habrá obtenido información del sistema:

  • Se ha completado la fase de reconocimiento
  • Se ha completado la fase de escaneo y mapeo
  • Enumeration ha identificado posibles puntos de fallo

Durante el system hacking se espera:

  • Obtener passwords (conseguir acceso al sistema)
  • Escalar privilegios
  • Ejecutar aplicaciones
  • Ocultar ficheros y herramientas
  • Cubrir tus pasos
Continuar leyendo «Ethical Hacking: System Hacking»

Ethical Hacking: Vulnerability Scanning

* Este post corresponde a la serie de apuntes del Learning Path «Become an Ethical Hacker» de LinkedIn Learning.
* Todos los comandos mencionados son para ser ejecutados desde Linux a no ser que se diga lo contrario.

Risk = Threats x Vulnerabilities

Si hay amenazas pero no vulnerabilidades, no habrá riesgos. Igualmente, si hay vulnerabilidades pero no amenazas, no habrá riesgo.

Vulnerability management life cycle

  • Baseline: es un snapshot del tráfico de red durante una ventana de tiempo (~2 días).
  • Valorar las vulnerabilidades: podemos ayudarnos de herramientas como Nessus.
  • Valorar los riesgos: detallar las vulnerabilidades encontradas y a qué afectan, así como valorar el tiempo de solucionarlas. (How to read a Nessus report)
  • Remediar o solucionar las vulnerabilidades.
  • Verificar que los problemas se han resuelto re-escaneando y comparando resultados.
  • Monitorizar
Continuar leyendo «Ethical Hacking: Vulnerability Scanning»

Enumeración en Ethical Hacking

* Este post corresponde a la serie de apuntes del Learning Path «Become an Ethical Hacker» de LinkedIn Learning.
* Todos los comandos mencionados son para ser ejecutados desde Linux a no ser que se diga lo contrario.

Enumeration es el proceso de identificar nombres de usuario, direcciones del sistema, recursos de red, servicios y otras características de un objetivo. El objetivo es entender el target del ataque antes de testearlo. Forma parte de la fase 1 de ethical hacking: recolección de información o reconnaissance.

Contexts

El código se ejecuta en forma de procesos, los cuales operan en uno de los siguientes modos (en realidad los procesos suelen ir cambiando de un modo a otro por ejemplo operando en modo kernel cuando se ha de hacer una llamada de sistema):

User mode

  • Corren en su propio espacio de direcciones
  • Hace llamadas de sistema para acceder al resto de recursos del sistema

Kernel o System mode

  • Corren procesos con acceso a todos los recursos del sistema (privileged)
  • Se divide en 1) Kernel interrupt, para código ejecutado como resultado de una interrupción [+ info] y 2) Kernel user, para peticiones de usuario a través de llamadas de sistema.

Los OS proporcionan diferentes niveles de acceso a los recursos, a través de anillos de protección. El de nivel 0 (kernel mode) tiene acceso directo al hardware como la CPU o la memoria. Los niveles 1/2 no se usaban hasta que pasó a usarlos el hypervisor. Finalmente el tercer nivel es el de usuario. Ésto puede variar según la arquitectura del host.

En Windows, la cuenta local SYSTEM sería el análogo a «root». Esta cuenta corre todos los procesos de sistema. Quizá tenga otros usuarios administradores, pero no tendrán todos los permisos que tiene SYSTEM.

Continuar leyendo «Enumeración en Ethical Hacking»

Debugando mensajes de error en terraform con CloudTrail

Hoy me he encontrado con un mensaje de error al aplicar terraform para crear un ASG y su Launch Template en AWS que no me ha parecido intuitivo.

Error: Error creating AutoScaling Group: 
AccessDenied: You are not authorized to use launch template: name-of-the-template
	status code: 403, request id: 12425678-7890-4567-1234-14ef2ea89123

Bueno, en realidad era un «Access Denied». ¿Fácil, no? Pues no, o por lo menos no para mí. El usuario que aplicaba terraform ya tenía los permisos que a priori parecía que necesitaba para poder crear ese recurso y sus asociados.

Entonces… ¿cómo saber de qué permisos se me está quejando? Aquí es donde entra CloudTrail. Lo que he hecho es básicamente buscar los eventos para el usuario con el que estaba ejecutando el comando, pues no he encontrado la forma de usar la request-id que nos devuelve el error. Recuerda que pueden tardar varios minutos hasta que aparezcan los eventos en CloudTrail, así que paciencia.

Continuar leyendo «Debugando mensajes de error en terraform con CloudTrail»

introducción a JQ con ejemplos

Hoy rescato un borrador que ha estado desde siempre en el blog. Básicamente quería empezar un post de introducción a jq que tuviera ejemplos prácticos, pues todo lo que he visto por ahí no me ha parecido muy práctico si estás empezando.

Lo primero, decir que jq pone a nuestra disposición una herramienta online para trastear con jq en jqplay.org, que nos puede venir bien.

Empezamos con el siguiente ejemplo:

❯ cat /tmp/jq-example
[
    {
        "nombre": "A",
        "reglas": [
            {
                "regla": "1",
                "posicion": "1"
            },
            {
                "regla": "2",
                "posicion": "2"
            }
        ]
    },
    {
        "nombre": "B",
        "reglas": [
            {
                "regla": "1",
                "posicion": "1"
            },
            {
                "regla": "3",
                "posicion": "3"
            }
        ]
    }
]
Continuar leyendo «introducción a JQ con ejemplos»