Merge pull request #1 from FortyNorthSecurity/master

Updating Repo
master
Harley Lebeau 2019-02-14 13:07:35 -08:00 committed by GitHub
commit 226d72ec12
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 2221 additions and 2065 deletions

View File

@ -78,6 +78,7 @@ if __name__ == "__main__":
if server.protocol == cli_parsed.server.lower():
server.serve()
helpers.class_info()
elif cli_parsed.client is not None:
# load up all supported client protocols and datatypes
@ -95,6 +96,7 @@ if __name__ == "__main__":
for proto_name, proto_module in the_conductor.client_protocols.iteritems():
if proto_module.protocol == cli_parsed.client.lower():
proto_module.transmit(generated_data)
helpers.class_info()
sys.exit()
else:
@ -104,8 +106,10 @@ if __name__ == "__main__":
for proto_name, proto_module in the_conductor.client_protocols.iteritems():
if proto_module.protocol == cli_parsed.client.lower():
proto_module.transmit(file_data)
helpers.class_info()
sys.exit()
helpers.class_info()
print "[*] Error: You either didn't provide a valid datatype or client protocol to use."
print "[*] Error: Re-run and use --list-datatypes or --list-clients to see possible options."
sys.exit()
@ -128,7 +132,9 @@ if __name__ == "__main__":
generated_data = datatype_module.generate_data()
actor_variant.emulate(data_to_exfil=generated_data)
helpers.class_info()
# Instead, use the exfil data within the module
else:
actor_variant.emulate()
helpers.class_info()

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
'''
This is for functions potentially used by all modules
@ -181,3 +182,31 @@ def writeout_text_data(incoming_data):
out_file.write(incoming_data)
return file_name
def class_info():
class_image = '''MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
M M
M .cCCc. M
M /cccccccc\\ Our Upcoming Trainings: M
M §cccccccc| M
M :ccccccccP NOLACON >> May 13-16 2019 M
M \\cccccccc() New Orleans M
M \\ccccccccD www.nolacon.com M
M |cccccccc\\ _ M
M |ccccccccc) // BLACKHAT >> August 3-6 M
M |cccccc|= // Las Vegas M
M /°°°°°°-. (CCCC) www.blackhat.com/us-19 M
M ;----._ _._ |cccc| M
M .*° °° °. \\cccc/ M
M / / ( )/ccc/ M
M |_/ | _.°cccc| M
M |/ °^^^°ccccccc/ M
M / \\cccccccc/ M
M / \\cccccc/ M
M | °*° M
M / \\ Psss. Follow us on >> Twitter M
M °*-.__________..-*°° >> Facebook M
M \\WWWWWWWWWWWWWWWW/ >> LinkedIn M
M \\WWWWWWWWWWWWWW/ M
MMMMM|WWWWWWWWWWWW|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM'''
print(class_image)

View File

@ -27,9 +27,10 @@ class Client:
self.file_transfer = False
else:
if "/" in cli_object.file:
self.file_transfer = cli_object.file.split("/")[-1]
else:
self.file_transfer = cli_object.file
self.file_name = cli_object.file.split("/")[-1]
else:
self.file_name = cli_object.file
# transmit is the only required function within the object. It is what
# called by the framework to transmit data. However, you can create as
@ -49,7 +50,7 @@ class Client:
os.makedirs(mount_path)
# Base command to copy file over smb
smb_command = "smbclient \\\\\\\\" + self.remote_server + "\\\\\\DATA -N -c \"put "
smb_command = "smbclient \\\\\\\\" + self.remote_server + "\\\\DATA -N -c \"put "
# If using a file, copy it, else write to disk and then copy
if not self.file_transfer:
@ -59,7 +60,7 @@ class Client:
smb_command += smb_file_name + "\""
else:
smb_command += self.file_transfer + "\""
smb_command += self.file_transfer + " " + self.file_name + "\""
smb_file_name = self.file_transfer
print smb_command