SlideShare a Scribd company logo
1 of 52
Download to read offline
© Black Hills Information Security | @BHInfoSecurity
Tactics for Cracking
the GSuite Perimeter
Mike Felch
RED TEAM
© Black Hills Information Security | @BHInfoSecurity
Who Am I
•Mike Felch - @ustayready
•Pentest / Red team at BHIS
•OWASP Orlando Chief Breaker
•Host of Tradecraft Security Weekly
•Host of CoinSec Podcast
•EVSec Organizer
.. always been pretty curious
© Black Hills Information Security | @BHInfoSecurity
What We’re Covering
1. Preparation: OPSEC or Die Trying
2. External: Crack the Perimeter
3. SE: Exploiting Trust
4. Persistence: Hide in Plain Sight
5. Internal: Collateral Damage
6. Demo: Real-world Attack
7. Defending: Triage the Breach
8. Questions / Comments
© Black Hills Information Security | @BHInfoSecurity
Disclaimer: I <3 Google
We b up :( It’s o p te ...
Relationship Status
© Black Hills Information Security | @BHInfoSecurity
Preparation:
OPSEC or Die Trying
© Black Hills Information Security | @BHInfoSecurity
Preparation: Bad! :(
• Use your normal account for API keys
• Login to multiple accounts w/ the same IP
• Use the same browser w/ multiple sessions
How To Lose a Fight With Google SOC
© Black Hills Information Security | @BHInfoSecurity
Preparation: Good! :)
+ +
© Black Hills Information Security | @BHInfoSecurity
Preparation
• Prepaid Smartphone ✔
• Prepaid Credit Card ✔
• VPN Account ✔
• Clean Virtual Machine ✔
• New Google Identity ✔
• New Google API Keys ✔
• Don’t Cross-contaminate ✔
•
© Black Hills Information Security | @BHInfoSecurity
External:
Crack the Perimeter
© Black Hills Information Security | @BHInfoSecurity
Don’t move so quick!
• Don’t always need to go straight to shell
• Phishing w/ malicious docs are old
• Why go External -> Internal -> External???
• Decide on an attack path
• Strategically target victims
Creds are King!
© Black Hills Information Security | @BHInfoSecurity
Password Spraying
• Determine naming convention
• Search LinkedIn for users
• Generate email lists
• Try one password at a time
• Spray all the accounts
• Rotate IP addresses regularly
• Just need one account to start
© Black Hills Information Security | @BHInfoSecurity
Quick CredKing Intro
• Build on Amazon AWS Lambda!
• Unique IP per region
• Generates user/password pairs
• Multi-threading processing
• Supports all Amazon AWS Regions
• Quickly create new plugins
*disclaimer* Avoid using more then 15 threads with GSuite
© Black Hills Information Security | @BHInfoSecurity
SE:
Exploiting Trust
© Black Hills Information Security | @BHInfoSecurity
Google Group Ruse
• Create malicious group
• Change your display name
• Force add users
• Customize a message
• Don’t forget URLs...
© Black Hills Information Security | @BHInfoSecurity
Google Group Ruse
© Black Hills Information Security | @BHInfoSecurity
Google Hangout Ruse
• Remember this?
• Old invitation to chat in Gmail
• Apparently asking was too
much
© Black Hills Information Security | @BHInfoSecurity
Google Hangout Ruse
• Now default Google Hangouts settings
allow direct chat without warning
• Simply knowing the email address is all
that’s needed
• Pop a message box open to the target
spoofing another person
• Say hi, send link, capture creds and/or
shell
© Black Hills Information Security | @BHInfoSecurity
Google Hangout Ruse
• You can modify your default settings to
enforce sending an invitation
• But even then, spoofed accounts look good
• To require invites:
1) Browse hangouts.google.com
2) Click hamburger menu in top left
3) Settings -> Customize Invite Settings
4) Switch all to “Can send you an invitation”
• No global option for all accounts in org :(
© Black Hills Information Security | @BHInfoSecurity
Enumerate Open Accounts
• Accounts not requiring invites can be
enumerated easily
• Start new chat w/ via the Gmail chat menu
• If box says “Start a conversation with
<name>” then an invite is required
© Black Hills Information Security | @BHInfoSecurity
Google Doc Ruse
• What if you could get Google to send a phishing link for you?
• Google Docs is perfect for this
• Create a Google Doc with clickbait name like “Critical Update Pending”
• Add content, then add a comment to the doc with your phishing link
• In the comment, type their email address prefixed with a + symbol
(i.e. +hacker@gmail.com) then check ‘Assign’
• Google will send the target an email from
<random-string>@docs.google.com
© Black Hills Information Security | @BHInfoSecurity
Google Doc Ruse
© Black Hills Information Security | @BHInfoSecurity
Google Doc Ruse
© Black Hills Information Security | @BHInfoSecurity
Google Calendar Ruse
• Needs to look legit
• Needs to trigger a response
• Needs to create urgency
• Needs to go undetected
• Needs to avoid red flags
Don’t email, inject event!
© Black Hills Information Security | @BHInfoSecurity
Calendar Event Injection
• Silently inject events into calendars
• Creates urgency via reminders
• Include link to phishing page
• Mass-exploitation w/o visibility
• Litter calendars for the future
• Remove traces by erasing the event
• Include GoToMeeting
• Don’t forget to record the meeting! :)
© Black Hills Information Security | @BHInfoSecurity
Calendar Event Injection
• Fun w/ the Google API
• Mark victims as ‘Accepted’
• Add comments for victims
• but.. they never receive an invite
• Bypasses setting for not auto-add
• Reported 10/9/2017
Google Isn’t Patching!
© Black Hills Information Security | @BHInfoSecurity
Personalized Phishing
© Black Hills Information Security | @BHInfoSecurity
Google 2FA Requirements
• SMS: Text Message
• TOTP: Google Authenticator
• Phone Prompt: Touch Phone
• U2F: Hardware Device
Username + Password + ...
Challenge Accepted!
© Black Hills Information Security | @BHInfoSecurity
Additional Points
• Might get asked for last location
• GeoIP it from IP during capture
• Immediately clear red alert bar
• Clear for one, clear for all
• Multiple failed phone prompts
• Disables phone prompt for few hours
• Automatically switches 2FA option
• May also contain attacker location/device
• Downgrades U2F to back-up option
• Older browsers don’t support U2F :)
© Black Hills Information Security | @BHInfoSecurity
Quick CredSniper Intro
• Fetch the profile image
• Google Picasa API
• JavaScript XMLHttpRequest()
• Ask nicely for the password
• Behind the scenes, authenticate
• Is 2FA present?
• No? Redirect them to GDoc agenda
• Doh! 2FA is enabled
• Which type? Extract information
• Ask for 2FA Token nicely
• Login w/ Username + Password + Token
© Black Hills Information Security | @BHInfoSecurity
CredSniper for teh win
Real
Or
Fake?
© Black Hills Information Security | @BHInfoSecurity
CredSniper for teh win
Real
Or
Fake?
FakeReal
© Black Hills Information Security | @BHInfoSecurity
Persistence:
Hide in Plain Sight
© Black Hills Information Security | @BHInfoSecurity
Generate App Password
• Backdoor password for account
• Under ‘My Account’
• Click ‘Sign-in & Security’
• Select ‘App-Passwords’
• Combine w/ 2FA backdoor
• Login as normal after triage!
© Black Hills Information Security | @BHInfoSecurity
Backup Codes
• Download alternative 2FA tokens
• Rarely get re-generated after breach
• Most don’t know they even exist
• Great combined w/ app passwords!
© Black Hills Information Security | @BHInfoSecurity
Enroll New 2FA Device
• Tie 2FA to your own device
• Generate legit 2FA tokens
• Commonly gets inspected after breach
• Nice when undetected though...
© Black Hills Information Security | @BHInfoSecurity
Authorized API Backdoor
• Sign-up a new project on cloud.google.com
• Enable API access
• When creating API client, add full scopes
• Sign-in to victim account and authorize backdoor app!
SCOPES = '
https://www.googleapis.com/auth/calendar
https://mail.google.com/
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/groups
https://www.googleapis.com/auth/admin.directory.user
'
© Black Hills Information Security | @BHInfoSecurity
Backdoor Android App
• Don’t Publish app in Play Store
• Login to victim account
• Browse to app in Play Store
• Install to victims mobile device
• Pop a shell!
• Pilfer, persist and pivot..
© Black Hills Information Security | @BHInfoSecurity
Re-configure Account
• Add email rules to delete alerts
• no-reply@accounts.google.com
• Add recovery email/phone
• Create email forwarder
• Monitor for global SOC emails :)
• Add calendar events for others
• Delegate account to another victim
• Locked out? Recover account!
© Black Hills Information Security | @BHInfoSecurity
Internal:
Collateral Damage
© Black Hills Information Security | @BHInfoSecurity
Target Company Directory
• Create contacts group from directory
• Export all the contacts
• Tailor your target list..
• More technical, more access!
• Create a LinkedIn doppelganger
• Side note.. file transfers
don’t have [EXTERNAL] tags like email
© Black Hills Information Security | @BHInfoSecurity
Search Gdrive/Gmail
• Search for files with ‘password’
• Download a zip of them all!
• Any VPN documentation?
• What 3rd party sites do they use?
• Files with ‘confidential’ in the title
• Credit card keywords...
• AWS access_key/secret_access_key
• MailSniper supported!
© Black Hills Information Security | @BHInfoSecurity
Find Google Groups
• Go to groups.google.com
• Groups might not be listed
• You can still can search!
• Look for keywords:
• access_key
• password
• root
• ...etc
• Tech staff LOVE groups for cron
© Black Hills Information Security | @BHInfoSecurity
Eat the whole elephant
• https://takeout.google.com
• Export all Google data from an
account
• Includes:
• All G-Drive files, full search history,
Hangouts message data, all emails,
all calendar events, Voice history,
etc…
© Black Hills Information Security | @BHInfoSecurity
Pop Google Admin
• Manage All Users
• Manage All Domains
• Manage All Files
• Manage All SSO/Auth
• Manage All Devices
Game Over!
© Black Hills Information Security | @BHInfoSecurity
Defending:
Triage the Breach
© Black Hills Information Security | @BHInfoSecurity
Reset Accounts
• Log out of all sessions
• Change user password
• Generate new backup codes
• Capture IoC for threat hunting
• … anything else? Glad you asked!
© Black Hills Information Security | @BHInfoSecurity
Look for Backdoors
• Remove app passwords
• Remove 2FA devices
• Remove authorized apps
• Remove email forwarders
• Remove email filters
• Remove bad recovery email/phone
• Remove bad Android apps
• Remove bad account delegations
© Black Hills Information Security | @BHInfoSecurity
Find Victims & Monitor
• Get familiar with Google Admin console
• https://github.com/jay0lee/GAM
• Search by IP address
• Don’t just change passwords
• Remove backdoors
• Look for rogue email forwards
• Generate a timeline
• Communicate better!
© Black Hills Information Security | @BHInfoSecurity
Finishing Up:
Questions for You
© Black Hills Information Security | @BHInfoSecurity
Question to GSuite Users
Does your BYOD policy give you the ability to test/audit security for
corporate email and files on personal devices? What about corporate
phones? Should it?
Are employees just trained on phishing/SE ‘red flags’ or are they taught
good user-behavior patterns?
How strong is your password policy or are you just trusting in Google?
© Black Hills Information Security | @BHInfoSecurity
Question to Google
•GSuite customers need a process that allows us to submit approval
requests for pentests engagements. Testing our configurations, users,
devices and data is important to us. Help us keep our engagements
transparent to you, above board, and without getting suspended for
alleged TOS violations.
Can you implement an engagement approval process?
© Black Hills Information Security | @BHInfoSecurity
Questions?
• Twitter
• Mike - @ustayready (don’t forget Beau! @dafthack)
• BHIS - @BHInfoSecurity
• Black Hills Information Security
• http://www.blackhillsinfosec.com/
• MailSniper
• https://github.com/dafthack/MailSniper
• CredSniper
• https://github.com/ustayready/CredSniper
• CredKing
• https://github.com/ustayready/CredKing

More Related Content

What's hot

I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
DirkjanMollema
 

What's hot (20)

Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webappsMikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
 
Dangling DNS records takeover at scale
Dangling DNS records takeover at scaleDangling DNS records takeover at scale
Dangling DNS records takeover at scale
 
Keeping a Secret with HashiCorp Vault
Keeping a Secret with HashiCorp VaultKeeping a Secret with HashiCorp Vault
Keeping a Secret with HashiCorp Vault
 
Here Be Dragons: The Unexplored Land of Active Directory ACLs
Here Be Dragons: The Unexplored Land of Active Directory ACLsHere Be Dragons: The Unexplored Land of Active Directory ACLs
Here Be Dragons: The Unexplored Land of Active Directory ACLs
 
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp VaultChickens & Eggs: Managing secrets in AWS with Hashicorp Vault
Chickens & Eggs: Managing secrets in AWS with Hashicorp Vault
 
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
 
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
 
Frans Rosén Keynote at BSides Ahmedabad
Frans Rosén Keynote at BSides AhmedabadFrans Rosén Keynote at BSides Ahmedabad
Frans Rosén Keynote at BSides Ahmedabad
 
Hashicorp Vault: Open Source Secrets Management at #OPEN18
Hashicorp Vault: Open Source Secrets Management at #OPEN18Hashicorp Vault: Open Source Secrets Management at #OPEN18
Hashicorp Vault: Open Source Secrets Management at #OPEN18
 
Neil Saunders (Beamly) - Securing your AWS Infrastructure with Hashicorp Vault
Neil Saunders (Beamly) - Securing your AWS Infrastructure with Hashicorp Vault Neil Saunders (Beamly) - Securing your AWS Infrastructure with Hashicorp Vault
Neil Saunders (Beamly) - Securing your AWS Infrastructure with Hashicorp Vault
 
Introducing Vault
Introducing VaultIntroducing Vault
Introducing Vault
 
Neat tricks to bypass CSRF-protection
Neat tricks to bypass CSRF-protectionNeat tricks to bypass CSRF-protection
Neat tricks to bypass CSRF-protection
 
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
 
OWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
OWASP AppSecEU 2018 – Attacking "Modern" Web TechnologiesOWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
OWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
 
Mobile Application Penetration Testing
Mobile Application Penetration TestingMobile Application Penetration Testing
Mobile Application Penetration Testing
 
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
 
Using Vault to decouple MySQL Secrets
Using Vault to decouple MySQL SecretsUsing Vault to decouple MySQL Secrets
Using Vault to decouple MySQL Secrets
 
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
 
Pentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - AbdullahPentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - Abdullah
 
Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...
Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...
Security DevOps - Staying secure in agile projects // OWASP AppSecEU 2015 - A...
 

Similar to Red Team Tactics for Cracking the GSuite Perimeter

Man vs Internet - Current challenges and future tendencies of establishing tr...
Man vs Internet - Current challenges and future tendencies of establishing tr...Man vs Internet - Current challenges and future tendencies of establishing tr...
Man vs Internet - Current challenges and future tendencies of establishing tr...
Luis Grangeia
 
Security and Privacy Brown Bag
Security and Privacy Brown BagSecurity and Privacy Brown Bag
Security and Privacy Brown Bag
501 Commons
 

Similar to Red Team Tactics for Cracking the GSuite Perimeter (20)

Red Team Apocalypse (RVAsec Edition)
Red Team Apocalypse (RVAsec Edition)Red Team Apocalypse (RVAsec Edition)
Red Team Apocalypse (RVAsec Edition)
 
Weaponizing Corporate Intel: This Time, It's Personal!
Weaponizing Corporate Intel: This Time, It's Personal!Weaponizing Corporate Intel: This Time, It's Personal!
Weaponizing Corporate Intel: This Time, It's Personal!
 
A Google Event You Won't Forget
A Google Event You Won't ForgetA Google Event You Won't Forget
A Google Event You Won't Forget
 
Red Team Apocalypse
Red Team ApocalypseRed Team Apocalypse
Red Team Apocalypse
 
Covert Attack Mystery Box: A few novel techniques for exploiting Microsoft “f...
Covert Attack Mystery Box: A few novel techniques for exploiting Microsoft “f...Covert Attack Mystery Box: A few novel techniques for exploiting Microsoft “f...
Covert Attack Mystery Box: A few novel techniques for exploiting Microsoft “f...
 
Seven Simple Steps to Online Security
Seven Simple Steps to Online SecuritySeven Simple Steps to Online Security
Seven Simple Steps to Online Security
 
Man vs Internet - Current challenges and future tendencies of establishing tr...
Man vs Internet - Current challenges and future tendencies of establishing tr...Man vs Internet - Current challenges and future tendencies of establishing tr...
Man vs Internet - Current challenges and future tendencies of establishing tr...
 
Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013
 
Security and Privacy Brown Bag
Security and Privacy Brown BagSecurity and Privacy Brown Bag
Security and Privacy Brown Bag
 
WordPress Security 101 - WordCamp Nairobi 2019
WordPress Security 101 -  WordCamp Nairobi 2019WordPress Security 101 -  WordCamp Nairobi 2019
WordPress Security 101 - WordCamp Nairobi 2019
 
Harbin clinic iot-mobile-no-vid
Harbin clinic iot-mobile-no-vidHarbin clinic iot-mobile-no-vid
Harbin clinic iot-mobile-no-vid
 
Be Cyber Smart! (DLH 10/25/2019)
Be Cyber Smart! (DLH 10/25/2019)Be Cyber Smart! (DLH 10/25/2019)
Be Cyber Smart! (DLH 10/25/2019)
 
Google Case Sudy: Becoming Unphishable: Towards Simpler, Stronger Authenticaton
Google Case Sudy: Becoming Unphishable: Towards Simpler, Stronger AuthenticatonGoogle Case Sudy: Becoming Unphishable: Towards Simpler, Stronger Authenticaton
Google Case Sudy: Becoming Unphishable: Towards Simpler, Stronger Authenticaton
 
Android attacks
Android attacksAndroid attacks
Android attacks
 
DECEPTICONv2
DECEPTICONv2DECEPTICONv2
DECEPTICONv2
 
Webinar - Compliance with the Microsoft Cloud- 2017-04-19
Webinar - Compliance with the Microsoft Cloud- 2017-04-19Webinar - Compliance with the Microsoft Cloud- 2017-04-19
Webinar - Compliance with the Microsoft Cloud- 2017-04-19
 
Cyber security
Cyber securityCyber security
Cyber security
 
Don't Forget Your (Virtual) Keys: Creating and Using Strong Passwords
Don't Forget Your (Virtual) Keys: Creating and Using Strong PasswordsDon't Forget Your (Virtual) Keys: Creating and Using Strong Passwords
Don't Forget Your (Virtual) Keys: Creating and Using Strong Passwords
 
Online Self Defense
Online Self DefenseOnline Self Defense
Online Self Defense
 
Android secure coding
Android secure codingAndroid secure coding
Android secure coding
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+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...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
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
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+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...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
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
 

Red Team Tactics for Cracking the GSuite Perimeter

  • 1. © Black Hills Information Security | @BHInfoSecurity Tactics for Cracking the GSuite Perimeter Mike Felch RED TEAM
  • 2. © Black Hills Information Security | @BHInfoSecurity Who Am I •Mike Felch - @ustayready •Pentest / Red team at BHIS •OWASP Orlando Chief Breaker •Host of Tradecraft Security Weekly •Host of CoinSec Podcast •EVSec Organizer .. always been pretty curious
  • 3. © Black Hills Information Security | @BHInfoSecurity What We’re Covering 1. Preparation: OPSEC or Die Trying 2. External: Crack the Perimeter 3. SE: Exploiting Trust 4. Persistence: Hide in Plain Sight 5. Internal: Collateral Damage 6. Demo: Real-world Attack 7. Defending: Triage the Breach 8. Questions / Comments
  • 4. © Black Hills Information Security | @BHInfoSecurity Disclaimer: I <3 Google We b up :( It’s o p te ... Relationship Status
  • 5. © Black Hills Information Security | @BHInfoSecurity Preparation: OPSEC or Die Trying
  • 6. © Black Hills Information Security | @BHInfoSecurity Preparation: Bad! :( • Use your normal account for API keys • Login to multiple accounts w/ the same IP • Use the same browser w/ multiple sessions How To Lose a Fight With Google SOC
  • 7. © Black Hills Information Security | @BHInfoSecurity Preparation: Good! :) + +
  • 8. © Black Hills Information Security | @BHInfoSecurity Preparation • Prepaid Smartphone ✔ • Prepaid Credit Card ✔ • VPN Account ✔ • Clean Virtual Machine ✔ • New Google Identity ✔ • New Google API Keys ✔ • Don’t Cross-contaminate ✔ •
  • 9. © Black Hills Information Security | @BHInfoSecurity External: Crack the Perimeter
  • 10. © Black Hills Information Security | @BHInfoSecurity Don’t move so quick! • Don’t always need to go straight to shell • Phishing w/ malicious docs are old • Why go External -> Internal -> External??? • Decide on an attack path • Strategically target victims Creds are King!
  • 11. © Black Hills Information Security | @BHInfoSecurity Password Spraying • Determine naming convention • Search LinkedIn for users • Generate email lists • Try one password at a time • Spray all the accounts • Rotate IP addresses regularly • Just need one account to start
  • 12. © Black Hills Information Security | @BHInfoSecurity Quick CredKing Intro • Build on Amazon AWS Lambda! • Unique IP per region • Generates user/password pairs • Multi-threading processing • Supports all Amazon AWS Regions • Quickly create new plugins *disclaimer* Avoid using more then 15 threads with GSuite
  • 13. © Black Hills Information Security | @BHInfoSecurity SE: Exploiting Trust
  • 14. © Black Hills Information Security | @BHInfoSecurity Google Group Ruse • Create malicious group • Change your display name • Force add users • Customize a message • Don’t forget URLs...
  • 15. © Black Hills Information Security | @BHInfoSecurity Google Group Ruse
  • 16. © Black Hills Information Security | @BHInfoSecurity Google Hangout Ruse • Remember this? • Old invitation to chat in Gmail • Apparently asking was too much
  • 17. © Black Hills Information Security | @BHInfoSecurity Google Hangout Ruse • Now default Google Hangouts settings allow direct chat without warning • Simply knowing the email address is all that’s needed • Pop a message box open to the target spoofing another person • Say hi, send link, capture creds and/or shell
  • 18. © Black Hills Information Security | @BHInfoSecurity Google Hangout Ruse • You can modify your default settings to enforce sending an invitation • But even then, spoofed accounts look good • To require invites: 1) Browse hangouts.google.com 2) Click hamburger menu in top left 3) Settings -> Customize Invite Settings 4) Switch all to “Can send you an invitation” • No global option for all accounts in org :(
  • 19. © Black Hills Information Security | @BHInfoSecurity Enumerate Open Accounts • Accounts not requiring invites can be enumerated easily • Start new chat w/ via the Gmail chat menu • If box says “Start a conversation with <name>” then an invite is required
  • 20. © Black Hills Information Security | @BHInfoSecurity Google Doc Ruse • What if you could get Google to send a phishing link for you? • Google Docs is perfect for this • Create a Google Doc with clickbait name like “Critical Update Pending” • Add content, then add a comment to the doc with your phishing link • In the comment, type their email address prefixed with a + symbol (i.e. +hacker@gmail.com) then check ‘Assign’ • Google will send the target an email from <random-string>@docs.google.com
  • 21. © Black Hills Information Security | @BHInfoSecurity Google Doc Ruse
  • 22. © Black Hills Information Security | @BHInfoSecurity Google Doc Ruse
  • 23. © Black Hills Information Security | @BHInfoSecurity Google Calendar Ruse • Needs to look legit • Needs to trigger a response • Needs to create urgency • Needs to go undetected • Needs to avoid red flags Don’t email, inject event!
  • 24. © Black Hills Information Security | @BHInfoSecurity Calendar Event Injection • Silently inject events into calendars • Creates urgency via reminders • Include link to phishing page • Mass-exploitation w/o visibility • Litter calendars for the future • Remove traces by erasing the event • Include GoToMeeting • Don’t forget to record the meeting! :)
  • 25. © Black Hills Information Security | @BHInfoSecurity Calendar Event Injection • Fun w/ the Google API • Mark victims as ‘Accepted’ • Add comments for victims • but.. they never receive an invite • Bypasses setting for not auto-add • Reported 10/9/2017 Google Isn’t Patching!
  • 26. © Black Hills Information Security | @BHInfoSecurity Personalized Phishing
  • 27. © Black Hills Information Security | @BHInfoSecurity Google 2FA Requirements • SMS: Text Message • TOTP: Google Authenticator • Phone Prompt: Touch Phone • U2F: Hardware Device Username + Password + ... Challenge Accepted!
  • 28. © Black Hills Information Security | @BHInfoSecurity Additional Points • Might get asked for last location • GeoIP it from IP during capture • Immediately clear red alert bar • Clear for one, clear for all • Multiple failed phone prompts • Disables phone prompt for few hours • Automatically switches 2FA option • May also contain attacker location/device • Downgrades U2F to back-up option • Older browsers don’t support U2F :)
  • 29. © Black Hills Information Security | @BHInfoSecurity Quick CredSniper Intro • Fetch the profile image • Google Picasa API • JavaScript XMLHttpRequest() • Ask nicely for the password • Behind the scenes, authenticate • Is 2FA present? • No? Redirect them to GDoc agenda • Doh! 2FA is enabled • Which type? Extract information • Ask for 2FA Token nicely • Login w/ Username + Password + Token
  • 30. © Black Hills Information Security | @BHInfoSecurity CredSniper for teh win Real Or Fake?
  • 31. © Black Hills Information Security | @BHInfoSecurity CredSniper for teh win Real Or Fake? FakeReal
  • 32. © Black Hills Information Security | @BHInfoSecurity Persistence: Hide in Plain Sight
  • 33. © Black Hills Information Security | @BHInfoSecurity Generate App Password • Backdoor password for account • Under ‘My Account’ • Click ‘Sign-in & Security’ • Select ‘App-Passwords’ • Combine w/ 2FA backdoor • Login as normal after triage!
  • 34. © Black Hills Information Security | @BHInfoSecurity Backup Codes • Download alternative 2FA tokens • Rarely get re-generated after breach • Most don’t know they even exist • Great combined w/ app passwords!
  • 35. © Black Hills Information Security | @BHInfoSecurity Enroll New 2FA Device • Tie 2FA to your own device • Generate legit 2FA tokens • Commonly gets inspected after breach • Nice when undetected though...
  • 36. © Black Hills Information Security | @BHInfoSecurity Authorized API Backdoor • Sign-up a new project on cloud.google.com • Enable API access • When creating API client, add full scopes • Sign-in to victim account and authorize backdoor app! SCOPES = ' https://www.googleapis.com/auth/calendar https://mail.google.com/ https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/groups https://www.googleapis.com/auth/admin.directory.user '
  • 37. © Black Hills Information Security | @BHInfoSecurity Backdoor Android App • Don’t Publish app in Play Store • Login to victim account • Browse to app in Play Store • Install to victims mobile device • Pop a shell! • Pilfer, persist and pivot..
  • 38. © Black Hills Information Security | @BHInfoSecurity Re-configure Account • Add email rules to delete alerts • no-reply@accounts.google.com • Add recovery email/phone • Create email forwarder • Monitor for global SOC emails :) • Add calendar events for others • Delegate account to another victim • Locked out? Recover account!
  • 39. © Black Hills Information Security | @BHInfoSecurity Internal: Collateral Damage
  • 40. © Black Hills Information Security | @BHInfoSecurity Target Company Directory • Create contacts group from directory • Export all the contacts • Tailor your target list.. • More technical, more access! • Create a LinkedIn doppelganger • Side note.. file transfers don’t have [EXTERNAL] tags like email
  • 41. © Black Hills Information Security | @BHInfoSecurity Search Gdrive/Gmail • Search for files with ‘password’ • Download a zip of them all! • Any VPN documentation? • What 3rd party sites do they use? • Files with ‘confidential’ in the title • Credit card keywords... • AWS access_key/secret_access_key • MailSniper supported!
  • 42. © Black Hills Information Security | @BHInfoSecurity Find Google Groups • Go to groups.google.com • Groups might not be listed • You can still can search! • Look for keywords: • access_key • password • root • ...etc • Tech staff LOVE groups for cron
  • 43. © Black Hills Information Security | @BHInfoSecurity Eat the whole elephant • https://takeout.google.com • Export all Google data from an account • Includes: • All G-Drive files, full search history, Hangouts message data, all emails, all calendar events, Voice history, etc…
  • 44. © Black Hills Information Security | @BHInfoSecurity Pop Google Admin • Manage All Users • Manage All Domains • Manage All Files • Manage All SSO/Auth • Manage All Devices Game Over!
  • 45. © Black Hills Information Security | @BHInfoSecurity Defending: Triage the Breach
  • 46. © Black Hills Information Security | @BHInfoSecurity Reset Accounts • Log out of all sessions • Change user password • Generate new backup codes • Capture IoC for threat hunting • … anything else? Glad you asked!
  • 47. © Black Hills Information Security | @BHInfoSecurity Look for Backdoors • Remove app passwords • Remove 2FA devices • Remove authorized apps • Remove email forwarders • Remove email filters • Remove bad recovery email/phone • Remove bad Android apps • Remove bad account delegations
  • 48. © Black Hills Information Security | @BHInfoSecurity Find Victims & Monitor • Get familiar with Google Admin console • https://github.com/jay0lee/GAM • Search by IP address • Don’t just change passwords • Remove backdoors • Look for rogue email forwards • Generate a timeline • Communicate better!
  • 49. © Black Hills Information Security | @BHInfoSecurity Finishing Up: Questions for You
  • 50. © Black Hills Information Security | @BHInfoSecurity Question to GSuite Users Does your BYOD policy give you the ability to test/audit security for corporate email and files on personal devices? What about corporate phones? Should it? Are employees just trained on phishing/SE ‘red flags’ or are they taught good user-behavior patterns? How strong is your password policy or are you just trusting in Google?
  • 51. © Black Hills Information Security | @BHInfoSecurity Question to Google •GSuite customers need a process that allows us to submit approval requests for pentests engagements. Testing our configurations, users, devices and data is important to us. Help us keep our engagements transparent to you, above board, and without getting suspended for alleged TOS violations. Can you implement an engagement approval process?
  • 52. © Black Hills Information Security | @BHInfoSecurity Questions? • Twitter • Mike - @ustayready (don’t forget Beau! @dafthack) • BHIS - @BHInfoSecurity • Black Hills Information Security • http://www.blackhillsinfosec.com/ • MailSniper • https://github.com/dafthack/MailSniper • CredSniper • https://github.com/ustayready/CredSniper • CredKing • https://github.com/ustayready/CredKing