An adversary, through a previously installed malicious application, injects code into the context of a web page displayed by a WebView component. Through the injected code, an adversary is able to manipulate the DOM tree and cookies of the page, expose sensitive information, and can launch attacks against the web application from within the web page.
Description
Attack Execution Flow
Step 1
Explore[Determine target web application] An adversary first needs to determine what web application they wish to target.
Target web applications that require users to enter sensitive information.
Target web applications that an adversary wishes to operate on behalf of a logged in user.
[Determina l'applicazione web target] Un avversario deve prima determinare quale applicazione web desidera prendere di mira.
Targetizza applicazioni web che richiedono agli utenti di inserire informazioni sensibili.
Targetizza applicazioni web che un avversario desidera gestire per conto di un utente autenticato.
Attack Techniques
-
Target web applications that require users to enter sensitive information.
-
Target web applications that an adversary wishes to operate on behalf of a logged in user.IT: Applicazioni web target che richiedono agli utenti di inserire informazioni sensibili.
Step 2
Experiment[Create malicious application] An adversary creates an application, often mobile, that incorporates a WebView component to display the targeted web application. This malicious application needs to downloaded by a user, so adversaries will make this application useful in some way.
Create a 3rd party application that adds useful functionality to the targeted web application. Victims will download the application as a means of using the targeted web application.
Create a fun game that at some point directs a user to the targeted web application. For example, prompt the user to buy in game currency by directing them to PayPal.
[Creare un'applicazione dannosa] Un adversary crea un'applicazione, spesso mobile, che incorpora un componente WebView per visualizzare l'applicazione web target. Questa applicazione dannosa deve essere scaricata da un utente, quindi gli adversary renderanno questa applicazione utile in qualche modo.
Creare un'applicazione di terze parti che aggiunga funzionalità utili all'applicazione web target. Le vittime scaricheranno l'applicazione come mezzo per utilizzare l'applicazione web target.
Creare un gioco divertente che, a un certo punto, indirizzi l'utente all'applicazione web target. Ad esempio, chiedere all'utente di acquistare valuta in-game indirizzandolo a PayPal.
Attack Techniques
-
Create a 3rd party application that adds useful functionality to the targeted web application. Victims will download the application as a means of using the targeted web application.
-
Create a fun game that at some point directs a user to the targeted web application. For example, prompt the user to buy in game currency by directing them to PayPal.IT: Creare un'applicazione di terze parti che aggiunga funzionalità utili all'applicazione web target. Le vittime scaricheranno l'applicazione come mezzo per utilizzare l'applicazione web target.
Step 3
Experiment[Get the victim to download and run the application] An adversary needs to get the victim to willingly download and run the application.
Pay for App Store advertisements
Promote the application on social media, either through accounts made by the adversary or by paying for other accounts to advertise.
[Indurre la vittima a scaricare e eseguire l'applicazione] Un adversary deve convincere la vittima a scaricare e eseguire volontariamente l'applicazione.
Pagare annunci pubblicitari su App Store
Promuovere l'applicazione sui social media, sia tramite account creati dall'adversary sia pagando altri account per pubblicizzarla.
Attack Techniques
-
Pay for App Store advertisements
-
Promote the application on social media, either through accounts made by the adversary or by paying for other accounts to advertise.IT: Pagamento per le pubblicità sull'App Store
Step 4
Exploit[Inject malicious code] Once the victim runs the malicious application and views the targeted web page in the WebView component, the malicious application will inject malicious JavaScript code into the web application. This is done by using WebView's loadURL() API, which can inject arbitrary JavaScript code into pages loaded by the WebView component with the same privileges. This is often done by adding a script tag to the document body with a src destination to a remote location that serves malicious JavaScript code.
Execute operations on the targeted web page on behalf of an authenticated user.
Steal cookie information from the victim.
Add in extra fields to the DOM in an attempt to get a user to divulge sensitive information.
[Inietta codice dannoso] Una volta che la vittima esegue l'applicazione dannosa e visualizza la pagina web mirata nel componente WebView, l'applicazione dannosa inietterà codice JavaScript dannoso nell'applicazione web. Questo viene fatto utilizzando l'API loadURL() di WebView, che può iniettare codice JavaScript arbitrario nelle pagine caricate dal componente WebView con gli stessi privilegi. Spesso ciò avviene aggiungendo un tag script al corpo del documento con una destinazione src verso una posizione remota che serve codice JavaScript dannoso.
Esegue operazioni sulla pagina web mirata per conto di un utente autenticato.
Ruba informazioni sui cookie dalla vittima.
Aggiunge campi extra al DOM nel tentativo di indurre l'utente a divulgare informazioni sensibili.
Attack Techniques
-
Steal cookie information from the victim.
-
Execute operations on the targeted web page on behalf of an authenticated user.IT: Rubare le informazioni dei cookie dalla vittima.
-
Add in extra fields to the DOM in an attempt to get a user to divulge sensitive information.IT: Rubare le informazioni dei cookie dalla vittima.
Mitigations
The Only Known Mitigation To This Type Of Attack Is To Keep The Malicious Application Off The System. There Is Nothing That Can Be Done To The Target Application To Protect Itself From A Malicious Application That Has Been Installed And Executed.
Consequences
Consequence Information
{'impacts': [], 'impacts_translate': [], 'scopes': [], 'scopes_translate': []}