โโโโโโโโโ โโโโโโโ โโโโโโโ โโโโโโโ โโโโโโโ โโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโ โโโ โโโ โโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโ โโโ โโโโโโโโโโโโโโโโโ โโโ โโโ โโโโโโโ โโโ โโโ โโโโโโโ โโโโโโโ โโโ Open Source Intelligence Tool for the Dark Web
Status/Social links
Features
- Onion Crawler (.onion)
- Returns Page title and address with a short description about the site
- Save links to database
- Get data from site
- Save crawl info to JSON file
- Crawl custom domains
- Check if the link is live
- Built-in Updater
- Build visual tree of link relationship that can be quickly viewed or saved to an image file
...(will be updated)
Dependencies
- Tor
- Python ^3.9
- Golang 1.19
- Poetry
Python Dependencies
(see requirements.txt for more details)
Golang Dependencies
- https://github.com/KingAkeem/gotor (This service needs to be ran in tandem with TorBot)
Installation
Gotor
gotor is needed to run this module.
Note: If the gotor
directory is empty, you may need to run git submodule update --init --recursive
to initialize the submodule.
Using local Tor service
- Run the tor service:
sudo service tor start
-
Make sure that your torrc is configured to SOCKS_PORT localhost:9050
-
Open a new terminal and start
gotor
, this can be done usingdocker
orgo
- using go:
cd gotor && go run cmd/main/main.go -server
Using tor and gotor docker containers
- using docker (multi-stage image, builds tor and gotor container):
cd gotor && ./build.sh
TorBot
- TorBot dependencies are managed using
poetry
, you can find the installation commands below:
poetry install # to install dependencies
poetry run python run.py -u https://www.example.com --depth 2 -v # example of running command with poetry
poetry run python run.py -h # for help
Full Installation
There is a shell script that will attempt to install both torbot
and gotor
as global modules.
The script install.sh
will first install the latest version of torbot
found in pypi
,
then it will attempt to install gotor
to the GOBIN
path after making the path globally accessible.
source install.sh # execute script
You can now run
gotor -server
and crawl using
python -m torbot -u https://www.example.com
Options
usage: Gather and analayze data from Tor sites. optional arguments: -h, --help show this help message and exit --version Show current version of TorBot. --update Update TorBot to the latest stable version -q, --quiet -u URL, --url URL Specifiy a website link to crawl -s, --save Save results in a file -m, --mail Get e-mail addresses from the crawled sites -p, --phone Get phone numbers from the crawled sites --depth DEPTH Specifiy max depth of crawler (default 1) --gather Gather data for analysis -v, --visualize Visualizes tree of data gathered. -d, --download Downloads tree of data gathered. -e EXTENSION, --extension EXTENSION Specifiy additional website extensions to the list(.com , .org, .etc) -c, --classify Classify the webpage using NLP module -cAll, --classifyAll Classify all the obtained webpages using NLP module -i, --info Info displays basic info of the scanned site`
- NOTE: -u is a mandatory for crawling
Read more about torrc here : Torrc
Using Docker
-
Ensure than you have a tor container running on port 9050.
-
Build the image using following command (in the root directory):
docker build -f docker/Dockerfile -t dedsecinside/torbot .
-
Run the container (make sure to link the tor container as
tor
):docker run --link tor:tor --rm -ti dedsecinside/torbot
Curated Features
- Visualization Module Revamp
- Implement BFS Search for webcrawler
- Use Golang service for concurrent webcrawling
- Improve stability (Handle errors gracefully, expand test coverage and etc.)
- Randomize Tor Connection (Random Header and Identity)
- Keyword/Phrase search
- Social Media Integration
- Increase anonymity
- Improve performance (Done with gotor)
- Screenshot capture
Contribution Guidelines
Found an issue?
If you face any issues in the project, please let us know by creating a new issue here.
Developer Guidelines
We welcome contributions to this project! Here are a few guidelines to follow:
- Fork the repository and create a new branch for your contribution.
- Make sure your code passes all tests by running
pytest
before submitting a pull request todev
branch. - Follow the PEP8 style guide for Python code.
- Make sure to add appropriate documentation for any new features or changes.
- When submitting a pull request, please provide a detailed description of the changes made.
References
1. M. Glassman and M. J. Kang, โIntelligence in the internet age: The emergence and evolution of Open Source Intelligence (OSINT),โ Comput. Human Behav., vol. 28, no. 2, pp. 673โ682, 2012.
2. D. Bradbury, โIn plain view: open source intelligence,โ Comput. Fraud Secur., vol. 2011, no. 4, pp. 5โ9, 2011.
3. B. Butler, B. Wardman, and N. Pratt, โREAPER: an automated, scalable solution for mass credential harvesting and OSINT,โ 2016 APWG Symp. Electron. Crime Res., pp. 1โ10, 2016.
4. B. Zantout and R. A. Haraty, โI2P Data Communication System I2P Data Communication System,โ no. April 2002, 2014.
5. J. Qin, Y. Zhou, G. Lai, E. Reid, M. Sageman, and H. Chen, โThe dark web portal project: collecting and analyzing the presence of terrorist groups on the web,โ in Proceedings of the 2005 IEEE international conference on Intelligence and Security Informatics, 2005, pp. 623โ624.
6. D. Moore, T. Rid, D. Moore, and T. Rid, โCryptopolitik and the Darknet Cryptopolitik and the Darknet,โ vol. 6338, 2016.
7. G. Weimann, โGoing dark: Terrorism on the dark Web,โ Stud. Confl. Terror., vol. 39, no. 3, pp. 195โ206, 2016.
8. A. T. Zulkarnine, R. Frank, B. Monk, J. Mitchell, and G. Davies, โSurfacing collaborated networks in dark web to find illicit and criminal content,โ in Intelligence and Security Informatics (ISI), 2016 IEEE Conference on, 2016, pp. 109โ114.
9. T. Minรกrik and A.-M. Osula, โTor does not stink: Use and abuse of the Tor anonymity network from the perspective of law,โ Comput. Law Secur. Rev., vol. 32, no. 1, pp. 111โ127, 2016.
10. K. Loesing, S. J. Murdoch, and R. Dingledine, โA Case Study on Measuring Statistical Data in the {T}or Anonymity Network,โ in Proceedings of the Workshop on Ethics in Computer Security Research (WECSR 2010), 2010.
11. B. Nafziger, โData Mining in the Darkโฏ: Darknet Intelligence Automation,โ 2017.
12. I. Sanchez-Rola, D. Balzarotti, and I. Santos, โThe onions have eyes: A comprehensive structure and privacy analysis of tor hidden services,โ in Proceedings of the 26th International Conference on World Wide Web, 2017, pp. 1251โ1260.
13. Mouli VR, Jevitha KP. โWeb Services Attacks and Security-A Systematic Literature Review.โ, Procedia Computer Science. 2016 Jan 1;93:870-7.
14. Cova M, Felmetsger V, Vigna G. "Vulnerability analysis of web-based applications. InTest and Analysis of Web Services" 2007 (pp. 363-394). Springer, Berlin, Heidelberg.
15. B. R. Holland, โEnabling Open Source Intelligence (OSINT) in private social networks,โ 2012.
16. S. Nakamoto, โBitcoin: A Peer-to-Peer Electronic Cash System,โ Cryptogr. Mail. List https//metzdowd.com, 2009.
17. M. Wesam, A. Nabki, E. Fidalgo, E. Alegre, and I. De Paz, โClassifying Illegal Activities on Tor Network Based on Web Textual Contentsโ, vol. 1, pp. 35โ43, 2017.
18. Sathyadevan S, Gangadharan S.โCrime analysis and prediction using data miningโ. In Networks & Soft Computing (ICNSC), 2014 First International Conference on 2014 Aug 19 (pp. 406-412). IEEE.
19. Chau M, Chen H. "A machine learning approach to web page filtering using content and structure analysis. Decision Support Systems." 2008 Jan 1;44(2):482-94.
20. Ani R, Jose J, Wilson M, Deepa OS. โModified Rotation Forest Ensemble Classifier for Medical Diagnosis in Decision Support Systemsโ, In Progress in Advanced Computing and Intelligent Engineering 2018 (pp. 137-146). Springer, Singapore.
21. Ani R, Augustine A, Akhil N.C. and Deepa O.S., 2016. โRandom Forest Ensemble Classifier to Predict the Coronary Heart Disease Using Risk Factorsโ, In Proceedings of the International Conference on Soft Computing Systems (pp. 701-710). Springer, New Delhi.
Maintainers
- PS Narayanan - Co-owner
- KingAkeem - Co-owner
... see all contributors