SlideShare a Scribd company logo
OWNING THE CLOUT THROUGH SSRF
AND PDF GENERATORS
Ben Sadeghipour
Cody Brocious
WHO ARE WE
● Head of Hacker Operations at HackerOne
● Top 20 hacker on HackerOne
● Snapchat, Yahoo, DoD, Airbnb, Valve, etc.
● Youtube/Twitch/social media: @NahamSec
Ben Sadeghipour
● Head of Hacker Education at HackerOne
● Not top 20 on HackerOne
● Hotel locks, Nintendo Switch, iTunes, etc.
● Twitter: @daeken
Cody Brocious
In a Server-Side Request Forgery (SSRF) attack, the attacker can abuse functionality
on the server to read or update internal resources. The attacker can supply or a modify
a URL which the code running on the server will read or submit data to, and by
carefully selecting the URLs, the attacker may be able to read server configuration
such as AWS metadata, connect to internal services like http enabled databases or
perform post requests towards internal services which are not intended to be exposed.
TL;DR: Make requests using the target host and in some cases render JS server side
SSRF According to OWASP
What is Cloud Metadata?
● 169.254.164.254 is accessible internally within the machine you have access to.
● Provides details like internal IP, hostname, project details, etc.
And if you’re lucky enough, it could also give you access to access_key & secret_key
as well
Basic Example
● Upload avatar via URL and triggers the following request:
GET /api/v1/fetch?url=https://site.com/myfunnycatmeme.jpeg
Host: thesiteweareabouttpwn.com
● Changing the URL parameter to something.internal.target.com may give us
access to see internal assets
● Not limited to http, you can use other protocols
○ file:///etc/passwd
○ gopher://
○ ssh://
… But it’s not always that easy
CVE Examples
Similar to previous slides
JIRA CVE-2017-9506
CVE Examples
https://medium.com/bugbountywriteup/piercing-the-veil-server-side-request-forgery-to-niprnet-access-c358fd5e249a
Pointing consumerUri to Google
Similar to previous slides
JIRA CVE-2017-9506
CVE Examples
https://medium.com/bugbountywriteup/piercing-the-veil-server-side-request-forgery-to-niprnet-access-c358fd5e249a
Metadata
Similar to previous slides
Jenkins - CVE-2018-1000600
CVE Examples
Pointing apiUri to AWS Metadata
Sometimes it’s not as straightforward as a single http request. In some cases you may
be dealing with filters or you may not even see the output of your request but you still
have a few options
SSRF Hurdles
SSRF Hurdles
● Problem: metadata or internal IPs are getting filtered
○ Solution: Use a custom domain like meta.mydomain.com and point it to the
asset you are trying to access (aws.mydomain.com -> 169.254.169.254)
● Problem: Only able to use whitelisted domains
○ Solution: Find an ‘Open Redirect’ on the whitelisted domain(s) and use that
to exploit your SSRF
● Problem: SSRF is there but I can’t see the output
○ Solution: Use Javascript and exfil data
● XSS on the target application where it also gets pushed to the PDF
○ How to confirm it: <script>document.write(123)</script>
○ Generate PDF and it should print 123
● Follows redirection by pointing the url or HTML tag (iframe/img etc) to our host
where redirect.php redirects to success.php
○ mysite.com/redirect.php -> redirects to mysite.com/success.php
● Any customization that involves HTML/CSS (Font name, colors, styling)
● Open redirect on the target application in case of any domain whitelisting
Valuable Assets / Vulnerabilities
PDF GENERATION PROCESS
Headless Browsers
There are two common headless browsers in use:
● wkhtmlpdf is a Webkit implementation whose rendering backend is PDF.
● Headless Chrome is desktop Chrome minus the GUI and with a PDF or image
rendering backend attached.
Lots of wrapper libraries providing easy integration with any language
HTML Renderers
Rather than using an actual browser engine, these renderers work by doing the HTML
and CSS parsing, without any kind of JavaScript support or dynamic layout engine.
● tend to provide a restricted environment where most HTML can be handled safely
and efficiently
WeasyPrint is a great example of this class of HTML->PDF converters (more later)
XSS in PDF Files
PDF + XSS == SSRF
Most modern web applications performing PDF generation do not actually generate
PDFs directly.
● As such, any XSS into this data gets you running in the context of the server --
not the client!
The attack strategy used will depend on what conversion system is in use in the
application, but these can be broken into two categories: Headless browsers and
HTML renderers.
Simple XSS->SSRF via wkhtmltopdf
You notice HTML is rendering within your Generated PDF
● we want to make sure this can communicate with other hosts
○ <iframe src=”http://myhost:myport:443”>
Simple XSS->SSRF via wkhtmltopdf
<iframe src=”http://169.254.169.254/user-data”>
When Simple Fails
Headless Chrome is great for PDF conversion tasks like this, but it makes it harder for
hackers. Unlike wkhtmltopdf, it cares if you try to load an http resource inside an
https page, like our previous example. Also unlike wkhtmltopdf, you can’t typically
redirect it to another page and get a render of the new location.
Finally, the JS engine cares about Same-Origin Policy just like normal browsers do, so
we can’t just make an XMLHttpRequest to the metadata service and steal their data
that way.
● Most user input gets sanitized/filtered
● We haven’t found an XSS in our target app
○ But… we are allowed to customize the fonts and styling of the generated
PDF
HTML Renders but...
XSS via escaping <style> tag
● Most user input gets sanitized/filtered
● No XSS
○ But… we are allowed to customize the fonts and styling
XSS via escaping <style> tag
● Confirm it renders HTML within the PDF Generator
● Can it fetch anything from a remote host”?
XSS via escaping <style> tag
Replace test payload with <style><iframe src=”http://169.254.169.254/user-data”>
and extract data:
WeasyPrint Makes Hacking (W)easy
WeasyPrint Makes Hacking (W)easy
… Once you know the trick, at least.
This one stumped us for a while. We got XSS into a PDF no problem, but there were
two things that made this hard:
1. It didn’t seem to run any scripts, load iframes, or seemingly do anything but load
images.
2. Every single payload we wanted to test required us to take a rideshare
somewhere.
Use The Source
Once we got it to connect to a server where we could see the request, we noticed that
the user agent said it was from WeasyPrint. A quick Google search later and we
learned it was a pretty straightforward HTML renderer written in Python and it was
open source!
Thankfully, we could run this locally and render pages just like the victim.
Unfortunately, this was when we got really pessimistic. This thing didn’t render
anything fun. Text, some CSS, images -- that was about it.
Use The Source
● How does it work?
○ weasyprint input.html output.pdf
Example:
Use The Source
● Only fetched images
● No Javascript
● No <iframe>
● Html.py from WeasyPrint’s GitHub repository indicates we can use
○ <Img> 🛑
Use The Source
● Only fetched images
● No Javascript
● No <iframe>
● Html.py from WeasyPrint’s GitHub repository indicates we can use
○ <Img> 🛑
○ <Embed> 🛑
Use The Source
● Only fetched images
● No Javascript
● No <iframe>
● Html.py from WeasyPrint’s GitHub repository indicates we can use
○ <Img> 🛑
○ <Embed> 🛑
○ <Object> 🛑
Use The Source
● Only fetched images
● No Javascript
● No <iframe>
● Html.py from WeasyPrint’s GitHub repository indicates we can use
○ <Img> 🛑
○ <Embed> 🛑
○ <Object> 🛑
○ <Link> 🤔
Attachments
<link rel=attachment href=”file:///etc/passwd”>
Attachments
<link rel=attachment href=”file:///etc/passwd”>
This embeds files right into the PDF itself! They aren’t visible on the page, but they’re
included as a hidden resource on the file.
Attachments
<link rel=attachment href=”file:///etc/passwd”>
This embeds files right into the PDF itself! They aren’t visible on the page, but they’re
included as a hidden resource on the file.
We could not only read files, but make web requests. Three rideshares later, we had
their full EC2 access keys.
Attachments
Unpacks the content from pdf
DNS Rebinding for Fun and Profit
When Simple Fails
Headless Chrome is great for PDF conversion tasks like this, but it makes it harder for
hackers. Unlike wkhtmltopdf, it cares if you try to load an http resource inside an
https page, like our previous example. Also unlike wkhtmltopdf, you can’t typically
redirect it to another page and get a render of the new location.
Finally, the JS engine cares about Same-Origin Policy just like normal browsers do, so
we can’t just make an XMLHttpRequest to the metadata service and steal their data
that way.
DNS Rebinding for Fun and Profit
DNS rebinding attacks provide a means to get around this. We make the browser
think it’s requesting data from the same domain the page was loaded from and it’s
game over.
DNS Rebinding for Fun and Profit
1. Browser loads http://ex.ploit.info/ and the script sends a message to the server
to rebind ex.ploit.info to 169.254.169.254
2. The script then resolves a0.ex.ploit.info through a2499.ex.ploit.info, flushing the
DNS cache for the original domain
3. Then the script can request any data from the metadata service using requests
to ex.ploit.info; the metadata services don’t care what hostname is used to make
requests to them
4. Data can be sent to bc.ex.ploit.info, which serves as a backchannel for
exfiltration
DEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generators
SSRF Tools
HTTPRebind
Rebinding attacks can be very valuable for SSRF, but they require a lot of setup work,
tweaking, and programming. HTTPRebind combines a DNS server with an HTTP
server to automatically handle all of this for you.
● Usable against any headless browser
● Takes only seconds to run due to DNS cache flushing
● Automatically pulls critical data from GCP, AWS, and Azure
Get the source at https://github.com/daeken/httprebind
SSRFTest
This tool lets you quickly do a first-pass test for SSRF. It will record incoming requests
for your different targets as well as automatically attempt to access and dump data
from EC2 metadata service.
The optimal targets for SSRFTest’s automated functionality are real headless
browsers living in the cloud, but it’s a useful starting point for any SSRF exploitation.
Get the code at https://github.com/daeken/SSRFTest or use the public instance at
https://ssrftest.com/
Recap
Recap
● SSRFs can be very dangerous
● Don’t give up on your bugs until you have tried every possible scenario
○ WeasyPrint took us ~3 months to piece together
● If you see a PDF generator somewhere, 9/10 it’s vulnerable
○ Especially if you chain with other vulnerabilities (XSS, Open Redirect, etc)
Recap
● Disable Javascript
● Create some good whitelisting
● Properly configure your cloud instances to minimize impact
● Be nice to hackers
Keep in Touch
● me@nahamsec.com
● Youtube/Twitch/social media: @NahamSec
Ben Sadeghipour
● Twitter: @daeken
● Hacker101 Discord
Cody Brocious
Thank You!
Ad

