├── README.md └── main.py /README.md: -------------------------------------------------------------------------------- 1 |

2 |
3 | All1 4 |
5 | All1 Bug Bounty Recon Tools Installer 6 |
7 |

8 |

Automated Recon Tool Installer

9 |

10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |

23 |

24 |
25 | All1 26 |
27 |
28 |

29 | 30 | ### Tools it can install 31 | - [x] dnsx 32 | - [x] subfinder 33 | - [x] nuclei 34 | - [x] assetfinder 35 | - [x] wayback 36 | - [x] meg 37 | - [x] gf 38 | - [x] httprobe 39 | - [x] gron 40 | - [x] webscreenshot 41 | - [x] waybackunifier 42 | - [x] shodan 43 | - [x] censys 44 | - [x] goaltdns 45 | - [x] subjack 46 | - [x] ffuf 47 | - [x] hakrawler 48 | - [x] knockpy 49 | - [x] kxss 50 | - [x] dalfox 51 | - [x] otxurls 52 | - [x] subjs 53 | - [x] Gau 54 | - [x] Corsy 55 | - [x] Go-dork 56 | - [x] GoSpider 57 | - [x] Github Subdomains 58 | - [x] Puredns 59 | - [x] GauPlus 60 | - [x] Qsreplace 61 | - [x] Unfurl 62 | - [x] Naabu 63 | - [x] Httpx 64 | - [x] Dnsrecon 65 | - [x] Sublist3r 66 | - [x] Massdns 67 | - [x] Findomain 68 | - [x] Gowitness 69 | - [x] Dnsgen 70 | - [x] Amass 71 | 72 | ### More To Come 73 | - [ ] nuclei templates 74 | - [ ] gf patterns 75 | - [ ] and more. 76 | 77 | ## How to Use 78 | 79 | To start the script, run the following command, need to run sudo 80 | 81 | ```py 82 | sudo python3 main.py 83 | ``` 84 | 85 | 86 | ### All sorts of Contributions Are welcome 87 | 88 | ## 🔗 Links 89 | [![twitter](https://img.shields.io/badge/twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white)](https://twitter.com/myselfAshraful) 90 | 91 | 92 | # Hi, I'm 0xAgun! 👋 93 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import subprocess 2 | import sys 3 | import time 4 | 5 | banner = ''' 6 | 7 | 8 | \033[31;1m _______ __ __ _____ 9 | \033[31;1m| _ | | | _ | 10 | \033[31;1m|. 1 | | |.| | 11 | \033[31;1m|. _ |__|__`-|. | 12 | \033[31;1m|: | | |: | 13 | \033[31;1m|::.|:. | |::.| 14 | \033[31;1m`--- ---' `---'\033[0m \033[32;1m[2.1.9]\033[0m 15 | \033[34;1m[by 0xAgun]\033[0m 16 | 17 | 18 | 19 | ''' 20 | 21 | 22 | 23 | for char in banner: 24 | sys.stdout.write(char) 25 | sys.stdout.flush() 26 | time.sleep(0.01) 27 | pass 28 | 29 | 30 | ##installing go language 31 | 32 | def go_install(): 33 | go = subprocess.run(['go version',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 34 | 35 | if go.returncode != 0: 36 | print("Go is Not Installed") 37 | print("Installing Go") 38 | subprocess.run(['apt-get -y install golang',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 39 | go1 = subprocess.run(['go version',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 40 | if go1.returncode == 0: 41 | print("\033[32mGo is installed") 42 | else: 43 | print("Failled to Install go") 44 | else: 45 | print("\033[32mGo is installed") 46 | 47 | ##installing gcc 48 | 49 | def gcc_install(): 50 | gcc = subprocess.run(['gcc -v',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 51 | 52 | if gcc.returncode != 0: 53 | print("gcc is Not Installed") 54 | print("Installing gcc") 55 | subprocess.run(['apt -y install build-essential',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 56 | subprocess.run(['apt-get -y install manpages-dev',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 57 | gcc1 = subprocess.run(['gcc -v',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 58 | if gcc1.returncode == 0: 59 | print("\033[32mgcc is installed") 60 | else: 61 | print("Failled to Install gcc") 62 | else: 63 | print("\033[32mgcc is installed") 64 | 65 | ##installing make 66 | 67 | def make_install(): 68 | make = subprocess.run(['make -v',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 69 | 70 | if make.returncode != 0: 71 | print("make is Not Installed") 72 | print("Installing Make") 73 | subprocess.run(['apt-get -y install make',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 74 | make1 = subprocess.run(['make -v',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 75 | if make1.returncode == 0: 76 | print("\033[32mmake is installed") 77 | else: 78 | print("Failled to Install make") 79 | else: 80 | print("\033[32mmake is installed") 81 | 82 | 83 | ##installing dig 84 | 85 | def dig_install(): 86 | dig = subprocess.run(['dig -v',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 87 | 88 | if dig.returncode != 0: 89 | print("Dig is Not Installed") 90 | print("Installing Dig") 91 | subprocess.run(['apt-get -y install dnsutils',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 92 | dig1 = subprocess.run(['dig -v',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 93 | if dig1.returncode == 0: 94 | print("\033[32mDig is installed") 95 | else: 96 | print("Failled to Install Dig") 97 | else: 98 | print("\033[32mDig is installed") 99 | 100 | 101 | ##installing dnsx 102 | 103 | def dnsx_install(): 104 | dnsx = subprocess.run(['dnsx',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 105 | 106 | if dnsx.returncode != 0: 107 | print("Dnsx is Not Installed") 108 | print("Installing Dnsx") 109 | subprocess.run(['go install -v github.com/projectdiscovery/dnsx/cmd/dnsx@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 110 | subprocess.run(['cp ~/go/bin/dnsx /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 111 | dnsx1 = subprocess.run(['dnsx',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 112 | 113 | 114 | if dnsx1.returncode == 0: 115 | print("\033[32mDnsx is installed") 116 | else: 117 | print("Failled to Install Dnsx") 118 | else: 119 | print("\033[32mDnsx is installed") 120 | 121 | 122 | ##installing subfinder 123 | 124 | def subfinder_install(): 125 | finder = subprocess.run(['subfinder -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 126 | 127 | if finder.returncode != 0: 128 | print("Subfinder is Not Installed") 129 | print("Installing Subfinder") 130 | subprocess.run(['go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 131 | subprocess.run(['cp ~/go/bin/subfinder /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 132 | inder = subprocess.run(['subfinder -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 133 | if inder.returncode == 0: 134 | print("\033[32mSubfinder is installed") 135 | else: 136 | print("Failled to Install Subfinder") 137 | else: 138 | print("\033[32mSubfinder is installed") 139 | 140 | ##installing nuclei 141 | 142 | 143 | def nuclei_install(): 144 | nuclei = subprocess.run(['nuclei -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 145 | 146 | if nuclei.returncode != 0: 147 | print("Nuclei is Not Installed") 148 | print("Installing Nuclei") 149 | subprocess.run(['go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 150 | subprocess.run(['cp ~/go/bin/nuclei /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 151 | nuclei1 = subprocess.run(['nuclei -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 152 | 153 | if nuclei1.returncode == 0: 154 | print("\033[32mNuclei is installed") 155 | else: 156 | print("Failled to Install Nuclei") 157 | else: 158 | print("\033[32mNuclei is installed") 159 | 160 | ##installing assetfinder 161 | 162 | def assetfinder_install(): 163 | asset = subprocess.run(['assetfinder -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 164 | 165 | if asset.returncode != 0: 166 | print("Assetfinder is Not Installed") 167 | print("Installing Assetfinder") 168 | subprocess.run(['go install -v github.com/tomnomnom/assetfinder@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 169 | subprocess.run(['cp ~/go/bin/assetfinder /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 170 | assets = subprocess.run(['assetfinder -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 171 | 172 | if assets.returncode == 0: 173 | print("\033[32mAssetfinder is installed") 174 | else: 175 | print("Failled to Install Asssefinder") 176 | else: 177 | print("\033[32mAssetfinder is installed") 178 | 179 | 180 | ##installing jq 181 | 182 | def jq_install(): 183 | jq = subprocess.run(['jq --help',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 184 | 185 | if jq.returncode != 0: 186 | print("jq is Not Installed") 187 | print("Installing jq") 188 | subprocess.run(['apt-get install jq -y',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 189 | jq1 = subprocess.run(['jq --help',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 190 | if jq1.returncode == 0: 191 | print("\033[32mjq is installed") 192 | else: 193 | print("Failled to Install jq") 194 | else: 195 | print("\033[32mjq is installed") 196 | 197 | 198 | ##installing httprobe 199 | 200 | def httprobe_install(): 201 | probe = subprocess.run(['httprobe -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 202 | 203 | if probe.returncode != 0: 204 | print("Httprobe is Not Installed") 205 | print("Installing Httprobe") 206 | subprocess.run(['go install github.com/tomnomnom/httprobe@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 207 | subprocess.run(['cp ~/go/bin/httprobe /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 208 | probe1 = subprocess.run(['httprobe -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 209 | 210 | if probe1.returncode == 0: 211 | print("\033[32mHttprobe is installed") 212 | else: 213 | print("Failled to Install Httprobe") 214 | else: 215 | print("\033[32mHttprobe is installed") 216 | 217 | ##installing waybackurl 218 | 219 | 220 | def waybackurl_install(): 221 | url = subprocess.run(['waybackurls -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 222 | 223 | if url.returncode != 0: 224 | print("Waybackurls is Not Installed") 225 | print("Installing Waybackurls") 226 | subprocess.run(['go install -v github.com/tomnomnom/waybackurls@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 227 | subprocess.run(['cp ~/go/bin/waybackurls /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 228 | url1 = subprocess.run(['waybackurls -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 229 | 230 | if url1.returncode == 0: 231 | print("\033[32mWaybackurls is installed") 232 | else: 233 | print("Failled to Install Waybackurls") 234 | else: 235 | print("\033[32mWaybackurls is installed") 236 | 237 | 238 | ##installing meg 239 | 240 | def meg_install(): 241 | meg = subprocess.run(['meg -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 242 | 243 | if meg.returncode != 0: 244 | print("Meg is Not Installed") 245 | print("Installing Meg") 246 | subprocess.run(['go install -v github.com/tomnomnom/meg@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 247 | subprocess.run(['cp ~/go/bin/meg /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 248 | meg1 = subprocess.run(['meg -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 249 | 250 | if meg1.returncode == 0: 251 | print("\033[32mMeg is installed") 252 | else: 253 | print("Failled to Install Meg") 254 | else: 255 | print("\033[32mMeg is installed") 256 | 257 | ##installing gf 258 | 259 | 260 | def gf_install(): 261 | gf = subprocess.run(['gf --help',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 262 | 263 | if gf.returncode != 0: 264 | print("gf is Not Installed") 265 | print("Installing gf") 266 | subprocess.run(['go install -v github.com/tomnomnom/gf@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 267 | subprocess.run(['cp ~/go/bin/gf /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 268 | gf = subprocess.run(['gf --help',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 269 | 270 | if gf.returncode == 0: 271 | print("\033[32mgf is installed") 272 | else: 273 | print("Failled to Install gf") 274 | else: 275 | print("\033[32mgf is installed") 276 | 277 | ##installing gron 278 | 279 | 280 | def gron_install(): 281 | gron = subprocess.run(['gron -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 282 | 283 | if gron.returncode != 0: 284 | print("Gron is Not Installed") 285 | print("Installing Gron") 286 | subprocess.run(['go install -v github.com/tomnomnom/gron@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 287 | subprocess.run(['cp ~/go/bin/gron /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 288 | gron1 = subprocess.run(['gron -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 289 | 290 | if gron1.returncode == 0: 291 | print("\033[32mGron is installed") 292 | else: 293 | print("Failled to Install Gron") 294 | else: 295 | print("\033[32mGron is installed") 296 | 297 | 298 | ##installing webscreenshot 299 | 300 | def webscreenshot_install(): 301 | shoot = subprocess.run(['webscreenshot -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 302 | 303 | if shoot.returncode != 0: 304 | print("webscreenshot is Not Installed") 305 | print("Installing webscreenshot") 306 | subprocess.run(['pip install webscreenshot',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 307 | subprocess.run(['pip install selenium',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 308 | shoot1 = subprocess.run(['webscreenshot -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 309 | if shoot1.returncode == 0: 310 | print("\033[32mwebscreenshot is installed") 311 | else: 312 | print("Failled to Install webscreenshot") 313 | else: 314 | print("\033[32mwebscreenshot is installed") 315 | 316 | 317 | ##installing waybackunifier 318 | 319 | def waybackunifier_install(): 320 | backfin = subprocess.run(['chronos -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 321 | 322 | if backfin.returncode != 0: 323 | print("chronos is Not Installed") 324 | print("Installing chronos") 325 | subprocess.run(['go install -v github.com/mhmdiaa/chronos@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 326 | subprocess.run(['cp ~/go/bin/chronos /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 327 | backfin1 = subprocess.run(['chronos -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 328 | 329 | if backfin1.returncode == 0: 330 | print("\033[32mchronos is installed") 331 | else: 332 | print("Failled to Install chronos") 333 | else: 334 | print("\033[32mwaybackunifier is installed") 335 | 336 | 337 | ##installing shodan 338 | 339 | def shodan_install(): 340 | shodan = subprocess.run(['shodan -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 341 | 342 | if shodan.returncode != 0: 343 | print("shodan is Not Installed") 344 | print("Installing shodan") 345 | subprocess.run(['pip3 install shodan',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 346 | shodan1 = subprocess.run(['shodan -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 347 | if shodan1.returncode == 0: 348 | print("\033[32mshodan is installed") 349 | else: 350 | print("Failled to Install shodan") 351 | else: 352 | print("\033[32mshodan is installed") 353 | 354 | ##installing censys 355 | 356 | def censys_install(): 357 | cen = subprocess.run(['censys',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 358 | 359 | if cen.returncode != 0: 360 | print("censys is Not Installed") 361 | print("Installing censys") 362 | subprocess.run(['pip3 install censys',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 363 | cen1 = subprocess.run(['censys',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 364 | 365 | if cen1.returncode == 0: 366 | print("\033[32mcensys is installed") 367 | else: 368 | print("Failled to Install censys") 369 | else: 370 | print("\033[32mcensys is installed") 371 | 372 | 373 | ##installing goaltdns 374 | 375 | def goaltdns_install(): 376 | goaltdns = subprocess.run(['goaltdns --help',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 377 | 378 | if goaltdns.returncode != 0: 379 | print("goaltdns is Not Installed") 380 | print("Installing goaltdns") 381 | subprocess.run(['go install -v github.com/subfinder/goaltdns@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 382 | subprocess.run(['cp ~/go/bin/goaltdns /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 383 | goaltdns1 = subprocess.run(['goaltdns --help',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 384 | 385 | if goaltdns1.returncode == 0: 386 | print("\033[32mgoaltdns is installed") 387 | else: 388 | print("Failled to Install goaltdns") 389 | else: 390 | print("\033[32mgoaltdns is installed") 391 | 392 | ##installing subjack 393 | 394 | 395 | def subjack_install(): 396 | subjack= subprocess.run(['subjack -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 397 | 398 | if subjack.returncode != 0: 399 | print("subjack is Not Installed") 400 | print("Installing subjack") 401 | subprocess.run(['go install -v github.com/haccer/subjack@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 402 | subprocess.run(['cp ~/go/bin/subjack /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 403 | subjack1= subprocess.run(['subjack -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 404 | 405 | if subjack1.returncode == 0: 406 | print("\033[32msubjack is installed") 407 | else: 408 | print("Failled to Install subjack") 409 | else: 410 | print("\033[32msubjack is installed") 411 | 412 | ##installing ffuf 413 | 414 | 415 | def ffuf_install(): 416 | ffuf= subprocess.run(['ffuf --help',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 417 | 418 | if ffuf.returncode != 0: 419 | print("FFUF is Not Installed") 420 | print("Installing FFUF") 421 | subprocess.run(['go install -v github.com/ffuf/ffuf@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 422 | subprocess.run(['cp ~/go/bin/ffuf /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 423 | ffuf1= subprocess.run(['ffuf --help',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 424 | 425 | 426 | if ffuf1.returncode == 0: 427 | print("\033[32mFFUF is installed") 428 | else: 429 | print("Failled to Install FFUF") 430 | else: 431 | print("\033[32mFFUF is installed") 432 | 433 | 434 | ##installing hakrawler 435 | 436 | def hawk_install(): 437 | hawk= subprocess.run(['hakrawler -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 438 | 439 | if hawk.returncode != 0: 440 | print("hakrawler is Not Installed") 441 | print("Installing hakrawler") 442 | subprocess.run(['go install -v github.com/hakluke/hakrawler@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 443 | subprocess.run(['cp ~/go/bin/hakrawler /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 444 | hawk1= subprocess.run(['hakrawler -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 445 | 446 | if hawk1.returncode == 2: 447 | print("\033[32mhakrawler is installed") 448 | else: 449 | print("Failled to Install hakrawler") 450 | else: 451 | print("\033[32mhakrawler is installed") 452 | 453 | 454 | ##installing kxss 455 | 456 | def kxss_install(): 457 | subprocess.run(['go install -v github.com/Emoe/kxss@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 458 | subprocess.run(['cp ~/go/bin/kxss /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 459 | print("\033[32mKxss is installed") 460 | 461 | 462 | ##installing otxurls 463 | 464 | def otxurls_install(): 465 | otxurls= subprocess.run(['otxurls -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 466 | 467 | if otxurls.returncode != 0: 468 | print("otxurls is Not Installed") 469 | print("Installing otxurls") 470 | subprocess.run(['go install -v github.com/lc/otxurls@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 471 | subprocess.run(['cp ~/go/bin/otxurls /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 472 | otxurls1= subprocess.run(['otxurls -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 473 | 474 | if otxurls1.returncode == 0: 475 | print("\033[32motxurls is installed") 476 | else: 477 | print("Failled to Install otxurls") 478 | else: 479 | print("\033[32motxurls is installed") 480 | 481 | 482 | ##installing dalfox 483 | 484 | def dalfox_install(): 485 | df = subprocess.run(['dalfox -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 486 | if df.returncode != 0: 487 | print("dalfox is Not Installed") 488 | print("Installing dalfox") 489 | subprocess.run(['sudo apt install snapd -y',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 490 | subprocess.run(['sudo snap install dalfox',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 491 | df1 = subprocess.run(['dalfox -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 492 | if df1.returncode == 0: 493 | print("\033[32mdalfox is installed") 494 | else: 495 | print("Failled to Install dalfox") 496 | else: 497 | print("\033[32mdalfox is installed") 498 | 499 | 500 | ##installing subjs 501 | 502 | def subjs_install(): 503 | subjs= subprocess.run(['subjs -version',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 504 | 505 | if subjs.returncode != 0: 506 | print("subjs is Not Installed") 507 | print("Installing subjs") 508 | subprocess.run(['go install -v github.com/lc/subjs@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 509 | subprocess.run(['cp ~/go/bin/subjs /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 510 | subjs1= subprocess.run(['subjs -version',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 511 | 512 | if subjs1.returncode == 0: 513 | print("\033[32msubjs is installed") 514 | else: 515 | print("Failled to Install subjs") 516 | else: 517 | print("\033[32msubjs is installed") 518 | 519 | ##installing gau 520 | 521 | 522 | def gau_install(): 523 | gau = subprocess.run(['gau -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 524 | if gau.returncode != 0: 525 | subprocess.run(['go install -v github.com/lc/gau/v2/cmd/gau@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 526 | subprocess.run(['cp ~/go/bin/gau /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 527 | gau1 = subprocess.run(['gau -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 528 | if gau1.returncode == 0: 529 | print("\033[32mgau is installed") 530 | else: 531 | print("Failled to Install gau") 532 | else: 533 | print("\033[32mgau is installed") 534 | 535 | 536 | 537 | ##installing arjun 538 | 539 | def arjun_install(): 540 | gau= subprocess.run(['arjun -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 541 | 542 | if gau.returncode != 0: 543 | print("arjun is Not Installed") 544 | print("Installing arjun") 545 | subprocess.run(['pip3 install arjun',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 546 | gau1= subprocess.run(['arjun -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 547 | if gau1.returncode == 0: 548 | print("\033[32marjun is installed") 549 | else: 550 | print("Failled to Install arjun") 551 | else: 552 | print("\033[32marjun is installed") 553 | 554 | 555 | def godork_install(): 556 | gdork = subprocess.run(['go-dork -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 557 | if gdork.returncode != 0: 558 | print("go-dork is Not Installed") 559 | print("Installing go-dork") 560 | subprocess.run(['go install -v dw1.io/go-dork@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 561 | subprocess.run(['cp ~/go/bin/go-dork /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 562 | gdork1 = subprocess.run(['go-dork -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 563 | if gdork1.returncode == 0: 564 | print("\033[32mgo-dork is installed") 565 | else: 566 | print("Failled to Install go-dork") 567 | else: 568 | print("\033[32mgo-dork is installed") 569 | 570 | 571 | def githubsub_install(): 572 | githubsub = subprocess.run(['github-subdomains -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 573 | if githubsub.returncode != 0: 574 | print("github-subdomains is Not Installed") 575 | print("Installing github-subdomains") 576 | subprocess.run(['go install -v github.com/gwen001/github-subdomains@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 577 | subprocess.run(['cp ~/go/bin/github-subdomains /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 578 | githubsub1 = subprocess.run(['github-subdomains -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 579 | if githubsub1.returncode == 0: 580 | print("\033[32mgithub-subdomains is installed") 581 | else: 582 | print("Failled to Install github-subdomains") 583 | else: 584 | print("\033[32mgithub-subdomains is installed") 585 | 586 | def gospider_install(): 587 | gospider = subprocess.run(['gospider -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 588 | if gospider.returncode != 0: 589 | print("gospider is Not Installed") 590 | print("Installing gospider") 591 | subprocess.run(['go install -v github.com/jaeles-project/gospider@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 592 | subprocess.run(['cp ~/go/bin/gospider /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 593 | gospider1 = subprocess.run(['gospider -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 594 | if gospider1.returncode == 0: 595 | print("\033[32mgospider is installed") 596 | else: 597 | print("Failled to Install gospider") 598 | else: 599 | print("\033[32mgospider is installed") 600 | 601 | def puredns_install(): 602 | puredns = subprocess.run(['puredns -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 603 | if puredns.returncode != 0: 604 | print("puredns is Not Installed") 605 | print("Installing puredns") 606 | subprocess.run(['go install -v github.com/d3mondev/puredns/v2@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 607 | subprocess.run(['cp ~/go/bin/puredns /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 608 | puredns1 = subprocess.run(['puredns -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 609 | if puredns1.returncode == 0: 610 | print("\033[32mpuredns is installed") 611 | else: 612 | print("Failled to Install puredns") 613 | else: 614 | print("\033[32mpuredns is installed") 615 | 616 | 617 | def gauplus_install(): 618 | gauplus = subprocess.run(['gauplus -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 619 | if gauplus.returncode != 0: 620 | print("gauplus is Not Installed") 621 | print("Installing gauplus") 622 | subprocess.run(['go install -v github.com/bp0lr/gauplus@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 623 | subprocess.run(['cp ~/go/bin/gauplus /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 624 | gauplus1 = subprocess.run(['gauplus -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 625 | if gauplus1.returncode == 0: 626 | print("\033[32mgauplus is installed") 627 | else: 628 | print("Failled to Install gauplus") 629 | else: 630 | print("\033[32mgauplus is installed") 631 | 632 | 633 | def qsreplace_install(): 634 | gauplus = subprocess.run(['qsreplace -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 635 | if gauplus.returncode != 0: 636 | print("qsreplace is Not Installed") 637 | print("Installing qsreplace") 638 | subprocess.run(['go install -v github.com/tomnomnom/qsreplace@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 639 | subprocess.run(['cp ~/go/bin/qsreplace /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 640 | gauplus1 = subprocess.run(['qsreplace -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 641 | if gauplus1.returncode == 0: 642 | print("\033[32mqsreplace is installed") 643 | else: 644 | print("Failled to Install qsreplace") 645 | else: 646 | print("\033[32mqsreplace is installed") 647 | 648 | def unfurl_install(): 649 | unfurl = subprocess.run(['unfurl -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 650 | if unfurl.returncode != 0: 651 | print("unfurl is Not Installed") 652 | print("Installing unfurl") 653 | subprocess.run(['go install -v github.com/tomnomnom/unfurl@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 654 | subprocess.run(['cp ~/go/bin/unfurl /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 655 | unfurl1 = subprocess.run(['unfurl -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 656 | if unfurl1.returncode == 0: 657 | print("\033[32munfurl is installed") 658 | else: 659 | print("Failled to Install unfurl") 660 | else: 661 | print("\033[32munfurl is installed") 662 | 663 | def naabu_install(): 664 | naabu = subprocess.run(['naabu -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 665 | if naabu.returncode != 0: 666 | print("naabu is Not Installed") 667 | print("Installing naabu") 668 | subprocess.run(['sudo apt install -y libpcap-dev',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 669 | subprocess.run(['go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 670 | subprocess.run(['cp ~/go/bin/naabu /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 671 | naabu1 = subprocess.run(['naabu -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 672 | if naabu1.returncode == 0: 673 | print("\033[32mnaabu is installed") 674 | else: 675 | print("Failled to Install naabu") 676 | else: 677 | print("\033[32mnaabu is installed") 678 | 679 | def httpx_install(): 680 | httpx = subprocess.run(['httpx -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 681 | if httpx.returncode != 0: 682 | print("httpx is Not Installed") 683 | print("Installing httpx") 684 | subprocess.run(['go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 685 | subprocess.run(['cp ~/go/bin/httpx /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 686 | httpx1 = subprocess.run(['httpx -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 687 | if httpx1.returncode == 0: 688 | print("\033[32mhttpx is installed") 689 | else: 690 | print("Failled to Install httpx") 691 | else: 692 | print("\033[32mhttpx is installed") 693 | 694 | def dnsrecon_install(): 695 | dnsrecon = subprocess.run(['dnsrecon -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 696 | if dnsrecon.returncode != 0: 697 | print("dnsrecon is Not Installed") 698 | print("Installing dnsrecon") 699 | subprocess.run(['git clone https://github.com/darkoperator/dnsrecon.git',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 700 | subprocess.run(['cd dnsrecon; pip3 install -r requirements.txt; sudo python3 dnsrecon/setup.py install',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 701 | dnsrecon1 = subprocess.run(['dnsrecon -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 702 | if dnsrecon1.returncode == 0: 703 | print("\033[32mdnsrecon is installed") 704 | else: 705 | print("Failled to Install dnsrecon") 706 | else: 707 | print("\033[32mdnsrecon is installed") 708 | 709 | def sublist3r_install(): 710 | sublist3r = subprocess.run(['sublist3r -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 711 | if sublist3r.returncode != 0: 712 | print("sublist3r is Not Installed") 713 | print("Installing sublist3r") 714 | subprocess.run(['git clone https://github.com/aboul3la/Sublist3r.git',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 715 | subprocess.run(['cd Sublist3r; pip3 install -r requirements.txt; sudo python3 setup.py install',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 716 | sublist3r1 = subprocess.run(['sublist3r -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 717 | if sublist3r1.returncode == 0: 718 | print("\033[32msublist3r is installed") 719 | else: 720 | print("Failled to Install sublist3r") 721 | else: 722 | print("\033[32msublist3r is installed") 723 | 724 | def massdns_install(): 725 | massdns = subprocess.run(['massdns -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 726 | if massdns.returncode != 0: 727 | print("massdns is Not Installed") 728 | print("Installing massdns") 729 | subprocess.run(['git clone https://github.com/blechschmidt/massdns.git',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 730 | subprocess.run(['cd massdns; make; cp bin/massdns /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 731 | massdns1 = subprocess.run(['massdns -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 732 | if massdns1.returncode == 0: 733 | print("\033[32mmassdns is installed") 734 | else: 735 | print("Failled to Install massdns") 736 | else: 737 | print("\033[32mmassdns is installed") 738 | 739 | def findomain_install(): 740 | findomain = subprocess.run(['findomain -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 741 | if findomain.returncode != 0: 742 | print("findomain is Not Installed") 743 | print("Installing findomain") 744 | subprocess.run(['sudo wget https://github.com/findomain/findomain/releases/latest/download/findomain-linux -O /usr/local/bin/findomain',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 745 | subprocess.run(['sudo chmod +x /usr/local/bin/findomain',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 746 | massdns1 = subprocess.run(['findomain -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 747 | if massdns1.returncode == 0: 748 | print("\033[32mfindomain is installed") 749 | else: 750 | print("Failled to Install findomain") 751 | else: 752 | print("\033[32mfindomain is installed") 753 | 754 | 755 | def gowitness_install(): 756 | gowitness = subprocess.run(['gowitness -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 757 | if gowitness.returncode != 0: 758 | print("gowitness is Not Installed") 759 | print("Installing gowitness") 760 | subprocess.run(['go install -v github.com/sensepost/gowitness@latest',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 761 | subprocess.run(['cp ~/go/bin/gowitness /usr/local/bin',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 762 | massdns1 = subprocess.run(['gowitness -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 763 | if massdns1.returncode == 0: 764 | print("\033[32mgowitnessis installed") 765 | else: 766 | print("Failled to Install gowitness") 767 | else: 768 | print("\033[32mgowitness is installed") 769 | 770 | def dnsgen_install(): 771 | sublist3r = subprocess.run(['dnsgen --help',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 772 | if sublist3r.returncode != 0: 773 | print("dnsgen is Not Installed") 774 | print("Installing dnsgen") 775 | subprocess.run(['https://github.com/ProjectAnte/dnsgen.git',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 776 | subprocess.run(['cd dnsgen; pip3 install -r requirements.txt; sudo python3 setup.py install',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 777 | sublist3r1 = subprocess.run(['dnsgen --help',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 778 | if sublist3r1.returncode == 0: 779 | print("\033[32mdnsgen is installed") 780 | else: 781 | print("Failled to Install dnsgen") 782 | else: 783 | print("\033[32mdnsgen is installed") 784 | 785 | def amass_install(): 786 | amass = subprocess.run(['amass -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 787 | if amass.returncode != 0: 788 | print("amass is Not Installed") 789 | print("Installing amass") 790 | subprocess.run(['sudo snap install amass',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 791 | amass1 = subprocess.run(['amass -h',], shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 792 | if amass1.returncode == 0: 793 | print("\033[32mamass is installed") 794 | else: 795 | print("Failled to Install amass") 796 | else: 797 | print("\033[32mamass is installed") 798 | 799 | 800 | if __name__ == "__main__": 801 | 802 | go_install() 803 | gcc_install() 804 | make_install() 805 | dig_install() 806 | dnsx_install() 807 | subfinder_install() 808 | nuclei_install() 809 | assetfinder_install() 810 | jq_install() 811 | httprobe_install() 812 | waybackurl_install() 813 | meg_install() 814 | gf_install() 815 | gron_install() 816 | waybackunifier_install() 817 | shodan_install() 818 | censys_install() 819 | goaltdns_install() 820 | subjack_install() 821 | ffuf_install() 822 | hawk_install() 823 | kxss_install() 824 | otxurls_install() 825 | dalfox_install() 826 | subjs_install() 827 | gau_install() 828 | arjun_install() 829 | webscreenshot_install() 830 | godork_install() 831 | githubsub_install() 832 | gospider_install() 833 | puredns_install() 834 | gauplus_install() 835 | qsreplace_install() 836 | unfurl_install() 837 | naabu_install() 838 | httpx_install() 839 | dnsrecon_install() 840 | sublist3r_install() 841 | massdns_install() 842 | findomain_install() 843 | gowitness_install() 844 | dnsgen_install() 845 | amass_install() 846 | 847 | 848 | 849 | --------------------------------------------------------------------------------