2011-12-29

Configurar Calendario de Google en Evolution

En la empresa donde trabajo tenemos un calendario compartido en google, por lo que me tocaba tener la ventana de google calendar abierta y la verdad no me gusta eso de tener miles de ventanas abiertas, debido a esto busque en la nueva versión de evolution si era posible configurar el calendario de Google y me he llevado una grata sorpresa cuando vi que se puede hacer directamente.

Al ingresar a Calendario y dar en el botón de Nuevo te la da opción que dice Calendario, donde se puede ver la siguiente ventana



Y como pueden apreciar en el tipo esta la opción de Google, solo debes colocar un nombre cualquiera y colocar tu usuario de google, para mi caso lo coloque como calendario predeterminado y le di aceptar, con lo que me actualizo el calendario y me coloco todo mi calendario de google como se ve a continuación



Y listo espero que les sirva

2011-12-09

Uso del comando IP

Teniendo en cuenta que ha muchos usuarios o administradores principiantes no conocen herramientas por consola para determinar el estado de las red, del enlace, el direccionamiento IP, las rutas y demás parámetros de TCP/IP del sistema, decidí hacer esta entrada como un aporte básico de administración usando el comando IP, que es el que Debian y casi todos los Linux traen por defecto en sus instalaciones.

Este comando tiene 10 opciones complementarias de sintaxis, ya que no se puede usar completamente solo, y estas son las siguientes:


  1. link --> Permite realizar monitoreo y configuraciones directamente sobre el dispositivo de red.
  2. addr --> Permite la configuración y visualización de parámetros de IPv4 e IPv6 que se encuentran en el dispositivo.
  3. addrlabel --> Permite colocarle una etiqueta a la configuración de la tarjeta.
  4. neighbour --> Permite administrar y monitorear entradas guardadas en el cache de ARP.
  5. route --> Permite la administración de la tabla de enrutamiento de TCP/IP.
  6. rule --> Permite generar reglas para la base de datos de enrutamiento del sistema
  7. maddr --> Administración de direccionamiento multicast
  8. mroute --> Administración de enrutamiento multicast
  9. tunnel --> Permite la generación de túneles sobre IP
  10. xfrm --> Administración de características de IPSec 

No las se manejar todas por lo que mostrare los ejemplos mas relevantes de los que conozco.

IP LINK

Permite manejar las características de la capa de enlace en el dispositivo de red, por defecto el muestra datos como el mtu, el estado de la conexión, longitud de la cola de transmisión, dirección MAC, entre otros, como se ve a continuación

root@localhost:~# ip link
1: lo: mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 6c:62:6d:4e:98:2d brd ff:ff:ff:ff:ff:ff

Sin embargo, si le adicionas la opción S el sistema te mostrara algunos datos adicionales muy importantes, tales como si la tarjeta tiene o no colisiones y/o errores en la transmisión, además la cantidad de bytes transmitidos y recibidos, como se ve en el ejemplo a continuación

root@guardianmar ~]# ip -s link show eth0
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 2c:27:d7:14:18:5b brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    1959086592 582608492 0       0       0       6      
    TX: bytes  packets  errors  dropped carrier collsns 
    858442681  433455195 4596945 0       0       8807701



IP ADDR

Este permite administrar la capa de red del dispositivo, configurando el direccionamiento de IPv4 e IPv6. La salida por defecto muestra la configuración IP actual de todos los dispositivos, como se ve a continuación

root@localhost:~# ip addr
1: lo: mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 6c:62:6d:4e:98:2d brd ff:ff:ff:ff:ff:ff
    inet6 fe80::6e62:6dff:fe4e:982d/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:e0:b3:10:80:99 brd ff:ff:ff:ff:ff:ff
4: vnet0: mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 6c:62:6d:4e:98:2d brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.38/24 brd 10.255.255.255 scope global vnet0
    inet6 fe80::6e62:6dff:fe4e:982d/64 scope link 
       valid_lft forever preferred_lft forever

Ahora para adicionar una dirección a una tarjeta sería con el siguiente comando

root@localhost:~# ip addr add 10.0.1.39/24 dev eth0

Con esto adicionas la IP 10.0.1.39 al dispositivo eth0, creando una IP virtual si este ya tiene dirección. Para eliminarla es practicamente el mismo comando pero con la opción del, como se ve a continuación

root@localhost:~# ip addr del 10.0.1.39/24 dev eth0

Para ver los datos únicamente de un dispositivo se debe usar la opción show y el dispositivo que se deseea así

root@localhost:~# ip addr show eth4.20
10: eth4.20@eth4: mtu 1500 qdisc noqueue 
    link/ether 00:26:55:e3:9b:aa brd ff:ff:ff:ff:ff:ff
    inet 172.30.234.1/24 brd 172.30.234.255 scope global eth4.20
    inet 172.30.234.26/24 brd 172.30.234.255 scope global secondary eth4.20:1
    inet 172.30.234.35/24 brd 172.30.234.255 scope global secondary eth4.20:2
    inet 172.30.234.125/24 brd 172.30.234.255 scope global secondary eth4.20:3
    inet 172.30.234.126/24 brd 172.30.234.255 scope global secondary eth4.20:4
    inet 172.30.234.36/24 brd 172.30.234.255 scope global secondary eth4.20:5
    inet 172.30.234.37/24 brd 172.30.234.255 scope global secondary eth4.20:6

Esta última es especial por que es una configuración de VLAN con 7 direcciones IP configuradas en el dispositivo.


 IP NEIGH

Permite visualizar la tabla de cache de ARP del sistema e identificar con esto un posible ataque de hombre en el medio o conocer las MAC de sus vecinos, como se puede apreciar a continuación

root@localhost:~# ip neigh
10.0.1.3 dev vnet0 lladdr 8c:89:a5:13:ee:c0 STALE
10.0.1.1 dev vnet0 lladdr 00:03:ce:89:e8:12 REACHABLE

Con la opción add permite adicionar una entrada a la tabla ARP de forma permanente o con el del eliminar una entrada directamente. Si se desea eliminar completamente la tabla se debe realizar el siguiente comando

root@localhost:~# ip neigh flush

Y para ver la tabla de una sola tarjeta se debe ejecutar el siguiente comando

root@localhost:~# ip neigh show dev eth0


IP ROUTE

Permite la administración y control de la capa de red del modelo TCP/IP en Linux, donde podemos visualizar las tablas de enrutamiento IP. A diferencia del comando route, este entrega todas las posibilidades de la tabla de enrutamiento, como por ejemplo cuando se tiene una máquina que balancee tráfico y tiene dos puertas de enlace. Por defecto en una máquina normal la salida de este comando sería así


root@localhost:~# ip route
10.0.1.0/24 dev eth0  proto kernel  scope link  src 10.0.1.39 
169.254.0.0/16 dev eth0  scope link 
default via 10.0.1.1 dev eth0

Pero si el sistema posee múltiples conexiones y varias rutas por defecto para hacer balanceo, el comando nos permite identificar cada una de estas y su peso en el balanceo, como se ve a continuación


root@localhost:~# ip route
172.16.30.2 dev tun0  proto kernel  scope link  src 172.16.30.1 
172.19.0.2 dev tun3  proto kernel  scope link  src 172.19.0.1 
172.17.0.2 dev tun2  proto kernel  scope link  src 172.17.0.1 
200.293.151.188/30 dev eth1  proto kernel  scope link  src 230.293.151.189 
198.125.251.200/29 dev eth2  proto kernel  scope link  src 198.125.251.202 
192.168.20.0/24 via 172.17.0.2 dev tun2 
10.0.0.0/24 via 192.168.0.8 dev eth0 
192.168.150.0/24 via 192.168.0.8 dev eth0 
192.168.1.0/24 via 172.19.0.2 dev tun3 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.100 
172.16.30.0/24 via 172.16.30.2 dev tun0 
192.168.30.0/24 via 192.168.0.8 dev eth0 
169.254.0.0/16 dev eth2  scope link 
default 
nexthop via 198.125.251.205  dev eth2 weight 8
nexthop via 230.293.151.190  dev eth1 weight 1


Ahora como también permite administrar tiene mecanismos para adicionar o eliminar rutas, los cuales he mostrado en anteriores entradas, y que tienen la siguiente estructura.

Adicionar
root@localhost:~# ip route add 225.255.225.16/30 via 192.168.2.1 dev eth0

Elminiar
root@localhost:~# ip route del 225.255.225.16/30 via 192.168.2.1 dev eth0

Modificar la Ruta por defecto
root@localhost:~# ip route change default  via 12.16.152.15 dev eth1

Adición de Ruta por defecto con varios canales
root@localhost:~# ip route add default scope global nexthop  via 84.2.18.12 dev eth1 weigth 1 nexthop via 15.5.25.66 dev eth0 weigth

Ahora para la parte de control también tiene sus ayudas especiales, como poder hacer búsquedas de una red, ver solo la tabla de enrutamiento de una regla establecida (veremos más adelante las reglas), entre otras como veremos a continuación.

Búsqueda de red
root@localhost:~# ip route show match 172.20.0

