Newer
Older
DirtyScripts / privesc / windows_privesc_check.py
root on 12 Nov 2019 2 KB added some stuff
from wpc.parseOptions import parseOptions
from wpc.report.report import report
from wpc.audit.dump import dump
from wpc.audit.dumptab import dumptab
from wpc.audit.audit import audit
import datetime
import time
import wpc.utils
import sys

# ------------------------ Main Code Starts Here ---------------------

# Parse command line arguments
options = parseOptions()

# Initialise WPC
# TODO be able to enable/disable caching
wpc.utils.init(options)

# Object to hold all the issues we find
report = report()
wpc.utils.populate_scaninfo(report)
issues = report.get_issues()

if options.pyshell_mode:
    wpc.utils.printline("Python Shell - to exit do CTRL-z or type exit()")
    print
    import code
    code.interact(local=dict(globals(), **locals()))
    sys.exit()

wpc.utils.dump_options(options)

wpc.utils.printline("Starting Audit at %s" % datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S'))
start_time = time.time()

# Dump raw data if required
if options.dump_mode:
    d = dump(options)
    d.run()

# Dump raw data if required
if options.dumptab_mode:
    d = dumptab(options, report)
    d.run()

# Identify security issues
if options.audit_mode:
    a = audit(options, report)
    a.run()

    if options.report_file_stem:
        wpc.utils.printline("Audit Complete at %s" % datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S'))
        print
        print "[+] Runtime: %.1f seconds" % int(time.time() - start_time)
        print
        
        filename = "%s.xml" % options.report_file_stem
        print "[+] Saving report file %s" % filename
        f = open(filename, 'w')
        f.write(report.as_xml_string())
        f.close()

        filename = "%s.txt" % options.report_file_stem
        print "[+] Saving report file %s" % filename
        f = open(filename, 'w')
        f.write(report.as_text())
        f.close()

        filename = "%s.html" % options.report_file_stem
        print "[+] Saving report file %s" % filename
        f = open(filename, 'w')
        f.write(report.as_html())
        f.close()

    #wpc.conf.cache.print_stats()