
Legion은 정보 시스템의 발견, 정찰 및 익스플로잇을 지원하는 오픈 소스, 사용하기 쉬운, 매우 확장 가능한 반자동 네트워크 침투 테스트 도구입니다.
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)는 다음을 지원합니다:
Docker 이미지는 모든 Linux 배포판에서 실행할 수 있지만, 배포판마다 Docker 앱이 X 서버에 연결할 수 있도록 하는 데 각기 다른 장애물이 있습니다. 누구든지 이러한 장애물을 해결하고 runIt에 대한 PR을 작성해 주시기 바랍니다.
현재로서는 기존 설치 방식을 사용할 때 Ubuntu 20.04에서만 올바른 작동을 보장할 수 있습니다. ParrotOS, Kali 등에서도 작동해야 하지만, Legion이 각 배포판의 리포지토리에 패키징되어 배포될 때까지는 플랫폼 업데이트가 종속성을 변경하고 깨뜨리는 상황이 발생할 수 있습니다. 네이티브 패키지가 존재하며 Kali에는 기본적으로 포함되어 있습니다.
두 가지 설치 방법이 있습니다:
기존 설치보다 Docker 방법을 사용하는 것이 바람직합니다. 이는 모든 종속성 요구 사항과 깨끗하고 기본이 아닌 설치 환경에서 발생하는 복잡성 때문입니다.
참고: Legion의 Docker 버전은 root로 실행하거나 root X에서 실행할 경우 작동하지 않을 가능성이 높습니다!
Docker 방법은 다양한 환경을 지원하므로, 자신에게 맞는 환경을 선택하세요.
Docker와 X11이 설치 및 설정되어 있다고 가정합니다 (비-root 사용자로 Docker 명령 실행 포함).
비-root 사용자로 실행하기 위한 모든 지침을 따르는 것이 중요합니다. 하나라도 건너뛰면 Docker가 X 서버와 통신하는 데 문제가 발생합니다.
Docker 설정에 대한 자세한 지침은 여기를 참조하고, 비-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을 우클릭 -> View log를 선택하고 "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, Hyper-V 또는 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