172.20.0.0/22 via 172.20.254.18 dev eth1 
default via 86.58.43.17 dev eth6
root@localhost:~# ip route show match 172.20.4
172.20.4.0/22 via 10.1.1.5 dev eth3 
default via 86.58.43.17 dev eth6

 Visualizar una sola tabla

root@localhost:~# ip route show table 10
210.3.11.188/30 dev eth1  proto kernel  scope link  src 210.3.11.189 
141.5.1.200/29 dev eth2  proto kernel  scope link  src 141.5.1.204 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.100 
192.168.30.0/24 via 192.168.0.8 dev eth0 
169.254.0.0/16 dev eth2  scope link 
default via 141.5.1.202 dev eth2
root@localhost:~#ip route show table 20

210.3.11.188/30 dev eth1  proto kernel  scope link  src 210.3.11.189 
141.5.1.200/29 dev eth2  proto kernel  scope link  src 141.5.1.204 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.100 
192.168.30.0/24 via 192.168.0.8 dev eth0 
169.254.0.0/16 dev eth2  scope link 

default via 210.3.11.190 dev eth1



2011-11-17

Pruebas de Respuesta de HTTPS

Debido a mi trabajo necesito hacer varias pruebas por consola de como responden los servicios y para esto usualmente  uso telnet, pero cuando te tienes que conectar a un servidor HTTPS el protocolo de SSL no te permite hacer consultas y la respuesta siempre será que no te puede mostrar nada.

Buscando encontré esta pagina donde me indicaba como hacer la conexión, pero como esta en ingles y es un poco cortante decidí escribir aca como hice la prueba.

Bueno para esto tenemos que tener instalado el paquete completo de openssl, el nos provee el comando que vamos a usar y que se ejecuta así

root@localhost:~# openssl s_client -connect www.gmail.com:443

Con esto vamos a obtener la conexión con el protocolo SSL y cargar datos por consola, esto se usa para ver respuestas de los servidores, pero también nos sirve para capturar las características de un certificado. Como se ve a continuación en un ejemplo de las pruebas

root@localhost ~$ openssl s_client -ssl3 -connect www.gmail.com:443
CONNECTED(00000003)
depth=2 /C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
verify return:1
depth=1 /C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
verify return:1
depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com
verify return:1
---
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com
i:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
1 s:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDIjCCAougAwIBAgIQK59+5colpiUUIEeCdTqbuTANBgkqhkiG9w0BAQUFADBM
MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0xMTEwMjYwMDAwMDBaFw0x
MzA5MzAyMzU5NTlaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com
issuer=/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
---
SSL handshake has read 1797 bytes and written 297 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-SHA
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : SSLv3
Cipher : RC4-SHA
Session-ID: DDA26B285F446C6432E7EC512F4B062CCF4C0A1221CA83E4BE756CCC41814339
  Session-ID-ctx: Master-Key: D6CE1C410D6AD7D9768D69E72F6B68655B87F6D23D80D7DCB4F6B154AE9C62730ACAEC034764F9AD5114CC4F36304EAC
Key-Arg : None
Krb5 Principal: None
Start Time: 1321550612
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
GET / HTTP/1.1
Host: www.gmail.com:443

HTTP/1.1 301 Moved Permanently
Location: https://mail.google.com/mail/
Content-Type: text/html; charset=UTF-8
X-Content-Type-Options: nosniff
Date: Thu, 17 Nov 2011 17:23:58 GMT
Expires: Sat, 17 Dec 2011 17:23:58 GMT
Cache-Control: public, max-age=2592000
Server: sffe
Content-Length: 226
X-XSS-Protection: 1; mode=block


Aunque acá le recorte unas cosas se puede ver todo el certificado y la carga de los datos que realice

2011-11-15

Usar Armitage en BT5

yo se que existen múltiples manuales de como usar Armitage en Backtrack 5 y en otros montajes, sin embargo siempre me puso problemas usarlo. Siempre me pasaba que la primera vez me funcionaba y conectaba bien, pero la segunda y demás no me conectaba, entonces me puse a revisar que pasa.

Para esto instale una maquina virtual con BT5 cosa que si me la daño no hay problema, además ya esta instalado el armitage, que para los que no saben es una herramienta gráfica para usar Metasploit, entonces una vez explicado esto empezare con lo que tienen casi todos los manuales que es como hacer funcionar Armitage por primera vez.

Lo primer es ir a directorio /opt/framework/msf3 y ejecutar el comando msfgui, como se ve a continuación


Esto ejecutara el framework gráfico de metasploit, que la verdad deja mucho que desear, pero que nos sirve para generar la conexión a a base de datos y poder tomar el usuario y la contraseña con el menú File -> Show connection details, como se ve en la imagen a continuación


