How To Use Python Trape OSINT(Open-Source Intelligence) To Track Users Online
Track, Reroute and Modify ๐
Hello again, this time I'm discussing about the best open source intelligence (OSINT) tools that are written in Python programming language and how do we use them to track users online.
In this post I will only discuss about Trape
But before beginning I would like to acknowledge that the mentioned resources in this blog post only for educational purposes and I do not take any responsibility whatsoever!
I know many of you have personally contacted me to explain there working and how do we implement them, and most importantly what are the best tools available. In most cases I was able to answer the queries but as these queries were in repeated manner, so I decided to write this blog post for the future references. I know this blog post will not include each of the OSINT, but here I will give the generalized idea and few popular tools that are mostly used and research gathering pre reconnaissance.
Lets Get Started ๐
TRAPE:
Before working with Trape I would like to tell you guys that trip works on python 2.7 and won't work on Python 3 and is not compatible with python3 modules. So that means you have to work with legacy version of python.
Trape is an OSINT analysis and research tool, which allows people to track and execute intelligent social engineering attacks in real time. This is the most frequently used open source intelligence tool. Is very popular and the features it includes are:
LOCATOR OPTIMIZATION: Trace the path between you and the target you're tracking. Each time you make a move, the path will be updated, the location of the target is obtained silently through a bypass made in the browsers, allowing you to skip the location request on the victim's side, and at the same time maintain a precision of 99% in the locator.
APPROACH: When you're close to the target, Trape will tell you.
REST API: Generates an API (random or custom), and through this you can control and monitor other Web sites on the Internet remotely, getting the traffic of all visitors.
PROCESS HOOKS: Manages social engineering attacks or processes in the target's browser.
--- SEVERAL: You can issue a phishing attack of any domain or service in real time as well as send malicious files to compromise the device of a target.
--- INJECT JS: You keep the JavaScript code running free in real time, so you can manage the execution of a keylogger or your own custom functions in JS which will be reflected in the target's browser.
--- SPEECH: A process of audio creation is maintained which is played in the browser of the target, by means of this you can execute personalized messages in different voices with languages in Spanish and English.
PUBLIC NETWORK TUNNEL: Trape has its own API that is linked to ngrok.com to allow the automatic management of public network tunnels; So you can publish the content of your trape server which is executed locally to the Internet, to manage hooks or public attacks.
CLICK ATTACK TO GET CREDENTIALS: Automatically obtains the target credentials, recognizing your connection availability on a social network or Internet service.
NETWORK: You can get information about the user's network.
--- SPEED: Viewing the target's network speed. (Ping, download, upload, type connection)
--- HOSTS OR DEVICES: Here you can get a scan of all the devices that are connected in the target network automatically.
PROFILE: Brief summary of the target's behavior and important additional information about your device.
--- GPU --- ENERGY
30-session recognition
Session recognition is one of trape most interesting attractions, since you as a researcher can know remotely what service the target is connected to.
How to use Trape:
First unload the tool.
git clone https://github.com/jofpin/trape.git
cd trape
python2 trape.py -h
If it does not work, try to install all the libraries that are located in the file requirements.txt
python2 -m pip install -r requirements.txt
Example of execution
Example:
python2 trape.py --url http://example.com --port 8080
If you face some problems installing the tool, it is probably due to Python versions conflicts, you should run a Python 2.7 environment :
pip install virtualenv
virtualenv -p /usr/bin/python2.7 Vpy27
source Vpy27/bin/activate
pip2 install -r requirements.txt
python2 trape.py -h
HELP AND OPTIONS
user:~$ python2 trape.py --help
usage: python trape.py -u <> -p <> [-h] [-v] [-u URL] [-p PORT]
[-ak ACCESSKEY] [-l LOCAL]
[--update] [-n] [-ic INJC]
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-u URL, --url URL Put the web page url to clone
-p PORT, --port PORT Insert your port
-ak ACCESSKEY, --accesskey ACCESSKEY
Insert your custom key access
-l LOCAL, --local LOCAL
Insert your home file
-n, --ngrok Insert your ngrok Authtoken
-ic INJC, --injectcode INJC
Insert your custom REST API path
-ud UPDATE, --update UPDATE
Update trape to the latest version
--url In this option you add the URL you want to clone, which works as a decoy.
--port Here you insert the port, where you are going to run the trape server.
--accesskey You enter a custom key for the trape panel, if you do not insert it will generate an automatic key.
--injectcode trape contains a REST API to play anywhere, using this option you can customize the name of the file to include, if it does not, generates a random name allusive to a token.
--local Using this option you can call a local HTML file, this is the replacement of the --url option made to run a local lure in trape.
--ngrok In this option you can enter a token, to run at the time of a process. This would replace the token saved in configurations.
--version You can see the version number of trape.
--update Option used to upgrade to the latest version of trape.
--help It is used to see all the above options, from the executable.
At last I would like to share the tutorial that's available on YouTube and I find it very usefull. In this tutorial the author has shown execution on parrot operating system but you need not follow that.