Unidad 2 : Extra : Instalando DVWA en kali linux — 1 octubre, 2015

Unidad 2 : Extra : Instalando DVWA en kali linux

Para esto necesitaremos kali linux obviamente en una máquina virtual, podemos descargar la máquina virtual desde aquí : https://download3.vmware.com/software/wkst/file/VMware-workstation-full-12.0.0-2985596.exe

Y luego necesitaremos de la ISO de kali linux e instalar kali linux, aquí no explicaré como se instala, pero les dejo un tutorial de como hacerlo : https://www.youtube.com/watch?v=vhx6KkL4HDM < — Vídeo tutorial. Iso de kali linux, en este caso necesitaremos de la de 32 bits, creo que la de 64 bits tiene algunos errores. —-> https://www.kali.org/downloads/

Paso 1 : Descargar DVWA

Ahora sí, luego de instalar kali linux, entraremos en esta página para descargar el paquete de instalación de DVWA : https://codeload.github.com/RandomStorm/DVWA/zip/v1.0.8

Una vez ya descargado, lo moveremos a nuestro escritorio, veremos que el nombre del archivo es este :

2

Paso 2 : Entrando al escritorio y descomprimiendo DVWA

abriremos una terminal y escribiremos este comando :

«cd Escritorio/» En el caso que lo hayan instalado en inglés deberán poner : «cd Desktop/»

1

Una vez dentro de ese directorio, recordemos que el cómando «cd» Es para llevarnos a un directorio o carpeta especifica …

Ejecutaremos este siguiente comando, que sirve para descomprimir un archivo .zip : «unzip DVWA-1.0.8.zip»

3

Y en cuestión de segundos veremos que el .zip se descomprimió y aquí tenemos el archivo en el escritorio :

45

Paso 3 : Renombrando la carpeta, verificando contenido y moviendola

Renombraremos este archivo y lo cambiaremos por : «DVWA» ejecutaremos el cómando mv : «mv DVWA-1.0.8 dvwa» Y le damos enter, veremos que la carpeta ha cambiado su nombre por : «dvwa»

6 7

Ahora debemos entrar a la carpeta de dvwa y ver su contenido, ejecutaremos primero el comando : «cd dvwa/» Y luego «ls»

8

Ahora en este punto debemos ejecutar el siguiente comando : «cd /var/www» y nuevamente «ls» Para ver su contenido.

9

Atención, antes debemos ir a dicha carpeta : «/var/www» Y borrar todo su contenido y solo dejar la carpeta «html» donde dentro también se aloja el archivo : «index.html» También debemos dejarlo. En mí caso solo esta la carpeta html porque yo ya lo he hecho.

Ahora debemos volver al escritorio y copiar la carpeta de dvwa a la ruta de /var/www/html ejecutaremos los siguientes comandos: «cd /root/Escritorio/»

«mv dvwa /var/www/html/»

10

Y comprobamos que se movió a la ruta que le indicamos.

11

Ahora nos meteremos en la carpeta de dvwa con el siguiente comando :

«cd /var/www/html» y luego «ls» para demostrar que estamos dentro de html y que allí se encuentra la carpeta : «dvwa»

12

Efectivamente podemos comprobar que esta allí.

Paso 4 : Dandole permisos a DVWA y configurando contraseña de panel.

Así que ahora ejecutaremos el siguiente comando :

«chmod -R 777 dvwa/» < — Este comando le da los permisos a esta carpeta. Ejecutaremos nuevamente el comando : «ls» Y podemos comprobar que la carpeta se puso de color verde.

13

Ahora tenemos que entrar a la carpeta de «dvwa» y ejecutar estos comandos :

«cd dvwa/»

«ls»

En este punto podemos ver que aparecen varias carpetas en color verde y vemos la carpeta : «config» Debemos acceder a ella con el siguiente comando :

«cd config/»

y luego le hacemos otro : «ls» Para ver su contenido.

14

Aquí observamos que el único archivo que existe en la carpeta «config» Es : «config.inc.php» Este es el archivo que debemos modificar para poder acceder al panel de dvwa, ejecutaremos el comando :