Esto nos mostrara la siguiente ventana donde están los datos de conexión a la base de datos


Bueno con esos datos puedes lanzar el armitage, usando el menú Applications -> Backtrack -> Exploitation Tools -> Network Explotation Tools -> Metasploit Framework -> Armitage, esto les mostrara una ventana donde se piden los datos de conexión y el tipo de base de datos que se va  usar, como se ve a continuación


Acá es donde usas los datos que te mostró la anterior ventana, lo que debes hacer es digitar el pass según los datos obtenidos y dejar la base de datos en postgresql.

Ahora antes de dar conectar (Connect) debes cerrar el Metasploit GUI, pero teniendo en cuenta que cuando te pregunte que si deseas bajar el Metasploit le digas NO este es el truco. hay si le das conectar y el te debe mostrar algo muy similar a lo siguiente


Bueno hasta hay siempre me había funcionado  pero el lío era cuando apagaba y necesitaba usarlo por segunda vez, pero entendí que el problema se debe a que ya no se requieren hacer todos los pasos ya que a conexión ya queda lista para establecerse y ya solo se requiere lanzar el Armitage desde el entorno gráfico y mostrara la siguiente ventana


Y al conectar este te preguntara si quieres lanzar el RPC de Metasploit, y pues obviamente dices que si y el se conecta con esos datos que tu ya tenias y sin necesidad de los otros pasos


espero es sirva

2011-11-08

Copiar Archivo entre Maquinas Usando NetCat

Yo se que existen mil formas de copiar un archivo de una maquina a otra mucho más sencillas, pero les voy a explicar las condiciones y entenderán por que necesite hacer esta operación así.

Teníamos una maquina windows XP que tenia un archivo con un nombre muy largo, así que al intentar copiarla sobre otro windows XP no permitía la copia, esta maquina era de una gerente que se le estaba haciendo un backup y según ella era imposible cambiarle el nombre al archivo. La verdad a mi me preguntaro solo como se me ocurría pasar eso y por hacer una prueba de la eficacia de NetCat y dejar con la boca abierta a esos windowseros se me ocurrio hacerlo así.

En ambas maquinas las arranque con Backtrack5, ya que era el que tenia a la mano y además sabia que tenia el netcat, entonces lo primero es que en la maquina donde se va a copiar se ejecuto el siguiente comando

root@bt:~# ncat -l 9000 > nombre\ largo\ que\ se\ inventaron\ en\ win.pdf

y verificamos que este escuchando así


Ya una vez estamos seguros entonces desde la maquina de la gerente ejecutamos este comando


root@bt:~# cat nombre\ largo\ que\ se\ inventaron\ en\ win.pdf | ncat 10.0.1.50 9000

y listo ya tenemos en la maquina de destino el archivo con el nombre que tenia originalmente y sin la pesadilla de los nombres de windows.

Obviamente este como este fue de afán fue así con solo un comando, pero con tiempo se puede hacer un script que envié todos los archivos del sistema usando netcat.

SSH falseando la IP con una de la maquina

En uno de mis proyectos se presento un problema por que los ISP no son capaces de enrutar las redes de conexión de una WAN, me explico para los que no saben de que estoy hablando. Tu tienes un FW con Debian y tienes una tarjeta configurada para Internet, una tarjeta configurada para tu LAN (192.168.0.0/24) y una tarjeta donde configurada con el direccionamiento que te dio tu ISP para la WAN (10.0.1.0/29), esa última red nunca la colocan en las tablas de enrutamiento, entonces si quieres hacer ssh al FW de la otra sede te toca desde una maquina interna.

Te imaginas tu un lunes festivo que te llamen que necesitan probar una configuración en esa otra sede y tu no tengas ninguna maquina interna en tu red LAN desde la que puedas saltar a esa otra sede. Bueno pues me paso este lunes festivo, pero como todo en Linux existe una solución sencilla como siempre.

Primero les voy a colocar una gráfica sencilla de como es la red


Entonces la IP de la sede principal es 192.168.0.1 y la de la sede secundaria es 192.168.10.1, por lo que para poder usar SSH me tocaría desde adentro de la LAN pero el comando ssh posee una opción que me permite indicarle con que IP de la maquina salir, por lo que el comando queda así

root@localhost:~# ssh -b 192.168.0.1 192.168.10.1

Así el FW de la sede secundaría recibe la conexión con la IP 192.168.0.1 y me permite tomar control del mismo, siempre y cuando en las reglas del FW este permitido

2011-10-24

Migrar de XEN a KVM

Necesitaba migrar una maquina de CentOS 5.5 (Asterisk) que tenia configurada en Xen sobre un Debian, a una maquina virtual usando KVM. El proceso de llevarme la imagen (img) no me genero ningún inconveniente ni instalarla sobre KVM. Pero al arrancar la maquina me decía que KVM no entendía el Kernel con el que estaba instalada esta maquina virtual.

Revisando la maquina virtual me di cuenta que en CentOS el kernel de la maquina virtual quedaba con el nombre 2.6.18-194.el5xen, es último xen era el culpable que no subiera la maquina, pero como cambiarlo???

Se me ocurrió algo que para muchos será un machetazo típico de los ingeniero electrónicos, pero que como alguna vez un profesor en la universidad me dijo "si así le sirve uselo". Entonces lo que hice fue instalar en KVM otra maquina con Centos 5.6, quedando el administrador así


Ahora en la maquina que estoy migrando le instalo una unidad de CD, pero que me lea mi imagen de KNOOPIX y que la secuencia de boot inicie en esta unidad, por lo que la configuración de la unidad quedaría así


Bueno ahora inicio ambas maquinas y en la maquina de KNOOPIX me aseguro de visualizar las particiones /boot y la partición /lib, ya que en estas se encuentran los archivos del kernel. Supongo que ya sabes que hice.

Una vez se tienen estas particiones listas para poder cargarle datos hacemos una copia de los siguientes archivos de la maquina CentOS5.6 de la siguiente forma

root@knoopix:~# scp -r root@centos5.6:/lib/modules/2.6.18-238.el5/ /mnt/lib/modules/
root@knoopix:~# scp -r root@centos5.6:/boot/*2.6.18-238.el5* /mnt/boot/

Ya con esto tenemos todos los archivos necesarios del kernel en la maquina que estamos migrando, ahora lo que necesitamos es que inicie por este kernel, por lo cual editamos el archivo grub.conf de la siguiente manera

root@knoopix:~# vim /mnt/boot/grub/grub.conf

Y se adicionan las siguientes lineas como kernel principal

title CentOS (2.6.18-238.el5)
          root (hd0,0)
          kernel /vmlinuz-2.6.18-238.el5 ro root=LABEL=/ rhgb quiet rhgb noapic
          initrd /initrd-2.6.18-238.el5

Reinicias la maquina y ya te sube correctamente

2011-09-13

Calculadora en Consola

Estaba haciendo unas copias forenses y tenia que hacer unos calculos matematicos sencillos, pero a las 3 de la manana nada es sencillo de hacer y menos ponerse a buscar una calculadora o un entorno grafico con una, pero afortunadamente me acorde del comando bc que permite tener una calculadora en consola.

Gracias a este comando los procesos fueron mas sencillos pues podia realizar los calculos de la geometria del disco en la misma consola y saber cuantos sectores de 4096 tenia cada disco ya si enviar las copias forenses. Bueno despues de la chachara habitual les muestro como usar el comando.

El requiere que le entregen el calculo como texto y el lo ejecuta, como por ejemplo asi:

root@localhost:# echo "15-5" | bc
10

pero si requieren decimales es solo adicionarle la opcion -l al comando bc, asi:

root@localhost:# echo "10/3" | bc -l
3.3333333333333

Y ademas puedes hacer asociaciones como la siguiente:

root@localhost:# echo "(156301488*512)/4096" | bc -l
19537686.00000000000000000000

Espero que les sirva

2011-09-03

Mensajes entre Consolas

Por mi trabajo muchas ocasiones me veo en la necesidad de indicarles a mis compañeros por consola que necesito apagar la maquina o bajar un servidor, cuando tu tienes a tus compañeros cerca o tienes como llamarlos es fácil pero y si no es así, para eso Linux tiene unos comandos que nos permiten colocar mensajes en todas las consolas que se encuentren activas de una terminal.

La primera es cuando no se tiene entorno gráfico (como deben ser en todos los servidores) que es con el comando wall de la siguiente manera

root@localhost:~# wall "Lo que necesites que salga en todas las consolas"

Y la otra es cuando se tiene entorno gráfico para que el mensaje que envías salga en una ventanita centrada, se ejecuta el siguiente comando

root@localhost:~# xmessages --center "Lo que necesites que salga en todas las consolas"

Espero les sirva y les sea útil como a mi

2011-08-30

Empezar con IPv6

No podemos negar que ese futuro cada vez esta más cerca y la mayoría de nosotros no sabe ni que es ni como usar algunas cosas básicas en esta versión del protocolo IP, o me van a decir que se han conectado por SSH usando IPv6, creo que no.

Bueno pues lo primero es entender que es solo un cambio de versión del protocolo y como tal no es un cambio de forma o de estructura del protocolo sino es una cambio en algunos parámetros de su uso cotidiano. Por lo que las características generales del protocolo se mantienen, pero los principales cambios son:

  • Dirección Hexadecimal de 8 cuartetos (2AFE:1025:15FF:0951:ADCF:AAAA:EFDE:1234)
  • No son interoperables con IPv4, sin mecanismos que permitan conversiones.
  • La mascara de red se denomina prefijo y es de 64 bits.
  • Tiene múltiples notaciones en la dirección
  • Es diseñada para ayudas a movilidad por lo que la asignación de direcciones tiene varias formas, lo mas automáticas posible.
  • Usa IPSec por defecto en el protocolo.
Pero en las capas superiores a las de red no se ven muchas diferencias y casi todas las aplicaciones ya están listos para funcionar en IPv6 y vamos a hacer unas pruebas con algunas aplicaciones o servicios.

Ping

root@localhost:~# ping6 f013::2313:14:A

Trazas

root@localhost:~# traceroute6 FB01:125F::13DD

Visualización Direcciones

root@localhost:~# ip -6 addr show

Visualizar Rutas

root@localhost:~# ip -6 route show

Reglas Firewall

root@localhost:~# ip6tables -nL

SSH

root@localhost:~# ssh -6 F045:23::12AB%eth0

Sincronizar Reloj

root@localhost:~# ntpdate 12:4AFE:1:C::

Como pueden ver aunque se deben tener en cuenta algunos parámetros no es mucho el cambio

2011-08-22

Cambiar Ejecutables del Menu

En Backtrack 5 no viene instalado el AIR complejo como en la versión 4, sino que viene un script para instalar con perl dicha herramienta. Esto no solo tiene el problema que si lo usas como LiveCD no puedes usarla directamente sino que si lo tienes de sistema operativo entonces el ejecutable en el menu no sirve de nada una vez lo instalas.

Debido a una necesidad de mi trabajo y de lo que me encanta necesitaba hacer una copia forense del disco duro de un servidor, por lo que necesitaba usar AIR. En mi Laptop tengo instalado BT5 así que después de instalar la herramienta necesitaba cambiar el ejecutable en el menu.

Como siempre esto se puede hacer de varias formas y en una entrada anterior explique como hacerlo por consola, así que ahora les mostrare el lado fácil por el entorno gráfico. Lo primero es ingresar a System - Preference - Main Menu y se ve así


Ya en esta ventana se selecciona el lanzador que necesitamos, para mi caso esta en Applications - Backtrack - Forensics - Forensic Imaging Tool - air, y lo seleccionamos así


Ya acá ingresamos a las propiedades donde veremos el comando que ejecuta realmente este lanzador, para este caso se ve que ejecuta el instaler que viene ahora en BT5, como se ve a continuación


Debido a que ya instale el programa y que lo que quiero es que este menu realmente me lance el programa y no que lo intente instalar de nuevo, así que en la sección del comando elimino todo lo que esta contiene actualmente y coloco la ubicación del comando o lo que necesiten ejecutar, así


Listo ya tienes modificado el lanzador y funciona sin lios.

2011-08-17

Convertir Certificados con SSL

Uno de los principales problemas de la aplicación de sistemas que contengan la capa de seguridad SSL se genera en la cantidad de tipos de archivos que se pueden usar para este fin, y si a eso le adicionas que siempre las entidades certificadoras te entregan unos diferentes esto lo hace aun mas complejo.

Usualmente en los servidores usamos los certificados cuyo formato es PEM, este es el formato mas comúnmente usado por las entidades certificadoras, y los archivos que entregan tiene como extensiones pem, crt, key y cer, además están codificados en Base64. Yo se que es mucha teoría pero es para que tengamos conocimiento de que estamos hablando.

Algunas entidades entregan sus certificados en formatos DER, PKCS#7 o PKCS#12, los cuales son los que por defecto se usan en servidores windows, estas llaves son en formatos binarios y contienen una llave privada para su uso.

Bueno tras ver un poco la teoría veremos como ejecutar los comandos por consola para hacer las conversiones entre estos formatos. Como siempre coloco la fuente original que es https://www.sslshopper.com/ssl-converter.html y donde encontran una herramienta online para algunas de las conversiones.

Empecemos con la conversiones

P12 --> PEM

root@localhost:~# openssl pkcs12 -in cert.pfx -out cert.pem -nodes


DER --> PEM

root@localhost:~# openssl x509 -inform der -in cert.der -out cert.pem 



P7 --> PEM

root@localhost:~# openssl pkcs7 -print_certs -in cert.p7b -out cert.pem 



Espero que les sirva

2011-08-02

Plugin para Editar PDF en LibreOffice

