
Интерактивный сетевой сканер

GoScan — это интерактивный клиент для сканирования сети с автодополнением, который предоставляет абстракцию и автоматизацию над nmap.
Хотя он начинался как небольшой побочный проект, который я разработал, чтобы изучить @golang, GoScan теперь может использоваться для обнаружения хостов, сканирования портов и перечисления служб не только в ситуациях, где скрытность не является приоритетом и время ограничено (например, CTF, OSCP, экзамены и т.д.), но и (с некоторыми настройками в его конфигурации) во время профессиональных проектов.
GoScan также особенно подходит для нестабильных сред (например, ненадежное сетевое соединение, отсутствие screen и т.д.), поскольку он запускает сканирования и сохраняет их состояние в базе данных SQLite. Сканирования выполняются в фоновом режиме (отдельно от основного потока), поэтому даже если соединение с машиной, на которой запущен GoScan, потеряно, результаты могут быть загружены асинхронно (подробнее об этом ниже). То есть данные можно импортировать в GoScan на разных этапах процесса, без необходимости перезапускать весь процесс с нуля, если что-то пошло не так.
Кроме того, этап перечисления служб интегрирует набор других инструментов (например, EyeWitness, Hydra, nikto и т.д.), каждый из которых предназначен для работы с определенной службой.

Бинарники доступны на странице Релизов.
# Linux (64bit)
$ wget https://github.com/marco-lancini/goscan/releases/download/v2.4/goscan_2.4_linux_amd64.zip
$ unzip goscan_2.4_linux_amd64.zip
# Linux (32bit)
$ wget https://github.com/marco-lancini/goscan/releases/download/v2.4/goscan_2.4_linux_386.zip
$ unzip goscan_2.4_linux_386.zip
# After that, place the executable in your PATH
$ chmod +x goscan
$ sudo mv ./goscan /usr/local/bin/goscan
# Clone and spin up the project
$ git clone https://github.com/marco-lancini/goscan.git
$ cd goscan/
$ docker-compose up --build
$ docker-compose run cli /bin/bash
# Initialize DEP
root@cli:/go/src/github.com/marco-lancini/goscan $ make init
root@cli:/go/src/github.com/marco-lancini/goscan $ make setup
# Build
root@cli:/go/src/github.com/marco-lancini/goscan $ make build
# To create a multi-platform binary, use the cross command via make
root@cli:/go/src/github.com/marco-lancini/goscan $ make cross
GoScan поддерживает все основные этапы сетевого перечисления:

Этап перечисления служб в настоящее время поддерживает следующие интеграции:
GoScan выпущен под лицензией MIT. Подробности см. в файле LICENSE.
| Шаг | Команды |
|---|
| 1. Загрузка целей |
|
| 2. Обнаружение хостов |
|
| 3. Сканирование портов |
|
| 4. Перечисление служб |
|
| 5. Специальные сканирования |
|
| Утилиты |
|
| ЧТО | ИНТЕГРАЦИЯ |
|---|
| ARP |
|
| DNS |
|
| FINGER |
|
| FTP |
|
| HTTP |
|
| RDP |
|
| SMB |
|
| SMTP |
|
| SNMP |
|
| SSH |
|
| SQL |
|
| VNC |
|