
대화형 네트워크 스캐너

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
# 그런 다음 실행 파일을 PATH에 배치
$ chmod +x goscan
$ sudo mv ./goscan /usr/local/bin/goscan
# 프로젝트 클론 및 실행
$ git clone https://github.com/marco-lancini/goscan.git
$ cd goscan/
$ docker-compose up --build
$ docker-compose run cli /bin/bash
# DEP 초기화
root@cli:/go/src/github.com/marco-lancini/goscan $ make init
root@cli:/go/src/github.com/marco-lancini/goscan $ make setup
# 빌드
root@cli:/go/src/github.com/marco-lancini/goscan $ make build
# 멀티 플랫폼 바이너리를 생성하려면 make를 통해 cross 명령어 사용
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 |
|