martes, 20 de noviembre de 2012

Agregar el modelo de teléfono Grandstream 140X para provisionarlos desde el EndPoint Configurator Elastix

Primero quiero aclarar que todos los cambios realizados se hicieron en un servidor Elastix 2.3 con las siguientes versiones:
  • Elastix 2.3 release 7
  • Elastix-pbx release 14

Primero se debe agregar  los modelos antes mencionados en la base de datos del endpoint configurator para lo cual se debe hacer lo siguiente:

[root@prueba ~]# sqlite3 /var/www/db/endpoint.db

sqlite> insert into model(name,description,id_vendor,iax_support) values('GXP140X','GXP140X',3,0)

Con lo anterior va a aparecer en la interfaz web de Elastix la opción de escoger el modelo GXP140X dentro de los modelos de teléfonos Grandstream.

Lo siguiente es descargar el archivo Grandstream.cfg.php y copiarlo en la carpeta:

[root@prueba ~]# cp Grandstream.cfg.php /var/www/html/modules/endpoint_configurator/libs/vendors/

Este archivo genera el archivo de configuración con la MAC address para cada uno de los terminales. Esta es la configuración particular para cada terminal.

viernes, 16 de noviembre de 2012

Agregar el modelo de teléfono Yealink T32G para provisionarlos desde el EndPoint Configurator Elastix

Primero quiero aclarar que todos los cambios realizados se hicieron en un servidor Elastix 2.3 con las siguientes versiones:
  • Elastix 2.3 release 7
  • Elastix-pbx release 14
Y teléfonos Yealink SIP-T32G con versión de firmware 32.70.0.100.

Primero se debe agregar  los modelos antes mencionados en la base de datos del endpoint configurator para lo cual se debe hacer lo siguiente:

[root@prueba ~]# sqlite3 /var/www/db/endpoint.db

sqlite> insert into model(name,description,id_vendor,iax_support) values ('SIP-T32G','SIP-T32G',13,0);

Con lo anterior va a aparecer en la interfaz web de Elastix la opción de escoger el modelo SIP-T32G dentro de los modelos de teléfonos Yealink.

Lo siguiente es descargar el archivo Yealink.php y copiarlo en la carpeta:

[root@prueba ~]# cp Yealink.php /var/www/html/modules/endpoint_configurator/libs/vendors/

Este archivo genera el archivo de configuración con la MAC address para cada uno de los terminales. Esta es la configuración particular para cada terminal.

También se debe descargar el archivo y000000000032.cfg en la carpeta:

[root@prueba ~]# cp  y000000000032.cfg /tftpboot/

Este archivo contiene las configuraciones generales, las que se van a cargar en todos los telefonos SIP-T32. Aqui es donde se configura la zona horaria, el servidor NTP, los directorios local, remoto, codecs, entre otros parámetros. Les recomiendo revisar la documentación oficial de Yealink siguiendo el link al final del artículo.

Por último hay que descargar el archivo paloSantoFileEndPoint.class.php y copiarlo en la carpeta:

[root@prueba ~]# cp paloSantoFileEndPoint.class.php /var/www/html/modules/endpoint_configurator/libs/

Si se desea personalizar el fondo de pantalla y el screensaver se los debe copiar al servidor y copiarlos a la carpeta /tftpboot/. Los archivos deben ser .jpg o .png con un tamaño de 480 x 272 pixeles.

Este mismo procedimiento serviría para agregar cualquier otro modelo de teléfono al módulo del endpoint configurator. Les recomiendo revisar cada uno de los archivos, y buscar lo relacionado con SIP-T32G. 

En caso de tener alguna duda les recomiendo ver la documentación oficial de Yealink siguiendo el enlace:

http://www.yealink.com/Upload/document/YealinkT2XPT3XGVP530phonesAutoProvisioningUserGuide/YealinkT2XPT3XGVP530phonesAutoProvisioningUserGuideRev_700-02264277235.zip


miércoles, 1 de agosto de 2012

Callback automático en Elastix


Una de las funcionalidades de Asterisk 1.8 es Call Completion Supplementary Service (CCSS).

El objetivo del CCSS es el siguiente, vamos a llamar a una extensión que estará ocupada, entonces marcaremos que queremos que nos llame cuando se quede libre, cuando finalmente la persona con la que queremos hablar cuelga el teléfono Asterisk nos generará una llamada, cuando descolgamos llamará a nuestro interlocutor y nos pondrá en comunicación.



Elastix versión 2.3 viene con Asterisk 1.8 y soporta esta funcionalidad, para lo cual hay que hacer algunos cambios.


Lo primero que hay que hacer es ingresar al Elastix y habilitamos el acceso al FreePBX no embebido, esto se lo hace yendo a la pestaña Security -> Advanced Options -> Enable access to FreePBX -> ON. Luego en una nueva pestaña del explorador se debe poner lo siguiente: 


https://ip-del-elastix/admin


Aqui va a solicitar el usuario y contraseña para ingresar.

Una vez dentro de FreePBX no embebido, se debe ir a la sección (ubicada en la esquina superior izquierda) 
Tools -> Asterisk SIP Settings. Aquí se pueden editar las configuraciones generales para SIP. En la parte final hay una sección que dice Other SIP Settings, ahi ponemos lo siguiente:


call-limit=50


Para habilitar esta funcionalidad he realizado algunos cambios en la configuración por lo que deben bajarse el archivo functions_inc.php y sustituirlo (siempre es bueno sacar una copia del original por si algo falla) por el original que se encuentra en: 

cd /var/www/html/admin/modules/core/

Luego de eso reiniciar el amportal:

amportal stop

amportal start

Veran que en PBX -> PBX Configuration -> Extensions y seleccionan cualquier extensión que tengan creada, en la sección Device Options aparecen dos nuevos campos que dicen cc_agent_policy y cc_monitor_policy.


Los campos mencionados anteriormente son los que habilitan el callback por extensión, las opciones principales son: never y generic. Una vez seteados estos parámetros hay que hacer un cambio en el plan de marcado, para lo cual agregamos unas líneas en el archivo:


vim /etc/asterisk/extensions_custom.conf


Al final del archivo agregamos lo siguiente:



[app-callback]
exten => *123,1,CallCompletionRequest()
exten => *123,n,Hangup()
exten => *124,1,CallCompletionCancel()
exten => *124,n,Hangup()

Debemos agregar a la app-callback dentro del contexto por default que se utilice, por ejemplo si se usa el contexto from-internal se debe agregar lo siguiente al final del archivo /etc/asterisk/extensions_custom.conf:

[from-internal-additional-custom]
include => app-callback

Luego de haber guardado los cambios se debe hacer un reload de la configuración:

rasterisk -x "dialplan reload"

En este caso, si la persona a la que llamamos se encuentra al teléfono, por lo que no puede atender nuestra llamada, colgamos y marcamos *123, una vez que la persona con la que queremos comunicarnos termina su conversación timbra nuestro teléfono y el de la persona con la que queremos comunicarnos de forma automática.

miércoles, 11 de julio de 2012

SIP TLS y SRTP en Elastix (2)

Como les mencione en la entrada anterior, Elastix 2.3 tiene todo lo necesario para la encripción de llamadas SIP con TLS y SRTP.

Todo lo que voy a mencionar en este artículo, se lo hizo en un servidor con Elastix 2.3 de 64 bits, y con teléfonos Yealink T20P y T22P.

En el artículo anterior puse todo lo que se debe agregar en las configuraciones generales para que funcione TLS en Elastix.

Para habilitar el soporte SRTP por extensión hace falta agregar el parámetro encryption=yes en cada una de las extensiones. Asi mismo para que las extensiones usen TLS en la señalización se debe agregar transport=tls.

