def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Run whatweb against one or many targets.', ) # Mutually exclusive inputs: csv, url, list of sites. input_arg = parser.add_mutually_exclusive_group() input_arg.add_argument('--csv', help='CSV File of open ports.') input_arg.add_argument('--url', help="Single url to be tested") input_arg.add_argument('--txt', help='Text file with url per line.') parser.add_argument('output', help="where to store results") parser.add_argument("-s", "--screenshot", help="full path to where the screenshot will be saved.") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') if not args.csv and not args.url and not args.txt: print('You must provide either a single URL (--url), a CSV file (--csv) or a text file (--txt)') sys.exit() return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Run escan against one or many targets.', ) parser.add_argument('ips', help="full path to list of ips.") parser.add_argument('output', help="where to store results") parser.add_argument("-s", "--screenshot", help="full path to where the screenshot will be saved.") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') if not utils.file_is_executable('/opt/eternal_scanner/escan'): logger.error('I can\'t find escan. Please download eternal scanner and save to /opt/eternal_scanner') logger.error('From /opt run: "git clone https://github.com/peterpt/eternal_scanner"') logger.error('Then CD to /usr/local/sbin and create two symlinks:') logger.error('ln -s /opt/eternal_scanner/escan ./') logger.error('ln -s /opt/eternal_scanner/elog ./') sys.exit() return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Read file of urls and then take a screenshot of each.', prog='website_screenshot.py', ) parser.add_argument('input_file', help='a file with a line for each webserver') parser.add_argument('output_dir', help='directory to write images to') parser.add_argument('--proxy', help='Use proxychains', action='store_true') parser.add_argument('-n', '--no-display', help="Don't use virtual display", action='store_true', default=False) parser.add_argument('-f', '--force', help="Don't resume, start over.", action="store_true") parser.add_argument('-t', '--threads', help="Number of threads (default is 2).", default=2, type=int) args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') LOG.debug("Logging set to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): print('\n') print('\n') print('***** IMPORTANT *****') print('Deprecated - use mnikto.py from now on.') print('***** *****') print('\n') print('\n') parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Capture dirb data and image.', ) parser.add_argument('url', help="url to be tested") parser.add_argument('output', help="where to store results") parser.add_argument("-s", "--screenshot", help="full path to where the screenshot will be saved.") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Run Nikto on multiple urls servers.', prog='multi_nikto.py', ) parser.add_argument('input_file', help='CSV File of open ports.') parser.add_argument( 'output_dir', help='Output directory where nikto reports will be created.') parser.add_argument('--proxy', help='Use proxychains', action='store_true') parser.add_argument('-t', '--threads', help="Number of threads (default is 2).", default=2, type=int) args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], prog='parse_testssl_csv.py', description='Parses and combines the testssl vulnerabilities.') parser.add_argument('input_dir', help='Directory with testssl output.') args = parser.parse_args() logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser(parents=[utils.parent_argparser()]) parser.add_argument( "output_dir", help="Full path to where the output of the commands should be saved.") parser.add_argument("url", help="URL of application") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Capture http_methods data and image.', ) parser.add_argument('url', help="url to be tested") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Capture DNSDumpster Images', ) parser.add_argument('output', help="full path to where the images will be saved.") parser.add_argument('domain', help="Domain to capture.") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Extract URLs from ports.csv to a file.', ) parser.add_argument('input', help="full path to ports.csv file.") parser.add_argument('output', help="full path to where the 'webservers.txt' file will be saved.") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Print web commands formatted for current pentest.', ) parser.add_argument('-n', '--name', help="Short name of the engagement.") parser.add_argument('-u', '--url', help="URL for the engagement.") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Extract IPs from IP notation in a file.', ) parser.add_argument('input_file', help='a file with ips listed in cidr or dashed format') parser.add_argument('output_dir', help='directory to write ips.txt file') args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(): parser = argparse.ArgumentParser( prog='nessus_scan.py', parents=[utils.parent_argparser()], description='Initiate a nessus scan.', ) parser.add_argument('input_file', help='File with ip addresses (one per line).') parser.add_argument('scan_name', help='Nessus Scan Name.') args = parser.parse_args() logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Prints ips with port open', prog='port_open.py', ) parser.add_argument('input', help='CSV file') parser.add_argument('port', help='Port') args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Run wpscan on multiple urls.', prog='multi_wpscan.py', ) parser.add_argument('input', help='File with a URL each line.') parser.add_argument('output_dir', help='Output directory where wpscan reports will be created.') args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Convert nmap.xml to csv file.', prog='nmap_to_csv.py', ) parser.add_argument('input_file', help='Nmap xml file to parse.') parser.add_argument('output_dir', help='Output directory to create.') args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Extract vulns from csv files.', ) parser.add_argument('input', help="full path to testssl folder.") parser.add_argument('output', help="where to store results") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( prog='parse_nessus_csv.py', parents=[utils.parent_argparser()], description='Parse an exported nessus scan.', ) parser.add_argument('input', help='Nessus CSV file.') parser.add_argument( 'output', help='Directory where the output file "parsed_nessus.csv"') args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Creates folder structure for engagement.', prog='folder_structure_web.py', ) parser.add_argument('input', help='Complete path to pentest folder.') parser.add_argument('url', help='URL of application.') args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Set logger to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Hostnames to IPs.', ) parser.add_argument('input', help='Path to input file: /root/pentests/blah/blah.txt') parser.add_argument('output', help='Path to place to save IPs: /root/pentests/blah/output.txt') args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='ZAP scan list of URLs.', ) parser.add_argument('input', help='File with a URL each line.') parser.add_argument( 'output', help='Output directory where zap session will be created.') args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Capture theharvester data and image.', ) parser.add_argument('ptfolder', help="Full path to pentest folder (e.g. /root/pentests/tjcim/ept).") parser.add_argument('output', help="Full path to output folder (e.g. /root/pentests/tjcim/ept/recon_ng)") parser.add_argument("-s", "--screenshot", help="full path to where the screenshot will be saved.") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Capture theharvester data and image.', ) parser.add_argument('domain', help="Domain to be tested.") parser.add_argument('output', help="full path to where the results will be saved.") parser.add_argument("-s", "--screenshot", help="full path to where the screenshot will be saved.") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Creates folder structure for engagement.', prog='folder_structure.py', ) parser.add_argument( 'input', help='Full path to pentest folder. (ex: /root/pentests/tjcim)') args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Set logger to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Format the ports.csv file', prog='format_nmap.py', ) parser.add_argument('input', help='Ports csv file to parse.') parser.add_argument('output', help='Output directory where file will be created.') args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Capture searchsploit data and image.', ) parser.add_argument('input', help="full path to ports.csv file.") parser.add_argument('output', help="full path to where the results will be saved.") parser.add_argument("-s", "--screenshot", help="full path to where the screenshot will be saved.") parser.add_argument('-n', '--no-update', action='store_true', help="If set searchsploit will not be updated.") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Find neighboring networks.', ) parser.add_argument('-s', '--starting-network', help='Starting Network, e.g. 10.0.0.0', required=True) parser.add_argument('-e', '--end-network', help='End network, e.g. 10.5.0.0', required=True) parser.add_argument( '-c', '--cidr', help='Netmask of each network expressed as a two digit number, e.g. 24', required=True, type=int) parser.add_argument('-t', '--threads', help='Number of threads to use. Default 100', default=100, type=int) # parser.add_argument('output', help="where to store results") args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') args.starting_network = str(args.starting_network) args.end_network = str(args.end_network) args.cidr = str(args.cidr) return args
def parse_args(args): parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Run pikebrute on multiple servers.', prog='pikebrute.py', ) parser.add_argument('input', help='CSV File created from nmap_to_csv.py.') parser.add_argument('out_dir', help='Output directory and working folder.') parser.add_argument( '--dictionary', '-d', help= 'Dictionary that psk_crack should use. If not provided the script will use the \ psk-crack-dictionary. Must be the full path to the file.') args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') else: logger.setLevel('INFO') return args
def parse_args(args): ips_path_prompt = os.path.join(config.BASE_PATH, "<short name>/ept") parser = argparse.ArgumentParser( parents=[utils.parent_argparser()], description='Print commands formatted for current pentest.', ) parser.add_argument('-n', '--name', help="Short name of the engagement.") parser.add_argument('-d', '--domain', help="Domain for the engagement.") parser.add_argument( '-i', '--ips-file', help="Relative path (from {}) to ips file provided for engagement.". format(ips_path_prompt)) args = parser.parse_args(args) logger = logging.getLogger("ptscripts") if args.quiet: logger.setLevel('ERROR') elif args.verbose: logger.setLevel('DEBUG') logger.debug("Logger set to debug.") else: logger.setLevel('INFO') return args