
Legion is an open source, easy-to-use, super-extensible and semi-automated network penetration testing tool that aids in discovery, reconnaissance and exploitation of information systems.
Legion 仓库正在迁移至 https://github.com/hackman238/legion。所有未来的发布、更新等将从那里进行。重大改进即将到来!此组织下的此仓库将不再维护。

Legion 是 SECFORCE 的 Sparta 的一个分支,是一个开源、易用、高度可扩展、半自动化的网络渗透测试框架,有助于信息系统的发现、侦察和利用。
使用以下命令安装 NMAP 7.93:
sudo apt install snapd -y
sudo systemctl enable --now snapd.apparmor
sudo systemctl start snapd
sudo snap install nmap
sudo mv /usr/bin/nmap /usr/bin/nmap-7.92
sudo ln -s /snap/bin/nmap /usr/bin/nmap
然后使用以下命令验证版本是否为 7.93:
nmap -v
更新 apparmor 配置文件:
vi /var/lib/snapd/apparmor/profiles/snap.nmap.nmap
转到第 300 行,创建新行并添加:
owner @{HOME}/.local/share/legion/tmp/** rw,
/etc/ssl/kali.cnf r,
重启
RunIt 脚本(docker/runIt.sh)支持:
可以在任何 Linux 发行版上运行 Docker 镜像,但不同的发行版在让 Docker 应用程序连接到 X 服务器方面有不同的障碍。欢迎大家尝试解决这些障碍并为 runIt 创建 PR。
目前,我们只能确保在 Ubuntu 20.04 上使用传统安装方法能正常运行。虽然它应该能在 ParrotOS、Kali 和其他发行版上工作,但在我们为每个发行版打包并放入仓库之前,平台的更新可能会改变和破坏依赖关系。Kali 已原生包含并默认安装。
提供两种安装方法:
建议使用 Docker 方法而非传统安装。这是因为所有依赖项要求,以及在非默认干净环境中可能出现的复杂情况。
注意:Legion 的 Docker 版本 不太可能 在以 root 身份或在 root X 下运行时工作!
Docker 方法支持多种环境,请选择适合您的环境。
假设已安装并设置好 Docker 和 X11(包括以非 root 用户身份运行 Docker 命令)。
务必遵循所有以非 root 用户运行的说明。跳过任何步骤都会导致 Docker 与 X 服务器通信时出现问题。
请参阅此处 配置 Docker 的详细说明,以及此处 设置 Docker 允许非 root 用户 启用容器以非 root 用户运行并授予 Docker 组 SSH 权限的说明。
在终端中:
git clone https://github.com/GoVanguard/legion.git
cd legion/docker
chmod +x runIt.sh
./runIt.sh
假设已安装并设置好 Docker 和 X11。
将 X.X.X.X 替换为运行远程 X11 的 IP 地址。
在终端中:
git clone https://github.com/GoVanguard/legion.git
cd legion/docker
chmod +x runIt.sh
./runIt.sh X.X.X.X
假设:
请参阅 Docker 详细说明 此处
将 X.X.X.X 替换为 Xming 注册自身的 IP 地址。右键单击系统托盘中的 Xming -> 查看日志,查看 "XdmcpRegisterConnection: newAddress" 旁边的 IP。
在终端中:
git clone https://github.com/GoVanguard/legion.git
cd legion/docker
sudo chmod +x runIt.sh
sudo ./runIt.sh X.X.X.X
为什么?别这样做。:)
尚未包含在 runIt.sh 脚本中。可以使用 socat 设置。
请参阅 此处说明
要安装通常需要的 Docker 组件并为 Docker 设置环境,在终端中运行:
sudo apt-get update
sudo apt-get install -y docker.io python3-pip -y
sudo groupadd docker
pip install --user docker-compose
要允许非 root 用户运行 Docker 命令,在终端中运行:
sudo usermod -aG docker $USER
sudo chmod 666 /var/run/docker.sock
sudo xhost +local:docker
顺序很重要,原因是端口保留。如果您已安装 WSL、HyperV 或 Docker Desktop,请先卸载这些功能。
netsh int ipv4 add excludedportrange protocol=tcp startport=2375 numberofports=1
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
dism.exe /Online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce python-pip -y
sudo apt autoremove
sudo usermod -aG docker $USER
pip install --user docker-compose
echo "export DOCKER_HOST=tcp://localhost:2375" >> ~/.bashrc && source ~/.bashrc
请尽可能使用 Docker 镜像!要支持各种平台及其各自的怪癖变得越来越困难。
假设使用的是 Ubuntu、Kali 或 Parrot Linux,并已安装 Python 3.6。
在终端中:
git clone https://github.com/GoVanguard/legion.git
cd legion
sudo chmod +x startLegion.sh
sudo ./startLegion.sh
要运行所有测试用例,在根目录下执行:
python -m unittest
可以通过编辑 legion.conf 文件轻松修改选定端口和关联终端操作的配置。
[StagedNmapSettings] 定义了将按顺序扫描哪些端口以及将调用的 NSE 脚本。
[SchedulerSettings] 定义了根据端口扫描结果自动执行哪些操作。
sudoedit /root/.local/share/legion/legion.conf
Legion 根据 GNU General Public License v3.0 许可。请查阅 LICENSE 了解更多信息。
smbenum.sh 使用的 ms08-067_check 脚本归功于 Bernardo Damele A.G.docker images