Las configuración de cada extensión se encuentra en el archivo sip_additional.conf. Como se sabe, todos los archivos con el nombre "additional" son modificados por la interfaz web, por lo que, si agregamos los parámetros que mencioné anteriormente en la configuración de cada extensión, con cualquier cambio hecho en la interfaz web va a borrar esa configuración.

Para evitar que se borren las configuraciones, y para poder configurar si es que se va a usar SRTP y TLS he realizado algunos cambios.

Deben bajarse el archivo functions_inc.php y sustituirlo (siempre es bueno sacar una copia del original por si algo falla) por el original que se encuentra en:

cd /var/www/html/admin/modules/core/

Luego de eso reiniciar el amportal:

amportal stop


amportal start

Veran que en PBX -> PBX Configuration -> Extensions y seleccionan cualquier extensión que tengan creada, en la sección Device Options aparecen dos nuevos campos que dicen encryption y transport.

Para habilitar SRTP y SIP TLS, encryption debe estar seteado con yes, y transport con tls, como se muestra en el siguiente gráfico:






Falta habilitar en el teléfono habilitar el soporte SRTP y TLS.
En los teléfonos Yealink, en la configuración de las cuentas Account -> Cuenta 1 -> Basic -> Transport -> TLS.
Y en Account -> Cuenta 1 -> Advanced -> Voice Encryption (SRTP)

 -> On.
Con eso se habilita los dos parámetros en los teléfonos Yealink.

Eso es todo, se puede probar con un sniffer y tratar de capturar llamadas.

SIP TLS y SRTP en Elastix

Asterisk tiene soporte para encripción TLS para la señalización SIP y SRTP para encriptar las llamadas.

Todas las configuraciones fueron hechas en dos servidores cargados con la versión 2.3 de Elastix de 64 bits.

Elastix 2.3 tiene instalado todo lo necesario para soportar TLS y SRTP, solo hay que hacer unas pequeñas modificaciones.

Voy a empezar explicando como encriptar las comunicaciones en una troncal SIP entre dos servidores Elastix, para lo cual:

Servidor 1 con Elastix=serverA
Servidor 2 con Elastix=serverB

Primero se deben generar certificados para los servidores, esto se debe hacer solo en uno de ellos, para el ejemplo lo voy a hacer en el serverA. Para generar los certificados voy a usar el script ast_tls_cert, que se encuentra en:

/usr/share/doc/asterisk-1.8.11.0/contrib/scripts/ast_tls_cert

Vamos al directorio donde se encuentra el script:


cd /usr/share/doc/asterisk-1.8.11.0/contrib/scripts/

Aqui ejecutamos lo siguiente:

./ast_tls_cert -d certs -C serverA -o serverA


./ast_tls_cert -d certs -C serverB -o serverB -c certs/car.crt -k certs/ca.key


 cd certs

 ls

Se observa que se han creado 12 archivos.

Luego de que los certificados han sido creados, se deben mover hacia las ubicaciones respectivas tanto en el serverA como en el serverB. En el serverA:

mv ca.crt /var/lib/asterisk/keys
 
mv serverA.pem /var/lib/asterisk/keys

Y para el serverB:

scp ca.crt root@ip-del-serverB:/var/lib/asterisk/keys



scp serverB.pem root@ip-del-serverB:/var/lib/asterisk/keys

Se deben dar los permisos suficientes a los archivos para que puedan ser leidos por asterisk (yo les di permisos totales, se podria probar cambiando de propietario de los archivos con el comando chown). Esto se debe hacer en ambos servidores.

chmod -R 777 /var/lib/asterisk/keys/

Luego vamos al explorador, ingresamos al Elastix y habilitamos el acceso al FreePBX no embebido, esto se lo hace yendo a la pestaña Security -> Advanced Options -> Enable access to FreePBX -> ON. Luego en una nueva pestaña del explorador se debe poner lo siguiente:

https://ip-del-elastix/admin

Aqui va a solicitar el usuario y contraseña para ingresar.

