Tuesday, 19 April 2016
¿Cómo crear archivos maliciososde tipo RTF yarchivos indetectables por antivirus?
23:57
No comments
El formato
RTF siempre ha sido considerado como bastante seguro en comparación con otros
formatos de MS Office. Es cierto que RTF no puede contener macros. Sin embargo,
se sabe mucho menos que los documentos RTF pueden contener objetos OLE con
contenido potencialmente malicioso. Y más específicamente, objetos OLE pueden almacenar cualquier archivo,
incluyendo los ejecutables y scripts según expertos de hacking ético y análisis de vulnerabilidades
informáticas. Si el
usuario final hace doble clic en un objeto tal, el archivo incrustado será
abierto por el sistema. Esta característica se utiliza activamente para
entregar el malware en la vida real, como veremos más adelante.
Según los
expertos, al hacer una prueba muy rápida utilizando un simple RTF documento con
un objeto OLE que contiene el archivo de prueba EICAR: en VirusTotal, 30 de los
56 motores antivirus detectan el archivo EICAR. Esto puede ser sorprendente
como cabría esperar 100% de detección. Sin embargo, después de aplicar todos
los trucos descritos en este artículo, sólo 6 motores antivirus de 56 detectan
algo sospechoso. Pero fuera de esos 6, solo dos realmente detectan el archivo
EICAR correctamente. Para los otros 4 informes, el archivo RTF es malformado o
alterada.
Estos trucos descritos pueden utilizarse para ocultar cargas maliciosas que no
serán recogidos por la mayoría de gateways de correo electrónico, proxy web y
sistemas de detección de intrusos. Y ya han sido utilizados para varias
campañas de malware acuerdo con las experiencias de expertos de hacking ético y
análisis de vulnerabilidades informáticas. Siguientes son algunas técnicas que
usted podría usar para insertar contenido potencialmente malicioso en archivos
RTF.
Cabecera RTF incompleta
En lugar de comenzar con "{\rtf1" como se describe en las
especificaciones de MS, algunas muestras comienzan con "{\rt0" o
"{\rtvpn". Por ejemplo éste (SHA256:
04beed90f6a7762d84a455f8855567906de079f48ddaabe311a6a281e90bd36f):
MS Word
acepta como documentos RTF, mientras que muchas herramientas de análisis sólo
verán archivos de texto y no van a analizar como RTF. Por ejemplo, este es el
caso de malwr.com, como se muestra en la siguiente captura de pantalla:
Se ve como
analizador RTF de MS Word sólo busca "{\rt" para decidir si un
archivo es realmente RTF.
Impar número de dígitos hexadecimales
Los datos codificados como bytes en formato hexadecimal deben tener siempre un
número par de dígitos hexadecimales. Esto puede parecer obvio, pero si se añade
un dígito hexadecimal extra al final de los datos hexadecimales codificados,
algunos programas de análisis puede fallar durante la descodificación de los
datos. Podrían aprender más de esta metodología durante el curso de hacking ético.
Extra espacio en blanco entre hexadecimal
dígitos
Datos codificados en hexadecimal producidos por MS Word está perfectamente
alineados, con todos los dígitos hexadecimales agrupados. Sin embargo, según
pruebas con MS Word, en realidad permite insertar espacios en blanco
(incluyendo el espacio, tabulación, nueva línea, etc.) entre los números
hexagonales, e incluso entre los dos dígitos hexadecimales que representan un
solo byte.
Palabras de control RTF dentro de los datos
codificados en hexadecimal
Acuerdo con
las pruebas de análisis de
vulnerabilidades informáticas, mirando en la muestra presentado antes, podemos
ver que es una palabra de control adicional "{\object}" ubicada
dentro de los datos codificados en hexadecimal.
MS Word
simplemente ignora cualquier palabra de control inesperado. Para hacerlo aún
más complejo para los programas de análisis, esas palabras de control se pueden
tener,por ejemplo "{\ foo {} {\ bar}}".
Los datos binarios dentro de los datos
codificados en hexadecimal
Otras muestras de RTF, como este contienen una palabra de control "\
bin", seguido de un montón de ceros y unos caracteres binarios, justo en
el medio de un objeto hexagonal codificado. Aunque las especificaciones no
mencionan esa posibilidad para los objetos OLE, se ve como MS Word lo soporta.
En la práctica, se permite cualquier combinación de datos hex-codificado y
binarios menciona Dan Smith, experto de hacking ético y análisis de vulnerabilidades
informáticas.
Friday, 8 April 2016
Las mejores prácticas para pentesting de aplicaciones móviles
00:52
No comments
Estas son
algunas de las mejores prácticas para ayudar a luchar contra los ataques
cibernéticos con pruebas de penetración
según expertos de análisis de vulnerabilidades informáticas.
Preparación del entorno de pruebas
Las aplicaciones Web se ejecutan en todo tipo de plataformas y navegadores,
pero ese no es el caso de las aplicaciones móviles. Por lo tanto, por las
pruebas de las aplicaciones un entorno específico debe estar configurado. En el
caso de un dispositivo iOS, por ejemplo, será necesario hacer jailbreak al
dispositivo, teniendo en cuenta la seguridad impuesto por Apple, lo que no le
permitirá observar y analizar o responder al ataque. En el caso de Android,
tendríamos que hacer root para tener accesos requeridos según expertos de análisis de vulnerabilidades
informáticas.
Configuración de las herramientas
Una vez que el dispositivo esté listo, necesitará algunas herramientas
adicionales para ser instaladas para el análisis y la recopilación de
información. Estos deben implementarse en el entorno de prueba y el
dispositivo. Cydia es la app store de jailbreak iOS, y a través de ella, es posible
descargar las herramientas necesarias para las pruebas.
Para el análisis de binarios en Android, podrían usar Android Apktool o una
máquina virtual como Android ingeniería inversa es muy recomendable por los
expertos de hacking ético.
Preparación de los casos de prueba
En esta fase, la observación de la aplicación en el nivel funcional y el
análisis de su comportamiento, incluyendo descifrarlo si la aplicación ha sido ofuscada,
es esencial. Según cursos de hacking ético, la extracción de tipo de marcos que han sido utilizados, tomar
notas sobre los siguientes, ayudará a crear un buen modelado de amenazas,
aplicando los mismos principios para crear una suite de prueba como se explica
en la guía de pruebas de OWASP:
·
Identidad,
autenticación y control de acceso como llaveros, los ataques de fuerza bruta,
los parámetros templados.
·
Validación
de entrada y codificación.
·
Cifrar
los campos de contraseña de base de datos SQLite.
·
Administración
de usuarios y sesiones como identificadores de sesión, tiempo de bloqueos.
·
Error
y manejo de excepciones.
·
Auditoría
de registro y los registros de control de acceso.
El análisis de archivos y binarios
Durante esta fase, el objetivo principal es descubrir las llamadas API inseguras
y archivos no protegidos adecuadamente con ayuda de metodologías de análisis de
vulnerabilidades informáticas. Esto se puede lograr mediante la depuración y el
análisis del código usando herramientas como IDA Pro. Desbordamientos de búfer
no debe ser descartado. Para descubrir vulnerabilidades, como inyecciones SQL,
puede utilizar técnicas como fuzzing la aplicación o la aplicación de insumos
maliciosos según expertos de análisis de vulnerabilidades informáticas. Las
técnicas utilizadas para descubrir vulnerabilidades en una aplicación nativa
son similares a las pruebas de penetración de aplicaciones web con esta
diferencia que en lugar de utilizar un proxy para entender el funcionamiento
interno de la aplicación, se utiliza el software de depuración.
Seguridad de la arquitectura cliente-servidor
Cuando la
aplicación móvil ha sido diseñada con una arquitectura cliente-servidor,
ataques de red son una de las principales preocupaciones según experiencia de
profesionales de hacking ético. El uso de rastreadores para capturar el
tráfico de red e investigar protección de la capa de transporte es esencial.
Otras pruebas que se deben incluir en esta fase son:
Autenticación : Observando la
solicitud y respuestas entre el cliente y el servidor, es posible descubrir
vulnerabilidades que implican la autenticación. En los casos donde la
aplicación está utilizando autenticación básica de HTTP, esto representa un
riesgo.
Autorización: Las funciones y los controles de acceso entre
ellos pueden ser descubiertos a través de manipulación de parámetro. Asegurar
la clave de API correctamente en una carpeta inaccesible puede ser descubierto
por el análisis de archivos o por spidering .
Administración de sesiones: Fichas de identificación de sesión
enviados a través de métodos GET y colocados en la URL son visibles por proxy o
por intercepción del tráfico.
Encriptación y protocolos débiles: Las aplicaciones móviles son más
vulnerables en estas áreas.
Seguridad del servidor de aplicación
Probar la infraestructura, específicamente el servidor que aloja móvil app,
requiere herramientas como nmap y la armadura de pruebas de intrusión diseñada
para asignar y descubrir posibles vulnerabilidades y amenazas potenciales.
También, cargados de archivos sin restricciones, redirección abierta, y la
distribución de los recursos deberían
incluirse como parte de las pruebas.
Los desarrolladores móviles también deben ser conscientes de estas técnicas
para construir aplicaciones más seguras. Las empresas deben centrarse en la
creación de conciencia sobre los riesgos de las aplicaciones móviles
vulnerables.
Friday, 1 April 2016
¿CUÁLES SON LOS RIESGOS Y ATAQUES DE SEGURIDAD EN APLICACIONES WEB?
05:45
No comments
Los sitios web y aplicaciones
web son sistemas empresariales de misión crítica que deben funcionar sin
problemas de seguridad para procesar datos confidenciales empresariales. Por
los motivos de las normas de protección de datos personales, empresas deben considerar
seguridad para aplicaciones web. Existen evidencias estadísticas avaladas por
empresas de seguridad de aplicaciones cual señalan que en los países como
México, Brasil, Estados Unidos, Colombia, Costa Rica, Argentina, UAE, India;
dos de cada tres empresas enfrentan riesgos y problemas de seguridad para
aplicaciones web o seguridad en páginas web.
Consultores
de auditoría de sitio web, clasifican los riesgos por el tipo de ataque. Usando
el tipo de ataque como base es el método normalmente usado por empresas de
seguridad de aplicaciones. La clasificación de riesgos de seguridad web es de
excepcional valor para los desarrolladores de aplicaciones, ejecutivos de la
empresa, profesionales de la seguridad o cualquier otro interesado en la
auditoría de sitio web. Profesionales de TI normalmente aprenden sobre riesgos
informáticos, ataques a nivel aplicación, auditoría de sitio web, seguridad web
con ayuda de los cursos de seguridad web. En los países como México, Brasil,
Estados Unidos, Colombia, Costa Rica, Argentina, UAE, India etc hay varias
empresas de seguridad de aplicaciones que proporcionan capacitaciones y cursos
de seguridad web. Pero profesionales de las empresas deben tomar el curso de seguridad web que le enseña metodologías de revisión
de seguridad independientes, guías de programación segura, normas
internacionales, pruebas de seguridad web, metodologías de explotación, y
ataques a nivel aplicación.
A continuación son algunos de ataques que afectan la seguridad de aplicaciones web:
A continuación son algunos de ataques que afectan la seguridad de aplicaciones web:
FUERZA BRUTA
Fuerza
bruta es un ataque automatizado de prueba y error, utilizado para adivinar los
valores (usuarios, contraseña etc.) de los parámetros de la aplicación/pagina
web. Normalmente gente usan contraseñas o claves criptográficas débiles que son
fáciles de adivinar. Los hackers explotan esta vulnerabilidad de seguridad en
páginas web usando un diccionario. Los hackers empiezan un bucle recorriendo el
diccionario término a término, en búsqueda de la contraseña válida. Según los
expertos de servicios de seguridad en aplicaciones web, el ataque de fuerza
bruta es muy popular y pueden llevar a cabo horas, semanas o años en
completarse. Con auditoría de sitio web empresas pueden detectar fácilmente las
vulnerabilidades relacionadas a fuerza bruta.
AUTENTICACIÓN INCOMPLETA Y DÉBIL
VALIDACIÓN
Autenticación
incompleta es un ataque cuando un hacker accede alguna funcionalidad sensible
de la aplicación sin tener que autenticarse completamente. En este ataque un
hacker podría descubrir URL específica de la funcionalidad sensible través de
pruebas de fuerza bruta sobre ubicaciones comunes de ficheros y directorios
(/admin), mensajes de error etc. Normalmente muchas aplicaciones, páginas web
no tienen seguridad y usan las técnicas de seguridad para aplicaciones
convencionales. En un ataque de validación débil el atacante pueda obtener,
modificar o recuperar los datos, contraseñas de otros usuarios. Esto ocurre
cuando los datos requeridos para validar la identidad de los usuarios, son
fácilmente predecible o puedan ser falsificadas. Acuerdo con los consultores de
empresas de seguridad de aplicaciones, el proceso de validación de datos es una
parte importante de las aplicaciones y las empresas deben implementar
soluciones de seguridad para aplicaciones. Además con la auditoría de sitio web
empresas pueden detectar fácilmente las vulnerabilidades relacionadas a
autenticación incompleta y débil validación.
AUTORIZACIÓN INSUFICIENTE
Autorización
insuficiente significa que un usuario tiene acceso a los partes sensibles de la
aplicación/ sitio web que deberían requerir un aumento de restricciones de
control de acceso. Sin algunas medidas de seguridad para aplicaciones, el
ataque de autorización insuficiente podría ser muy dañoso. En el ataque de
autorización insuficiente, un usuario autenticado podría controlar todo la
aplicación o contenido de la página web. Recomendaciones del curso de seguridad
web dicen que las aplicaciones deben tener políticas de acceso,
modificación y prudentes restricciones deben guiar la actividad de los usuarios
dentro de la aplicación.
SECUESTRO DE SESIÓN
En el
ataque de secuestro de sesión un hacker podría deducir o adivinar el valor de
sesión id y después puede utilizar ese valor para secuestrar la sesión de otro
usuario. Si un hacker es capaz de adivinar la ID de sesión de otro usuario, la
actividad fraudulenta es posible. Esto podría permitir a un hacker usar el botón
atrás del navegador para acceder las páginas accedidas anteriormente por la
víctima. Muchas empresas sin seguridad en páginas web son susceptibles a este
ataque. Por esta razón es muy importante tener seguridad para aplicaciones.
Otro problema por seguridad para aplicaciones es la expiración de sesión incompleta, según consultores de empresas de seguridad de aplicaciones. Esto se resulte cuando una página web permite reutilización de credenciales de sesión antigua. La expiración de sesión incompleta incrementa la exposición de las páginas web para que los hackers roben o se secuestren sesión.
La fijación de sesión es otra técnica utilizada por secuestro de sesión, según consultores de empresas de seguridad de aplicaciones. Cuando fuerza un ID de sesión de usuario a un valor explícito, el hacker puede explotar esto para secuestrar la sesión. Posteriormente de que un ID de sesión de usuario ha sido fijado, el hacker esperará para usarlo. Cuando el usuario lo hace, el hacker usa el valor del ID de sesión fijado para secuestro de sesión. Las páginas web que usan las sesiones basadas en cookies sin ningún tipo de seguridad en páginas web, son las más fáciles de atacar. Normalmente la mayoría de ataques de secuestro de sesión tiene la fijación de cookie como motivo.
Sin servicios de seguridad en aplicaciones web contra la fijación de sesión, el hacker puede hacer mucho daño y robar datos confidenciales. Según recomendaciones del curso de seguridad web, el lógico para generar sesión ID, cookie y cada sesión ID deben ser mantenidos confidenciales. Empresas pueden aprender fácilmente durante el curso de seguridad web, mejores prácticas por prevenir secuestro de sesión y hacer programación segura de las aplicaciones.
Otro problema por seguridad para aplicaciones es la expiración de sesión incompleta, según consultores de empresas de seguridad de aplicaciones. Esto se resulte cuando una página web permite reutilización de credenciales de sesión antigua. La expiración de sesión incompleta incrementa la exposición de las páginas web para que los hackers roben o se secuestren sesión.
La fijación de sesión es otra técnica utilizada por secuestro de sesión, según consultores de empresas de seguridad de aplicaciones. Cuando fuerza un ID de sesión de usuario a un valor explícito, el hacker puede explotar esto para secuestrar la sesión. Posteriormente de que un ID de sesión de usuario ha sido fijado, el hacker esperará para usarlo. Cuando el usuario lo hace, el hacker usa el valor del ID de sesión fijado para secuestro de sesión. Las páginas web que usan las sesiones basadas en cookies sin ningún tipo de seguridad en páginas web, son las más fáciles de atacar. Normalmente la mayoría de ataques de secuestro de sesión tiene la fijación de cookie como motivo.
Sin servicios de seguridad en aplicaciones web contra la fijación de sesión, el hacker puede hacer mucho daño y robar datos confidenciales. Según recomendaciones del curso de seguridad web, el lógico para generar sesión ID, cookie y cada sesión ID deben ser mantenidos confidenciales. Empresas pueden aprender fácilmente durante el curso de seguridad web, mejores prácticas por prevenir secuestro de sesión y hacer programación segura de las aplicaciones.
CROSS-SITE SCRIPTING
Cuando
un usuario visita una página web, el usuario espera que haber seguridad en
página web y la página web le entregue contenido válido. Cross-site Scripting
(XSS) es un ataque donde la víctima es el usuario. En el ataque de XSS, el
hacker fuerza una página web a ejecutar un código suministrado en el navegador
del usuario. Con este código el hacker tiene la habilidad de leer, modificar y
transmitir datos sensibles accesibles por el navegador. Sin ningún tipo de
seguridad en páginas web, un hacker podría robar cookie, secuestrar sesiones,
abrir páginas de phishing, bajar malware y mucho más utilizando el ataque de
XSS. Según expertos de servicios de seguridad en aplicaciones web, hay dos
tipos de ataques XSS, persistentes y no persistentes. Ambos ataques pueden
causar mucho daño a la reputación de la página web. Con ayuda de soluciones
como auditoría de sitio web o cursos de seguridad web, empresas pueden
entender, detectar y resolver fácilmente las vulnerabilidades relacionadas a
cross-site scripting (XSS).
DESBORDAMIENTO DE BUFFER
El desbordamiento
de buffer es una vulnerabilidad común en muchos programas, que resulta cuando
los datos escritos en la memoria exceden el tamaño reservado en el buffer. Los
expertos de empresas de seguridad de aplicaciones, mencionan que durante un
ataque de desbordamiento de buffer el atacante explota la vulnerabilidad para
alterar el flujo de una aplicación y redirigir el programa para ejecutar código
malicioso. Acuerdo con los profesores de cursos de seguridad web esta
vulnerabilidad es muy común a nivel a sistema operativo del servidor de la
aplicación y empresas pueden detectar durante la auditoría de sitio web y
servidor web.
INYECCIÓN DE CÓDIGO SQL
La
inyección de código SQL, también conocido como SQL Injection es un ataque muy
común y peligroso. Muchas empresas sin seguridad en páginas web son
susceptibles a este ataque. Este ataque explota las páginas web que usan SQL
como base de datos y construyen sentencias SQL de datos facilitados por el
usuario. En el ataque de inyección de código SQL, el hacker puede modificar una
sentencia SQL. Con la explotación de la vulnerabilidad, el hacker puede obtener
control total sobre la base de datos o también ejecutar comandos en el sistema.
Acuerdo con la experiencia de los expertos de servicios de seguridad en aplicaciones
web, las empresas pueden prevenir inyección de código SQL con ayuda
de saneamiento de los datos facilitados por el usuario. Además empresas pueden
detectar y resolver esta vulnerabilidad con la ayuda de auditoría de sitio web.
INDEXACIÓN DE DIRECTORIO
En el
ataque de indexación de directorio, un atacante puede acceder todos los
ficheros del directorio en el servidor. Sin seguridad en páginas web, esto es
equivalente a ejecutar un comando “ls” o “dir”, mostrando los resultados en
formato HTML. La información de un directorio podría contener información que
no se espera ser vista de forma pública. Además un hacker puede encontrar la
información sensible en comentarios HTML, mensajes de error y en código fuente.
Acuerdo con la experiencia de consultores de empresa de seguridad de
aplicaciones, la indexación de directorio puede permitir una fuga de datos que
proporcione a un hacker los datos para lanzar un ataque avanzado.
PATH TRAVERSAL
En el
ataque de Path Traversal, un hacker accede los ficheros, directorios y comandos
que residen fuera del directorio “root” de la web. Muchos sitios empresariales
sin seguridad en páginas web son susceptibles a este ataque. Con acceso a estos
directorios, un atacante puede tener accesos a los ejecutables necesarios para realizar
la funcionalidad de la aplicación web e información confidencial de usuarios.
En el ataque de path traversal un hacker puede manipular una URL de forma que
la página web ejecutará o revelará el contenido de ficheros ubicados en
cualquier lugar del servidor web. Con ayuda de soluciones como auditoría de
aplicación web o capacitación de seguridad web, empresas pueden entender,
detectar y resolver fácilmente las vulnerabilidades relacionadas a Path
Traversal.
DENEGACIÓN DE SERVICIO
En un
ataque de denegación de servicio (DoS), el motivo es impedir que una página
web/ aplicación puede funcionar normalmente y sirva la actividad habitual a los
usuarios. Los ataques DoS intentan dilapidar todos los recursos disponibles
tales como: CPU, memoria, espacio de disco, ancho de banda etc. Cuando estos
recursos lleguen un consumo máximo, la aplicación web pasará a estar
inaccesible. Según los expertos de servicios de seguridad en aplicaciones web
hay diferentes tipos de ataques DoS, como a nivel red, nivel dispositivo, nivel
aplicación y de diferentes fuentes (DDoS). Con ayuda de soluciones como
auditoría de aplicación web o capacitación de seguridad web, empresas pueden
entender, detectar y resolver fácilmente los riesgos relacionados a denegación
de servicio.
Estos
son algunos de los ataques cibernéticos sobre aplicaciones web. Los servicios de seguridad en aplicaciones web y los cursos de seguridad web deben
permitir identificar, resolver los riesgos asociados a las aplicaciones web de
su organización. La metodología de seguridad para páginas web/ aplicaciones web
debe ser muy diferente de metodología tradicional de empresas de seguridad de
aplicaciones. La metodología de seguridad para páginas web/ aplicaciones
web debe estar basada en un proceso de pruebas manual y automatizadas por medio
de scripts propias, revisión de códigos, herramientas propietarias, comerciales
y de código abierto que identifica todos los tipos de vulnerabilidades.