Í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»

Firma tus commits de git con GPG


El objetivo de esta entrada no es más que resumir los pasos que haríamos para empezar a usar git en nuestro PC. Linux, por supuesto. Básicamente en esta entrada veremos cómo setear los parámetros mínimos de configuración global, y cómo dejarlo listo para poder firmar nuestros commits (en GitHub), para que el resto de compañeros puedan confiar en que nuestros commits han estado hechos, en efecto, por nosotros.

Setear nuestro usuario en la conf global de git

Lo primero para empezar a usar git en nuestro sistema es setear nuestro usuario y email. Lo haremos en la configuración global de git y básicamente seguiremos los pasos aquí descritos.

[adri@helloit ~]$ git config --global user.name "Adrian Perez"
[adri@helloit ~]$ git config --global user.email "[email protected]"
[adri@helloit ~]$ git config --list
user.name=Adrian Perez
[email protected]

Vale, ¿pero qué es la configuración global? En git, básicamente, contamos con tres niveles de configuración:

  • /etc/gitconfig: Contiene los valores que se aplican a todos los usuarios del sistema y a sus repositorios. Este es el fichero que se modifica/consulta al pasarle la opción «–system» al hacer «git config». Requiere permisos de superusuario.
  • ~/.gitconfig or ~/.config/git/config: Define los valores configurados para tí, el usuario. Aquí usaríamos la opción «–global» en el «git config».
  • .git/config: finalmente, tenemos el fichero config dentro del propio repo de git. Define los valores específicos para ese repositorio.

Continuar leyendo «Firma tus commits de git con GPG»

Configuración inicial de un servidor CentOS

centosHace ya unos años, y sin ningún software de administración tipo Puppet/Chef/Ansible, creamos un documento para que todos los técnicos pudieran decir la suya respecto a los pasos a dar tras instalar un sistema operativo Linux (CentOS en nuestro caso), con tal de no olvidarnos ninguno e ir mejorando entre todos este proceso de configuración inicial de un servidor. Eso significa que si tú, amado lector, tienes cualquier sugerencia de mejora, no dudes en dejarla en los comentarios.

Hoy en día, ese documento, muy pensado para instalaciones CentOS 6, tanto en entornos Cloud Computing como para en máquinas propias, es algo parecido a lo que listo a continuació.

NOTA: No te tomes todos los puntos al pie de la letra, seguramente querrás valorar si lo que propongo a continuación tiene sentido en tu entorno antes de aplicarlo, y seguro que más de un punto es mejorable.

1. Actualización del SO

Tras la instalación, es una buena idea forzar un update para estar a la última de los paquetes de nuestro SO.

yum update

2. Deshabilitar selinux

Selinux es una herramienta útil, pero que no compensa, y proporciona más dolores de cabeza de los que pretende solucionar. Es por eso que proveedores como RackSpace o Hetzner proveen sistemas con Selinux deshabilitado de fábrica. Si aún así quieres trabajar con Selinux, seguramente este sea el momento de configurarlo adecuadamente. En caso contrario, símplemente deshabilitalo tal y como sigue:

vi /etc/selinux/config
SELINUX=disabled

Tras deshabilitarlo, será necesario reinciar el sistema para activar los cambio. Así pues, reinicia para evitar tener problemas con los próximos pasos.

Continuar leyendo «Configuración inicial de un servidor CentOS»