SlideShare una empresa de Scribd logo
Universidad Tecnológica de Panamá
Facultad de Ingeniería de Sistemas Computacionales
Maestría en Seguridad Informática
Sistemas de Seguridad II
Laboratorio #3 – CIFRADO CRIPTOGRAFÍA
Profesor: Leandro Espinoza
Integrantes:
Montenegro, Jesús / Céd.: 8-843-89
Moreno, José / Céd.: 8-794-402
Muñoz, Andrea / Céd.: 8-850-2239
Rodríguez, Carlos / Céd.: 8-814-1930
Viernes, 18 de septiembre de 2015
Desarrollo del laboratorio
A continuación detallamos los pasos para el desarrollo del laboratorio:
1 – Instalación de DEBIAN 8 (32 bits)
Se coloca en el virtual box la siguiente configuración para entonces comenzar con la
instalación de los componentes de DEBIAN 8.
Nombre de la máquina DEBIANHTTPS
Memoria Asignada 1024 MB
Tamaño 8 GB
Consumo de procesador 75%
Red (adaptador 1) Adaptador Puente (wlan0)
Figura # 01 – Configuración para instalar DEBIAN 8
Durante la instalación de DEBIAN 8 los datos de la máquina son los siguientes:
Hostname debian
Domain name (en blanco)
Root password *********
User Name Carlos Manuel Rodriguez
Account user name carlos
Account user password ****************
Uso de Partición Usar todo el volumen lógico
Software Selection • Web Server
• SSH Server
• Standar System Utilities
Figura #02 – Selección de Software a instalar
Para el laboratorio solo era necesario el Servidor SSH para ejecutar comandos desde la
terminal de nuestra máquina física o putty si fuese el caso de Windows.
También el servidor web que es lo necesario para el alojamiento de nuestra página y para la
prueba con Caín y Abel.
A continuación se procede a la máquina virtual DEBIAN para ingresar y realizar algunas
configuraciones iniciales.
2 – Preparación del servidor web DEBIAN
Lo primero es ingresar con el usuario que creamos en la instalación anterior. Seguido se
ingresa como superusuario.
Figura # 03 – Ingreso al servidor DEBIAN
Figura # 04 – Verificación del IP del servidor con el comando ifconfig
Ahora nos conectamos por medio de SSH al servidor desde una terminal de nuestra maquina
física con el comando ssh carlos@192.168.0.230 . Luego se ingresa como superusuario.
IP: 192.168.0.230
Figura # 05 – Conexión al servidor por SSH
Lo siguiente es actualizar DEBIAN, pero para prevenir errores durante la actualización hay
que editar un archivo de configuración en la ruta /etc/apt/sources.list. Las 2 primeras
lineas donde se ve la palabra mirror y las 2 siguientes donde se ve la palabra security.
Entramos introduciendo: vi /etc/apt/sources.list
Figura # 06 – Edición del archivo sources.list (Editor vi)
Luego de haber hecho esto, podemos proceder con la actualización. Para actualizar
escribimos el comando:
apt-get update
seguido del comando apt-get upgrade
Figura # 07 – Actualización de DEBIAN
Figura # 08 – Actualización de los componentes de DEBIAN
3 – Instalación de aplicaciones necesarias en el servidor DEBIAN
Ahora procedemos a la instalación de las aplicaciones que necesitamos para tener una
pagina web conectada a una base de datos.
3.1 – Instalación de los paquetes de Apache 2
Se instalan con la siguiente instrucción: apt-get install apache2
3.2 – Instalación de MySQL server
Para instalar MySQL desde el terminal por conexión ssh, debemos escribir la siguiente
instrucción, para que se descarguen e instalen los paquetes de MySQL:
apt-get install mysql-server
Figura # 09 – Instalación de paquetes MySQL.
3.3 – Instalación de PHP
Ahora se procede a instalar de los paquetes php a través de SSH, con la siguiente
instrucción:
apt-get install php5 php-pear libapache2-mod-php5
Y los módulos de PHP se instalan con la siguiente instrucción:
apt-get install php5-mysql php5-gd
Figura # 10 – Instalación de php
Con estos elementos instalados podemos verificar aprovechando que tenemos la terminal
abierta, la versión de OpenSSL del servidor, con la instrucción openSSL version.
Figura # 11 – Versión de openSSL instaladas en el servidor
Ahora necesitamos desconectar la terminal del servidor, colocando el comando exit para salir
de sesión superusuario y nuevamente exit para salir de la sesión del usuario
(desconectar).
Figura # 12 – Desconexión SSH del servidor
3.4 – Descomprimir los paquetes Joomla en el servidor
Estos paquetes son necesarios para la pagina web que construimos, así que para que el
servidor le de uso, los pasaremos por sftp para luego descomprimirlos. A continuación
mostramos los pasos.
A – Abrir la conexión SFTP con el comando: sftp carlos@192.168.0.230
B – Pasar el archivo que esta en el escritorio de nuestra maquina física a la carpeta home del
servidor con el comando: put /home/crodriguez/Escritorio/Joomla_3.4.4-Stable-
Full_Package.zip /home/carlos.
Figura # 13 – Paso de paquetes Joomla por SFTP.
Salimos del SFT con el comando exit y procedemos a abrir nuevamente una conexión SSH
para escribir comandos al servidor con el comando ssh carlos@192.168.0.230.
Figura # 14 – Salir de SFTP y conectarse al server por SSH
Luego ingresamos como superusuario y copiamos el archivo transferido anteriormente a la
carpeta /var/www/html con el comando:
cp Joomla_3.4.4-Stable-Full_Package.zip /var/www/html
Figura # 15 – Copiando los paquetes Joomla
En esta carpeta el dominio de estos archivos lo tiene el usuario actual (root), y necesitamos
que el usuario de los paquetes web (www-data) se encargue de estos paquetes ahora, por lo
que escribimos el siguiente comando para que eso suceda:
chown www-data:www-data /var/www/html
Figura # 16 – Cambiar el dominio de la carpeta /var/www/html del usuario root a www-data
3.5 – Crear una base de datos de uso para nuestro sitio web
Para crear una base de datos por medio de comandos se sigue las siguientes instrucciones:
a-Ingresar a MySQL con: mysql -uroot -pcarrod1904mysql
b-Crear una base de datos con el comando: create database seguridad2;
c-Salir de MySQL con: exit.
d-Eliminamos el archivo index.html para descartar errores al generar la pagina web con:
rm -rf-index.html
Figura # 17 – Creación de una base de datos para la pagina web
3.6 – Configuración de la página web
Ahora colocando la dirección IP del servidor en la barra de búsqueda accedemos a la
configuración Joomla de nuestra página, donde hay 4 pestañas que debemos llenar.
Figura # 18 – Configuración Joomla
Luego que llenamos todo, al final nos generara un pequeño codigo en un cuadro de texto que
debemos copiar:
Figura # 19 – En la parte baja de esta pagina debe estar el código a copiar.
Lo que sigue es, volver al terminal, reiniciar los servicios de apache y editar el archivo de
configuración pegando el texto generado de la configuración de página web anterior:
Reiniciar apache: service apache2 restart
Abrir archivo de configuración y pegar texto copiado: vi configuration.php
Eliminar archivo de instalación para descartar errores: rm -rf installation
Figura # 20 – Edición del archivo de configuración.
Figura # 21 – Edición y pegado de archivo de configuración.
Hecho los pasos descritos anteriormente podemos recargar la pagina web y tendrá el
aspecto que tenemos en la Figura # 22.
Figura # 22 – Joomla Configurado
4 – Generación de llave pública
Para la generación de la llave pública necesitamos estar en la terminal e ingresar con el
superusuario root. Y ahora escribimos lo siguiente en el terminal:
openssl genrsa -out 192.168.0.230.key 4096
Figura # 23 – Generación de la llave del certificado
4.1 – Generación del certificados
Luego de la generación de la llave ahora se necesita generar el certificado, lo cual podemos
hacer escribiendo el siguiente comando en la terminal:
openssl req -new -key 192.168.0.230.key -out 192.168.0.230.csr
Luego de escribir esta linea en la terminal, se requiere que llenemos ciertos parámetros
concernientes al certificado, como se muestra a continuación:
Parámetro Valor
Código de País (2 letras) PA
Provincia Panamá
Ciudad Panamá
Nombre de organización Maestría Seguridad
Unidad Organizacional CSO
Nombre de Servidor (IP) 192.168.0.230
Correo Electrónico crodriguez@seguridad2.com
Contraseña *************
Figura # 24 – Configuración del certificado
Es importante remarcar que varios de estos parámetros deben coincidir con los que
colocamos en la configuración de nuestra página web, para que la información sea
congruente y evitar la confusión con las configuraciones realizadas.
4.2 - Generación de las huellas digitales del certificados
Para aplicar la firma al certificado, se debe aplicar la siguiente linea en la terminal
openssl x509 -req -days 365 -in 192.168.0.230.csr -signkey
192.168.0.230.key -out 192.168.0.230.crt
Figura # 25 – Firma del certificado
4.3 – Aplicación de la configuración SSL a Apache
Para ello debemos mover los archivos recién creados de la llave, el certificado y la firma.
Luego se activa el modulo SSL de Apache y se reinicia los servicios de Apache. Esto lo
logramos aplicando las siguientes lineas en la terminal.
mv 192.168.0.230.csr /etc/ssl/certs
mv 192.168.0.230.key /etc/ssl/certs
mv 192.168.0.230.crt /etc/ssl/private
a2enmod ssl
a2ensite default-ssl
service apache2 restart
Figura # 26 – Aplicación de configuración SSL a apache
4.4 – Configuración del archivo default-ssl.conf
Recordando que las carpetas Linux de la distribución que estemos usando viene con
elementos 'default', aun falta mas cosas que configurar para que la página web funcione
correctamente con el certificado creado. Se abre el archivo con la siguiente instrucción:
vi /etc/apache2/sites-enabled/default-ssl.conf
Hay que configurar el archivo defaul-ssl.conf dividiendo el archivo en párrafos y líneas lo que
hay que editar es lo siguiente (campos azules):
- Párrafo 1, línea 2 – 5
<VirtualHost 192.168.0.230:443>
ServerAdmin crodriguez@seguridad2.com
ServerName 192.168.0.230:443
DocumentReboot /var/www/html
- Párrafo 6, líneas 6-7
SSLCertificateFile /etc/ssl/certs/192.168.0.230.crt
SSLCertificateKeyFile /etc/ssl/private/192.168.0.230.key
Figura # 27 – Modificación de archivo default-ssl.conf
Luego debemos recargar y reiniciar APACHE con:
service apache reload
service apache restart
Con esta configuración nuestra página web es capaz de responder por HTTP o HTTPS, si
embargo por default, seguirá respondiendo por HTTP.
A continuación haremos que la página web sólo responda por HTTPS modificando el archivo
htaccess.txt
Figura # 28 – Agregar certificado a nuestra página web
El archivo htaccess.txt se encuentra en la siguiente ruta:
vi /var/www/html/htaccess.txt
Si embargo lo que tenemos que hacer es copiar este archivo como contenido a un archivo
que nombraremos .htaccess.
El archivo htaccess.txt está dominado por el usuario www-data, sin embargo cuando
copiamos el archivo a .htaccess el nuevo usuario dominante del archivo es root.
Figura # 29 – Copia del archivo htaccess.txt y sus usuarios apoderados
Debemos editar el archivo .htaccess, pero antes editamos otro archivo con un cambio simple.
Ese archivo es el configuration.php, que obtuvimos luego de llenar los parámetros al llenar la
web con la configuración Joomla. Usamos el comando:
vi configuration.php
Se busca la linea que dice $live_site y llenar de la siguiente manera:
var $live_site = 'https://192.168.0.230';
Figura # 30 – Editando el archivo configuration.php
Seguido editamos el .htaccess con: vi .htaccess
Tenemos que editar las siguientes líneas para que la pagina responda con HTTPS.
RewriteEngine On
RewriteCond %{HTTPS} OFF
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Figura # 31 – Edición del archivo .htaccess
A continuación nos vamos a nuestra página web para hacer unas configuraciones dentro de
la administración de la página.
Para ello nos vamos al menú del sistemas y elegimos la opción “Configuración Global”
Figura # 32 – Edición de configuración de la pagina web
Figura # 33 – Principales configuraciones de la página
Ahora podemos recargar la página y verificar la carga por HTTPS y ver el certificado
generado.
Figura # 34 – Certificado de nuestra página
5 – Ataque con Cain y Abel
Similar al laboratorio anterior, vamos a preparar un ataque a nuestra web HTTPS con Cain y
Abel y continuación describimos las IP de los equipos que se sniffean como muestra la figura
a continuación:
Las IP 192.168.0.230 y 192.168.0.241 son ambos servidores de una pagina https
configuradas de manera similar por maquinas virtuales en diferentes maquinas físicas, los
cuales son los servidores de prueba para atacar con Caín y Abel.
La maquina virtual con Windows 7 que tiene Cain y Abel es la 192.168.0.105 y el resto
pertenece al router y maquinas físicas.
Figura # 35 – Máquinas virtuales preparadas para la prueba
A continuación elegimos las maquinas atacante (192.168.0.105) y el servidor atacado
(192.168.0.230)
Figura # 36 – Eligiendo máquinas para la prueba
Luego de elegidas las maquinas, se procede a presionar el botón de ARP Poisoning para
empezar el ataque. Es aquí donde estamos a la espera de que se consulte la página web.
Figura # 37 – ARP poisoning a la espera para atacar
Copiamos la dirección IP del servidor en la barra de búsqueda del navegador y se nos
despliega la siguiente pantalla:
Figura # 38 – Página web afectada por Cain y Abel
Luego de ver esta pantalla, procedemos a clickear donde dice “I Understand the Risk” (para
la prueba), y se nos despliega la pagina web aparentemente normal como se ve a
continuación:
Figura # 39 – Página web se recarga aparentemente bien
Sin embargo si nos fijamos en el certificado vemos lo que aparece en las imágenes a
continuación:
Figura # 40-A y 40-B – Cifrado cambio de RSA a AES y la Firma digital cambio
Por otro lado en el Cain y Abel atrapó la información cuando hicimos el click en “I Understand
the Risk”, como se muestra a continuación:
Figura # 41 – Caín y Abel Atrapan la modificación al certificado y la web
Ahora en el momento que se haga login a esta pagina web, esta información sera capturada
por Caín y Abel, como se ve a continuación:
Figura # 42 – En la Pestaña de contraseñas, se ha capturado el usuario y contraseñas
Fin del Laboratorio.

