SlideShare une entreprise Scribd logo
1  sur  79
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
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
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/
Vulnerable APP DEMO
Redis
Redis Architecture
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
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
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 )
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 ??
I’m On 
• Facebook : francis.alexander.33 
• Twitter: @torque59 
• Github: torque59 
• LinkedIn: http://in.linkedin.com/francis.alexander

Contenu connexe

Tendances

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 BloodHoundDirkjanMollema
 
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 2017Matthew 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 edgeFastly
 
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 StormP. Taylor Goetz
 
Distributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory ServerDistributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory ServerLDAPCon
 
Securing Your MongoDB Implementation
Securing Your MongoDB ImplementationSecuring Your MongoDB Implementation
Securing Your MongoDB ImplementationMongoDB
 
Trusts You Might Have Missed
Trusts You Might Have MissedTrusts You Might Have Missed
Trusts You Might Have MissedWill 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 PersistenceDavid Hoerster
 
Building and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsBuilding and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsOhad 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 DevOpsTravis 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 repositoryJukka Zitting
 
Node.js Enterprise Middleware
Node.js Enterprise MiddlewareNode.js Enterprise Middleware
Node.js Enterprise MiddlewareBehrad Zari
 
SANS DFIR Prague: PowerShell & WMI
SANS DFIR Prague: PowerShell & WMISANS DFIR Prague: PowerShell & WMI
SANS DFIR Prague: PowerShell & WMIJoe 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
 

Tendances (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
 
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
 
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
 
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...
 
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 ...
 
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
 
Distributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory ServerDistributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory Server
 
Securing Your MongoDB Implementation
Securing Your MongoDB ImplementationSecuring Your MongoDB Implementation
Securing Your MongoDB Implementation
 
Trusts You Might Have Missed
Trusts You Might Have MissedTrusts You Might Have Missed
Trusts You Might Have Missed
 
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
 
Building and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsBuilding and Scaling Node.js Applications
Building and Scaling Node.js Applications
 
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
 
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...
 
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...
 
/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
 
Ehcache 3 @ BruJUG
Ehcache 3 @ BruJUGEhcache 3 @ BruJUG
Ehcache 3 @ BruJUG
 
JSF2
JSF2JSF2
JSF2
 
Node.js Enterprise Middleware
Node.js Enterprise MiddlewareNode.js Enterprise Middleware
Node.js Enterprise Middleware
 
SANS DFIR Prague: PowerShell & WMI
SANS DFIR Prague: PowerShell & WMISANS DFIR Prague: PowerShell & WMI
SANS DFIR Prague: PowerShell & WMI
 
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...
 

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

Road to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsGianluca 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 ORMInfinum
 
Ruby on Rails All Hands Meeting
Ruby on Rails All Hands MeetingRuby on Rails All Hands Meeting
Ruby on Rails All Hands MeetingDan 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 Rails3Wen-Tien Chang
 
Day 2 - Intro to Rails
Day 2 - Intro to RailsDay 2 - Intro to Rails
Day 2 - Intro to RailsBarry Jones
 
Introduction to Laravel
Introduction to LaravelIntroduction to Laravel
Introduction to LaravelEli 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 AWSAWS Vietnam Community
 
ServerTemplates - The Next Generation
ServerTemplates - The Next GenerationServerTemplates - The Next Generation
ServerTemplates - The Next GenerationRightScale
 
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 basehdhappy001
 
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 MeetupColin Charles
 
Evolutionary Database Design
Evolutionary Database DesignEvolutionary Database Design
Evolutionary Database DesignAndrei Solntsev
 
RubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on RailsRubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on Railselliando dias
 

Similaire à 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
 
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 - 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)
 
Infinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORMInfinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORM
 
Ruby on Rails All Hands Meeting
Ruby on Rails All Hands MeetingRuby on Rails All Hands Meeting
Ruby on Rails All Hands Meeting
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
 
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...
 
Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)
 
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 ...
 
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
 
Day 2 - Intro to Rails
Day 2 - Intro to RailsDay 2 - Intro to Rails
Day 2 - Intro to Rails
 
Introduction to Laravel
Introduction to LaravelIntroduction to Laravel
Introduction to Laravel
 
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"
 
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
 
ServerTemplates - The Next Generation
ServerTemplates - The Next GenerationServerTemplates - The Next Generation
ServerTemplates - The Next Generation
 
Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?
 
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
 
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
 
Evolutionary Database Design
Evolutionary Database DesignEvolutionary Database Design
Evolutionary Database Design
 
RubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on RailsRubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on Rails
 

Plus de 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 Tank44CON
 
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 Images44CON
 
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 crazy44CON
 
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 Analysis44CON
 
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 Train44CON
 
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) Security44CON
 
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 collection44CON
 
44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities44CON
 
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 root44CON
 

Plus de 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...
 
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...
 
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...
 
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...
 
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 ...
 
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 ...
 
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...
 
Pwning the 44CON Nerf Tank
Pwning the 44CON Nerf TankPwning the 44CON Nerf Tank
Pwning the 44CON Nerf Tank
 
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 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 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 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 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 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 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 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 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 London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities
 
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 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
 

Dernier

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Dernier (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

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
  • 3.
  • 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
  • 33.
  • 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/
  • 40.
  • 41.
  • 43. Redis
  • 45.
  • 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
  • 57.
  • 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
  • 63.
  • 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 )
  • 74.
  • 75. Bugs or Contribute  • Official Mailing List: feedback@nosqlproject.com • Contribute By pulling from GITHUB.
  • 77. Thank You Any Questions ??
  • 78.
  • 79. I’m On • Facebook : francis.alexander.33 • Twitter: @torque59 • Github: torque59 • LinkedIn: http://in.linkedin.com/francis.alexander

Notes de l'éditeur

  1. Opensecurity a community of like minded people for security,organizes yearly conference’s on information and security.
  2. 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.
  3. Low on Security Discuss various encryption issues
  4. MongoDB wire Protocol is a simple socket-based, request-response style protocol. Clients communicate with the database server through a regular TCP/IP socket.
  5. 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
  6. 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.
  7. XSPA attacks in Replication (limited to port web server ports) File enumeration
  8. 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
  9. _all_dbs,_changes
  10. _design api call is used to fetch the documents And the _queryAndTest is used to give the request directly via Curl
  11. Documentation allows attackers to specifically target redis,
  12. Php app is broken somewhat (I had a demo for it )