«nano config.inc.php»

15

Aquí se nos abrirá un editor de texto en la terminal, donde debemos buscar las lineas de usuario y contraseña :

16

Dejaremos la linea de password en blanco así :

17

Presionamos las teclas : CTRL+X y luego la tecla S. Así guardaremos los cambios. Cerramos la terminal y volvemos a abrir una nueva.

Paso 5 : Iniciando servicio de mysql

Aquí luego de dejar en blanco nuestra contraseña, deberemos en otra terminal escribir estos comandos :

«service mysql start» < — Para iniciar el proceso de mysql

«service mysql status» < — Para verificar sí el servicio esta corriendo

18

Podremos ver que aparece un circulo en verde, que significa que el servicio funciona correctamente.

Paso 6 : Creando base de datos y verificando su existencia

Ahora pasaremos a la creación de la base de datos, ejecutaremos el siguiente comando :

«mysql -u root -p» y nos pedirá que introduzcamos una contraseña, pero como nosotros la habíamos dejado en blanco, solo presionamos enter.

19

Una vez dentro del gestor de base de datos, ejecutaremos el siguiente comando para ver que bases de datos estan creadas en el sistema, los que esten familiarizados con sql les será familiar :

«show databases;» < — Y aquí veremos que nos encontramos con 3 bases de datos.

20

Nos ponemos a crear la base de datos de dvwa con el siguiente comando y luego verificaremos sí la ha creado :

«create database dvwa;» < — Para crear la base de datos.

«show databases;» < — Nuevamente, para verificar sí la creó.

Y sí, efectivamente la hemos creado.

21

Y ya podremos salir del gestor de base de datos con el comando : «exit»

Paso 7 : Iniciando servicio de apache2

Pondremos a correr el servicio de apache2 y verificaremos sí esta funcionando correctamente, con los siguientes comandos :

«service apache 2 start» < — Inicia el servicio.

«service apache2 status» < — Verifica su funcionamiento.

22

Y como podemos ver, nuevamente el circulo verde que indica que funciona correctamente el servicio.

Paso 8 : Redireccionando ip a nuestra base de datos para acceder al panel

Ejecutaremos un nuevo comando : » curl –data ‘create db=create+%2F+Reset+Database’ http://127.0.0.1/dvwa/setup.php# –cookie PHPSESSID=1«

23

Luego podremos abrir el navegador escribiendo : 127.0.0.1/dvwa y veremos que nos salta el cartel de login :

24

podremos iniciar usando la cuenta :

ID : admin

Password : password

¡Y listo DVWA instalado!

25

¡Saludos, espero que les haya servido! Me ha llevado bastante tiempito crear esta guía.

Unidad 2 : Tarea 1 : El gran tiburón … ¡Capturando el tráfico con wireshark! — 30 septiembre, 2015

Unidad 2 : Tarea 1 : El gran tiburón … ¡Capturando el tráfico con wireshark!

Primera parte : Analizando un protocolo inseguro – Telnet

En esta tarea no vamos a realizar capturas en vivo de tráfico, sino que vamos a analizar trazas (capturas) ya realizadas con anterioridad y salvadas en archivos. En este caso, vamos a usar la traza telnet-raw.pcap, (Cliquear para descargar) del repositorio de capturas disponible en Wireshark.

Descárgate la traza en tú computadora y abrila con el programa WireShark. Esta traza ha capturado el tráfico de una sesión de Telnet entre el cliente y el servidor.

Un consejo: para observar mejor el tráfico de telnet, podes usar un filtro muy sencillo de visualización, como podes ver en la imagen, recuerden que yo utilizo kali linux por lo tanto el uso de wireshark es distinto al de windows, aunque bajando la traza llamada : «telnet-raw.pcap» al hacerle doble click, wireshark abre automáticamente:

1

Ahora debemos saber : ¿Qué usuario y contraseñas se usaron para acceder al servidor de telnet?

¿Qué sistema operativo corre en la máquina?

¿Qué comandos fueron utilizados en esta sesión?

Entonces lo que haremos es lo siguiente, presionar el click derecho en una de las tramas y seleccionamos : «Follow TCP stream» como se puede apreciar en la imagén :

 2

Y luego aparecerá una ventanita que contiene toda la información del tráfico, con esto podemos averiguar que usuario y contraseña se utilizó, que sistema operativo corre en la máquina y que comandos fueron usados en la sesión.

3

Usuario : ffaakkee
Contraseña : user

Sistema operativo : OpenBSD 2.6-beta

Comandos utilizados :

ls

ls -a

ping

exit

Segunda parte : Analizando SSL

Nuevamente volvemos a analizar, pero esta vez el protocolo SSL es un protocolo seguro que utilizan otros protocolos de aplicación como HTTP. Usa certificados digitales X.509 para asegurar la conexión.

Para la realización de este ejercicio, descarga esta traza con tráfico SSL y abrela con Wireshark. SSL es un protocolo seguro que utilizan otros protocolos de aplicación como HTTP. Usa certificados digitales X.509 para asegurar la conexión.

Ahora debemos de saber :

¿Podes identificar en qué paquete de la trama el servidor envía el certificado?

¿El certificado va en claro o está cifrado?

¿Podes ver, por ejemplo, qué autoridad ha emitido el certificado?¿Qué asegura el certificado, la identidad del servidor o del cliente?

4

Entonces para lo primero debemos identificar en que paquete de la trama el servidor envía el certificado, podemos ver qué esta en la segunda trama :

5

Y vemos que el certificado se ha enviado : «Certificate (id-at-commonName=login.passport.com,id-at-organizationalUnitName=Terms of use athttp://www.verisign.com/r,id-at-organizationalUnitName=MSNPassport,id-at-organizationName=Microsoft,id-at-localityName=Redmond,id-at-stateOrProvinceNam ssl.handshake.certificate»

6

Podemos apreciar que el certificado esta en partes claras y partes cifradas, donde observamos también en la imagén de arriba, que verisign ha emitido el certificado.

Y el certificado asegura la identidad del servidor y no del cliente, al estar hablando de la compania verisign.

Tercera parte : Analizando SSH.

En la primera parte de este ejercicio hemos visto un protocolo no seguro, como Telnet. Una alternativa a usar Telnet a la hora de conectarnos a máquinas remotas es SSH, que realiza una negociación previa al intercambio de datos de usuario. A partir de esta negociación, el tráfico viaja cifrado. Descarga esta traza con tráfico SSH y abrila con Wireshark.

Ahora en este punto lo que debemos averiguar es esto :

¿Podes ver a partir de qué paquete comienza el tráfico cifrado?

¿Qué protocolos viajan cifrados, todos (IP, TCP…) o alguno en particular?

¿Es posible ver alguna información de usuario como contraseñas de acceso?

Abrimos la traza de tráfico SSH y podemos filtrar poniendo : «SSH» lo que nos muestra que a partir del paquete número 20 comienza el tráfico cifrado :

7

Luego podemos ver que protocolos están viajando por los paquetes, lo único que podemos apreciar es que viaja en SSHv2.

Para la última pregunta, al estar encriptados los paquetes, no es posible obtener información de contaseñas de acceso.

¡Saludos y espero qué le haya servido!

Unidad 1 : TAREA 3: ¡Bendita criptografía! —

Unidad 1 : TAREA 3: ¡Bendita criptografía!

¡Hola a todos! En esta nueva entrada les vengo a traer el 3er ejercicio del curso de hacking ético, donde vamos a adentrarnos un poco en la llamada : «Criptografía» Es un nombre que transmite miedo, pero no se dejen engañar es más fácil de lo que creen. ¡Así que vamos con el ejercicio!

En esta ocación, yo seguiré usando el sistema kali linux, cabe acotar que durante todo el curso por mí parte lo voy a usar.

1)  Al principio se nos pide generar un nuevo par de claves (pública y privada) por lo que vamos a ir a la terminal, esto funciona en todos los linux, no solo kali linux y escribimos lo siguiente tal y como esta en la imagén :

«gpg –gen-key» Y le damos enter.

1

Luego nos aparecerá algo como esto, por lo que nosotros elegiremos el (1) DSA y ElGamal (Por defecto) :

