Skip to content

Commit

Permalink
maintenance fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
epsylon committed Jul 23, 2022
1 parent 62d1a70 commit 753904e
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 18 deletions.
28 changes: 16 additions & 12 deletions core/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,12 @@ def __init__(self):
self.GIT_REPOSITORY = 'https://code.03c8.net/epsylon/ufonet' # oficial code source [OK! 22/12/2018]
self.GIT_REPOSITORY2 = 'https://github.com/epsylon/ufonet' # mirror source [since: 04/06/2018]
self.github_zombies = 'https://raw.githubusercontent.com/epsylon/ufonet/master/botnet/' # default [RAW] download/upload zombies [Blackhole] [GitHub] [DIY]
self.external_check_service1 = 'https://status.ws/' # set external check service 1 [OK! 26/02/2020]
self.external_check_service2 = 'https://downforeveryoneorjustme.com/' # set external check service 2 [OK! 26/02/2020]
self.check_tor_url = 'https://check.torproject.org/' # TOR status checking site
self.check_ip_service1 = 'https://checkip.org/' # set external check ip service 1 [OK! 06/06/2020]
self.external_check_service1 = 'https://www.isitdownrightnow.com/' # set external check service 1 [OK! 23/07/2022]
self.external_check_service2 = 'https://downforeveryoneorjustme.com/' # set external check service 2 [OK! 23/07/2022]
self.check_tor_url = 'https://check.torproject.org/' # TOR status checking site [OK! 23/07/2022]
self.check_ip_service1 = 'https://checkip.org/' # set external check ip service 1 [OK! 23/07/2022]
self.check_ip_service2 = 'https://whatismyip.org/' # set external check ip service 2 [OK! 06/06/2020]
self.check_ip_service3 = 'https://ip.42.pl/ra' # set external check ip service 3 [OK! [06/06/2020]
self.check_ip_service3 = 'https://ip.42.pl/ra' # set external check ip service 3 [OK! [23/07/2022]
self.agents_file = 'core/txt/user-agents.txt' # set source path to retrieve user-agents
self.motherships_file = 'core/txt/motherships.txt' # set source path to retrieve mothership names
self.zombies_file = 'botnet/zombies.txt' # set source path to retrieve [Zombies]
Expand Down Expand Up @@ -1340,7 +1340,7 @@ def run(self, opts=None):
print("\n[Info] [AI] [Control] Aborting 'Attack-Me' test... -> [Exiting!]\n")
return
self.mothership_hash = str(random.getrandbits(128)) # generating random evasion hash
print("\nMothership ID: " + self.mothership_id + "RND: " + self.mothership_hash)
print("\n[Info] Mothership ID: " + self.mothership_id + "\n[Info] RND: " + self.mothership_hash)
print("\n[AI] Checking NAT/IP configuration:\n")
nat = self.check_nat()
f = open("alien", "w") # generate random alien worker
Expand Down Expand Up @@ -4031,12 +4031,12 @@ def check_nat(self):
self.nat_error_flag = "ON"
return #sys.exit(2)
try:
data = str(urlopen(self.check_ip_service1).read()) # check for public ip
self.pub_ip = re.compile(r'Address: (\d+\.\d+\.\d+\.\d+)').search(data).group(1)
data = str(urllib.request.urlopen(self.check_ip_service1).read()) # check for public ip
self.pub_ip = re.compile(r'(\d+\.\d+\.\d+\.\d+)').search(data).group(1)
check_ip_service = self.check_ip_service1
except:
try: # another check for public ip
data = str(urlopen(self.check_ip_service2).read())
data = str(urllib.request.urlopen(self.check_ip_service2).read())
self.pub_ip = re.compile(r'">(\d+\.\d+\.\d+\.\d+)</span>').search(data).group(1)
check_ip_service = self.check_ip_service2
except:
Expand Down Expand Up @@ -5855,15 +5855,19 @@ def starting_target_check(self, target, head_check):
if not options.attackme:
try:
target = self.parse_url_encoding(target) # parse for proper url encoding
if target.startswith("http://"):
target = target.replace("http://", "")
else:
target = target.replace("https://", "")
try:
url = self.external_check_service1 + target # check from external service [1]
url = self.external_check_service1 + target + ".html" # check from external service [1] [23/07/2022]
self.user_agent = random.choice(self.agents).strip() # shuffle user-agent
headers = {'User-Agent' : self.user_agent, 'Referer' : self.referer} # set fake user-agent and referer
if options.proxy: # set proxy
self.proxy_transport(options.proxy)
req = urllib.request.Request(url, None, headers)
external_reply = urllib.request.urlopen(req, context=self.ctx).read()
if b"returned code 200 OK and is up" in external_reply:
if b"is UP and reachable" in external_reply:
t = urlparse(self.external_check_service1)
name_external1 = t.netloc
print("[Info] [AI] [Control] From OTHERS: YES -> ["+name_external1+"]")
Expand Down Expand Up @@ -5906,7 +5910,7 @@ def starting_target_check(self, target, head_check):
print("[Info] [AI] [Control] From OTHERS: YES -> [Mothership OK!] -> ["+str(self.pub_ip)+":8080]")
head_check_external = True
else:
print("[Info] [AI] [Control] From OTHERS: NO -> [Cannot connect!] -> [NAT is failing!]")
print("\n[Error] [AI] [Control] From OTHERS: NO -> [Cannot connect!] -> [NAT is failing!]")
head_check_external = False
head_check_here = False # stop attack if not public IP available
except Exception:
Expand Down
20 changes: 14 additions & 6 deletions core/webgui.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@
###################################################################

browser_init_page = "https://searchencrypt.com" # initial webpage for ship.browser [OK! 16/06/2021]
check_ip_service1 = 'https://checkip.org/' # set external check ip service 1 [OK! 06/06/2020]
check_ip_service1 = 'https://checkip.org/' # set external check ip service 1 [OK! 23/07/2022]
check_ip_service2 = 'https://whatismyip.org/' # set external check ip service 2 [OK! 06/06/2020]
check_ip_service3 = 'https://ip.42.pl/ra' # set external check ip service 3 [OK! [06/06/2020]
check_ip_service3 = 'https://ip.42.pl/ra' # set external check ip service 3 [OK! [23/07/2022]

torrent_seed = "https://ufonet.03c8.net/ufonet/ufonet-v1.8.tar.gz.torrent" # current torrent seed

Expand Down Expand Up @@ -6253,6 +6253,7 @@ def get(self, request):
nodec_text = "*** [This message cannot be solved with that KEY...]"
blackhole_ip = urllib.parse.unquote(blackhole_ip)
blackhole_flag = False # used to check for repetitions
blackhole_ip_list = [] # used to check for repetitions
self.list_globalnet_rev = reversed(self.list_globalnet) # order by DESC
for m in self.list_globalnet_rev: # list = owner, comment, warping, ip
if globalnet_msg_sep in m:
Expand Down Expand Up @@ -6293,6 +6294,11 @@ def get(self, request):
self.decryptedtext = "" # clean decryptedtext buffer
if globalnet_ip == blackhole_ip: # only add NEW blackholes into the list
blackhole_flag = True
else:
if globalnet_ip in blackhole_ip_list:
blackhole_flag = True
else:
blackhole_ip_list.append(globalnet_ip)
try:
globalnet_enckey = pGet["globalnet_enckey"]
except:
Expand Down Expand Up @@ -7264,6 +7270,8 @@ def get(self, request):
grid_contact = "<a href=javascript:alert('UNKNOWN!');>View</a>" # js error contact view
else:
try:
grid_contact = grid_contact.replace("b'", "")
grid_contact = grid_contact.replace("'", "")
if " " in grid_contact: # m[25] = grid_contact
grid_contact = grid_contact.replace(" ","")
grid_contact = "<a href=javascript:alert('"+str(grid_contact)+"');>View</a>" # js contact view
Expand Down Expand Up @@ -7770,6 +7778,7 @@ def get(self, request):
globalnet_table = "<table cellpadding='5' cellspacing='5' border='1'><tr><td align='center'><a id='filter_owner' style='color:red;text-decoration:underline red;' onclick=javascript:GlobalnetFilter('owner','"+str(globalnet_deckey)+"');>OWNER:</a></td><td align='center'><a id='filter_comment' style='color:red;text-decoration:underline red;' onclick=javascript:GlobalnetFilter('comment','"+str(globalnet_deckey)+"')>COMMENT:</a></td><td align='center'><a id='filter_warp' style='color:red;text-decoration:underline red;' onclick=javascript:GlobalnetFilter('warp','"+str(globalnet_deckey)+"')>WARPING:</a></td><td align='center'><a id='filter_ip' style='color:red;text-decoration:underline red;' onclick=javascript:GlobalnetFilter('ip','"+str(globalnet_deckey)+"')>IP:</a></td></tr>"
f = open("/tmp/out", "w")
self.list_globalnet_rev = reversed(self.list_globalnet) # order by DESC
blackhole_ip_list = [] # used to check for repetitions
for m in self.list_globalnet_rev: # list = owner, comment, warping, ip
if globalnet_msg_sep in m:
m = m.split(globalnet_msg_sep)
Expand Down Expand Up @@ -7807,10 +7816,9 @@ def get(self, request):
else:
globalnet_ip = nodec_text
self.decryptedtext = "" # clean decryptedtext buffer
else:
globalnet_owner = "KEY?"
globalnet_comment = "KEY?"
globalnet_table += "<tr><td align='center'>"+str(globalnet_owner)+"</td><td align='center'>"+str(globalnet_comment)+"</td><td align='center'><font color="+warp_color+">"+str(globalnet_warp)+"</font></td><td align='center'><font color="+warp_color+">"+str(globalnet_ip)+"</font></td></tr>"
if globalnet_ip not in blackhole_ip_list:
blackhole_ip_list.append(globalnet_ip)
globalnet_table += "<tr><td align='center'>"+str(globalnet_owner)+"</td><td align='center'>"+str(globalnet_comment)+"</td><td align='center'><font color="+warp_color+">"+str(globalnet_warp)+"</font></td><td align='center'><font color="+warp_color+">"+str(globalnet_ip)+"</font></td></tr>"
globalnet_table += "</table><br>"
f.write(globalnet_table)
f.write(end_mark)
Expand Down

0 comments on commit 753904e

Please sign in to comment.