Gracias a mi compañera Sandra que lo encontró para OpenOffice, me dio la curiosidad si este plugin generado por Oracle funcionaba en LibreOffice (que es el que viene instalado en Ubuntu 11,04) así que dispuse a probar instalarlo, con la grata sorpresa que funciona, por lo que acá lo explicare.

Lo primero es conectarse con la página de la extensión, la cual es http://extensions.services.openoffice.org/project/pdfimport y en la parte inferior de la pagina se ve el siguiente cuadro



Como puedes ver es multiplataforma pero nosotros usaremos la de Linux (según la versión de procesador que tengas), y este te descargara un archivo que se llama oracle-pdfimport.oxt y que se ejecuta con LibreOffice, como ves a continuación


Al dar Aceptar se abrirá tu LibreOffice y te indica que vas a instalar una aplicación, como se ve a continuación


Una vez aceptas se ve la licencia, la cual la tendrás que "leer" completa para poder aceptarla, como se ve a continuación



Una vez se acepta el sistema instala el plugin y te indica que ya lo puedes usar como se ve a continuación



Después es solo abrir un pdf y como se puede ver a continuación ya lo puedes editar


Bueno espero que te sirva

2011-07-17

Instalar XBMC

XBMC es un entorno que te permite manejar múltiples aplicaciones multimedia desde una única interface, adicionalmente permite instalar plugins que te manejen conexiones a Internet y te hace búsquedas de películas, series, música y demás aplicaciones.

Es una aplicación multiplataforma que se encuentra en http://xbmc.org y pues use la información que esta en esta pagina para la instalación sobre mi Ubuntu. Como siempre colocare acá como lo instale, lo primero es instalar los pauqtes que contiene el repositorio de xbmc, así

root@localhost:~# apt-get install python-software-properties pkg-config

Una vez están instalados estos paquetes podemos adicionar el repositorio que necesitamos, lo que se hace con este comando

root@loclahost:~# add-apt-repository ppa:team-xbmc

Con esto modificamos el source.list y necesitamos que la memoria de apt cargue los nuevos datos de este repositorio, por lo que tenemos que hacer un update así

root@localhost:~# apt-get update

Listo ya podemos instalarlo, con el siguiente comando

root@localhost:~# apt-get install xbmc xbmc-standalone

Listo ya lo tienes instalado, lo puedes manejar con el teclado e instalar cualquier plugins para ver películas o series on-line.

2011-07-11

Instalación de TrueCrypt en Ubuntu 11.04

Estuve en una conferencia de manejo de evidencia digital y salí un poco "traumatizado" por la recuperación de información y por el cifrado de los datos, en esta conferencia hablaron de muchas cosas muy interesantes pero la forma de cifrar carpetas y de poder usar Dropbox con el cifrado me llamo mucho la atención.
Entonces me puse en la labor de buscar como instalarlo y ver como funcionaba y tras leer varios sitios acá coloco como lo instale y como cree un archivo cifrado para guardar datos en Dropbox.

Empecemos con descargar el tar.gz en esta URL http://www.truecrypt.org/downloads y lo descomprimes de donde sale un archivo ejecutable, como se ve a continuación



Al ejecutar el script como se ve en la imagen el sistema abre las ventanas de instalación que se ven a continuación


Al darle instalar el sistema te muestra la licencia para que la aceptes


Una vez la instalas el sistema te muestra el final del proceso y te dice si deseas desinstalar, así



hay le das cancelar y ya puedes ver dentro de las aplicaciones ya puedes ver instalado y listo el software para que lo uses, se ve así


Bueno entonces ahora voy a mostrar como crear un volumen cifrado a partir de un archivo y no de una partición como usualmente se muestra. Esto nos sirve para crear un archivo que se pueda guardar en dropbox con lo que desees cifrar en ella.

Al ejecutar el truecrypt se ve la siguiente ventana

Al darle create volume se inicia el siguiente proceso para crear el archivo cifrado


Tras el Next se ve lo siguiente


Tras el Next se ve lo siguiente


Tras dar Next se ve lo siguiente


Elijo cifrar con AES y el algoritmo de HASH escojo SHA-512. Tras dar Next se ve lo siguiente
Según tus necesidades puedes crear el archivo con el tamaño que requieras, yo lo cree solo de 256MB y tras dar next se ve los siguiente


Creas la contraseña que vas a usar para cifrar, te recomiendo que sea mayor de 20 caracteres, si no lo haces el sistema te dice que es posible romper tu contraseña con un ataque de fuerza bruta. Tras colocar la contraseña le das next y se ve lo siguiente


