-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathFunDestroyer
More file actions
229 lines (205 loc) · 6.26 KB
/
FunDestroyer
File metadata and controls
229 lines (205 loc) · 6.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
mx = include_lib("/lib/metaxploit.so")
if not mx then
mx = include_lib(current_path+"/metaxploit.so")
if not mx then
exit("Please install metaxploit.so in /lib or in execution directory.")
end if
end if
forfun = false
clear_screen()
print("~~~~~~~~~~ Fun Destroyer 5000 ~~~~~~~~~~")
print("")
print("Thanks for Using the Fun Destroyer 5000")
print("")
print("Just sit back and Relax while we collect")
print("bankfiles for you and ruin other")
print("peoples days")
print("")
print("Beta 0.2")
print("")
print("Made by saschahi#7940")
bla = user_input("Start in For fun mode? (y/N) >", 0)
if bla == "y" then forfun = true
if forfun then print("<color=red>Forfun Mode active. Not collecting Bank files.</color>")
if get_shell.host_computer.File(home_dir+"/banks.txt") == null then
print("First Run detected... creating bankfile in home directory")
print("")
get_shell.host_computer.touch(home_dir,"banks.txt")
end if
//delete files using shell
delfilefromshell = function(theshell, filetodelete)
file = theshell.host_computer.File(filetodelete)
if file == null then return false
if file.has_permission("w") then
file.delete
return true
end if
return false
end function
//to make some more space
storebank = function(tostore)
if forfun == true then return
print("<color=purple>BANK ACCOUNT: </color>"+tostore)
storage = get_shell.host_computer.File(home_dir+"/banks.txt")
storagedata = storage.get_content
storage.set_content(storagedata+"\n"+tostore)
return
end function
//-----------------------COMPUTER---------------------------
ifcomputer = function(ex)
users = ex.File("/home").get_folders
for user in users
bankFile = ex.File("/home/"+user.name+"/Config/Bank.txt")
if bankFile == null then
//print(user.name+ " doesnt have a bank account txt file")
continue
end if
storebank(bankFile.get_content)
end for
//incase of root we can just....
ex.change_password("root","potato")
return
end function
//-----------------------SHELL---------------------------
ifshell = function(ex)
users = ex.host_computer.File("/home").get_folders
foundbankfiles = false
for user in users
bankFile = ex.host_computer.File("/home/"+user.name+"/Config/Bank.txt")
if bankFile == null then
//print(user.name+ " doesnt have a bank account txt file")
continue
end if
storebank(bankFile.get_content)
foundbankfiles = true
end for
//having some extra fun
ex.host_computer.change_password("root","potato")
if delfilefromshell(ex, "/var") then print("<color=yellow>var deleted</color>") else print("<color=red>var not deleted</color>")
if delfilefromshell(ex, "/sys") then print("<color=yellow>sys deleted</color>") else print("<color=red>sys not deleted</color>")
if delfilefromshell(ex, "/boot") then print("<color=yellow>boot deleted</color>") else print("<color=red>boot not deleted</color>")
if delfilefromshell(ex, "/etc") then print("<color=yellow>etc deleted</color>") else print("<color=red>etc not deleted</color>")
if delfilefromshell(ex, "/home") then print("<color=yellow>home deleted</color>") else print("<color=red>home not deleted</color>")
if not foundbankfiles then ifcomputer(ex.host_computer)
return
end function
//------------------------FILE---------------------------
iffile = function(ex)
if ex.parent.name == "/" then
for folder in ex.parent.get_folders
if folder.name == "home" then
users = folder.get_folders
for user in users
files = user.get_folders
wtfishappening = 0
for file in files
if file.name == "Config" then
wtfishappening = wtfishappening + 1
if wtfishappening == 10 then continue
files = file.get_files
for file in files
if file.name == "Bank.txt" then
storebank(file.get_content)
end if
end for
end if
end for
end for
end if
end for
end if
print("\n"+ex.parent.name+" "+ex.name+"\n")
return
end function
exhandler = function(addr,unsec)
ex = lib.overflow(addr,unsec,"potato")
if typeof(ex) == "computer" then
print("Computer Found")
ifcomputer(ex)
end if
if typeof(ex) == "shell" then
print("Shell found")
ifshell(ex)
end if
if typeof(ex) == "file" then
print("file found")
iffile(ex)
end if
return
end function
//-------------------------------------------------------
CurrentIP = "0.0.0.0"
printheader = function()
clear_screen
//print("- Grinded IPs this Session: " + ipsession + " -")
//print("- Grinded IPs total: " + iptotal + " -")
//print("- Grinded Bankfiles this session: " + banksession + " -")
//print("- Grinded Banfkiles total: " + banktotal + " -")
print("")
print("Currently Trying IP: " + CurrentIP)
end function
//-------------------------------------------------------
farm = function()
part_one = floor((rnd * 255) + 1)
part_two = floor((rnd * 255) + 1)
part_three = floor((rnd * 255) + 1)
part_four = floor((rnd * 255) + 1)
ip = part_one+"."+part_two+"."+part_three+"."+part_four
CurrentIP = ip
printheader()
if is_valid_ip(ip) then
print("IP is Valid")
print("")
else
return
end if
if is_lan_ip(ip) then
print("<color=red>its a lan ip, Ignoring(</color>")
return
end if
r=get_router(ip)
if r == null then
print("<color=red>invalid router</color>")
return
end if
dports = r.used_ports
if dports == null then
print("<color=red>No Ports</color>")
return
end if
for port in dports
if port.is_closed then
continue
end if
port = port.port_number
netsess = mx.net_use(ip,port)
lib = netsess.dump_lib
addrs = mx.scan(lib)
for addr in addrs
info = mx.scan_address(lib,addr)
info = info.remove("decompiling source...").remove("searching unsecure values...")
info = info[2:]
while info.indexOf("Unsafe check: ") != null or info.indexOf("<b>") != null or info.indexOf("</b>") != null
info = info.remove("Unsafe check: ").remove("<b>").remove("</b>")
end while
while info.indexOf("loop in array ") != null
info = info.replace("loop in array ", "<tag>")
end while
while info.indexOf("string copy in ") != null
info = info.replace("string copy in ", "<tag>")
end while
while info.indexOf("<tag>") != null
a = info.indexOf("<tag>") + 5
info = info.remove(info[:a])
str = info[:info.indexOf(".")]
exhandler(addr,str)
break
end while
end for
end for
return
end function
while(true)
farm
wait(3)
end while