
Serviço de descoberta de subdomínios com foco em API, que utiliza logs de Transparência de Certificados para enumeração rápida e passiva de subdomínios por meio de uma API REST com saída em JSON ou texto simples.
‼️ O componente do servidor foi movido para https://github.com/elmasy-com/columbus.
O Projeto Columbus é um serviço de descoberta de subdomínios com foco em API, um serviço de enumeração de subdomínios extremamente rápido com funcionalidades avançadas.
Columbus retornou 638 subdomínios de tesla.com em 0.231 seg.
Por padrão, o Columbus retorna apenas os subdomínios em uma matriz de strings JSON:
curl 'https://columbus.elmasy.com/lookup/github.com'
Mas pensamos nos amantes do bash, então se você não quiser lidar com JSON e preferir uma lista separada por quebras de linha, inclua o cabeçalho 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 mais informações, confira os recursos ou a documentação da API.
Atualmente, as entradas são obtidas do Certificate Transparency.
Usage of columbus-server:
-check
Check for updates.
-config string
Path to the config file.
-version
Print version informations.
-check: Verifica a versão mais recente no GitHub.
Imprime up-to-date e retorna 0 se nenhuma atualização for necessária.
Imprime a tag mais recente (ex.: v0.9.1) e retorna 1 se uma nova versão estiver disponível.
Em caso de erro, imprime a mensagem de erro e retorna 2.
git clone https://github.com/elmasy-com/columbus-server
make build
Crie um novo usuário:
adduser --system --no-create-home --disabled-login columbus-server
Crie um novo grupo:
addgroup --system columbus
Adicione o novo usuário ao novo grupo:
usermod -aG columbus columbus-server
Copie o binário para /usr/bin/columbus-server.
Torne-o executável:
chmod +x /usr/bin/columbus-server
Crie um diretório:
mkdir /etc/columbus
Copie o arquivo de configuração para /etc/columbus/server.conf.
Defina a permissão para 0600.
chmod -R 0600 /etc/columbus
Defina o proprietário do arquivo de configuração:
chown -R columbus-server:columbus /etc/columbus
Instale o arquivo de serviço (ex.: /etc/systemd/system/columbus-server.service).
cp columbus-server.service /etc/systemd/system/
Recarregue o systemd:
systemctl daemon-reload
Inicie o columbus:
systemctl start columbus-server
Se você quiser que o columbus inicie automaticamente:
systemctl enable columbus-server