Como ves existen varios formatos que puedes usar, si solo vas a usar tu carpeta cifrada en sistemas Linux te recomiendo que uses EXT4 pero sino entonces deja el tipo FAT que te permite verlo en cualquier otro sistema operativo. Tras darle next se ve lo siguiente


Le das Format y el usando un pool radomico inicia el proceso de creación de archivo cifrado. 


Ya con esto tienes creado el volumen cifrado ahora lo debes montar. El proceso de montaje es el siguiente, se inicia en la misma ventana de truecrypt pero esta vez ya tienes un archivo que seleccionar para el montaje, por lo que se ve así


Seleccionas en cual de los 32 puntos de montaje de truecrypt quieres el archivo y le das montar, con lo que te pedira la contraseña como se ve a continuación


Para asegurarte que la escribiste bien el sistema te da la opción de verla en texto claro pero no lo dejes así, una vez le das aceptar el sistema (en Ubuntu) te pide que le des tu contraseña de administrador. Una vez pasa la confirmación de contraseñas se ve que ya se encuentra montada la partición así


Al darle doble click el sistema te abre el directorio montado como lo puedes ver a continuación


Bueno ya con esto en dropbox queda un archivo de 256MB que en cualquier equipo que tengas con truecrypt o usando el truecrypt portable vas a poder ver y manejar tu contenido pero que si alguien lo accesa ilegalmente por tu dropbox no te va a poder hacer nada con esto a menos que rompa el cifrado.

Espero que les sirva.

2011-07-08

Configurar una Conexión TOR

Las redes TOR son una agrupación de túneles virtuales en internet que permiten a un usuario conectarse a servicios y aplicaciones a través del anonimato que permite las conexiones que viajan a través de estos túneles.

Este proyecto se creo por la necesidad de que los desarrolladores pudieran realizar pruebas a las características de privacidad y respuesta de sus aplicaciones, sin embargo ha sido usado para fines no tan legales, ya que permite a un atacante asegurar el tan apreciado anonimato que ellos buscan o le permite a usuarios evitar algunos controles que se implementan en las organizaciones.

Buena explicando un brevemente que es una red TOR espero que la usen de forma responsable, ya el proceso de instalación es muy simple (como la mayoría de cosas en Linux). En Ubuntu 11,04 ya esta configurado el repositorio por lo que solo es dar el siguiente comando

root@localhost:~# apt-get install tor tor-geoipdb

Si no te la instala es solo adicionar a la lista de repositorios (/etc/apt/source.list) la siguiente linea

deb http://deb.torproject.org/torproject.org DIST main

La palabra DIST la debes cambiar por el nombre de tu distribución el cual lo puedes obtener con el comando

root@localhost:~# lsb_release -c


Ya con el repositorio configurado simplemente actualizas la base de datos de instaladores así

root@localhost:~# apt-get update

Bueno asumo que ya tienen instalado entonces vamos ahora a instalar un plugin en el navegador que nos permite conectarnos con la red TOR de una forma muy sencilla. Debes ingresar a aquí y seleccionas la versión estable, que se ve a continuación 


El te indica que vas a instalar un plugin que si lo deseas permitir y tras autorizarlo te muestra la siguiente ventana


Una vez que le das instalar el te pide que reinicies el navegador y te sale un icono al lado de la barra del navegador con una X roja  y que al darle click te da la siguientes opciones



Este es el símbolo de TOR así que cuando la quieras instalar es solo darle Cambiar estado de Tor, y cambia el icono así 





Como prueba que navegas anónimamente mira las siguientes pruebas




Bueno espero que lo uses responsablemente y que sea de utilidad

2011-06-27

Corrección de SQLMap en BT5

Haciendo pruebas con herramientas de SQL Injection en mi BackTrack 5 se me presentaba un error al intentar usar sqlmap, solo intentando actualizar la herramienta genera el error que se ve a continuación


Por lo que me puse a buscar como lo solucionaba y buscado me encontré un blog donde explicaban como usar la herramienta con las redes TOR, como se ve acá. Pero al final entregaban la URL que me hacia falta, ya que en los manuales de sqlmap indican que la corrección de errores se hacer con svn pero no tenia la URL.

Para ejecutar el comando deber estar en el directorio antes del sqlmap, así

root@bt:~# cd /pentest/web/scanners

Una vez en esa ubicación lo ejecutas así

root@bt:/pentest/web/scanners/# svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap

Lo que genera la siguiente salida

Esto realiza una carga y actualización de todo el sistema de sqlmap, una vez este termina se ejecuta nuevamente el update y como se puede ver esta vez fue satisfactorio


Ya saben que se puede hacer si se presentan errores en sqlmap. Esta herramienta es para usar con responsabilidad puede generar múltiples daños en las bases de datos de las aplicaciones que se analicen.