Пример #1
0
    "--tests",
    metavar="BITSTRING",
    help="1 or 0 for run or don't run test. Must have exactly " +
    str(len(RUN_ALL_TESTS)) + " digits (the number of possible tests).")
otherOptionsGroup = parser.add_argument_group(
    "Other Options", "Additional options that you can use.")
otherOptionsGroup.add_argument(
    "--listous",
    action="store_true",
    help="If you want to enumerate the OUs without using the GUI or dsquery.")
args = parser.parse_args()

#get any user input for the appropriate parameters
doListOUs = args.listous
if doListOUs:
    ouList = support.enumerateOUs()
    for ou in ouList:
        print ou
    sys.exit(0)

workPath = args.output
ldapPath = args.ldap
inputHosts = args.hosts
inputOUs = args.ous
scanName = args.name
tests = args.tests
threads = args.threads
run = args.run
norun = args.norun

currentPath = os.path.abspath(".")
Пример #2
0
domainGroup.add_argument("-n", "--name", metavar="NAME", help="One word conventional name for scan. Example: \"HR\".")
domainGroup.add_argument("-x", "--threads", metavar="THREADS", help="Number of threads to use. Use more than one at your own risk.")
testGroup = parser.add_argument_group("Run Tests", "Select which tests to run or not to run. Choose only one option --run, --norun, or --tests. The possible tests for --run and --norun are: " + possibleTests + ". If none of these options is chosen, all tests are run.")
mutexTestGroup = testGroup.add_mutually_exclusive_group()
mutexTestGroup.add_argument("--run", metavar="TEST1,TEST2,...", help="List the tests you want to run. Example: \"--run UserRegistry,SystemRegistry\" will run only the user and system registry modules.")
mutexTestGroup.add_argument("--norun", metavar="TEST1,TEST2,...", help="List the tests you don't want to run. Example: \"--norun DataExists,Processes,Tasks\" will run all modules except data exists, processes, and tasks.")
mutexTestGroup.add_argument("--tests", metavar="BITSTRING", help="1 or 0 for run or don't run test. Must have exactly " + str(len(RUN_ALL_TESTS)) + " digits (the number of possible tests).")
otherOptionsGroup = parser.add_argument_group("Other Options", "Additional options that you can use.")
otherOptionsGroup.add_argument("--listous", action="store_true", help="If you want to enumerate the OUs without using the GUI or dsquery.")
otherOptionsGroup.add_argument("--compress", action="store_true", help="Compress the results after completion. The uncompressed results will remain. If run in standalone mode, the compressed file will be located in the results directory.")
args = parser.parse_args()

#get any user input for the appropriate parameters
doListOUs = args.listous
if doListOUs:
	ouList = support.enumerateOUs()
	for ou in ouList:
		print ou
	sys.exit(0)

workPath = args.output
ldapPath = args.ldap
inputHosts = args.hosts
inputOUs = args.ous
scanName = args.name
tests = args.tests
threads = args.threads
run = args.run
norun = args.norun
compressRes = 0
if args.compress:
Пример #3
0
def createGUI(standalone):
	versionDescriptionLabel.pack_forget()
	standaloneButton.pack_forget()
	domainButton.pack_forget()
	
	if not standalone:
		scanNameLabel = Label(root, text="Scan Name")
		scanNameLabel.pack()
		scanNameEntry.pack()
	
	Button(text='Output Directory', command=askdirectory).pack(**button_opt)
	outputDirLabel = Label(root, textvariable=outputDirVar)
	outputDirLabel.pack()
	
	if not standalone:
		ouOptions = support.enumerateOUs()
		chosenOU.set(ouOptions[0])

		ouOptionMenu = OptionMenu(root, chosenOU, *ouOptions)
		ouOptionMenu.config(width=100)
		ouOptionMenu.pack()

	runNsDnsCheck = Checkbutton(root, text="Netstat/DNS", variable=runNsDnsVar)
	runNsDnsCheck.pack()

	runUserAutostartCheck = Checkbutton(root, text="User Registry", variable=runUserAutostartVar)
	runUserAutostartCheck.pack()

	runFileListVarCheck = Checkbutton(root, text="File List", variable=runFileListVar)
	runFileListVarCheck.pack()

	runAutostartCheck = Checkbutton(root, text="System Registry", variable=runAutostartVar)
	runAutostartCheck.pack()

	runProcCheck = Checkbutton(root, text="Process/Process Modules", variable=runProcVar)
	runProcCheck.pack()

	runTasksCheck = Checkbutton(root, text="Tasks", variable=runTasksVar)
	runTasksCheck.pack()

	runServicesCheck = Checkbutton(root, text="Services", variable=runServicesVar)
	runServicesCheck.pack()

	runServiceDLLCheck = Checkbutton(root, text="Service DLLs", variable=runServiceDLLVar)
	runServiceDLLCheck.pack()

	runLocalAccountsCheck = Checkbutton(root, text="Local Accounts/Local Admins", variable=runLocalAccountsVar)
	runLocalAccountsCheck.pack()

	runDataExistsCheck = Checkbutton(root, text="Data Exists", variable=runDataExistsVar)
	runDataExistsCheck.pack()

	runShimCacheCheck = Checkbutton(root, text="Shim Cache", variable=runShimCacheVar)
	runShimCacheCheck.pack()

	runUserDataExistsCheck = Checkbutton(root, text="User Data Exists", variable=runUserDataExistsVar)
	runUserDataExistsCheck.pack()
	
	runDirectoryListCheck = Checkbutton(root, text="Directory List", variable=runDirectoryListVar)
	runDirectoryListCheck.pack()
	
	runShellbagsCheck = Checkbutton(root, text="Shellbags", variable=runShellbagsVar)
	runShellbagsCheck.pack()
	
	runUsbDevicesCheck = Checkbutton(root, text="USB Device Enumeration", variable=runUsbDevicesVar)
	runUsbDevicesCheck.pack()
	
	Button(text='Select All', command=selectAll).pack(**button_opt)
	Button(text='Deselect All', command=deselectAll).pack(**button_opt)
	
	if not standalone:
		numThreadsLabel = Label(root, text="Number of Threads")
		numThreadsLabel.pack()
		numThreadsEntry.pack()
	
	submit = Button(root, text ="Submit", command=submitConfig)
	submit.pack()
	
	if not standalone:
		root.title("CIS Enumeration and Scanning Program - Domain Version")
	else:
		root.title("CIS Enumeration and Scanning Program - Standalone Version")
