All Projects → marco-lancini → Goscan

marco-lancini / Goscan

Licence: mit
Interactive Network Scanner

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Goscan

Trigmap
A wrapper for Nmap to quickly run network scans
Stars: ✭ 132 (-83.4%)
Mutual labels:  pentesting, nmap
Awesome Nmap Grep
Awesome Nmap Grep
Stars: ✭ 203 (-74.47%)
Mutual labels:  pentesting, nmap
Docker offensive elk
Elasticsearch for Offensive Security
Stars: ✭ 112 (-85.91%)
Mutual labels:  pentesting, nmap
Gorsair
Gorsair hacks its way into remote docker containers that expose their APIs
Stars: ✭ 678 (-14.72%)
Mutual labels:  pentesting, nmap
Docker Onion Nmap
Scan .onion hidden services with nmap using Tor, proxychains and dnsmasq in a minimal alpine Docker container.
Stars: ✭ 345 (-56.6%)
Mutual labels:  pentesting, nmap
Nmap Nse Info
Browse and search through nmap's NSE scripts.
Stars: ✭ 54 (-93.21%)
Mutual labels:  pentesting, nmap
Webmap
A Python tool used to automate the execution of the following tools : Nmap , Nikto and Dirsearch but also to automate the report generation during a Web Penetration Testing
Stars: ✭ 188 (-76.35%)
Mutual labels:  pentesting, nmap
Crips
IP Tools To quickly get information about IP Address's, Web Pages and DNS records.
Stars: ✭ 272 (-65.79%)
Mutual labels:  pentesting, nmap
Osint tips
OSINT
Stars: ✭ 322 (-59.5%)
Mutual labels:  pentesting, nmap
Faraday
Faraday introduces a new concept - IPE (Integrated Penetration-Test Environment) a multiuser Penetration test IDE. Designed for distributing, indexing, and analyzing the data generated during a security audit.
Stars: ✭ 3,198 (+302.26%)
Mutual labels:  pentesting, nmap
A Red Teamer Diaries
RedTeam/Pentest notes and experiments tested on several infrastructures related to professional engagements.
Stars: ✭ 382 (-51.95%)
Mutual labels:  pentesting, nmap
Rustscan
🤖 The Modern Port Scanner 🤖
Stars: ✭ 5,218 (+556.35%)
Mutual labels:  pentesting, nmap
Nmap
Idiomatic nmap library for go developers
Stars: ✭ 391 (-50.82%)
Mutual labels:  pentesting, nmap
Gourdscanv2
被动式漏洞扫描系统
Stars: ✭ 740 (-6.92%)
Mutual labels:  pentesting
Serverscan
ServerScan一款使用Golang开发的高并发网络扫描、服务探测工具。
Stars: ✭ 674 (-15.22%)
Mutual labels:  nmap
Dirsearch
Web path scanner
Stars: ✭ 7,246 (+811.45%)
Mutual labels:  pentesting
Perun
Perun是一款主要适用于乙方安服、渗透测试人员和甲方RedTeam红队人员的网络资产漏洞扫描器/扫描框架
Stars: ✭ 773 (-2.77%)
Mutual labels:  pentesting
Diamorphine
LKM rootkit for Linux Kernels 2.6.x/3.x/4.x/5.x (x86/x86_64 and ARM64)
Stars: ✭ 725 (-8.81%)
Mutual labels:  pentesting
Nmap Bootstrap Xsl
A Nmap XSL implementation with Bootstrap.
Stars: ✭ 665 (-16.35%)
Mutual labels:  nmap
Spiderfoot
SpiderFoot automates OSINT for threat intelligence and mapping your attack surface.
Stars: ✭ 6,882 (+765.66%)
Mutual labels:  pentesting

GoScan is an interactive network scanner client, featuring auto-completion, which provides abstraction and automation over nmap.

Although it started as a small side-project I developed in order to learn @golang, GoScan can now be used to perform host discovery, port scanning, and service enumeration not only in situations where being stealthy is not a priority and time is limited (think at CTFs, OSCP, exams, etc.), but also (with a few tweaks in its configuration) during professional engagements.

GoScan is also particularly suited for unstable environments (think unreliable network connectivity, lack of "screen", etc.), given that it fires scans and maintain their state in an SQLite database. Scans run in the background (detached from the main thread), so even if connection to the box running GoScan is lost, results can be uploaded asynchronously (more on this below). That is, data can be imported into GoScan at different stages of the process, without the need to restart the entire process from scratch if something goes wrong.

In addition, the Service Enumeration phase integrates a collection of other tools (e.g., EyeWitness, Hydra, nikto, etc.), each one tailored to target a specific service.

demo

Installation

Binary installation (Recommended)

Binaries are available from the Release page.

# 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

Build from source

# 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
[email protected]:/go/src/github.com/marco-lancini/goscan $ make init
[email protected]:/go/src/github.com/marco-lancini/goscan $ make setup

# Build
[email protected]:/go/src/github.com/marco-lancini/goscan $ make build

# To create a multi-platform binary, use the cross command via make
[email protected]:/go/src/github.com/marco-lancini/goscan $ make cross

Usage

GoScan supports all the main steps of network enumeration:

process

Step Commands
1. Load targets
  • Add a single target via the CLI (must be a valid CIDR): load target SINGLE <IP/32>
  • Upload multiple targets from a text file or folder: load target MULTI <path-to-file>
2. Host Discovery
  • Perform a Ping Sweep: sweep <TYPE> <TARGET>
  • Or load results from a previous discovery:
    • Add a single alive host via the CLI (must be a /32): load alive SINGLE <IP>
    • Upload multiple alive hosts from a text file or folder: load alive MULTI <path-to-file>
3. Port Scanning
  • Perform a port scan: portscan <TYPE> <TARGET>
  • Or upload nmap results from XML files or folder: load portscan <path-to-file>
4. Service Enumeration
  • Dry Run (only show commands, without performing them): enumerate <TYPE> DRY <TARGET>
  • Perform enumeration of detected services: enumerate <TYPE> <POLITE/AGGRESSIVE> <TARGET>
5. Special Scans
  • EyeWitness
    • Take screenshots of websites, RDP services, and open VNC servers (KALI ONLY): special eyewitness
    • EyeWitness.py needs to be in the system path
  • Extract (Windows) domain information from enumeration data
    • special domain <users/hosts/servers>
  • DNS
    • Enumerate DNS (nmap, dnsrecon, dnsenum): special dns DISCOVERY <domain>
    • Bruteforce DNS: special dns BRUTEFORCE <domain>
    • Reverse Bruteforce DNS: special dns BRUTEFORCE_REVERSE <domain> <base_IP>
Utils
  • Show results: show <targets/hosts/ports>
  • Automatically configure settings by loading a config file: set config_file <PATH>
  • 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> <SWITCHES>
  • Modify the default wordlists: set_wordlists <FINGER_USER/FTP_USER/...> <PATH>

External Integrations

The Service Enumeration phase currently supports the following integrations:

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

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].