More Related Content

What's hot (20)

DevSecOps: Let's Write Security Unit Tests
DevSecOps: Let's Write Security Unit TestsDevSecOps: Let's Write Security Unit Tests
DevSecOps: Let's Write Security Unit Tests
Puma Security, LLC
 
Nessus-Vulnerability Tester
Nessus-Vulnerability TesterNessus-Vulnerability Tester
Nessus-Vulnerability Tester
Aditya Jain
 
Web application security & Testing
Web application security  & TestingWeb application security  & Testing
Web application security & Testing
Deepu S Nath
 
STORED XSS IN DVWA
STORED XSS IN DVWASTORED XSS IN DVWA
STORED XSS IN DVWA
Rutvik patel
 
Brute Force Attack Security Use Case Guide
Brute Force Attack Security Use Case Guide	Brute Force Attack Security Use Case Guide
Brute Force Attack Security Use Case Guide
Protect724manoj
 
The OWASP Zed Attack Proxy
The OWASP Zed Attack ProxyThe OWASP Zed Attack Proxy
The OWASP Zed Attack Proxy
Aditya Gupta
 
Ejercicio seguridad en redes
Ejercicio seguridad en redesEjercicio seguridad en redes
Ejercicio seguridad en redes
vverdu
 
WTF is Penetration Testing v.2
WTF is Penetration Testing v.2WTF is Penetration Testing v.2
WTF is Penetration Testing v.2
Scott Sutherland
 
CNIT 123: Ch 3: Network and Computer Attacks
CNIT 123: Ch 3: Network and Computer AttacksCNIT 123: Ch 3: Network and Computer Attacks
CNIT 123: Ch 3: Network and Computer Attacks
Sam Bowne
 
Upping the APT hunting game: learn the best YARA practices from Kaspersky
Upping the APT hunting game: learn the best YARA practices from KasperskyUpping the APT hunting game: learn the best YARA practices from Kaspersky
Upping the APT hunting game: learn the best YARA practices from Kaspersky
Kaspersky
 
ORM2Pwn: Exploiting injections in Hibernate ORM
ORM2Pwn: Exploiting injections in Hibernate ORMORM2Pwn: Exploiting injections in Hibernate ORM
ORM2Pwn: Exploiting injections in Hibernate ORM
Mikhail Egorov
 
Seguridad de la base de datos
Seguridad de la base de datosSeguridad de la base de datos
Seguridad de la base de datos
osandcr
 
Hardware firewall
Hardware firewallHardware firewall
Hardware firewall
Subrata Kumer Paul
 
OWASP SF - Reviewing Modern JavaScript Applications
OWASP SF - Reviewing Modern JavaScript ApplicationsOWASP SF - Reviewing Modern JavaScript Applications
OWASP SF - Reviewing Modern JavaScript Applications
Lewis Ardern
 
Demo of security tool nessus - Network vulnerablity scanner
Demo of security tool nessus - Network vulnerablity scannerDemo of security tool nessus - Network vulnerablity scanner
Demo of security tool nessus - Network vulnerablity scanner
Ajit Dadresa
 
Super Easy Memory Forensics
Super Easy Memory ForensicsSuper Easy Memory Forensics
Super Easy Memory Forensics
IIJ
 
Understanding Cross-site Request Forgery
Understanding Cross-site Request ForgeryUnderstanding Cross-site Request Forgery
Understanding Cross-site Request Forgery
Daniel Miessler
 
Automating security test using Selenium and OWASP ZAP - Practical DevSecOps
Automating security test using Selenium and OWASP ZAP - Practical DevSecOpsAutomating security test using Selenium and OWASP ZAP - Practical DevSecOps
Automating security test using Selenium and OWASP ZAP - Practical DevSecOps
Mohammed A. Imran
 
Introduction To OWASP
Introduction To OWASPIntroduction To OWASP
Introduction To OWASP
Marco Morana
 
Owasp Top 10 A1: Injection
Owasp Top 10 A1: InjectionOwasp Top 10 A1: Injection
Owasp Top 10 A1: Injection
Michael Hendrickx
 
DevSecOps: Let's Write Security Unit Tests
DevSecOps: Let's Write Security Unit TestsDevSecOps: Let's Write Security Unit Tests
DevSecOps: Let's Write Security Unit Tests
Puma Security, LLC
 
Nessus-Vulnerability Tester
Nessus-Vulnerability TesterNessus-Vulnerability Tester
Nessus-Vulnerability Tester
Aditya Jain
 
Web application security & Testing
Web application security  & TestingWeb application security  & Testing
Web application security & Testing
Deepu S Nath
 
STORED XSS IN DVWA
STORED XSS IN DVWASTORED XSS IN DVWA
STORED XSS IN DVWA
Rutvik patel
 
Brute Force Attack Security Use Case Guide
Brute Force Attack Security Use Case Guide	Brute Force Attack Security Use Case Guide
Brute Force Attack Security Use Case Guide
Protect724manoj
 
The OWASP Zed Attack Proxy
The OWASP Zed Attack ProxyThe OWASP Zed Attack Proxy
The OWASP Zed Attack Proxy
Aditya Gupta
 
Ejercicio seguridad en redes
Ejercicio seguridad en redesEjercicio seguridad en redes
Ejercicio seguridad en redes
vverdu
 