Пример #4
0
def createGUI(standalone):
    versionDescriptionLabel.pack_forget()
    standaloneButton.pack_forget()
    domainButton.pack_forget()

    if not standalone:
        scanNameLabel = Label(root, text="Scan Name")
        scanNameLabel.pack()
        scanNameEntry.pack()

    Button(text='Output Directory', command=askdirectory).pack(**button_opt)
    outputDirLabel = Label(root, textvariable=outputDirVar)
    outputDirLabel.pack()

    if not standalone:
        ouOptions = support.enumerateOUs()
        chosenOU.set(ouOptions[0])

        ouOptionMenu = OptionMenu(root, chosenOU, *ouOptions)
        ouOptionMenu.config(width=100)
        ouOptionMenu.pack()

    runNsDnsCheck = Checkbutton(root, text="Netstat/DNS", variable=runNsDnsVar)
    runNsDnsCheck.pack()

    runUserAutostartCheck = Checkbutton(root,
                                        text="User Registry",
                                        variable=runUserAutostartVar)
    runUserAutostartCheck.pack()

    runFileListVarCheck = Checkbutton(root,
                                      text="File List",
                                      variable=runFileListVar)
    runFileListVarCheck.pack()

    runAutostartCheck = Checkbutton(root,
                                    text="System Registry",
                                    variable=runAutostartVar)
    runAutostartCheck.pack()

    runProcCheck = Checkbutton(root,
                               text="Process/Process Modules",
                               variable=runProcVar)
    runProcCheck.pack()

    runTasksCheck = Checkbutton(root, text="Tasks", variable=runTasksVar)
    runTasksCheck.pack()

    runServicesCheck = Checkbutton(root,
                                   text="Services",
                                   variable=runServicesVar)
    runServicesCheck.pack()

    runServiceDLLCheck = Checkbutton(root,
                                     text="Service DLLs",
                                     variable=runServiceDLLVar)
    runServiceDLLCheck.pack()

    runLocalAccountsCheck = Checkbutton(root,
                                        text="Local Accounts/Local Admins",
                                        variable=runLocalAccountsVar)
    runLocalAccountsCheck.pack()

    runDataExistsCheck = Checkbutton(root,
                                     text="Data Exists",
                                     variable=runDataExistsVar)
    runDataExistsCheck.pack()

    runShimCacheCheck = Checkbutton(root,
                                    text="Shim Cache",
                                    variable=runShimCacheVar)
    runShimCacheCheck.pack()

    runUserDataExistsCheck = Checkbutton(root,
                                         text="User Data Exists",
                                         variable=runUserDataExistsVar)
    runUserDataExistsCheck.pack()

    runDirectoryListCheck = Checkbutton(root,
                                        text="Directory List",
                                        variable=runDirectoryListVar)
    runDirectoryListCheck.pack()

    runShellbagsCheck = Checkbutton(root,
                                    text="Shellbags",
                                    variable=runShellbagsVar)
    runShellbagsCheck.pack()

    runUsbDevicesCheck = Checkbutton(root,
                                     text="USB Device Enumeration",
                                     variable=runUsbDevicesVar)
    runUsbDevicesCheck.pack()

    compressCheck = Checkbutton(root,
                                text="Compress Results",
                                variable=compressVar)
    compressCheck.pack()

    Button(text='Select All', command=selectAll).pack(**button_opt)
    Button(text='Deselect All', command=deselectAll).pack(**button_opt)

    if not standalone:
        numThreadsLabel = Label(root, text="Number of Threads")
        numThreadsLabel.pack()
        numThreadsEntry.pack()

    submit = Button(root, text="Submit", command=submitConfig)
    submit.pack()

    if not standalone:
        root.title("CIS Enumeration and Scanning Program - Domain Version")
    else:
        root.title("CIS Enumeration and Scanning Program - Standalone Version")