
Servicio de descubrimiento de subdominios con enfoque API-first que utiliza registros de Certificate Transparency para una enumeración pasiva y rápida de subdominios a través de una API REST con salida en JSON o texto plano.
‼️ El componente del servidor se ha movido a https://github.com/elmasy-com/columbus.
Columbus Project es un servicio de descubrimiento de subdominios basado en API, un servicio de enumeración de subdominios extremadamente rápido con funciones avanzadas.
Columbus devolvió 638 subdominios de tesla.com en 0.231 segundos.
Por defecto Columbus devuelve solo los subdominios en un array de cadenas JSON:
curl 'https://columbus.elmasy.com/lookup/github.com'
Pero pensamos en los amantes de bash, así que si no quieres lidiar con JSON y prefieres una lista separada por saltos de línea, entonces incluye el encabezado Accept: text/plain.
DOMAIN="github.com"
curl -s -H "Accept: text/plain" "https://columbus.elmasy.com/lookup/$DOMAIN" | \
while read SUB
do
if [[ "$SUB" == "" ]]
then
HOST="$DOMAIN"
else
HOST="${SUB}.${DOMAIN}"
fi
echo "$HOST"
done
Para más información, consulta las características o la documentación de la API.
Actualmente, las entradas se obtienen de Certificate Transparency.
Usage of columbus-server:
-check
Check for updates.
-config string
Path to the config file.
-version
Print version informations.
-check: Verifica la última versión en GitHub.
Imprime up-to-date y devuelve 0 si no se requiere actualización.
Imprime la última etiqueta (ej.: v0.9.1) y devuelve 1 si hay una nueva versión disponible.
En caso de error, imprime el mensaje de error y devuelve 2.
git clone https://github.com/elmasy-com/columbus-server
make build
Crear un nuevo usuario:
adduser --system --no-create-home --disabled-login columbus-server
Crear un nuevo grupo:
addgroup --system columbus
Agregar el nuevo usuario al nuevo grupo:
usermod -aG columbus columbus-server
Copiar el binario a /usr/bin/columbus-server.
Hacerlo ejecutable:
chmod +x /usr/bin/columbus-server
Crear un directorio:
mkdir /etc/columbus
Copiar el archivo de configuración a /etc/columbus/server.conf.
Establecer el permiso a 0600.
chmod -R 0600 /etc/columbus
Establecer el propietario del archivo de configuración:
chown -R columbus-server:columbus /etc/columbus
Instalar el archivo de servicio (ej.: /etc/systemd/system/columbus-server.service).
cp columbus-server.service /etc/systemd/system/
Recargar systemd:
systemctl daemon-reload
Iniciar columbus:
systemctl start columbus-server
Si deseas que columbus se inicie automáticamente:
systemctl enable columbus-server