Columbus Project is an API first subdomain discovery service, blazingly fast subdomain enumeration service with advanced features.
Columbus returned 763 subdomains of tesla.com in less than a second.
By default Columbus returns only the subdomains in a JSON string array:
curl 'https://columbus.elmasy.com/api/lookup/github.com'But we think of the bash lovers, so if you don't want to mess with JSON and a newline separated list is your wish, then include the Accept: text/plain header.
DOMAIN="github.com"
curl -s -H "Accept: text/plain" "https://columbus.elmasy.com/api/lookup/$DOMAIN" | \
while read SUB
do
if [[ "$SUB" == "" ]]
then
HOST="$DOMAIN"
else
HOST="${SUB}.${DOMAIN}"
fi
echo "$HOST"
doneFor more, check the website and the API documentation.
See more statistics on the website.
Usage of columbus-server:
-check
Check for updates.
-config string
Path to the config file.
-version
Print version informations.
git clone https://github.com/elmasy-com/columbus
make server-buildCreate a new user:
adduser --system --no-create-home --disabled-login columbus-serverCreate a new group:
addgroup --system columbusAdd the new user to the new group:
usermod -aG columbus columbus-serverCopy the binary to /usr/bin/columbus-server.
Make it executable:
chmod +x /usr/bin/columbus-serverCreate a directory:
mkdir /etc/columbusSet the permission to 0600.
chmod -R 0640 /etc/columbusSet the owner of the config file:
chown -R columbus-server:columbus /etc/columbusCopy the config file to /etc/columbus/server.conf and configure.
Install the service file (eg.: /etc/systemd/system/columbus-server.service).
cp columbus-server.service /etc/systemd/system/Reload systemd:
systemctl daemon-reloadStart columbus:
systemctl start columbus-server
If you want to columbus start automatically:
systemctl enable columbus-server
This program is used to parse the certificates from a CT log and insert into the Columbus database.
make scanner-buildThe
columbus-scanner.shais signed with this key.
Download the key:
gpg --recv-key 10BC80B36072944B5678AF395D00FD9E9F2A3725- Place the binary somewhere
- Update and place the config file somewhere
- Update and install
columbus-scanner.servicesomewhere
A DNS server to collect domains to Columbus Server.
The goal of dns is to make it easy/possible for users to easily contribute to the Columbus Project.
By setting the DNS servers to dns while enumerationg subdomains, hunting bugs, etc you can contribute to the Columbus Project.
_________________
|---> dig exmaple.com A ---->| COLUMBUS-DNS | -----> Insert -----> Columbus DB
| -----------------
^ |
| V
Alice <------- 93.184.216.34 <---------
- Only domains with valid answer will be sent to the server (
NOERROR)
THIS SERVER IS NOT MEANT TO USED AS A DAILY DNS RESOLVER!
The checksum file is signed with key 10BC80B36072944B5678AF395D00FD9E9F2A3725.
gpg --receive-key 10BC80B36072944B5678AF395D00FD9E9F2A3725Create a new user:
adduser --system --no-create-home --disabled-login columbus-dnsCreate a new group (if not exists):
addgroup --system columbusAdd the new user to the new group:
usermod -aG columbus columbus-dnsCopy the binary to /usr/bin/columbus-dns.
Make it executable:
chmod +x /usr/bin/columbus-dnsCreate a directory (if not exists):
mkdir /etc/columbusSet the permission to 0600.
chmod -R 0640 /etc/columbusSet the owner of the config file:
chown -R columbus-dns:columbus /etc/columbusCopy the config file to /etc/columbus/dns.conf and configure.
Install the service file (eg.: /etc/systemd/system/columbus-dns.service).
cp columbus-dns.service /etc/systemd/system/Reload systemd:
systemctl daemon-reloadStart Columbus DNS:
systemctl start columbus-dns
If you want to Columbus DNS start automatically:
systemctl enable columbus-dns
HTML + tailwindcss + DaisyUI. The style is inspired by Introduction theme.
Create gifs with VHS.