diff --git a/.gitignore b/.gitignore index d9005f2..9da1799 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +data + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] diff --git a/README.md b/README.md index 1ec5b55..49c4c19 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,15 @@ -# Polyboard - -### A very dynamic dashboard, with many features +# Auto-Shodanner +(name in progress) -Polyboard is basically just a fancy dashboard template, but with a very extensible module system, and security features! +Shodan is expensive, IVRE is painful to set up, and there aren't really any other good alternitives. So why not make my own version that is good in those regards? -[Read the wiki!](https://github.com/Astatin3/Modulator/wiki) - -![alt text](https://raw.githubusercontent.com/Astatin3/images/main/Modulator-1.png) +Todo: +- Actually save data +- Scan settings page +- data on currently ongoing scan +- Result data Visualization +- Result data search page +- Implement many protocols. +- Performance optimizations +- Make scanning faster. +- Make into a Debian package? \ No newline at end of file diff --git a/libs/scanner.py b/libs/scanner.py index bf8f430..16ddece 100644 --- a/libs/scanner.py +++ b/libs/scanner.py @@ -32,7 +32,7 @@ for script in utils.listSubdirs(utils.getRoot("libs/scanners/")): def getScanner(port: int, protocol: str): for scanner in portScanners: - if str(scanner.__name__) == f'{port}.{protocol}.py': + if str(scanner.__name__) == f'{protocol}{port}.py': return scanner if protocol == "tcp": return tcpScanner @@ -99,8 +99,6 @@ def processStarted(): def parseNmapResult(result: str, address: str): - return - ports = scanutils.getPorts(result) hostname = scanutils.getHostname(result) @@ -120,7 +118,7 @@ def parseNmapResult(result: str, address: str): resultstr += f'[{scanner.__name__}]\n' resultstr += scanner.scan(address, portInt) + "\n" - # print(resultstr) + print(resultstr) class ScanTask: diff --git a/libs/scanners/tcp3128.py b/libs/scanners/tcp3128.py new file mode 100644 index 0000000..086343b --- /dev/null +++ b/libs/scanners/tcp3128.py @@ -0,0 +1,4 @@ +import libs.scanners.tcp80 + +def scan(host:str, port:int): + return tcp80.scan(host, port) \ No newline at end of file diff --git a/libs/scanners/443.tcp.py b/libs/scanners/tcp443.py similarity index 100% rename from libs/scanners/443.tcp.py rename to libs/scanners/tcp443.py diff --git a/libs/scanners/tcp591.py b/libs/scanners/tcp591.py new file mode 100644 index 0000000..086343b --- /dev/null +++ b/libs/scanners/tcp591.py @@ -0,0 +1,4 @@ +import libs.scanners.tcp80 + +def scan(host:str, port:int): + return tcp80.scan(host, port) \ No newline at end of file diff --git a/libs/scanners/80.tcp.py b/libs/scanners/tcp80.py similarity index 100% rename from libs/scanners/80.tcp.py rename to libs/scanners/tcp80.py diff --git a/libs/scanners/tcp8008.py b/libs/scanners/tcp8008.py new file mode 100644 index 0000000..086343b --- /dev/null +++ b/libs/scanners/tcp8008.py @@ -0,0 +1,4 @@ +import libs.scanners.tcp80 + +def scan(host:str, port:int): + return tcp80.scan(host, port) \ No newline at end of file diff --git a/libs/scanners/tcp8080.py b/libs/scanners/tcp8080.py new file mode 100644 index 0000000..086343b --- /dev/null +++ b/libs/scanners/tcp8080.py @@ -0,0 +1,4 @@ +import libs.scanners.tcp80 + +def scan(host:str, port:int): + return tcp80.scan(host, port) \ No newline at end of file diff --git a/libs/scanners/tcp8088.py b/libs/scanners/tcp8088.py new file mode 100644 index 0000000..086343b --- /dev/null +++ b/libs/scanners/tcp8088.py @@ -0,0 +1,4 @@ +import libs.scanners.tcp80 + +def scan(host:str, port:int): + return tcp80.scan(host, port) \ No newline at end of file diff --git a/modules/scan/main.py b/modules/scan/main.py index 604c9a5..f623b3b 100755 --- a/modules/scan/main.py +++ b/modules/scan/main.py @@ -27,7 +27,7 @@ def init(moduleMaster): mm.vars['Scanner-Settings'] = { "range": [[0,0,0,0], [255,255,255,255]], - "numJobs": 500, + "numJobs": 10, "maxPingTimeout": 1, # Port modes: @@ -38,7 +38,7 @@ def init(moduleMaster): "tcpSettings": { "mode": 1, - "ports": [443] + "ports": [631] # "topCount": 100 # "relatedString": "http" }, diff --git a/src/web.py b/src/web.py index 0a9a1ed..ed29782 100755 --- a/src/web.py +++ b/src/web.py @@ -130,7 +130,7 @@ def err404(err): class webserv(): def __init__(self): - self.title = 'Polyboard' + self.title = 'Auto-Shodanner' self.port = 443 self.host = '0.0.0.0' self.verbose = False