NoSQLAttack is an open source Python tool to automate expose MongoDB server IP on the internet and disclose the database data by MongoDB default configuration weaknesses and injection attacks. Presently, this project focuses on MongoDB.
Some attack tests are based on and extensions of follow papers
- Diglossia: Detecting Code Injection Attacks with Precision and Efficiency
- No SQL, No Injection?
- Several thousand MongoDBs without access control on the Internet.
There are two systems for testing NoSQL injection in this project-NoSQLInjectionAttackDemo.
On a Debian or Red Hat based system, NoSQLAttack's dependencies already be writen in setup.py. This project is built on Pycharm COMMUNITY 2016.1 with python 2.7.10.
Varies based on features used:
On Linux, it goes something like this:
cd NoSQLAttack python setup.py install
- If after entering "python setup.py install", terminal show error information "No module named setuptools", just install setuptools. On Ubuntu, "sudo apt-get install python-setuptools", this command is useful
- Install MongoDB for MongoDB default configuration attack.
After building, you can run NoSQLAttack like this:
Upon starting NoSQLAttack you are presented with the main menu:
================================================ _ _ _____ _____ _ | \ | | / ___|| _ | | | \| | ___ \ `--. | | | | | | . ` |/ _ \ `--. \| | | | | | |\ | (_) /\__/ /\ \/' / |____ \_| \_/\___/\____/ \_/\_\_____/ _ /\ _ _ | | _ / \ _| |_ _| | _____ ___ | | / / / /\ \ |_ _||_ _| / __ \ / __| | |/ / / /--\ \ | |_ | |_ | |_| | | |__ | |\ \ / / -- \ \ \___\ \___\ \______\ \___| | | \_\ ================================================ NoSQLAttack-v0.2 firstname.lastname@example.org 1-Scan attacked IP 2-Configurate parameters 3-MongoDB Access Attacks 4-Injection Attacks x-Exit
NoSQLAttack Demo for MongoDB.
(1)default configuration Attacks demo (2)injection attacks demo