• Columbus:一个基于API实现的子域名发现服务工具


    img

    关于Columbus【点击领取安装包】

    Columbus是一款功能强大的子域名发现与枚举工具,该工具基于API实现其功能,并且还提供了很多其他的高级功能。在该工具的帮助下,广大研究人员可以快速且高效地实现子域名枚举任务。

    【点击领取安装包】

    前端架构

    HTML+tailwindcss+DaisyUI

    工具使用演示

    在下面给出的工具使用演示样例中,Columbus可以在不到一秒钟的时间里返回tesla.com的763个子域名:

    img

    服务器端

    服务器端使用

    Usage of columbus-server:
    
      -check
    
         检查更新
    
      -config string
    
         配置文件路径
    
      -version
    
         打印工具版本信息
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    代码构建

    git clone https://github.com/elmasy-com/columbus
    
    make server-build
    
    • 1
    • 2
    • 3

    服务器部署

    创建一个新的用户:

    adduser --system --no-create-home --disabled-login columbus-server
    
    • 1

    创建一个新的组:

    addgroup --system columbus
    
    • 1

    向新的组中添加新的用户:

    usermod -aG columbus columbus-server
    
    • 1

    将代码拷贝到/usr/bin/columbus-server。

    添加可执行权限:

    chmod +x /usr/bin/columbus-server
    
    • 1

    创建一个目录:

    mkdir /etc/columbus
    
    • 1

    设置权限为0640:

    chmod -R 0640 /etc/columbus
    
    • 1

    设置配置文件的所有者:

    chown -R columbus-server:columbus /etc/columbus
    
    • 1

    将配置文件拷贝到/etc/columbus/server.conf。

    安装服务文件,例如/etc/systemd/system/columbus-server.service:

    cp columbus-server.service /etc/systemd/system/
    
    • 1

    重载程序:

    systemctl daemon-reload
    
    • 1

    开启Columbus:

    systemctl start columbus-server
    
    • 1

    设置工具自动启动:

    systemctl enable columbus-server
    
    • 1

    扫描器使用

    扫描器用于从一个CT日志中解析证书信息,并将其插入到Columbus数据库中。

    扫描器构建

    make scanner-build
    
    • 1

    由于columbus-scanner.sha使用了密钥签名,因此我们要先下载密钥:

    gpg --recv-key 10BC80B36072944B5678AF395D00FD9E9F2A3725
    
    • 1

    然后更新配置文件中的对应参数即可。

    工具使用

    默认配置下,Columbus只会以一个JSON字符串数组返回子域名信息:

    curl 'https://columbus.elmasy.com/api/lookup/github.com'
    
    • 1

    如果你不想使用JSON数据的话,也可以在发送请求时使用“Accept: text/plain头:

    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"
    
    done
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    许可证协议

    本项目的开发与发布遵循Apache-2.0开源许可证协议。

    项目地址

    Columbus:【GitHub传送门

    CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

  • 相关阅读:
    5.javase_循环语句
    【无标题】
    2024-06-12 问AI: 在大语言模型中,什么是Jailbreak漏洞?
    通过5个概念 一文弄明白DAO
    shell脚本字典创建遍历打印
    Spring Boot多线程详解
    SpringBoot--手写组件动态更新@Value的值
    【SA8295P 源码分析 (一)】14 - Passthrough配置文件 /mnt/vm/images/linux-la.config 内容分析
    2023Web前端开发八股文&面试题(万字系列)——这篇就够了!
    图论第1天----第797题、第200题、第695题
  • 原文地址:https://blog.csdn.net/HUANGXIN9898/article/details/133635004