Una vez adentro de FreePBX no embebido, se debe ir a la sección (ubicada en la esquina superior izquierda) Tools -> Asterisk SIP Settings. Aquí se pueden editar las configuraciones generales para SIP. En la parte final hay una sección que dice Other SIP Settings, ahi ponemos lo siguiente:

tlsenable=yes
tlsbindaddr=0.0.0.0
tlsdontverifyserver=yes
tlscertfile=/var/lib/asterisk/keys/serverA.pem
tlscafile=/var/lib/asterisk/keys/ca.crt

Esto se debe hacer en ambos servidores, para lo cual hay que tomar en cuenta que el parámetro tlscertfile cambiaría de esta manera en el serverB:

tlscertfile=/var/lib/asterisk/keys/serverB.pem

NOTA: Cuando se crean los certificados, el parámetro definido con la opción -C debe coincidir con el hostname. Si se presenta un problema con el hostname, para corregirlo se debe generar el certificado nuevamente. Tambien se puede agregar el parámetro tlsdontverifyserver=yes en la configuración anterior, que no verifica el hostname.

Por último en la interfaz web de Elastix vamos a PBX -> PBX Configuration -> Trunks -> Add Trunk -> Add SIP Trunk. En donde ponemos:

  • Para el serverA:
Trunk Name: troncal-prueba

En Outgoing Settings:

Trunk Name: serverA-serverB

Peer Settings:

host=ip-del-serverB
secret=contraseña

type=friend
context=from-internal
insecure=invite
canreinvite=no
qualify=yes
encryption=yes
transport=tls


  • Para el serverB:

Trunk Name: troncal-prueba


En Outgoing Settings:

Trunk Name: serverA-serverB

Peer Settings:

host=ip-del-serverA
secret=contraseña

type=friend
context=from-internal
insecure=invite
canreinvite=no
qualify=yes
encryption=yes
transport=tls


Eso es todo, pueden probar usando un sniffer, y verán que la comunicación es encriptada. En una siguiente entrega les indicare lo realizado para encriptar la comunicaciones entre extensiones usando teléfonos SIP.

sábado, 2 de junio de 2012

Introducción a NMAP

Nmap (Network Mapper), es una herramienta open source, diseñada para explorar y para realizar auditorías de seguridad en una red de computadoras.
 
Esta herramienta puede ser utilizada para realizar auditorías de seguridad en una red, pero también puede ser utilizada para fines delictivos, ya que esta herramienta pone al descubierto,puertos abiertos en las computadoras de una red, así como también es posible conocer como se encuentra organizada, y de cuantas computadoras consta una red. 

Nmap esta incluido en la mayoría de repositorios de las distros linux, por lo que para instalarla se debe usar el manejador de paquetes de la distribución que utilizamos.

La sintaxis básica de nmap es:

nmap [tipo de scan] [opciones] 

Por ejemplo si tenemos un host en nuestra red, con dirección ip 192.168.0.1 y deseamos conocer que puertos tiene abiertos, ejecutamos:

nmap 192.168.0.1
 
Nmap nos mostrara en pantalla algo como esto:

Starting Nmap 5.21 ( http://nmap.org ) at 2012-06-02 17:25 ECT
Nmap scan report for 10.0.0.10
Host is up (0.0035s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
80/tcp   open  http
139/tcp  open  netbios-ssn
443/tcp  open  https
445/tcp  open  microsoft-ds
515/tcp  open  printer
6000/tcp open  X11


Nmap done: 1 IP address (1 host up) scanned in 1.71 seconds

Este resultado puede variar, dependiendo de las opciones que se le pasen a nmap o de la cantidad de puertos, que se encuentren abiertos en el host, que esta siendo analizado.

Si queremos, conocer que tipo de sistema operativo, esta corriendo el host al que le realizamos el scaneo, sólo basta agregar el parámetro -O a el comando nmap.

nmap -O 192.168.0.1

Nos mostrara un resultado como este:

 Starting Nmap 5.21 ( http://nmap.org ) at 2012-06-02 16:49 ECT
Nmap scan report for 10.0.0.21
Host is up (0.0017s latency).
Not shown: 980 closed ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
554/tcp   open  rtsp
1110/tcp  open  nfsd-status
1688/tcp  open  unknown
2869/tcp  open  unknown
3260/tcp  open  iscsi
3261/tcp  open  unknown
3389/tcp  open  ms-term-serv
5357/tcp  open  unknown
10243/tcp open  unknown
49152/tcp open  unknown
49153/tcp open  unknown
49154/tcp open  unknown
49156/tcp open  unknown
49157/tcp open  unknown
49158/tcp open  unknown
49159/tcp open  unknown
49160/tcp open  unknown
Device type: general purpose
Running: Microsoft Windows Vista|2008|7
OS details: Microsoft Windows Vista SP0 - SP2, Server 2008, or Windows 7 Ultimate (build 7000)
Network Distance: 1 hop

Pues, todo esto es la "huella" TCP/IP (TCP/IP fingerprint) que posee cada Sistema Operativo en particular.

Otra función de Nmap es identificar los hosts activos, en nuestra red.

Supongamos, que tenemos una red 10.0.0.0, y deseamos conocer que hosts se encuentran activos, fácilmente, lo podemos saber con nmap, esto lo podemos conocer
al realizar un ping scan.

nmap -sP -PN 10.0.0.0/24


Esta herramienta también permite realizar "stealth scans", con este tipo de scan, se pretende no ser detectado por software de detección de scaneos. Para lo cual se envían paquetes a los hosts con ciertos "flags" TCP activados o desactivados para evitar ser detectados. Básicamente existen tres tipos:
  • sN: Stealth, Null Scan, este tipo de scan pone en off todos los flags.
  • sF: Stealth FIN Scan, este tipo de scan usa paquetes con el flag FIN activado para las pruebas.
  • sX: Stealth Xmas Tree Scan, este tipo de scan envía paquetes con los flag FIN, URG, y PUSH activados.

Si deseamos hacer un "stealth scan" del tipo Xmas Tree, y además deseamos conocer
que sistema operativo esta corriendo el host de destino, ejecutamos:

nmap -sX -O -p- -PN 192.168.1.2

Con un "Decoy Scan" (opción -D) se trata de engañar al host, al cual se esta scaneando, diciéndole que los scans se están generando desde otros hosts, que se especifican en la opción -D.

En el siguiente ejemplo, realizamos un Stealth Xmas Tree scan (-sX) hacia el host 192.168.0.1, en los puertos 25(SMTP), 53(DNS), le indicamos a nmap que no genere pings hacia el host, y tratamos de engañar al host (-D, Decoy), haciéndole creer que los scans se están generando desde los hosts 1.2.3.4 y 5.6.7.8.

nmap -p 25,53 -sX -P0 -D 1.2.3.4,5.6.7.8 192.168.0.1

Existen Interfaces Gráficas para Nmap, en el caso que no deseen, utilizar la interfaz de comandos de nmap, fácilmente pueden usar un programa llamado zenmap.

Si requieren mas información sobre Nmap, pueden buscar ayuda en la página web http://nmap.org/ o consultar los manuales electrónicos con el comando:

man nmap

Etapa de Scaneo

Una que se recolectó información de un objetivo, en los datos recogidos debe haber una lista de direcciones IP.

Como se conoce, los servicios de red funcionan en puertos estandard y pueden dar una pista de cual es la función de cada servicio. Algunos puertos son comunes y reciben gran cantidad de datos, y algunos extraños y son raramente usados.

 La primera prueba para comprobar que un host (en nuestro caso el host del objetivo) es hacer un ping hacia la dirección IP que le corresponde. Esta prueba va a servir siempre y cuando estén permitidos los paquetes ICMP en el host, por lo que los resultados que se obtengan no son concluyentes.

La segunda prueba se la conoce como un Scaneo de Puertos. Para hacer esta prueba la herramienta mas utilizada se llama NMAP. Otra herramienta que se puede usar para este propósito es Nessus. Para instalar NMAP, se puede usar el comando:

apt-get install nmap

Para instalar Nessus, se lo debe descargar de la página web http://www.nessus.org. De acuerdo al sistema operativo que tenemos instalado, se debe bajar el paquete correspondiente y utilizar el manejador de paquetes de nuestra distribución para comenzar la instalación. Una vez instalada la aplicación, se debe reiniciar el servicio con el siguiente comando:

/etc/init.d/nessusd restart

Una vez se ha ejecutado el comando anterior se puede empezar a usar nessus, ingresando la siguiente dirección en nuestro navegador web:

https://localhost:8834/

Si requieren mayor información acerca de Nessus, pueden revisar la documentación oficial y manuales de usuario.

viernes, 1 de junio de 2012

TheHarvester y MetaGooFil

Son pequeños programas creados por Edge-Security, se los puede encontrar en la pagina web http://www.edge-security.com.

Los dos son programas escritos en python. Una vez se bajan los archivos, se los debe extraer, para lo cual se usa el comando:

tar xvf theHarvester.tar

El primero, theHarvester, busca información en los principales buscadores, como google o bing, relacionada con correos electrónicos y subdominios relacionados con un dominio.

Para usarlo, vamos a la carpeta donde se lo extrajo. Hay que asegurarse que el archivo theHarvester.py tenga los permisos de ejecución, para lo cual:


chmod +x theHarvester.py

Para empezar una búsqueda simplemente se ejecuta lo siguiente:

./theHarvester.py -d example.com -l 10 -b google

En donde:
  • -d se usa para especificar de que dominio se quiere obtener información.
  • -l le dice al programa que solo entregue 10 resultados.
  • -b sirve para especificar que motor de búsqueda se va a utilizar.
 El programa MetaGooFil, busca archivos que pertenecen a cierto dominio. Se debe seguir el mismo procedimiento del programa anterior para extraerlo y poder usarlo.

Antes de empezar a usarlo, es preferible crear una carpeta, en la cual se guarden los documentos encontrados. Para lo cual se puede usar el comando:

mkdir files

Para empezar una busque, se ejecuta lo siguiente:

./metagoofil.py -d example.com -f all -o results -t files

En donde:
  • -d se usa para especificar de que dominio se quiere obtener información.
  • -f especifica que tipo de archivos se quiere buscar y bajarse. La opción all hace que se localicen y bajen todos los archivos.
  • -o especifica el nombre del reporte que MetaGooFil va a generar.
  • -t indica el directorio en donde se deben guardar los archivos encontrados. 

jueves, 31 de mayo de 2012

Etapa de reconocimiento

En esta etapa la meta es conseguir la mayor información disponible de nuestro objetivo. Como es un "ethical hacking" hay que recordar que debemos estar autorizados antes de realizar cualquier acción, con el fin de no comprometer a nuestro objetivo, sino ayudarlo a identificar cualquier vulnerabilidad.

Hay dos formas de indagar información:
  • Activa: Se interactúa directamente con el objetivo. El objetivo puede grabar información nuestra, como la dirección IP.
  • Pasiva: Se utiliza toda la información disponible en la web.
Una de las formas de hacer una indagación activa es visitar la pagina web de nuestro objetivo, o utilizar un programa llamado webhttrack, que se encarga de hacer una copia completa, pagina por pagina, del sitio web. Para instalarlo podemos ejecutar lo siguiente en una consola linux:

apt-get install webhttrack

La indagación pasiva se realiza utilizando la información disponible en la web acerca del objetivo. Utilizando google o cualquier motor de búsqueda, se puede adquirir todo tipo de información acerca del objetivo, cuentas de correo, números telefónicos, horarios de atención, noticias relacionadas, necesidades en cuanto a personal o equipos. Otra forma de indagar es usando la "ingeniería social", mediante las cuentas de twitter o facebook del objetivo, o de trabajadores.

Una herramienta para averiguar correos electrónicos relacionados a una pagina web se llama theHarvester, que se puede conseguir a través de la página web: http://www.edge-security.com. Lo que hace el programa es buscar e-mails, subdominios, y host que pertenecen a cierto dominio.

Otra forma de conseguir información valiosa es mediante los registros DNS del dominio de nuestro objetivo. Para conseguir esta información se pueden usar herramientas que vienen incluidas dentro de cualquier instalación estándar de linux, como lo son:
  • whois
  • dig
  • nslookup
  • host
Todas estas herramientas brindan información valiosa acerca de un objetivo. Si no saben como usarlas, pueden revisar el manual de cada una de ellas con el comando man, por ejemplo:

man dig

Se debe procurar no hacer un reconocimiento activo, ya que este tipo de reconocimiento deja huellas, y puede ser fácilmente rastreable. 

miércoles, 30 de mayo de 2012

Metodologia para realizar un hackeo (Hacking etico)

Es importante tener una metodología para dividir un proceso complejo en varias tareas sencillas.

Es recomendable utilizar la siguiente metodología, que divide en cuatro etapas sencillas un ataque (hacking ético):
  • Reconocimiento
  • Scaneo
  • Explotación
  • Mantener el acceso
La primera etapa de reconocimiento, trata de recopilar información acerca del objetivo o la "víctima".

El scaneo consiste en realizar un scaneo de puertos al equipo de la víctima, una vez realizado esto, se debe identificar los diferentes servicios (software) que utilizan dichos puertos.

La explotación esta relacionada con el ataque a la víctima. Este ataque puede realizarse usando una infinidad de herramientas y metodologías.

Por ultimo, mantener el acceso, es la etapa en donde se trata de conseguir un acceso prolongado al objetivo (backdoor), el poder sobrevivir a reinicios, bloqueos, o cualquier método de defensa que quieran aplicar a nuestro ataque.

Como es un ataque ético, es decir, para identificar los posibles huecos de seguridad de nuestro sistema, todas las acciones anteriormente descritas deben estar autorizadas de una u otra forma, y si durante el ataque se recolectó información personal, esta información no debe ser utilizada para perjudicar a dueño de la información.

martes, 29 de mayo de 2012

Herramientas Linux para un Ethical Hacker

La primera herramienta (en realidad no es una herramienta como tal, es una distro linux con infinidad de herramientas) se llama Bactrack. El sitio oficial es:

http://www.backtrack-linux.org/

De la pagina web antes mencionada se pueden descargar las diferentes versiones de Bactrack, que puede ser una imagen .iso, o una imagen para un gestor de maquinas virtuales como VM, o VirtualBox.

Se instala y se utiliza como cualquier distro linux disponible.

El usuario y contraseña por defecto son root y toor, respectivamente.

Por defecto el Xserver no inicia cuando el sistema operativo bootea. Si requieren la interfaz grafica, esta se ejecuta con el comando startx.
Por defecto las interfaces de red vienen desactivadas, por lo que es necesario activarlas manualmente.

ifconfig eth0 direccion_ip netmask mascara_red up

En el caso de usar dhcp se puede hacer lo siguiente:

ifup eth0
dhclient eth0

En ambos casos se asume que la interfaz eth0 es la que queremos configurar.

Para desactivar una interfaz de red se puede utilizar:

ifdown eth0

Todas las herramientas que tiene Bactrack, estan disponibles para las diferentes distros linux mas populares, tanto en paquetes como en los repositorios específicos de cada una de las distribuciones.

Para realizar las distintas pruebas, talleres, experimentos, se debe crear un ambiente de pruebas, el cual podamos utilizar sin temor a afectar a los usuarios de la red interna, o peor aun, que afecte una IP pública y pueda ser acusado por cometer algun delito informatico.