SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Blind WAF identificationBlind WAF identification
Miroslav Stampar
(@stamparm)
Blind WAF identificationBlind WAF identification
Miroslav Stampar
(@stamparm)
Sh3llCON, Santander (Spain) January 26th, 2019 2
Who am I?Who am I?
FOSS programmer, Croatian Government CERT
(daily), #infosec researcher (nightly), CTF
enthusiast (sporadically)
Sh3llCON, Santander (Spain) January 26th, 2019 3
Talk overviewTalk overview
What is WAF?
How to (dummy) provoke it?
Typical reactions
Real-life examples
WAF detection
Non-blind WAF identification
Blind WAF identification
identYwaf (https://github.com/stamparm/identYwaf)
Sh3llCON, Santander (Spain) January 26th, 2019 4
What is WAF? (I)What is WAF? (I)
WAF (Web Application Firewall)
Protects web applications by monitoring and
filtering (HTTP/S) traffic
Security hardening by making more difficult
exploitation of web application security flaws
Does not replace the network firewall
Deployed between the network firewall and the
web server infrastructure (inspects
unencrypted traffic)
To (potentially) bypass it, penetration tester
(first) needs to recognize the type (!)
Sh3llCON, Santander (Spain) January 26th, 2019 5
What is WAF? (II)What is WAF? (II)
Source: avinetworks.com
Sh3llCON, Santander (Spain) January 26th, 2019 6
What is WAF? (III)What is WAF? (III)
Prevents exploitation of common web security
vulnerabilities (flaws):
SQL Injection (SQLi)
Cross-Site Scripting (XSS)
File Inclusion (FI)
Cross-Site Request Forgery (CSRF)
XML External Entity (XXE)
Local / Remote Code Execution (LCE / RCE)
Directory Traversal
…
Note: OWASP Top 10
Sh3llCON, Santander (Spain) January 26th, 2019 7
How to (dummy) provoke it?How to (dummy) provoke it?
Sh3llCON, Santander (Spain) January 26th, 2019 8
Typical reactionsTypical reactions
“Bad request”
“Access denied”
“Not acceptable”
“Request denied”
“URL was rejected”
“Forbidden”
“Request could not be satisfied”
“Attempt has been blocked”
“Blocked your request”
etc.
Sh3llCON, Santander (Spain) January 26th, 2019 9
Real-life examples (360)Real-life examples (360)
Sh3llCON, Santander (Spain) January 26th, 2019 10
Real-life examples (Cloudflare)Real-life examples (Cloudflare)
Sh3llCON, Santander (Spain) January 26th, 2019 11
Real-life examples (dotDefender)Real-life examples (dotDefender)
Sh3llCON, Santander (Spain) January 26th, 2019 12
Real-life examples (Incapsula)Real-life examples (Incapsula)
Sh3llCON, Santander (Spain) January 26th, 2019 13
Real-life examples (ModSecurity)Real-life examples (ModSecurity)
Sh3llCON, Santander (Spain) January 26th, 2019 14
Real-life examples (Sucuri)Real-life examples (Sucuri)
Sh3llCON, Santander (Spain) January 26th, 2019 15
Real-life examples (Virusdie)Real-life examples (Virusdie)
Sh3llCON, Santander (Spain) January 26th, 2019 16
Real-life examples (Wordfence)Real-life examples (Wordfence)
Sh3llCON, Santander (Spain) January 26th, 2019 17
WAF detection (I)WAF detection (I)
Sending dummy payload(s) (deliberate,
provocative, not dangerous):
<script>alert('XSS')</script>
' OR SLEEP(5) OR ' (etc.)
Usage of random-generated GET/POST
parameter names (e.g. ?oFx=...)
Detection of any kind of response
changes compared to the original:
HTTP code (200 OK → 403 Forbidden)
HTML title (Homepage → Attention Required!)
Occurrence(s) of rejection specific keywords (- →
...you have been blocked...)
Sh3llCON, Santander (Spain) January 26th, 2019 18
WAF detection (II)WAF detection (II)
Original
WAF provoked
Sh3llCON, Santander (Spain) January 26th, 2019 19
Non-blind WAF identification (I)Non-blind WAF identification (I)
After the (successful) detection phase, in
identification phase we are trying to identify
the web application security product (i.e. WAF)
In best case (non-blind) provoked WAF will
respond with specific response trails which
distinguishes it from other products
Keywords / sentences (e.g. dotDefender
Blocked Your Request)
HTTP codes (e.g. 999 No Hacking)
HTTP headers (e.g. Server: BinarySec)
HTTP cookies (e.g. jsl_tracking=….)
File paths (e.g. .../wzws-waf-cgi/...)
Sh3llCON, Santander (Spain) January 26th, 2019 20
Non-blind WAF identification (II)Non-blind WAF identification (II)
@sqlmap (case) / --identify-waf
WAF scripts (currently 77)
Each covers one specific WAF (protection
system)
4 (+1 NIL) dummy payloads / attack
vectors
Checking page content, headers and
(HTTP) code after each payloads
Sh3llCON, Santander (Spain) January 26th, 2019 21
Non-blind WAF identification (III)Non-blind WAF identification (III)
Sh3llCON, Santander (Spain) January 26th, 2019 22
Non-blind WAF identification (IV)Non-blind WAF identification (IV)
Sh3llCON, Santander (Spain) January 26th, 2019 23
Blind WAF identification (I)Blind WAF identification (I)
How to distinguish different WAF types when
there are only TRUE (generic rejected) and
FALSE (original) responses?
Similar problem like in boolean-based blind SQL
injection, though, with more constraints (i.e.
there is no data source to pull data from)
In theory, different WAFs should have different
protection engines with different set of rules
Hence, different WAFs should answer
differently to a predefined list of dummy
payloads (“battery of tests”)
Final goal: characteristic vectors (signatures)
Sh3llCON, Santander (Spain) January 26th, 2019 24
Blind WAF identification (II)Blind WAF identification (II)
Sh3llCON, Santander (Spain) January 26th, 2019 25
Blind WAF identification (III)Blind WAF identification (III)
Sh3llCON, Santander (Spain) January 26th, 2019 26
identYwaf (I)identYwaf (I)
WAF detection and identification tool
Non-blind support for 70 WAFs and blind
support for 64 WAFs (74 WAFs in total)
Non-blind recognition implemented by
usage of regular expressions over raw HTTP
response (including HTTP headers)
Blind recognition implemented by usage of
inference based on response(s) comparison
with predefined characteristic vectors
(signatures) of size 45 (payloads)
Based on extensive (empirical?) study
Sh3llCON, Santander (Spain) January 26th, 2019 27
identYwaf (II)identYwaf (II)
Sh3llCON, Santander (Spain) January 26th, 2019 28
identYwaf (III)identYwaf (III)
Sh3llCON, Santander (Spain) January 26th, 2019 29
identYwaf (IV)identYwaf (IV)
Calculating difference (distance) between
response vector and WAF characteristic
vectors (signatures)
Smaller the difference, greater the match
Periodic safe-checking for potential
complete blocking (dummy digit payload)
Detection of WAF “chaining” based on
different rejection HTTP codes (e.g. 403 and
500) or Server headers (e.g. nginx and
imunify360-webshield/1.5)
Auxiliary “hardness” score (i.e. strictness)
Sh3llCON, Santander (Spain) January 26th, 2019 30
identYwaf (V)identYwaf (V)
Sh3llCON, Santander (Spain) January 26th, 2019 31
identYwaf (VI)identYwaf (VI)
Sh3llCON, Santander (Spain) January 26th, 2019 32
identYwaf (VII)identYwaf (VII)
Sh3llCON, Santander (Spain) January 26th, 2019 33
identYwaf (VIII)identYwaf (VIII)
Sh3llCON, Santander (Spain) January 26th, 2019 34
Future workFuture work
Dealing with strict (rate-limiting) WAFs (e.g.
usage of proxy list)
Extensive testing of WAF capabilities (e.g.
POST body, different encodings, etc.)
Detailed reporting for the sake of bypassing
(e.g. only FI payloads are blocked, POST
body is not being processed, only
characters < and > are being blocked, etc.)
Collaborative sharing of unknown
signatures (e.g. automatic Github issue)
Bypass “recommendations”
Sh3llCON, Santander (Spain) January 26th, 2019 35
p.s. “Hardness” (not WAF scoring!)p.s. “Hardness” (not WAF scoring!)
Sh3llCON, Santander (Spain) January 26th, 2019 36
Questions?Questions?

Contenu connexe

Tendances

API Security : Patterns and Practices
API Security : Patterns and PracticesAPI Security : Patterns and Practices
API Security : Patterns and PracticesPrabath Siriwardena
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & GuidelinesPrabath Siriwardena
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defensesMohammed A. Imran
 
Waf bypassing Techniques
Waf bypassing TechniquesWaf bypassing Techniques
Waf bypassing TechniquesAvinash Thapa
 
Welcome to the Jungle: Pentesting AWS
Welcome to the Jungle: Pentesting AWSWelcome to the Jungle: Pentesting AWS
Welcome to the Jungle: Pentesting AWSMike Felch
 
Learn to pen-test with OWASP ZAP
Learn to pen-test with OWASP ZAPLearn to pen-test with OWASP ZAP
Learn to pen-test with OWASP ZAPPaul Ionescu
 
Cross Site Scripting Defense Presentation
Cross Site Scripting Defense Presentation Cross Site Scripting Defense Presentation
Cross Site Scripting Defense Presentation Ikhade Maro Igbape
 
WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 1042Crunch
 
The WAF book (Web App Firewall )
The WAF book  (Web App Firewall )The WAF book  (Web App Firewall )
The WAF book (Web App Firewall )Lior Rotkovitch
 
Web Application firewall-Mod security
Web Application firewall-Mod securityWeb Application firewall-Mod security
Web Application firewall-Mod securityRomansh Yadav
 
今さら聞けないXSS
今さら聞けないXSS今さら聞けないXSS
今さら聞けないXSSSota Sugiura
 
OWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewOWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewMichael Furman
 

Tendances (20)

API Security : Patterns and Practices
API Security : Patterns and PracticesAPI Security : Patterns and Practices
API Security : Patterns and Practices
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & Guidelines
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defenses
 
Waf bypassing Techniques
Waf bypassing TechniquesWaf bypassing Techniques
Waf bypassing Techniques
 
Welcome to the Jungle: Pentesting AWS
Welcome to the Jungle: Pentesting AWSWelcome to the Jungle: Pentesting AWS
Welcome to the Jungle: Pentesting AWS
 
F5 TLS & SSL Practices
F5 TLS & SSL PracticesF5 TLS & SSL Practices
F5 TLS & SSL Practices
 
Learn to pen-test with OWASP ZAP
Learn to pen-test with OWASP ZAPLearn to pen-test with OWASP ZAP
Learn to pen-test with OWASP ZAP
 
Cross Site Scripting Defense Presentation
Cross Site Scripting Defense Presentation Cross Site Scripting Defense Presentation
Cross Site Scripting Defense Presentation
 
WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10
 
Application Security
Application SecurityApplication Security
Application Security
 
The WAF book (Web App Firewall )
The WAF book  (Web App Firewall )The WAF book  (Web App Firewall )
The WAF book (Web App Firewall )
 
Building Advanced XSS Vectors
Building Advanced XSS VectorsBuilding Advanced XSS Vectors
Building Advanced XSS Vectors
 
Xss ppt
Xss pptXss ppt
Xss ppt
 
Web Application Firewall
Web Application FirewallWeb Application Firewall
Web Application Firewall
 
DDoS Protection
DDoS ProtectionDDoS Protection
DDoS Protection
 
Web Application firewall-Mod security
Web Application firewall-Mod securityWeb Application firewall-Mod security
Web Application firewall-Mod security
 
SSO introduction
SSO introductionSSO introduction
SSO introduction
 
今さら聞けないXSS
今さら聞けないXSS今さら聞けないXSS
今さら聞けないXSS
 
XSS
XSSXSS
XSS
 
OWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewOWASP Top 10 2021 What's New
OWASP Top 10 2021 What's New
 

Similaire à Blind WAF identification

SCADA hacking industrial-scale fun
SCADA hacking industrial-scale funSCADA hacking industrial-scale fun
SCADA hacking industrial-scale funJan Seidl
 
Sandiflux Report - June 2019
Sandiflux Report - June 2019Sandiflux Report - June 2019
Sandiflux Report - June 2019Salvatore Saeli
 
RFID Smart Tags for Controlling Belonging in Shelters
RFID Smart Tags for Controlling Belonging in SheltersRFID Smart Tags for Controlling Belonging in Shelters
RFID Smart Tags for Controlling Belonging in SheltersIJERA Editor
 
CYBER SECURITY WORKSHOP (Only For Educational Purpose)
CYBER SECURITY WORKSHOP (Only For Educational Purpose)CYBER SECURITY WORKSHOP (Only For Educational Purpose)
CYBER SECURITY WORKSHOP (Only For Educational Purpose)Chanaka Lasantha
 
Leveraging MITRE ATT&CK - Speaking the Common Language
Leveraging MITRE ATT&CK - Speaking the Common LanguageLeveraging MITRE ATT&CK - Speaking the Common Language
Leveraging MITRE ATT&CK - Speaking the Common LanguageErik Van Buggenhout
 

Similaire à Blind WAF identification (6)

Data Breaches
Data BreachesData Breaches
Data Breaches
 
SCADA hacking industrial-scale fun
SCADA hacking industrial-scale funSCADA hacking industrial-scale fun
SCADA hacking industrial-scale fun
 
Sandiflux Report - June 2019
Sandiflux Report - June 2019Sandiflux Report - June 2019
Sandiflux Report - June 2019
 
RFID Smart Tags for Controlling Belonging in Shelters
RFID Smart Tags for Controlling Belonging in SheltersRFID Smart Tags for Controlling Belonging in Shelters
RFID Smart Tags for Controlling Belonging in Shelters
 
CYBER SECURITY WORKSHOP (Only For Educational Purpose)
CYBER SECURITY WORKSHOP (Only For Educational Purpose)CYBER SECURITY WORKSHOP (Only For Educational Purpose)
CYBER SECURITY WORKSHOP (Only For Educational Purpose)
 
Leveraging MITRE ATT&CK - Speaking the Common Language
Leveraging MITRE ATT&CK - Speaking the Common LanguageLeveraging MITRE ATT&CK - Speaking the Common Language
Leveraging MITRE ATT&CK - Speaking the Common Language
 

Plus de Miroslav Stampar

sqlmap - "One Tiny Step At a Time"
sqlmap - "One Tiny Step At a Time"sqlmap - "One Tiny Step At a Time"
sqlmap - "One Tiny Step At a Time"Miroslav Stampar
 
Why everybody should do CTF / Wargames?
Why everybody should do CTF / Wargames?Why everybody should do CTF / Wargames?
Why everybody should do CTF / Wargames?Miroslav Stampar
 
Improving Network Intrusion Detection with Traffic Denoise
Improving Network Intrusion Detection with Traffic DenoiseImproving Network Intrusion Detection with Traffic Denoise
Improving Network Intrusion Detection with Traffic DenoiseMiroslav Stampar
 
APT Attacks on Critical Infrastructure
APT Attacks on Critical InfrastructureAPT Attacks on Critical Infrastructure
APT Attacks on Critical InfrastructureMiroslav Stampar
 
WARNING: Do Not Feed the Bears
WARNING: Do Not Feed the BearsWARNING: Do Not Feed the Bears
WARNING: Do Not Feed the BearsMiroslav Stampar
 
Non-Esoteric XSS Tips & Tricks
Non-Esoteric XSS Tips & TricksNon-Esoteric XSS Tips & Tricks
Non-Esoteric XSS Tips & TricksMiroslav Stampar
 
sqlmap - why (not how) it works?
sqlmap - why (not how) it works?sqlmap - why (not how) it works?
sqlmap - why (not how) it works?Miroslav Stampar
 
2014 – Year of Broken Name Generator(s)
2014 – Year of Broken Name Generator(s)2014 – Year of Broken Name Generator(s)
2014 – Year of Broken Name Generator(s)Miroslav Stampar
 
Riding the Overflow - Then and Now
Riding the Overflow - Then and NowRiding the Overflow - Then and Now
Riding the Overflow - Then and NowMiroslav Stampar
 
Riding the Overflow - Then and Now
Riding the Overflow - Then and NowRiding the Overflow - Then and Now
Riding the Overflow - Then and NowMiroslav Stampar
 
Heuristic methods used in sqlmap
Heuristic methods used in sqlmapHeuristic methods used in sqlmap
Heuristic methods used in sqlmapMiroslav Stampar
 
Spot the Web Vulnerability
Spot the Web VulnerabilitySpot the Web Vulnerability
Spot the Web VulnerabilityMiroslav Stampar
 
Analysis of mass SQL injection attacks
Analysis of mass SQL injection attacksAnalysis of mass SQL injection attacks
Analysis of mass SQL injection attacksMiroslav Stampar
 
Data Retrieval over DNS in SQL Injection Attacks
Data Retrieval over DNS in SQL Injection AttacksData Retrieval over DNS in SQL Injection Attacks
Data Retrieval over DNS in SQL Injection AttacksMiroslav Stampar
 

Plus de Miroslav Stampar (20)

sqlmap - "One Tiny Step At a Time"
sqlmap - "One Tiny Step At a Time"sqlmap - "One Tiny Step At a Time"
sqlmap - "One Tiny Step At a Time"
 
sqlmap internals
sqlmap internalssqlmap internals
sqlmap internals
 
Why everybody should do CTF / Wargames?
Why everybody should do CTF / Wargames?Why everybody should do CTF / Wargames?
Why everybody should do CTF / Wargames?
 
sqlmap internals
sqlmap internalssqlmap internals
sqlmap internals
 
Improving Network Intrusion Detection with Traffic Denoise
Improving Network Intrusion Detection with Traffic DenoiseImproving Network Intrusion Detection with Traffic Denoise
Improving Network Intrusion Detection with Traffic Denoise
 
APT Attacks on Critical Infrastructure
APT Attacks on Critical InfrastructureAPT Attacks on Critical Infrastructure
APT Attacks on Critical Infrastructure
 
WARNING: Do Not Feed the Bears
WARNING: Do Not Feed the BearsWARNING: Do Not Feed the Bears
WARNING: Do Not Feed the Bears
 
Non-Esoteric XSS Tips & Tricks
Non-Esoteric XSS Tips & TricksNon-Esoteric XSS Tips & Tricks
Non-Esoteric XSS Tips & Tricks
 
sqlmap - why (not how) it works?
sqlmap - why (not how) it works?sqlmap - why (not how) it works?
sqlmap - why (not how) it works?
 
2014 – Year of Broken Name Generator(s)
2014 – Year of Broken Name Generator(s)2014 – Year of Broken Name Generator(s)
2014 – Year of Broken Name Generator(s)
 
Smashing the Buffer
Smashing the BufferSmashing the Buffer
Smashing the Buffer
 
Riding the Overflow - Then and Now
Riding the Overflow - Then and NowRiding the Overflow - Then and Now
Riding the Overflow - Then and Now
 
Riding the Overflow - Then and Now
Riding the Overflow - Then and NowRiding the Overflow - Then and Now
Riding the Overflow - Then and Now
 
Hash DoS Attack
Hash DoS AttackHash DoS Attack
Hash DoS Attack
 
Curious Case of SQLi
Curious Case of SQLiCurious Case of SQLi
Curious Case of SQLi
 
Heuristic methods used in sqlmap
Heuristic methods used in sqlmapHeuristic methods used in sqlmap
Heuristic methods used in sqlmap
 
sqlmap - Under the Hood
sqlmap - Under the Hoodsqlmap - Under the Hood
sqlmap - Under the Hood
 
Spot the Web Vulnerability
Spot the Web VulnerabilitySpot the Web Vulnerability
Spot the Web Vulnerability
 
Analysis of mass SQL injection attacks
Analysis of mass SQL injection attacksAnalysis of mass SQL injection attacks
Analysis of mass SQL injection attacks
 
Data Retrieval over DNS in SQL Injection Attacks
Data Retrieval over DNS in SQL Injection AttacksData Retrieval over DNS in SQL Injection Attacks
Data Retrieval over DNS in SQL Injection Attacks
 

Dernier

VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...SofiyaSharma5
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 

Dernier (20)

VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 

Blind WAF identification

  • 1. Blind WAF identificationBlind WAF identification Miroslav Stampar (@stamparm) Blind WAF identificationBlind WAF identification Miroslav Stampar (@stamparm)
  • 2. Sh3llCON, Santander (Spain) January 26th, 2019 2 Who am I?Who am I? FOSS programmer, Croatian Government CERT (daily), #infosec researcher (nightly), CTF enthusiast (sporadically)
  • 3. Sh3llCON, Santander (Spain) January 26th, 2019 3 Talk overviewTalk overview What is WAF? How to (dummy) provoke it? Typical reactions Real-life examples WAF detection Non-blind WAF identification Blind WAF identification identYwaf (https://github.com/stamparm/identYwaf)
  • 4. Sh3llCON, Santander (Spain) January 26th, 2019 4 What is WAF? (I)What is WAF? (I) WAF (Web Application Firewall) Protects web applications by monitoring and filtering (HTTP/S) traffic Security hardening by making more difficult exploitation of web application security flaws Does not replace the network firewall Deployed between the network firewall and the web server infrastructure (inspects unencrypted traffic) To (potentially) bypass it, penetration tester (first) needs to recognize the type (!)
  • 5. Sh3llCON, Santander (Spain) January 26th, 2019 5 What is WAF? (II)What is WAF? (II) Source: avinetworks.com
  • 6. Sh3llCON, Santander (Spain) January 26th, 2019 6 What is WAF? (III)What is WAF? (III) Prevents exploitation of common web security vulnerabilities (flaws): SQL Injection (SQLi) Cross-Site Scripting (XSS) File Inclusion (FI) Cross-Site Request Forgery (CSRF) XML External Entity (XXE) Local / Remote Code Execution (LCE / RCE) Directory Traversal … Note: OWASP Top 10
  • 7. Sh3llCON, Santander (Spain) January 26th, 2019 7 How to (dummy) provoke it?How to (dummy) provoke it?
  • 8. Sh3llCON, Santander (Spain) January 26th, 2019 8 Typical reactionsTypical reactions “Bad request” “Access denied” “Not acceptable” “Request denied” “URL was rejected” “Forbidden” “Request could not be satisfied” “Attempt has been blocked” “Blocked your request” etc.
  • 9. Sh3llCON, Santander (Spain) January 26th, 2019 9 Real-life examples (360)Real-life examples (360)
  • 10. Sh3llCON, Santander (Spain) January 26th, 2019 10 Real-life examples (Cloudflare)Real-life examples (Cloudflare)
  • 11. Sh3llCON, Santander (Spain) January 26th, 2019 11 Real-life examples (dotDefender)Real-life examples (dotDefender)
  • 12. Sh3llCON, Santander (Spain) January 26th, 2019 12 Real-life examples (Incapsula)Real-life examples (Incapsula)
  • 13. Sh3llCON, Santander (Spain) January 26th, 2019 13 Real-life examples (ModSecurity)Real-life examples (ModSecurity)
  • 14. Sh3llCON, Santander (Spain) January 26th, 2019 14 Real-life examples (Sucuri)Real-life examples (Sucuri)
  • 15. Sh3llCON, Santander (Spain) January 26th, 2019 15 Real-life examples (Virusdie)Real-life examples (Virusdie)
  • 16. Sh3llCON, Santander (Spain) January 26th, 2019 16 Real-life examples (Wordfence)Real-life examples (Wordfence)
  • 17. Sh3llCON, Santander (Spain) January 26th, 2019 17 WAF detection (I)WAF detection (I) Sending dummy payload(s) (deliberate, provocative, not dangerous): <script>alert('XSS')</script> ' OR SLEEP(5) OR ' (etc.) Usage of random-generated GET/POST parameter names (e.g. ?oFx=...) Detection of any kind of response changes compared to the original: HTTP code (200 OK → 403 Forbidden) HTML title (Homepage → Attention Required!) Occurrence(s) of rejection specific keywords (- → ...you have been blocked...)
  • 18. Sh3llCON, Santander (Spain) January 26th, 2019 18 WAF detection (II)WAF detection (II) Original WAF provoked
  • 19. Sh3llCON, Santander (Spain) January 26th, 2019 19 Non-blind WAF identification (I)Non-blind WAF identification (I) After the (successful) detection phase, in identification phase we are trying to identify the web application security product (i.e. WAF) In best case (non-blind) provoked WAF will respond with specific response trails which distinguishes it from other products Keywords / sentences (e.g. dotDefender Blocked Your Request) HTTP codes (e.g. 999 No Hacking) HTTP headers (e.g. Server: BinarySec) HTTP cookies (e.g. jsl_tracking=….) File paths (e.g. .../wzws-waf-cgi/...)
  • 20. Sh3llCON, Santander (Spain) January 26th, 2019 20 Non-blind WAF identification (II)Non-blind WAF identification (II) @sqlmap (case) / --identify-waf WAF scripts (currently 77) Each covers one specific WAF (protection system) 4 (+1 NIL) dummy payloads / attack vectors Checking page content, headers and (HTTP) code after each payloads
  • 21. Sh3llCON, Santander (Spain) January 26th, 2019 21 Non-blind WAF identification (III)Non-blind WAF identification (III)
  • 22. Sh3llCON, Santander (Spain) January 26th, 2019 22 Non-blind WAF identification (IV)Non-blind WAF identification (IV)
  • 23. Sh3llCON, Santander (Spain) January 26th, 2019 23 Blind WAF identification (I)Blind WAF identification (I) How to distinguish different WAF types when there are only TRUE (generic rejected) and FALSE (original) responses? Similar problem like in boolean-based blind SQL injection, though, with more constraints (i.e. there is no data source to pull data from) In theory, different WAFs should have different protection engines with different set of rules Hence, different WAFs should answer differently to a predefined list of dummy payloads (“battery of tests”) Final goal: characteristic vectors (signatures)
  • 24. Sh3llCON, Santander (Spain) January 26th, 2019 24 Blind WAF identification (II)Blind WAF identification (II)
  • 25. Sh3llCON, Santander (Spain) January 26th, 2019 25 Blind WAF identification (III)Blind WAF identification (III)
  • 26. Sh3llCON, Santander (Spain) January 26th, 2019 26 identYwaf (I)identYwaf (I) WAF detection and identification tool Non-blind support for 70 WAFs and blind support for 64 WAFs (74 WAFs in total) Non-blind recognition implemented by usage of regular expressions over raw HTTP response (including HTTP headers) Blind recognition implemented by usage of inference based on response(s) comparison with predefined characteristic vectors (signatures) of size 45 (payloads) Based on extensive (empirical?) study
  • 27. Sh3llCON, Santander (Spain) January 26th, 2019 27 identYwaf (II)identYwaf (II)
  • 28. Sh3llCON, Santander (Spain) January 26th, 2019 28 identYwaf (III)identYwaf (III)
  • 29. Sh3llCON, Santander (Spain) January 26th, 2019 29 identYwaf (IV)identYwaf (IV) Calculating difference (distance) between response vector and WAF characteristic vectors (signatures) Smaller the difference, greater the match Periodic safe-checking for potential complete blocking (dummy digit payload) Detection of WAF “chaining” based on different rejection HTTP codes (e.g. 403 and 500) or Server headers (e.g. nginx and imunify360-webshield/1.5) Auxiliary “hardness” score (i.e. strictness)
  • 30. Sh3llCON, Santander (Spain) January 26th, 2019 30 identYwaf (V)identYwaf (V)
  • 31. Sh3llCON, Santander (Spain) January 26th, 2019 31 identYwaf (VI)identYwaf (VI)
  • 32. Sh3llCON, Santander (Spain) January 26th, 2019 32 identYwaf (VII)identYwaf (VII)
  • 33. Sh3llCON, Santander (Spain) January 26th, 2019 33 identYwaf (VIII)identYwaf (VIII)
  • 34. Sh3llCON, Santander (Spain) January 26th, 2019 34 Future workFuture work Dealing with strict (rate-limiting) WAFs (e.g. usage of proxy list) Extensive testing of WAF capabilities (e.g. POST body, different encodings, etc.) Detailed reporting for the sake of bypassing (e.g. only FI payloads are blocked, POST body is not being processed, only characters < and > are being blocked, etc.) Collaborative sharing of unknown signatures (e.g. automatic Github issue) Bypass “recommendations”
  • 35. Sh3llCON, Santander (Spain) January 26th, 2019 35 p.s. “Hardness” (not WAF scoring!)p.s. “Hardness” (not WAF scoring!)
  • 36. Sh3llCON, Santander (Spain) January 26th, 2019 36 Questions?Questions?