Skip to content

nodex4/TropX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License


logo

TropX

The best penetration testing and tech tools unified into one beatiful command line interface!
· Report Bug · Request Feature


Table of Contents
  1. About The Project
  2. Next Feature
  3. Getting Started
  4. Usage
  5. Custom Scripts
  6. Roadmap
  7. Contributing
  8. License
  9. Contact
  10. Credits
  11. Donate
  12. Compatibility
  13. Troubleshooting
  14. Disclaimer

About The Project

image

             TropX is a command line application to run penetration testing scripts. It aims to more efficiently run long processes and tedious tasks by allowing the creation of custom scripts in the CLI that can be run whenever. To make scripting even easier, there are premade functions and variables for bash and python to be used to simplify the process. TropX also allows for maximum customization and optimization by providing a settings menu controlled trough the CLI. This project is free and opensource so all funding originates from donations.

(back to top)

Next Feature

Vote on the next feature to be implemented into TropX.

  • This feature is not setup yet

Getting Started

Learn how to install, setup, and update Tropx.

Installation

A local copy of TropX can be obtained using the git clone command.

  • Navigate to your terminal (e.g. Terminator)
  • Navigate to the directory you want TropX saved
  • Clone the repository using the git clone command
    git clone https://github.com/troopek/TropX 
  • Navigate to the TropX folder
    cd TropX

Setup

The setup is automatically done after running the setup.sh file. The installation time may vary according to some variables.

  • Run the setup.sh file with bash and follow along with the setup tutorial
    bash setup.sh

Initiation

To run TropX, you will have to run the main.sh file.

  • Navigate to the TropX folder
    cd TropX
  • Run the main.sh file with bash
    bash main.sh

Updates

You can update TropX to the newest version without losing any custom scripts and while also preserving your settings and other modified things. You can do this automatically trough TropX.

  • Start up TropX
  • Select Check for Updates in the main menu
  • If a newer version is available, you will be promted to install it

(back to top)

Usage

Learn how to use TropX efficiently and to it's fullest.

  • Start up TropX
  • You will be prompted to select out of an ample of scripts
  • To select any script, you will have to input its corresponding number like 4 and then press Enter
  • All tools and scripts will send you back to the main menu after executing
  • This same navigation also applies to navigation within scripts.
  • To return to the menu you can use CTRL + C

First Steps

Find out what to do first after Starting up TropX

Function Tree

Currently available tools offered by tropx by default.

System Management
├── Manage Mac & IP
└── Manage Wireless Interface
Wireless Exploits
└── Wifi Cracking
Physical Exploits
Client Side Attacks
Server Side Attacks
Social Engineering
  • Configure your wireless Interface in the settings tab

(back to top)

Settings

TropX has a settings page that allows you do customize TropX to the rim

  • List of available Settings
    • Wireless Interface : (wlan0) | wlan1 | mon0 | mon1
    • Animations : ON | MINIMAL | (OFF)
    • Default Scripts : (SHOW) | HIDE
    • Breadcrumbs : (ON) | OFF
    • Primary Color : (WHITE) | RED | BLUE | GREEN | CYAN | PINK | YELLOW | GRAY
    • Secondary Color : (RED) | WHITE | BLUE | GREEN | CYAN | PINK | YELLOW | GRAY
    • Text Folding : ON | (OFF)
    • Developer Mode : (ON) | OFF

(back to top)

Screenshots

Here are some screenshots of how TropX looks like

(back to top)

Scripts / Tools

Here are all the tools TropX offers by default

  • Manage Wireless Interface
  • Manage Mac Address

(back to top)

Custom Scripts

You can very easily add Custom Scripts to TropX to further personalize the CLI, it supports both bash and python. Additionally you can clone a tool from github also.

Bash

TropX has some default functions and variables to simplify the programming pillar of custom scripts.

  • Custom Files

  • Create custom files for your tool to use
    • To add custom files into your tools file tree navigate into the TropX folder and go to the custom_scripts folder, in here you can find your tool's folder and add any file youw ant to.
    • To acces these files within the file tree you will have to prefix them with the following directory $folder for it to look like such:
      "$folder/wordlist.txt"
      
      • It is neccesarry to wrap it in double qoutes
      • replace worldist.txt with the file you wish to access
      • $folder is a built in variable that holds the folder of the current script

  • installPackages

  • Install Packages more simply and reliably without causing errors and messing up the script
    installPackages "python3" "network-manager" "macchanger" 
    • All packages listed after the installPackages command will be installed automatically.
    • If they already are installed nothing will happen.
    • The function accepts an infinite amount of packages.

  • selectOptions

  • With selectOptions you can ask the user to select an option, the CLI equivalent of good navigation.

    selectOptions "Options" "Select Desired Option" "Select a Valid Option" "Option1" "Option2" "Option3"
    • "Options" is the title for the option choices
    • "Enter selection Here" "Try another selection" These two are the type here text before the >, the second will be shown in case of an error.
    • "Option1" "Option2" "Option3" The rest are options which will be shown to the user, they can be passed singularly or in an Array
    • The ouput can be saved into a variable like so, where choice is the number corresponding to the option, so if you choose Option2, then $SO and also choice will be set to 2. This extra step is recommended as sometimes the variable gets overwritten by this function getting run somewhere else and then its value will change to something completely diffrent and irrelevant.
      choice=$SO
    • The function has a built-in check for the selected option to confirm it's validity.

  • getInput

  • With getInput you can get user input to save into a variable and use within your custom script

    getInput "File Name" "Type a file name" "file.txt"
    • "File Name" is the title for the get input function

    • "Type a file name" is going to be the action they are to perform or write

    • "file.txt" is an example of what their input should look like

      input=$SI
    • The ouput can be saved into a variable like so, where input is the text inputted, so if you typed in foo, then $SI and also input will be set to foo. This extra step is recommended as sometimes the variable gets overwritten by this function getting run somewhere else and then its value will change to something completely diffrent and irrelevant.

    • In the below example im using getInput to obtain a valid path to a file

    • To ensure that your user returns a proper and useful string, you can run it trough an until loop

          getInput "File Path" "Please type in the relative or full path of the script" "Do not incldue a file extension" "file.txt"
      path=$SI
      
        until [ -f $path ] #this is a bash built-in way to check if a file exists
        do
          getInput error "File Path" "Please type in the relative or full path of the script" "Do not incldue a file extension" "file.txt"
          path=$SI
        done
    • First I just getInput normally from the user

    • Here I run an until loop which checks if the path exists, if it does nothing happens, otherwise it will loop until the expression is true.

    • Make sure to pass error as the first argument in the getInput function and keep the rest as is


  • message

  • With the message function you can display a message to the user that waits until they press a key on their keyboard.

    Message="TropX is cool!"
    message "Disclaimer" "$Message"
    • "Disclaimer" is the title for the message
    • "$Message" is the variable in which the message is stored

  • attackPending

  • With the attackPending function you inform the user with a message that the script/tool is in progress.

    attackPending

  • changeWImode

  • With the changeWImode function, you can easily change the mode of your Wireless Interface
    changeWImode monitor
    # ...
    changeWImode managed
    • The only argument passed will be the mode you want to change the Wireless Interface to
    • The Wireless Interface used will be the one the user has saved in the settings page

  • changeMac

  • With the changeMac function, you can easily change your Mac Address to either a random or specific one
    changeMac 
    # ...
    changeMac "00:d0:70:00:20:69"
    # ...
    changeMac reset
    • If no argument is passed, a random Mac Address will be choosen to replace your current
    • Optionally, you can specify what you want your Mac Address to be
    • reset will set your Wireless Interface back to it's default permanent Mac Address
    • The Wireless Interface used will be the one the user has saved in the settings

  • changeIP

  • With the changeIP function, you can easily manage your IP Address
    changeIP
    # ...
    changeIP "132.52.98.1629"
    # ...
    changeIP reset
    • If no argument is passed, a random IP Address will be choosen to replace your current
    • Optionally, you can specify what you want your IP Address to be
    • reset will set the IP back to its default
    • The Wireless Interface used will be the one the user has saved in the settings

  • $WI

  • The WI variable holds the name of the Wireless Interface (e.g. wlan0)
  • This is obtained from the user's settings and changed in the settings page also

  • $DI

  • The DI variable holds the name of the Default Interface (e.g. eth0), this is to be used when setting localports, etc
  • This is obtained from the user's settings and changed in the settings page also

  • $IP

  • The IP variable holds the ip of the primary Wireless Interface
  • This is obtained automatically

  • $PRIMARY & $SECONDARY

  • The $PRIMARY variable holds the color code for the primary (no shit) color
  • The $SECONDARY variable holds the color code for the secondary (no shit again) color
  • Make sure to escape it like such
    echo -e "${PRIMARY}Hello ${SECONDARY}World!"
  • Even though it is not neccesary to use these variables, it is highly recommended so your script stays in sync with the user's settings

python

Sadly this language does not have any premade functions or variables yet!


Setup

The custom script creation process.

  • To create a new Custom Script, firstly start up TropX (No Shit)
  • Afterwards, select M to Manage Scripts
  • Choose the first option 1 to create a new script
  • Type in the script name and continue
  • Select the script language or github
  • Select the way in which you want to provide TropX with the script and confirm

Share your script

TropX is still looking for more tools and scripts!

  • If you believe that you made a decent tool or script that you would like featured as a default, make sure to share it with us
  • Firstly, head on over to the TropX directory in your file manager
  • Then, head on over to the custom_scripts folder
  • When there, locate the folder of the custom script you wish to upload
  • Copy the main.sh file
  • Upload it to this Google Form

(back to top)

Roadmap

View our Trello Roadmap: Trello TropX

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the Apache 2.0 License. See LICENSE.txt for more information.

(back to top)

Contact

odeX4@gmail.com

Project Link: https://github.com/troopek/TropX

(back to top)

Credits

Big shoutout to all these people as their scripts helped make TropX possible, make sure to check them out!

  • Netattack2 by Chrizater
  • WifiSpammer by 125k
  • Ducky Flasher by Hak5

(back to top)

Donate

TropX is a free tool, and the only source of income generated by it is trough your donations.

Compatibility

  • Kali Linux
  • Ubuntu
  • Kali Nethunter
  • Parrot OS

(back to top)

Troubleshooting

  • Is troopek cool?
    • Yes
  • Does it have bugs?
    • Absolutely not                                                                                                                   okay maybe some

(back to top)

Disclaimer

         I am not held responsible for any misdeeds done with the help of this tool, I provide it to you for educational purposes only. By using this tool you accept that I am not held responsible for any consequences your usage of my tool might yield.

(back to top)

About

The swiss army knife for cybersecurity enthusiasts. All needed scripts and tools integrated into one portable and customizable CLI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages