miércoles, 24 de octubre de 2012

Cisco , montar un laboratorio VoIP con Packet Tracert

A continuación voy a explicar como montar un laboratorio de Voice IP con packet Tracert. Para este laboratorio vamos a necesitar:

- 1 router cisco 2811
- 2 Telefonos Iphone
- 1 switch 2960.
- 1 Home-VoIP-PT



Los IPhone van a estar conectados a los puertos fastEthernet 0/1 y 0/2. El router cisco estará conectado al fastEthernet 0/10.

La configuración que debe llevar el switch 2960 es:

interface range fastEthernet 0/1 - 5
switchport voice vlan 10

En mi caso he decido crear la VLAN 10 para los iphone.

La configuración que debe llevar el router es:

Configuraremos DHCP, necesario para asignar una ip a los Iphones:


ip dhcp pool VOICE 
network 192.168.10.0 255.255.255.0 
default-router 192.168.10.1 
option 150 ip 192.168.10.1 

A continuación la parte de voz:



telephony-service
max-ephones 5
max-dn 5
ip source-address 192.168.1.1 port 2000
auto assign 4 to 6
auto assign 1 to 5

exit
!


ephone-dn 1
 number 54001
!
ephone-dn 2
 number 54002
!
ephone-dn 3
 number 11111
!

El enlace entre el switch y el router debe ser:

Router


interface FastEthernet0/0
 no ip address
 duplex auto
 speed auto
!
interface FastEthernet0/0.10
 encapsulation dot1Q 10
 ip address 192.168.1.1 255.255.255.0
!


Switch


interface FastEthernet0/10
switchport voice vlan 10

FIN

Descargate el Video y flash completo


lunes, 6 de agosto de 2012

APT , como añadir una llave pública

Como añadir una llave pública

El proceso se divide en dos etapas:

1. Obtener la llave pública

2. Exportar esa llave y añadirla

Pongamos un ejemplo:
Si añadimos el repositorio de debian-multimedia a nuestro archivo
/etc/apt/sources.list:
deb http://www.deb-multimedia.org stable main non-free

En principio no tenemos su llave pública, por tanto al actualizar el índice de paquetes de nuestros repositorios:

# aptitude update

Se nos mostrará la siguiente advertencia:
W: GPG error: http://www.deb-multimedia.org stable main Release: The following signatures
couldn't be verified because the public key is not available: NO_PUBKEY 07DC563D1F41B907

Debemos fijarnos en el número que nos muestra: 07DC563D1F41B907
GPG tiene una forma estándar de distribuir llaves, utiliza servidores de llaves y desde uno de ellos gpg puede descargarse la llave pública, para elo ejecutamos:
# gpg --keyserver subkeys.pgp.net --recv-keys 07DC563D1F41B907

Una vez obtenida, sólo nos falta exportarla y añadirla:
# gpg --export --armor 07DC563D1F41B907 | apt-key add -

Y finalizamos el proceso con un:
# apt-get update

NOTA: en el caso concreto de deb-multimedia, el procedimiento se puede simplificar instalando el paquete deb-multimedia-keyring

martes, 31 de julio de 2012

Problema al instalar aircrack-ng en ubuntu 12 ó en mint

sudo apt-get install build-essential
sudo apt-get install libssl-dev
wget http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz
tar -zxvf aircrack-ng-1.1.tar.gz
cd aircrack-ng-1.1

En el directorio aircrack-ng-1.1 hay un fichero llamado common.mak , usa tu editor favorito y localiza lo siguiente:

CFLAGS ?= -g -W -Wall -Werror -O3

Borra la variable -Werror , Save and exit.

CFLAGS ?= -g -W -Wall -O3

Ejecuta make y make install para instalar aircrack-ng.

domingo, 22 de julio de 2012

/etc/security/limits.conf

En GNU/Linux, el fichero de configuración /etc/security/limits.conf permite limitar el uso que algunos usuarios o grupos pueden realizar de determinados recursos.

El fichero consta de diferentes líneas que tienen la siguiente sintáxis:

#
#<domain>        <type>  <item>  <value>
#

item    Recurso a limitar
core                 Tamaño máximo de los ficheros core (KB)
data                 Tamaño máximo para el segmento de datos (KB)
fsize                 Tamaño máximo para los ficheros (KB)
memlock         Tamaño máximo para el espacio de direcciones bloqueado en memoria (KB)
nofile               Número máximo de ficheros abiertos
rss                     Tamaño máximo del conjunto residente en memoria (KB)
stack                 Tamaño máximo para la pila (KB)
cpu                    Tiempo máximo de CPU (minutos)
nproc               Número máximo de procesos
as                       Límite en el espacio de direcciones
maxlogins       Número máximo de logins
priority            Prioridad de base para los procesos del usuario
locks                  Número máximo de ficheros bloqueados que el usuario puede mantener.




Fuente: http://elpuig.xeill.net/Members/vcarceler/c1/didactica/apuntes/ud4/na5/

Limitar el uso de tu CPU para un proceso o programa

En alguna ocasión hemos observado que nuestro Firefox o Chrome está cargando una web y consumiendo demasiada CPU. Para esto tenemos un programa que puede limitar el consumo de CPU. 

Cpulimit es una aplicación que permite limitar el uso de la cpu de los procesos que el usuario establezca. Para ello, estableceremos, por ejemplo, que un determinado proceso no supere un porcentaje de consumo real de cpu, bien sea por el PID o por el nombre de ese proceso. Cpulimit se adaptará dinámicamente al conjunto global de consumo.

Ejemplo:

cpulimit -e firefox -l 50 -b

o

cpulimit -P /opt/firefox/firebox -l 50 -b  (le podemos indicar el path absoluto)

En este caso estamos limitando a 50 % el maximo de CPU que firefox puede usar. (la opcion -b permite que corra en background)

 

domingo, 24 de junio de 2012

Hack WPA con john o crunch


WPA y WP2. Es una clase de sistemas de seguridad para redesinalambricas. Fue creado en respuesta a los serios problemas y debilidades encontrados en el sistema de seguridad anterior llamado WEP.


WPA se implementa en la mayoría de los estándares 802.11i, y fue diseñado para trabajar con todas las tarjetas de redes inalámbricas, pero no necesariamente podrán trabajar con la primera generación de puntos de accesos inalámbricos. WPA2 implementa el estándar completo, pero no trabajará con algunas tarjetas de red antiguas.


Estos tipos de cifrados utilizan algo llamado "handshake" (apretón de manos), es una especie de "saludo" entre el AP (Access Point) y el Cliente. 
Lo que debemos capturar en este caso justamente es ese handshake y posteriormente utilizar john para desencriptar la password.


Primero:


airodump-ng wlan0


Vemos nuestro AP y tomamos los datos como ESSID y BSSID, potencia, etc. 



 BSSID                    PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
                                                                               
 00:22:6B:XX:XX:XX  -72       55             0       0     11  54e   WPA2   CCMP   PSK   POOIO  
 00:19:15:XX:XX:XX  -99       55              0       0     11  54    WPA     TKIP      PSK   WLAN_LKJ
 38:72:C0:XX:XX:XX  -99       54             0       0     11  54e   WPA     CCMP   PSK  JAZZ_453
                                                                               
 BSSID              STATION            PWR   Rate    Lost  Packets  Probes     
                                                                               
TKIP: (Temporal Key Integrity Protocol) PSK: (Pre-Shared Key) 


viernes, 22 de junio de 2012

Acceder a Router wifi con WPS activo sin pass

A continuación voy a relatar como sacar la key de nuestro wifi con encriptación wpa/wpa2 mediante una vulnerabilidad que posee mi router wifi.
Antes de empezar veamos que es WPS, 


