Skip to content

Commit bd672f7

Browse files
author
ekultek
committed
some minor updates to styling and what not
1 parent 190d232 commit bd672f7

File tree

7 files changed

+81
-14
lines changed

7 files changed

+81
-14
lines changed

autosploit/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def main():
7373
except psutil.NoSuchProcess:
7474
pass
7575
else:
76-
process_start_command = "`sudo service {} start`"
76+
process_start_command = "`sudo systemctl {} start`"
7777
if "darwin" in platform_running.lower():
7878
process_start_command = "`brew services start {}`"
7979
close(

etc/text_files/ethics.lst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,6 @@
99
"This provides an unending opportunity for cybercriminals and script kiddies to hijack vulnerable devices and subsequently launch attacks against online organizations with ease"
1010
"Both Metasploit and Shodan have been available for years, as integral to the pen testers toolkit as Nessus and Burpsuite. But with Autosploit pulling them together, the concern should be focused on curious kids thinking it would be fun to see what they can find"
1111
"My fear is that this has magnified the attack surface, and made it so that every exposed service on the internet will be scanned and probed on a near-constant basis by an entirely new set of attackers."
12-
"The release of tools like these exponentially expands the threat landscape by allowing a wider group of hackers to launch global attacks at will"
12+
"The release of tools like these exponentially expands the threat landscape by allowing a wider group of hackers to launch global attacks at will"
13+
"Good to know we’ve weaponized for the masses. Everyone can now be a script kiddie simply by plugging, playing and attacking."
14+
"The fact that something is really easy, does not make unauthorized computer access any less a crime. And tools like this leave a forensic footprint that is miles wide. Yes, you can compromise poorly protected systems very easily with this tool, but you can also end up in a lot of trouble."

lib/banner.py

Lines changed: 62 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
import random
33

44
VERSION = "2.2"
5+
COLOR_CODEX = {
6+
"red": "\033[31m", "bright red": "\033[1m\033[31m",
7+
"blue": "\033[36m", "bright blue": "\033[1m\033[36m",
8+
"green": "\033[32m", "bright green": "\033[1m\033[32m",
9+
"grey": "\033[37m", "white": "\033[1m\033[38m",
10+
"end": "\033[0m"
11+
}
512

613

714
def banner_1(line_sep="#--", space=" " * 30):
@@ -25,9 +32,11 @@ def banner_2():
2532
{blue}--+{end} {red}AutoSploit{end} {blue}+--{end}
2633
{blue}--+{end} NullArray/Eku {blue}+--{end}
2734
{blue}--+{end}{minor_space2} v({red}{vnum}{end}){minor_space} {blue}+--{end}
28-
""".format(vnum=VERSION, blue="\033[36m", red="\033[31m", end="\033[0m",
29-
minor_space=" " * 1 if len(VERSION) == 3 else "",
30-
minor_space2=" " * 1 if len(VERSION) == 3 else "")
35+
""".format(
36+
vnum=VERSION, blue=COLOR_CODEX["blue"], red=COLOR_CODEX["red"], end=COLOR_CODEX["end"],
37+
minor_space=" " * 1 if len(VERSION) == 3 else "",
38+
minor_space2=" " * 1 if len(VERSION) == 3 else ""
39+
)
3140
return banner
3241

3342

@@ -57,7 +66,7 @@ def banner_3():
5766
| / | |
5867
\ \__ | \__
5968
/\____=\ /\_____=\{end} v({vnum})'''''.format(
60-
green="\033[1m\033[32m", end="\033[0m", vnum=VERSION
69+
green=COLOR_CODEX["bright green"], end=COLOR_CODEX["end"], vnum=VERSION
6170
)
6271
return banner
6372

@@ -81,8 +90,10 @@ def banner_4():
8190
{blue}-----+ v({red}{vnum}{end}{blue}){spacer}+-----{end}
8291
{blue}-----------NullArray/Eku----------{end}
8392
{blue}__________________________________{end}
84-
""".format(vnum=VERSION, blue="\033[36m", red="\033[31m", end="\033[0m",
85-
spacer=" " * 9 if len(VERSION) == 3 else " " * 7)
93+
""".format(
94+
vnum=VERSION, blue=COLOR_CODEX["blue"], red=COLOR_CODEX["red"], end=COLOR_CODEX["end"],
95+
spacer=" " * 9 if len(VERSION) == 3 else " " * 7
96+
)
8697
return banner
8798

8899

@@ -103,7 +114,50 @@ def banner_5():
103114
{grey}| |{end}
104115
{grey}`-.___.-'{end}
105116
v({red}{version}{end})
106-
""".format(end="\033[0m", grey="\033[36m", white="\033[37m", version=VERSION, red="\033[31m")
117+
""".format(
118+
end=COLOR_CODEX["end"], grey=COLOR_CODEX["grey"], white=COLOR_CODEX["white"],
119+
version=VERSION, red=COLOR_CODEX["red"]
120+
)
121+
return banner
122+
123+
124+
def banner_6():
125+
banner = r"""{red}
126+
________ _____ _____.__ __ .__
127+
/ _____/___________ _/ ____\/ ____\__|/ |_|__|
128+
/ \ __\_ __ \__ \\ __\\ __\| \ __\ |
129+
\ \_\ \ | \// __ \| | | | | || | | |
130+
\______ /__| (____ /__| |__| |__||__| |__|
131+
\/ \/{end}{green}
132+
___________.__
133+
\__ ___/| |__ ____
134+
| | | | \_/ __ \
135+
| | | Y \ ___/
136+
|____| |___| /\___ >
137+
\/ \/{blue}
138+
__ __ .__ .___
139+
/ \ / \___________| | __| _/
140+
\ \/\/ / _ \_ __ \ | / __ |
141+
\ ( <_> ) | \/ |__/ /_/ |
142+
\__/\ / \____/|__| |____/\____ |
143+
\/ \/{end}{grey}
144+
__ __.__ __ .__
145+
/ \ / \__|/ |_| |__
146+
\ \/\/ / \ __\ | \
147+
\ /| || | | Y \
148+
\__/\ / |__||__| |___| /
149+
\/ \/{end}{white}
150+
___________ .__ .__ __
151+
\_ _____/__ _________ | | ____ |__|/ |_ ______
152+
| __)_\ \/ /\____ \| | / _ \| \ __\/ ___/
153+
| \> < | |_> > |_( <_> ) || | \___ \
154+
/_______ /__/\_ \| __/|____/\____/|__||__| /____ >
155+
\/ \/|__| \/ {end}
156+
{white}v{version}->NullArray/Eku{end}""".format(
157+
end=COLOR_CODEX["end"], grey=COLOR_CODEX["grey"], white=COLOR_CODEX["white"],
158+
version=VERSION, red=COLOR_CODEX["bright red"], green=COLOR_CODEX["bright green"],
159+
blue=COLOR_CODEX["bright blue"]
160+
)
107161
return banner
108162

109163

@@ -112,7 +166,7 @@ def banner_main():
112166
grab a random banner each run
113167
"""
114168
banners = [
115-
banner_5, banner_4,
169+
banner_6, banner_5, banner_4,
116170
banner_3, banner_2, banner_1
117171
]
118172
if os.getenv("Graffiti", False):

lib/cmdline/cmd.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ def optparser():
4343
help="search all available search engines to gather hosts")
4444
save_results_args = se.add_mutually_exclusive_group(required=False)
4545
save_results_args.add_argument("-O", "--overwrite", action="store_true", dest="overwriteHosts",
46-
help="When specified, start from scratch by overwriting the host file with new search results.")
46+
help="When specified, start from scratch by overwriting the host "
47+
"file with new search results.")
4748
save_results_args.add_argument("-A", "--append", action="store_true", dest="appendHosts",
4849
help="When specified, append discovered hosts to the host file.")
4950

@@ -77,7 +78,7 @@ def optparser():
7778
misc.add_argument("--ethics", action="store_true", dest="displayEthics",
7879
help=argparse.SUPPRESS) # easter egg!
7980
misc.add_argument("--whitelist", metavar="PATH", dest="whitelist",
80-
help="only exploit hosts listed in the whitelist file")
81+
help="only exploit hosts listed in the whitelist file")
8182
opts = parser.parse_args()
8283
return opts
8384

lib/jsonize.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,17 @@ def load_exploits(path, node="exploits"):
4848
"""
4949
retval = []
5050
file_list = os.listdir(path)
51+
exploit_files = []
5152
if len(file_list) != 1:
52-
lib.output.info("total of {} exploit files discovered for use, select one:".format(len(file_list)))
5353
for i, f in enumerate(file_list, start=1):
54+
# we're going to go ahead and make sure that the file is not a directory
55+
# this will allow us to create directories and fill them with JSON data
56+
# in the future
57+
if os.path.isfile(os.path.join(path, f)):
58+
exploit_files.append(f)
59+
# after we've done that, we'll go ahead and continue with what we where doing
60+
lib.output.info("total of {} exploit files discovered for use, select one:".format(len(exploit_files)))
61+
for i, f in enumerate(exploit_files, start=1):
5462
print("{}. '{}'".format(i, f[:-5]))
5563
action = raw_input(lib.settings.AUTOSPLOIT_PROMPT)
5664
selected_file = file_list[int(action) - 1]

lib/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ def close(warning, status=1):
253253
lib.output.error(warning)
254254
sys.exit(status)
255255

256+
256257
def grab_random_agent():
257258
"""
258259
get a random HTTP User-Agent

lib/term/terminal.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import os
22
import sys
3+
import tempfile
34

45
import lib.settings
56
import lib.output
7+
import lib.errors
68
import lib.exploitation.exploiter
79
import api_calls.shodan
810
import api_calls.zoomeye
@@ -240,7 +242,6 @@ def exploit_gathered_hosts(self, loaded_mods, hosts=None):
240242
except AttributeError:
241243
lib.output.warning("unable to sort modules by relevance")
242244

243-
244245
def custom_host_list(self, mods):
245246
"""
246247
provided a custom host list that will be used for exploitation

0 commit comments

Comments
 (0)