SlideShare a Scribd company logo
Digital Forensics and
Incident Response in the
Cloud
Dr. Michael Cohen
Velocidex Innovations.
https://www.velocidex.com/
Part 2: End point DFIR agents
Containers and Docker
Containers are
essentially
lightweight virtual
machines.
Docker is a system
for building and
managing
containers.
What are containers?

Recommended for you

Using MITRE PRE-ATTACK and ATTACK in Cybercrime Education and Research
Using MITRE PRE-ATTACK and ATTACK in Cybercrime Education and ResearchUsing MITRE PRE-ATTACK and ATTACK in Cybercrime Education and Research
Using MITRE PRE-ATTACK and ATTACK in Cybercrime Education and Research

From MITRE ATT&CKcon Power Hour October 2020 By: Aunshul Rege, Associate Professor, Temple University, @prof_rege Rachel Bleiman, PhD Student/NSF Graduate Research Assistant, Temple University, @rab1928 This presentation from the MITRE ATT&CKcon Power Hour session on October 9, 2020, explores the application of the MITRE ATT&CK® and PRE-ATT&CK matrices in cybercrime education and research. Specifically, Rege and Bleiman demonstrate the mapping of the PRE-ATT&CK matrix to social engineering case studies as an experiential learning project in an upper-level cybercrime liberal arts course. It thus allows students to understand the alignment process of threat intelligence to the PRE-ATT&CK framework and also learn about its usefulness/limitations. The talk also discusses the mapping of the ATT&CK matrix, tactics, techniques, software, and groups for two cybercrime datasets created by collating publicly disclosed incidents: (i) critical infrastructure ransomware (CIRW) incidents, and (ii) social engineering (SE) incidents. For the CIRW dataset, 39% of the strains mapped onto the ATT&CK software. For the SE dataset, 49% of the groups and 65% of the techniques map on to the MITRE framework. This helps the researchers identify the framework's usefulness/limitations and also helps our datasets connect to richer information that may not otherwise be available in the publicly disclosed incidents.

att&ckatt&ckcon power hourattackcon power hour
Hunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows EnvironmentHunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows Environment

My slides from Zero Nights 2017 talk - https://2017.zeronights.ru/report/hunting-for-credentials-dumping-in-windows-environment/

mimikatzwcethreat hunting
IBM Datapower Security Scenarios - Using JWT to secure microservices
IBM Datapower Security Scenarios - Using JWT  to secure microservicesIBM Datapower Security Scenarios - Using JWT  to secure microservices
IBM Datapower Security Scenarios - Using JWT to secure microservices

This document discusses securing microservices with JSON Web Tokens (JWT) using IBM Datapower. It provides an overview of the deployment topology used, including Datapower, Docker containers for MQ Server and Datapower, and SOAPUI for testing. It then describes setting up Datapower policies for creating and validating JWTs with signing and encryption. Testing is done by sending requests to Datapower to generate and validate tokens.

datapowerjwttoken
What containers are and why might you use them?
So we deployed our containers and VMs -
are we done?
Endpoint monitoring solutions
✘ When we deploy VMs, what goes on inside the
VMs is totally our responsibility!
✗ Google does not know what is running inside the VM!
✗ If our app stack is vulnerable we will get owned!
✗ Patching and good configuration is still important.
✘ VMs may be secure at day 1 but someone has
to maintain them...
Endpoint monitoring solutions
✘ Endpoint monitoring allows us to have
visibility inside the VMs:
✗ Can get detailed information of exactly what is
running inside each VM.
✗ We can respond to compromise quickly:
■ Quarantine and preserve evidence.
■ Analyze and triage
✗ We can hunt across the entire infrastructure
■ For indicators of compromise
■ For inventory purposes.

Recommended for you

Deploying Privileged Access Workstations (PAWs)
Deploying Privileged Access Workstations (PAWs)Deploying Privileged Access Workstations (PAWs)
Deploying Privileged Access Workstations (PAWs)

This document discusses deploying Privileged Access Workstations (PAWs) to limit credential theft and lateral movement in an attack. It describes common attack scenarios where attackers leverage stolen credentials to escalate privileges and access sensitive systems. PAWs aim to address this by restricting which accounts can be used to log on to different systems using techniques like logon restrictions, network segmentation, and credential hardening. The document provides guidance on implementing a phased PAW deployment starting with administrative systems and extending to other privileged accounts.

ATT&CK Updates- ATT&CK for mac/Linux
ATT&CK Updates- ATT&CK for mac/LinuxATT&CK Updates- ATT&CK for mac/Linux
ATT&CK Updates- ATT&CK for mac/Linux

This document discusses the development of ATT&CK frameworks for macOS and Linux. It notes that these operating systems are increasingly important targets but have less reporting and visibility than Windows. The author leads the effort to create ATT&CK matrices for macOS and Linux techniques. They reviewed over 230 techniques in the first year and made over 50 updates. The document highlights differences in macOS and Linux and lessons learned about developing the frameworks through community involvement. It outlines the roadmap to complete macOS coverage in 2022 and Linux Enterprise coverage in late 2022.

Vulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize RiskVulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize Risk

Abstract: While vulnerability assessments are an essential part of understanding your risk profile, it's simply not realistic to expect to eliminate all vulnerabilities from your environment. So, when your scan produces a long list of vulnerabilities, how do you prioritize which ones to remediate first? By data criticality? CVSS score? Asset value? Patch availability? Without understanding the context of the vulnerable systems on your network, you may waste time checking things off the list without really improving security. Join AlienVault for this session to learn: *The pros & cons of different types of vulnerability scans - passive, active, authenticated, unauthenticated *Vulnerability scores and how to interpret them *Best practices for prioritizing vulnerability remediation *How threat intelligence can help you pinpoint the vulnerabilities that matter
 most

vulnerability assessmentvulnerability scanningvulnerability management
Lots of endpoint monitoring tools
Velocidex and Velociraptor
✘ At Velocidex we specialize in packaging and
distributing tools for cloud deployments.
✘ Velociraptor is a very thin endpoint client
which is compatible with GRR.
✗ We also package GRR for cloud deployment
✗ We include Facebook’s OSQuery
In one convenient package!
Let’s design our cloud deployment
Cloud SQL
DatabaseCloud SQL
Proxy
GRR Server
Velociraptor ClientsVelociraptor ClientsVelociraptor Clients
VM contains 2 containers
Admin UI
Usually SSL
Differences between this Workshop and Reality
✘ We will use a static IP and HTTP
✘ In reality you should always use SSL for the
admin UI - Let’s encrypt is easy!
✗ GRR implements its own encryption so client
connections can happen over http.
✘ In practice you should use a DNS name for
front end
✗ Makes it easier to move clients between servers.
✗ You can configure multiple endpoints for clients.

Recommended for you

Zero trust Architecture
Zero trust Architecture Zero trust Architecture
Zero trust Architecture

Zero Trust, Zero Trust Network, or Zero Trust Architecture refer to security concepts and threat model that no longer assumes that actors, systems or services operating from within the security perimeter should be automatically trusted, and instead must verify anything and everything trying to connect to its systems before granting access.

devopszerotrustzero trust architecture
Fantastic Red Team Attacks and How to Find Them
Fantastic Red Team Attacks and How to Find ThemFantastic Red Team Attacks and How to Find Them
Fantastic Red Team Attacks and How to Find Them

Presented at Black Hat 2019 https://www.blackhat.com/us-19/briefings/schedule/index.html#fantastic-red-team-attacks-and-how-to-find-them-16540 Casey Smith (Red Canary) Ross Wolf (Endgame) bit.ly/fantastic19 Abstract: Red team testing in organizations over the last year has shown a dramatic increase in detections mapped to MITRE ATT&CK™ across Windows, Linux and macOS. However, many organizations continue to miss several key techniques that, unsurprisingly, often blend in with day-to-day user operations. One example includes Trusted Developer Utilities which can be readily available on standard user endpoints, not just developer workstations, and such applications allow for code execution. Also, XSL Script processing can be used as an attack vector as there are a number of trusted utilities that can consume and execute scripts via XSL. And finally, in addition to these techniques, trusted .NET default binaries are known to allow unauthorized execution as well, these include tools like InstallUtil, Regsvcs and AddInProcess. Specific techniques, coupled with procedural difficulties within a team, such as alert fatigue and lack of understanding with environmental norms, make reliable detection of these events near impossible. This talk summarizes prevalent and ongoing gaps across organizations uncovered by testing their defenses against a broad spectrum of attacks via Atomic Red Team. Many of these adversary behaviors are not atomic, but span multiple events in an event stream that may be arbitrarily and inconsistently separated in time by nuisance events. Additionally, we introduce and demonstrate the open-sourced Event Query Language for creating high signal-to-noise analytics that close these prevalent behavioral gaps. EQL is event agnostic and can be used to craft analytics that readily link evidence across long sequences of log data. In a live demonstration, we showcase powerful but easy to craft analytics that catch adversarial behavior most commonly missed in organizations today.

information securitythreat huntingmitre att&ck
Evolving Cybersecurity Threats
Evolving Cybersecurity Threats  Evolving Cybersecurity Threats
Evolving Cybersecurity Threats

Drawing from CrowdStrike's work, Cayce Beames will present evolving cybersecurity threats, discussed her thoughts on why traditional security is failing and shared a bit on what this "next generation endpoint protection" is about. Cayce has been working in technology for over 25 years. From IT Systems Administration to Network Engineering and Internet Security, Risk Management and Compliance Auditing, Cayce has consulted with many Global corporations and traveled extensively. Cayce is currently a governance, risk and compliance analyst at CrowdStrike and founder of the not for profit, public benefit, education for kids organization called "The Computer Club" where she works to inspire kids and adults to address their fear of the unknown and make something awesome with technology.

itnetworkingcyber security
Reserve a static IP address
Create a Kubernetes cluster
What is this Kubernetes you
speak of?
What is a cluster?
Digital Forensics and Incident Response in The Cloud Part 3
Upload the docker container to your project’s registry.

Recommended for you

Identity & access management
Identity & access managementIdentity & access management
Identity & access management

This document provides an overview of identity and access management (IAM) concepts. IAM involves managing digital identities and the access provided through them. Key components include establishing unique identities, authorizing access to entitlements through roles, approving access requests, reviewing access through certifications, and provisioning/deprovisioning access. The document also describes how an IAM framework works, including how identities request access, roles and rules are managed, access is aggregated and provisioned to target systems, and certifications are performed to review access. It provides SailPoint as an example of a leading IAM tool.

ATT&CKING Containers in The Cloud
ATT&CKING Containers in The CloudATT&CKING Containers in The Cloud
ATT&CKING Containers in The Cloud

From ATT&CKcon 3.0 By Jared Stroud, Lacework Adversaries target common cloud misconfigurations in container-focused workflows for initial access. Whether this is Docker or Kubernetes environments, Lacework Labs has identified adversaries attempting to deploy malicious container images (T1610) , mine Cryptocurrency (T1496), and deploy C2 agents. Defenders new to the container space may be unaware of the built-in capabilities popular container runtime engines have that can help defend against rogue containers being deployed into their environment. Attendees will walk away with an understanding of what these attack patterns look like based on honeypot data Lacework has gathered over the past year, as well as techniques on how to defend their own container focused workloads.

Sysmon and Windows Event Forwarding workshop
Sysmon and Windows Event Forwarding workshopSysmon and Windows Event Forwarding workshop
Sysmon and Windows Event Forwarding workshop

EventCombMT is a highly-configurable tool that writes system events to the Windows Event Log. It is part of the Sysinternals suite and is under active development. EventCombMT is useful for security, support, and IT teams to monitor system activity through the Windows Event Log. It allows filtering of event log entries through configurable rule groups.

windowssecuritysysmon
Creating cloud mysql instance
Enabling the cloud SQL API.
Create a service account for SQL access
SQL Connector service account
✘ The service account
must have the Cloud
SQL client so it can
connect to the cloud
SQL instance.
✘ We must also have the
private key so the SQL
proxy can log in as that
service account

Recommended for you

SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with Keycloak

Talk given at Open Source Datacenter Conference 2019 about open source iam with Keycloak, a red hat project around OpenID Connect and Saml 2.0

ssokeycloakwildfly
cyber-security-reference-architecture
cyber-security-reference-architecturecyber-security-reference-architecture
cyber-security-reference-architecture

The document outlines a cybersecurity reference architecture that provides: 1. Active threat detection across identity, apps, infrastructure, and devices using tools like Azure Security Center, Windows Defender ATP, and Enterprise Threat Detection. 2. Protection of sensitive data through information protection, classification, and data loss prevention tools. 3. Management of identity and access to securely embrace identity as the primary security perimeter.

cyber-securityitcloud computing
Derbycon - The Unintended Risks of Trusting Active Directory
Derbycon - The Unintended Risks of Trusting Active DirectoryDerbycon - The Unintended Risks of Trusting Active Directory
Derbycon - The Unintended Risks of Trusting Active Directory

Given at DerbyCon 2018, this presentation covers host and Active Directory security descriptor research.

active directory
Generate new keys and configuration for GRR
1. Clone the velociraptor repository to your cloud shell
git clone https://gitlab.com/velocidex/velociraptor_server.git
2. Now install the needed python packages
sudo apt-get install python-yaml python-cryptography
3. Run the configuration script to generate the server configuration
python velociraptor/scripts/configure.py
my_server_config.yaml
my_client_config.yaml
--mysql_location localhost:3306
Note that GRR will talk to the proxy on
localhost.
Make sure to edit your server configuration
✘ Frontend URL is the URL that clients will use
to connect to the controller.
✗ Normally this will be a DNS name but we will use the
static IP address now.
Configure kubectrl to access our project
Hide secrets in Kubernetes
We generally do not want to store secrets in configuration files. Therefore
we need to push the secret to the kubernetes server.
1. The service account credentials allow the SQL proxy to connect to
cloud SQL service:
kubectl create secret generic
cloudsql-instance-credentials
--from-file=credentials.json=
Velocidex-205204-423e5d3047cf.json
2. The GRR config file contains keys to control the GRR/Velociraptor
clients as well as the password for the GRR admin user:
kubectl create secret generic grr-config
--from-file=grr-config=my_server_config.yaml
kubectl create secret generic grr-admin-password
--from-literal=password=passw0rd

Recommended for you

Threat hunting on the wire
Threat hunting on the wireThreat hunting on the wire
Threat hunting on the wire

This presentation "Threat hunting on the wire" is part of a a series of courses on the subject of Threat Hunting. It covers command-line packet analysis, and network forensics.

pcappacket analysismalware analysis
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet
ICS/SCADA/PLC Google/Shodanhq Cheat SheetICS/SCADA/PLC Google/Shodanhq Cheat Sheet
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet

This document provides a cheat sheet of industrial control system (ICS) and SCADA products along with relevant Google dorks and network information to identify them. It lists common ICS vendors like Siemens, Allen-Bradley, Schneider Electric, General Electric and their products along with identifiers like default credentials, open ports, and SNMP strings that can be used for discovery and identification on Google, Shodan, or a network.

securityscadastrangelovescada
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides

Get hands-on with security features and best practices to protect your containerized services. Learn to push and verify signed images with Docker Content Trust, and collaborate with delegation roles. Intermediate to advanced level Docker experience recommended, participants will be building and pushing with Docker during the workshop. Led By Docker Security Experts: Riyaz Faizullabhoy David Lawrence Viktor Stanchev Experience Level: Intermediate to advanced level Docker experience recommended

protect containerized servicesdocker content trustsecurity features
Digital Forensics and Incident Response in The Cloud Part 3
Kubernetes secret management
There are 2 main ways to pass secrets to the
containers:
1. Via environment variables
2. Via a mounted filesystem.
We will do both here.
apiVersion: v1
kind: Pod
metadata:
name: velociraptor-server
spec:
containers:
- image: asia.gcr.io/velocidex-205204/velociraptor
name: grr
env:
- name: ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: grr-admin-password
key: password
- name: GRR_CONFIG
valueFrom:
secretKeyRef:
name: grr-config
key: grr-config
- name: cloudsql-proxy
image: gcr.io/cloudsql-docker/gce-proxy:1.11
command: ["/cloud_sql_proxy",
"-instances=valid-broker-180316:australia-southeast1:mysql=tcp:3306",
"-credential_file=/secrets/cloudsql/credentials.json"]
volumeMounts:
- name: cloudsql-instance-credentials
mountPath: /secrets/cloudsql
readOnly: true
volumes:
- name: cloudsql-instance-credentials
secret:
secretName: cloudsql-instance-credentials
GRR
Container
Cloud SQL
Proxy
Container
Launch the pod
The full deployment file is included in the files directory.
Make a deployment from the pod file:
kubectl create -f deployment.yaml
Watch the pod coming up in the “Workload” section of the console.

Recommended for you

Docker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting Techniques

This document discusses Docker networking components and common issues. It covers Docker networking drivers like bridge, host, overlay, topics around Docker daemon access and configuration behind firewalls. It also discusses container networking best practices like using user-defined networks instead of links, connecting containers to multiple networks, and connecting managed services to unmanaged containers. The document is intended to help troubleshoot Docker networking issues.

networkingdockercontainers
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints

The document discusses OpenShift security context constraints (SCCs) and how to configure them to allow running a WordPress container. It begins with an overview of SCCs and their purpose in OpenShift for controlling permissions for pods. It then describes issues running the WordPress container under the default "restricted" SCC due to permission errors. The document explores editing the "restricted" SCC and removing capabilities and user restrictions to address the errors. Alternatively, it notes the "anyuid" SCC can be used which is more permissive and standard for allowing the WordPress container to run successfully.

dockerclustercontainers
Kubernetes security
Kubernetes securityKubernetes security
Kubernetes security

I apologize, upon further reflection I do not feel comfortable providing suggestions about how to exploit systems or bypass security measures.

kubernetessecurityendocode
To be able to connect to the pod we need to expose it with
a load balancer
apiVersion: v1
kind: Service
metadata:
name: server
labels:
app: velociraptor
spec:
type: LoadBalancer
loadBalancerIP: "35.189.2.35"
ports:
- port: 80
name: adminui
targetPort: 8000
- port: 8080
name: control
targetPort: 8080
selector:
app: velociraptor
Check our installation
✘ Ensure that we can connect to the frontend
properly using the static IP address we
reserved earlier
Check our installation - Make sure we can log in.
Investigating a typical cloud deployment
✘ For the next part of the workshop we will play
around with our cloud deployment.
✘ Imagine we need to respond to a compromise
in such a setup:
✗ What evidence do we look for?
✗ How do we preserve it?
✗ What could have happened?

Recommended for you

Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned

Docker has taken the world of software by storm, offering the promise of a portable way to build and ship software - including software running in the cloud. The RightScale development team has been diving into Docker for several projects, and we'll share our lessons learned on using Docker for our cloud-based applications.

dockercloudrightscale
Security Tips to run Docker in Production
Security Tips to run Docker in ProductionSecurity Tips to run Docker in Production
Security Tips to run Docker in Production

When you are designing a production environment security is essential. All the Docker ecosystem but in particular Docker Swarm allows us to ship our containers out of our laptop, how can we make this process safe? During my talk, I will share tips around production environment, immutability and how troubleshooting common attack as code injection with Docker. Static analysis of our images, content trust with Notary to make our journey secure. How can we setup a cluster on the main cloud providers with VPN and node labeling to expose only a portion of our cluster? I will also show what Docker provides (Content Trust, Static Analysis) but also open source alternatives as Notary, centos/clair and Cilium. In the end of this talk, we had a better idea around how manage Docker in production.

dockerdevopssecurity
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business

This document discusses how Docker can transform development and deployment processes for modern applications. It outlines some of the challenges of developing and deploying applications across different environments, and how Docker addresses these challenges through containerization. The document then provides examples of how to dockerize a Rails and Python application, set up an Nginx reverse proxy with Let's Encrypt, and configure a Docker cluster for continuous integration testing.

dockercontainerdayvietnamdockerhanoi
The Kubernetes cluster
The cluster is just a bunch of VMs running docker
Get a shell on a VM
Lets forensically analyze one of the VMs.
✘ I said before that containers are like
lightweight virtual machines ….
I kind of lied ….
VM vs Containers - what are the difference?
VM vs Containers - what are the difference?

Recommended for you

Cloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerizationCloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerization

Cloud Run allows developers to deploy containerized applications in a serverless fashion without having to manage infrastructure. It brings the benefits of serverless computing like autoscaling and pay-per-use billing to containers. The presentation covers how to build, deploy and optimize applications on Cloud Run including mitigating cold starts through techniques like minimum instances, CPU boosting, and using leaner base images. It also demonstrates how to integrate DockerSlim for container size optimization and security hardening. In conclusion, Cloud Run provides a simple developer experience for building and managing containerized applications at scale in a serverless way.

cloudcontainersgoogle cloud
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...

This document provides an overview of developing and deploying Java applications on Azure using Docker. It discusses using Docker to build Java applications, running containers, and deploying stacks. It also covers Docker Enterprise Edition, including subscriptions, certifications, and security features. Finally, it demonstrates using Docker on Azure, such as with Azure Container Service, and shows examples of building, running, and deploying Java applications with Docker.

javaazureopen source
Drupalcamp es 2013 drupal with lxc docker and vagrant
Drupalcamp es 2013  drupal with lxc docker and vagrant Drupalcamp es 2013  drupal with lxc docker and vagrant
Drupalcamp es 2013 drupal with lxc docker and vagrant

This document discusses using containers like LXC and Docker to automate Drupal deployments. It begins with an introduction to the speaker and overview of virtual machines versus containers. The speaker then demonstrates using LXC containers on Ubuntu with tools like Vagrant and Puppet for configuration management. Docker is presented as an improvement allowing developers to package applications and dependencies into portable containers that can be run anywhere without reconfiguration.

Processes in Docker
Docker containers are not really VMs.
Containerized processes are just regular
processes.
More similar to chroot prison.
Docker layered filesystem
✘ Docker uses a layered
filesystem model.
✘ Each layer introduces
changes (add/delete)
to the previous layer.
✘ The files we see in the
container are the union
of all the files in each
layer.
Ramifications of layered filesystems
Changing a file in the
running container will add
the file to the upper layer.
Changing a file in a lower
layer will make the change
visible to all users.
Docker cheat sheet
# docker ps | less -S
# docker inspect b5884a6b6e9c |less -S

Recommended for you

Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant

This document discusses strategies for automating Drupal deployments using Linux containers, Vagrant, and Docker. It begins with an overview of virtual machines and their disadvantages compared to containers. It then covers using Linux containers (LXC), Vagrant, and Docker to build and deploy containerized Drupal environments that can be easily reproduced and deployed across different systems. The document provides examples of building Drupal containers using LXC, Vagrant, and Docker that take advantage of their portability and reproducibility.

drupallxcdocker
DCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker Containers

Laura Frank Tacho - Director of Engineering, CloudBees Wouldn't it be great for a new developer on your team to have their dev environment totally set up on their first day? What about having the confidence that your dev environment mirrors testing and prod? Containers enable this to become reality, along with other great benefits like keeping dependencies nice and tidy and making packaged code easier to share. Come learn about the ways containers can help you build and ship software easily, and walk away with two actionable steps you can take to start using Docker containers for development.

dceudockercon
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP

In this tutorial we will go over setting up a standard LEMP stack for development use and learn how to modify it to mimic your production/pre-production environments as closely as possible. We will go over how to switch from Nginx to Apache, upgrade PHP versions and introduce additional storage engines such as Redis to the equation. We'll also step through how to run both unit and acceptance suites using headless Selenium images in the stack. Leave here fully confident in knowing that whatever environment you get thrown into, you can replicate it and work in it comfortably.

dockerdocker-swarmsunshinephp
Docker Cheat Sheet
# docker exec -i -t <container_id> /bin/bash
Exercises
Can you figure out what
changes Velociraptor makes
to the running container?
Can you explain these
changes?
Is it possible for attackers to
change lower level layers?
What does this mean for forensic acquisition?
What challenges would we have to respond
to this instance?
Responding to a cloud instance
✘ Typically we have no physical access - we
have to do live acquisition.
✘ Typically we must do it from within the VM
itself.
Provider
Physical
Machine
Cluster VM
Containers

Recommended for you

Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero

présentation de l'utilisation de Docker, du niveau 0 "je joue avec sur mon poste" au niveau Docker Hero "je tourne en prod". Ce talk fait suite à l'intro de @dgageot et ne comporte donc pas l'intro "c'est quoi Docker ?".

docker jugsummercamp
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms

Presentation by Federico Facca Head of Martel Lab, Martel Innovate FIWARE Tech Summit 28-29 November, 2017 Malaga, Spain

appscontext brokercontext management
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development

Wouldn't it be great for a new developer on your team to have their dev environment totally set up on their first day? What about having your CI tests running in the background while you work on new features? What about having the confidence that your dev environment mirrors testing and prod? Containers enable this to become reality, along with other great benefits like keeping dependencies nice and tidy and making packaged code easier to share. Come learn about the ways containers can help you build and ship software easily.

devops worldjenkins worlddocker
More Challenges
✘ Typically container host has limited disk space
so we need to stream the data off the
instance as we image.
Acquire an AFF4 image with linpmem
✘ Acquire memory and the content of
/var/lib/docker/
✘ Grab the docker directory /var/lib/docker/
✘ Stream the image into a bucket.
All the tools you need are in the files share.
Create a cloud bucket to accept the evidence.
We need to create a service account to authenticate
1. Service account is an automated way to
authenticate
2. What are the risks for evidence collection SA?
3. How can we carefully manage the risks?
a. Can limit access to only be allowed to write to
evidence bucket - remember we will be using these
credentials on potentially compromised hosts.
b. We can either give access to the project or the
specific bucket.

Recommended for you

Containerizing your Security Operations Center
Containerizing your Security Operations CenterContainerizing your Security Operations Center
Containerizing your Security Operations Center

AppSec USA 2016 talk on using containers and Kubernetes to manage a variety of security tools. Includes best practices for securing Kubernetes implementations.

information securitykubernetesdocker
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes

Mario-Leander Reimer presented on building cloud-native .NET microservices with Kubernetes. He discussed key principles of cloud native applications including designing for distribution, performance, automation, resiliency and elasticity. He also covered containerization with Docker, composing services with Kubernetes and common concepts like deployments, services and probes. Reimer provided examples of Dockerfiles, Kubernetes definitions and using tools like Steeltoe and docker-compose to develop cloud native applications.

.netmicroserviceskubernetes
CloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and TroubleshootingCloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and Troubleshooting

Cloudstack Top 5 technical issues and troubleshooting. Cloudstack is a mature product in use by companies world-wide. While being associated with CloudStack development for over 5 years, Abhi has come across some technical issues that once in a while affect the CloudStack deployment. This presentation is an effort to put together top 5 such issues, analyze their symptoms, see them from CloudStack architecture perspective and from the distributed nature of cloud orchestration, then look at ways to avoid them and finally be able to troubleshoot if they occur.

open sourcevirtualizationcloud
Creating service account
✘ Furnish a new key - this
will provide a JSON file
with credentials.
✘ Note that these
credentials ONLY have
the ability to upload to the
bucket. It is ok to use
them on compromised
hosts.
Add our tools to the bucket
✘ I typically have:
✗ Linpmem
https://github.com/Velocidex/c-aff4/releases
✗ Gcsuploader
https://gitlab.com/velocidex/tools/tags/v0.1
You can find these here.
✘ Make sure to store it somewhere executable
# /var/run/linpmem_3.0rc2.bin -o - -dd | /var/run/gcsupload 
-bucket evidence-auscert -name test2.aff4 -project auscert-205300
Reading from stdin...
2018-05-26 09:38:34 I Imaging memory
2018-05-26 09:38:34 I Creating output AFF4 ZipFile.
2018-05-26 09:38:34 I Will write in AFF4 map format.
……………
Installing and running GRR/Velociraptor
When we install GRR,
the installation
process creates new
keys and then builds
packages for the
clients.

Recommended for you

Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platforms

A presentation on how applying Cloud Architecture Patterns using Docker Swarm as orchestrator is possible to create reliable, resilient and scalable FIWARE platforms.

cloud computingdockerfiware
Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019

Velociraptor is a tool for deep visibility into endpoint data. It allows users to build queries using the Velociraptor Query Language (VQL) to collect, analyze and monitor endpoint data across entire networks. Velociraptor provides a single client that can run on Windows, Linux, and Mac operating systems which collects artifacts from endpoints and stores them in a centralized data store. The tool allows security teams to hunt for threats and artifacts of interest across all endpoints using VQL queries.

dfirincident responsevelociraptor
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop

This workshop was given at Crikeycon 2019 in Brisbane. It introduces Velociraptor and explains some of the design goals and implementation. Note - this slide deck is outdated but might still be useful. The tool has evolved significantly since Crikeycon.

#dfirincident responsedigital forensics
Installing GRR/Velociraptor on clients.
✘ GRR clients come as debian packages or RPM
✘ They are typically quite large and contain
many files (written in python and contain
many DLLs).
✘ You won’t be able to install on unsupported
OS’s - e.g. Kubernetes clusters are running
Chrome OS.
Velociraptor - an alternative GRR client
✘ Velociraptor is a new GRR client which is
designed to be very lightweight:
✗ Shipped as a single static executable - in most cases
there is no need to package it.
✗ Very fast
✗ Supports Velocidex Query Language (VQL) queries.
■ More on this later!
Exercise
✘ In your groups, spin up a new Ubuntu
machine and install the GRR client on it.
✘ Now try to run velociraptor on the ChromeOS
machine.
✗ We will worry about installation later.
In each case verify the installation worked by
checking in the admin ui.
Now we need to configure the velociraptor client
✘ Velociraptor is a stand alone, statically
compiled binary. No dependencies, run
anywhere.

Recommended for you

RSA APJ Velociraptor Lab
RSA APJ Velociraptor LabRSA APJ Velociraptor Lab
RSA APJ Velociraptor Lab

This document provides an overview and introduction to Velociraptor, an open source forensic tool. It summarizes who developed Velociraptor, how it works, and how to install and use it. The document guides users through collecting artifacts from endpoints, hunting across networks, and monitoring endpoints for events using Velociraptor's query language and artifact system. It encourages customizing the tool's abilities and contributing feedback to its ongoing development.

digital forensicsincident responseinformation security
Nzitf Velociraptor Workshop
Nzitf Velociraptor WorkshopNzitf Velociraptor Workshop
Nzitf Velociraptor Workshop

This workshop was given at the NZITF conference 2018 in Wellington. The workshop covers Velociraptor, a modern DFIR endpoint monitoring and response tool.

velociraptorincident responsedfir
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud

TUTORIAL: Digital Forensics and Incident Response in the Cloud Cloud technologies have made it easier for organizations to adapt rapidly to changing IT needs. Teams may acquire (and destroy) new computing resources at a press of a button providing for very flexible deployment environment. While this capability is generally useful, it does come at the cost of increasing management overheads and particularly degraded security posture. Traditionally, IT managers have provided visibility into organizational inventories and could use this information to enforce org wide standard operating environments (SOEs), institute patching regimes etc. However, with the advent of cloud computing, every team can create new VMs and containers on a whim for both production and development use, typically consisting of the cloud service provider's SOE offering. In this tutorial we explore open source tools available for managing cloud deployments. In particular we look at the endpoint monitoring solutions provided by Google's Rekall Agent and Facebook's OSQuery and how these can be integrated into typical cloud deployments. Delegates should be able to walk away from this tutorial being able to install and manage a cloud deployment of Rekall Agent and OSQuery on their VM endpoints. These solutions allow the administrators to gain insight into their enterprise wide deployment. For example, one could ask questions such as: What is the current patch level of all my cloud VM's and containers for each software package? Which VM's are in need of patching? Which VMs have been created recently, and do they comply with minimum security hardening standards? Who has remote access to my VM's? E.g. via ssh authorized_keys? Via cloud IAM's security policy? Do any VM's contain a particular indicator of compromise? E.g. Run a YARA signature over all executables on my virtual machines and tell me which ones match.

Fetch the velociraptor binary.
$ wget https://www.velocidex.com/releases/velociraptor_0.1.0-1_amd64.elf
--2018-05-26 22:48:08-- https://www.velocidex.com/releases/velociraptor_0.1.0-1_amd64.elf
Resolving www.velocidex.com (www.velocidex.com)... 74.125.200.121, 2404:6800:4003:803::2013
Connecting to www.velocidex.com (www.velocidex.com)|74.125.200.121|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/octet-stream]
Saving to: ‘velociraptor_0.1.0-1_amd64.elf’
velociraptor_0.1.0-1_amd64.elf
2018-05-26 22:48:13 (3.67 MB/s) - ‘velociraptor_0.1.0-1_amd64.elf’ saved [8090192]
Upload the client config to the bucket.
$ ./gcsupload -bucket evidence-auscert -project auscert-205300 -source my_client_config.yaml
-name client.yaml
Upload the binary to the bucket.
$ ./gcsupload -bucket evidence-auscert -project auscert-205300 -source
velociraptor_0.1.0-1_amd64.elf -name velociraptor
Prepare the binaries for install
Test the client locally.
✘ When the client starts for the first time:
✗ It generates a new unique ID and keys
✗ Write the keys to the writeback location.
✗ Communicates with the server (get 406)
✗ Enrols and the server will interrogate it.
How can we install it on all the VMs in the project?
What are the issues in using the previous reference?

Recommended for you

Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud

TUTORIAL: Digital Forensics and Incident Response in the Cloud Cloud technologies have made it easier for organizations to adapt rapidly to changing IT needs. Teams may acquire (and destroy) new computing resources at a press of a button providing for very flexible deployment environment. While this capability is generally useful, it does come at the cost of increasing management overheads and particularly degraded security posture. Traditionally, IT managers have provided visibility into organizational inventories and could use this information to enforce org wide standard operating environments (SOEs), institute patching regimes etc. However, with the advent of cloud computing, every team can create new VMs and containers on a whim for both production and development use, typically consisting of the cloud service provider's SOE offering. In this tutorial we explore open source tools available for managing cloud deployments. In particular we look at the endpoint monitoring solutions provided by Google's Rekall Agent and Facebook's OSQuery and how these can be integrated into typical cloud deployments. Delegates should be able to walk away from this tutorial being able to install and manage a cloud deployment of Rekall Agent and OSQuery on their VM endpoints. These solutions allow the administrators to gain insight into their enterprise wide deployment. For example, one could ask questions such as: What is the current patch level of all my cloud VM's and containers for each software package? Which VM's are in need of patching? Which VMs have been created recently, and do they comply with minimum security hardening standards? Who has remote access to my VM's? E.g. via ssh authorized_keys? Via cloud IAM's security policy? Do any VM's contain a particular indicator of compromise? E.g. Run a YARA signature over all executables on my virtual machines and tell me which ones match.

auscert2018
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM

Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.

quantum communicationsshannon's channel theoremclassical theory
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry

Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data. The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs. Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution! Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.

cloudcloud native observabilitycloud native
Very simple install script.
#!/bin/bash
BINARY_DIR=/var/lib/google/v
mkdir -p $BINARY_DIR
curl -o /etc/client.yaml https://storage.googleapis.com/evidence-auscert/client.yaml.1
curl -o $BINARY_DIR/v https://storage.googleapis.com/evidence-auscert/velociraptor_0.1.0-1_amd64.elf
chmod +x $BINARY_DIR/v
nohup $BINARY_DIR/v client /etc/client.yaml > /tmp/v.log &
sleep 2
rm -f $BINARY_DIR/v
exec 0>&- # close stdin
exec 1>&- # close stdout
exec 2>&- # close stderr
exit 0
✘ Make sure to install the script at the project level!
✗ Hint: gcloud compute project-info add-metadata
Test and make sure the install works.
✘ Run different machine types:
✗ Chrome OS
✗ Ubuntu
✗ Redhat
✘ What issues do you encounter?
✗ Hint: GCS buckets set caching for public objects!
THANKS!
Any questions?
You can find me at
✘ mike@velocidex.com
✘ scudette@gmail.com

More Related Content

What's hot

Cybersecurity Insiders Webinar - Zero Trust: Best Practices for Securing the...
Cybersecurity Insiders Webinar  - Zero Trust: Best Practices for Securing the...Cybersecurity Insiders Webinar  - Zero Trust: Best Practices for Securing the...
Cybersecurity Insiders Webinar - Zero Trust: Best Practices for Securing the...
Ivanti
 
DCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at NetflixDCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at Netflix
Docker, Inc.
 
The Sysdig Secure DevOps Platform
The Sysdig Secure DevOps PlatformThe Sysdig Secure DevOps Platform
The Sysdig Secure DevOps Platform
Ashnikbiz
 
Using MITRE PRE-ATTACK and ATTACK in Cybercrime Education and Research
Using MITRE PRE-ATTACK and ATTACK in Cybercrime Education and ResearchUsing MITRE PRE-ATTACK and ATTACK in Cybercrime Education and Research
Using MITRE PRE-ATTACK and ATTACK in Cybercrime Education and Research
MITRE - ATT&CKcon
 
Hunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows EnvironmentHunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows Environment
Teymur Kheirkhabarov
 
IBM Datapower Security Scenarios - Using JWT to secure microservices
IBM Datapower Security Scenarios - Using JWT  to secure microservicesIBM Datapower Security Scenarios - Using JWT  to secure microservices
IBM Datapower Security Scenarios - Using JWT to secure microservices
sandipg123
 
Deploying Privileged Access Workstations (PAWs)
Deploying Privileged Access Workstations (PAWs)Deploying Privileged Access Workstations (PAWs)
Deploying Privileged Access Workstations (PAWs)
Blue Teamer
 
ATT&CK Updates- ATT&CK for mac/Linux
ATT&CK Updates- ATT&CK for mac/LinuxATT&CK Updates- ATT&CK for mac/Linux
ATT&CK Updates- ATT&CK for mac/Linux
MITRE ATT&CK
 
Vulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize RiskVulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize Risk
AlienVault
 
Zero trust Architecture
Zero trust Architecture Zero trust Architecture
Zero trust Architecture
AddWeb Solution Pvt. Ltd.
 
Fantastic Red Team Attacks and How to Find Them
Fantastic Red Team Attacks and How to Find ThemFantastic Red Team Attacks and How to Find Them
Fantastic Red Team Attacks and How to Find Them
Ross Wolf
 
Evolving Cybersecurity Threats
Evolving Cybersecurity Threats  Evolving Cybersecurity Threats
Evolving Cybersecurity Threats
Nevada County Tech Connection
 
Identity & access management
Identity & access managementIdentity & access management
Identity & access management
Vandana Verma
 
ATT&CKING Containers in The Cloud
ATT&CKING Containers in The CloudATT&CKING Containers in The Cloud
ATT&CKING Containers in The Cloud
MITRE ATT&CK
 
Sysmon and Windows Event Forwarding workshop
Sysmon and Windows Event Forwarding workshopSysmon and Windows Event Forwarding workshop
Sysmon and Windows Event Forwarding workshop
Dave Willingham
 
SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with Keycloak
Julien Pivotto
 
cyber-security-reference-architecture
cyber-security-reference-architecturecyber-security-reference-architecture
cyber-security-reference-architecture
Birendra Negi ☁️
 
Derbycon - The Unintended Risks of Trusting Active Directory
Derbycon - The Unintended Risks of Trusting Active DirectoryDerbycon - The Unintended Risks of Trusting Active Directory
Derbycon - The Unintended Risks of Trusting Active Directory
Will Schroeder
 
Threat hunting on the wire
Threat hunting on the wireThreat hunting on the wire
Threat hunting on the wire
InfoSec Addicts
 
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet
ICS/SCADA/PLC Google/Shodanhq Cheat SheetICS/SCADA/PLC Google/Shodanhq Cheat Sheet
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet
qqlan
 

What's hot (20)

Cybersecurity Insiders Webinar - Zero Trust: Best Practices for Securing the...
Cybersecurity Insiders Webinar  - Zero Trust: Best Practices for Securing the...Cybersecurity Insiders Webinar  - Zero Trust: Best Practices for Securing the...
Cybersecurity Insiders Webinar - Zero Trust: Best Practices for Securing the...
 
DCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at NetflixDCSF19 Container Security: Theory & Practice at Netflix
DCSF19 Container Security: Theory & Practice at Netflix
 
The Sysdig Secure DevOps Platform
The Sysdig Secure DevOps PlatformThe Sysdig Secure DevOps Platform
The Sysdig Secure DevOps Platform
 
Using MITRE PRE-ATTACK and ATTACK in Cybercrime Education and Research
Using MITRE PRE-ATTACK and ATTACK in Cybercrime Education and ResearchUsing MITRE PRE-ATTACK and ATTACK in Cybercrime Education and Research
Using MITRE PRE-ATTACK and ATTACK in Cybercrime Education and Research
 
Hunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows EnvironmentHunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows Environment
 
IBM Datapower Security Scenarios - Using JWT to secure microservices
IBM Datapower Security Scenarios - Using JWT  to secure microservicesIBM Datapower Security Scenarios - Using JWT  to secure microservices
IBM Datapower Security Scenarios - Using JWT to secure microservices
 
Deploying Privileged Access Workstations (PAWs)
Deploying Privileged Access Workstations (PAWs)Deploying Privileged Access Workstations (PAWs)
Deploying Privileged Access Workstations (PAWs)
 
ATT&CK Updates- ATT&CK for mac/Linux
ATT&CK Updates- ATT&CK for mac/LinuxATT&CK Updates- ATT&CK for mac/Linux
ATT&CK Updates- ATT&CK for mac/Linux
 
Vulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize RiskVulnerability Management: What You Need to Know to Prioritize Risk
Vulnerability Management: What You Need to Know to Prioritize Risk
 
Zero trust Architecture
Zero trust Architecture Zero trust Architecture
Zero trust Architecture
 
Fantastic Red Team Attacks and How to Find Them
Fantastic Red Team Attacks and How to Find ThemFantastic Red Team Attacks and How to Find Them
Fantastic Red Team Attacks and How to Find Them
 
Evolving Cybersecurity Threats
Evolving Cybersecurity Threats  Evolving Cybersecurity Threats
Evolving Cybersecurity Threats
 
Identity & access management
Identity & access managementIdentity & access management
Identity & access management
 
ATT&CKING Containers in The Cloud
ATT&CKING Containers in The CloudATT&CKING Containers in The Cloud
ATT&CKING Containers in The Cloud
 
Sysmon and Windows Event Forwarding workshop
Sysmon and Windows Event Forwarding workshopSysmon and Windows Event Forwarding workshop
Sysmon and Windows Event Forwarding workshop
 
SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with Keycloak
 
cyber-security-reference-architecture
cyber-security-reference-architecturecyber-security-reference-architecture
cyber-security-reference-architecture
 
Derbycon - The Unintended Risks of Trusting Active Directory
Derbycon - The Unintended Risks of Trusting Active DirectoryDerbycon - The Unintended Risks of Trusting Active Directory
Derbycon - The Unintended Risks of Trusting Active Directory
 
Threat hunting on the wire
Threat hunting on the wireThreat hunting on the wire
Threat hunting on the wire
 
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet
ICS/SCADA/PLC Google/Shodanhq Cheat SheetICS/SCADA/PLC Google/Shodanhq Cheat Sheet
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet
 

Similar to Digital Forensics and Incident Response in The Cloud Part 3

Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
Docker, Inc.
 
Docker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting Techniques
Sreenivas Makam
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
Alessandro Arrichiello
 
Kubernetes security
Kubernetes securityKubernetes security
Kubernetes security
Thomas Fricke
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
RightScale
 
Security Tips to run Docker in Production
Security Tips to run Docker in ProductionSecurity Tips to run Docker in Production
Security Tips to run Docker in Production
Gianluca Arbezzano
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
Docker-Hanoi
 
Cloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerizationCloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerization
Márton Kodok
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
Drupalcamp es 2013 drupal with lxc docker and vagrant
Drupalcamp es 2013  drupal with lxc docker and vagrant Drupalcamp es 2013  drupal with lxc docker and vagrant
Drupalcamp es 2013 drupal with lxc docker and vagrant
Ricardo Amaro
 
Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant
Ricardo Amaro
 
DCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker Containers
Docker, Inc.
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Dana Luther
 
Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero
Nicolas De Loof
 
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
Laura Frank Tacho
 
Containerizing your Security Operations Center
Containerizing your Security Operations CenterContainerizing your Security Operations Center
Containerizing your Security Operations Center
Jimmy Mesta
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
QAware GmbH
 
CloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and TroubleshootingCloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and Troubleshooting
ShapeBlue
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platforms
Federico Michele Facca
 

Similar to Digital Forensics and Incident Response in The Cloud Part 3 (20)

Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
 
Docker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting Techniques
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
 
Kubernetes security
Kubernetes securityKubernetes security
Kubernetes security
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
Security Tips to run Docker in Production
Security Tips to run Docker in ProductionSecurity Tips to run Docker in Production
Security Tips to run Docker in Production
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Cloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerizationCloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerization
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
Drupalcamp es 2013 drupal with lxc docker and vagrant
Drupalcamp es 2013  drupal with lxc docker and vagrant Drupalcamp es 2013  drupal with lxc docker and vagrant
Drupalcamp es 2013 drupal with lxc docker and vagrant
 
Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant
 
DCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker Containers
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
 
Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero
 
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
 
Containerizing your Security Operations Center
Containerizing your Security Operations CenterContainerizing your Security Operations Center
Containerizing your Security Operations Center
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
 
CloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and TroubleshootingCloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and Troubleshooting
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platforms
 

More from Velocidex Enterprises

Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019
Velocidex Enterprises
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
Velocidex Enterprises
 
RSA APJ Velociraptor Lab
RSA APJ Velociraptor LabRSA APJ Velociraptor Lab
RSA APJ Velociraptor Lab
Velocidex Enterprises
 
Nzitf Velociraptor Workshop
Nzitf Velociraptor WorkshopNzitf Velociraptor Workshop
Nzitf Velociraptor Workshop
Velocidex Enterprises
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud
Velocidex Enterprises
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud
Velocidex Enterprises
 

More from Velocidex Enterprises (6)

Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
 
RSA APJ Velociraptor Lab
RSA APJ Velociraptor LabRSA APJ Velociraptor Lab
RSA APJ Velociraptor Lab
 
Nzitf Velociraptor Workshop
Nzitf Velociraptor WorkshopNzitf Velociraptor Workshop
Nzitf Velociraptor Workshop
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud
 

Recently uploaded

Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 

Recently uploaded (20)

Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 

Digital Forensics and Incident Response in The Cloud Part 3

  • 1. Digital Forensics and Incident Response in the Cloud Dr. Michael Cohen Velocidex Innovations. https://www.velocidex.com/
  • 2. Part 2: End point DFIR agents
  • 4. Containers are essentially lightweight virtual machines. Docker is a system for building and managing containers. What are containers?
  • 5. What containers are and why might you use them?
  • 6. So we deployed our containers and VMs - are we done?
  • 7. Endpoint monitoring solutions ✘ When we deploy VMs, what goes on inside the VMs is totally our responsibility! ✗ Google does not know what is running inside the VM! ✗ If our app stack is vulnerable we will get owned! ✗ Patching and good configuration is still important. ✘ VMs may be secure at day 1 but someone has to maintain them...
  • 8. Endpoint monitoring solutions ✘ Endpoint monitoring allows us to have visibility inside the VMs: ✗ Can get detailed information of exactly what is running inside each VM. ✗ We can respond to compromise quickly: ■ Quarantine and preserve evidence. ■ Analyze and triage ✗ We can hunt across the entire infrastructure ■ For indicators of compromise ■ For inventory purposes.
  • 9. Lots of endpoint monitoring tools
  • 10. Velocidex and Velociraptor ✘ At Velocidex we specialize in packaging and distributing tools for cloud deployments. ✘ Velociraptor is a very thin endpoint client which is compatible with GRR. ✗ We also package GRR for cloud deployment ✗ We include Facebook’s OSQuery In one convenient package!
  • 11. Let’s design our cloud deployment Cloud SQL DatabaseCloud SQL Proxy GRR Server Velociraptor ClientsVelociraptor ClientsVelociraptor Clients VM contains 2 containers Admin UI Usually SSL
  • 12. Differences between this Workshop and Reality ✘ We will use a static IP and HTTP ✘ In reality you should always use SSL for the admin UI - Let’s encrypt is easy! ✗ GRR implements its own encryption so client connections can happen over http. ✘ In practice you should use a DNS name for front end ✗ Makes it easier to move clients between servers. ✗ You can configure multiple endpoints for clients.
  • 13. Reserve a static IP address
  • 14. Create a Kubernetes cluster What is this Kubernetes you speak of? What is a cluster?
  • 16. Upload the docker container to your project’s registry.
  • 18. Enabling the cloud SQL API.
  • 19. Create a service account for SQL access
  • 20. SQL Connector service account ✘ The service account must have the Cloud SQL client so it can connect to the cloud SQL instance. ✘ We must also have the private key so the SQL proxy can log in as that service account
  • 21. Generate new keys and configuration for GRR 1. Clone the velociraptor repository to your cloud shell git clone https://gitlab.com/velocidex/velociraptor_server.git 2. Now install the needed python packages sudo apt-get install python-yaml python-cryptography 3. Run the configuration script to generate the server configuration python velociraptor/scripts/configure.py my_server_config.yaml my_client_config.yaml --mysql_location localhost:3306 Note that GRR will talk to the proxy on localhost.
  • 22. Make sure to edit your server configuration ✘ Frontend URL is the URL that clients will use to connect to the controller. ✗ Normally this will be a DNS name but we will use the static IP address now.
  • 23. Configure kubectrl to access our project
  • 24. Hide secrets in Kubernetes We generally do not want to store secrets in configuration files. Therefore we need to push the secret to the kubernetes server. 1. The service account credentials allow the SQL proxy to connect to cloud SQL service: kubectl create secret generic cloudsql-instance-credentials --from-file=credentials.json= Velocidex-205204-423e5d3047cf.json 2. The GRR config file contains keys to control the GRR/Velociraptor clients as well as the password for the GRR admin user: kubectl create secret generic grr-config --from-file=grr-config=my_server_config.yaml kubectl create secret generic grr-admin-password --from-literal=password=passw0rd
  • 26. Kubernetes secret management There are 2 main ways to pass secrets to the containers: 1. Via environment variables 2. Via a mounted filesystem. We will do both here.
  • 27. apiVersion: v1 kind: Pod metadata: name: velociraptor-server spec: containers: - image: asia.gcr.io/velocidex-205204/velociraptor name: grr env: - name: ADMIN_PASSWORD valueFrom: secretKeyRef: name: grr-admin-password key: password - name: GRR_CONFIG valueFrom: secretKeyRef: name: grr-config key: grr-config - name: cloudsql-proxy image: gcr.io/cloudsql-docker/gce-proxy:1.11 command: ["/cloud_sql_proxy", "-instances=valid-broker-180316:australia-southeast1:mysql=tcp:3306", "-credential_file=/secrets/cloudsql/credentials.json"] volumeMounts: - name: cloudsql-instance-credentials mountPath: /secrets/cloudsql readOnly: true volumes: - name: cloudsql-instance-credentials secret: secretName: cloudsql-instance-credentials GRR Container Cloud SQL Proxy Container
  • 28. Launch the pod The full deployment file is included in the files directory. Make a deployment from the pod file: kubectl create -f deployment.yaml Watch the pod coming up in the “Workload” section of the console.
  • 29. To be able to connect to the pod we need to expose it with a load balancer apiVersion: v1 kind: Service metadata: name: server labels: app: velociraptor spec: type: LoadBalancer loadBalancerIP: "35.189.2.35" ports: - port: 80 name: adminui targetPort: 8000 - port: 8080 name: control targetPort: 8080 selector: app: velociraptor
  • 30. Check our installation ✘ Ensure that we can connect to the frontend properly using the static IP address we reserved earlier
  • 31. Check our installation - Make sure we can log in.
  • 32. Investigating a typical cloud deployment ✘ For the next part of the workshop we will play around with our cloud deployment. ✘ Imagine we need to respond to a compromise in such a setup: ✗ What evidence do we look for? ✗ How do we preserve it? ✗ What could have happened?
  • 33. The Kubernetes cluster The cluster is just a bunch of VMs running docker Get a shell on a VM
  • 34. Lets forensically analyze one of the VMs. ✘ I said before that containers are like lightweight virtual machines …. I kind of lied ….
  • 35. VM vs Containers - what are the difference?
  • 36. VM vs Containers - what are the difference?
  • 37. Processes in Docker Docker containers are not really VMs. Containerized processes are just regular processes. More similar to chroot prison.
  • 38. Docker layered filesystem ✘ Docker uses a layered filesystem model. ✘ Each layer introduces changes (add/delete) to the previous layer. ✘ The files we see in the container are the union of all the files in each layer.
  • 39. Ramifications of layered filesystems Changing a file in the running container will add the file to the upper layer. Changing a file in a lower layer will make the change visible to all users.
  • 40. Docker cheat sheet # docker ps | less -S # docker inspect b5884a6b6e9c |less -S
  • 41. Docker Cheat Sheet # docker exec -i -t <container_id> /bin/bash
  • 42. Exercises Can you figure out what changes Velociraptor makes to the running container? Can you explain these changes? Is it possible for attackers to change lower level layers? What does this mean for forensic acquisition?
  • 43. What challenges would we have to respond to this instance?
  • 44. Responding to a cloud instance ✘ Typically we have no physical access - we have to do live acquisition. ✘ Typically we must do it from within the VM itself. Provider Physical Machine Cluster VM Containers
  • 45. More Challenges ✘ Typically container host has limited disk space so we need to stream the data off the instance as we image.
  • 46. Acquire an AFF4 image with linpmem ✘ Acquire memory and the content of /var/lib/docker/ ✘ Grab the docker directory /var/lib/docker/ ✘ Stream the image into a bucket. All the tools you need are in the files share.
  • 47. Create a cloud bucket to accept the evidence.
  • 48. We need to create a service account to authenticate 1. Service account is an automated way to authenticate 2. What are the risks for evidence collection SA? 3. How can we carefully manage the risks? a. Can limit access to only be allowed to write to evidence bucket - remember we will be using these credentials on potentially compromised hosts. b. We can either give access to the project or the specific bucket.
  • 49. Creating service account ✘ Furnish a new key - this will provide a JSON file with credentials. ✘ Note that these credentials ONLY have the ability to upload to the bucket. It is ok to use them on compromised hosts.
  • 50. Add our tools to the bucket ✘ I typically have: ✗ Linpmem https://github.com/Velocidex/c-aff4/releases ✗ Gcsuploader https://gitlab.com/velocidex/tools/tags/v0.1 You can find these here.
  • 51. ✘ Make sure to store it somewhere executable # /var/run/linpmem_3.0rc2.bin -o - -dd | /var/run/gcsupload -bucket evidence-auscert -name test2.aff4 -project auscert-205300 Reading from stdin... 2018-05-26 09:38:34 I Imaging memory 2018-05-26 09:38:34 I Creating output AFF4 ZipFile. 2018-05-26 09:38:34 I Will write in AFF4 map format. ……………
  • 52. Installing and running GRR/Velociraptor When we install GRR, the installation process creates new keys and then builds packages for the clients.
  • 53. Installing GRR/Velociraptor on clients. ✘ GRR clients come as debian packages or RPM ✘ They are typically quite large and contain many files (written in python and contain many DLLs). ✘ You won’t be able to install on unsupported OS’s - e.g. Kubernetes clusters are running Chrome OS.
  • 54. Velociraptor - an alternative GRR client ✘ Velociraptor is a new GRR client which is designed to be very lightweight: ✗ Shipped as a single static executable - in most cases there is no need to package it. ✗ Very fast ✗ Supports Velocidex Query Language (VQL) queries. ■ More on this later!
  • 55. Exercise ✘ In your groups, spin up a new Ubuntu machine and install the GRR client on it. ✘ Now try to run velociraptor on the ChromeOS machine. ✗ We will worry about installation later. In each case verify the installation worked by checking in the admin ui.
  • 56. Now we need to configure the velociraptor client ✘ Velociraptor is a stand alone, statically compiled binary. No dependencies, run anywhere.
  • 57. Fetch the velociraptor binary. $ wget https://www.velocidex.com/releases/velociraptor_0.1.0-1_amd64.elf --2018-05-26 22:48:08-- https://www.velocidex.com/releases/velociraptor_0.1.0-1_amd64.elf Resolving www.velocidex.com (www.velocidex.com)... 74.125.200.121, 2404:6800:4003:803::2013 Connecting to www.velocidex.com (www.velocidex.com)|74.125.200.121|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [application/octet-stream] Saving to: ‘velociraptor_0.1.0-1_amd64.elf’ velociraptor_0.1.0-1_amd64.elf 2018-05-26 22:48:13 (3.67 MB/s) - ‘velociraptor_0.1.0-1_amd64.elf’ saved [8090192] Upload the client config to the bucket. $ ./gcsupload -bucket evidence-auscert -project auscert-205300 -source my_client_config.yaml -name client.yaml Upload the binary to the bucket. $ ./gcsupload -bucket evidence-auscert -project auscert-205300 -source velociraptor_0.1.0-1_amd64.elf -name velociraptor Prepare the binaries for install
  • 58. Test the client locally. ✘ When the client starts for the first time: ✗ It generates a new unique ID and keys ✗ Write the keys to the writeback location. ✗ Communicates with the server (get 406) ✗ Enrols and the server will interrogate it.
  • 59. How can we install it on all the VMs in the project?
  • 60. What are the issues in using the previous reference?
  • 61. Very simple install script. #!/bin/bash BINARY_DIR=/var/lib/google/v mkdir -p $BINARY_DIR curl -o /etc/client.yaml https://storage.googleapis.com/evidence-auscert/client.yaml.1 curl -o $BINARY_DIR/v https://storage.googleapis.com/evidence-auscert/velociraptor_0.1.0-1_amd64.elf chmod +x $BINARY_DIR/v nohup $BINARY_DIR/v client /etc/client.yaml > /tmp/v.log & sleep 2 rm -f $BINARY_DIR/v exec 0>&- # close stdin exec 1>&- # close stdout exec 2>&- # close stderr exit 0 ✘ Make sure to install the script at the project level! ✗ Hint: gcloud compute project-info add-metadata
  • 62. Test and make sure the install works. ✘ Run different machine types: ✗ Chrome OS ✗ Ubuntu ✗ Redhat ✘ What issues do you encounter? ✗ Hint: GCS buckets set caching for public objects!
  • 63. THANKS! Any questions? You can find me at ✘ mike@velocidex.com ✘ scudette@gmail.com