Mostrando las entradas con la etiqueta herramientas. Mostrar todas las entradas
Mostrando las entradas con la etiqueta herramientas. Mostrar todas las entradas

martes, 19 de junio de 2018

Técnicas y algunas herramientas (Fingerprinting)

Como ya vimos anteriormente el Fingerprinting consiste en recolectar información directamente del sistema de un objetivo, para aprender mas sobre su configuración y comportamiento. Estas técnicas a continuación también se utilizan en fases de auditoria para detectar vulnerabilidades. Entre ellas encontramos la ingeniería social, el phishing, el sniffing y el scanning.


Ingeniería Social y Phishing


La ingeniera Social se trata de técnicas psicológicas que combinadas con ciertas habilidades sociales busca aprovecharse de la buena fe de las personas que laboran dentro de una organización, con el objetivo de que realicen alguna actividad necesaria para el atacante.







Según Kevin Mitnick (conocido como “el cóndor”), uno de los hackers más famosos, existen 4 principios básicos en la Ingeniería Social que son comunes a en gran parte de las personas :
  • Todos queremos ayudar.
  • El primer movimiento es siempre de confianza hacia el otro.
  • No nos gusta decir No.
  • A todos nos gusta que nos alaben.

Un factor importante de la seguridad a tomar en cuenta también es el usuario.

La ingeniería social puede llevarse a cabo mediante la computadora (phishing) o mediante contacto humano

Cuando se opta por contacto humano la manipulación, persuasión o sugestión pueden ser algunas de la opciones para convencer a una persona de que lleve a cabo acciones, facilite información confidencial, para obtener de ellas información necesaria u obtener acceso a zonas restringidas, normalmente en contra de su voluntad, y poder así llevar a cabo un ataque con éxito. También se conoce como “hackear a la persona” (human hacking).

Por mencionar algunos ataques hacia una persona podemos decir que se realizar:

  • Un ataque al ego del usuario objetivo, dándole retos para que demuestre sus habilidades y destrezas o que sienta que esta ayudando en un tema de gran importancia.
  • Un ataque de simpatía, asociando un estado de ánimo positivo a lo que se trata de conseguir convencer, también mostrando complicidad, que tenemos gustos en común o cuando alguien esta mostrando cierta desesperación por no poder hacer algo (algunas veces hay una persona que ayuda).
  • Un ataque a la curiosidad, aquí se puede dejar una memoria SD, USB con algo llamativo o un Disco donde lo pueda ver el usuario objetivo para que al encontrarlo lo conecte o ingrese a la maquina objetivo y así poder realizar el ataque.
  • Un ataque de suplantación de identidad, sobre todo en empresas grandes donde es complicado conocer a todos los empleados, aquí el atacante suele caracterizar a alguien de soporte técnico o algún gerente para obtener información debido a que habitualmente no pedimos a las personas que se identifiquen.
  • Entre otras podemos mencionar Búsqueda en la basura (dumpster diving), seguimiento de personas y vehículos, vigilancia de salas y edificios, generación de situaciones de crisis, presión psicológica, soborno, chantaje o extorsión, etc.


El Phishing consiste en el envío masivo de comunicaciones (normalmente correos electrónicos) desde lo que parece un origen de confianza, con el que requiere al receptor que facilite determinada información, bien respondiendo al e-mail o bien conectándose a una página web que parece real donde introducirá sus datos. Aquí podemos mencionar otras versiones del phishing, esta son adaptadas a cada individuo gracias a un análisis previo de la información que pueda ser útil para el atacante y así poder hacer mas creíble la comunicación que se envía a la victima, estas otras versiones se conocen como Spear-phishing y Whaling.



Sniffing y Scanning


El sniffing es una técnica que consiste en “escuchar” o capturar toda la información que circula por una red, este ataque es uno de los principales que se realizan cuando se intenta robar información (aunque no es necesariamente una técnica maliciosa, se utiliza en muchos casos para administrar la red, mejorar su rendimiento, generar información de errores y con propósitos de monitorización y detección de intrusos). Esta información puede incluir datos de identificación de la víctima como  contraseñas, números de tarjetas de crédito, información personal, información bancaria, entre otros datos importantes. El sniffing  es una técnica que puede fácilmente causar problemas relacionados con la privacidad ya que captura cada paquete de información, lo codifica y luego da a su propietario la habilidad de ver su contenido.


Un sniffer puede ser instalado en cualquier ordenador por el administrador del sistema o cualquier usuario que tenga suficientes privilegios para instalar el programa, a menudo también por otros parásitos, como virus, troyanos, backdoors o gusanos. Puede también ser un dispositivo físico, normalmente un router con capacidad de sniffing. Trabaja de la misma manera que un sniffer típico, pero su detección puede ser incluso más complicada

Algunas herramientas para la ejecución de Sniffing:
Wireshark
Ethereal
Spynet


El scanning trata de analizar el estado de una determinada red y de los dispositivos ubicados en ella.
Podemos encontrar diferentes tipos de escáneres dependiendo del nivel de profundidad y del objetivo como puede ser el escanear puertos abiertos, conectar a los recursos compartidos disponibles en la máquina objetivo, otros para buscar posibles agujeros de seguridad mediante escaneo, buscando faltas de parches de seguridad, recursos compartidos abiertos, cuentas de usuarios, otros utilizados para escanear dispositivos de red, desde ordenadores hasta routers, pasando por puntos de acceso wifi e impresoras

Algunas herramientas para la ejecución de scanning:
Angry IP
LanSpy
AutoScan
NetCat




Fuentes de información:
Curso en linea de Ciberseguridad en Miriadax.
Laboratorios Hacking.
los virus.
OWASP

miércoles, 10 de enero de 2018

Crawling y Fuzzing

Crawling

El “crawling” también conocido como “spidering” es una técnica que se utiliza en las fases de una auditoria web cuando se realiza el análisis de información, esta técnica puede construir un mapa del sitio web descargando información de forma masiva para posteriormente indexar el contenido de un conjunto de páginas web no estructuradas, se puede decir que se “araña” el sitio web objetivo.

A medida que el “crawler” visita URL, identifica todos los hipervínculos en la página y los agrega a la lista de URL para visitar. Cuando el “crawler” está archivando sitios web, copia y guarda la información a medida que avanza. El archivo se conoce como “repositorio” y está diseñado para almacenar y administrar la colección de páginas web. Un repositorio es similar a una base de datos.


Para la ejecución de esta técnica se mencionan algunas herramientas como:
Black widow
Website Ripper Copier
Burp Suite
DirBuster
WFuzz

Fuentes de información:

Imagenes:
123rf

Fuzzing

Son técnicas capaces de generar y enviar datos secuenciales o aleatorios a una o varias áreas o puntos de una aplicación con la que es posible evaluarlas en búsqueda de vulnerabilidades, como por ejemplo, aquellas que utilizan la red para conectarse con otros módulos y que pueden ser explotables de forma remota.
Estas técnicas proporcionan cobertura a fallos de datos y regiones de código no testados, gracias a la combinación del poder de la aleatoriedad y ataques heurísticos entre otros.

Las pruebas semiautomáticas o automáticas que utilizan estas técnicas se llaman fuzzers. En general, la mayoría de los fuzzers intentan encontrar vulnerabilidades del tipo buffer overflow, integer overflow, format string o condiciones de carrera, aunque también abarcan otros tipos de errores, como inyecciones sql.

El funcionamiento de los fuzzers suele realizarse en las siguientes etapas:
  • Obtención de datos: se obtendrán los datos a enviar de una lista estática almacenada en archivos o en el propio código fuente, o se generara en el mismo momento según las configuraciones efectuadas. Este proceso se puede realizar únicamente al inicio de la sesión o justo antes de cada envío.
  • Envío de datos: una vez se dispone de la información que se desea enviar a la aplicación objetivo, se realizará el proceso eligiendo los mecanismos de entradas que pueden ser a través de un archivo y, en otros casos, las entradas pueden ser a través de la interacción del usuario.
  • Análisis: después de realizado el envío, solo quedará esperar los resultados del fuzzing. Su función principal es la búsqueda de errores  y en el impacto que estos pueden tener sobre el propio sistema de prueba. A partir de los errores es posible determinar cuál de esos errores son críticos y pueden ser explotados.

Técnicas de Fuzzing

Mutación: consiste en partir de una entrada válida y realizar ciertas mutaciones de esos datos, con la intención de que sigan siendo válidas para la aplicación pero lo suficientemente inesperadas para lograr el objetivo


Generación: se deben crear los datos antes de enviarlos, pudiendo descubrir fallos que el otro método obviaba. Normalmente, los datos obtenidos también se sustituirán en una entrada válida del objetivo. Dependiendo de la forma de generar los datos se encuentran otros dos subgrupos:
  • Los recursivos, que se obtienen de la iteración sobre un alfabeto dado o de la repetición de un mismo carácter, como son:

    Permutación: teniendo en cuenta, por ejemplo, el alfabeto hexadecimal “0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F” y buscando datos de seis caracteres  para sustituir de la forma siguiente:
    Repetición: se usa generalmente para la búsqueda de fallos del tipo buffer overflow. Se suele usar un incremento en cada repetición para no alargar el proceso inútilmente

  • El otro subgrupo es el que hace uso de la sustitución, que se centrará en reemplazar cierta parte de una entrada válida por los elementos de un vector de fuzzing. Algunos casos son:

    Integer overflow: ocurre cuando un programa recibe en una entrada un número que está fuera del rango que es capaz de manejar: un cero, un número negativo, un número mayor o menor que el rango actual, o uno con diferente tipo numérico (decimal en vez de entero). Este agujero puede derivar en un ataque de buffer overflow

    Format string: este tipo de ataques se producen cuando se introducen ciertos elementos para proporcionar formato a las cadenas de texto y no existe un mínimo control de seguridad. De esta forma, se puede conseguir una denegación de servicio o incluso la ejecución de código arbitrario en el sistema.
Herramientas para la ejecución de fuzzing :
PowerFuzzer
JBroFuzz
WebScarabat
Wapiti
Socket Fuzzer


Fuentes de Información: