From a86e33f3473f15c25ef80799d5da71a0a2a9f434 Mon Sep 17 00:00:00 2001 From: "Md. Nur habib" <68025241+thenurhabib@users.noreply.github.com> Date: Sun, 15 May 2022 01:39:37 +0600 Subject: [PATCH] Add files via upload --- README.md | 93 ++++++++++++++++++++ install.sh | 76 ++++++++++++++++ main.py | 85 ++++++++++++++++++ plugins/__pycache__/styling.cpython-310.pyc | Bin 0 -> 1135 bytes plugins/__pycache__/styling.cpython-39.pyc | Bin 0 -> 1134 bytes plugins/styling.py | 36 ++++++++ 6 files changed, 290 insertions(+) create mode 100644 README.md create mode 100644 install.sh create mode 100644 main.py create mode 100644 plugins/__pycache__/styling.cpython-310.pyc create mode 100644 plugins/__pycache__/styling.cpython-39.pyc create mode 100644 plugins/styling.py diff --git a/README.md b/README.md new file mode 100644 index 0000000..f600401 --- /dev/null +++ b/README.md @@ -0,0 +1,93 @@ +

+
+ untimSubs +
+

+ +

It makes easy to use all subdomain enumeration with all popular tools.

+ +
+ +

+ + + + + + + + + +

+ +
+ + +
+ +### untimSubs use multiple subdomain enemeration tools and find all subdomains and save it in particularly text files. + +
+ +### Main Features +- Web Crawler +- Scan Spring4Shell RCE + +
+ +### Documentation +### install +```yaml +git clone https://github.com/thenurhabib/untimsubs.git +cd untimsubs +``` +
+ +#### Usage + +```bash +┌──(habib㉿kali)-[~/Desktop/untimSubs] +└─$ python3 main.py -h + + __ _ _____ __ + __ ______ / /_(_)___ ___ / ___/__ __/ /_ _____ + / / / / __ \/ __/ / __ `__ \\__ \/ / / / __ \/ ___/ +/ /_/ / / / / /_/ / / / / / /__/ / /_/ / /_/ (__ ) +\__,_/_/ /_/\__/_/_/ /_/ /_/____/\__,_/_.___/____/ v1.0.0 + +It makes easy to use all subdomain enumeration with all popular tools. + + develop by @thenurhabib + +usage: Help Menu of untimSubs + +optional arguments: + -h, --help show this help message and exit + -d D, --domain D Enter Domain Name + + +``` +
+
+ +## 🔗 Used Tools : + +- [Amass](https://github.com/OWASP/Amass) +- [sublist3r](https://github.com/aboul3la/Sublist3r) +- [subfinder](https://github.com/projectdiscovery/subfinder) +- [SubBrute](https://github.com/TheRook/subbrute) +- [Knock](https://github.com/guelfoweb/knock) + + +
+ +### Author +```yaml +Name : Md. Nur habib +Medium : thenurhabib.medium.com +Twitter : https://twitter.com/thenurhab1b +HackerRank : https://www.hackerrank.com/thenurhabib + +``` + +##### Thank You. diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..04527e8 --- /dev/null +++ b/install.sh @@ -0,0 +1,76 @@ +sudo apt update -y +sudo apt autoremove -y +clear + + +echo "" +echo "Check if python3 lang installed or not..." +echo "" +if ! command -v python3 &> /dev/null + then + echo "python3 language not installed." + echo "Installing python3 Language..." + echo "" + sudo apt install python3 -y + else + echo "Python Already installed." +fi + +sleep 1 +clear +echo "" +echo "Check if go lang installed or not..." +echo "" +sleep 2 + +if ! command -v go &> /dev/null + + then + echo "Go language not installed." + echo "Installing Go Language..." + echo "" + sudo curl -O https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz + sudo tar -xvf go1.8.linux-amd64.tar.gz + sudo mv go /usr/local + sudo nano ~/.profile + export PATH=$PATH:/usr/local/go/bin + export GOROOT=$HOME/go + export PATH=$PATH:$GOROOT/bin + source ~/.profile + + else + echo "Go already installed." +fi + + +# Installing Tools +mkdir Tools +cd Tools +echo "" +echo "Installing amass" +echo "" +sudo apt install amass + + +echo "" +echo "Installing sublist3r" +echo "" +sudo apt install sublist3r + + +echo "" +echo "Installing subfinder" +echo "" +sudo apt install subfinder + + +echo "" +echo "Installing SubBrute" +echo "" +git clone https://github.com/TheRook/subbrute.git + + +echo "" +echo "Installing Knock" +echo "" +git clone https://github.com/santiko/KnockPy.git \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..d567685 --- /dev/null +++ b/main.py @@ -0,0 +1,85 @@ +#!/usr/bin python3 + +from os import system, path +from sys import exit +import warnings +import argparse +from plugins.styling import * + + +# Disable wornings +warnings.filterwarnings("ignore") + +def x(command): + system(command) + +# Print Banner +bannerFunc() + +# Command Line Utility +parser = argparse.ArgumentParser(usage="Help Menu of untimSubs") +parser.add_argument('-d', '--domain' ,dest="d", help="Enter Domain Name", type=str, required=True) +args = parser.parse_args() + +domainName = args.d + +def mainFunction(): + + if domainName: + print("") + print(f"{bold}{orange}Target :{purple} {domainName} {reset}") + print("") + # Make and change or Change Directory + if path.exists("Tools") == True: + x("cd Tools") + + else: + x("mkdir Tools") + x("cd Tools") + x("mkdir Subdomains") + + # Finding Subdomains using amass + print(f"{bold}{blue}\nFinding Subdomains using amass, Please wait...{reset}") + x(f"amass enum -d {domainName} > Subdomains/subdomansAmass.txt") + + # Finding Subdomains using sublist3r + print(f"{bold}{blue}\nFinding Subdomains using sublist3r, Please wait...{reset}") + x(f"sublist3r -d {domainName} > Subdomains/subdomansSublist3r.txt") + print("\n\n") + + # Finding Subdomains using sublist3r + print(f"{bold}{blue}\nFinding Subdomains using sublist3r, Please wait...{reset}") + x(f"subfinder -d {domainName} -o Subdomains/subdomansSubfinder.txt") + print("\n\n") + + # Finding Subdomains using subbrute + print(f"{bold}{blue}\nFinding Subdomains using subbrute, Please wait...{reset}") + x("cd subbrute") + x(f"python3 subbrute.py {domainName} > Subdomains/subdomansSubbrute.txt") + x("cd ..") + print("\n\n") + + # Finding Subdomains using Knock + print(f"{bold}{blue}\nFinding Subdomains using Knock, Please wait...{reset}") + x("cd KnockPy") + x(f"python knock.py {domainName} > Subdomains/subdomansKnock.txt") + x("cd ..") + print("\n\n") + + else: + print("") + print(f"{bold}{red}Please enter valid credential.{reset}") + exit(0) + +# Call main function +if __name__ == "__main__": + try: + mainFunction() + except KeyboardInterrupt: + getOpinion = input("\nWant to exit : (y/n)").lower() + if getOpinion == "y": + exit() + elif getOpinion == "n": + pass + else: + print("Enter 'y' for yes and 'n' for no.") \ No newline at end of file diff --git a/plugins/__pycache__/styling.cpython-310.pyc b/plugins/__pycache__/styling.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..33fb3dd3c914d6ecacff57968f96774d0a63ddbc GIT binary patch literal 1135 zcmaJ=&2H2%5Kgj5b~pRiA2A-MEX#KBYw$=ceD)^Q@oX|=g< zfVZf403L`-t~>z8O69^h-nQ(8aps#De=~N*va`X!GeCa+{t_Ry4C9vy{uK*?W6lF z2eAEp^wl)soS?7HNz^tC!$X@Ah6urTBcYOYaO)r_YVy{skNj{i9IH&FzCvFoC`u)R zctGd@)R{_B5%`}~e5NNi6GGpEi6&1I8$K|ay2U+M1dWjgi#>rqXllU+Py1>u^(+25 zVWRwIqOuUGO|N?Ay_YDBmb5@LDpp8ls4OUo7(+!#vNTFKqMW9Qh-8v+bdktK!{%9D zvP?ih#)^sOReeP0Ib~Un;uWff=vXc&FU2B?lNeP_bME7A?c^fivbN)lk=k8R#Q;8{s)H!nrbXl>6{5w9IV3o3sYq6asjf$OQi$WrPzoA_^Nv6NZv zms}?4X&D!O&dPbh3%`&nmhkx`U)5e5aZbhClFuHfTlEm2Z(5H1r%~6wwz~F}*5Q>H z0DUsv6|UM+Jxu|x(!fs4qS;b7jXxKZa_nXz;&Uq6DygHOtJp3}<_ifaD|m~MSZc4C zgr>1~LsKs7yL{C>w)2E9*9)ivXny9ddF}O~sP4Q>Gg3183NE-&JO;2W80P;+-~J03 C{}tu{ literal 0 HcmV?d00001 diff --git a/plugins/__pycache__/styling.cpython-39.pyc b/plugins/__pycache__/styling.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..48b51e1ec478bb314b37441e697267352059bb59 GIT binary patch literal 1134 zcmah|PjAyO6i?D5ZPRw$A2Nt_(Y)Vc@ z@GT}j0N)7Z%7;K27oOv8qbFYC-+Rx$-*fz|I2w&S1MH{yB|hpH#xIrpYZfFYFp3WV z#J~nIu}Lg!kq+(<8{5Re4so$dy0}YvxJUZ9Pdx0A0UnSc9+D9rkuAJM#&}G&@iy7P zJ7kyaeKYVbd2nt_9@g&V!E`pA)%KH5v$S>q4_bGqv%_`vTu&Zq_d>fP?T)p3*}6d2 z1-dTKb%Cx6bX}n9g5z`!eQnq_WN%>_`XDmM)+pyMV6j z0d~KSznUhT6ZF+Pi@K&^cxcnY5FvPPEmXEn?g9iwt!~Zw$Pf3!iBhWJEA+KMQA!Nv z0ihqDE|f@R5Pw$rg`V6LguVw8txgjgF)*6C!+lr;O^^qRJ%b&zwGcz3W3`srioX_2 zRoqV07DA2b)u-O6L}|351)@<=A(^4FpeSMt6=h7aG)g$4yiBQxWRh`omB?jF=UHB| zNI*r#imB(-LqzB$Wm%5m3e{WaL@uFFETcGyQSGz`Kj}A4E)p&qJI)ws+=?=mT{Rs+ zNizt;k5m-!l`sUJm9%m5Qsj&__PmOC;|N+%`NI$c_!U~Xnfc2srGEPn{~aw>GRysv z%OpK712ugY5W+LJXD!NM4Q_xpzpCyZ>1W5&#F%l~swUf{^ x_HJp)g?+DA-D5jX_-eg?I)HXF_s#2Q2t`frb()cq(Kl*y#Zv&=vd#ZI_FqFY6|?{V literal 0 HcmV?d00001 diff --git a/plugins/styling.py b/plugins/styling.py new file mode 100644 index 0000000..01ac2a7 --- /dev/null +++ b/plugins/styling.py @@ -0,0 +1,36 @@ +#!/usr/bin python3 + +__Version__ = "v1.0.0" + +reset='\033[0m' +bold='\033[01m' +black='\033[30m' +red='\033[31m' +green='\033[32m' +orange='\033[33m' +blue='\033[34m' +purple='\033[35m' +cyan='\033[36m' +lightgrey='\033[37m' +darkgrey='\033[90m' +lightred='\033[91m' +lightgreen='\033[92m' +yellow='\033[93m' +lightblue='\033[94m' +pink='\033[95m' +lightcyan='\033[96m' + + + +def bannerFunc(): + print(f"""{bold}{yellow} + __ _ _____ __ + __ ______ / /_(_)___ ___ / ___/__ __/ /_ _____ + / / / / __ \/ __/ / __ `__ \\\__ \/ / / / __ \/ ___/ +/ /_/ / / / / /_/ / / / / / /__/ / /_/ / /_/ (__ ) +\__,_/_/ /_/\__/_/_/ /_/ /_/____/\__,_/_.___/____/{red} {__Version__} +{blue} +It makes easy to use all subdomain enumeration with all popular tools. + +{purple} develop by {cyan} @thenurhabib {reset} + """) \ No newline at end of file