chux0r / netbang

Scrappy scanner written in Go. Exploring the relevance of "scanning" in the new realm, what redteams need, and what methods can get us what we need quickly and, if at all possible, silently.
https://github.com/chux0r/netbang
GNU General Public License v2.0
2 stars 1 forks source link

Create build-test script for linux/bash #22

Closed chux0r closed 5 months ago

chux0r commented 5 months ago

Time to put some consistency in the mofo. Need os/arch, version, build, and one or more function-exercise-and-measure executions for each function.

chux0r commented 5 months ago

"test.bash" done (Linux).

mongoose@thoughtcrime:~/workbench/dev/golang/netbang$ ./test.bash 
Build test by: mongoose@thoughtcrime:/home/mongoose/workbench/dev/golang/netbang
Date:Mon Mar 25 04:34:56 PM CDT 2024
GO versiongo version go1.20.3 linux/amd64
Platform OS/arch details:Linux thoughtcrime 6.5.0-26-generic #26~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Mar 12 10:22:43 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
go build ./netbang.go ./ifstat.go ./portfu.go ./recon.go ./resolver.go
NETBANG TEST CASES:
./netbang

    USAGE:
    netbang [-h|--help]
        Print this help screen.
    netbang [-l|--lists] [<Listname>] 
        Print all usable pre-configured TCP and UDP port group lists and names. With <Listname>, show detailed port listing within <Listname>. 

    netbang [[FLAGS] <object(,optionals)>] <TARGET>
        CONFIG FLAGS
            [--env]
            Print local client environment details.
            [--ns] <IP(:port)> 
            Set DNS resolver to IP (and optionally port, 53 is default). Default setup uses 1.1.1.1:53 (Cloudflare).

        SCANNING FLAGS
            [-p|--ports] <num0(,num1,num2,...numN,numA-numZ,named_list)> 
            Specify port numbers, port ranges, and/or named portlists to use. TCP or UDP proto only. 
            (View named portlists with --lists)

            [-pf|--portsfile] <(directory path/)filename>
            Input from file a comma-delimited list of port numbers to scan. TCP or UDP proto only.

            [--proto] <tcp|udp>
            Specify protocol to use, tcp, udp, or icmp. Default is "tcp".

            [-t] <timeout, in ms>
            Network connect timeout to use. Defaults to 3 seconds (3000ms). To use network-defined timeout, set to -1.

        RECON FLAGS
            [--recon] <list> | [--recon] <service> <method> <apikey>
            Ninja recon module. List available modules with "list" or, specify a service, method, and optionally, API keys if needed. 

        <TARGET> 
            Object of scan or recon. Target must be an IP address, an IP/CIDR range, or a valid hostname.

        NOTE: Scanning and Recon are mutually exclusive. Setting scanning flags and recon flags together in the same invocation will behave unpredictably.

    =============EXECUTE: ./netbang 127.0.0.1

Bang target: [127.0.0.1], Portcount: [65]
=====================================================
TCP portbangers unleashed...💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Jobs run: 65
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:67] -->  [💀] ERROR: dial tcp 127.0.0.1:67: connect: connection refused
[127.0.0.1:113] --> [💀] ERROR: dial tcp 127.0.0.1:113: connect: connection refused
[127.0.0.1:53] -->  [💀] ERROR: dial tcp 127.0.0.1:53: connect: connection refused
[127.0.0.1:111] --> [💀] ERROR: dial tcp 127.0.0.1:111: connect: connection refused
[127.0.0.1:43] -->  [💀] ERROR: dial tcp 127.0.0.1:43: connect: connection refused
[127.0.0.1:110] --> [💀] ERROR: dial tcp 127.0.0.1:110: connect: connection refused
[127.0.0.1:25] -->  [💀] ERROR: dial tcp 127.0.0.1:25: connect: connection refused
[127.0.0.1:88] -->  [💀] ERROR: dial tcp 127.0.0.1:88: connect: connection refused
[127.0.0.1:23] -->  [💀] ERROR: dial tcp 127.0.0.1:23: connect: connection refused
[127.0.0.1:80] -->  [💀] ERROR: dial tcp 127.0.0.1:80: connect: connection refused
[127.0.0.1:22] -->  [💀] ERROR: dial tcp 127.0.0.1:22: connect: connection refused
[127.0.0.1:79] -->  [💀] ERROR: dial tcp 127.0.0.1:79: connect: connection refused
[127.0.0.1:21] -->  [💀] ERROR: dial tcp 127.0.0.1:21: connect: connection refused
[127.0.0.1:69] -->  [💀] ERROR: dial tcp 127.0.0.1:69: connect: connection refused
[127.0.0.1:20] -->  [💀] ERROR: dial tcp 127.0.0.1:20: connect: connection refused
[127.0.0.1:8443] -->    [💀] ERROR: dial tcp 127.0.0.1:8443: connect: connection refused
[127.0.0.1:68] -->  [💀] ERROR: dial tcp 127.0.0.1:68: connect: connection refused
[127.0.0.1:135] --> [💀] ERROR: dial tcp 127.0.0.1:135: connect: connection refused
[127.0.0.1:119] --> [💀] ERROR: dial tcp 127.0.0.1:119: connect: connection refused
[127.0.0.1:993] --> [💀] ERROR: dial tcp 127.0.0.1:993: connect: connection refused
[127.0.0.1:8081] -->    [💀] ERROR: dial tcp 127.0.0.1:8081: connect: connection refused
[127.0.0.1:990] --> [💀] ERROR: dial tcp 127.0.0.1:990: connect: connection refused
[127.0.0.1:8080] -->    [💀] ERROR: dial tcp 127.0.0.1:8080: connect: connection refused
[127.0.0.1:989] --> [💀] ERROR: dial tcp 127.0.0.1:989: connect: connection refused
[127.0.0.1:8008] -->    [💀] ERROR: dial tcp 127.0.0.1:8008: connect: connection refused
[127.0.0.1:8088] -->    [💀] ERROR: dial tcp 127.0.0.1:8088: connect: connection refused
[127.0.0.1:5900] -->    [💀] ERROR: dial tcp 127.0.0.1:5900: connect: connection refused
[127.0.0.1:853] --> [💀] ERROR: dial tcp 127.0.0.1:853: connect: connection refused
[127.0.0.1:5800] -->    [💀] ERROR: dial tcp 127.0.0.1:5800: connect: connection refused
[127.0.0.1:873] --> [💀] ERROR: dial tcp 127.0.0.1:873: connect: connection refused
[127.0.0.1:5061] -->    [💀] ERROR: dial tcp 127.0.0.1:5061: connect: connection refused
[127.0.0.1:587] --> [💀] ERROR: dial tcp 127.0.0.1:587: connect: connection refused
[127.0.0.1:547] --> [💀] ERROR: dial tcp 127.0.0.1:547: connect: connection refused
[127.0.0.1:5060] -->    [💀] ERROR: dial tcp 127.0.0.1:5060: connect: connection refused
[127.0.0.1:1521] -->    [💀] ERROR: dial tcp 127.0.0.1:1521: connect: connection refused
[127.0.0.1:389] --> [💀] ERROR: dial tcp 127.0.0.1:389: connect: connection refused
[127.0.0.1:1434] -->    [💀] ERROR: dial tcp 127.0.0.1:1434: connect: connection refused
[127.0.0.1:179] --> [💀] ERROR: dial tcp 127.0.0.1:179: connect: connection refused
[127.0.0.1:1433] -->    [💀] ERROR: dial tcp 127.0.0.1:1433: connect: connection refused
[127.0.0.1:177] --> [💀] ERROR: dial tcp 127.0.0.1:177: connect: connection refused
[127.0.0.1:1337] -->    [💀] ERROR: dial tcp 127.0.0.1:1337: connect: connection refused
[127.0.0.1:143] --> [💀] ERROR: dial tcp 127.0.0.1:143: connect: connection refused
[127.0.0.1:1270] -->    [💀] ERROR: dial tcp 127.0.0.1:1270: connect: connection refused
[127.0.0.1:139] --> [💀] ERROR: dial tcp 127.0.0.1:139: connect: connection refused
[127.0.0.1:137] --> [💀] ERROR: dial tcp 127.0.0.1:137: connect: connection refused
[127.0.0.1:995] --> [💀] ERROR: dial tcp 127.0.0.1:995: connect: connection refused
[127.0.0.1:5432] -->    [💀] ERROR: dial tcp 127.0.0.1:5432: connect: connection refused
[127.0.0.1:593] --> [💀] ERROR: dial tcp 127.0.0.1:593: connect: connection refused
[127.0.0.1:636] --> [💀] ERROR: dial tcp 127.0.0.1:636: connect: connection refused
[127.0.0.1:513] --> [💀] ERROR: dial tcp 127.0.0.1:513: connect: connection refused
[127.0.0.1:546] --> [💀] ERROR: dial tcp 127.0.0.1:546: connect: connection refused
[127.0.0.1:3389] -->    [💀] ERROR: dial tcp 127.0.0.1:3389: connect: connection refused
[127.0.0.1:3333] -->    [💀] ERROR: dial tcp 127.0.0.1:3333: connect: connection refused
[127.0.0.1:515] --> [💀] ERROR: dial tcp 127.0.0.1:515: connect: connection refused
[127.0.0.1:443] --> [💀] ERROR: dial tcp 127.0.0.1:443: connect: connection refused
[127.0.0.1:464] --> [💀] ERROR: dial tcp 127.0.0.1:464: connect: connection refused
[127.0.0.1:2483] -->    [💀] ERROR: dial tcp 127.0.0.1:2483: connect: connection refused
[127.0.0.1:512] --> [💀] ERROR: dial tcp 127.0.0.1:512: connect: connection refused
[127.0.0.1:2375] -->    [💀] ERROR: dial tcp 127.0.0.1:2375: connect: connection refused
[127.0.0.1:514] --> [💀] ERROR: dial tcp 127.0.0.1:514: connect: connection refused
[127.0.0.1:2484] -->    [💀] ERROR: dial tcp 127.0.0.1:2484: connect: connection refused
[127.0.0.1:2222] -->    [💀] ERROR: dial tcp 127.0.0.1:2222: connect: connection refused
[127.0.0.1:445] --> [💀] ERROR: dial tcp 127.0.0.1:445: connect: connection refused
[127.0.0.1:3306] -->    [💀] ERROR: dial tcp 127.0.0.1:3306: connect: connection refused
[127.0.0.1:2323] -->    [💀] ERROR: dial tcp 127.0.0.1:2323: connect: connection refused
=============EXECUTE: "53,161,10000" -> ../netbang_ports.tmp
./netbang --proto udp --portsfile ../netbang_ports.tmp -t 500 127.0.0.1 && rm ../netbang_ports.tmp
../netbang_ports.tmp:53,161,10000
Bang target: [127.0.0.1], Portcount: [65]
=====================================================
UDP portbangers unleashed...💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Jobs run: 65
127.0.0.1 Scan Results
================================================================================
[127.0.0.1:8443] -->    [💀] ERROR: read udp 127.0.0.1:35495->127.0.0.1:8443: read: connection refused
[127.0.0.1:20] -->  [💀] ERROR: read udp 127.0.0.1:59089->127.0.0.1:20: read: connection refused
[127.0.0.1:21] -->  [💀] ERROR: read udp 127.0.0.1:48319->127.0.0.1:21: read: connection refused
[127.0.0.1:22] -->  [💀] ERROR: read udp 127.0.0.1:33564->127.0.0.1:22: read: connection refused
[127.0.0.1:23] -->  [💀] ERROR: read udp 127.0.0.1:37464->127.0.0.1:23: read: connection refused
[127.0.0.1:25] -->  [💀] ERROR: read udp 127.0.0.1:56738->127.0.0.1:25: read: connection refused
[127.0.0.1:43] -->  [💀] ERROR: read udp 127.0.0.1:36555->127.0.0.1:43: read: connection refused
[127.0.0.1:53] -->  [💀] ERROR: read udp 127.0.0.1:34091->127.0.0.1:53: read: connection refused
[127.0.0.1:67] -->  [💀] ERROR: read udp 127.0.0.1:39643->127.0.0.1:67: read: connection refused
[127.0.0.1:68] -->  [💀] ERROR: read udp 127.0.0.1:43926->127.0.0.1:68: read: connection refused
[127.0.0.1:69] -->  [💀] ERROR: read udp 127.0.0.1:40656->127.0.0.1:69: read: connection refused
[127.0.0.1:79] -->  [💀] ERROR: read udp 127.0.0.1:60566->127.0.0.1:79: read: connection refused
[127.0.0.1:80] -->  [💀] ERROR: read udp 127.0.0.1:55093->127.0.0.1:80: read: connection refused
[127.0.0.1:88] -->  [💀] ERROR: read udp 127.0.0.1:33755->127.0.0.1:88: read: connection refused
[127.0.0.1:110] --> [💀] ERROR: read udp 127.0.0.1:57317->127.0.0.1:110: read: connection refused
[127.0.0.1:111] --> [💀] ERROR: read udp 127.0.0.1:56641->127.0.0.1:111: read: connection refused
[127.0.0.1:113] --> [💀] ERROR: read udp 127.0.0.1:43395->127.0.0.1:113: read: connection refused
[127.0.0.1:119] --> [💀] ERROR: read udp 127.0.0.1:42908->127.0.0.1:119: read: connection refused
[127.0.0.1:135] --> [💀] ERROR: read udp 127.0.0.1:55746->127.0.0.1:135: read: connection refused
[127.0.0.1:137] --> [💀] ERROR: read udp 127.0.0.1:38400->127.0.0.1:137: read: connection refused
[127.0.0.1:139] --> [💀] ERROR: read udp 127.0.0.1:41600->127.0.0.1:139: read: connection refused
[127.0.0.1:143] --> [💀] ERROR: read udp 127.0.0.1:56776->127.0.0.1:143: read: connection refused
[127.0.0.1:177] --> [💀] ERROR: read udp 127.0.0.1:54604->127.0.0.1:177: read: connection refused
[127.0.0.1:179] --> [💀] ERROR: read udp 127.0.0.1:55417->127.0.0.1:179: read: connection refused
[127.0.0.1:389] --> [💀] ERROR: read udp 127.0.0.1:38465->127.0.0.1:389: read: connection refused
[127.0.0.1:443] --> [💀] ERROR: read udp 127.0.0.1:43983->127.0.0.1:443: read: connection refused
[127.0.0.1:445] --> [💀] ERROR: read udp 127.0.0.1:49431->127.0.0.1:445: read: connection refused
[127.0.0.1:464] --> [💀] ERROR: read udp 127.0.0.1:38977->127.0.0.1:464: read: connection refused
[127.0.0.1:512] --> [💀] ERROR: read udp 127.0.0.1:46283->127.0.0.1:512: read: connection refused
[127.0.0.1:513] --> [💀] ERROR: read udp 127.0.0.1:46656->127.0.0.1:513: read: connection refused
[127.0.0.1:514] --> [💀] ERROR: read udp 127.0.0.1:59898->127.0.0.1:514: read: connection refused
[127.0.0.1:515] --> [💀] ERROR: read udp 127.0.0.1:45926->127.0.0.1:515: read: connection refused
[127.0.0.1:546] --> [💀] ERROR: read udp 127.0.0.1:49179->127.0.0.1:546: read: connection refused
[127.0.0.1:547] --> [💀] ERROR: read udp 127.0.0.1:46342->127.0.0.1:547: read: connection refused
[127.0.0.1:587] --> [💀] ERROR: read udp 127.0.0.1:53724->127.0.0.1:587: read: connection refused
[127.0.0.1:593] --> [💀] ERROR: read udp 127.0.0.1:36115->127.0.0.1:593: read: connection refused
[127.0.0.1:636] --> [💀] ERROR: read udp 127.0.0.1:54299->127.0.0.1:636: read: connection refused
[127.0.0.1:853] --> [💀] ERROR: read udp 127.0.0.1:36013->127.0.0.1:853: read: connection refused
[127.0.0.1:873] --> [💀] ERROR: read udp 127.0.0.1:52331->127.0.0.1:873: read: connection refused
[127.0.0.1:989] --> [💀] ERROR: read udp 127.0.0.1:47880->127.0.0.1:989: read: connection refused
[127.0.0.1:990] --> [💀] ERROR: read udp 127.0.0.1:58283->127.0.0.1:990: read: connection refused
[127.0.0.1:993] --> [💀] ERROR: read udp 127.0.0.1:43283->127.0.0.1:993: read: connection refused
[127.0.0.1:995] --> [💀] ERROR: read udp 127.0.0.1:56470->127.0.0.1:995: read: connection refused
[127.0.0.1:1270] -->    [💀] ERROR: read udp 127.0.0.1:51623->127.0.0.1:1270: read: connection refused
[127.0.0.1:1337] -->    [💀] ERROR: read udp 127.0.0.1:58910->127.0.0.1:1337: read: connection refused
[127.0.0.1:1433] -->    [💀] ERROR: read udp 127.0.0.1:37864->127.0.0.1:1433: read: connection refused
[127.0.0.1:1434] -->    [💀] ERROR: read udp 127.0.0.1:51303->127.0.0.1:1434: read: connection refused
[127.0.0.1:1521] -->    [💀] ERROR: read udp 127.0.0.1:51043->127.0.0.1:1521: read: connection refused
[127.0.0.1:2222] -->    [💀] ERROR: read udp 127.0.0.1:55388->127.0.0.1:2222: read: connection refused
[127.0.0.1:2323] -->    [💀] ERROR: read udp 127.0.0.1:40423->127.0.0.1:2323: read: connection refused
[127.0.0.1:2375] -->    [💀] ERROR: read udp 127.0.0.1:54536->127.0.0.1:2375: read: connection refused
[127.0.0.1:2483] -->    [💀] ERROR: read udp 127.0.0.1:55484->127.0.0.1:2483: read: connection refused
[127.0.0.1:2484] -->    [💀] ERROR: read udp 127.0.0.1:56943->127.0.0.1:2484: read: connection refused
[127.0.0.1:3306] -->    [💀] ERROR: read udp 127.0.0.1:60174->127.0.0.1:3306: read: connection refused
[127.0.0.1:3333] -->    [💀] ERROR: read udp 127.0.0.1:60901->127.0.0.1:3333: read: connection refused
[127.0.0.1:3389] -->    [💀] ERROR: read udp 127.0.0.1:36534->127.0.0.1:3389: read: connection refused
[127.0.0.1:5060] -->    [💀] ERROR: read udp 127.0.0.1:40766->127.0.0.1:5060: read: connection refused
[127.0.0.1:5061] -->    [💀] ERROR: read udp 127.0.0.1:44282->127.0.0.1:5061: read: connection refused
[127.0.0.1:5432] -->    [💀] ERROR: read udp 127.0.0.1:33680->127.0.0.1:5432: read: connection refused
[127.0.0.1:5800] -->    [💀] ERROR: read udp 127.0.0.1:39653->127.0.0.1:5800: read: connection refused
[127.0.0.1:5900] -->    [💀] ERROR: read udp 127.0.0.1:52705->127.0.0.1:5900: read: connection refused
[127.0.0.1:8081] -->    [💀] ERROR: read udp 127.0.0.1:35638->127.0.0.1:8081: read: connection refused
[127.0.0.1:8088] -->    [💀] ERROR: read udp 127.0.0.1:44653->127.0.0.1:8088: read: connection refused
[127.0.0.1:8008] -->    [💀] ERROR: read udp 127.0.0.1:51008->127.0.0.1:8008: read: connection refused
[127.0.0.1:8080] -->    [💀] ERROR: read udp 127.0.0.1:53980->127.0.0.1:8080: read: connection refused
=============EXECUTE: ./netbang --recon list

Ninja recon services and methods available:
    [shodan] :: Shodan is a search engine for Internet-connected devices. Requires API key. See https://developer.shodan.io/api
    [dns]    :: DNS performs a lookup on a hostname, reverse lookup on an IP address.=============EXECUTE: ./netbang --recon dns amazon.com

DNS lookup: [scanme.org] Resolver: [1.1.1.1] Port: 53
Host [scanme.org] resolves as:
    IP #1: 45.33.32.156
    IP #2: 2600:3c01::f03c:91ff:fe18:bb2f
=============EXECUTE: ./netbang --recon dns --ns 8.8.8.8 github.com
2024/03/25 16:34:57 Nameserver-set host IP: [8.8.8.8]
Custom DNS resolver:  8.8.8.8

DNS lookup: [github.com] Resolver: [8.8.8.8] Port: 53
Host [github.com] resolves as:
    IP #1: 140.82.113.4
=============EXECUTE: ./netbang --recon shodan hostip 1.1.1.1

Unparsed Shodan data for target 1.1.1.1:
&{ [161 2082 2083 69 2086 2087 2095 80 8880 8080 53 8443 443 2096] 1.1.1.1 Cloudflare, Inc. [one.one.one.one] APNIC and Cloudflare DNS Resolver project [] AS13335 2024-03-25T02:57:12.346236 [0xc0000ec180 0xc0000ec300 0xc0000ec480 0xc0000ec600 0xc0000ec780 0xc0000ec900 0xc0000eca80 0xc0000ecc00 0xc0000ecd80 0xc0000ecf00 0xc0000ed080 0xc0000ed200 0xc0000ed380 0xc0000ed500 0xc0000ed680] {The Rocks NSW 0 -33.85923 151.2081 Australia AU   0}}
chux0r commented 5 months ago

created new issue for powershell component. Closing.