Más contenido relacionado

PDF
Manual de instalacion de servidor zentyal 3
PDF
Servidorweb
ODP
instalacion e intregracion de OcsInventory-NG y GLPI
DOCX
Guía instalación koha por paquetes en ubuntu 16.04 lts actualizada
DOCX
Manual de instalación de EXCHANGE y TMG 2010
PPSX
Sesion n°6
Manual de instalacion de servidor zentyal 3
Servidorweb
instalacion e intregracion de OcsInventory-NG y GLPI
Guía instalación koha por paquetes en ubuntu 16.04 lts actualizada
Manual de instalación de EXCHANGE y TMG 2010
Sesion n°6

La actualidad más candente (20)

PDF
Debian Jessie (8.0) + GLPI 9.0 + FusionInventory
PDF
Servidor Web Apache, PHP, MySQL.
PPT
CONFIGURACION DE FIREWALL DE WINDOWSY PROTECCION DE ACCESO A RED
DOCX
Instalacion de osc inventory en ubuntu
PPTX
Instalación de Centos y Configuración de Samba
PPT
Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...
PPTX
Creando un servidor virtual con Ubuntu Server
PDF
Actividad ssh final - Ubuntu
DOC
As400web server
PDF
Vps local virtualbox
PDF
Manual Instalación y Configuración Firewall TMG
DOCX
Configuración proftpd (Ayar Pardo)
PDF
Instalación y Configuración Microsoft Forefront TMG
PDF
Configuración del servidor smtp centos
PDF
Servidor de correo en Zentyal 3.5
PDF
Servidor de actualizaciones wsus3.0
DOCX
Montar un servidor web win7
PDF
Implementación y Administración Hyper-V 2008 R2
PDF
Manual de configuracion de proxy SQUID
Debian Jessie (8.0) + GLPI 9.0 + FusionInventory
Servidor Web Apache, PHP, MySQL.
CONFIGURACION DE FIREWALL DE WINDOWSY PROTECCION DE ACCESO A RED
Instalacion de osc inventory en ubuntu
Instalación de Centos y Configuración de Samba
Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...
Creando un servidor virtual con Ubuntu Server
Actividad ssh final - Ubuntu
As400web server
Vps local virtualbox
Manual Instalación y Configuración Firewall TMG
Configuración proftpd (Ayar Pardo)
Instalación y Configuración Microsoft Forefront TMG
Configuración del servidor smtp centos
Servidor de correo en Zentyal 3.5
Servidor de actualizaciones wsus3.0
Montar un servidor web win7
Implementación y Administración Hyper-V 2008 R2
Manual de configuracion de proxy SQUID
Publicidad