Es un estándar promovido por la Wi-Fi Alliance para la creación de redes WLAN seguras. En otras palabras, WPS no es un mecanismo de seguridad por sí, se trata de la definición de diversos mecanismos para facilitar la configuración de una red WLAN segura con WPA2, pensados para minimizar la intervención del usuario en entornos domésticos o pequeñas oficinas (SOHO). Concretamente, WPS define los mecanismos a través de los cuales los diferentes dispositivos de la red obtienen las credenciales (SSID y PSK) necesarias para iniciar el proceso de autenticación.
WPS define una arquitectura con tres elementos con roles diferentes:
  • Registrar: dispositivo con la autoridad de generar o revocar las credenciales en la red. Tanto un AP como cualquier otra estación o PC de la red pueden actuar de Registrar. Puede haber más de un Registrar en una red.
  • Enrollee: dispositivo que solicita el acceso a la red WLAN.
  • Authenticator: AP funcionando de proxy entre el Registrar y el Enrollee.
WPS contempla cuatro tipos de configuraciones diferentes para el intercambio de credenciales, PIN (Personal Identification Number), PBC (Push Button Configuration), NFC (Near Field Communications) y USB (Universal Serial Bus):
  • PIN: tiene que existir un PIN asignado a cada elemento que vaya a asociarse a la red. Este PIN tiene que ser conocido tanto por el Registrar, como por el usuario (Enrollee). Es necesaria la existencia de una interfaz (e.g. pantalla y teclado) para que el usuario pueda introducir el mencionado PIN.
  • PBC: la generación y el intercambio de credenciales son desencadenados a partir que el usuario presiona un botón (físico o virtual) en el AP (o en otro elemento Registrar) y otro en el dispositivo. Notar que en el corto lapso de tiempo entre que se presiona el botón en el AP y se presiona en el dispositivo, cualquier otra estación próxima puede ganar acceso a la red.
  • NFC: intercambio de credenciales a través de comunicación NFC. La tecnología NFC, basada en RFID permite la comunicación sin hilos entre dispositivos próximos (0 - 20 cm). Entonces, el dispositivo Enrollee se tiene que situar al lado del Registrar para desencadenar la autenticación. De esta manera, cualquier usuario que tenga acceso físico al Registrar, puede obtener credenciales válidas.
  • USB: con este método, las credenciales se transfieren mediante un dispositivo de memoria flash (e.g. pendrive) desde el Registrar al Enrollee.
Los métodos PBC, NFC y USB pueden usarse para configurar dispositivos sin pantalla ni teclado (e.g. impresoras, webcams, etc.), pero aunque el estándar contempla NFC y USB, todavía no se certifican estos mecanismos. Actualmente sólo el método PIN es obligatorio en todas las estaciones para obtener la certificación WPS; PBC es obligatorio sólo en APs.

martes, 19 de junio de 2012

Cisco y Linux

Todos conocen hyperterminal para windows y como hacerlo funcionar para conectarse a un Router Cisco.

Aquí vamos a explicar como conectarse a un cisco desde un linux usando una herramienta similar a la de windows.

En este caso la herramienta a usar se llama gtkterm.

#apt-get install gtkterm

Una vez instalado podemos usarlo:

#gtkterm

martes, 1 de mayo de 2012

Grep , script de busqueda

A continuación les muestro un script para realizar búsquedas en ficheros. En principio el comando y la idea es muy simple pero puede ser muy útil si se quiere buscar una cadena en varios ficheros o mostrar mas de una cadena, es decir, la cadena que queremos mas las 2 siguientes , por ejemplo.


#!/bin/sh
echo searching > tmp.awk
chmod +x tmp.awk
clear
echo "Bienvenido al script para buscar cadenas sobre cualquier fichero o ficheros, por favor siga las instrucciones"
sleep 1
echo "Introduce la palabra/as o numero/os a buscar"
read palabra
echo "Introduce el fichero donde buscar la palabra, poner * si quiere buscar en todos"
read file
echo "Introduce el numero de lineas posteriores al resultado que quiere mostrar, no puede ser 0"
read num
echo "La palabra a buscar es $palabra y la busqueda sera realizada en el fichero $file"
sleep 1
echo "Mostrando resultado..."
sleep 3
echo "grep -iA $num '$palabra' $file" > tmp.awk
sleep 2
./tmp.awk
echo
sleep 1
echo "...........................Fin de la Busqueda..........................."

