Recipe 10-5: Detecting Banking Trojan (Man-in-the-Browser) Attacks
This recipe shows you how to determine when banking trojan software attempts to modify HTML pages.
Ingredients
- ModSecurity
- STREAM_OUTPUT_BODY variable
- @rsub operator
Banking Trojans (Man-in-the-Browser)
Banking trojan software such as Zeus and SpyEye has become sophisticated; it can manipulate a wide range of user interactions with the web application. One technique that banking trojans use is attempting to phish extra user data during login. The banking trojan monitors HTTP stream data via the wininet.dll library and modifies content on the fly. The data modification capability within Zeus is controlled by a file called webinjects.txt. Here is a sample section for modifying the Wells Fargo login page:
set_url https://online.wellsfargo.com/login* GP
data_before
<input type="password" name="password"*<br />
data_end
data_inject
<td width="225"><label for="password" class="formlabel">3. ATM PIN</
label><br/>
<input type="password" name="USpass" id="atmpin" size="20" maxlength
="14" title="Enter ATM PIN" tabindex="11" accesskey="A"/>
<br/> </td>
data_end
data_after
data_end
data_before
<label for="account" class="formlabel">
data_end
data_inject
4. Sign on to
data_end
data_after
</label>
data_end
This section of code adds a new login form element that attempts to obtain the user’s debit card ATM PIN information. If the target victim fills in this information, Zeus sends the information to its command ...
Get Web Application Defender's Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.