참고: Docker 이미지는 앞으로 몇 주 안에 출시될 예정입니다.
Spidex는 네트워크 노출 입증을 우선으로 하는 지속적인 정찰 스캐너입니다. 대규모 포트 지향 스캐닝을 수행하고 인터넷에 연결된 모든 장치에서 정보를 수집합니다.
엔진은 인수로 받은 IP 주소를 대규모로 분석하는 역할을 담당합니다. 개방형 포트, 지리적 위치, 웹 기술 및 배너와 같은 각 대상에 대한 공개 정보를 수집합니다.
또한 실행 시간, 발견된 장치 및 시작/종료 날짜를 포함하는 모든 스캔 주기에 대한 보고서를 저장합니다.
스레드 및 대기열을 구현하면 검색 중 성능이 향상됩니다. 이러한 방식으로 요청이 병렬로 전송되고 각 주기의 실행 시간이 크게 단축됩니다. 현재 스레드 제한은 450/500개입니다.
options:
-h, --help show this help message and exit
-r RANGE, --range RANGE
Start IPv4 address
-t THREADS, --threads THREADS
Number of threads [Default: 50]
-f, FILE, --file File path with IPv4 ranges
-ti TIMEOUT, --timeout TIMEOUT
Socket timeout [Default: 0.5]
-p, --top-ports Scan only 20 most used ports
-a, --all-ports Scan 1000 most used ports
-c CUSTOM [CUSTOM ...], --custom-ports CUSTOM [CUSTOM ...]
Scan custom ports directly from terminal
-l, --logs Add a log file, useful in debugging
기본적으로 가장 많이 사용되는 포트가 포함된 단일 IPv4 주소 범위만 스캔합니다.
python3 engine.py -r 192.168.0.0,192.168.0.255 -t 150 --top-ports
여러 IPv4 주소 범위와 소켓 시간 초과(초)가 있는 텍스트 파일에서 스캔:
python3 engine.py -m ranges.csv -t 200 -ti 5 --all-ports
CIDR, 사용자 정의 포트 및 로그 옵션으로 스캔:
python3 engine.py -r 192.168.0.0/255 -t 350 -C 80 21 22 --logs
이는 검색 엔진에서 보낸 결과를 저장하고 이에 대한 작업을 수행할 수 있는 Flask 애플리케이션으로 구성됩니다. MongoDB를 데이터베이스로 사용하는데, 데이터가 구조화되어 있지 않기 때문에 이상적입니다.
방법 | 노선 | 설명 |
---|---|---|
우편 | API/제출/장치 | 단일 결과 제출 |
얻다 | API/장치 | 모든 결과 얻기 |
얻다 | API/장치/IP | IP 주소로 단일 결과 얻기 |
삭제 | API/삭제/장치/IP | 하나 삭제 |
우편 | API/제출/보고 | 보고서 스캔 제출 |
얻다 | API/보고서 | 모든 보고서 받기 |
두 구성 요소의 배포는 Docker를 통해 수행되므로 설치가 더 쉽고 종속성으로 인해 환경이 오염되는 것을 방지할 수 있습니다. DockerHub에서 이미지를 다운로드할 수 있습니다.
기본 배포의 경우 Docker Compose 파일에서 각 이미지에 대한 환경 변수를 설정합니다.
MONGO_INITDB_ROOT_USERNAME: USERNAME
MONGO_INITDB_ROOT_PASSWORD: PASSWORD
DB_SERVER_NAME: MONGODB_SERVER
DB_USERNAME: MONGODB_USER
DB_PASSWORD: MONGODB_PASSWORD
SERVER_ADDRESS: API_SERVER
Elasticsearch와 Kibana의 통합을 통해 효율적인 방식으로 데이터를 시각화하고 조작할 수 있는 그래픽 인터페이스를 가질 수 있습니다.
현재 프로젝트에는 데이터를 자동으로 삽입하는 방법이 없습니다. 그러나 Mongo-to-elastic-dump와 같은 도구를 사용하고 전체 스캔 주기 후에 로컬 시스템에서 흥미로운 그래프를 생성할 수 있습니다.
아이디어나 향후 기능이 있다면 자유롭게 참여하여 이 프로젝트를 계속해서 훌륭하게 만들어 보세요.
이 프로젝트는 교육 및 윤리적 테스트 목적으로만 제작되었습니다. 사전 상호 동의 없이 대상을 공격하기 위해 이 소프트웨어를 사용하는 것은 불법입니다. 모든 해당 지역, 주 및 연방법을 준수하는 것은 최종 사용자의 책임입니다. 개발자는 이 프로그램으로 인해 발생하는 오용이나 피해에 대해 책임을 지지 않으며 책임을 지지 않습니다.
아파치 2.0