SlideShare a Scribd company logo
1 of 23
Download to read offline
(i) to hold the Disclosing Party’s Proprietary Information in confidence and to take reasonable precautions to protect such Proprietary Information (including, without
limitation, all precautions the Receiving Party employs with respect to its confidential materials),
(ii) not to divulge any such Proprietary Information or any information derived there from to any third person,
(iii) not to make any use whatsoever at any time of such Proprietary Information except to evaluate internally its relationship with the Disclosing Party
(iv) not to copy or reverse engineer any such Proprietary Information and not to export or reexport (within the meaning of U.S. or other export control laws or
regulations) any such Proprietary Information or product thereof.
This document is solely for the presentation of Twingo Systems. No part of it may be circulated, quoted, or reproduced for distribution without prior written approval from
Twingo Systems. By reading this document, the Receiving Party agrees:
Hack any website
Defcon 11 – 2003 Edition - Alexis Park, Las Vegas, USA
Grégoire Gentil
CEO and CTO of Twingo Systems
August 2, 2003STRICTLY CONFIDENTIAL
2(c) 2003 Twingo Systems, Confidential
AGENDA
• Overview of the attack
• Demos
• General analysis
• Technical analysis
• How to defend?
• Conclusion
• Questions and Answers
3(c) 2003 Twingo Systems, Confidential
• You can either attack the bank…
WHAT CAN YOU DO WHEN YOU WANT TO STEAL MONEY?
• But be careful, security can be tough
• Or you can attack all the customers of the bank
4(c) 2003 Twingo Systems, Confidential
WHAT CAN YOU DO WHEN YOU WANT TO HACK A WEBSITE?
• You can either attack the server…
• But be careful, security can be tough
Firewall, intrusion
detection, anti-virus, …
• This is what I will teach you today
• Or you can attack all the clients
5(c) 2003 Twingo Systems, Confidential
AGENDA
• Overview of the attack
• Demos
• General analysis
• Technical analysis
• How to defend?
• Conclusion
• Questions and Answers
6(c) 2003 Twingo Systems, Confidential
•Demo 1: Dynamic modification of the content of a webpage
 Modify the homepage of a media website
•Demo 2: Dynamic modification of the javascript of a webpage
 Modify the features of the list view of a webmail
DEMOS
7(c) 2003 Twingo Systems, Confidential
AGENDA
• Overview of the attack
• Demos
• General analysis
• Technical analysis
• How to defend?
• Conclusion
• Questions and Answers
8(c) 2003 Twingo Systems, Confidential
• Requires Internet explorer 4.0 and Windows 95 or later
 Google Zeitgeist (http://www.google.com/press/zeitgeist.html) shows that more than 90% of
the Google requests come from Windows – Internet Explorer
• Requires DLL registration
 An executable must be run once with “Power user” privileges
 Many privilege escalation and code execution from a webpage without user intervention
have been discovered
• As you will see through this presentation, the attack is extremely generic and can lead to a lot of
malicious scenarii.
SCOPE OF THE SECURITY VULNERABILITY
9(c) 2003 Twingo Systems, Confidential
ADVANTAGES OF THE ATTACK
• No modification on the targeted server is required
• The attack uses a feature developped by Internet Explorer!!!
 Microsoft provides and supports all the required tools
• The installed DLL cannot be detected by anti-virus. This is a standard DLL with no specific
signature or whatsoever
• You can “personalize” the attack for all the clients
• You can attack only one client
10(c) 2003 Twingo Systems, Confidential
AGENDA
• Overview of the attack
• Demos
• General analysis
• Technical analysis
• How to defend?
• Conclusion
• Questions and Answers
11(c) 2003 Twingo Systems, Confidential
• Implemented as COM in-process DLL and loaded by Internet Explorer.
• The browser initializes the object and asks it for a certain interface. If that interface is found,
Internet Explorer uses the methods provided to pass its IUnknown pointer down to the helper object
• Implemented also in Explorer
• See Dino Esposito article “Browser Helper Objects: The Browser the Way You Want It” in MSDN
INTRODUCING BROWSER HELPER OBJECTS
12(c) 2003 Twingo Systems, Confidential
• The IObjectWithSite Interface: HRESULT SetSite( IUnknown* pUnkSite )
 Receives the IUnknown pointer of the browser. The typical implementation will simply store such a
pointer for further use
HRESULT SetSite( IUnknown* pUnkSite )
{
if ( pUnkSite != NULL ) {
m_spWebBrowser2 = pUnkSite;
if ( m_spWebBrowser2 ) {
// Connect to the browser in order to handle events
if ( ! ManageConnection( Advise ) )
MessageBox( NULL, "Error", "Error", MB_ICONERROR );
}
}
return S_OK;
}
ACCESSING THE INTERFACE OF THE BROWSER
13(c) 2003 Twingo Systems, Confidential
• The IConnectionPoint interface: HRESULT Connect( void )
 To intercept the events fired by the browser, the BHO needs to connect to it via an IConnectionPoint
interface and pass the IDispatch table of the functions that will handle the various events
HRESULT Connect( void )
{
HRESULT hr;
CComPtr<IConnectionPoint> spCP;
// Receives the connection point for WebBrowser events
hr = m_spCPC->FindConnectionPoint( DIID_DWebBrowserEvents2, &spCP );
if ( FAILED( hr ) )
return hr;
// Pass our event handlers to the container. Each time an event occurs
// the container will invoke the functions of the IDispatch interface we implemented
hr = spCP->Advise( reinterpret_cast<IDispatch*>(this), &m_dwCookie );
return hr;
}
GETTING THE BROWSER EVENTS
14(c) 2003 Twingo Systems, Confidential
STDMETHODIMP Invoke( DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS*
pDispParams, VARIANT* pvarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr )
{
CComPtr<IDispatch> spDisp;
if ( dispidMember == DISPID_DOCUMENTCOMPLETE ) {
m_spWebBrowser2 = pDispParams->rgvarg[1].pdispVal;
CComPtr<IDispatch> pDisp;
HRESULT hr = m_spWebBrowser2->get_Document( &pDisp );
if ( FAILED( hr ) ) break;
CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> spHTML;
spHTML = pDisp;
if ( spHTML ) {
// Get the BODY object
CComPtr<IHTMLElement> m_pBody;
hr = spHTML->get_body( &m_pBody );
// Get the HTML text
BSTR bstrHTMLText;
hr = m_pBody->get_outerHTML( &bstrHTMLText );
// Get the URL
CComBSTR url;
m_spWebBrowser2->get_LocationURL( &url );
}
}
return S_OK;
}
ACCESSING THE DOCUMENT OBJECT
15(c) 2003 Twingo Systems, Confidential
• Register the DLL (regsvr32.exe myBHO.dll for instance) and create a key in
HKEY_LOCAL_MACHINESOFTWAREMicrosoft WindowsCurrentVersionExplorerBrowser
Helper Objects with the GUID of the component
 The next instance of Internet Explorer will automatically load the BHO
REGISTRING AND INSTALLING THE COMPONENT
16(c) 2003 Twingo Systems, Confidential
AGENDA
• Overview of the attack
• Demos
• General analysis
• Technical analysis
• How to defend?
• Conclusion
• Questions and Answers
17(c) 2003 Twingo Systems, Confidential
SOME POSSIBLE DEFENSES
• Disable all or selected BHOs installed on the client
 Simply Enumerate the BHOs from the registry and analyze the DLL information (see code on the
DefCon CD)
HKEY hkey;
TCHAR szPath = “SOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects”;
If ( RegOpenKey( HKEY_LOCAL_MACHINE, szPath, &hkey ) == ERROR_SUCCESS ) {
TCHAR szGUID[255];
LONG ret = RegEnumKey( HKEY_LOCAL_MACHINE, 0, szGUID, 255 );
Int i = 0;
while ( ( ret != ERROR_NO_MORE_ITEMS ) && ( ret == ERROR_SUCCESS ) ) {
// You have the BHO GUID in szGUID
ret = RegEnumKey ( HKEY_LOCAL_MACHINE, i, szGUID, 255 );
i++;
}
}
• Main drawback: Pretty painful as BHOs can be sometimes useful
 Acrobat plug-in is a BHO, Google toolbar uses BHO, …
18(c) 2003 Twingo Systems, Confidential
SOME POSSIBLE OTHER DEFENSES
• Microsoft could improve BHO support in coming releases of Internet Explorer
 Create a tag <disableBHO> to disable all BHOs for a given web page
 Implement an authentication system to disable only non approved BHOs (implementation of
a tag <disableNonApprovedBHO>)
19(c) 2003 Twingo Systems, Confidential
AGENDA
• Overview of the attack
• Demos
• General analysis
• Technical analysis
• How to defend?
• Conclusion
• Questions and Answers
20(c) 2003 Twingo Systems, Confidential
• Attack can be selective, personalized
 The malicious can connect to an external website and download specific information
• You should not trust what you see (especially if this is not your computer)
• Use BHOWatcher to regurarly check the BHO installed on your computer
CONCLUSION
21(c) 2003 Twingo Systems, Confidential
• Main contact: Gregoire Gentil
CEO and CTO of Twingo Systems
gregoire@twingosystems.com
• Company: Twingo Systems, Inc.
Provides security tool to secure the untrusted computer
CONTACT INFORMATION
22(c) 2003 Twingo Systems, Confidential
AGENDA
• Overview of the attack
• Demos
• General analysis
• Technical analysis
• How to defend?
• Conclusion
• Questions and Answers
23(c) 2003 Twingo Systems, Confidential
• If you have any question, it is the moment to ask…
QUESTIONS AND ANSWERS

More Related Content

What's hot

BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...
BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...
BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...
BlueHat Security Conference
 
Внедрение безопасности в веб-приложениях в среде выполнения
Внедрение безопасности в веб-приложениях в среде выполненияВнедрение безопасности в веб-приложениях в среде выполнения
Внедрение безопасности в веб-приложениях в среде выполнения
Positive Hack Days
 
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
CODE BLUE
 
Asfws 2014 slides why .net needs ma-cs and other serial(-ization) tales_v2.0
Asfws 2014 slides why .net needs ma-cs and other serial(-ization) tales_v2.0Asfws 2014 slides why .net needs ma-cs and other serial(-ization) tales_v2.0
Asfws 2014 slides why .net needs ma-cs and other serial(-ization) tales_v2.0
Cyber Security Alliance
 

What's hot (20)

Building Better Backdoors with WMI - DerbyCon 2017
Building Better Backdoors with WMI - DerbyCon 2017Building Better Backdoors with WMI - DerbyCon 2017
Building Better Backdoors with WMI - DerbyCon 2017
 
BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...
BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...
BlueHat v17 || Where, how, and why is SSL traffic on mobile getting intercept...
 
Hunting Lateral Movement in Windows Infrastructure
Hunting Lateral Movement in Windows InfrastructureHunting Lateral Movement in Windows Infrastructure
Hunting Lateral Movement in Windows Infrastructure
 
BlueHat v17 || Mitigations for the Masses: From EMET to Windows Defender Exp...
BlueHat v17 ||  Mitigations for the Masses: From EMET to Windows Defender Exp...BlueHat v17 ||  Mitigations for the Masses: From EMET to Windows Defender Exp...
BlueHat v17 || Mitigations for the Masses: From EMET to Windows Defender Exp...
 
Big problems with big data – Hadoop interfaces security
Big problems with big data – Hadoop interfaces securityBig problems with big data – Hadoop interfaces security
Big problems with big data – Hadoop interfaces security
 
Open SSL and MS Crypto API EKON21
Open SSL and MS Crypto API EKON21Open SSL and MS Crypto API EKON21
Open SSL and MS Crypto API EKON21
 
Горизонтальные перемещения в инфраструктуре Windows
Горизонтальные перемещения в инфраструктуре WindowsГоризонтальные перемещения в инфраструктуре Windows
Горизонтальные перемещения в инфраструктуре Windows
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
 
Hack ASP.NET website
Hack ASP.NET websiteHack ASP.NET website
Hack ASP.NET website
 
Внедрение безопасности в веб-приложениях в среде выполнения
Внедрение безопасности в веб-приложениях в среде выполненияВнедрение безопасности в веб-приложениях в среде выполнения
Внедрение безопасности в веб-приложениях в среде выполнения
 
Abusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsAbusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS apps
 
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
BlueHat v17 || Out of the Truman Show: VM Escape in VMware Gracefully
 
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
[CB16] Esoteric Web Application Vulnerabilities by Andrés Riancho
 
[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software
 
На страже ваших денег и данных
На страже ваших денег и данныхНа страже ваших денег и данных
На страже ваших денег и данных
 
Hunting for Privilege Escalation in Windows Environment
Hunting for Privilege Escalation in Windows EnvironmentHunting for Privilege Escalation in Windows Environment
Hunting for Privilege Escalation in Windows Environment
 
Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...
Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...
Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...
 
Asfws 2014 slides why .net needs ma-cs and other serial(-ization) tales_v2.0
Asfws 2014 slides why .net needs ma-cs and other serial(-ization) tales_v2.0Asfws 2014 slides why .net needs ma-cs and other serial(-ization) tales_v2.0
Asfws 2014 slides why .net needs ma-cs and other serial(-ization) tales_v2.0
 
Advanced Topics On Sql Injection Protection
Advanced Topics On Sql Injection ProtectionAdvanced Topics On Sql Injection Protection
Advanced Topics On Sql Injection Protection
 
Présentation et démo ELK/SIEM/Wazuh
Présentation et démo ELK/SIEM/Wazuh Présentation et démo ELK/SIEM/Wazuh
Présentation et démo ELK/SIEM/Wazuh
 

Viewers also liked

2007 2-google hacking-report
2007 2-google hacking-report2007 2-google hacking-report
2007 2-google hacking-report
sunil kumar
 
Overview presentation
Overview presentationOverview presentation
Overview presentation
sunil kumar
 
Seo and digital marketing expert freelancer
Seo and digital marketing expert    freelancerSeo and digital marketing expert    freelancer
Seo and digital marketing expert freelancer
sunil kumar
 
Not bridge south bridge archexture
Not bridge  south bridge archextureNot bridge  south bridge archexture
Not bridge south bridge archexture
sunil kumar
 

Viewers also liked (9)

Ethical hacking
Ethical hackingEthical hacking
Ethical hacking
 
Kymatica
KymaticaKymatica
Kymatica
 
Smps
SmpsSmps
Smps
 
2007 2-google hacking-report
2007 2-google hacking-report2007 2-google hacking-report
2007 2-google hacking-report
 
Overview presentation
Overview presentationOverview presentation
Overview presentation
 
Wi fi copy
Wi fi   copyWi fi   copy
Wi fi copy
 
Adlandpro
AdlandproAdlandpro
Adlandpro
 
Seo and digital marketing expert freelancer
Seo and digital marketing expert    freelancerSeo and digital marketing expert    freelancer
Seo and digital marketing expert freelancer
 
Not bridge south bridge archexture
Not bridge  south bridge archextureNot bridge  south bridge archexture
Not bridge south bridge archexture
 

Similar to Hack any website

Reversing & malware analysis training part 12 rootkit analysis
Reversing & malware analysis training part 12   rootkit analysisReversing & malware analysis training part 12   rootkit analysis
Reversing & malware analysis training part 12 rootkit analysis
Abdulrahman Bassam
 
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf
dino715195
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
Positive Hack Days
 

Similar to Hack any website (20)

Securing TodoMVC Using the Web Cryptography API
Securing TodoMVC Using the Web Cryptography APISecuring TodoMVC Using the Web Cryptography API
Securing TodoMVC Using the Web Cryptography API
 
Reversing & malware analysis training part 12 rootkit analysis
Reversing & malware analysis training part 12   rootkit analysisReversing & malware analysis training part 12   rootkit analysis
Reversing & malware analysis training part 12 rootkit analysis
 
Introduction to Mobile Application Security - Techcity 2015 (Vilnius)
Introduction to Mobile Application Security - Techcity 2015 (Vilnius)Introduction to Mobile Application Security - Techcity 2015 (Vilnius)
Introduction to Mobile Application Security - Techcity 2015 (Vilnius)
 
Securing your Cloud Environment v2
Securing your Cloud Environment v2Securing your Cloud Environment v2
Securing your Cloud Environment v2
 
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 -  Advanced Malware AnalysisReversing & Malware Analysis Training Part 9 -  Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysis
 
Under the hood of modern HIPS-es and Windows access control mechanisms
Under the hood of modern HIPS-es and Windows access control mechanismsUnder the hood of modern HIPS-es and Windows access control mechanisms
Under the hood of modern HIPS-es and Windows access control mechanisms
 
Double agent zero-day code injection and persistence technique
Double agent  zero-day code injection and persistence techniqueDouble agent  zero-day code injection and persistence technique
Double agent zero-day code injection and persistence technique
 
Webinar–Mobile Application Hardening Protecting Business Critical Apps
Webinar–Mobile Application Hardening Protecting Business Critical AppsWebinar–Mobile Application Hardening Protecting Business Critical Apps
Webinar–Mobile Application Hardening Protecting Business Critical Apps
 
Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)
 
DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...
DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...
DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...
 
IoT Device Hacking and New Direction of IoT Security Evaluation Using Common ...
IoT Device Hacking and New Direction of IoT Security Evaluation Using Common ...IoT Device Hacking and New Direction of IoT Security Evaluation Using Common ...
IoT Device Hacking and New Direction of IoT Security Evaluation Using Common ...
 
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf
2019-12-11-OWASP-IoT-Top-10---Introduction-and-Root-Causes.pdf
 
NSC #2 - D2 01 - Andrea Allievi - Windows 8.1 Patch Protections
NSC #2 - D2 01 - Andrea Allievi - Windows 8.1 Patch ProtectionsNSC #2 - D2 01 - Andrea Allievi - Windows 8.1 Patch Protections
NSC #2 - D2 01 - Andrea Allievi - Windows 8.1 Patch Protections
 
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
Pursue the Attackers – Identify and Investigate Lateral Movement Based on Beh...
 
Mitigating Java Deserialization attacks from within the JVM (improved version)
Mitigating Java Deserialization attacks from within the JVM (improved version)Mitigating Java Deserialization attacks from within the JVM (improved version)
Mitigating Java Deserialization attacks from within the JVM (improved version)
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
 
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...
 
Getting ready for a Capture The Flag Hacking Competition
Getting ready for a Capture The Flag Hacking CompetitionGetting ready for a Capture The Flag Hacking Competition
Getting ready for a Capture The Flag Hacking Competition
 
Keynote WFIoT2019 - Data Graph, Knowledge Graphs Ontologies, Internet of Thin...
Keynote WFIoT2019 - Data Graph, Knowledge Graphs Ontologies, Internet of Thin...Keynote WFIoT2019 - Data Graph, Knowledge Graphs Ontologies, Internet of Thin...
Keynote WFIoT2019 - Data Graph, Knowledge Graphs Ontologies, Internet of Thin...
 

More from sunil kumar (20)

Best Ways to loose weight by Keto diet Deliciously
Best Ways to loose weight by Keto diet Deliciously Best Ways to loose weight by Keto diet Deliciously
Best Ways to loose weight by Keto diet Deliciously
 
Best ways to loose weight Naturaly
Best ways to loose weight NaturalyBest ways to loose weight Naturaly
Best ways to loose weight Naturaly
 
Gam ks egnfk
Gam ks egnfkGam ks egnfk
Gam ks egnfk
 
how to invest in shares with only ₹ 5000
how to invest in shares with only ₹ 5000how to invest in shares with only ₹ 5000
how to invest in shares with only ₹ 5000
 
Ping
PingPing
Ping
 
Comp tia network_n10-005
Comp tia network_n10-005Comp tia network_n10-005
Comp tia network_n10-005
 
Comp tia a_220-802_objectives
Comp tia a_220-802_objectivesComp tia a_220-802_objectives
Comp tia a_220-802_objectives
 
Comp tia a_220-801_objectives
Comp tia a_220-801_objectivesComp tia a_220-801_objectives
Comp tia a_220-801_objectives
 
App b
App bApp b
App b
 
Types of optical device
Types of optical deviceTypes of optical device
Types of optical device
 
Memoryhierarchy
MemoryhierarchyMemoryhierarchy
Memoryhierarchy
 
Classification of computers
Classification of computersClassification of computers
Classification of computers
 
Osi model
Osi modelOsi model
Osi model
 
Dns introduction
Dns   introduction Dns   introduction
Dns introduction
 
Ethernet copy
Ethernet   copyEthernet   copy
Ethernet copy
 
4 owasp egypt_12_4_2014_ebrahim_hegazy
4 owasp egypt_12_4_2014_ebrahim_hegazy4 owasp egypt_12_4_2014_ebrahim_hegazy
4 owasp egypt_12_4_2014_ebrahim_hegazy
 
Adeex
AdeexAdeex
Adeex
 
google logo
google logogoogle logo
google logo
 
Data recovery
Data recoveryData recovery
Data recovery
 
Hacking applications
Hacking applicationsHacking applications
Hacking applications
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Hack any website

  • 1. (i) to hold the Disclosing Party’s Proprietary Information in confidence and to take reasonable precautions to protect such Proprietary Information (including, without limitation, all precautions the Receiving Party employs with respect to its confidential materials), (ii) not to divulge any such Proprietary Information or any information derived there from to any third person, (iii) not to make any use whatsoever at any time of such Proprietary Information except to evaluate internally its relationship with the Disclosing Party (iv) not to copy or reverse engineer any such Proprietary Information and not to export or reexport (within the meaning of U.S. or other export control laws or regulations) any such Proprietary Information or product thereof. This document is solely for the presentation of Twingo Systems. No part of it may be circulated, quoted, or reproduced for distribution without prior written approval from Twingo Systems. By reading this document, the Receiving Party agrees: Hack any website Defcon 11 – 2003 Edition - Alexis Park, Las Vegas, USA Grégoire Gentil CEO and CTO of Twingo Systems August 2, 2003STRICTLY CONFIDENTIAL
  • 2. 2(c) 2003 Twingo Systems, Confidential AGENDA • Overview of the attack • Demos • General analysis • Technical analysis • How to defend? • Conclusion • Questions and Answers
  • 3. 3(c) 2003 Twingo Systems, Confidential • You can either attack the bank… WHAT CAN YOU DO WHEN YOU WANT TO STEAL MONEY? • But be careful, security can be tough • Or you can attack all the customers of the bank
  • 4. 4(c) 2003 Twingo Systems, Confidential WHAT CAN YOU DO WHEN YOU WANT TO HACK A WEBSITE? • You can either attack the server… • But be careful, security can be tough Firewall, intrusion detection, anti-virus, … • This is what I will teach you today • Or you can attack all the clients
  • 5. 5(c) 2003 Twingo Systems, Confidential AGENDA • Overview of the attack • Demos • General analysis • Technical analysis • How to defend? • Conclusion • Questions and Answers
  • 6. 6(c) 2003 Twingo Systems, Confidential •Demo 1: Dynamic modification of the content of a webpage  Modify the homepage of a media website •Demo 2: Dynamic modification of the javascript of a webpage  Modify the features of the list view of a webmail DEMOS
  • 7. 7(c) 2003 Twingo Systems, Confidential AGENDA • Overview of the attack • Demos • General analysis • Technical analysis • How to defend? • Conclusion • Questions and Answers
  • 8. 8(c) 2003 Twingo Systems, Confidential • Requires Internet explorer 4.0 and Windows 95 or later  Google Zeitgeist (http://www.google.com/press/zeitgeist.html) shows that more than 90% of the Google requests come from Windows – Internet Explorer • Requires DLL registration  An executable must be run once with “Power user” privileges  Many privilege escalation and code execution from a webpage without user intervention have been discovered • As you will see through this presentation, the attack is extremely generic and can lead to a lot of malicious scenarii. SCOPE OF THE SECURITY VULNERABILITY
  • 9. 9(c) 2003 Twingo Systems, Confidential ADVANTAGES OF THE ATTACK • No modification on the targeted server is required • The attack uses a feature developped by Internet Explorer!!!  Microsoft provides and supports all the required tools • The installed DLL cannot be detected by anti-virus. This is a standard DLL with no specific signature or whatsoever • You can “personalize” the attack for all the clients • You can attack only one client
  • 10. 10(c) 2003 Twingo Systems, Confidential AGENDA • Overview of the attack • Demos • General analysis • Technical analysis • How to defend? • Conclusion • Questions and Answers
  • 11. 11(c) 2003 Twingo Systems, Confidential • Implemented as COM in-process DLL and loaded by Internet Explorer. • The browser initializes the object and asks it for a certain interface. If that interface is found, Internet Explorer uses the methods provided to pass its IUnknown pointer down to the helper object • Implemented also in Explorer • See Dino Esposito article “Browser Helper Objects: The Browser the Way You Want It” in MSDN INTRODUCING BROWSER HELPER OBJECTS
  • 12. 12(c) 2003 Twingo Systems, Confidential • The IObjectWithSite Interface: HRESULT SetSite( IUnknown* pUnkSite )  Receives the IUnknown pointer of the browser. The typical implementation will simply store such a pointer for further use HRESULT SetSite( IUnknown* pUnkSite ) { if ( pUnkSite != NULL ) { m_spWebBrowser2 = pUnkSite; if ( m_spWebBrowser2 ) { // Connect to the browser in order to handle events if ( ! ManageConnection( Advise ) ) MessageBox( NULL, "Error", "Error", MB_ICONERROR ); } } return S_OK; } ACCESSING THE INTERFACE OF THE BROWSER
  • 13. 13(c) 2003 Twingo Systems, Confidential • The IConnectionPoint interface: HRESULT Connect( void )  To intercept the events fired by the browser, the BHO needs to connect to it via an IConnectionPoint interface and pass the IDispatch table of the functions that will handle the various events HRESULT Connect( void ) { HRESULT hr; CComPtr<IConnectionPoint> spCP; // Receives the connection point for WebBrowser events hr = m_spCPC->FindConnectionPoint( DIID_DWebBrowserEvents2, &spCP ); if ( FAILED( hr ) ) return hr; // Pass our event handlers to the container. Each time an event occurs // the container will invoke the functions of the IDispatch interface we implemented hr = spCP->Advise( reinterpret_cast<IDispatch*>(this), &m_dwCookie ); return hr; } GETTING THE BROWSER EVENTS
  • 14. 14(c) 2003 Twingo Systems, Confidential STDMETHODIMP Invoke( DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pvarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr ) { CComPtr<IDispatch> spDisp; if ( dispidMember == DISPID_DOCUMENTCOMPLETE ) { m_spWebBrowser2 = pDispParams->rgvarg[1].pdispVal; CComPtr<IDispatch> pDisp; HRESULT hr = m_spWebBrowser2->get_Document( &pDisp ); if ( FAILED( hr ) ) break; CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> spHTML; spHTML = pDisp; if ( spHTML ) { // Get the BODY object CComPtr<IHTMLElement> m_pBody; hr = spHTML->get_body( &m_pBody ); // Get the HTML text BSTR bstrHTMLText; hr = m_pBody->get_outerHTML( &bstrHTMLText ); // Get the URL CComBSTR url; m_spWebBrowser2->get_LocationURL( &url ); } } return S_OK; } ACCESSING THE DOCUMENT OBJECT
  • 15. 15(c) 2003 Twingo Systems, Confidential • Register the DLL (regsvr32.exe myBHO.dll for instance) and create a key in HKEY_LOCAL_MACHINESOFTWAREMicrosoft WindowsCurrentVersionExplorerBrowser Helper Objects with the GUID of the component  The next instance of Internet Explorer will automatically load the BHO REGISTRING AND INSTALLING THE COMPONENT
  • 16. 16(c) 2003 Twingo Systems, Confidential AGENDA • Overview of the attack • Demos • General analysis • Technical analysis • How to defend? • Conclusion • Questions and Answers
  • 17. 17(c) 2003 Twingo Systems, Confidential SOME POSSIBLE DEFENSES • Disable all or selected BHOs installed on the client  Simply Enumerate the BHOs from the registry and analyze the DLL information (see code on the DefCon CD) HKEY hkey; TCHAR szPath = “SOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects”; If ( RegOpenKey( HKEY_LOCAL_MACHINE, szPath, &hkey ) == ERROR_SUCCESS ) { TCHAR szGUID[255]; LONG ret = RegEnumKey( HKEY_LOCAL_MACHINE, 0, szGUID, 255 ); Int i = 0; while ( ( ret != ERROR_NO_MORE_ITEMS ) && ( ret == ERROR_SUCCESS ) ) { // You have the BHO GUID in szGUID ret = RegEnumKey ( HKEY_LOCAL_MACHINE, i, szGUID, 255 ); i++; } } • Main drawback: Pretty painful as BHOs can be sometimes useful  Acrobat plug-in is a BHO, Google toolbar uses BHO, …
  • 18. 18(c) 2003 Twingo Systems, Confidential SOME POSSIBLE OTHER DEFENSES • Microsoft could improve BHO support in coming releases of Internet Explorer  Create a tag <disableBHO> to disable all BHOs for a given web page  Implement an authentication system to disable only non approved BHOs (implementation of a tag <disableNonApprovedBHO>)
  • 19. 19(c) 2003 Twingo Systems, Confidential AGENDA • Overview of the attack • Demos • General analysis • Technical analysis • How to defend? • Conclusion • Questions and Answers
  • 20. 20(c) 2003 Twingo Systems, Confidential • Attack can be selective, personalized  The malicious can connect to an external website and download specific information • You should not trust what you see (especially if this is not your computer) • Use BHOWatcher to regurarly check the BHO installed on your computer CONCLUSION
  • 21. 21(c) 2003 Twingo Systems, Confidential • Main contact: Gregoire Gentil CEO and CTO of Twingo Systems gregoire@twingosystems.com • Company: Twingo Systems, Inc. Provides security tool to secure the untrusted computer CONTACT INFORMATION
  • 22. 22(c) 2003 Twingo Systems, Confidential AGENDA • Overview of the attack • Demos • General analysis • Technical analysis • How to defend? • Conclusion • Questions and Answers
  • 23. 23(c) 2003 Twingo Systems, Confidential • If you have any question, it is the moment to ask… QUESTIONS AND ANSWERS