Similar a Lab 3 cifrado criptografia (20)

PDF
INSTALACION DE CENTOS Y OPENSSL
PDF
CentOS 6.4 como DNS, Apache, SSL...
PDF
configurando un servicio en ubuntu
PDF
Tutorial linux centos configuraciones básicas
 
PPTX
configuracion de servicios en ubuntu
DOC
Gestion de nubes de servidores
PDF
Servidor apache
DOC
Gestion de nubes de servidores
DOC
Gestion de nubes d
PPT
Servidor WEB
DOCX
Ubuntu server
PDF
Entorno PHP
DOCX
Apache centos configuración
PDF
Manual Software Libre
PDF
(Manual de instalación de cloud computing)
PPT
Servidor web lamp
PDF
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS
PDF
Instalación KOHA: desarrollo, requerimientos y configuración
PDF
OPENLDAP Red Hat Enterprise Linux 6.2
ODP
Joomla local
INSTALACION DE CENTOS Y OPENSSL
CentOS 6.4 como DNS, Apache, SSL...
configurando un servicio en ubuntu
Tutorial linux centos configuraciones básicas
 
configuracion de servicios en ubuntu
Gestion de nubes de servidores
Servidor apache
Gestion de nubes de servidores
Gestion de nubes d
Servidor WEB
Ubuntu server
Entorno PHP
Apache centos configuración
Manual Software Libre
(Manual de instalación de cloud computing)
Servidor web lamp
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS
Instalación KOHA: desarrollo, requerimientos y configuración
OPENLDAP Red Hat Enterprise Linux 6.2
Joomla local
Publicidad

Más de José Moreno (20)

PDF
THINKPHP-ciberseguridad4-Profesor-Elzere.pdf
PDF
APMAX_Server_Installation_Checklist2.pdf
PDF
Android reversing 101.pdf
DOCX
Ransomware Hidden Tear
DOCX
Bash Ransomware
PDF
Seguridad Móvil
PDF
Seguridad en SIstemas Operativos *Nix
ODP
Honey Pots
PDF
Seguridad Perimetral
PDF
Correlacionador de Eventos OSSIM
PPTX
Forensia en movil
PPT
Artefactos linux
PPTX
MEAN Stack
PPTX
Backbox Distribución deriva de Ubuntu
ODP
Seguridad Base de Datos sql injection v1.0
PPTX
Presentacion #2 github Aplicaciones Seguras
ODP
Hardening Telnet ssh final
PDF
Protección de Sitios Web con WAF Lógico
PDF
Laboratorio 7 mod security - evasive - qos
PDF
Hardening en-nix-asegurar-un-ftp-server
THINKPHP-ciberseguridad4-Profesor-Elzere.pdf
APMAX_Server_Installation_Checklist2.pdf
Android reversing 101.pdf
Ransomware Hidden Tear
Bash Ransomware
Seguridad Móvil
Seguridad en SIstemas Operativos *Nix
Honey Pots
Seguridad Perimetral
Correlacionador de Eventos OSSIM
Forensia en movil
Artefactos linux
MEAN Stack
Backbox Distribución deriva de Ubuntu
Seguridad Base de Datos sql injection v1.0
Presentacion #2 github Aplicaciones Seguras
Hardening Telnet ssh final
Protección de Sitios Web con WAF Lógico
Laboratorio 7 mod security - evasive - qos
Hardening en-nix-asegurar-un-ftp-server

