Mostrando las entradas con la etiqueta técnicas. Mostrar todas las entradas
Mostrando las entradas con la etiqueta técnicas. Mostrar todas las entradas

viernes, 29 de junio de 2018

¿Como robar un Banco?


¿Cómo robar un banco?: un tutorial de ingeniería social 


Si una compañía nos contrata para realizar un trabajo de ingeniería social, generalmente quieren que entremos y lleguemos a sus respaldos de información o a los datos que se encuentran en su sala de documentos.

Digamos que me hago pasar por un inspector de incendios. Lo primero que tendré además de mi insignia y uniforme es un walkie-talkie, como todos los bomberos. Afuera, tendremos a nuestro conductor esperándonos en el carro. Nuestro conductor está sentado en el carro, y básicamente su trabajo en un principio es enviar mensajes a través  de nuestro walkie-talkie. Tendremos una grabación con todos esos mensajes que escucharas en los walkie-talkies. El está sentado en el carro, los reproducirá y enviara a través de nuestros walkie-telkies.

Entramos a las instalaciones y aseguramos que todo los mensajes este llegando ruidosamente a los walkie-talkies tan pronto como entramos por la puerta para que inmediatamente seamos el centro de atención. Cuando entro, quiero que todos sepan que me refiero a negocios. Mi walkie-talkie es ruidoso y todos miran mientras me disculpo y rechazo la trasmisión.
Le muestro a la persona de recepción mi insignia. Ellos dirán: “¿Cómo te va?”, diré: “Bien, estoy aquí para hacer la inspección”, ellos dicen: “estupendo” y nos asignan a alguien. En general es alguien que es amable. Comenzaré a hablar con ellos, intentare agradarles o lo que sea necesario mientras comenzamos a caminar.

Mientras estoy hablando con la persona que nos asignaron, mi compañero sabe que su trabajo es alejarse inmediatamente de nosotros. Entonces, mi compañero se irá inmediatamente. En la mayoría de los casos nuestro acompañante dirá “¿Puede Volver aquí? Necesito que se mantengan juntos. Decimos “Claro, lo siento”. Pero realmente eso para nosotros no significa nada.  Todo lo que significa es que seguiremos haciéndolo hasta que él se rinda.

Mi compañero deambulara dos o tres veces más y será advertido hasta que finalmente se detenga y se dé por vencido. Nuestro acompañante solo piensa que él es un bombero y piensa: "Déjenlo hacer lo que necesita hacer".

En ese punto, el trabajo de mi compañero es comenzar a robar todo lo que pueda y comenzar a ponerlo en su bolsa. Y también tiene que ponerse debajo de los escritorios de cualquier empleado que pueda encontrar y comenzar a instalar estos pequeños keyboard loggers.  Me quedo con la persona que me está acompañando y todo mi trabajo ahora es mantenerlos entretenidos. Sigo caminando por las habitaciones y les doy consejos para  mantener la seguridad de sus instalaciones, aunque realmente no tengo ni idea de lo que estoy hablando. Invento las cosas que estoy diciendo y probablemente doy el peor consejo de todos. Sacaré las cuerdas y diré "Esto parece un poco peligroso". Yo estoy completamente improvisando.

Hace unos años, obtuve un dispositivo en Home Depot. Es como una cinta métrica, pero no una cinta de medir normal. Tiene un puntero láser y hace “clic”. Este dispositivo es como el Tricorder en Star Trek para mí. Puedo hacer algunas cosas mágicas con eso en lo que a mí concierne. Lo pondré en un enchufe y diré "Parece que tiene demasiada corriente". Y ellos simplemente lo creen. Son increíbles las cosas estúpidas que puedo hacer.

Mientras tanto, mi compañero va por los escritorios. Si los empleados están allí, él dirá "Oye, ¿te importa si me meto debajo de tu escritorio por un minuto? Solo estoy buscando cualquier tipo de peligro de incendio". Si el empleado pregunta "¿Qué tipo de peligro podría haber debajo de mi escritorio?" Él dirá "¿Conoces ese ventilador en la parte posterior de tu computadora? Si deja de girar podría ser un riesgo de incendio". Este tipo de explicación parece razonable.

Mi compañero se mete debajo de la computadora y en su mochila tiene un montón de dongles (dispositivos que permiten añadir características a las computadoras que no fueron construidas teniendo en cuenta dichos parámetros, por ejemplo un dongle usb WiFi o bluetooth). Instala fácilmente uno en la computadora del empleado y ahora todos los datos pasan por este dispositivo. Por supuesto, mientras mi compañero está debajo de la computadora, el empleado no puede ver lo que está haciendo ya que por lo general solo se van.

En ese punto generalmente nos volvemos a reunir y discutimos el uno con el otro en voz alta todos los lugares donde ya hemos estado. De esa manera, realmente tenemos una buena idea de lo que se ha logrado y él puede regresar a lugares donde yo era incapaz de robar algo debido a mi escolta. Él dirá "He tenido éxito con todos los escritorios". Diré: "¿Puede hacerme un favor y volver y revisar aquí otra vez?" y mencionar algún lugar donde pueda haber visto algo interesante y quiero que regrese y se ocupe de ello.

Al salir, no queremos que sepan que hemos terminado. Queremos poder volver en otro momento. Aquí es donde nuestro conductor en el automóvil hará una llamada falsa al walkie-talkie y nos dirá que necesitan que respondamos una llamada. Miro a mi acompañante y digo "Oye, lo siento, volveremos".

Señalamos que regresamos en los próximos días, hacemos una revisión rápida, volvemos y obtenemos los dongles que instalamos en las computadoras. Haremos otro recorrido rápido, afirmando que hemos perdido nuestro formulario de inspección original, ya que ya hemos tomado todo, la segunda visita es rápida. Los decimos que estamos listos y enviaremos un informe por correo.
Para cuando terminamos, hemos robado cosas y obtuvimos acceso a inicios de sesión y contraseñas porque hemos estado grabando esa información con los dispositivos de key loggin, ya sean sitios en línea o cuentas locales en su sistema. Hemos estado en su red inalámbrica y hemos sido capaces de hackearla también.

Cuando hayamos terminado todo lo que necesitábamos hacer, lo último que haremos será hurgar en la basura. Es miserable, pero es una locura lo lucrativo que es. Nos presentamos con guantes de goma y comenzamos a abrir bolsas. Es sorprendente la cantidad de información confidencial que termina en la basura.

Cuando nos presentamos después del compromiso para presentar lo que encontramos, hay a menudo una mirada total de sorpresa en las caras de los empleados. Pero es una experiencia de aprendizaje de la que esperamos que todos aprendan. Es algo que nunca pensaron que podría suceder. Si hablaste con ellos una semana antes, nunca pensaron que caerían en algo así por algunas de las cosas que sacamos. Pero ahora ellos ven que puede suceder, y les puede pasar a ellos.

-- como le dijo Jim Stickley de TraceSecurity a Joan Goodchild.


Fuentes:
Esta historia, "Cómo robar un banco: un tutorial de ingeniería social" fue publicada originalmente por CSO
NetworkWorld
Curso en linea en Cisco Networking Academy: Introduction to cybersecurity

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: