Пример #1
0
def main(args):
    urls = []
    # Prepare commands
    if args.csv:
        LOG.info('Running wpscan against CSV file.')
        webservers = utils.parse_csv_for_webservers(args.csv)
        for webserver in webservers:
            if webserver['service_tunnel'] == 'ssl' or webserver['service_name'] == 'https':
                scheme = 'https://'
            else:
                scheme = 'http://'
            port = webserver['port']
            url = f'{scheme}{webserver["ipv4"]}'
            if not webserver['port'] == '80' and not webserver['port'] == '443':
                url = url + f':{port}'
            urls.append(url)
    elif args.url:
        LOG.info('Running wpscan against a single URL.')
        urls.append(args.url)
    else:
        LOG.info('Running wpscan against a text file of URLs.')
        with open(args.txt, 'r') as f:
            for line in f:
                urls.append(line.strip())
    if args.screenshot:
        screenshot = args.screenshot
    else:
        screenshot = False
    url_count = len(urls)
    for i, url in enumerate(urls, start=1):
        LOG.info('**** Number {} of {} ****'.format(i, url_count))
        run_whatweb(url, args.output, screenshot)
Пример #2
0
def run_get_internal_ip_on_webservers(args):
    if args.input:
        webservers = parse_csv_for_webservers(args.csv_input)
        for webserver in webservers:
            run_get_internal_ip(webserver)
    else:
        run_get_internal_ip(url=args.url, port=args.port)
Пример #3
0
def main(args):
    urls = []
    # Prepare commands
    if args.csv:
        LOG.info('Running validate_trace against CSV file.')
        webservers = utils.parse_csv_for_webservers(args.csv)
        for webserver in webservers:
            if webserver['service_tunnel'] == 'ssl' or webserver[
                    'service_name'] == 'https':
                scheme = 'https://'
            else:
                scheme = 'http://'
            port = webserver['port']
            url = f'{scheme}{webserver["ipv4"]}'
            if not webserver['port'] == '80' and not webserver['port'] == '443':
                url = url + f':{port}'
            urls.append(url)
    elif args.url:
        LOG.info('Running validate_trace against a single URL.')
        urls.append(args.url)
    else:
        LOG.info('Running validate_trace against a text file of URLs.')
        with open(args.txt, 'r') as f:
            for line in f:
                urls.append(line.strip())
    if args.screenshot:
        screenshot = args.screenshot
    else:
        screenshot = False
    for url in urls:
        run_validate_trace(url, args.output, screenshot)
Пример #4
0
def main(args):
    os.makedirs(args.output, exist_ok=True)
    urls = []
    # Prepare commands
    if args.csv:
        log.info('Running nikto against CSV file.')
        webservers = utils.parse_csv_for_webservers(args.csv)
        for webserver in webservers:
            if webserver['service_tunnel'] == 'ssl' or webserver[
                    'service_name'] == 'https':
                ssl = " -ssl"
            else:
                ssl = ""
            port = webserver['port']
            domain = webserver['ipv4']
            root = ""
            urls.append({
                'domain': domain,
                'port': port,
                'root': root,
                'ssl': ssl
            })
    elif args.url:
        log.info('Running nikto against a single URL.')
        parsed_url = parse_url_nikto(args.url)
        urls.append(parsed_url)
    else:
        log.info('Running nikto against a text file of URLs.')
        with open(args.txt, 'r') as f:
            for line in f:
                parsed_url = parse_url_nikto(line.strip())
                urls.append(parsed_url)
    if args.screenshot:
        screenshot = args.screenshot
    else:
        screenshot = False
    url_count = len(urls)
    for i, url in enumerate(urls, start=1):
        log.info('**** Number {} of {} ****'.format(i, url_count))
        run_nikto(url, args.output, args.proxy, screenshot)
Пример #5
0
def get_webservers(ports_csv):
    return utils.parse_csv_for_webservers(ports_csv)