2

Luego vemos que dice : «Las claves RSA pueden tener entre 1024 y 4096 bytes de longitud» Pero lo recomendado es (2048) Por lo que introduciremos eso y le damos enter.

3

Navegando un poquito más para abajo nos pide que especifiquemos el periodo de validez de la clave, ósea hasta cuanto de vida le daremos. Yo voy a poner que dure dos años, para ello use el comando : «2y» Y le damos enter.

En caso de que en este punto nos diga : «¿Es correcto? s/n?» Presionamos «S» y enter de nuevo.

4

¡Ya casi llegamos al final, no desesperen! Ya en este punto, nos pide que a nuestra clave pública le demos un nombre y apellido en este caso son : «NombreDe Prueba» una dirección de correo electronico : «nomercydmn@gmail.com» y un comentario : «Clave pública» Y le damos enter.

En caso de que nos aparezca, que estoy seguro que pasará un mensaje como este : «¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? Apretamos la letra : «V» y enter de nuevo.

5

Llegando al final, nos pedirá que introduzcamos una clave privada que tenemos que tener mucho cuidado de no perderla para luego poder cifrar nuestros archivos y le damos enter, el campo se mantendrá invisible mientras escriben, así que no se alarmen sí no ven los famosos asteriscos que reemplazan a las contraseñas a medida se van escribiendo y luego nos pide que la volvamos a escribir para verificar y le damos enter nuevamente.

6

Ya llegamos al final, ahora solo tenemos que esperar que carguen los bytes para que se genere la clave pública, pero hay un problema, tenemos que escribir en otra terminal muchos caracteres ir escribiendo cualquier cosa, o mover el mouse repetidamente o hacer uso de la red entrando a facebook u otra página, para que se puedan cargar los bytes aleatorios, sí no jamás cargarán.

7

Y veremos que nuestra clave pública ya se generó. «14764213»

8

2)¿Pero y ahora qué sigue? Ahora necesitamos el archivo de la clave pública. Por lo que en la misma terminal escribiremos este comando para exportar la clave pública. «gpg -a –export 14764213 > clavepublica.asc»

9

¿Por qué ponemos 14764213? Es el número de nuestra llave publica.

Y listo, veremos que nuestro archivo aparecerá así en «Carpeta personal»

10

3) Debemos compartir nuestra clave pública con otra persona y obtener su clave pública también. Como yo lo estoy haciendo solo sin equipo, creare otra clave pública y cifraré otro archivo como sí fuera otra persona, simplemente siguiendo todos los pasos como hicimos nuevamente, desde otra terminal.

4) Ahora importaremos la clave pública de nuestro compañero en mí caso otra clave que yo he creado, con el comando : «gpg –import clavepublica2.asc» Le damos enter y veremos la información que contiene la clave pública de nuestro compañero, como su nombre y apellido y su correo electronico.

11

5) Luego de importar la clave pública de nuestro compañero debemos crear un archivo .txt o podemos cifrar cualquier tipo de archivo por ejemplo un .pdf sí queremos crear un .txt debemos usar este comando :

«echo este es el mensaje que esta dentro del archivo que cifraremos > mensaje.txt»

Y nuevamente el archivo creado aparecerá en : «Carpeta personal» Junto con el archivo de nuestra clave pública.

12

Y ahora podemos pasar a cifrar ese archivo con el comando : «gpg –recipient 14764213 -a –sign –encrypt mensaje.txt» Y nos pedirá que usemos la clave privada que creamos al principio.

13

Y listo, tenemos nuestra clave pública y nuestro archivo cifrado listo para enviarlo a nuestro compañero.

14

6) Enviaremos el archivo cifrado a nuestro compañero y recibiremos el suyo.

7) ¡Ahora el final! Descifraremos el archivo que nos envió nuestro compañero usando nuestra clave privada, el proceso verificará la firma. En mí caso usare mí propia clave como sí fuera de otra persona.

Usando el comando : «gpg –decrypt mensaje.txt.asc > mensaje.txt»

15

