NO-IP e introducción a Apache Server
Para algunas de las prácticas realizadas en el temario de explotación de servidores se ha empleado dominios o nombres de host generados a través de la aplicación web NO-IP (https://www.noip.com). NO-IP utiliza la tecnología Dynamic Domain Name System (DDNS), permitiendo asociar una IP pública a un nombre de host que será más fácil de recordar para el usuario, tanto si es cliente como proveedor de servicios en Internet. En resumen, al crear un registro en NO-IP se genera como un registro DNS normalmente de tipo A, asociando la IP con un nombre (host). Además, en caso de que la IP pública no sea estática, este servicio revisará periódicamente si esta va cambiando. Para más información: https://en.wikipedia.org/wiki/Dynamic_DNS.
Alguna de las utilidades de este sistema podría ser por ejemplo habilitar algún servidor web, ftp, etc. y que sea disponible de forma pública mediante el nombre de dominio generado y habilitando reglas de portforwarding en el router. En este punto se verán algunos ejemplos y posibilidades con un servidor web Apache en Kali Linux, aunque previamente se va a ver cómo funciona NO-IP.
Para utilizar NO-IP es imprescindible registrarse previamente, además esta empresa puede restringir el acceso si detecta un uso irregular. Existe una modalidad gratuita que es más que suficiente. Al crear el usuario, se puede indicar de crear el registro para más tarde:
Una vez registrado como usuario, se accede a los menús tal y como se indica en la pantalla de abajo para crear un registro indicando el nombre del host, el dominio raiz (ddns.net), el tipo de registro DNS (A) y la IP pública asociada, que de forma predeterminada aparece la que el IPS está ofreciendo para la red en este momento.
Tras crearse el registro, se puede comprobar fácilmente con la función PING que el dominio del ejemplo armitagetrial.ddns.net en la resolución de dirección devuelve la IP pública registrada.
Como se ha comentado, algunas de las utilidades de este sistema es combinarlo con algún servicio alojado en algún host, por ejemplo un servidor web. En Kali Linux viene por defecto el servidor web de la marca Apache, uno de los más usados a nivel mundial por ser gratuito. En el bloque de ataques a páginas web del lado del cliente se profundizará en el sistema de ficheros y configuración de este software. En todo caso, para un inicio rápido es suficiente con saber que el servidor se puede iniciar con el comando service y que los ficheros de configuración se hallan en el directorio / etc /apache2, siendo el fichero apache2.conf el principal.
sudo service apache2 {start|stop|status…}
En la configuración predeterminada de Apache, el software inicia el servicio localmente en el puerto 80 (protocolo HTTP), se guardan los ficheros web en el directorio /var/www/html y está determinada como página web principal index.html. Evidentemente, toda esta configuración se puede modificar, así como añadir otras opciones como usar el protocolo HTTPS, etc. En todo caso, una vez iniciado el servicio se puede comprobar desde cualquier navegador web en Kali Linux indicando la IP privada o localhost, apareciendo la página de muestra de Apache:
Ahora con el registro en NO-IP se puede hacer público este servicio informando del nombre de dominio. Para ello es necesario habilitar una regla de portforwarding en el router. Evidentemente al exponer el servidor a Internet se corren muchos riesgos. En la imagen de abajo también se ha copiado un payload generado con MSFvenom al directorio de ficheros web de Apache:
Ahora se puede comprobar como desde Internet se puede acceder al servicio web empleando el nombre de dominio de NO-IP con el navegador. En el ejemplo además se ha podido descargar el malware desde el navegador, que aunque parezca una técnica malintencionada demasiado evidente (y rápidamente detectada por el antivirus), es la base de muchos ataques informáticos que combinan ingeniería social con otras técnicas: