Mostrando entradas con la etiqueta ip. Mostrar todas las entradas
Mostrando entradas con la etiqueta ip. Mostrar todas las entradas

Escanear todos los sistemas dentro de nuestro rango con Nmap

Nmap es un programa de código abierto y multiplataforma que sirve para efectuar rastreo de puertos.

En este caso vamos a realizar un escaneo de todos los dispositivos conectados a nuestro rango de IP. Para que nos muestre en un archivo que puertos se encuentran abiertos, y por lo tanto una puerta de entrada a posibles ciberataques. 

Captura de pantalla ejecución nmap a través de Virtualbox corriendo el sistema operativo Kali

Te dejo un ejemplo, para utilizar en terminal Linux, para realizar un escaneo a todos los equipos que se encuentren en nuestra LAN.

Si solo quieres realizar un escaneo a un equipo, cambiaremos <comienzo de nuestro rango ip>/24 por el numero de IP del equipo que queremos analizar, por ejemplo 192.168.5.12

sudo nmap -p- --open -T5 -v -n -A -sV -Pn -sS <comienzo de nuestro rango ip>/24 -oX Descargas/escaneo.xml

  • sudo: permite ejecutar comandos con privilegios de «super usuario».
  • nmap: es la herramienta que vas a utilizar para realizar el escaneo de puertos.
  • -p- : hace referencia a los puertos.
  • --open: sirve para seleccionar únicamente los puertos que están abiertos.
  • -T5: hace referencia al temporizador del escaneo. Puede ir de 0 a 5, donde 0 es menos agresivo y lento y 5 es más agresivo y rápido.
  • -v: aplica verbose, para ver los resultados según va escaneando.
  • -n: no aplica resolución DNS, lo que genera más ruido y ralentiza el escaneo.
  • -A: detecta el sistema operativo y los servicios. 
  • -sV: descubre las versiones de los servicios.
  • -Pn: evita el descubrimiento de host, que puede ralentizar el análisis.
  • -sS: realiza la comunicación a través del protocolo TCP más rápida.
  • <comienzo de nuestro rango ip>/24 Buscaremos en toda nuestra red. Si nuestro equipo se encuentra en la dirección IP 192.168.5.12 y la mascara de subred fuera 255.255.255.0, nuestro rango IP seria 192.168.5.0/24
  • -oX se utiliza para exportar a un archivo y el resto del comando hace referencia a la ubicación en la que se va a descargar un archivo denominado «escaneo.xml», donde se guardarán todos los puertos abiertos que ha encontrado el escaneo.
🔔 Es posible que le lleve tiempo rastrear todos los servicios y todos los equipos de la red. Con esta configuración obtendremos mucha información de todos los dispositivos que se encuentran en nuestra LAN

Para facilitar su visualización utilizaremos el comando xsltproc

xsltproc Descargas/escaneo.xml -o escaneo.html


Resultado en html del un escaneo de puertos realizado con nmap
 

The Harvester herramienta OSINT

TheHarveste

TheHarvester es una herramienta, OSINT (Open Source Intelligence), de código abierto diseñada para la recopilación de información utilizando fuentes abiertas y determinar el panorama de amenazas externas hacia una empresa expuesta a Internet. Permite la recopilación de cuentas de correo electrónico, subdominios, direcciones IP, URL, todo esto usando múltiples fuentes, para estudiar cual es la mejor puerta de entrada para poder extorsionar a una empresa y obtener dinero con un ciberataque. La herramienta fue desarrollada por Christian Martorella bajo licencia GNU GPLv2.

Como todas las herramientas de obtención de datos, son navajas de doble filo. Pueden ser utilizadas para la obtención de datos para la penetración en una empresa y realizar un cifrado de discos duros y así obtener una recompensa por el secuestro sus datos. O bien ver cual es el grado de exposición que tenemos y realizar labores preventivas para evitar ciberataques.

The Harvester puede ser utilizado desde la distribución Kali Linux. Esta herramienta viene instalado de forma predeterminada y es utilizada desde su terminal con el comando

 theHarvester

 

theharvester -d kali.org -l 500 -b google


Para obtener ayuda sobre su opciones utilizaremos:
theHarvester -h

  • -d: dominio objetivo sobre el que se quiere realizar el análisis.
  • -l: límite para evitar que la búsqueda colapse. Se puede limitar a un número determinado de resultados, por ejemplo, al límite -l 100. El limite por defecto es 500 resultados
  • -f: archivo. Si se quiere exportar los resultados a un archivo, los formatos más habituales son .xml o .json, por ejemplo, -f resultados.xml. Es muy interesante salvaguardar los datos obtenidos, para realizar un estudio sobre cual son nuestras brechas para poner énfasis en su salvaguarda.
  • -b: fuente. Se pueden especificar uno o varios motores de búsqueda con los que se realizará el análisis. Por ejemplo, -b bing.
Ejemplo:

theHarvester -d enfaseterminal.com -l 100 -b bing

 

theHarvester -d enfaseterminal.com -l 100 -b bing

 Fuentes en las que The Harvester obtiene datos sobre el dominio que queremos proteger.


  • bevigil: CloudSEK BeVigil escanea la aplicación móvil en busca de activos OSINT y los pone a disposición a través de una API - https://bevigil.com/osint-api
  • bingapi: motor de búsqueda de Microsoft, a través de la API (requiere una clave de API, consulte a continuación).
  • censys: El motor de búsqueda Censys, utilizará búsquedas de certificados para enumerar subdominios y recopilar correos electrónicos (requiere una clave API, ver más abajo). - censys.io
  • fullhunt: La plataforma de seguridad de superficie de ataque de próxima generación - https://fullhunt.io
  • github-code: motor de búsqueda de código de GitHub (requiere un token de acceso personal de GitHub, ver más abajo). - www.github.com
  • hackertarget: escáneres de vulnerabilidades en línea e inteligencia de red para ayudar a las organizaciones - https://hackertarget.com
  • hunter: Motor de búsqueda Hunter (Requiere una clave API, ver más abajo.) - www.hunter.io
  • hunterhow: Motores de búsqueda en Internet para investigadores de seguridad - https://hunter.how
  • intelx: Motor de búsqueda Intelx (requiere una clave API, consulte a continuación). - www.intelx.io
  • Pentest-Tools.com: Kit de herramientas basado en la nube para pruebas de seguridad ofensivas, centrado en aplicaciones web y pruebas de penetración de red (requiere una clave API, ver más abajo). - https://pentest-tools.com/
  • projecdiscovery: Recopilamos y mantenemos activamente datos de activos en Internet, para mejorar la investigación y analizar los cambios en torno a DNS para obtener mejores conocimientos (requiere una clave de API, consulte a continuación). - https://chaos.projectdiscovery.io
  • rapiddns: herramienta de consulta DNS que facilita la consulta de subdominios o sitios de una misma IP. https://rapiddns.io
  • rocketreach: acceda a correos electrónicos personales / profesionales verificados en tiempo real, números de teléfono y enlaces de redes sociales. - https://rocketreach.co
  • securityTrails: Motor de búsqueda Security Trails, el repositorio de datos. DNS históricos más grande del mundo (requiere una clave API, ver más abajo). - www.securitytrails.com
  • shodan: El motor de búsqueda Shodan, buscará puertos y banners de hosts descubiertos (requiere una clave API, ver más abajo). - https://shodan.io
  • subdomainfinderc99: Un buscador de subdominios es una herramienta utilizada para encontrar los subdominios de un dominio determinado - https://subdomainfinder.c99.nl
  • urlscan: un espacio aislado para la web que es un escáner de URL y sitio web - https://urlscan.io
  • vhost: búsqueda de hosts virtuales de Bing
  • Yahoo: motor de búsqueda Yahoo

Desde este Blog recomendamos el uso de este tipo de herramientas únicamente para encontrar vulnerabilidades para reforzar y aplicar las acciones de seguridad para evitar ciberataques. 

¿Son impermeables mis gadgets?

Cuando era pequeño, siempre llegaba algún amigo dandonos envidia con su nuevo reloj. Y una de los datos que queríamos saber si se podía meter en el agua y a que profundidad le podrías sumergir. Cuando tu compañero te decía que aguanta 100 metros, consideramos que era una exageración. Más que nada porque no le veía a mi amigo bucear más de la profundidad que tendría una piscina, que podrían ser no más de tres metros.

El reloj de mi amigo ya es cosa del pasado y hemos dado el salto a los smartwatch que son capaces de además de darnos la hora, controlar nuestro pulso, pasos recorridos, distancia ... Y que les utilizamos en nuestras actividades deportivas, soportando humedad y polvo.

El grado de protección de un gadgets viene indicado por el anagrama IP Ingress Protection o Protección de penetración de agentes externos. Que capacidad tiene nuestro producto para impedir que agresiones externas penetren en el. A este anagrama le acompañan, por lo general dos números que indican el grado de protección que desarrollaremos más adelante.

En este caso en el embalaje del altavoz me está indicando que tiene una IP X7, que es resistente al agua, y que puedo usarlo en la playa , en la piscina o en la nieve. ¿Pero lo puedo sumergir en el agua? ¿O solo me aguanta el ambiente húmedo? ¿En el dibujo parece que lo puedo meter en el agua 😦?


Grado de protección del altavoz


El grado de protección IP hace referencia a la norma internacional CEI 60529 Degrees of Protection confeccionada por la IEC (Comisión Electrotécnica Internacional). Al realizar pruebas estandarizadas nos permiten conocer cuál es el grado de protección de nuestro accesorio, ante la penetración de partículas y líquidos en el mismo, y saber en qué ambiente podemos y no, utilizarlo si que se averíe.

IP _ _

El primer dígito, determina el grado de protección contra partículas. Entre un mínimo de 0, sin protección y 6 que es la máxima protección:

  • IP X_  No ha sido probado
  • IP 0_  Ninguna protección
  • IP 1_  Aparatos protegidos contra cuerpos sólidos de dimensiones superiores a 50mm
  • IP 2_  Aparatos protegidos contra cuerpos sólidos de dimensiones superiores a 12mm
  • IP 3_  Aparatos protegidos contra cuerpos sólidos de dimensiones superiores a 2,5mm
  • IP 4_  Aparatos protegidos contra cuerpos sólidos de dimensiones superiores a 1mm
  • IP 5_  Aparatos protegidos contra el polvo
  • IP 6_  Aparatos completamente protegidos contra el polvo

Retomando la protección de nuestro altavoz IPX7. No se le han realizado las pruebas de penetración de partículas. Es decir que si lo llevo a la playa es posible que se pueda llenar de arena y funcionar mal y/o dejar de hacerlo. 😱. Si lo llevo a la playa habrá que tener cuidado.

Duck DNS servicio gratuito de DDNS

Aunque desde hace tiempo se implementó la ipv6 las operadoras de acceso a Internet no lo implementan en los hogares, aun continuamos con la ipv4 y por tanto nuestros router's aún tienen direcciones públicas dinámicas.
Para el "internet de las cosas", servidores VPN, servidores web, Nubes personales, nuestra propia red de vigilancia de cámaras..... Es complicado no tener una ip estática a la que acceder.

Entre las DDNS que nos ofrecen, de forma gratuita, acceso estable a nuestra ip dinámica, es DuckDNS.
Su página minimalista y muy simple. 




Una vez que nos hemos dado de alta nos mostrará el token que nos han asignado y podremos crear un subdominio que utilizaremos para acceder a nuestra ip dinámica.


Asignamos un nombre. Puesto que vamos a utilizar este para acceder desde internet a un servicio, o servidor que tengamos instalado en nuestra casa o empresa, no debería ser fácilmente reconocible, e incluso deberia ser ofuscado y complejo. Y por puesto no compartirlo de forma pública.

Al crear nuestro subdominio, automáticamente reconoce nuestra dirección ip. Accediendo al dirección creada el servidor DNS redirigirá a nuestro navegador a la ip registrada. Podemos crear hasta cinco subdominios con distintos nombre y podremos asignarles cinco direcciones diferentes.

DuckDNS dispone de herramientas para poder actualizar la dirección ip dinámica de nuestro servidor.


Tenemos distintos scripts,  programas para instalar, dependiendo de nuestro sistema operativo. También podemos implementarlo en nuestro router.

Si por ejemplo disponemos una Raspberry y la utilizamos como servidor, tambien la podemos utilizar para comunicar a DuckDNS nuestra nueva dirección pública.

Accederemos a nuestra Raspberry a través de la pasarela ssh

ssh pi@raspberrypi

Creamos un directorio, accedemos a él y creamos un nuevo archivo llamado duck.sh.

mkdir duckdns
cd duckdns
nano duck.sh

Copiamos el script que le informará a nuestro DDNS de nuestra dirección actual. Si hemos registrado un subdominio nos personaliza el script con dicho subdominio, nuestro TOKEN y solo tendremos que copiar y pegar.

echo url="https://www.duckdns.org/update?domains=exampledomain&token=a7c4d0ad-114e-40ef-ba1d-d217904a50f2&ip=" | curl -k -o ~/duckdns/duck.log -K -

Guardamos crtl+o y salimos del editor crtl+x . Y le otorgamos privilegios de ejecución.

chmod 700 duck.sh

Añadimos una línea en el cron que ejecutará nuestro script cada cinco minutos, manteniendo la relación de nuestro subdominio con la ip de nuestro servidor actualizada

crontab -e

*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1

Probamos que que todo está correcto, ejecutando nuestro archivo y comprobando que nuestro archivo de eventos ha recogido el ok.

cat duck.log

Eliminar publicidad mientras navegas en linux

Aunque hay extensiones para bloquear la publicidad mientras navegas por internet, buscaba algo màs simple que no fuera dependiente del navegador que esté utilizando en ese momento.
Encontré un método muy simple, editando el archivo:

/etc/hosts

En este archivo podemos guardar la relación de nombres de dominio y sus direcciones ip's. Cuando naveguemos por internet, nuestro ordenador accede primero a este archivo para localizar el dominio al que queremos acceder. Si no lo encuentra continuará la búsqueda en los servidores DNS que le indiquemos.

Si no disponemos de un servidor DNS en nuestra nuestra red local, nos será útil a la hora de acceder a nuestros servidores a través de nombres y no de direcciones ip.

Pero si añadimos dominios conocidos que son servidores de publicidad y/o rastreadores y le indicamos una dirección falsa, nuestro navegador no nos mostrará ninguna publicidad y no enviará datos de nuestra navegación.

El funcionamiento es similar a Pi-Hole . Pero sin necesidad de instalar un servidor DNS en nuestra red.

El método es muy sencillo. Editamos el archivo /etc/hosts

sudo nano /etc/hosts

Nos saldrá algo parecido a:

127.0.0.1 localhost
127.0.1.1 enfaseterminal
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Añadiremos en al final del archivo:

https://mega.nz/#!maRhEapC!-J7HXuVD0FiJXLpLMm5CtZKdnJUuHoiqSlCdj1kuzGU
 Esta lista negra a sido confecciona a partir del archivo:
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts

Evitar bloqueos y aumentar nuestra privacidad con Opera

Una de las herramientas a tener en cuenta para aumentar nuestra privacidad, o evitar los bloqueos a ciertos dominios es a través de una VPN.
Utilizaremos un intermediario para nuestras navegaciones. Nuestras comunicaciones desde nuestro navegador hasta la Red Privada Virtual, se realizará de forma encriptada, y es esta red la que realizará la petición al servidor web.
Hay varios servicios VPN gratuitos y de pago. Aquellos que son gratuitos nos pueden limitar la cantidad de datos descargar a través de sus servicios y necesitamos registrarnos.
El navegador Opera nos permite navegar utilizando su servicio VPN de forma gratuita y sin necesidad de registrarnos:

Opera navegando en https://www.enfaseterminal.com/


Navegar utilizando un servicio VPN nos permite:

VPN https://www.enfaseterminal.com/


  • Que nuestros datos se envíen y reciban de forma encriptada, evitando que nos espíen, por ejemplo si utilizamos WIFI's públicas.
  • Enmascaran nuestra dirección ip. Puede resultar útil si no queremos que la página que visitamos conozca nuestra ubicación o evitar que nos reconozca si hemos realizado una visita anterior.
Opera es multiplataforma, se encuentra disponible para Windows , Mac y Linux . También podemos utilizar este navegador en nuestros dispositivos móviles

La opción no se encuentra activada de forma predeterminada. Si queremos navegar a través de una VPN deberemos acceder al menú de Configuración>Avanzado>VPN

Configuración Opera
Activar VPN en Opera

Crear un dominio con una ip dinámica con Google Domains en Linux

Si tienes alojado un dominio en Google Domains te permite enlazar dicho dominio o subdomino a una dirección ip dinámica.

Por ejemplo puedes alojar un servidor web oficina en tu casa. El gran inconveniente es que los proveedores de servicios de internet suelen crearte direcciones de acceso a internet que cambian con el tiempo, a no ser que quieras pagar por la opción de obtener una ip estática.

Entre las opciones que te permiten enlazar con una ip dinámica, o DNS dinamico, y con la que conseguí un resultado exitoso es utilizando su API.

La API requiere HTTPS. A continuación, encontrará un ejemplo de solicitud:
https://username:password@domains.google.com/nic/update?hostname=subdomain.yourdomain.com&myip=1.2.3.4
En mi caso escribí un script que cargue en la Raspberry Pi, para enlazar un servidor web.
nano ddns.sh
Le enviaremos a nuestro servidor DDNS a través de la dirección que nos proporcionan utilizando el comando curl. Los datos de acceso son aquellos que nos proporciona Google Domains. Y la dirección ip dinámica publica nos la obtendrá el comando  curl -s ifconfig.me
#! /bin/bash
ip="https://username:password@domains.google.com/nic/update?hostname=subdomain.yourdomain.com&myip=$(curl -s ifconfig.me)"
curl "$ip"
Le daremos a nuestro archivo la capacidad de ser ejecutado
chmod +x ddns.sh  
Lanzaremos nuestro script
./ddns.sh 
Comprobando su correcto funcionamiento


 Si todo es correcto cargaremos nuestro script al inicio de nuestro equipo y nuestro domino enlazará con nuestro hosting web casero

Obtener mi ip publica con curl

En mi caso necesita obtener mi dirección ip que estaba utilizando en internet para configurar un ddns
Wikipedia 
El DNS dinámico (DDNS) es un servicio que permite la actualización en tiempo real de la información sobre nombres de dominio situada en un servidor de nombres. El uso más común que se le da es permitir la asignación de un nombre de dominio de Internet a un dispositivo con dirección IP variable (dinámica). Esto permite conectarse con la máquina en cuestión sin necesidad de tener conocimiento de que dirección IP posee en ese momento.
El DNS dinámico hace posible utilizar un software de servidor en un dispositivo con dirección IP dinámica (como la suelen facilitar muchos ISP) para, por ejemplo, alojar un sitio web en la PC de nuestra casa, sin necesidad de contratar un hosting de terceros; pero hay que tener en cuenta que las PC caseras posiblemente no estén tan bien dotadas como los servidores de un Datacenter, ni tengan toda la infraestructura que poseen estos lugares. 
Buscando encontré que utilizando el comando curl, era posible saber mi dirección pública y añadirlo a un script, que actualizaría mi ip en mi servidor DDNS:

curl ifconfig.me

Como cambiar servidor DNS en linux

Si tenemos la necesidad de cambiar o actualizar la información de los servidor de DNS  de nuestro equipo, modificaremos el fichero  /etc/resolv.conf
Podremos utilizar el editor nano.

sudo /etc/init.d/networking restart

La lectura del archivo sería:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 9.9.9.9
nameserver 8.8.8.8

En cada línea seguido de namesever indicaremos la dirección ip de nuestro servidor DNS.

Guardaremos nuestra edición Control+O y saldremos del editor con Ctrl+X
Reiniciamos el servicio de red de nuestro equipo:

sudo /etc/init.d/networking restart