Listo, ya hemos descifrado el archivo de nuestro compañero y acá vemos el : «Mensaje.txt» Y al abrirlo, veremos el contenido.

16

¡Saludos, espero que les haya servido para aclarar dudas y hasta el próximo ejercicio!

Unidad 2 : TAREA 2: Búsqueda y puesta en común de recursos — 23 septiembre, 2015

Unidad 2 : TAREA 2: Búsqueda y puesta en común de recursos

Underc0de: Los que conocemos este foro, sabemos que tan bueno es, por mí parte es uno de los mejores. Sin sacarle el puesto a los otros que he puesto, están muy nivelados en información los 3.

https://underc0de.org/foro/

Un informatico en el lado del mal : Digamos que es un blog personal, sobre un hacker español que tiene grandes conocimientos sobre hacking ético y pentesting, bastante interesante, sobre todo porque una vez a la semana pública un articulo nuevo enseñando tecnicas de pentesting u hacking ético.

http://www.elladodelmal.com/

El hacker : Otro interesantisimo foro repleto de información, no solo sobre hacking ético y seguridad informatica, sí no también en programación y cracking.

http://foro.elhacker.net

Unidad 1 : Tarea 1 : Herramientas básicas para obtener información de servidores externos — 22 septiembre, 2015

Unidad 1 : Tarea 1 : Herramientas básicas para obtener información de servidores externos

    1. Ping: Utiliza la herramienta ping desde la terminal de tu ordenador para comprobar si están disponibles los siguientes hosts:

    1

  1. . Whois: Busca información sobre el dominio que estás investigando. Encuentra la persona que figura como contacto técnico y como contacto administrativo. Esta información puede servir a un hacker para contactar directamente con las personas adecuadas dentro de la empresa. Gracias a whois podemos obtener información sobre el propietario de un dominio a través de la dirección IP del mismo.2
  2. Nmap : Esta aplicación se utiliza para conocer los puertos que están abiertos en un servidor y el sistema operativo y las aplicaciones que están corriendo en él. Está disponible para su descarga e instalación en nmap.org. La utilización de esta aplicación no es trivial ni intuitiva, nos enlazamos dos tutoriales para que podáis ver las posibilidades que tiene. Recordar: son hackers éticos, no unos villanos cualquiera. ¡Utilízala con moderación!3

Con este simple scan al host scanme.nmap.org podemos observar que:

  1. El puerto 22 (servicio SSH) está abierto – Estado open (Hay un servicio escuchando en ese puerto)
  2. El puerto 80 (servicio HTTP) está abierto – Estado open (Hay un servicio escuchando en ese puerto)
  3. El puerto 514 (servicio SHELL) está filtrado – Estado filtered (Estado no establecido, posible tipo de filtro, ¿Presencia de cortafuegos?)

El puerto 9929 (servicio NPING-ECHO) está abierto – Estado open (Hay un servicio escuchando en ese puerto)

«nmap -sV google.com» La salida de ejecutar este comando será un listado de los puertos abiertos del sitio, además de información adicional acerca de la versión del servicio que se está ejecutando en cada puerto.

4

Scaneando solo el host para descubrir su sistema operativo usaremos el comando : «nmap -O google.com» Como podemos ver, el comando nos devolvió que el sistema es linux.

5

Existe un modo de escaneo, denominado agresivo, que ya incluye un descubrimiento de versiones (-sV), de sistema operativo (-O) y además incluye un trazado de ruta, denominado traceroute (–traceroute). El parámetro para lanzar un escaneo agresivo es -A:

«nmap -A scanme.nmap.org»

6

Otra utilidad muy interesante es la de descubrir mediante ARP la existencia de host en la red. Para ello se utiliza el parámetro -sP junto a la red en formato CIDR que queramos escanear.

«nmap -sP google.com»

7

En mí caso, para analizar las vulnerabilidades de una página web para futuros ataques, útilizo : «VEGA» un programa que ya viene pre-instalado en el nuevo kali linux 2.0. Como podemos ver, la página : http://www.euskalert.net Es vulnerable a (2) ataques en sql-injection, que es uno de los ataques más peligrosos y efectivos.

8