forked from zennro/fbht-linux
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
391 lines (314 loc) · 17 KB
/
main.py
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
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
from mainFunc import privateMessageLink,sendRequestToList,setGlobalLogginng ,reAnalyzeGraph,analyzeGraph,bypassFriendshipPrivacyPlot,massLogin,acceptRequest,friendshipRequest,like,appMessageSpoof,setMail,login,linkPreviewYoutube,linkPreview,hijackVideo, privateMessagePhishing, bypassFriendshipPrivacy, linkFriends, createUser, deleteUser,deleteAccounts
from database import connect,status
from time import time
import signal
from handlers import *
from sys import stdin
globalLogin = False
globalEmail = ''
globalPassword = ''
def main():
global globalLogin
global globalEmail
global globalPassword
print ' \n \n \n \n \n \n '
print ' ______ ____ _ _ _______ '
print ' | ____| _ \| | | |__ __| '
print ' | |__ | |_) | |__| | | | '
print ' | __| | _ <| __ | | | '
print ' | | | |_) | | | | | | '
print ' |_| |____/|_| |_| |_| '
print ' ___ ___ '
print ' |__ \ / _ \ '
print ' __ __ ) || | | | '
print ' \ \ / // / | | | | '
print ' \ V // /_ | |_| | '
print ' \_/|____(_\___/ '
print ' _ _ '
print ' ____ | | (_) '
print ' / __ \ ___| |__ _ _ __ ___ ___ __ _ __ ___ ____ _ '
print ' / / _` |/ __| \'_ \| | \'_ \ / _ \ / _ \ / _` |/ _` \ \ /\ / / _` |'
print ' | | (_| | (__| | | | | | | | (_) | (_) | (_| | (_| |\ V V | (_| |'
print ' \ \__,_|\___|_| |_|_|_| |_|\___/ \___/ \__, |\__,_| \_/\_/ \__,_|'
print ' \____/ __/ | '
print ' |___/ '
print '\n\n\n\n\n\n'
raw_input('Enjoy it :D . Press enter to get started')
while 1:
option = -1
while ((int(option) != 1) and (int(option) != 2) and
(int(option) != 3) and (int(option) != 4) and
(int(option) != 5) and (int(option) != 6) and
(int(option) != 7) and (int(option) != 8) and
(int(option) != 9) and (int(option) != 10) and
(int(option) != 11) and (int(option) != 12) and
(int(option) != 13) and (int(option) != 14) and
(int(option) != 15) and (int(option) != 16) and
(int(option) != 17) and (int(option) != 18) and
(int(option) != 19) and (int(option) != 20) and
(int(option) != 21) and (int(option) != 22)):
print '\n'
print '1) Create accounts\n'
print '2) Delete all accounts for a given user\n'
print '3) Send friendship requests (Test Accounts)\n'
print '4) Accept friendship requests (Test Accounts)\n'
print '5) Connect all the accounts of the database\n'
print '6) Link Preview hack (Simple web version)\n'
print '7) Link Preview hack (Youtube version)\n'
print '8) Youtube hijack\n'
print '9) Private message, Link Preview hack (Simple web version)\n'
print '10) Private message, Link Preview hack (Youtube version)\n'
print '11) Like flood\n'
print '12) Publish a post as an App (App Message Spoof)\n'
print '13) Bypass friendship privacy\n'
print '14) Bypass friendship privacy with graph support\n'
print '15) Analyze an existing graph\n'
print '16) Link to disclosed friendships\n'
print '17) Print database status\n'
print '18) Increase logging level globally\n'
print '19) Set global login (Credentials stored in memory - Danger)\n'
print '20) Print dead attacks :\'( \n'
print '21) Send friend request to disclosed friend list from your account\n'
print '22) Close the application\n'
choice = raw_input('Insert your choice: ')
try:
option = int(choice)
except:
raw_input('Not a digit, try again .. \n')
print '\n\n'
if(int(option) == 1):
if (globalLogin == False):
email,password = setMail()
else:
email = globalEmail
password = globalPassword
if (login(email,password,'real'))!= -1:
while True:
number = raw_input('Insert the amount of accounts for creation (Must be less of 10): ')
if int(number) <= 10:
break
sTime = time()
if (createUser(number) == -1):
raw_input('Apparently your test account list is full, try deleting first')
else:
print '\n'
raw_input('Execution time : %d' %(time() - sTime) + '\nPress Enter to continue: ')
if(int(option) == 2):
if (globalLogin == False):
email,password = setMail()
else:
email = globalEmail
password = globalPassword
if (login(email,password,'real'))!= -1:
deleteUser()
deleteAccounts()
sTime = time()
raw_input('Execution time : %d' %(time() - sTime) + '\nPress Enter to continue: ')
if(int(option) == 3):
sTime = time()
massLogin()
friendshipRequest()
raw_input('Execution time : %d' %(time() - sTime) + '\nPress Enter to continue:')
if(int(option) == 4):
sTime = time()
massLogin()
acceptRequest()
raw_input('Execution time : %d' %(time() - sTime) + '\nPress Enter to continue:')
if(int(option) == 5):
sTime = time()
massLogin()
raw_input('Execution time : %d' %(time() - sTime) + '\nPress Enter to continue:')
if (int(option) == 6):
if (globalLogin == False):
email,password = setMail()
else:
email = globalEmail
password = globalPassword
if (login(email,password,'real'))!= -1:
summary = raw_input('Insert a summary for the link: ')
link = raw_input('Insert de evil link: ')
realLink = raw_input('Insert de real link: ')
title = raw_input('Insert a title for the link: ')
image = raw_input('Insert the image url for the post: ')
comment = raw_input('Insert a comment for the post associated: ')
linkPreview(link,realLink,title,summary,comment,image)
if (int(option) == 7):
if (globalLogin == False):
email,password = setMail()
else:
email = globalEmail
password = globalPassword
if (login(email,password,'real'))!= -1:
summary = raw_input('Insert a summary for the video: ')
link = raw_input('Insert de evil link: ')
videoLink = raw_input('Insert de youtube link: ')
title = raw_input('Insert a title for the video: ')
videoID = raw_input('Insert the video ID (w?=): ')
comment = raw_input('Insert a comment for the post associated to the video: ')
linkPreviewYoutube(link,videoLink,title,summary,comment,videoID)
if (int(option) == 8):
signal.signal(signal.SIGINT, signal_handler)
if (globalLogin == False):
email,password = setMail()
else:
email = globalEmail
password = globalPassword
if (login(email,password,'real'))!= -1:
summary = raw_input('Insert a summary for the video: ')
videoLink = raw_input('Insert de youtube link: ')
title = raw_input('Insert a title for the video: ')
videoID = raw_input('Insert the video ID (watch?v=): ')
comment = raw_input('Insert a comment for the post associated to the video: ')
hijackedVideo = raw_input('Insert the ID for the hijacked video (watch?v=): ')
hijackVideo(videoLink,title,summary,comment,videoID,hijackedVideo)
if (int(option) == 9):
signal.signal(signal.SIGINT, signal_handler)
if (globalLogin == False):
email,password = setMail()
else:
email = globalEmail
password = globalPassword
if (login(email,password,'real'))!= -1:
victim = raw_input('Insert the victims user ID: ')
realLink = raw_input('Insert the real link: ')
title = raw_input('Insert a title for the link: ')
subject = raw_input('Insert the subject: ')
summary = raw_input('Insert a summary for the link: ')
message = raw_input('Insert the body of the message: ')
evilLink = raw_input('Insert the evil link: ')
imageLink = raw_input('Insert the image associated to the post: ')
privateMessageLink(message,victim,subject,realLink,title,summary,imageLink,evilLink)
if (int(option) == 10):
signal.signal(signal.SIGINT, signal_handler)
if (globalLogin == False):
email,password = setMail()
else:
email = globalEmail
password = globalPassword
if (login(email,password,'real'))!= -1:
victimId = raw_input('Insert the victims user ID: ')
subject = raw_input('Insert the subject: ')
message = raw_input('Insert the message: ')
title = raw_input('Insert a title for the video: ')
summary = raw_input('Insert a summary for the video: ')
videoLink = raw_input('Insert de youtube link: ')
evilLink = raw_input('Insert the evil link (For hijacking insert same link as above): ')
videoID = raw_input('Insert the video ID (watch?v=): ')
hijackedVideo = raw_input('Insert the ID for the hijacked video (watch?v=) - For Non-Hijackig press enter: ')
privateMessagePhishing(victimId,message,subject,evilLink,videoLink,title,summary,videoID,hijackedVideo)
if (int(option) == 11):
signal.signal(signal.SIGINT, signal_handler)
try:
counter = 0
postId = []
print 'Insert the Post ID\'s (Must be from a page). If no more posts for adding,insert \'0\' :'
while True:
response = raw_input('post[%d]:'%counter)
if ( response is not '0' ):
counter+=1
postId.append(response)
else:
break
quantity = raw_input('Insert the amount of likes: ')
like(postId, quantity)
except EOFError:
print 'EOFError'
stdin.flush()
pass
except signalCaught as e:
print ' %s' %e.args[0]
raw_input('Press enter to continue..')
if (int(option) == 12):
if (globalLogin == False):
email,password = setMail()
else:
email = globalEmail
password = globalPassword
if (login(email,password,'real'))!= -1:
appId = raw_input('Insert a valid AppId: ')
link = raw_input('Insert de evil link: ')
picture = raw_input('Insert a link to a picture for the post: ')
title = raw_input('Insert a title for the post: ')
domain = raw_input('Insert a domain for the post: ')
description = raw_input('Insert a description for the post: ')
comment = raw_input('Insert a comment for the post: ')
appMessageSpoof(appId,link,picture,title,domain,description,comment)
if (int(option) == 13):
signal.signal(signal.SIGINT, signal_handler)
if (globalLogin == False):
email,password = setMail()
else:
email = globalEmail
password = globalPassword
if (login(email,password,'real'))!= -1:
victim = raw_input('Insert the victim username or userId: ')
transitive = raw_input('Insert the transitive username or userId: ')
print 'The information will be stored in dumps\\%s.txt \n' %victim
bypassFriendshipPrivacy(victim, transitive)
if (int(option) == 14):
signal.signal(signal.SIGINT, signal_handler)
if (globalLogin == False):
email,password = setMail()
else:
email = globalEmail
password = globalPassword
if (login(email,password,'real'))!= -1:
victim = raw_input('Insert the victim username or userId: ')
transitive = raw_input('Insert the transitive username or userId: ')
print 'The information will be stored in dumps\\%s\\%s.txt \n' %(victim,victim)
bypassFriendshipPrivacyPlot(victim, transitive)
if (int(option) == 15):
analize = int(raw_input('Analyze an existing one, or a new one? (0|1): '))
victim = raw_input('Insert the victim username or userId: ')
if (analize == 1):
analyzeGraph(victim)
else:
reAnalyzeGraph(victim)
if (int(option) == 16):
fileName = raw_input('Insert the victim username: ')
linkFriends(fileName)
if (int(option) == 17):
status()
raw_input('Press enter to continue: ')
if (int(option) == 18):
print 'This will increase the execution time significantly'
setGlobalLogginng()
if (int(option) == 19):
globalLogin = not globalLogin
if (globalLogin):
globalEmail,globalPassword = setMail()
else:
globalEmail = ''
globalPassword = ''
if (int(option) == 20):
print 'Mail bomber through test accounts'
print 'Test accounts massive creation'
print 'Blocked Test account login bypass'
print 'We hope this tool to be useless in the future'
raw_input('Press enter to continue: ')
if (int(option) == 21):
signal.signal(signal.SIGINT, signal_handler)
warning = True
while ( (warning is not '0') and (warning is not '1')):
warning = raw_input('Your account could be blocked.. Continue? 0|1: ')
if (warning == '1'):
victim = raw_input('Insert the victim username (Bypass friends list first): ')
if (globalLogin == False):
email,password = setMail()
else:
email = globalEmail
password = globalPassword
if (login(email,password,'real'))!= -1:
sendRequestToList(victim)
if (int(option) == 22):
connect.close()
print '\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n '
print ' _ _ _ _______ _ _____ _ _ _ '
print '| | | | | | |__ __| | | __ \| | | | | | '
print '| |__| | __ _ ___| | __ | | | |__ ___ | |__) | | __ _ _ __ ___| |_| | '
print '| __ |/ _` |/ __| |/ / | | | _ \ / _ \ | ___/| |/ _` | _ \ / _ \ __| | '
print '| | | | (_| | (__| < | | | | | | __/ | | | | (_| | | | | __/ |_|_| '
print '|_| |_|\__,_|\___|_|\_\ |_| |_| |_|\___| |_| |_|\__,_|_| |_|\___|\__(_) '
print '\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n '
exit(0)
main()