Il post seguente è stato tradotto, previa autorizzazione, dal blog SANS Computer Forensics
Nel corso degli ultimi anni, gli attacchi contro le applicazioni web sono diventati più frequenti e sofisticati.
Ci sono diversi metodi per attaccare le applicazioni web, SQL injection, è uno dei più noti. In questo articolo parleremo di una classe diversa di attacchi e forniremo alcuni esempi di come un incident responder, o un investigatore di computer forensics possa individuarli.
Tutti i form web contengono campi che vengono utilizzati per catturare input da un utente e inviati al server per l’elaborazione.
I campi del form vengono comunemente usati per raccogliere informazioni, dai dettagli dell’operazione sui siti di ecommerce, fino alle credenziali di autenticazione per contenuti riservati. Mentre i campi del form vengono utilizzati per raccogliere dati legittimamente inseriti da parte degli utenti, possono essere utilizzati anche per arrecare danno.
Un esempio comune di attacco lato client è il form field injection. In questo tipo di attacco il malware, interagendo con un browser web, aggiunge ulteriori campi ad un form su una pagina web (cercate BHO html injection).
Lo scopo dei campi injected è ingannare gli utenti a rivelare dati personali sensibili, come password, codici PIN dei bancomat e numeri di carte di credito. Queste informazioni vengono acquisite e trasmesse a siti remoti dove possono essere usati per perpetrare furti di identità o frodi. Diverse classi di malware sono in grado di eseguire questo tipo di attacco, compreso l’ampiamente utilizzato ZeuS
Gli attacchi HTML injection compiono con il form field injection, un ulteriore passo in avanti. Invece di inserire un campo di un form in una pagina web, l’injection di codice HTML sostituisce l’HTML legittimo proveniente dal server, in maniera simile ad una operazione “taglia ed incolla”. L’HTML sostituito viene sovrascritto dall’ HTML dell’attacker ed il contenuto originale non verrà mai più inserito dal browser web. Questo tipo di attacco può essere utilizzato per modificare il flusso logico di un’applicazione web. Ad esempio i dati legittimi in una pagina web, come il riepilogo di un account, potrebbero essere sostituiti da un form per chiedere nome utente e password. Dopo che i dati saranno stati inseriti nel form, i dati legittimi saranno mostrati correttamente. Ciò potrebbe apparire come un ulteriore livello di autenticazione, inducendo l’utente a inserire le credenziali che verranno memorizzate come l’attacco form field injection di cui sopra.
Perché queste informazioni sono importanti per i professionisti dell’ incident response e della digital forensic ? Entrambi questi attacchi sono lato client. Quando si investiga su applicazioni web compromesse, gli investigatori potrebbero non avere accesso al computer lato client. Tuttavia, poiché i campi injected sono parte di un form web, possono essere trasmessi al server nella richiesta POST, insieme ai campi legittimi della pagina. Questi artifact possono essere visualizzati come dati anomali nei log dei server. Ad esempio, un campo nome utente che appaia in un POST che non sia in una pagina di login legittima, dovrebbe essere investigato.
In sintesi: conoscere gli attacchi in corso, saper come vengono compiuti e saper quali artifact, o firme, possano lasciarsi alle spalle, può essere un grande vantaggio per un investigatore. Tramite la conoscenza e la ricerca di questi segni, gli investigatori sono in grado di riconoscere e reagire agli incidenti più velocemente, con conseguente minore impatto per l’organizzazione/agenzia. Si torna al vecchio adagio di conoscere il vostro sistema, dati, flussi, ecc. Concentrate l’attenzione su qualsiasi deviazione anomala rispetto a questi pattern, in quanto può essere un avvertimento che si sia verificato un incidente.
Chris Silveira gestisce il CSIRT e Paul Yacovetta è un forensic engineer presso un istituto finanziario.
Fonte: Client-side Web Application Attacks
Over the past few years, attacks against web applications have become more prevalent and sophisticated. There are several methods of attacking web applications, SQL injection being one of the more well-known. In this article, we are going to discuss a different class of attacks and a few examples of how an incident responder or computer forensic investigator might spot them.
All web forms contain fields that are used to grab input from a user and post it to the server for processing. Form fields are commonly used to collect information, from transaction details on ecommerce sites to authentication credentials for restricted content. While form fields are used to collect data legitimately from users, they can also be used maliciously.
An example of this is a client side attack commonly known as form field injection. In this type of attack, malware interacting in a web browser adds additional form fields to valid form fields on a web page (search for BHO html injection). The purpose of injected fields is to trick users into revealing sensitive personal information like passwords, ATM PINs, and credit card numbers. This information is captured and transmitted to remote drop sites where it can be used to perpetrate identity theft or fraud. Several classes of malware are capable of performing this kind of attack, including the widely used ZeuS.
HTML injection attacks take form field injection one step further. Instead of inserting a form field into a web page, HTML injection replaces legitimate HTML coming from the server, similar to a “cut and paste” function. The replaced HTML is overwritten by the attacker’s HTML and the original, intended content is never rendered by the web browser. This type of attack can be used to alter the logical flow of a web application. For example, legitimate data on a web page, like an account summary, can be replaced by a form asking for a username and password. After data is entered into the form, the legitimate data will be properly displayed. This may look like an additional level of authentication, tricking a user into entering credentials which are captured like the form field injection attack described above.
Why is this information important to incident response and digital forensic professionals? Both of these attacks are client side attacks. When investigating web application compromises, investigators may not have access to the client side computer. However, since injected fields are part of a web form, they may be transmitted in the POST request along with legitimate fields on the page back to the server. These artifacts may appear as anomalous data in the server logs. For example, a username field appearing on a POST other than from a legitimate login page should be investigated further.
In summary, being aware of current attacks, how they are preformed, and the resulting artifacts or signatures they may leave behind can be a great benefit to an investigator. By knowing of and looking for these signs, investigators can recognize and respond to incidents faster, resulting in less impact to the organization/agency. It gets back to the old adage of knowing your system, data, flows, etc. Focus on any abnormal deviation from these legitimate patterns as they may be a tipoff that an incident has occurred.
Chris Silveira manages the CSIRT and Paul Yacovetta is a forensic engineer at a financial institution.
Source: Client-side Web Application Attacks
Ciao Leonardo, complimenti per la selezione degli articoli che traduci, sono sempre molto interessanti. Per questo tengo sempre d’occhio il tuo blog! 😉
Xian
Grazie Xian 🙂
Sei sempre il mio lettore più accanito 🙂 🙂