lunes, 26 de marzo de 2012

Optimizando nuestro PC

Aquí tienes una forma de optimizar el rendimiento de tu Ubuntu, a menos que uses tu ordenador de servidor o para aplicaciones muy “pesadas” apenas necesitaras hacer uso de la memoria de intercambio (SWAP) , lo que haremos sera aumentar el uso de la memoria física (RAM) que es mas rápida, consiguiendo que el sistema vaya mas fluido (Comprobad cuantos segundos tarda el Gimp u otra aplicación en abrirse antes y después de realizar el tutorial… notareis la diferencia!).
Lo primero que debemos hacer, es comprobar que valor tiene asignado actualmente, abrimos un terminal en Menú->Aplicaciones->Accesorios-> Terminal y ponemos:
sudo cat /proc/sys/vm/swappiness
Y pulsamos Enter e introduce tu contraseña de administrador. Esto nos dará el valor actual de uso de swap.
Si no has hecho ningún cambio anteriormente debería salir el valor 60.
Para cambiarlo a 10 ponemos en el terminal:
sudo sysctl -w vm.swappiness=10
Clip.pngEmpieza por probar con un valor de 10, abres un par de aplicaciones que uses habitualmente, si notas que todo funciona correctamente pasas al siguiente paso, si lo que notas es que va mas lento(cosa bastante improbable, a menos que tu equipo sea muy antiguo o tengas muy poquita ram), lo que debes hacer es ir probando primero 20, luego 30... dejándolo donde tu creas que el sistema funciona mas suelto.
Una vez comprobemos que nos va bien este valor, si queremos que este cambio sea permanente tendremos que añadir una linea en un documento de texto. Ponemos en el terminal:

Memoria Compartida (limita /dev/shm/)


Memoria compartida

Por defecto, /dev/shm está montado en modo lectura/escritura, con permisos para ejecutar programas. En los últimos años, muchas listas de correo han notado algunos exploits cuando /dev/shm era usado para atacar otro servicio en funcionamiento, como httpd. La mayoría de estos exploits, sin embargo, se deben a confiar en una aplicación web insegura en lugar de ser una vulnerabilidad en Apache o Ubuntu. Hay unas cuantas razones para montarlo en modo lectura/escritura en configuraciones específicas, tales como una configuracion de tiempo real de un touchpad Synaptic para ordenadores portátiles, pero para servidores e instalaciones de escritorio no hay ningún beneficio al montar /dev/shm en modo lectura/escritura. Para cambiar esta opción, edita el archivo /etc/fstab e inclute la siguiente línea:
tmpfs     /dev/shm     tmpfs     defaults,ro     0     0
Esto montará /dev/shm en modo sólo lectura. Si tienes buenas razones para mantener el permiso de escritura, pon esta linea en el /etc/fstab en vez de la anteriro:
tmpfs     /dev/shm     tmpfs     defaults,noexec,nosuid     0     0
Esto montará /dev/shm en modo escritura, pero sin el permiso de ejecutar programas y sin el permiso de cambiar la UID de los programas en funcionamiento.
Estas opciones tendrán efecto una vez que reincies el sistema, a menos que remontes /dev/shm con el comando
sudo mount -o remount /dev/shm

viernes, 10 de febrero de 2012

Ubuntu, Skype y tu webcam. Configuralo correctamente.

Algunas webcam no funcionan correctamente con linux y skype. Problemas como oscuridad en la imagen, escasa saturación, imagen borrosa , etc disponemos de una herramienta con la que podremos configurar nuestra webcam. 

sudo apt-get install v4l2ucp

V4l2ucp nos permitirá configurar la webcam de una forma sencilla: 


