sábado, 30 de noviembre de 2013

Secunia PSI

Secunia PSI es un programa para ayudarnos a tener nuestro PC totalmente actualizado, y así tener menos vulnerabilidades. ¿De qué nos sirve esto? Pues ya vimos con la entrada Usando Meterpreter contra máquina Windows de que para cualquier vulnerabilidad puede existir un exploit para explotarla y lanzar unos payload para hacernos con el control de la máquina, robo de contraseñas, etc... Lo que esta herramienta hace es comprobar si nuestras aplicaciones instaladas se encuentran en la última version disponible,, además nos dá un porcentaje que indica como de actualizado tenemos nuestro PC. También tenemos la posiblidad de que Secunia PSI nos actualice las aplicaciones que no lo están (normalmente no todas las aplicaciones las puede actualizar por si mismo, sino que tendremos que realizarlo a mano.

jueves, 28 de noviembre de 2013

ARPWATCH

En una entrada anterior hablamos de como realizar un Man-in-the-Middle via Arp-Spoofing, pues en esta entrada vamos a hablar de cómo se detectan este tipo de ataques usando una sencilla herramienta: Arpwatch.

Como se trata de un programa para SO Linux, para instalarla usamos # apt-get install arpwatch. Una vez instalado, para indicarle que vigile nuestra red, nos vamos al archivo de configuración, que se encuentra en /etc/arpwatch.conf y le añadimos una línea dentro del fichero con eth0 -a -n 192.168.1.0/24 (esto sería un ejemplo de una red convencional). Una vez que está configurado, querremos que nos envíe las alertas, para ello tenemos varias formas. La manera más cómoda de recibir las alertas es por e-mail, así que lo configuraremos para que nos mande un mail, esto lo hacemos modificando el fichero /etc/arpwatch.conf añadiendo a la ínea anterior -m y direccion de correo: eth0 -a -n 192.168.1.0/24 -m admin@lahackcueva.com.

jueves, 21 de noviembre de 2013

/PROC

Es un directorio que es encuentra en los sistemas Unix contenido en /, es decir, en el raíz. Este directorio contiene una jerarquía de archivos especiales que representan el estado actual del kernel, permitiendo a las aplicaciones y usuarios visualizarlo. Dentro de él, se puede encontrar una gran cantidad de información con detalles sobre el hardware del sistema y cualquier proceso que se esté ejecutando actualmente. Estos archivos no son ni binarios ni textos, sino que son de un tipo llamado archivo virtual. Estos archivos virtuales poseen cualidades únicas con respecto a otros tipos de archivos. En primer lugar, la mayoría de ellos tienen un tamaño de 0 bytes, es como si no existiesen. Sin embargo, cuando se visualiza el archivo, éste puede contener una gran cantidad de información. Además, la mayoría de configuraciones del tiempo y las fechas reflejan el tiempo y fecha real , tienen una marca de tiempo (timestamp) actual, lo que indica que están constantemente siendo actualizados o modificados. Además esto de que ocupan 0 Bytes es debido a que realmente no existen en disco, sino que el sistema operativo los crea al instante si tratas de leerlos.

Estudiando el directorio /proc, puedes aprender como los comandos de Linux trabajan e incluso es posible realizar tareas administrativas. Por ejemplo, mediante el uso de comandos como cat junto con los archivos de dentro del directorio /proc, los usuarios pueden inmediatamente acceder una cantidad enorme de información acerca del sistema. Por ejemplo, para desplegar el tipo de CPU que tiene un equipo usamos $ cat /proc/cpuinfo.
               
Otros archivos virtuales tales como /proc/interrupts, /proc/meminfo, /proc/mounts, y /proc/partitions proporcionan una vista rápida actualizada del hardware del sistema, como estado de los montajes, particiones existentes,.... Otros, como /proc/filesystems y el directorio /proc/sys, proveen información de configuración del sistema e interfaces. También aparecen directorios  o archivos con números, que son los que corresponden a cada proceso en ejecución.

Estos ejemplos últimos son muy útiles si se estudian detenidamente y si conoces lo que en ellos la información que se encuentra. Configurando estos archivos de buena forma, se puede obtener una mejora de rendimiento de Linux bastante buena.


Además los archivos que contienen información sobre un tema similar se agrupan en directorios virtuales y sub-directorios. Por ejemplo, /proc/ide/ contiene información sobre los dispositivos IDE, esto se debe a cuestiones organizativas. Ademas El directorio /proc en sí. mismo es creado cada vez que arrancas tu equipo. Se requiere ser root para poder examinar completamente el directorio en su totalidad.

miércoles, 20 de noviembre de 2013

Tutorial para descifrar contraseña WiFi

Para descifrar una clave Wi-Fi necesitamos algún programa para ello, vamos a usar wifite, que se puede encontrar en Kali Linux, basta con descargar la ISO de este en su web y arrancar el PC desde la imagen (ya sea quemando la ISO en un DVD o arrancando desde USB).

Una vez arrancado Kali, abrimos una terminal, en ella escribimos # wifite -wep y nos mostrará una lista de todas las redes Wi-Fi con contraseña WEP que tengamos a nuestro alcance (para ver otras redes, por ejemplo WPA/WPA2, indicaremos -wpa, todo las opciones se puede ver ejecutando # wifite).

Cuando tengamos la lista y tengamos decidido que red atacar, elegimos el número que le precede, a partir de aquí wifite empezará a trabajar y en unos minutos nos mostrará la contraseña de la red.

viernes, 15 de noviembre de 2013

Hacer Man-in-the-Middle con ettercap

Para esta práctica usaremos ettercap, esta herramienta nos va a permitir realizar un ataque Man-in-the-Middle o MitM. Decir que ettercap está disponible para Linux, el cual podemos instalar con # apt-get install ettercap, (en Kali Linux está incluida esta herramienta). Para iniciarlo en modo gráfico ponemos en la terminal: # ettercap -G.



Lo primero que tenemos que tener en cuenta es que el ataque lo realizaremos a otro objetivo dentro de nuestra red, así que una vez que estamos situado en dicha red ya podemos empezar. Para comenzar elegimos Sniff --> unified sniffing, y elegimos nuestra interfaz, luego escaneamos la red en busca de equipos Host -->Scan for Host¡, una vez acabado listamos los equipos encontrados Host --> Host List.

Antes de nada explicaré la técnica que usaremos, ARP Spoofing, consiste en envenenar la cache ARP de un cliente de la red (la víctima) para hacerle creer que la MAC de la puerta de enlace o router que use para navegar es la dirección MAC de nuestro equipo (el equipo atacante), pudiéndonos situar de este modo nuestra máquina en medio de las comunicaciones realizadas entre la víctima y el router o puerta de enlace.

Una vez dicho esto, tenemos que elegir quien será el Target 1 y el Target 2 (los objetivos), eligiremos como he dicho antes, la IP del equipo de la víctima y la IP de la puerta de enlace, no importa el orden. Seguidamente lanzaremos el veneno, Mitm --> Arp poisoning , y empezamos a esnifar la red, Start --> Start sniffing.

El objetivo de esta práctica es hacer un MitM, por lo pronto, gracias a que ettercap es un sniffer, con esto que he hecho podemos pillar alguna contraseña que la víctima introduzca mientras se este llevando a cabo el ataque. Luego en otra futura entrada explicaré como nos puede ser útil este MitM, enlazándolo con otras cosas, como por ejemplo con una clonación de sitio web y a su vez usando un plugin de ettercap para interferir en el DNS de la víctima, para que lo lleve a nuestra web clonada y así conseguir datos,

martes, 12 de noviembre de 2013

Criptografía Asimétrica: usando GCG

Cuando hablamos de criptografía asimétrica  lo primero que hay que tener claro es que existen dos tipos de claves, una privada (solo conocida por el propietario, obligatoriamente intransferible) y otra pública (conocida por todos). 

En esta práctica lo que vamos a hacer es encriptar un archivo para pasárselo a un compañero y que este lo desencripte, para ello necesitamos la clave pública de nuestro compañero, la usaremos para encriptar el archivo.

Lo primero que explicaré es como crear una clave privada y otra pública. Para ello escribimos en la terminal de Ubuntu: $ gpg --gen-key . Nos pedirá varias cosas, seleccionamos lo siguiente: (1) RSA y RSA, 1024, 0, damos nombre y apellido, un e-mail, un comentario y la contraseña. Ya tenemos creada nuestra clave. Para ver las claves que tenemos usamos: $ gpg --list-keys (para las públicas) y $ gpg
--list-secret-keys (para las privadas). Para exportarlas usamos: $ gpg --armor --output fichero_destino.pub --export ClaveID (para la pública) y $ gpg --armor --output fichero_destino.pri --export-secret-key ClaveID (para la privada). La ClaveID es el número identificativo de nuestra clave (ver imagen de abajo). Nuesto compañero tendrá que exportar su clave pública y pasárnosla para poder encriptar con ella.



Para importar la clave de nuestro compañero en nuestra máquina usamos: $ gpg --import franjjg.pub. A continuación listamos todas nuestras claves públicas para ver que se ha importado.


Una vez que ya tenemos su clave pública ya podemos encriptar un archivo, para ello usamos: $ gpg -- output file.txt.gpg --encrypt --recipient franjjg@gmail.com file.txt


Ya solo nos toca pasarle a nuestro compañero este archivo file.txt.gpg y ya lo podrá desencriptar teniendo sus claves usando: $ gpg --output file.txt --decrypt file.txt.gpg

Como curiosidad, si abrimos el fichero encriptado nos mostrará esto:









lunes, 4 de noviembre de 2013

Transferencia de zona

Una transferencia de zona es el proceso por el cual se copia el contenido de un archivo de zona DNS de un servidor DNS principal a un servidor DNS secundario. Esto en la mayoría de servidores está configurado para que nadie que no sea el servidor DNS secundario la pueda conseguir, pero existen algunos servidores que no están bien configurados (exactamente no es que no esté bien configurado, sino que no está configurado seguramente, son cosas muy distintas), más adelante en otra entrada explicaré como configurar esto en un servidor DNS.

Pues gracias a unos comandos podemos forzar una transferencia de zona y que nos llegue a nosotros, algunos os preguntaréis que tiene esto de interesante, pues muy fácil, el resultado de forzar la transferencia de zona es una lista de todos los equipos de la red junto con su IP, así que con esto podemos saber como es la topología de la red en cuestión.

En la consola de Windows utilizamos lo siguiente:

> nslookup
     > set type=ns
     > Introducir dominio víctima (Nos devolverá los servidores DNS que existen)
     > server servidorDNS
     > set type=all
     > ls servidorDNS

Ejemplo: