Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From...

42
Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší @JaromirHorejsi Jan Širmer @sirmer_jan FIRST 2017, San Juan, Puerto Rico

Transcript of Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From...

Page 1: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Malicious proxy Auto-Configs:Harvesting Credentials From Web Forms Made Easy

Jaromír Hořejší @JaromirHorejsi

Jan Širmer @sirmer_jan

FIRST 2017, San Juan, Puerto Rico

Page 2: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Today we will be presenting…

2

1 Proxy Auto-Configs

2 Infection Vectors

3 Installation of the Malware

4 Examples of Fake banking sites

5 Statistics

Page 3: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Proxy Auto-Configs

Page 4: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

4

Proxy Auto-Config (PAC)

+ Must contain JavaScript function “FindProxyForURL (url, host)”, which returns:

• DIRECT - Connections should be made directly, without any proxies

• PROXY host:port - specifies which proxy should be used

• SOCKS host:port - specifies SOCKS server

Source: http://findproxyforurl.com/netscape-documentation/

Defines how web browsers automatically choose the appropriate proxy server to fetch a given URL

+ Several predefined functions:

• isPlainHostName(), dnsDomainIs(),

localHostOrDomainIs(), isResolvable(), isInNet(),

dnsResolve(), myIpAddress(), dnsDomainLevels(),

shExpMatch(), weekdayRange(), dateRange(),

timeRange()

Page 5: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

5

PAC in Chrome / FF / IE

+ Chrome

• Settings -> Advanced Settings -> Change proxy

settings…

-> LAN Settings

+ Internet Explorer

• Tools -> Internet Options -> Connections -> LAN

Settings

+ Firefox

• Tools -> Options -> Advanced -> Network

Page 6: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

The history of Retefe

+ In the past

• OLE embedding EXE file (RAR SFX, CPL, …)

• Reported to target Switzerland, Austria, Sweden, Japan

+ References

• A close look at a targeted attack delivery (February 2014)https://blogs.technet.microsoft.com/mmpc/2014/02/27/a-close-look-at-a-targeted-attack-delivery

• Finding Holes - Operation Emmental (July 2014), whitepaperhttp://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp-finding-holes-operation-emmental.pdf

• The Circle Around Retefe (May 2015), talk at CARO Workshophttp://2015.caro.org/presentations/the-circle-around-retefe

6

Page 7: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Retefe now

+ Word Document (OLE, DOCX) embedding JavaScript or LNK file

+ Drops PowerShell scripts to install fake certificate

+ Simple JavaScript and PAC obfuscation

+ May install additional tools like Tor, Proxifier, etc…

+ Persistence may be added

7

Page 8: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Retefe now

+ References

• Retefe is back in town (April 2016)https://isc.sans.edu/diary/Retefe%2Bis%2Bback%2Bin%2Btown/20957

• Thank You For Your Order Ref 58380529 Talkmobile – word doc malware (April 2016)https://myonlinesecurity.co.uk/thank-you-for-your-order-ref-58380529-talkmobile-word-doc-malware

• Retefe banking Trojan targets UK banking customers (June 2016)https://blog.avast.com/retefe-banking-trojan-targets-uk-banking-customers

• The evolution of the Retefe banking Trojan (July 2016)https://blog.avast.com/the-evolution-of-the-retefe-banking-trojan

8

Page 9: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Infection Vector

Page 10: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Infection vector

+ Social engineering

• “To see the invoice, double click on the image”

+ Victim double-clicks on embedded script

• No need for an exploit kit

• No macros - no need to enable them

10

Page 11: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Infection vector in 2016

+ oleObject1.bin is OLE Package

+ OLE Package contains JavaScript with

various filenames

• Rechnung, Bestellung, Zahlung, Quittung,

DHL Paket, etc.

• Invoice, order, payment, package, etc.

11

Page 12: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Infection vector in 2017

+ Since 2017, OLE Package contains

LNK file

+ LNK file downloads and executes

Javascript payload

• Checks IP address

• Logs disc‘s volume serial number

• No Javascript payload served to visitors

outside of targeted countries

12

Page 13: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Infection vector in 2017

+ Back-end checks IP address and volume serial number

13

Page 14: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Installation of the Malware

Page 15: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Malicious JavaScript file

+ Obfuscated

+ Simple deobfuscation by replacing

