Coder Social home page Coder Social logo

wood520 / goscan Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marco-lancini/goscan

0.0 1.0 0.0 2.24 MB

Interactive Network Scanner

Home Page: https://www.marcolancini.it/2018/blog-goscan/

License: MIT License

Dockerfile 1.14% Makefile 1.19% Go 96.40% Shell 1.27%

goscan's Introduction

GoScan

GoScan is a project I developed in order to learn @golang. It is an interactive network scanner client, featuring auto-complete, which provides abstraction and automation over nmap.

It can be used to perform host discovery, port scanning, and service enumeration in situations where being stealthy is not a priority, and time is limited (think at CTFs, OSCP, exams, etc.).

demo

Installation

Binary installation (Recommended)

Binaries are available from the Release page.

# macOS (darwin)
$ wget https://github.com/marco-lancini/goscan/releases/download/v1.5/goscan_1.5_darwin_amd64.zip
$ unzip goscan_1.5_darwin_amd64.zip

# Linux
$ wget https://github.com/marco-lancini/goscan/releases/download/v1.5/goscan_1.5_linux_amd64.zip
$ unzip goscan_1.5_linux_amd64.zip

# After that, place the executable in your PATH
$ chmod +x goscan
$ sudo mv ./goscan /usr/local/bin/goscan

Build from source

$ git clone https://github.com/marco-lancini/goscan.git
$ cd goscan/goscan/
$ make setup
$ make build

To create a multi-platform binary, use the cross command via make:

$ make cross

Docker

$ git clone https://github.com/marco-lancini/goscan.git
$ cd goscan/
$ docker-compose up --build

Usage

GoScan supports all the main steps of network enumeration:

  1. Host Discovery (ARP + ping sweep): sweep <TYPE> <TARGET>
  2. Port Scanning: portscan <TYPE> <TARGET>
  3. Service Enumeration: enumerate <TYPE> <POLITE/AGGRESSIVE> <TARGET>

Plus some more:

  1. DNS enumeration: dns <DISCOVERY/BRUTEFORCE/BRUTEFORCE_REVERSE> <DOMAIN> [<BASE_IP>]
  2. Domain enumeration (Extract windows domain information from enumeration data): domain <users/hosts/servers>

In addition, it has a few supporting commands:

  • Change the output folder (by default ~/goscan): set_output_folder <PATH>
  • Modify the default nmap switches: set_nmap_switches <SWEEP/TCP_FULL/TCP_STANDARD/TCP_VULN/UDP_STANDARD>
  • Modify the default wordlists: set_wordlists <FINGER_USER/FTP_USER/...>
  • Show live hosts: show hosts
  • Show detailed ports information: show ports
  • Reset the database: db reset

Full Command List

COMMAND SYNTAX
Set output folder set_output_folder <PATH>
Modify the default nmap switches set_nmap_switches <SWEEP/TCP_FULL/TCP_STANDARD/TCP_VULN/UDP_STANDARD>
Modify the default wordlists set_wordlists <FINGER_USER/FTP_USER/...>
Ping Sweep sweep <TYPE> <TARGET>
Port Scan portscan <TYPE> <TARGET>
Service Enumeration enumerate <TYPE> <POLITE/AGGRESSIVE> <TARGET>
DNS Enumeration dns <DISCOVERY/BRUTEFORCE/BRUTEFORCE_REVERSE> <DOMAIN> [<BASE_IP>]
Extract (windows) domain information from enumeration data domain <users/hosts/servers>
Show live hosts show hosts
Show detailed ports information show ports
Manage DB db <reset>
Exit this program exit

External Integrations

The Service Enumeration phase currently supports the following integrations:

WHAT INTEGRATION
ARP
  • nmap
  • netdiscover
DNS
  • nmap
  • dnsrecon
  • dnsenum
  • host
FINGER
  • nmap
  • finger-user-enum
FTP
  • nmap
  • ftp-user-enum
  • hydra
HTTP
  • nmap
  • nikto
  • dirb
  • sqlmap
  • fimap
RDP
  • nmap
SMB
  • nmap
  • enum4linux
  • nbtscan
  • samrdump
SMTP
  • nmap
  • smtp-user-enum
SNMP
  • nmap
  • snmpcheck
  • onesixtyone
  • snmpwalk
SSH
  • hydra
SQL
  • nmap

License

GoScan is released under a MIT License. See the LICENSE file for full details.

goscan's People

Contributors

marco-lancini avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.