lunes, 6 de febrero de 2012

Penetration-testing tools for debian

Tools:

Wireshark – network traffic analyzer
Wireshark is a network traffic analyzer, or “sniffer”, for Unix and Unix-like operating systems. A sniffer is a tool used to capture packets off the wire. Wireshark decodes numerous protocols (too many to list).This package provides wireshark (the GTK+ version).

Install:

sudo apt-get install wireshark

martes, 31 de enero de 2012

Fuzzing, Descripcion y Conceptos basicos

  1.       Que es?
       Se llama fuzzing a las diferentes técnicas de testeo de software capaces
de generar y enviar datos secuenciales o aleatorios a una o varias áreas o
puntos de una aplicación, con el objeto de detectar defectos o vulnerabilidades  existentes en el software auditado. Es utilizado como complemento a las practicas habituales de chequeo de software, ya que proporcionan cobertura  a fallos de datos y regiones de código no testados, gracias a la combinación  del poder de la aleatoriedad y ataques heurísticos entre otros.
        El fuzzing es usado por compañías de software y proyectos opensource
para mejorar la calidad del software, por investigadores de seguridad para
descubrir y publicar vulnerabilidades, por auditores informáticos para analizar sistemas, y, en ultima instancia, por delincuentes para encontrar agujeros  en sistemas y explotarlos de forma secreta.
       Como se ha comentado, las herramientas semiautomáticas que utilizan
esta técnica se llaman fuzzers. Son semiautomáticas porque pese a ser un
proceso automatizado de envío de datos, se necesita de una persona que
analice los resultados y verifique las posibles vulnerabilidades encontradas.
En general, la mayoría de los fuzzers intentan encontrar vulnerabilidades del tipo buffer overflow, integer overflow, format string o condiciones de
carrera, aunque también pueden abarcar otros tipos de errores, como inyecciones sql, por ejemplo.
        El funcionamiento de los fuzzers suele componerse de las siguientes etapas:

lunes, 30 de enero de 2012

Iptables, Detección del S.O. (Modulo OSF)

1. Determinar el Sistema Operativo del equipo que envió el paquete (Modulo OSF) :

El modulo OSF es un sistema de detección en modo pasivo que compara algunos datos (como ventana, tamaño, MSS, opciones y sus ordenes, TTL, DF y otros) de paquetes marcados con el bit SYN.

Para crear reglas en Iptables que nos permitan conocer el sitema operativo del equipo que generó ese paquete debemos, en primer lugar, instalar xtables:

sudo apt-get install xtables-addons-source xtables-addons-common

Una vez echo esto debemos descargar un fichero de la siguiente direccion:

http://www.openbsd.org/cgi-bin/cvsweb/src/etc/pf.os

Se trata de la base de datos que usara el modulo OSF para comparar la información. El nombre del fichero es "pf.os" el cual debemos copiarlo a la siguiente ruta (posiblemente tendreis que crear la carpeta xtables):

/usr/share/xtables/pf.os

Ahora para que OSF carge la base de datos usando el programa nfnl_osf debemos ejecutar el comando:

nfnl_osf -f /usr/share/xtables/pf.os

martes, 3 de enero de 2012

S.M.A.R.T. Monitoring Tools, Revisa el estado de tu disco duro

Ayer me dejaron un portátil con un error de hardware y pensando que era el disco duro estuve trasteando con S.M.A.R.T.

Esta herramienta se utiliza para monitorizar y/o controlar el estado del dispositivo.

Ejemplo:
#/usr/sbin/smartctl -a /dev/sda

La primera parte muestra información sobre el modelo / firmware, sobre el disco,

=== START OF INFORMATION SECTION ===
Model Family: Fujitsu MHY2 BH series
Device Model: FUJITSU MHY2120CH
Serial Number: K22LT7A2BCR4
Firmware Version: 0040020B
User Capacity: 320,034,123,776 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 3c
Local Time is: Tue Jan 3 19:08:05 2012 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled