SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
Increase awareness around DevOps
infra security
DevOoops
Gianluca Varisco

@gvarisco
$ whoami
VP Security @ Rocket Internet SE
Formerly at Red Hat, Lastminute.com Group, PrivateWave
DevOps is about creating a conveyor belt to systematically pull
together all of the pieces that need to go into production using
automation to create a safe and reliable application deployment.
What is DevOps?
Why Security needs DevOps
How vulnerabilities get introduced
Configuration errors Missing patch
Coding mistakeHuman mistake

(bad OPSEC)
We learned (the HARD WAY) that DevOps is more than
giving root to developers….
alias devops=sudo
DevOps Borat
01 GitHub
02 RCS tools
03 CI tools
04 AWS config files
05 Client provisioning tools
06 Elasticsearch
07 In-memory databases
Agenda
08 Docker
GitHub
It does support “advanced” search operators, eg.
• extension:conf ftp server configuration
• extension:pem private
• extension:xls mail
• extension:sql mysql dump
• extension:php “preg_replace(“/(.+)/e” (RCE)
• OSINT (within companies’ and employees’ repos)

GitHub - Search
Pushing code to GitHub as Linus Torvalds?
GitHub – Impersonating others
People trust

pictures!
• Hey, look! Linus is the main committer of my
github.com:gvarisco/swag.git repo!
• Sad truth! Design flaw or targeted feature? Official
response below..
GitHub – Impersonating others / 2
• Always audit who has access to your repos
• Be suspicious of pull requests with other authors’ code within
the PR.
• Always delete a private fork of a private organization
repository if a member leaves your organization.
• Audit organization members for 2-step verification
GitHub – Learnings / TODOs
RCS Tools
Does your website expose the .git/ folder on a webserver
out there?
▪ Access to such content lets you download the full
source code
▪ tl;dr: NO, Turning DirectoryIndex (Apache) /
autoindex (nginx) ON/OFF is NOT the fix!
.git exposure
• Source code, config files, credentials, developer names,
public/private keys, SSL certificates, e-mail addresses,
etc.
• Repo HISTORY (security issues fixed, password wrongly
committed and removed later)
• Archives / backups {My,Postgre,XYZ}SQL dumps
• Session generation keys
.git exposure / What can you get?
• $ mkdir website-source-code
• $ cd website-source-code
• $ wget –mirror –include-directories=/.git http://
www.example.com/.git
• $ cd www.example.com
• $ git reset –hard

HEAD is now at […]
.git exposure / DirectoryIndex ON
• Git-fsck to the rescue!
• Bruteforce: Predictable file names and known object
hashes, etc.
• DVCS-{Pillage,Ripper} do it for you
• Many admins tend to answer either 403 or 404 for .git/
but .git/config works just fine.
• Git stores file information within the objects folder.
.git exposure / DirectoryIndex OFF
• See the SHA-1 for index.php:
• $ git cat-file –p master^{tree}
• Take the SHA-1 and give it to ‘git cat-file’ to print out the
file contents:
Abusing the .git/ Objects folder
• 1.6.x and earlier
• Check for .entries files
• Walk SVN chain to retrieve all files. Metasploit does
it for you (auxiliary/scanner/http/svn_scanner)
Subversion 1.6.x
• 1.7.x uses SQLite.
• Metasploit’s auxiliary/scanner/http/
svn_wcdb_scanner to the rescue! It will retrieve
SVN’s wc.db for you

• As we know the file name and the SHA-1 used,
we can map all files.
Subversion 1.7.x
$ sqlite3 wc.db 'select local_relpath, ".svn/pristine/" || substr(checksum,7,2) || "/" ||
substr(checksum,7) || ".svn-base" as alpha from NODES;’



index.php|.svn/pristine/4e/4e6a225331f9ae872db25a8f85ae7be05cea6d51.svn-base

style/style.js|.svn/pristine/2s/2cc5590e0ba024c3db77a13896da09b39ea74799.svn-
base

...



$ wget -O - http://www.example.com/.svn/pristine/4e/
4e6a225331f9ae872db25a8f85ae7be05cea6d51.svn-base



<?php
Subversion 1.7.x
CI Tools
• The leading open-source continuous

integration server.
• Built in Java, it provides 985 plug-ins to 

support building and testing virtually 

any project.
• Latest and greatest release: 1.638
• A “few” security advisories…
Jenkins
Jenkins – Searches on Shodan
• Metasploit modules:
• auxiliary/scanner/http/jenkins_enum

(It enumerates a remote Jenkins installation in an
unauthenticated manner, including host OS and Jenkins
installation details)
• exploit/multi/http/jenkins_script_console

(It uses the Jenkins Groovy script console to execute OS
commands using Java.)

• If no authentication is required, it is trivial to gain remote code execution
via script console.
Abusing Jenkins
• Wanna display jenkins’ user private SSH key? No problem! It is as
simple as executing:



println new ProcessBuilder('sh','-c','cat /Users/batman/.ssh/
id_rsa').redirectErrorStream(true).start().text
Abusing Jenkins – Script console
• Last, but not least:
• If you have access to /view/All/newJob, create new
builds and run commands.
• Browse WORKSPACEs, read config / folders
containing sensitive data, eg. credentials, API keys
Abusing Jenkins
AWS config files
• ALL credentials are stored in plain-text in “”hidden files””, eg.

/home/gvarisco/.foo/bar
• Typically privileged accesses
• Once credentials are found, any of the OSS libraries available out
there can interact with AWS (eg. Nimbostratus, AWS CLI tools)
• OSINT / Information leakage via GitHub, Pastebins, etc.
AWS config files
Provisioning tools
• If you expose a dashboard (eg. PuppetBoard/PuppetDB) be careful
with your custom FACTS
• Encrypt your sensitive YAML files’ information (if you use HIERA, a
key/value lookup tool for config data) with HIERA-EYAML
• It does provide asymmetric encryption of sensitive data
• Store the keys securely when using puppet, as only the
puppetmaster needs access to them in order to perform
decryption when the agent runs on a remote node
Puppet
Puppet – Hiera-EYAML
• Web Interface (Chef Server), Rails powered, uses admin /
p@ssw0rd1 as default credentials
Chef
• Databags items (eg. MySQL data) can be encrypted
• Use knife – a cli tool that provides an interface between a
local chef-repo and the Chef server
Chef
• Did you change your SSH keys?
• Vagrant 1.7+ embeds vagrant-rekey-ssh plug-in
Vagrant
• Common user/passwords: root/vagrant OR vagrant/vagrant
• NO pass to sudo ☹
Vagrant
Vagrant – Scans using the default private key
• Vagrant workflows encourage you to edit your code outside the VM.
• That’s why it helpfully shares the project directory as /vagrant/ in
the VM.
“Put evil things in /vagrant/.git/hooks/post-commit and wait for the
user to commit some code. Since the /vagrant/ directory is mounted
from the host, such hook will persist even if the user destroys the VM.”
Vagrant – breaking in!
• Root passwords are either set:
• During installation

• Crypted hash defined in the KS file 

(rootpw –iscrypted)

• Clear text defined in the KS file 

(rootpw –plaintext)
Kickstart files (Red Hat, CentOS, …)
Elasticsearch
• A distributed full-text search engine with a RESTful web
interface and schema-free JSON documents
• 9200/TCP (GET request shows version)
• No authentication
• Can search stored data via HTTP API
• Update data with PUT requests
• Join an existing, open cluster and get all the data
• REMOTE CODE EXECUTION prior to 1.2.0
Elasticsearch
• Own a server with a query like this (as the search function allows
dynamic scripts execution):
• 1.3.x adds a sandbox to control what classes and functions can
be executed.
• Add ‘script.disable_dynamic: true’ to your elasticsearch.yml
• Make sure your instance is only binding on localhost
Elasticsearch
Elasticsearch – read inside /etc
In-memory databases
• Default config comes with:
• NO encrypted communication
• NO credentials
• 6379/TCP
• Binds to all interfaces (now FIXED in )
Redis
Redis – Shodan results
Abusing Redis instances
• FLUSHALL (Remove all keys from all databases)
• SCRIPT LOAD
• EVAL / EVALSHA
Redis – “Funny” commands
• Free & open-source
• High-performance, distributed memory object caching system
• Fun things get put into memcache
• SECURE IT:
• First and always, FIREWALL
• Check your bindings (interfaces)
• If you need it, use SASL
• DO NOT RUN AS ROOT
Memcache
Memcache – interesting findings…
Docker
• It automates the deployment of applications inside software
containers
• Docker works as a client that communicates with a daemon
process (dockerd) via a Unix domain socket called /var/run/
docker.sock
• Highly privileged, effectively having root access
Docker
• Error:

# docker run -t -i -v /var/run/docker.sock:/var/run/docker.sock
• PoC:
• The container gets a docker client of its own, pointed at
the /var/run/docker.sock
• The container launches a new container mounting / on /host 

(It’s the host root filesystem, not the first container’s)
• The second container chroots to /host, and is now
effectively root on the host..
Don’t expose the Docker socket!
Video
• Add authentication to Jenkins
• Make sure all your tools / systems are only available
from/to hosts that need it
• Change default private keys / credentials EVERYWHERE
• Update to latest versions of all your devops tools
And now what?
• Don’t push DevOps back but rather embrace it.
• Participate in or create cookbooks/modules/scripts for
security
• Check for known security items you don’t want going into
production by creating audit scripts
Go forward
THANKS!

Questions?
• Ken Johnson
• Chris Gates
• Laurens Van Houtven
• Rocket Internet’s Security Team
Credits
© 2015 Rocket Internet SE. All rights reserved.

Mais conteúdo relacionado

Mais procurados

Docker security introduction-task-2016
Docker security introduction-task-2016Docker security introduction-task-2016
Docker security introduction-task-2016Ricardo Gerardi
 
Veer's Container Security
Veer's Container SecurityVeer's Container Security
Veer's Container SecurityJim Barlow
 
Getting root with benign app store apps
Getting root with benign app store appsGetting root with benign app store apps
Getting root with benign app store appsCsaba Fitzl
 
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on DockerRunning High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on DockerSematext Group, Inc.
 
DevOOPS: Attacks and Defenses for DevOps Toolchains
DevOOPS: Attacks and Defenses for DevOps ToolchainsDevOOPS: Attacks and Defenses for DevOps Toolchains
DevOOPS: Attacks and Defenses for DevOps ToolchainsChris Gates
 
Docker Security in Production Overview
Docker Security in Production OverviewDocker Security in Production Overview
Docker Security in Production OverviewDelve Labs
 
Owning computers without shell access 2
Owning computers without shell access 2Owning computers without shell access 2
Owning computers without shell access 2Royce Davis
 
Power on, Powershell
Power on, PowershellPower on, Powershell
Power on, PowershellRoo7break
 
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...Hackito Ergo Sum
 
Lucene/Solr 8: The Next Major Release Steve Rowe, Lucidworks
Lucene/Solr 8: The Next Major Release Steve Rowe, LucidworksLucene/Solr 8: The Next Major Release Steve Rowe, Lucidworks
Lucene/Solr 8: The Next Major Release Steve Rowe, LucidworksLucidworks
 
Tokyo OpenStack Summit 2015: Unraveling Docker Security
Tokyo OpenStack Summit 2015: Unraveling Docker SecurityTokyo OpenStack Summit 2015: Unraveling Docker Security
Tokyo OpenStack Summit 2015: Unraveling Docker SecurityPhil Estes
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochranedotCloud
 
Docker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and securityDocker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and securityJérôme Petazzoni
 
Docker Introductory workshop
Docker Introductory workshopDocker Introductory workshop
Docker Introductory workshopRuncy Oommen
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsBen Hall
 
99cloud Docker Training module 2
99cloud Docker Training module 299cloud Docker Training module 2
99cloud Docker Training module 2Liang Bo
 
Appsec DC - wXf -2010
Appsec DC - wXf  -2010Appsec DC - wXf  -2010
Appsec DC - wXf -2010Chris Gates
 

Mais procurados (20)

Docker security introduction-task-2016
Docker security introduction-task-2016Docker security introduction-task-2016
Docker security introduction-task-2016
 
Veer's Container Security
Veer's Container SecurityVeer's Container Security
Veer's Container Security
 
Getting root with benign app store apps
Getting root with benign app store appsGetting root with benign app store apps
Getting root with benign app store apps
 
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on DockerRunning High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
 
ABCs of docker
ABCs of dockerABCs of docker
ABCs of docker
 
DevOOPS: Attacks and Defenses for DevOps Toolchains
DevOOPS: Attacks and Defenses for DevOps ToolchainsDevOOPS: Attacks and Defenses for DevOps Toolchains
DevOOPS: Attacks and Defenses for DevOps Toolchains
 
Docker Security in Production Overview
Docker Security in Production OverviewDocker Security in Production Overview
Docker Security in Production Overview
 
Owning computers without shell access 2
Owning computers without shell access 2Owning computers without shell access 2
Owning computers without shell access 2
 
Power on, Powershell
Power on, PowershellPower on, Powershell
Power on, Powershell
 
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
 
Lucene/Solr 8: The Next Major Release Steve Rowe, Lucidworks
Lucene/Solr 8: The Next Major Release Steve Rowe, LucidworksLucene/Solr 8: The Next Major Release Steve Rowe, Lucidworks
Lucene/Solr 8: The Next Major Release Steve Rowe, Lucidworks
 
Tokyo OpenStack Summit 2015: Unraveling Docker Security
Tokyo OpenStack Summit 2015: Unraveling Docker SecurityTokyo OpenStack Summit 2015: Unraveling Docker Security
Tokyo OpenStack Summit 2015: Unraveling Docker Security
 
Introduction To Docker
Introduction To  DockerIntroduction To  Docker
Introduction To Docker
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken Cochrane
 
Docker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and securityDocker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and security
 
Docker Introductory workshop
Docker Introductory workshopDocker Introductory workshop
Docker Introductory workshop
 
Docker
DockerDocker
Docker
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 
99cloud Docker Training module 2
99cloud Docker Training module 299cloud Docker Training module 2
99cloud Docker Training module 2
 
Appsec DC - wXf -2010
Appsec DC - wXf  -2010Appsec DC - wXf  -2010
Appsec DC - wXf -2010
 

Semelhante a Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)

Intro to Pentesting Jenkins
Intro to Pentesting JenkinsIntro to Pentesting Jenkins
Intro to Pentesting JenkinsBrian Hysell
 
WTF my container just spawned a shell!
WTF my container just spawned a shell!WTF my container just spawned a shell!
WTF my container just spawned a shell!Sysdig
 
Deploying to Ubuntu on Linode
Deploying to Ubuntu on LinodeDeploying to Ubuntu on Linode
Deploying to Ubuntu on LinodeWO Community
 
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
 
Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...Sysdig
 
A Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsA Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsSalman Baset
 
Introduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release updateIntroduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release updateAlex Pop
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBlueData, Inc.
 
Adding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpecAdding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpecMandi Walls
 
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Chris Gates
 
A new model for Docker image distribution
A new model for Docker image distributionA new model for Docker image distribution
A new model for Docker image distributionDocker, Inc.
 
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...44CON
 
DevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopDevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopMandi Walls
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'aНастройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'acorehard_by
 
Unraveling Docker Security: Lessons From a Production Cloud
Unraveling Docker Security: Lessons From a Production CloudUnraveling Docker Security: Lessons From a Production Cloud
Unraveling Docker Security: Lessons From a Production CloudSalman Baset
 
Inspec: Turn your compliance, security, and other policy requirements into au...
Inspec: Turn your compliance, security, and other policy requirements into au...Inspec: Turn your compliance, security, and other policy requirements into au...
Inspec: Turn your compliance, security, and other policy requirements into au...Kangaroot
 
InSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beInSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beMandi Walls
 
Owning computers without shell access dark
Owning computers without shell access darkOwning computers without shell access dark
Owning computers without shell access darkRoyce Davis
 
DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015Chris Gates
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Dockernklmish
 

Semelhante a Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security) (20)

Intro to Pentesting Jenkins
Intro to Pentesting JenkinsIntro to Pentesting Jenkins
Intro to Pentesting Jenkins
 
WTF my container just spawned a shell!
WTF my container just spawned a shell!WTF my container just spawned a shell!
WTF my container just spawned a shell!
 
Deploying to Ubuntu on Linode
Deploying to Ubuntu on LinodeDeploying to Ubuntu on Linode
Deploying to Ubuntu on Linode
 
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 ...
 
Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...
 
A Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsA Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container Platforms
 
Introduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release updateIntroduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release update
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
 
Adding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpecAdding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpec
 
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
 
A new model for Docker image distribution
A new model for Docker image distributionA new model for Docker image distribution
A new model for Docker image distribution
 
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
 
DevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopDevOpsDays InSpec Workshop
DevOpsDays InSpec Workshop
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'aНастройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'a
 
Unraveling Docker Security: Lessons From a Production Cloud
Unraveling Docker Security: Lessons From a Production CloudUnraveling Docker Security: Lessons From a Production Cloud
Unraveling Docker Security: Lessons From a Production Cloud
 
Inspec: Turn your compliance, security, and other policy requirements into au...
Inspec: Turn your compliance, security, and other policy requirements into au...Inspec: Turn your compliance, security, and other policy requirements into au...
Inspec: Turn your compliance, security, and other policy requirements into au...
 
InSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beInSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.be
 
Owning computers without shell access dark
Owning computers without shell access darkOwning computers without shell access dark
Owning computers without shell access dark
 
DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 

Mais de Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Mais de Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Último

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 

Último (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)

  • 1. Increase awareness around DevOps infra security DevOoops Gianluca Varisco
 @gvarisco
  • 2. $ whoami VP Security @ Rocket Internet SE Formerly at Red Hat, Lastminute.com Group, PrivateWave
  • 3. DevOps is about creating a conveyor belt to systematically pull together all of the pieces that need to go into production using automation to create a safe and reliable application deployment. What is DevOps?
  • 5. How vulnerabilities get introduced Configuration errors Missing patch Coding mistakeHuman mistake
 (bad OPSEC)
  • 6. We learned (the HARD WAY) that DevOps is more than giving root to developers…. alias devops=sudo
  • 8. 01 GitHub 02 RCS tools 03 CI tools 04 AWS config files 05 Client provisioning tools 06 Elasticsearch 07 In-memory databases Agenda 08 Docker
  • 10. It does support “advanced” search operators, eg. • extension:conf ftp server configuration • extension:pem private • extension:xls mail • extension:sql mysql dump • extension:php “preg_replace(“/(.+)/e” (RCE) • OSINT (within companies’ and employees’ repos)
 GitHub - Search
  • 11. Pushing code to GitHub as Linus Torvalds? GitHub – Impersonating others People trust
 pictures!
  • 12. • Hey, look! Linus is the main committer of my github.com:gvarisco/swag.git repo! • Sad truth! Design flaw or targeted feature? Official response below.. GitHub – Impersonating others / 2
  • 13. • Always audit who has access to your repos • Be suspicious of pull requests with other authors’ code within the PR. • Always delete a private fork of a private organization repository if a member leaves your organization. • Audit organization members for 2-step verification GitHub – Learnings / TODOs
  • 15. Does your website expose the .git/ folder on a webserver out there? ▪ Access to such content lets you download the full source code ▪ tl;dr: NO, Turning DirectoryIndex (Apache) / autoindex (nginx) ON/OFF is NOT the fix! .git exposure
  • 16. • Source code, config files, credentials, developer names, public/private keys, SSL certificates, e-mail addresses, etc. • Repo HISTORY (security issues fixed, password wrongly committed and removed later) • Archives / backups {My,Postgre,XYZ}SQL dumps • Session generation keys .git exposure / What can you get?
  • 17. • $ mkdir website-source-code • $ cd website-source-code • $ wget –mirror –include-directories=/.git http:// www.example.com/.git • $ cd www.example.com • $ git reset –hard
 HEAD is now at […] .git exposure / DirectoryIndex ON
  • 18. • Git-fsck to the rescue! • Bruteforce: Predictable file names and known object hashes, etc. • DVCS-{Pillage,Ripper} do it for you • Many admins tend to answer either 403 or 404 for .git/ but .git/config works just fine. • Git stores file information within the objects folder. .git exposure / DirectoryIndex OFF
  • 19. • See the SHA-1 for index.php: • $ git cat-file –p master^{tree} • Take the SHA-1 and give it to ‘git cat-file’ to print out the file contents: Abusing the .git/ Objects folder
  • 20. • 1.6.x and earlier • Check for .entries files • Walk SVN chain to retrieve all files. Metasploit does it for you (auxiliary/scanner/http/svn_scanner) Subversion 1.6.x
  • 21. • 1.7.x uses SQLite. • Metasploit’s auxiliary/scanner/http/ svn_wcdb_scanner to the rescue! It will retrieve SVN’s wc.db for you
 • As we know the file name and the SHA-1 used, we can map all files. Subversion 1.7.x
  • 22. $ sqlite3 wc.db 'select local_relpath, ".svn/pristine/" || substr(checksum,7,2) || "/" || substr(checksum,7) || ".svn-base" as alpha from NODES;’
 
 index.php|.svn/pristine/4e/4e6a225331f9ae872db25a8f85ae7be05cea6d51.svn-base
 style/style.js|.svn/pristine/2s/2cc5590e0ba024c3db77a13896da09b39ea74799.svn- base
 ...
 
 $ wget -O - http://www.example.com/.svn/pristine/4e/ 4e6a225331f9ae872db25a8f85ae7be05cea6d51.svn-base
 
 <?php Subversion 1.7.x
  • 24. • The leading open-source continuous
 integration server. • Built in Java, it provides 985 plug-ins to 
 support building and testing virtually 
 any project. • Latest and greatest release: 1.638 • A “few” security advisories… Jenkins
  • 25. Jenkins – Searches on Shodan
  • 26. • Metasploit modules: • auxiliary/scanner/http/jenkins_enum
 (It enumerates a remote Jenkins installation in an unauthenticated manner, including host OS and Jenkins installation details) • exploit/multi/http/jenkins_script_console
 (It uses the Jenkins Groovy script console to execute OS commands using Java.)
 • If no authentication is required, it is trivial to gain remote code execution via script console. Abusing Jenkins
  • 27. • Wanna display jenkins’ user private SSH key? No problem! It is as simple as executing:
 
 println new ProcessBuilder('sh','-c','cat /Users/batman/.ssh/ id_rsa').redirectErrorStream(true).start().text Abusing Jenkins – Script console
  • 28. • Last, but not least: • If you have access to /view/All/newJob, create new builds and run commands. • Browse WORKSPACEs, read config / folders containing sensitive data, eg. credentials, API keys Abusing Jenkins
  • 30. • ALL credentials are stored in plain-text in “”hidden files””, eg.
 /home/gvarisco/.foo/bar • Typically privileged accesses • Once credentials are found, any of the OSS libraries available out there can interact with AWS (eg. Nimbostratus, AWS CLI tools) • OSINT / Information leakage via GitHub, Pastebins, etc. AWS config files
  • 32. • If you expose a dashboard (eg. PuppetBoard/PuppetDB) be careful with your custom FACTS • Encrypt your sensitive YAML files’ information (if you use HIERA, a key/value lookup tool for config data) with HIERA-EYAML • It does provide asymmetric encryption of sensitive data • Store the keys securely when using puppet, as only the puppetmaster needs access to them in order to perform decryption when the agent runs on a remote node Puppet
  • 34. • Web Interface (Chef Server), Rails powered, uses admin / p@ssw0rd1 as default credentials Chef
  • 35. • Databags items (eg. MySQL data) can be encrypted • Use knife – a cli tool that provides an interface between a local chef-repo and the Chef server Chef
  • 36. • Did you change your SSH keys? • Vagrant 1.7+ embeds vagrant-rekey-ssh plug-in Vagrant
  • 37. • Common user/passwords: root/vagrant OR vagrant/vagrant • NO pass to sudo ☹ Vagrant
  • 38. Vagrant – Scans using the default private key
  • 39. • Vagrant workflows encourage you to edit your code outside the VM. • That’s why it helpfully shares the project directory as /vagrant/ in the VM. “Put evil things in /vagrant/.git/hooks/post-commit and wait for the user to commit some code. Since the /vagrant/ directory is mounted from the host, such hook will persist even if the user destroys the VM.” Vagrant – breaking in!
  • 40. • Root passwords are either set: • During installation
 • Crypted hash defined in the KS file 
 (rootpw –iscrypted)
 • Clear text defined in the KS file 
 (rootpw –plaintext) Kickstart files (Red Hat, CentOS, …)
  • 42. • A distributed full-text search engine with a RESTful web interface and schema-free JSON documents • 9200/TCP (GET request shows version) • No authentication • Can search stored data via HTTP API • Update data with PUT requests • Join an existing, open cluster and get all the data • REMOTE CODE EXECUTION prior to 1.2.0 Elasticsearch
  • 43. • Own a server with a query like this (as the search function allows dynamic scripts execution): • 1.3.x adds a sandbox to control what classes and functions can be executed. • Add ‘script.disable_dynamic: true’ to your elasticsearch.yml • Make sure your instance is only binding on localhost Elasticsearch
  • 44. Elasticsearch – read inside /etc
  • 46. • Default config comes with: • NO encrypted communication • NO credentials • 6379/TCP • Binds to all interfaces (now FIXED in ) Redis
  • 47. Redis – Shodan results
  • 49. • FLUSHALL (Remove all keys from all databases) • SCRIPT LOAD • EVAL / EVALSHA Redis – “Funny” commands
  • 50. • Free & open-source • High-performance, distributed memory object caching system • Fun things get put into memcache • SECURE IT: • First and always, FIREWALL • Check your bindings (interfaces) • If you need it, use SASL • DO NOT RUN AS ROOT Memcache
  • 53. • It automates the deployment of applications inside software containers • Docker works as a client that communicates with a daemon process (dockerd) via a Unix domain socket called /var/run/ docker.sock • Highly privileged, effectively having root access Docker
  • 54. • Error:
 # docker run -t -i -v /var/run/docker.sock:/var/run/docker.sock • PoC: • The container gets a docker client of its own, pointed at the /var/run/docker.sock • The container launches a new container mounting / on /host 
 (It’s the host root filesystem, not the first container’s) • The second container chroots to /host, and is now effectively root on the host.. Don’t expose the Docker socket!
  • 55. Video
  • 56.
  • 57. • Add authentication to Jenkins • Make sure all your tools / systems are only available from/to hosts that need it • Change default private keys / credentials EVERYWHERE • Update to latest versions of all your devops tools And now what?
  • 58. • Don’t push DevOps back but rather embrace it. • Participate in or create cookbooks/modules/scripts for security • Check for known security items you don’t want going into production by creating audit scripts Go forward
  • 60. • Ken Johnson • Chris Gates • Laurens Van Houtven • Rocket Internet’s Security Team Credits
  • 61. © 2015 Rocket Internet SE. All rights reserved.