WTF is Penetration Testing v.2
WTF is Penetration Testing v.2WTF is Penetration Testing v.2
WTF is Penetration Testing v.2
Scott Sutherland
 
CNIT 123: Ch 3: Network and Computer Attacks
CNIT 123: Ch 3: Network and Computer AttacksCNIT 123: Ch 3: Network and Computer Attacks
CNIT 123: Ch 3: Network and Computer Attacks
Sam Bowne
 
Upping the APT hunting game: learn the best YARA practices from Kaspersky
Upping the APT hunting game: learn the best YARA practices from KasperskyUpping the APT hunting game: learn the best YARA practices from Kaspersky
Upping the APT hunting game: learn the best YARA practices from Kaspersky
Kaspersky
 
ORM2Pwn: Exploiting injections in Hibernate ORM
ORM2Pwn: Exploiting injections in Hibernate ORMORM2Pwn: Exploiting injections in Hibernate ORM
ORM2Pwn: Exploiting injections in Hibernate ORM
Mikhail Egorov
 
Seguridad de la base de datos
Seguridad de la base de datosSeguridad de la base de datos
Seguridad de la base de datos
osandcr
 
OWASP SF - Reviewing Modern JavaScript Applications
OWASP SF - Reviewing Modern JavaScript ApplicationsOWASP SF - Reviewing Modern JavaScript Applications
OWASP SF - Reviewing Modern JavaScript Applications
Lewis Ardern
 
Demo of security tool nessus - Network vulnerablity scanner
Demo of security tool nessus - Network vulnerablity scannerDemo of security tool nessus - Network vulnerablity scanner
Demo of security tool nessus - Network vulnerablity scanner
Ajit Dadresa
 
Super Easy Memory Forensics
Super Easy Memory ForensicsSuper Easy Memory Forensics
Super Easy Memory Forensics
IIJ
 
Understanding Cross-site Request Forgery
Understanding Cross-site Request ForgeryUnderstanding Cross-site Request Forgery
Understanding Cross-site Request Forgery
Daniel Miessler
 
Automating security test using Selenium and OWASP ZAP - Practical DevSecOps
Automating security test using Selenium and OWASP ZAP - Practical DevSecOpsAutomating security test using Selenium and OWASP ZAP - Practical DevSecOps
Automating security test using Selenium and OWASP ZAP - Practical DevSecOps
Mohammed A. Imran
 
Introduction To OWASP
Introduction To OWASPIntroduction To OWASP
Introduction To OWASP
Marco Morana
 

Similar to DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators (20)

Optimising Web Application Frontend
Optimising Web Application FrontendOptimising Web Application Frontend
Optimising Web Application Frontend
tkramar
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecurities
amiable_indian
 
Website & Internet + Performance testing
Website & Internet + Performance testingWebsite & Internet + Performance testing
Website & Internet + Performance testing
Roman Ananev
 
Developer's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web CryptographyDeveloper's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web Cryptography
Kevin Hakanson
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
TurnToTech
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
zonathen
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
Evan Mullins
 
1 Introduction to Drupal Web Development
1 Introduction to Drupal Web Development1 Introduction to Drupal Web Development
1 Introduction to Drupal Web Development
Wingston
 
Rich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safeRich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safe
Jeremiah Grossman
 
Rails security: above and beyond the defaults
Rails security: above and beyond the defaultsRails security: above and beyond the defaults
Rails security: above and beyond the defaults
Matias Korhonen
 
W3 conf hill-html5-security-realities
W3 conf hill-html5-security-realitiesW3 conf hill-html5-security-realities
W3 conf hill-html5-security-realities
Brad Hill
 
Web II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side developmentWeb II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side development
Randy Connolly
 
Abusing bleeding edge web standards for appsec glory
Abusing bleeding edge web standards for appsec gloryAbusing bleeding edge web standards for appsec glory
Abusing bleeding edge web standards for appsec glory
Priyanka Aash
 
Unusual Web Bugs
Unusual Web BugsUnusual Web Bugs
Unusual Web Bugs
amiable_indian
 
Web Bugs
Web BugsWeb Bugs
Web Bugs
Dr Rushi Raval
 
Open Source Web Technologies
Open Source Web TechnologiesOpen Source Web Technologies
Open Source Web Technologies
Aastha Sethi
 
Top Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.NetTop Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.Net
alsmola
 
Scaling 101 test
Scaling 101 testScaling 101 test
Scaling 101 test
Rashmi Sinha
 
Scaling 101
Scaling 101Scaling 101
Scaling 101
Chris Finne
 
Building high performing web pages
Building high performing web pagesBuilding high performing web pages
Building high performing web pages
Nilesh Bafna
 
Optimising Web Application Frontend
Optimising Web Application FrontendOptimising Web Application Frontend
Optimising Web Application Frontend
tkramar
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecurities
amiable_indian
 
Website & Internet + Performance testing
Website & Internet + Performance testingWebsite & Internet + Performance testing
Website & Internet + Performance testing
Roman Ananev
 
Developer's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web CryptographyDeveloper's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web Cryptography
Kevin Hakanson
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
TurnToTech
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
zonathen
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
Evan Mullins
 
1 Introduction to Drupal Web Development
1 Introduction to Drupal Web Development1 Introduction to Drupal Web Development
1 Introduction to Drupal Web Development
Wingston
 
Rich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safeRich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safe
Jeremiah Grossman
 
Rails security: above and beyond the defaults
Rails security: above and beyond the defaultsRails security: above and beyond the defaults
Rails security: above and beyond the defaults
Matias Korhonen
 
W3 conf hill-html5-security-realities
W3 conf hill-html5-security-realitiesW3 conf hill-html5-security-realities
W3 conf hill-html5-security-realities
Brad Hill
 
Web II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side developmentWeb II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side development
Randy Connolly
 
Abusing bleeding edge web standards for appsec glory
Abusing bleeding edge web standards for appsec gloryAbusing bleeding edge web standards for appsec glory
Abusing bleeding edge web standards for appsec glory
Priyanka Aash
 
Open Source Web Technologies
Open Source Web TechnologiesOpen Source Web Technologies
Open Source Web Technologies
Aastha Sethi
 
Top Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.NetTop Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.Net
alsmola
 
Building high performing web pages
Building high performing web pagesBuilding high performing web pages
Building high performing web pages
Nilesh Bafna
 
Ad

More from Felipe Prado (20)

DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directoryDEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
Felipe Prado
 
DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...
DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...
DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...
Felipe Prado
 
DEF CON 24 - Tamas Szakaly - help i got ants
DEF CON 24 - Tamas Szakaly - help i got antsDEF CON 24 - Tamas Szakaly - help i got ants
DEF CON 24 - Tamas Szakaly - help i got ants
Felipe Prado
 
DEF CON 24 - Ladar Levison - compelled decryption
DEF CON 24 - Ladar Levison - compelled decryptionDEF CON 24 - Ladar Levison - compelled decryption
DEF CON 24 - Ladar Levison - compelled decryption
Felipe Prado
 
DEF CON 24 - Clarence Chio - machine duping 101
DEF CON 24 - Clarence Chio - machine duping 101DEF CON 24 - Clarence Chio - machine duping 101
DEF CON 24 - Clarence Chio - machine duping 101
Felipe Prado
 
DEF CON 24 - Chris Rock - how to overthrow a government
DEF CON 24 - Chris Rock - how to overthrow a governmentDEF CON 24 - Chris Rock - how to overthrow a government
DEF CON 24 - Chris Rock - how to overthrow a government
Felipe Prado
 
DEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardware
DEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardwareDEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardware
DEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardware
Felipe Prado
 
DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...
DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...
DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...
Felipe Prado
 
DEF CON 24 - Jay Beale and Larry Pesce - phishing without frustration
DEF CON 24 - Jay Beale and Larry Pesce - phishing without frustrationDEF CON 24 - Jay Beale and Larry Pesce - phishing without frustration
DEF CON 24 - Jay Beale and Larry Pesce - phishing without frustration
Felipe Prado
 
DEF CON 24 - Gorenc Sands - hacker machine interface
DEF CON 24 - Gorenc Sands - hacker machine interfaceDEF CON 24 - Gorenc Sands - hacker machine interface
DEF CON 24 - Gorenc Sands - hacker machine interface
Felipe Prado
 
DEF CON 24 - Allan Cecil and DwangoAC - tasbot the perfectionist
DEF CON 24 - Allan Cecil and DwangoAC -  tasbot the perfectionistDEF CON 24 - Allan Cecil and DwangoAC -  tasbot the perfectionist
DEF CON 24 - Allan Cecil and DwangoAC - tasbot the perfectionist
Felipe Prado
 
DEF CON 24 - Rose and Ramsey - picking bluetooth low energy locks
DEF CON 24 - Rose and Ramsey - picking bluetooth low energy locksDEF CON 24 - Rose and Ramsey - picking bluetooth low energy locks
DEF CON 24 - Rose and Ramsey - picking bluetooth low energy locks
Felipe Prado
 
DEF CON 24 - Rich Mogull - pragmatic cloud security
DEF CON 24 - Rich Mogull - pragmatic cloud securityDEF CON 24 - Rich Mogull - pragmatic cloud security
DEF CON 24 - Rich Mogull - pragmatic cloud security
Felipe Prado
 
DEF CON 24 - Grant Bugher - Bypassing captive portals
DEF CON 24 - Grant Bugher - Bypassing captive portalsDEF CON 24 - Grant Bugher - Bypassing captive portals
DEF CON 24 - Grant Bugher - Bypassing captive portals
Felipe Prado
 
DEF CON 24 - Patrick Wardle - 99 problems little snitch
DEF CON 24 - Patrick Wardle - 99 problems little snitchDEF CON 24 - Patrick Wardle - 99 problems little snitch
DEF CON 24 - Patrick Wardle - 99 problems little snitch
Felipe Prado
 
DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...
DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...
DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...
Felipe Prado
 
DEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucks
DEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucksDEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucks
DEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucks
Felipe Prado
 
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
DEF CON 24 - Dinesh and Shetty - practical android application exploitationDEF CON 24 - Dinesh and Shetty - practical android application exploitation
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
Felipe Prado
 
DEF CON 24 - Klijnsma and Tentler - stargate pivoting through vnc
DEF CON 24 - Klijnsma and Tentler - stargate pivoting through vncDEF CON 24 - Klijnsma and Tentler - stargate pivoting through vnc
DEF CON 24 - Klijnsma and Tentler - stargate pivoting through vnc
Felipe Prado
 
DEF CON 24 - Antonio Joseph - fuzzing android devices
DEF CON 24 - Antonio Joseph - fuzzing android devicesDEF CON 24 - Antonio Joseph - fuzzing android devices
DEF CON 24 - Antonio Joseph - fuzzing android devices
Felipe Prado
 
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directoryDEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
DEF CON 24 - Sean Metcalf - beyond the mcse red teaming active directory
Felipe Prado
 
DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...
DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...
DEF CON 24 - Bertin Bervis and James Jara - exploiting and attacking seismolo...
Felipe Prado
 
DEF CON 24 - Tamas Szakaly - help i got ants
DEF CON 24 - Tamas Szakaly - help i got antsDEF CON 24 - Tamas Szakaly - help i got ants
DEF CON 24 - Tamas Szakaly - help i got ants
Felipe Prado
 
DEF CON 24 - Ladar Levison - compelled decryption
DEF CON 24 - Ladar Levison - compelled decryptionDEF CON 24 - Ladar Levison - compelled decryption
DEF CON 24 - Ladar Levison - compelled decryption
Felipe Prado
 
DEF CON 24 - Clarence Chio - machine duping 101
DEF CON 24 - Clarence Chio - machine duping 101DEF CON 24 - Clarence Chio - machine duping 101
DEF CON 24 - Clarence Chio - machine duping 101
Felipe Prado
 
DEF CON 24 - Chris Rock - how to overthrow a government
DEF CON 24 - Chris Rock - how to overthrow a governmentDEF CON 24 - Chris Rock - how to overthrow a government
DEF CON 24 - Chris Rock - how to overthrow a government
Felipe Prado
 
DEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardware
DEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardwareDEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardware
DEF CON 24 - Fitzpatrick and Grand - 101 ways to brick your hardware
Felipe Prado
 
DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...
DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...
DEF CON 24 - Rogan Dawes and Dominic White - universal serial aBUSe remote at...
Felipe Prado
 
DEF CON 24 - Jay Beale and Larry Pesce - phishing without frustration
DEF CON 24 - Jay Beale and Larry Pesce - phishing without frustrationDEF CON 24 - Jay Beale and Larry Pesce - phishing without frustration
DEF CON 24 - Jay Beale and Larry Pesce - phishing without frustration
Felipe Prado
 
DEF CON 24 - Gorenc Sands - hacker machine interface
DEF CON 24 - Gorenc Sands - hacker machine interfaceDEF CON 24 - Gorenc Sands - hacker machine interface
DEF CON 24 - Gorenc Sands - hacker machine interface
Felipe Prado
 
DEF CON 24 - Allan Cecil and DwangoAC - tasbot the perfectionist
DEF CON 24 - Allan Cecil and DwangoAC -  tasbot the perfectionistDEF CON 24 - Allan Cecil and DwangoAC -  tasbot the perfectionist
DEF CON 24 - Allan Cecil and DwangoAC - tasbot the perfectionist
Felipe Prado
 
DEF CON 24 - Rose and Ramsey - picking bluetooth low energy locks
DEF CON 24 - Rose and Ramsey - picking bluetooth low energy locksDEF CON 24 - Rose and Ramsey - picking bluetooth low energy locks
DEF CON 24 - Rose and Ramsey - picking bluetooth low energy locks
Felipe Prado
 
DEF CON 24 - Rich Mogull - pragmatic cloud security
DEF CON 24 - Rich Mogull - pragmatic cloud securityDEF CON 24 - Rich Mogull - pragmatic cloud security
DEF CON 24 - Rich Mogull - pragmatic cloud security
Felipe Prado
 
DEF CON 24 - Grant Bugher - Bypassing captive portals
DEF CON 24 - Grant Bugher - Bypassing captive portalsDEF CON 24 - Grant Bugher - Bypassing captive portals
DEF CON 24 - Grant Bugher - Bypassing captive portals
Felipe Prado
 
DEF CON 24 - Patrick Wardle - 99 problems little snitch
DEF CON 24 - Patrick Wardle - 99 problems little snitchDEF CON 24 - Patrick Wardle - 99 problems little snitch
DEF CON 24 - Patrick Wardle - 99 problems little snitch
Felipe Prado
 
DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...
DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...
DEF CON 24 - Plore - side -channel attacks on high security electronic safe l...
Felipe Prado
 
DEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucks
DEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucksDEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucks
DEF CON 24 - Six Volts and Haystack - cheap tools for hacking heavy trucks
Felipe Prado
 
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
DEF CON 24 - Dinesh and Shetty - practical android application exploitationDEF CON 24 - Dinesh and Shetty - practical android application exploitation
DEF CON 24 - Dinesh and Shetty - practical android application exploitation
Felipe Prado
 
DEF CON 24 - Klijnsma and Tentler - stargate pivoting through vnc
DEF CON 24 - Klijnsma and Tentler - stargate pivoting through vncDEF CON 24 - Klijnsma and Tentler - stargate pivoting through vnc
DEF CON 24 - Klijnsma and Tentler - stargate pivoting through vnc
Felipe Prado
 
DEF CON 24 - Antonio Joseph - fuzzing android devices
DEF CON 24 - Antonio Joseph - fuzzing android devicesDEF CON 24 - Antonio Joseph - fuzzing android devices
DEF CON 24 - Antonio Joseph - fuzzing android devices
Felipe Prado
 
Ad

Recently uploaded (20)

Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 

DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators

  • 1. OWNING THE CLOUT THROUGH SSRF AND PDF GENERATORS Ben Sadeghipour Cody Brocious
  • 2. WHO ARE WE ● Head of Hacker Operations at HackerOne ● Top 20 hacker on HackerOne ● Snapchat, Yahoo, DoD, Airbnb, Valve, etc. ● Youtube/Twitch/social media: @NahamSec Ben Sadeghipour ● Head of Hacker Education at HackerOne ● Not top 20 on HackerOne ● Hotel locks, Nintendo Switch, iTunes, etc. ● Twitter: @daeken Cody Brocious
  • 3. In a Server-Side Request Forgery (SSRF) attack, the attacker can abuse functionality on the server to read or update internal resources. The attacker can supply or a modify a URL which the code running on the server will read or submit data to, and by carefully selecting the URLs, the attacker may be able to read server configuration such as AWS metadata, connect to internal services like http enabled databases or perform post requests towards internal services which are not intended to be exposed. TL;DR: Make requests using the target host and in some cases render JS server side SSRF According to OWASP
  • 4. What is Cloud Metadata? ● 169.254.164.254 is accessible internally within the machine you have access to. ● Provides details like internal IP, hostname, project details, etc. And if you’re lucky enough, it could also give you access to access_key & secret_key as well
  • 5. Basic Example ● Upload avatar via URL and triggers the following request: GET /api/v1/fetch?url=https://site.com/myfunnycatmeme.jpeg Host: thesiteweareabouttpwn.com ● Changing the URL parameter to something.internal.target.com may give us access to see internal assets ● Not limited to http, you can use other protocols ○ file:///etc/passwd ○ gopher:// ○ ssh:// … But it’s not always that easy
  • 7. Similar to previous slides JIRA CVE-2017-9506 CVE Examples https://medium.com/bugbountywriteup/piercing-the-veil-server-side-request-forgery-to-niprnet-access-c358fd5e249a Pointing consumerUri to Google
  • 8. Similar to previous slides JIRA CVE-2017-9506 CVE Examples https://medium.com/bugbountywriteup/piercing-the-veil-server-side-request-forgery-to-niprnet-access-c358fd5e249a Metadata
  • 9. Similar to previous slides Jenkins - CVE-2018-1000600 CVE Examples Pointing apiUri to AWS Metadata
  • 10. Sometimes it’s not as straightforward as a single http request. In some cases you may be dealing with filters or you may not even see the output of your request but you still have a few options SSRF Hurdles
  • 11. SSRF Hurdles ● Problem: metadata or internal IPs are getting filtered ○ Solution: Use a custom domain like meta.mydomain.com and point it to the asset you are trying to access (aws.mydomain.com -> 169.254.169.254) ● Problem: Only able to use whitelisted domains ○ Solution: Find an ‘Open Redirect’ on the whitelisted domain(s) and use that to exploit your SSRF ● Problem: SSRF is there but I can’t see the output ○ Solution: Use Javascript and exfil data
  • 12. ● XSS on the target application where it also gets pushed to the PDF ○ How to confirm it: <script>document.write(123)</script> ○ Generate PDF and it should print 123 ● Follows redirection by pointing the url or HTML tag (iframe/img etc) to our host where redirect.php redirects to success.php ○ mysite.com/redirect.php -> redirects to mysite.com/success.php ● Any customization that involves HTML/CSS (Font name, colors, styling) ● Open redirect on the target application in case of any domain whitelisting Valuable Assets / Vulnerabilities
  • 14. Headless Browsers There are two common headless browsers in use: ● wkhtmlpdf is a Webkit implementation whose rendering backend is PDF. ● Headless Chrome is desktop Chrome minus the GUI and with a PDF or image rendering backend attached. Lots of wrapper libraries providing easy integration with any language
  • 15. HTML Renderers Rather than using an actual browser engine, these renderers work by doing the HTML and CSS parsing, without any kind of JavaScript support or dynamic layout engine. ● tend to provide a restricted environment where most HTML can be handled safely and efficiently WeasyPrint is a great example of this class of HTML->PDF converters (more later)
  • 16. XSS in PDF Files
  • 17. PDF + XSS == SSRF Most modern web applications performing PDF generation do not actually generate PDFs directly. ● As such, any XSS into this data gets you running in the context of the server -- not the client! The attack strategy used will depend on what conversion system is in use in the application, but these can be broken into two categories: Headless browsers and HTML renderers.
  • 18. Simple XSS->SSRF via wkhtmltopdf You notice HTML is rendering within your Generated PDF ● we want to make sure this can communicate with other hosts ○ <iframe src=”http://myhost:myport:443”>
  • 19. Simple XSS->SSRF via wkhtmltopdf <iframe src=”http://169.254.169.254/user-data”>
  • 20. When Simple Fails Headless Chrome is great for PDF conversion tasks like this, but it makes it harder for hackers. Unlike wkhtmltopdf, it cares if you try to load an http resource inside an https page, like our previous example. Also unlike wkhtmltopdf, you can’t typically redirect it to another page and get a render of the new location. Finally, the JS engine cares about Same-Origin Policy just like normal browsers do, so we can’t just make an XMLHttpRequest to the metadata service and steal their data that way.
  • 21. ● Most user input gets sanitized/filtered ● We haven’t found an XSS in our target app ○ But… we are allowed to customize the fonts and styling of the generated PDF HTML Renders but...
  • 22. XSS via escaping <style> tag ● Most user input gets sanitized/filtered ● No XSS ○ But… we are allowed to customize the fonts and styling
  • 23. XSS via escaping <style> tag ● Confirm it renders HTML within the PDF Generator ● Can it fetch anything from a remote host”?
  • 24. XSS via escaping <style> tag Replace test payload with <style><iframe src=”http://169.254.169.254/user-data”> and extract data:
  • 26. WeasyPrint Makes Hacking (W)easy … Once you know the trick, at least. This one stumped us for a while. We got XSS into a PDF no problem, but there were two things that made this hard: 1. It didn’t seem to run any scripts, load iframes, or seemingly do anything but load images. 2. Every single payload we wanted to test required us to take a rideshare somewhere.
  • 27. Use The Source Once we got it to connect to a server where we could see the request, we noticed that the user agent said it was from WeasyPrint. A quick Google search later and we learned it was a pretty straightforward HTML renderer written in Python and it was open source! Thankfully, we could run this locally and render pages just like the victim. Unfortunately, this was when we got really pessimistic. This thing didn’t render anything fun. Text, some CSS, images -- that was about it.
  • 28. Use The Source ● How does it work? ○ weasyprint input.html output.pdf Example:
  • 29. Use The Source ● Only fetched images ● No Javascript ● No <iframe> ● Html.py from WeasyPrint’s GitHub repository indicates we can use ○ <Img> 🛑
  • 30. Use The Source ● Only fetched images ● No Javascript ● No <iframe> ● Html.py from WeasyPrint’s GitHub repository indicates we can use ○ <Img> 🛑 ○ <Embed> 🛑
  • 31. Use The Source ● Only fetched images ● No Javascript ● No <iframe> ● Html.py from WeasyPrint’s GitHub repository indicates we can use ○ <Img> 🛑 ○ <Embed> 🛑 ○ <Object> 🛑
  • 32. Use The Source ● Only fetched images ● No Javascript ● No <iframe> ● Html.py from WeasyPrint’s GitHub repository indicates we can use ○ <Img> 🛑 ○ <Embed> 🛑 ○ <Object> 🛑 ○ <Link> 🤔
  • 34. Attachments <link rel=attachment href=”file:///etc/passwd”> This embeds files right into the PDF itself! They aren’t visible on the page, but they’re included as a hidden resource on the file.
  • 35. Attachments <link rel=attachment href=”file:///etc/passwd”> This embeds files right into the PDF itself! They aren’t visible on the page, but they’re included as a hidden resource on the file. We could not only read files, but make web requests. Three rideshares later, we had their full EC2 access keys.
  • 37. DNS Rebinding for Fun and Profit
  • 38. When Simple Fails Headless Chrome is great for PDF conversion tasks like this, but it makes it harder for hackers. Unlike wkhtmltopdf, it cares if you try to load an http resource inside an https page, like our previous example. Also unlike wkhtmltopdf, you can’t typically redirect it to another page and get a render of the new location. Finally, the JS engine cares about Same-Origin Policy just like normal browsers do, so we can’t just make an XMLHttpRequest to the metadata service and steal their data that way.
  • 39. DNS Rebinding for Fun and Profit DNS rebinding attacks provide a means to get around this. We make the browser think it’s requesting data from the same domain the page was loaded from and it’s game over.
  • 40. DNS Rebinding for Fun and Profit 1. Browser loads http://ex.ploit.info/ and the script sends a message to the server to rebind ex.ploit.info to 169.254.169.254 2. The script then resolves a0.ex.ploit.info through a2499.ex.ploit.info, flushing the DNS cache for the original domain 3. Then the script can request any data from the metadata service using requests to ex.ploit.info; the metadata services don’t care what hostname is used to make requests to them 4. Data can be sent to bc.ex.ploit.info, which serves as a backchannel for exfiltration
  • 43. HTTPRebind Rebinding attacks can be very valuable for SSRF, but they require a lot of setup work, tweaking, and programming. HTTPRebind combines a DNS server with an HTTP server to automatically handle all of this for you. ● Usable against any headless browser ● Takes only seconds to run due to DNS cache flushing ● Automatically pulls critical data from GCP, AWS, and Azure Get the source at https://github.com/daeken/httprebind
  • 44. SSRFTest This tool lets you quickly do a first-pass test for SSRF. It will record incoming requests for your different targets as well as automatically attempt to access and dump data from EC2 metadata service. The optimal targets for SSRFTest’s automated functionality are real headless browsers living in the cloud, but it’s a useful starting point for any SSRF exploitation. Get the code at https://github.com/daeken/SSRFTest or use the public instance at https://ssrftest.com/
  • 45. Recap
  • 46. Recap ● SSRFs can be very dangerous ● Don’t give up on your bugs until you have tried every possible scenario ○ WeasyPrint took us ~3 months to piece together ● If you see a PDF generator somewhere, 9/10 it’s vulnerable ○ Especially if you chain with other vulnerabilities (XSS, Open Redirect, etc)
  • 47. Recap ● Disable Javascript ● Create some good whitelisting ● Properly configure your cloud instances to minimize impact ● Be nice to hackers
  • 48. Keep in Touch ● [email protected] ● Youtube/Twitch/social media: @NahamSec Ben Sadeghipour ● Twitter: @daeken ● Hacker101 Discord Cody Brocious