Categorías
FileSystem Hacking MetaSploit Services - Software

Conceptos Básicos de Rootkits en Procesos de Post-Explotación de Sistemas – Hacker Defender

Un rootkit es un sistema que oculta la presencia de un atacante sobre un sistema comprometido, facilitando enormemente las actividades del hacker sobre dicho sistema. Para conseguir esto un rootkit permite esconder archivos, procesos y claves del registro en un sistema previamente comprometido por un atacante, el potencial de este tipo de enfoque tiene connotaciones muy importantes desde la perspectiva del atacante, principalmente porque le permite establecer backdoors no detectables por AV’s (en la mayoría de los casos) dado que los procesos se asocian con procesos que en principio son “confiables” y que procesos son confiables? Aquellos que se encuentran asociados a binarios importantes del sistema operativo, procesos o claves del registro, un rootkit se encarga de crear copias modificadas de estos binarios, procesos y claves del registro para que su posterior ejecución parezca legitima y permita a un atacante realizar operaciones administrativas.

Categorías
Hacking Networking Services - Software

Técnicas de Recolección de Información – Scripting con NMAP

Con NMAP se pueden realizar muchísimas tareas relacionadas con el reconocimiento de un objetivo determinado, sin embargo es una herramienta que intenta ir un poco mas allá de esto, ya que permite utilizar muchísimas técnicas para llevar a cabo un proceso de penetración exitoso, estas técnicas van desde simples escaneos hasta el manejo de las opciones de los paquetes IP y técnicas de evasión de IDS y Firewalls. En esta ocasión se intentará explicar el uso de “scripting” en Nmap, una característica que es realmente útil y que en algunas ocasiones por desconocimiento u otros factores algunos pentester no utilizan. A continuación se indicaran algunos Scripts Nmap bastante útiles.

Categorías
Hacking Services - Software

Utilizando Reglas Libres de Snort para Detección de Amenazas y Generación de Alarmas

Conociendo como es la estructura de las reglas en Snort, el siguiente paso lógico seria, escribir reglas para intentar proteger un sistema o segmento de red, si se desea se puede solicitar las reglas oficiales de Snort conocidas como VRT (Vulnerability Research Team) http://www.snort.org/snort-rules/ que definen un conjunto de reglas muy robusto y estable que permite tener un entorno empresarial seguro, sin embargo, cuestan dinero… Si se trata de implantar Snort en una organización, no cabe duda que es una excelente elección, sin embargo, para fines educativos y para dominar correctamente este IDS lo mas recomendable es optar por rule-sets libres, es aquí donde entra el juego de reglas Bleeding Edge para Snort, como se ha dicho son libres y tiene una característica que desde mi perspectiva resulta muy interesante y es la separación lógica de cada uno de los ficheros de reglas, es decir, existe un fichero de reglas para visitas a sitios indebidos, maleware, virus, ataques a servidores web, exploits, conexiones p2p… todo un compendio de reglas para proteger el entorno de agentes maliciosos y para limitar, obviamente, las libertades de los usuarios internos, sin embargo en próximas entradas se verán técnicas de evasión de IDS Firewall y otras “fortalezas” de los mecanismos de seguridad modernos. Por lo pronto, indicare los pasos para instalar y conocer a fondo las reglas Bleeding Edge de Snort, ademas de como ponerlas a funcionar adecuadamente en Snort v 2.9.x

Categorías
Hacking Services - Software

Utilizando RuleSets en Snort para Detección de Amenazas y Generación de Alarmas – Parte II

En la entrada anterior se ha indicado la estructura y las principales opciones con las que es posible declarar una regla en Snort, en esta ocasión intentare indicar opciones avanzadas para la detección de payloads en Snort, estas opciones se incluyen en la estructura de cualquier regla declarada en Snort, sin embargo permiten profundizar y filtrar aun más en los paquetes capturados por Snort en modo IDS/NIDS.

A continuación se listan las principales opciones diseñadas específicamente para filtrar ataques llevados a cabo desde el exterior del segmento de red o desde el interior.

Categorías
Hacking Services - Software

Utilizando RuleSets en Snort para Detección de Amenazas y Generación de Alarmas – Parte I

Una de las características mas importantes para el correcto funcionamiento de Snort, es sin lugar a dudas, las reglas de detección y alarmas, Snort cuenta con un pequeño lenguaje de definición de reglas que sigue una sintaxis definida para diseñar reglas robustas y útiles para un pentester y/o analista en seguridad informática. Las reglas en Snort se separan en dos secciones, en primera instancia esta el encabezado de la regla y luego se definen las opciones de la regla, el encabezado de la regla contiene información relacionada a la acción que se debe tomar (por ejemplo la acción de generar una alerta) al igual que direcciones IP, puertos y mascaras de red del origen y destino del paquete, por otro lado la sección de opciones de la regla determinan diversos filtros que le dan dinamismo a la regla, de esta forma solamente se aplicará cuando dichas opciones o filtros se cumplan, por lo tanto es de vital importancia diseñar correctamente esta sección de la regla para evitar falsos positivos.

Categorías
Hacking Services - Software

Usando Preprocessors en Snort – Parte VI – Preprocessor SSL/TLS y ARP Spoof

PREPROCESSOR SSLPP

Este modulo decodifica el trafico SSL y TLS, solamente sobre una conexión plenamente establecida, es decir, por defecto este preprocessor intentará determinar si una conexión dada ha sido completamente establecida con un “Handshake”, una vez inspecciona que el trafico se encuentra cifrado, no inspecciona los datos sobre la conexión establecida. Para realizar esto, el preprocessor inspecciona el trafico en ambos lados (cliente y servidor) si uno de los dos lados responde con indicios de que algo no ha ido bien en el establecimiento del handshake la sesión no es marcada como encriptada, esto le permitirá a Snort verificar dos cosas, en primer lugar que el ultimo paquete handshake enviado por el cliente no ha sido creado para evadir las reglas de Snort y por otro lado que el trafico ha sido legítimamente cifrado.

Categorías
Hacking Services - Software

Usando Preprocessors en Snort – Parte V – Preprocessor SSH y DNS

SSH PREPROCESSOR

Se trata de un preprocessor que identifica una serie de exploits ejecutados contra un servidor SSH/OPENSSH, de esta forma se puede detectar cuando esta ocurriendo un ataque y las medidas que se deben tomar para afrontarlo. Este preproprocessor detecta algunos de los exploits mas críticos sobre protocolo SSH, tales como Challenge-Response Buffer Overflow, CRC 32, Secure CRT, y Protocol Mismatch exploit. , Para esto Snort cuenta el número de bytes transmitidos al servidor, de esta forma puede detectar un payload malicioso por su tamaño, ya que algunos de estos exploits basan su funcionamiento en exceder los limites de determinadas funciones del servidor SSH (antes y después del intercambio de clave), por otro lado algunos de estos afectan solamente a determinadas versiones de SSH como por ejemplo Challenge-Response Buffer Overflow solamente afecta a SSHv2 y CRC 32 a SSHv1. De este modo la cadena correspondiente a la versión de SSH es utilizada para distinguir los ataques.

Categorías
Hacking Services - Software

Usando Preprocessors en Snort – Parte IV – Preprocessor FTP/TELNET

Se trata de un decoder útil para protocolos FTP y Telnet, permitiendo a Snort inspeccionar flujos de datos de ambos protocolos de una forma unificada desde un solo preprocessor (ftp_telnet). Este preprocessor identifica comandos FTP y sus respuestas así como secuencias de escape de Telnet y normalización de campos, del mismo modo que el proprocessor HTTP Inspect, FTP/Telnet inspecciona tanto las peticiones enviadas por un cliente como la respuesta del servidor. Del mismo modo que otros preprocessors definidos en Snort, FTP/Telnet funciona en las bases de procesamiento sin estado (stateless), lo que significa que solamente inspecciona la información contenida en cada uno de los paquetes enviados y recibidos sin almacenar la secuencia completa en buffers y/o otros mecanismos similares, así como también funciona en las bases de procesamiento con estado (stateful) donde cada paquete es reconstruido para formar parte de los que se han enviado anteriormente con el fin de “remotar” los datos completos de los paquetes enviados de forma correcta. El procesamiento con estado es el valor por defecto en Snort.

Categorías
Hacking Services - Software

Usando Preprocessors en Snort – Parte III – Preprocessor HTTP Inspect para detectar ataques sobre arquitecturas web

Se trata de un modulo que proporciona la capacidad de examinar el trafico HTTP, incluyendo URL’s, cookies, parámetros por GET/POST, character encodings, etc. Tiene la capacidad de detectar ataques realizados con herramientas como Nikto y Nessus, por lo que sin lugar a dudas, se trata de un modulo bastante útil en el campo de la seguridad de aplicaciones y servidores web.

Para habilitar este preprocessor se tienen dos módulos, uno para configuración global y otro para la configuración especifica de cada servidor web en el segmento de red, cada uno de esto módulos cuenta con determinadas opciones que permiten controlar el comportamiento de este preprocessor, a continuación se listan las opciones para cada uno.

Categorías
Hacking Services - Software

Usando Preprocessors en Snort – Parte II – sfPortScan para detectar ataques de reconocimiento

Cualquier tipo de ataque que se lleve a cabo contra un sistema normalmente siempre esta precedido por un ataque previo de reconocimiento del objetivo para recolectar la mayor cantidad de información posible (proceso conocido como fingerprint), para esta tarea existen diversos tipos de herramientas como Nmap, Hping, entre muchas otras. Con esto en mente Snort tiene un modulo preprocessor que es capaz de detectar este tipo de ataques para tomar medidas al respecto llamado sfPortScan.

El modo de funcionamiento de este modulo consiste en detectar las respuestas negativas (peticiones a puertos cerrados) en un periodo de tiempo determinado, dado que las respuestas negativas en peticiones legitimas son escasas y mucho mas aun, un número elevado de estas respuestas negativas, esto frecuentemente suele indicar que se esta realizando un ataque activo de reconocimiento.