Leadrogue/Lanflux

GitHub: Leadrogue/Lanflux

局域网侦察与利用自动化框架,在无线网络接入后提供主机发现、深度侦察、攻击与 MITM 一体化的引导式渗透测试流程。

Stars: 40 | Forks: 2

# Lanflux **在获取无线网络立足点后的局域网侦察与利用** — [Wiflux](https://github.com/Leadrogue/Wiflux)的兄弟项目。 ``` ██╗ █████╗ ███╗ ██╗███████╗██╗ ██╗ ██╗██╗ ██╗ ██║ ██╔══██╗████╗ ██║██╔════╝██║ ██║ ██║╚██╗██╔╝ ██║ ███████║██╔██╗ ██║█████╗ ██║ ██║ ██║ ╚███╔╝ ██║ ██╔══██║██║╚██╗██║██╔══╝ ██║ ██║ ██║ ██╔██╗ ███████╗██║ ██║██║ ╚████║██║ ███████╗╚██████╔╝██╔╝ ██╗ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ``` [![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Release](https://img.shields.io/github/v/release/Leadrogue/Lanflux?label=release)](https://github.com/Leadrogue/Lanflux/releases/latest) [![Platform](https://img.shields.io/badge/platform-Linux-lightgrey.svg)](#requirements) | 工具 | 阶段 | |------|--------| | **[Wiflux](https://github.com/Leadrogue/Wiflux)** | 无线接入 — 扫描、捕获、破解 | | **Lanflux** | 关联后 — 局域网发现、侦察、对接、MITM | *从空中到局域网。* · **v1.0.0** ## 功能 ### 引导式工作流 - **映射 → 侦察 → 攻击 / MITM** — 主菜单按安全顺序引导操作(在进行高噪操作前先进行侦察) - **实时 Rich UI** — 发现表、ETA进度条、活动提要、身份卡片 - **键盘控制** — **Enter** 提前结束发现/剖析 → 返回菜单;**Space** 暂停(复制)或跳过模块 - **交战配置** — `home` | `office` | `lab` 设置超时、智能对接、MITM默认值、扫描(CLI参数仅在指定时覆盖) - **会话恢复** — `--resume` 从 SQLite 重新加载主机;身份和流量提示持久化保存 ### 发现与身份识别 - **ARP + neighbor + 可选 ping 扫描** — 快速构建带有真实 ETA 的局域网映射 - **渐进式端口/OS剖析** — 映射时执行轻量级 nmap;可按 Enter 跳过收尾 - **这是什么设备?** — 身份融合(OUI厂商 + 主机名 + mDNS + 端口 → 例如“Tommy的iPhone(推测)”) - **流量提示** — 预扫描 `ip neigh` 状态以进行 MITM 客户端排名(`live` / `recent` / `quiet`) - **主机评分与角色** — 网关、DC、文件服务器、IoT、工作站…… ### 软性侦察与智能对接 - **软性侦察链** — `dns-enum → port-scan → smb-enum → http-enum` - **智能对接** — 软性侦察后,根据*真实*开放端口规划深度工具(whatweb、http-paths、http-defaults、smb-deep、ssh-check、snmp-check、iot-pack、ad-enum、pivot-map、gain-access 等) - **自动模式** — `--auto` 非交互式映射并执行软性+深度对接;lab/spray 也会运行带星标的攻击工具 - **主机感知工具包** — 根据角色/端口/风险对建议进行排名;缺少二进制文件时显示安装提示 ### 模块(亮点) | 类别 | 示例 | |----------|----------| | 侦察 | dns-enum, port-scan, smb-enum/deep, http-enum/paths, whatweb, tls-inspect, nikto, nuclei, ffuf-short, mdns-upnp, udp-probe, ad-enum | | 攻击 | http-defaults, ssh-check, snmp-check, gain-access, cred-spray, iot-pack, responder | | MITM | arp / sniff / forms / keylog / dns(工具箱限时或实时任务会话) | ### MITM(真实能力) | 模式 | 带宽 | 获取内容 | |------|-----------|--------------| | **Sites** | 最佳 | DNS/SNI 主机名;半双工 ARP | | **Forms** | 良好 | 明文 HTTP 登录 POST 请求 | | **Keylog** | 较重 | HTTP 上的 JS 注入 + KEY 行 + 表单 | | **DNS** | 不定 | 域名污染路径(高噪) | - **若不使用 SSL-bump 则无法读取 HTTPS 应用密码**(未实现 — 属设计考量) - **半双工 Wi‑Fi 友好型**调优(正向路径、rp_filter、退出时恢复) - **生命周期清理** — 孤儿进程终止、atexit / Ctrl+C 紧急停止 - **关注流** — 会话结束时提供实时的站点/表单动态报告 ### 结果、凭据库与报告 - **SQLite 存储** — 主机、发现(去重)、凭据,位于 `~/lanflux-data`(目录权限 `0700` / 文件权限 `0600`) - **凭据库** — `--vault` 浏览器;可通过 `LANFLUX_VAULT_PASSWORD` 进行可选的静态加密 - **导出** — JSON/CSV;除非使用 `--include-secrets`,否则对密钥进行脱敏处理 - **PDF 报告** — 真实严重程度(不产生虚假的“默认登录”警报) - **运行对比** — `--snapshot` / `--compare` 用于对比主机/端口差异 - **Webhooks** — `--webhook URL` 用于发送关键发现通知(兼容 Discord/Slack) - **范围锁定** — `scope.lock.json` 限制高噪 MITM 操作 - **Wiflux 移交** — `--from-wiflux` 显示已破解的 PSK / 匹配的 SSID ## 快速开始 ### 从源码安装(推荐) ``` git clone https://github.com/Leadrogue/Lanflux.git cd Lanflux pip install -e . --break-system-packages # 核心系统工具 sudo apt update sudo apt install -y arp-scan nmap smbclient curl iproute2 iputils-ping # 可选包(或使用内置安装程序) sudo apt install -y bettercap dsniff tcpdump tshark # MITM # 或: sudo lanflux --install-deps mitm,web,smb --install-deps-run ``` 完整指南:**[INSTALL.md](INSTALL.md)** · 逐步操作说明:**[docs/TUTORIAL.md](docs/TUTORIAL.md)** ### 运行 在 Kali/Debian 上,`sudo` 可能会将 `/usr/local/bin` 从 `PATH` 中忽略: ``` sudo env PATH="/usr/local/bin:$PATH" lanflux --no-splash # 自动映射 + 介入(实验配置:smart deep + spray-oriented) sudo env PATH="/usr/local/bin:$PATH" lanflux --profile lab --auto -p 20 --no-splash # 恢复之前的 hosts sudo env PATH="/usr/local/bin:$PATH" lanflux --resume --no-splash ``` ### 典型交互流程 1. **映射局域网**(菜单 ★ 1)— 按 Enter 提前结束 → 返回菜单 2. **深度侦察**(客户端或子网)— 先进行软性侦察,然后进入工具菜单 3. **攻击** — defaults、gain-access、spray(在侦察之后) 4. **MITM**(如有需要)— 选择客户端 / 模式;按 Enter 或 Space 停止实时会话 5. **报告与凭据库** — PDF、导出、对比 ## 文档 | 文档 | 描述 | |----------|-------------| | **[INSTALL.md](INSTALL.md)** | 依赖要求、安装方式、依赖包、疑难排查 | | **[docs/TUTORIAL.md](docs/TUTORIAL.md)** | 端到端授权测试演练 | | **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)** | 包结构与交战流程 | | **[docs/MITM.md](docs/MITM.md)** | 捕获模式、卸载清理、范围锁定 | | **[docs/LEGAL.md](docs/LEGAL.md)** | 授权与责任 | | **[CHANGELOG.md](CHANGELOG.md)** | 版本历史 | ## 使用示例 ``` lanflux --help # 交互式引导菜单 sudo lanflux --no-splash # 绑定到 subnet + office 配置(更安静的默认设置) sudo lanflux --profile office --scope 192.168.1.0/24 --auto --no-splash # 仅进行 Soft recon(无 deep chain) sudo lanflux --no-smart-engage --recon-only --auto --no-splash # Wiflux 关联之后 sudo lanflux --from-wiflux --no-splash # 在嘈杂的 MITM 之前锁定 Scope lanflux --scope-init 192.168.8.0/24 --scope-note "authorized pentest" # Vault / 导出 / 比较(无需 root) lanflux --vault lanflux --export-creds ~/lanflux-data/creds.json --include-secrets lanflux --findings lanflux --hosts lanflux --compare # 对新增保存的 secrets 进行可选的 Vault 加密 export LANFLUX_VAULT_PASSWORD='choose-a-strong-passphrase' sudo lanflux --vault-password "$LANFLUX_VAULT_PASSWORD" --no-splash ``` ### 键盘操作 | 按键 | 发现 / 剖析 | MITM / 工具包模块 | |-----|--------------------|------------------------| | **Enter** | 提前结束 → 菜单 | 停止实时 MITM / 长耗时工具 | | **Space** | 暂停表格(复制) / 恢复 | 跳过模块 | | **Ctrl+C** | 紧急停止 MITM + 清理退出 | 同左 | | **q**(发现模式) | 同 Enter(后备方案) | — | ## 交战配置 | 配置 | 发现 | 端口 | 智能深度 | Spray | MITM 默认 | 模块超时 | |---------|----------|-------|------------|-------|--------------|----------------| | **home** | 25秒 | quick | 是 | 否 | forms | 45秒 | | **office** | 40秒 | top100 | 是 | 否 | sites | 60秒 | | **lab** | 30秒 | quick | 是 | 是 | keylog | 90秒 | 仅在你想要覆盖配置时传入 `-p`、`--ports` 或 `--module-timeout`。 ## 目录结构 ``` lanflux/ cli.py entry + flags + utility commands session.py guided / auto session loop discover.py live host discovery profiler.py mass port/OS profile orchestrator.py soft recon + smart deep engage registry.py module registry recommend.py host-aware toolkit menu toolkit.py interactive + starred batch runner mission.py live MITM sessions mitm_engine.py shared MITM surface mitm_lifecycle.py process cleanup / emergency stop report.py PDF reports results.py SQLite (WAL) vault.py credential vault crypto_vault.py optional secret encryption scope.py scope lock modules/ engagement modules tools/ network + nmap helpers ``` 数据默认存储于 **`~/lanflux-data/`**(不在包目录树内)。 ## 依赖要求 - **Linux**(推荐 Kali / Debian / Ubuntu) - **Python 3.10+** - **Root** 权限以进行完整发现 / MITM (`sudo`) - 核心工具:`arp-scan`、`nmap`、`ip`、`ping`(详见 [INSTALL.md](INSTALL.md)) ## 开发 ``` git clone https://github.com/Leadrogue/Lanflux.git cd Lanflux pip install -e ".[dev]" --break-system-packages pytest -q ``` ## 法律声明 本工具仅供教育及**经授权的**渗透测试使用。未经授权访问计算机网络是违法行为。作者不对任何滥用行为负责。详见 [docs/LEGAL.md](docs/LEGAL.md)。 ## 相关项目 - **[Wiflux](https://github.com/Leadrogue/Wiflux)** — 无线接入、捕获与破解 - Issues 与发布版:[github.com/Leadrogue/Lanflux](https://github.com/Leadrogue/Lanflux) ## 开源协议 [MIT](LICENSE) · © Leadrogue
标签:Python, 中间人攻击, 内网扫描, 局域网, 插件系统, 无后门, 网络安全, 逆向工具, 隐私保护