Último (20)

PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Presentación de Redes de Datos modelo osi
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
clase auditoria informatica 2025.........
PDF
Diapositiva proyecto de vida, materia catedra
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
CyberOps Associate - Cisco Networking Academy
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Power Point Nicolás Carrasco (disertación Roblox).pptx
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Presentación de Redes de Datos modelo osi
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
historia_web de la creacion de un navegador_presentacion.pptx
Estrategia de apoyo tecnología grado 9-3
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
introduccion a las_web en el 2025_mejoras.ppt
clase auditoria informatica 2025.........
Diapositiva proyecto de vida, materia catedra
Zarate Quispe Alex aldayir aplicaciones de internet .docx
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Presentación PASANTIAS AuditorioOO..pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
CyberOps Associate - Cisco Networking Academy

Lab 3 cifrado criptografia

  • 1. Universidad Tecnológica de Panamá Facultad de Ingeniería de Sistemas Computacionales Maestría en Seguridad Informática Sistemas de Seguridad II Laboratorio #3 – CIFRADO CRIPTOGRAFÍA Profesor: Leandro Espinoza Integrantes: Montenegro, Jesús / Céd.: 8-843-89 Moreno, José / Céd.: 8-794-402 Muñoz, Andrea / Céd.: 8-850-2239 Rodríguez, Carlos / Céd.: 8-814-1930 Viernes, 18 de septiembre de 2015
  • 2. Desarrollo del laboratorio A continuación detallamos los pasos para el desarrollo del laboratorio: 1 – Instalación de DEBIAN 8 (32 bits) Se coloca en el virtual box la siguiente configuración para entonces comenzar con la instalación de los componentes de DEBIAN 8. Nombre de la máquina DEBIANHTTPS Memoria Asignada 1024 MB Tamaño 8 GB Consumo de procesador 75% Red (adaptador 1) Adaptador Puente (wlan0)
  • 3. Figura # 01 – Configuración para instalar DEBIAN 8 Durante la instalación de DEBIAN 8 los datos de la máquina son los siguientes: Hostname debian Domain name (en blanco) Root password ********* User Name Carlos Manuel Rodriguez Account user name carlos Account user password **************** Uso de Partición Usar todo el volumen lógico Software Selection • Web Server • SSH Server • Standar System Utilities Figura #02 – Selección de Software a instalar Para el laboratorio solo era necesario el Servidor SSH para ejecutar comandos desde la terminal de nuestra máquina física o putty si fuese el caso de Windows. También el servidor web que es lo necesario para el alojamiento de nuestra página y para la
  • 4. prueba con Caín y Abel. A continuación se procede a la máquina virtual DEBIAN para ingresar y realizar algunas configuraciones iniciales. 2 – Preparación del servidor web DEBIAN Lo primero es ingresar con el usuario que creamos en la instalación anterior. Seguido se ingresa como superusuario. Figura # 03 – Ingreso al servidor DEBIAN
  • 5. Figura # 04 – Verificación del IP del servidor con el comando ifconfig Ahora nos conectamos por medio de SSH al servidor desde una terminal de nuestra maquina física con el comando ssh carlos@192.168.0.230 . Luego se ingresa como superusuario. IP: 192.168.0.230
  • 6. Figura # 05 – Conexión al servidor por SSH Lo siguiente es actualizar DEBIAN, pero para prevenir errores durante la actualización hay que editar un archivo de configuración en la ruta /etc/apt/sources.list. Las 2 primeras lineas donde se ve la palabra mirror y las 2 siguientes donde se ve la palabra security. Entramos introduciendo: vi /etc/apt/sources.list Figura # 06 – Edición del archivo sources.list (Editor vi) Luego de haber hecho esto, podemos proceder con la actualización. Para actualizar escribimos el comando: apt-get update seguido del comando apt-get upgrade Figura # 07 – Actualización de DEBIAN Figura # 08 – Actualización de los componentes de DEBIAN 3 – Instalación de aplicaciones necesarias en el servidor DEBIAN Ahora procedemos a la instalación de las aplicaciones que necesitamos para tener una
  • 7. pagina web conectada a una base de datos. 3.1 – Instalación de los paquetes de Apache 2 Se instalan con la siguiente instrucción: apt-get install apache2 3.2 – Instalación de MySQL server Para instalar MySQL desde el terminal por conexión ssh, debemos escribir la siguiente instrucción, para que se descarguen e instalen los paquetes de MySQL: apt-get install mysql-server Figura # 09 – Instalación de paquetes MySQL. 3.3 – Instalación de PHP Ahora se procede a instalar de los paquetes php a través de SSH, con la siguiente instrucción: apt-get install php5 php-pear libapache2-mod-php5 Y los módulos de PHP se instalan con la siguiente instrucción: apt-get install php5-mysql php5-gd
  • 8. Figura # 10 – Instalación de php Con estos elementos instalados podemos verificar aprovechando que tenemos la terminal abierta, la versión de OpenSSL del servidor, con la instrucción openSSL version. Figura # 11 – Versión de openSSL instaladas en el servidor Ahora necesitamos desconectar la terminal del servidor, colocando el comando exit para salir de sesión superusuario y nuevamente exit para salir de la sesión del usuario (desconectar). Figura # 12 – Desconexión SSH del servidor 3.4 – Descomprimir los paquetes Joomla en el servidor Estos paquetes son necesarios para la pagina web que construimos, así que para que el servidor le de uso, los pasaremos por sftp para luego descomprimirlos. A continuación mostramos los pasos.
  • 9. A – Abrir la conexión SFTP con el comando: sftp carlos@192.168.0.230 B – Pasar el archivo que esta en el escritorio de nuestra maquina física a la carpeta home del servidor con el comando: put /home/crodriguez/Escritorio/Joomla_3.4.4-Stable- Full_Package.zip /home/carlos. Figura # 13 – Paso de paquetes Joomla por SFTP. Salimos del SFT con el comando exit y procedemos a abrir nuevamente una conexión SSH para escribir comandos al servidor con el comando ssh carlos@192.168.0.230. Figura # 14 – Salir de SFTP y conectarse al server por SSH Luego ingresamos como superusuario y copiamos el archivo transferido anteriormente a la carpeta /var/www/html con el comando:
  • 10. cp Joomla_3.4.4-Stable-Full_Package.zip /var/www/html Figura # 15 – Copiando los paquetes Joomla En esta carpeta el dominio de estos archivos lo tiene el usuario actual (root), y necesitamos que el usuario de los paquetes web (www-data) se encargue de estos paquetes ahora, por lo que escribimos el siguiente comando para que eso suceda: chown www-data:www-data /var/www/html Figura # 16 – Cambiar el dominio de la carpeta /var/www/html del usuario root a www-data 3.5 – Crear una base de datos de uso para nuestro sitio web Para crear una base de datos por medio de comandos se sigue las siguientes instrucciones: a-Ingresar a MySQL con: mysql -uroot -pcarrod1904mysql b-Crear una base de datos con el comando: create database seguridad2; c-Salir de MySQL con: exit. d-Eliminamos el archivo index.html para descartar errores al generar la pagina web con: rm -rf-index.html Figura # 17 – Creación de una base de datos para la pagina web
  • 11. 3.6 – Configuración de la página web Ahora colocando la dirección IP del servidor en la barra de búsqueda accedemos a la configuración Joomla de nuestra página, donde hay 4 pestañas que debemos llenar. Figura # 18 – Configuración Joomla Luego que llenamos todo, al final nos generara un pequeño codigo en un cuadro de texto que debemos copiar:
  • 12. Figura # 19 – En la parte baja de esta pagina debe estar el código a copiar. Lo que sigue es, volver al terminal, reiniciar los servicios de apache y editar el archivo de configuración pegando el texto generado de la configuración de página web anterior: Reiniciar apache: service apache2 restart Abrir archivo de configuración y pegar texto copiado: vi configuration.php Eliminar archivo de instalación para descartar errores: rm -rf installation Figura # 20 – Edición del archivo de configuración. Figura # 21 – Edición y pegado de archivo de configuración. Hecho los pasos descritos anteriormente podemos recargar la pagina web y tendrá el
  • 13. aspecto que tenemos en la Figura # 22. Figura # 22 – Joomla Configurado 4 – Generación de llave pública Para la generación de la llave pública necesitamos estar en la terminal e ingresar con el superusuario root. Y ahora escribimos lo siguiente en el terminal: openssl genrsa -out 192.168.0.230.key 4096 Figura # 23 – Generación de la llave del certificado 4.1 – Generación del certificados Luego de la generación de la llave ahora se necesita generar el certificado, lo cual podemos hacer escribiendo el siguiente comando en la terminal: openssl req -new -key 192.168.0.230.key -out 192.168.0.230.csr
  • 14. Luego de escribir esta linea en la terminal, se requiere que llenemos ciertos parámetros concernientes al certificado, como se muestra a continuación: Parámetro Valor Código de País (2 letras) PA Provincia Panamá Ciudad Panamá Nombre de organización Maestría Seguridad Unidad Organizacional CSO Nombre de Servidor (IP) 192.168.0.230 Correo Electrónico crodriguez@seguridad2.com Contraseña ************* Figura # 24 – Configuración del certificado Es importante remarcar que varios de estos parámetros deben coincidir con los que
  • 15. colocamos en la configuración de nuestra página web, para que la información sea congruente y evitar la confusión con las configuraciones realizadas. 4.2 - Generación de las huellas digitales del certificados Para aplicar la firma al certificado, se debe aplicar la siguiente linea en la terminal openssl x509 -req -days 365 -in 192.168.0.230.csr -signkey 192.168.0.230.key -out 192.168.0.230.crt Figura # 25 – Firma del certificado 4.3 – Aplicación de la configuración SSL a Apache Para ello debemos mover los archivos recién creados de la llave, el certificado y la firma. Luego se activa el modulo SSL de Apache y se reinicia los servicios de Apache. Esto lo logramos aplicando las siguientes lineas en la terminal. mv 192.168.0.230.csr /etc/ssl/certs mv 192.168.0.230.key /etc/ssl/certs mv 192.168.0.230.crt /etc/ssl/private a2enmod ssl a2ensite default-ssl service apache2 restart
  • 16. Figura # 26 – Aplicación de configuración SSL a apache 4.4 – Configuración del archivo default-ssl.conf Recordando que las carpetas Linux de la distribución que estemos usando viene con elementos 'default', aun falta mas cosas que configurar para que la página web funcione correctamente con el certificado creado. Se abre el archivo con la siguiente instrucción: vi /etc/apache2/sites-enabled/default-ssl.conf Hay que configurar el archivo defaul-ssl.conf dividiendo el archivo en párrafos y líneas lo que hay que editar es lo siguiente (campos azules): - Párrafo 1, línea 2 – 5 <VirtualHost 192.168.0.230:443> ServerAdmin crodriguez@seguridad2.com ServerName 192.168.0.230:443 DocumentReboot /var/www/html - Párrafo 6, líneas 6-7 SSLCertificateFile /etc/ssl/certs/192.168.0.230.crt SSLCertificateKeyFile /etc/ssl/private/192.168.0.230.key
  • 17. Figura # 27 – Modificación de archivo default-ssl.conf Luego debemos recargar y reiniciar APACHE con: service apache reload service apache restart Con esta configuración nuestra página web es capaz de responder por HTTP o HTTPS, si embargo por default, seguirá respondiendo por HTTP. A continuación haremos que la página web sólo responda por HTTPS modificando el archivo htaccess.txt
  • 18. Figura # 28 – Agregar certificado a nuestra página web El archivo htaccess.txt se encuentra en la siguiente ruta: vi /var/www/html/htaccess.txt Si embargo lo que tenemos que hacer es copiar este archivo como contenido a un archivo que nombraremos .htaccess. El archivo htaccess.txt está dominado por el usuario www-data, sin embargo cuando copiamos el archivo a .htaccess el nuevo usuario dominante del archivo es root. Figura # 29 – Copia del archivo htaccess.txt y sus usuarios apoderados Debemos editar el archivo .htaccess, pero antes editamos otro archivo con un cambio simple. Ese archivo es el configuration.php, que obtuvimos luego de llenar los parámetros al llenar la web con la configuración Joomla. Usamos el comando: vi configuration.php Se busca la linea que dice $live_site y llenar de la siguiente manera:
  • 19. var $live_site = 'https://192.168.0.230'; Figura # 30 – Editando el archivo configuration.php Seguido editamos el .htaccess con: vi .htaccess Tenemos que editar las siguientes líneas para que la pagina responda con HTTPS. RewriteEngine On RewriteCond %{HTTPS} OFF RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} Figura # 31 – Edición del archivo .htaccess A continuación nos vamos a nuestra página web para hacer unas configuraciones dentro de la administración de la página. Para ello nos vamos al menú del sistemas y elegimos la opción “Configuración Global”
  • 20. Figura # 32 – Edición de configuración de la pagina web Figura # 33 – Principales configuraciones de la página Ahora podemos recargar la página y verificar la carga por HTTPS y ver el certificado generado.
  • 21. Figura # 34 – Certificado de nuestra página 5 – Ataque con Cain y Abel Similar al laboratorio anterior, vamos a preparar un ataque a nuestra web HTTPS con Cain y Abel y continuación describimos las IP de los equipos que se sniffean como muestra la figura a continuación: Las IP 192.168.0.230 y 192.168.0.241 son ambos servidores de una pagina https configuradas de manera similar por maquinas virtuales en diferentes maquinas físicas, los cuales son los servidores de prueba para atacar con Caín y Abel. La maquina virtual con Windows 7 que tiene Cain y Abel es la 192.168.0.105 y el resto pertenece al router y maquinas físicas. Figura # 35 – Máquinas virtuales preparadas para la prueba A continuación elegimos las maquinas atacante (192.168.0.105) y el servidor atacado (192.168.0.230)
  • 22. Figura # 36 – Eligiendo máquinas para la prueba Luego de elegidas las maquinas, se procede a presionar el botón de ARP Poisoning para empezar el ataque. Es aquí donde estamos a la espera de que se consulte la página web. Figura # 37 – ARP poisoning a la espera para atacar Copiamos la dirección IP del servidor en la barra de búsqueda del navegador y se nos despliega la siguiente pantalla:
  • 23. Figura # 38 – Página web afectada por Cain y Abel Luego de ver esta pantalla, procedemos a clickear donde dice “I Understand the Risk” (para la prueba), y se nos despliega la pagina web aparentemente normal como se ve a continuación: Figura # 39 – Página web se recarga aparentemente bien Sin embargo si nos fijamos en el certificado vemos lo que aparece en las imágenes a continuación: Figura # 40-A y 40-B – Cifrado cambio de RSA a AES y la Firma digital cambio
  • 24. Por otro lado en el Cain y Abel atrapó la información cuando hicimos el click en “I Understand the Risk”, como se muestra a continuación: Figura # 41 – Caín y Abel Atrapan la modificación al certificado y la web Ahora en el momento que se haga login a esta pagina web, esta información sera capturada por Caín y Abel, como se ve a continuación: Figura # 42 – En la Pestaña de contraseñas, se ha capturado el usuario y contraseñas Fin del Laboratorio.