• eval() -> document.write()

+ Deobfuscated script contains config with

• Three base64 encoded PowerShell files

• Malicious certificate authority

• PS script to “confirm certificate”

• PS script to install cert to Firefox

• Config server URL behind TOR

15

Page 16: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Malicious JavaScript file

+ Core function

• Init

• Drops cert.der, ps.ps1, psf.ps1

• Start

• Installing on IE / FF

• IE, Chrome – Windows Certificate Store

• FF – its own certificate store

• CloseAllBrowsers

• Close

16

Page 17: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Malicious JavaScript file

+ Installing on Firefox

• Finds default profile in \\Mozilla\\Firefox\\Profiles

• Edits prefs.js

• Delete blockDotOnion

• Delete network.proxy

settings

17

Page 18: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Installing the certificate

+ Uses Certutil

+ Uses “PS” PowerShell script to “confirm”

security warning and click on Yes to install

18

Page 19: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Installing the certificate

+ Finds a window with Dialog Box system class in csrss or certutil process

+ SendMessage, BM_CLICK

+ Security warning quickly disappears

19

Page 20: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Installing the certificate

+ Fake certificate

20

Page 21: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Installing the certificate into Firefox

+ Invokes imports from nss3.dll (Network Security Services)

• CERT_GetDefaultCertDB

• Returns handle for default certificate database

• CERT_ImportCerts

• Imports the certificate

• CERT_ChangeCertTrust

• Sets flag CERTDB_TRUSTED_CA

21

Page 22: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Installing the certificate into Firefox

+ Code probably inspired by thread from exploit.in forumhttps://forum.exploit.in/index.php?showtopic=99705&mode=threaded&pid=616876

22

Page 23: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Modification of PAC URL

+ Uses hidden service gateway to access .onion domains

+ URL matches regexp format

• \w+\.onion(\.to)?\/\w+\.js\?ip=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}

23

Page 24: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Malicious PAC file

+ IP address matters

• Non-UK IP address

• UK IP address

24

Page 25: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Malicious PAC file

+ Obfuscated with Dean Edwards packer

+ Proxy server URL

• IP address : port

• Onion URL : port

+ Lists of hosts – targeting UK banks

25

Page 26: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Tor, Proxifier

+ At the end of June, additional tools

and features were added

• Tor

• Proxifier

26

Page 27: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Persistence

+ Newer versions are more persistent

+ Download and use Task Scheduler Wrapper

27

Page 28: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Example of Fake Banking Sites

Page 29: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Fake Banking Sites

+ Request credentials

• Credit Card number

• Social number

• Mobile phone number

• Security code

+ Difficult to recognize

• Fake certificate

• Legitimate certificate

+ Use counter to delay user action

29

Page 30: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Intelligent Finance

30

Page 31: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Credit Suisse

31

Page 32: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Two-factor authentication

32

Page 33: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Comparing certificates

33

Page 34: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

IP Blacklisting

34

Page 35: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Statistics

Page 36: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

GUIDS per Country

54%

26%

2%

4%

3%

11%

CH AT DE GB FR Other

36

Page 37: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Hits per day

0

2000

4000

6000

8000

10000

12000

14000

16000

Hits per day (February – April 2017)

Feb-17

Mar-17

37

Page 38: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Recognition of compromised machines

+ Incoming emails contain macros and/or embedded Packager Shell Object

+ Proxy settings in web browsers

+ Proxy auto-config files are obfuscated

+ TOR client installed

+ TOR communication detected

+ Access to TOR proxy gates

+ Task Scheduler actions

38

Page 39: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Summary

Page 40: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Summary

+ Effective social engineering tactics used to trick banking customers

+ No “Enable content” or “Enable macros”

+ Added new target country (UK)

+ No executable file, shifted completely to scripts

• PowerShell, JavaScript

+ Additional tools (Tor, Proxifier) and persistence

+ Both proxy and config URL behind TOR

40

Page 41: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Thank YouJaromír Hořejší @JaromirHorejsi

Jan Širmer @sirmer_jan

www.avast.com

Page 42: Malicious proxy Auto-Configs - FIRST · Malicious proxy Auto-Configs: Harvesting Credentials From Web Forms Made Easy Jaromír Hořejší@JaromirHorejsi Jan Širmer @sirmer_jan FIRST

Q & A