mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-08-20 22:52:32 +02:00
53 lines
1.9 KiB
Python
Executable File
53 lines
1.9 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import os
|
|
import sys
|
|
import time
|
|
import argparse
|
|
import urllib.parse
|
|
sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
|
|
|
|
from core import utils
|
|
|
|
|
|
# portscan -i /tmp/target.txt -o '$WORKSPACE/portscan/$OUTPUT' -p '$PLUGINS_PATH'
|
|
def routine(args):
|
|
parsed = urllib.parse.urlparse(args.input)
|
|
target = parsed.netloc if parsed.netloc else parsed.path
|
|
output = args.output
|
|
strip_target = utils.strip_slash(target)
|
|
plugin = args.plugin
|
|
summary = args.summary
|
|
|
|
# cmd = f'sudo nmap --open -T4 -Pn -n -sSV -p- {target} --script {plugin}/nmap-stuff/vulners.nse --oA {output}'
|
|
if utils.not_empty_file(f'{target}'):
|
|
cmd = f'sudo masscan --rate 10000 -p0-65535 -iL {target} -oX {output}.xml --wait 0'
|
|
else:
|
|
cmd = f'sudo masscan --rate 10000 -p0-65535 {target} -oX {output}.xml --wait 0'
|
|
|
|
os.system(cmd)
|
|
utils.print_info(f"Execute: {cmd}")
|
|
|
|
if not utils.not_empty_file(f'{output}.xml'):
|
|
utils.print_bad("No open port found")
|
|
sys.exit(-1)
|
|
|
|
os.system(
|
|
f'xsltproc -o {output}.html {plugin}/nmap-stuff/nmap-bootstrap.xsl {output}.xml')
|
|
os.system(
|
|
f'python3 {plugin}/nmap-stuff/masscan_xml_parser.py -f {output}.xml -csv {output}.csv')
|
|
|
|
time.sleep(0.5)
|
|
# os.system(
|
|
# f'csvcut -c 1-7 {output}.csv | csvlook --no-inference | tee {summary}')
|
|
# append_result(f'{output}.csv', summary)
|
|
|
|
|
|
parser = argparse.ArgumentParser(description="Portscan alias")
|
|
parser.add_argument('-i', '--input', action='store', dest='input', help='input')
|
|
parser.add_argument('-o', '--output', action='store', dest='output', help='output')
|
|
parser.add_argument('-p', '--plugin', action='store', dest='plugin', help='plugin')
|
|
parser.add_argument('-s', '--summary', action='store',
|
|
dest='summary', help='summary')
|
|
args = parser.parse_args()
|
|
routine(args)
|