SlideShare a Scribd company logo
PENTESTING NOSQL DB'S WITH 
NOSQL EXPLOITATION FRAMEWORK
#whoami 
• Independent Security Researcher, Jobless 
• Member @ OpenSecurity 
• Currently Pursuing My Bachelors Degree 
• Spoken @ a couple of Conferences
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Francis Alexander
Agenda 
• More Emphasis Given on the Server-Client and Server Management 
Consoles of NoSQL DB’s 
• Pentesting Scenarios are given more importance. 
• We will not deal with Memory Related Bugs or issues. 
• NoSQL Exploitation Framework 
• Demos
INTRO TO NOSQL
Key Takeovers 
Schema less 
“ACID” (atomicity, 
consistency, 
isolation and 
durability) 
Not using the 
relational model 
Built for the 21st 
century web 
estates 
Support 
Open-source 
Running well on 
clusters
Mainly 4 types 
Wide Column 
Store / Column 
Families 
Hbase Cassandra 
Document 
Store MongoDB CouchDB 
Key Value / 
Tuple Store Riak Redis 
Graph 
Databases Neo4J DEX
NoSQL Security
Why Developers Need to 
Worry ?
You Will Love this Part 
Low on Security 
Emphasizes on “Trusted Environment” 
Weak Authentication Mechanisms or No security by Default. 
Man in the Middle Attacks 
Open Source and API’s Widely Exposed. 
API for PHP widely abused.
MongoDB
Mongo Trivia Written in: C++ 
Main point: Retains some 
friendly properties of SQL. 
(Query, index) 
Protocol: Custom, binary 
(BSON) 
Mongod is the "Mongo 
Daemon” running on Port 
27017 by Default 
Web Interface Runs on 28017 
Mongo is the Client  Mongod 
Uses MongoDB Wire Protocol 
(TCP/IP Socket) 
Data is Represented using JSON 
format
Mongo Architecture
Mongo Client Mongo Client 
Mongo Server 
Mongo Client
Attackers 
Perspective 
Mongo Client Mongo Client 
Mongo Server 
Mongo Client 
Sniffing,Enumeration,JS Injection,DOS
JS Attack Surface
Issues 
JavaScript Attacks mostly used against MongoDB 
Vulnerabilities Keep Popping Up 
• Run command RCE 
Mongo Shell Functions Purely Based on JavaScript 
Possible Chances to Overwrite Functions 
Resource Exhaustion 
Regex Matching ,plenty of JavaScript operations could be used
Mapping SQL Logical Commands to MongoDB 
• and mapped to && 
• or to || 
• ‘=‘ to ‘==‘
Injecting JavaScript
Reference to DB in Mongo 
• Mongo Functions get to refer the db object and its main functions 
• An attacker who finds an Injection point could abuse this. 
• Found in Versions 2.2 or less 
• Mongo Patched for versions above. 
Does JS Injection end here?
THIS Pointer Reference 
• Although mongo blocks reference to the db has ended 
• Attacker could use this pointer to return objects and dump as always
What if THIS is Blocked? Version to Rescue 
• Version command by default binds to mongo instances defined 
functions 
• So if an admin blocks the “this” pointer 
• function(){return this} 
Blocked 
• Function(){return version} or function(){return version()) 
• Scenario useful when developer uses $where to evaluate js code.
Timing Based Checks 
• Application can be tested for time based attacks 
• Mongo Shell Supports most of JavaScript functions 
• function(){ return sleep(500);} would render the application response 
delayed by 5sec. 
• Module added to NoSQL framework while testing for JS Injection 
attacks
Saving JavaScript
Post Exploitation Phase 
• Allows the attacker to write JavaScript functions and save them 
• Can use for further attacks when needed rather than 
• db.system.js.save( 
{ 
_id : “44con " , 
value : function (x, y){ return x + y; } 
} 
); 
• db.loadServerScripts()
Mongo With PHP 
PHP converts parameter with brackets to associative arrays. 
• Already addressed issue in previous researches 
• POST http://target/ HTTP/1.1 
• Content-Type: application/x-www-form-urlencoded 
• user[$gt]=&pass[$gt]= 
• $pwned=$collection->find(array("username" => array('$ne' => "foo"))) 
Lets Look at Some New vectors 
• $exists 
• $type 
• $all 
• $regex
Vulnerable APP DEMO
Resource Exhaustion 
Mongo on 32 bit environment is too easy for attackers (Max Size limit 2GB) 
Use command creates arbitrary schemas on the fly 
Attacker could run it continuously exhausting the disk space resource as well as 
memory. 
var i=1;while(1){use i=i+1;} 
• An empty database takes up 192Mb
CouchDB
CouchDB Architecture
Key Features 
Written in: Erlang 
CouchDB document is a JSON object 
Schema-Free 
Main point: DB consistency, ease of use 
Protocol: HTTP/REST 
Distributed database system 
Runs on Default Port : 5984,Binds to loopback interface by default 
Client uses REST API to communicate with the Backend 
Futon Web Interface
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Francis Alexander
Couch Architecture 
Backend 
CouchDB 
Couch FUTIL 
Interface 
Administrator
Backend 
CouchDB 
Couch FUTIL 
Interface 
CouchDB 
Attacker Perspective 
Administrator
Attack Surface 
Admin Party = Game Over. 
Auth Cookie Sniffable 
Credentials Send over Unencrypted Channel 
XSPA attacks in Replication (limited to port web server ports) 
XSS,HTML Injection in Futon Interface 
DOS (Versions on 1.5 and below),File Enumeration attacks
Vulnerabilities 
XSS at the token interface 
HTML Injection 
XSPA Attack (limited to port 80) can be used in the replication to check whether 
certain file 
Blind File Name Enumeration possible within the Replication
Addressing Auth Cookie 
Defaults to Expire within 10 min 
Attacker gaining access would want to use these 10 min Fruitfully 
NoSQL Framework kicks in with automation session grabbing and dumping 
necessary info.
PHP on Couch Driver 
Uses Curl Library to send the requests to the API 
Un validated PHP APPS could result in calling Arbitrary API Call Execution 
Download PHP on Couch: 
https://github.com/dready92/PHP-on-Couch/
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Francis Alexander
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Francis Alexander
Vulnerable APP DEMO
Redis
Redis Architecture
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Francis Alexander
Key Features 
• Key Value storage engine. 
• Contains Redis Server and Client 
• Driven By a Config File 
• Documentation is Laugh in a Park 
• Redis supports five data structures: 
• strings, hashes, lists, sets and ordered sets.
Attacks Discussed 
• Bruteforce Redis Passwords 
• Denial of Service on the FLY. 
• Command Killing 
• Config Rewrite 
• Arbitrary File Rewrite 
• Blind File Enumeration (usefull in pentests)
Redis Version 
• Redis Version 2.6 
• No Support For Scripting. 
• Redis Introduced version 2.8 
• Added Ability for LUA Scripts
Did We Just Say Scripting ?
Welcome to Redis LUA Script Engine and 
Basics 
• Redis uses LUA to manage scripts 
• LUA engine is properly sandboxed and offers enough security 
• Global variables protection 
• Scripts are Executed using eval (Available from Redis 2.6)
• Limited number of available of Available Libraries for Use 
• base lib. 
• table lib. 
• string lib. 
• math lib. 
• debug lib. 
• cjson lib. 
• cmsgpack lib.
Key Points 
• EVAL and EVALSHA are used to evaluate scripts using the Lua 
interpreter built into Redis. 
• SCRIPT KILL,LISTS,EXISTS 
• Important NB: When a script is running no other functions can be 
accessed or any operations can be performed
Sample Lua One Line DOS 
• redis-cli eval "$(cat test.lua)" 0 
• test.lua
Commands Disabled By an Attacker 
• rename-command API Call Used 
• Sample Command 
• rename-command CONFIG l33tshit 
• rename-command CONFIG "“ 
• Disables the command completely
Arbitrary File Rewrite 
• CONFIG GET 
• Gives the Current set of Configuration 
• CONFIG SET 
• Sets the configuration of the default command 
• CONFIG SET dir /var/www
File Name Enumeration 
• Restricted Environment 
• Allows to use dofile (open file in lua scripting) 
• Although file doesn’t open gives the file or directory exists or not 
• eval "dofile('/var/www')" 0 
• Directory Exists but cant open file 
• eval "dofile('/var/wwws')" 0 
• No such directory exists
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Francis Alexander
Vulnerable APP DEMO
Cassandra
Key Takeaways 
• Written in: Java 
• Main point: Store huge datasets in "almost" SQL 
• Protocol: CQL3 & Thrift 
• CQL3 is very similar SQL, but with some limitations that come from 
the scalability (most notably: no JOINs, no aggregate functions.) 
• Runs on Port : 9160
Sad Facts ? 
• No OR 
• No UNION 
• No subrequests 
• Terms must be indexed 
• Primary key can only be queried for
Security Issues 
• Cassandra model › Keyspace (=database) › ColumnFamily > Data 
• CQL injection on Web Apps 
• Shell Commands can be useful to attacker(during privilege 
escalation). 
• SOURCE command 
• Reads the contents of the file 
• Blind File Enumeration 
• Database Enumeration and Dumping using NoSQL Exploitation 
Framework
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Francis Alexander
H-Base
Key Points 
• Written in: Java 
• Main point: Billions of rows X millions of columns 
• Protocol: HTTP/REST (also Thrift) 
• Port:6379,8080(Rest API) 
• Emphasis on Trusted Environment
Security Issues 
• By Default offers No Security 
• Man in The Middle Attacks 
• REST API exposed 
• Database Scanning and Enumeration using NoSQL Exploitation 
Framework
NoSQL DB’s Never End!! 
More Research Needed 
• Ne04j,Memcache,Riak are under scanners(Some Discussed 
Vulnerabilities applies to those also) 
• Support for Neo4j,Memcache and Riak soon to be added 
• Memory Leaks and Overflows on the Rise 
• An excellent address to Ne04j security issue was written recently 
• Link:http://blog.scrt.ch/2014/05/09/neo4j-enter-the-graphdb/
Is Automation Needed? 
Do We have a framework ?
NoSQL Exploitation Framework
Key Points 
A framework of one of its Kind 
Open Source, Written In Python 
• I am not a hardcode coder(Bugs are prone ) 
Documented API’s 
Code Download:nosqlproject.com
Key Features 
• Support for Mongo,Couch,Redis-Base and Cassandra 
• Support for: 
• NoSQL Run Web Applications 
• Tests for JavaScript Attacks 
• Mongo DB $ Attacks 
• Couch PHP Driver Attack Vectors 
• Multithreaded Mass IP List Scanner
And the List Continues 
• Database Cloning Feature 
• Dictionary attacks 
• Post Exploitation Module Integrated 
• Shodan IP List Grabber 
• Sniffing DB credentials and cookies 
• Added More Payload List
Future Updates 
• Updated Cassandra and HBase attacks 
• Resource Exhaustion 
• Support for Riak,Memcache and Ne04j on its way. 
• Pentest Report Generation 
• More Stable (Bug Less )
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Francis Alexander
Bugs or Contribute  
• Official Mailing List: feedback@nosqlproject.com 
• Contribute By pulling from GITHUB.
References 
• http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
Thank You 
Any Questions ??
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Francis Alexander
I’m On 
• Facebook : francis.alexander.33 
• Twitter: @torque59 
• Github: torque59 
• LinkedIn: http://in.linkedin.com/francis.alexander
Ad

More Related Content

What's hot (20)

aclpwn - Active Directory ACL exploitation with BloodHound
aclpwn - Active Directory ACL exploitation with BloodHoundaclpwn - Active Directory ACL exploitation with BloodHound
aclpwn - Active Directory ACL exploitation with BloodHound
DirkjanMollema
 
Full stack development with node and NoSQL - All Things Open - October 2017
Full stack development with node and NoSQL - All Things Open - October 2017Full stack development with node and NoSQL - All Things Open - October 2017
Full stack development with node and NoSQL - All Things Open - October 2017
Matthew Groves
 
Altitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edgeAltitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edge
Fastly
 
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
Malin Weiss
 
Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ...
Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ...Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ...
Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ...
Jon Watte
 
Past, Present, and Future of Apache Storm
Past, Present, and Future of Apache StormPast, Present, and Future of Apache Storm
Past, Present, and Future of Apache Storm
P. Taylor Goetz
 
Distributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory ServerDistributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory Server
LDAPCon
 
Securing Your MongoDB Implementation
Securing Your MongoDB ImplementationSecuring Your MongoDB Implementation
Securing Your MongoDB Implementation
MongoDB
 
Trusts You Might Have Missed
Trusts You Might Have MissedTrusts You Might Have Missed
Trusts You Might Have Missed
Will Schroeder
 
Being RDBMS Free -- Alternate Approaches to Data Persistence
Being RDBMS Free -- Alternate Approaches to Data PersistenceBeing RDBMS Free -- Alternate Approaches to Data Persistence
Being RDBMS Free -- Alternate Approaches to Data Persistence
David Hoerster
 
Building and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsBuilding and Scaling Node.js Applications
Building and Scaling Node.js Applications
Ohad Kravchick
 
Nordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOpsNordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOps
Travis Wright
 
Streaming millions of Contact Center interactions in (near) real-time with Pu...
Streaming millions of Contact Center interactions in (near) real-time with Pu...Streaming millions of Contact Center interactions in (near) real-time with Pu...
Streaming millions of Contact Center interactions in (near) real-time with Pu...
Frank Kelly
 
A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...
lucenerevolution
 
/path/to/content - the Apache Jackrabbit content repository
/path/to/content - the Apache Jackrabbit content repository/path/to/content - the Apache Jackrabbit content repository
/path/to/content - the Apache Jackrabbit content repository
Jukka Zitting
 
Ehcache 3 @ BruJUG
Ehcache 3 @ BruJUGEhcache 3 @ BruJUG
Ehcache 3 @ BruJUG
Louis Jacomet
 
JSF2
JSF2JSF2
JSF2
Alex Tumanoff
 
Node.js Enterprise Middleware
Node.js Enterprise MiddlewareNode.js Enterprise Middleware
Node.js Enterprise Middleware
Behrad Zari
 
SANS DFIR Prague: PowerShell & WMI
SANS DFIR Prague: PowerShell & WMISANS DFIR Prague: PowerShell & WMI
SANS DFIR Prague: PowerShell & WMI
Joe Slowik
 
Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
Severalnines
 
aclpwn - Active Directory ACL exploitation with BloodHound
aclpwn - Active Directory ACL exploitation with BloodHoundaclpwn - Active Directory ACL exploitation with BloodHound
aclpwn - Active Directory ACL exploitation with BloodHound
DirkjanMollema
 
Full stack development with node and NoSQL - All Things Open - October 2017
Full stack development with node and NoSQL - All Things Open - October 2017Full stack development with node and NoSQL - All Things Open - October 2017
Full stack development with node and NoSQL - All Things Open - October 2017
Matthew Groves
 
Altitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edgeAltitude SF 2017: Security at the edge
Altitude SF 2017: Security at the edge
Fastly
 
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
Malin Weiss
 
Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ...
Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ...Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ...
Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ...
Jon Watte
 
Past, Present, and Future of Apache Storm
Past, Present, and Future of Apache StormPast, Present, and Future of Apache Storm
Past, Present, and Future of Apache Storm
P. Taylor Goetz
 
Distributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory ServerDistributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory Server
LDAPCon
 
Securing Your MongoDB Implementation
Securing Your MongoDB ImplementationSecuring Your MongoDB Implementation
Securing Your MongoDB Implementation
MongoDB
 
Trusts You Might Have Missed
Trusts You Might Have MissedTrusts You Might Have Missed
Trusts You Might Have Missed
Will Schroeder
 
Being RDBMS Free -- Alternate Approaches to Data Persistence
Being RDBMS Free -- Alternate Approaches to Data PersistenceBeing RDBMS Free -- Alternate Approaches to Data Persistence
Being RDBMS Free -- Alternate Approaches to Data Persistence
David Hoerster
 
Building and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsBuilding and Scaling Node.js Applications
Building and Scaling Node.js Applications
Ohad Kravchick
 
Nordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOpsNordic infrastructure Conference 2017 - SQL Server in DevOps
Nordic infrastructure Conference 2017 - SQL Server in DevOps
Travis Wright
 
Streaming millions of Contact Center interactions in (near) real-time with Pu...
Streaming millions of Contact Center interactions in (near) real-time with Pu...Streaming millions of Contact Center interactions in (near) real-time with Pu...
Streaming millions of Contact Center interactions in (near) real-time with Pu...
Frank Kelly
 
A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...
lucenerevolution
 
/path/to/content - the Apache Jackrabbit content repository
/path/to/content - the Apache Jackrabbit content repository/path/to/content - the Apache Jackrabbit content repository
/path/to/content - the Apache Jackrabbit content repository
Jukka Zitting
 
Node.js Enterprise Middleware
Node.js Enterprise MiddlewareNode.js Enterprise Middleware
Node.js Enterprise Middleware
Behrad Zari
 
SANS DFIR Prague: PowerShell & WMI
SANS DFIR Prague: PowerShell & WMISANS DFIR Prague: PowerShell & WMI
SANS DFIR Prague: PowerShell & WMI
Joe Slowik
 
Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
Severalnines
 

Similar to 44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Francis Alexander (20)

Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
Reuven Lerner
 
Road to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoops
Gianluca Varisco
 
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Codemotion
 
Infinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORMInfinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORM
Infinum
 
Ruby on Rails All Hands Meeting
Ruby on Rails All Hands MeetingRuby on Rails All Hands Meeting
Ruby on Rails All Hands Meeting
Dan Davis
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
Azure Riyadh User Group
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Nilesh Panchal
 
Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)
Camuel Gilyadov
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
E. Camden Fisher
 
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
Wen-Tien Chang
 
Day 2 - Intro to Rails
Day 2 - Intro to RailsDay 2 - Intro to Rails
Day 2 - Intro to Rails
Barry Jones
 
Introduction to Laravel
Introduction to LaravelIntroduction to Laravel
Introduction to Laravel
Eli Wheaton
 
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
Leonid Vasilyev  "Building, deploying and running production code at Dropbox"Leonid Vasilyev  "Building, deploying and running production code at Dropbox"
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
IT Event
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
AWS Vietnam Community
 
ServerTemplates - The Next Generation
ServerTemplates - The Next GenerationServerTemplates - The Next Generation
ServerTemplates - The Next Generation
RightScale
 
Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?
Felix Geisendörfer
 
Michael stack -the state of apache h base
Michael stack -the state of apache h baseMichael stack -the state of apache h base
Michael stack -the state of apache h base
hdhappy001
 
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB MeetupMariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Colin Charles
 
What-is-Laravel and introduciton to Laravel
What-is-Laravel and introduciton to LaravelWhat-is-Laravel and introduciton to Laravel
What-is-Laravel and introduciton to Laravel
PraveenHegde20
 
Evolutionary Database Design
Evolutionary Database DesignEvolutionary Database Design
Evolutionary Database Design
Andrei Solntsev
 
Road to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoops
Gianluca Varisco
 
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Codemotion
 
Infinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORMInfinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORM
Infinum
 
Ruby on Rails All Hands Meeting
Ruby on Rails All Hands MeetingRuby on Rails All Hands Meeting
Ruby on Rails All Hands Meeting
Dan Davis
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Nilesh Panchal
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
E. Camden Fisher
 
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
Wen-Tien Chang
 
Day 2 - Intro to Rails
Day 2 - Intro to RailsDay 2 - Intro to Rails
Day 2 - Intro to Rails
Barry Jones
 
Introduction to Laravel
Introduction to LaravelIntroduction to Laravel
Introduction to Laravel
Eli Wheaton
 
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
Leonid Vasilyev  "Building, deploying and running production code at Dropbox"Leonid Vasilyev  "Building, deploying and running production code at Dropbox"
Leonid Vasilyev "Building, deploying and running production code at Dropbox"
IT Event
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
AWS Vietnam Community
 
ServerTemplates - The Next Generation
ServerTemplates - The Next GenerationServerTemplates - The Next Generation
ServerTemplates - The Next Generation
RightScale
 
Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?
Felix Geisendörfer
 
Michael stack -the state of apache h base
Michael stack -the state of apache h baseMichael stack -the state of apache h base
Michael stack -the state of apache h base
hdhappy001
 
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB MeetupMariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Colin Charles
 
What-is-Laravel and introduciton to Laravel
What-is-Laravel and introduciton to LaravelWhat-is-Laravel and introduciton to Laravel
What-is-Laravel and introduciton to Laravel
PraveenHegde20
 
Evolutionary Database Design
Evolutionary Database DesignEvolutionary Database Design
Evolutionary Database Design
Andrei Solntsev
 
Ad

More from 44CON (20)

They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
44CON
 
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
44CON
 
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
44CON
 
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
44CON
 
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
44CON
 
The UK's Code of Practice for Security in Consumer IoT Products and Services ...
The UK's Code of Practice for Security in Consumer IoT Products and Services ...The UK's Code of Practice for Security in Consumer IoT Products and Services ...
The UK's Code of Practice for Security in Consumer IoT Products and Services ...
44CON
 
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
44CON
 
Pwning the 44CON Nerf Tank
Pwning the 44CON Nerf TankPwning the 44CON Nerf Tank
Pwning the 44CON Nerf Tank
44CON
 
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
44CON
 
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON
 
44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?
44CON
 
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON
 
44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy
44CON
 
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON
 
44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON London 2015 - Going AUTH the Rails on a Crazy Train44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON
 
44CON London 2015 - Software Defined Networking (SDN) Security
44CON London 2015 - Software Defined Networking (SDN) Security44CON London 2015 - Software Defined Networking (SDN) Security
44CON London 2015 - Software Defined Networking (SDN) Security
44CON
 
44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON London 2015 - DDoS mitigation EPIC FAIL collection44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON
 
44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON
 
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON
 
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON
 
They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
44CON
 
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
44CON
 
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
44CON
 
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
44CON
 
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
44CON
 
The UK's Code of Practice for Security in Consumer IoT Products and Services ...
The UK's Code of Practice for Security in Consumer IoT Products and Services ...The UK's Code of Practice for Security in Consumer IoT Products and Services ...
The UK's Code of Practice for Security in Consumer IoT Products and Services ...
44CON
 
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
44CON
 
Pwning the 44CON Nerf Tank
Pwning the 44CON Nerf TankPwning the 44CON Nerf Tank
Pwning the 44CON Nerf Tank
44CON
 
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
44CON
 
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON
 
44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?
44CON
 
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON
 
44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy
44CON
 
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON
 
44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON London 2015 - Going AUTH the Rails on a Crazy Train44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON
 
44CON London 2015 - Software Defined Networking (SDN) Security
44CON London 2015 - Software Defined Networking (SDN) Security44CON London 2015 - Software Defined Networking (SDN) Security
44CON London 2015 - Software Defined Networking (SDN) Security
44CON
 
44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON London 2015 - DDoS mitigation EPIC FAIL collection44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON
 
44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON
 
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON
 
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON
 
Ad

Recently uploaded (20)

Datastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptxDatastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptx
kaleeswaric3
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Salesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docxSalesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docx
José Enrique López Rivera
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Datastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptxDatastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptx
kaleeswaric3
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Salesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docxSalesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docx
José Enrique López Rivera
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 

44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Francis Alexander

  • 1. PENTESTING NOSQL DB'S WITH NOSQL EXPLOITATION FRAMEWORK
  • 2. #whoami • Independent Security Researcher, Jobless • Member @ OpenSecurity • Currently Pursuing My Bachelors Degree • Spoken @ a couple of Conferences
  • 4. Agenda • More Emphasis Given on the Server-Client and Server Management Consoles of NoSQL DB’s • Pentesting Scenarios are given more importance. • We will not deal with Memory Related Bugs or issues. • NoSQL Exploitation Framework • Demos
  • 6. Key Takeovers Schema less “ACID” (atomicity, consistency, isolation and durability) Not using the relational model Built for the 21st century web estates Support Open-source Running well on clusters
  • 7. Mainly 4 types Wide Column Store / Column Families Hbase Cassandra Document Store MongoDB CouchDB Key Value / Tuple Store Riak Redis Graph Databases Neo4J DEX
  • 9. Why Developers Need to Worry ?
  • 10. You Will Love this Part 
  • 11. Low on Security Emphasizes on “Trusted Environment” Weak Authentication Mechanisms or No security by Default. Man in the Middle Attacks Open Source and API’s Widely Exposed. API for PHP widely abused.
  • 13. Mongo Trivia Written in: C++ Main point: Retains some friendly properties of SQL. (Query, index) Protocol: Custom, binary (BSON) Mongod is the "Mongo Daemon” running on Port 27017 by Default Web Interface Runs on 28017 Mongo is the Client  Mongod Uses MongoDB Wire Protocol (TCP/IP Socket) Data is Represented using JSON format
  • 15. Mongo Client Mongo Client Mongo Server Mongo Client
  • 16. Attackers Perspective Mongo Client Mongo Client Mongo Server Mongo Client Sniffing,Enumeration,JS Injection,DOS
  • 18. Issues JavaScript Attacks mostly used against MongoDB Vulnerabilities Keep Popping Up • Run command RCE Mongo Shell Functions Purely Based on JavaScript Possible Chances to Overwrite Functions Resource Exhaustion Regex Matching ,plenty of JavaScript operations could be used
  • 19. Mapping SQL Logical Commands to MongoDB • and mapped to && • or to || • ‘=‘ to ‘==‘
  • 21. Reference to DB in Mongo • Mongo Functions get to refer the db object and its main functions • An attacker who finds an Injection point could abuse this. • Found in Versions 2.2 or less • Mongo Patched for versions above. Does JS Injection end here?
  • 22. THIS Pointer Reference • Although mongo blocks reference to the db has ended • Attacker could use this pointer to return objects and dump as always
  • 23. What if THIS is Blocked? Version to Rescue • Version command by default binds to mongo instances defined functions • So if an admin blocks the “this” pointer • function(){return this} Blocked • Function(){return version} or function(){return version()) • Scenario useful when developer uses $where to evaluate js code.
  • 24. Timing Based Checks • Application can be tested for time based attacks • Mongo Shell Supports most of JavaScript functions • function(){ return sleep(500);} would render the application response delayed by 5sec. • Module added to NoSQL framework while testing for JS Injection attacks
  • 26. Post Exploitation Phase • Allows the attacker to write JavaScript functions and save them • Can use for further attacks when needed rather than • db.system.js.save( { _id : “44con " , value : function (x, y){ return x + y; } } ); • db.loadServerScripts()
  • 27. Mongo With PHP PHP converts parameter with brackets to associative arrays. • Already addressed issue in previous researches • POST http://target/ HTTP/1.1 • Content-Type: application/x-www-form-urlencoded • user[$gt]=&pass[$gt]= • $pwned=$collection->find(array("username" => array('$ne' => "foo"))) Lets Look at Some New vectors • $exists • $type • $all • $regex
  • 29. Resource Exhaustion Mongo on 32 bit environment is too easy for attackers (Max Size limit 2GB) Use command creates arbitrary schemas on the fly Attacker could run it continuously exhausting the disk space resource as well as memory. var i=1;while(1){use i=i+1;} • An empty database takes up 192Mb
  • 32. Key Features Written in: Erlang CouchDB document is a JSON object Schema-Free Main point: DB consistency, ease of use Protocol: HTTP/REST Distributed database system Runs on Default Port : 5984,Binds to loopback interface by default Client uses REST API to communicate with the Backend Futon Web Interface
  • 34. Couch Architecture Backend CouchDB Couch FUTIL Interface Administrator
  • 35. Backend CouchDB Couch FUTIL Interface CouchDB Attacker Perspective Administrator
  • 36. Attack Surface Admin Party = Game Over. Auth Cookie Sniffable Credentials Send over Unencrypted Channel XSPA attacks in Replication (limited to port web server ports) XSS,HTML Injection in Futon Interface DOS (Versions on 1.5 and below),File Enumeration attacks
  • 37. Vulnerabilities XSS at the token interface HTML Injection XSPA Attack (limited to port 80) can be used in the replication to check whether certain file Blind File Name Enumeration possible within the Replication
  • 38. Addressing Auth Cookie Defaults to Expire within 10 min Attacker gaining access would want to use these 10 min Fruitfully NoSQL Framework kicks in with automation session grabbing and dumping necessary info.
  • 39. PHP on Couch Driver Uses Curl Library to send the requests to the API Un validated PHP APPS could result in calling Arbitrary API Call Execution Download PHP on Couch: https://github.com/dready92/PHP-on-Couch/
  • 43. Redis
  • 46. Key Features • Key Value storage engine. • Contains Redis Server and Client • Driven By a Config File • Documentation is Laugh in a Park • Redis supports five data structures: • strings, hashes, lists, sets and ordered sets.
  • 47. Attacks Discussed • Bruteforce Redis Passwords • Denial of Service on the FLY. • Command Killing • Config Rewrite • Arbitrary File Rewrite • Blind File Enumeration (usefull in pentests)
  • 48. Redis Version • Redis Version 2.6 • No Support For Scripting. • Redis Introduced version 2.8 • Added Ability for LUA Scripts
  • 49. Did We Just Say Scripting ?
  • 50. Welcome to Redis LUA Script Engine and Basics • Redis uses LUA to manage scripts • LUA engine is properly sandboxed and offers enough security • Global variables protection • Scripts are Executed using eval (Available from Redis 2.6)
  • 51. • Limited number of available of Available Libraries for Use • base lib. • table lib. • string lib. • math lib. • debug lib. • cjson lib. • cmsgpack lib.
  • 52. Key Points • EVAL and EVALSHA are used to evaluate scripts using the Lua interpreter built into Redis. • SCRIPT KILL,LISTS,EXISTS • Important NB: When a script is running no other functions can be accessed or any operations can be performed
  • 53. Sample Lua One Line DOS • redis-cli eval "$(cat test.lua)" 0 • test.lua
  • 54. Commands Disabled By an Attacker • rename-command API Call Used • Sample Command • rename-command CONFIG l33tshit • rename-command CONFIG "“ • Disables the command completely
  • 55. Arbitrary File Rewrite • CONFIG GET • Gives the Current set of Configuration • CONFIG SET • Sets the configuration of the default command • CONFIG SET dir /var/www
  • 56. File Name Enumeration • Restricted Environment • Allows to use dofile (open file in lua scripting) • Although file doesn’t open gives the file or directory exists or not • eval "dofile('/var/www')" 0 • Directory Exists but cant open file • eval "dofile('/var/wwws')" 0 • No such directory exists
  • 60. Key Takeaways • Written in: Java • Main point: Store huge datasets in "almost" SQL • Protocol: CQL3 & Thrift • CQL3 is very similar SQL, but with some limitations that come from the scalability (most notably: no JOINs, no aggregate functions.) • Runs on Port : 9160
  • 61. Sad Facts ? • No OR • No UNION • No subrequests • Terms must be indexed • Primary key can only be queried for
  • 62. Security Issues • Cassandra model › Keyspace (=database) › ColumnFamily > Data • CQL injection on Web Apps • Shell Commands can be useful to attacker(during privilege escalation). • SOURCE command • Reads the contents of the file • Blind File Enumeration • Database Enumeration and Dumping using NoSQL Exploitation Framework
  • 65. Key Points • Written in: Java • Main point: Billions of rows X millions of columns • Protocol: HTTP/REST (also Thrift) • Port:6379,8080(Rest API) • Emphasis on Trusted Environment
  • 66. Security Issues • By Default offers No Security • Man in The Middle Attacks • REST API exposed • Database Scanning and Enumeration using NoSQL Exploitation Framework
  • 67. NoSQL DB’s Never End!! More Research Needed • Ne04j,Memcache,Riak are under scanners(Some Discussed Vulnerabilities applies to those also) • Support for Neo4j,Memcache and Riak soon to be added • Memory Leaks and Overflows on the Rise • An excellent address to Ne04j security issue was written recently • Link:http://blog.scrt.ch/2014/05/09/neo4j-enter-the-graphdb/
  • 68. Is Automation Needed? Do We have a framework ?
  • 70. Key Points A framework of one of its Kind Open Source, Written In Python • I am not a hardcode coder(Bugs are prone ) Documented API’s Code Download:nosqlproject.com
  • 71. Key Features • Support for Mongo,Couch,Redis-Base and Cassandra • Support for: • NoSQL Run Web Applications • Tests for JavaScript Attacks • Mongo DB $ Attacks • Couch PHP Driver Attack Vectors • Multithreaded Mass IP List Scanner
  • 72. And the List Continues • Database Cloning Feature • Dictionary attacks • Post Exploitation Module Integrated • Shodan IP List Grabber • Sniffing DB credentials and cookies • Added More Payload List
  • 73. Future Updates • Updated Cassandra and HBase attacks • Resource Exhaustion • Support for Riak,Memcache and Ne04j on its way. • Pentest Report Generation • More Stable (Bug Less )
  • 75. Bugs or Contribute  • Official Mailing List: [email protected] • Contribute By pulling from GITHUB.
  • 77. Thank You Any Questions ??
  • 79. I’m On • Facebook : francis.alexander.33 • Twitter: @torque59 • Github: torque59 • LinkedIn: http://in.linkedin.com/francis.alexander

Editor's Notes

  • #3: Opensecurity a community of like minded people for security,organizes yearly conference’s on information and security.
  • #7: Schema less means No schema required: Data can be inserted in a NoSQL database without first defining a rigid database schema. As a corollary, the format of the data being inserted can be changed at any time, without application disruption. This provides immense application flexibility, which ultimately delivers substantial business flexibility.
  • #12: Low on Security Discuss various encryption issues
  • #14: MongoDB wire Protocol is a simple socket-based, request-response style protocol. Clients communicate with the database server through a regular TCP/IP socket.
  • #19: Since Mongo uses Javascript ,there has been lately a lot of abuse (it uses the V8 engine for version greater than 2.4 before used Spider Monkey) RCE for mongo 2.2 is already an metasploit module. Locked js environment but possibility to overwrite certain prototypes Resource exhaustion
  • #28: Write new vectors exists, checks for whether document $exists Matches documents that have the specified field. $type Selects documents if a field is of the specified type.if char then return all documents with char $all Matches arrays that contain all elements specified in the query.
  • #37: XSPA attacks in Replication (limited to port web server ports) File enumeration
  • #38: Ports that have web interface used for XSPA only possible can be used in the replication to check whether certain file XSS is not quite usefull , use http-only cookie
  • #40: _all_dbs,_changes
  • #41: _design api call is used to fetch the documents And the _queryAndTest is used to give the request directly via Curl
  • #47: Documentation allows attackers to specifically target redis,
  • #63: Php app is broken somewhat (I had a demo for it )