34
Protecting the irreplaceable | f-secure.com Flashback OS X Malware Broderick Ian Aquilino September 27, 2012

Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Protecting the irreplaceable | f-secure.com

Flashback OS X Malware

Broderick Ian Aquilino – September 27, 2012

Page 2: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Agenda

• Infection Vector

• Installation

• Main Binary

• C&C Servers

• Payload

• Remaining Binaries

• Filter/Loader Binary

• LaunchAgent Binary

September 27, 2012

2

Page 3: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Infection Summary

September 27, 2012

3

Hacked

Website

Distribution

Website

Installer Main Binary

Filter /

Loader

Launch

Agent

Page 4: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Infection Vector

September 27, 2012

4

Hacked

Website

Distribution

Website

Installer Main Binary

Filter /

Loader

Launch

Agent

Page 5: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Infection Vector

September 27, 2012

5

Page 6: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Infection Vector

September 27, 2012

6

Page 7: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Infection Vector

September 27, 2012

7

Page 8: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Infection Vector

• CVE-2008-5353

• CVE-2011-3544

• CVE-2012-0507

September 27, 2012

8

Page 9: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Installation

September 27, 2012

9

Hacked

Website

Distribution

Website

Installer Main Binary

Filter /

Loader

Launch

Agent

Page 10: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary

September 27, 2012

10

Hacked

Website

Distribution

Website

Installer Main Binary

Filter /

Loader

Launch

Agent

Page 11: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Update Server

• Creates a thread that connects to a set of C&C servers to

download updates every 3670 secs (>1hr)

September 27, 2012

11

Hardcoded list Returned by a

third party server

Generated list based on date (*new variants

only)

Page 12: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Update Program

• Response:

• %marker1%%encoded_VM_program%%marker2%

%encoded_MD5_RSA_signature%%marker3%

• Log SHA1 of VM program

• {HOME}/Library/Logs/swlog

• {HOME}/Library/Logs/vmLog

September 27, 2012

12

Page 13: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload C&C (Newer Variants)

• Same thread will also connect to another set of C&C

servers

• This time to select a server for executing the payload

September 27, 2012

13

Updateable list (Entry ID

3035856777)

Hardcoded list (Entry ID

2522550406)

Generated list based on date

Page 14: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload C&C (Old Variants)

• Selected only once - when binary is loaded

September 27, 2012

14

Hardcoded list (Entry ID

2413278617)

Page 15: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload C&C Validation

• Response

• %SHA1_string_of_server_name% |

%MD5_RSA_signature%

• Use (2nd – old variant / 1st – new variant) host in

hardcoded list as default server

• Use “localhost” if configuration entry does not exists

(new variant only)

September 27, 2012

15

Page 16: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload (Old Variants)

September 27, 2012

16

Outbound

CFWriteStreamWrite

send

Inbound

CFReadStreamRead

recv

Page 17: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload (Old Variants)

September 27, 2012

17

Outbound

To Google?

Pls reply in a format that is parseable

Inbound

Contains target string?

Inject content

Page 18: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Demo

September 27, 2012

18

Page 19: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload (Newer Variants)

September 27, 2012

19

Browser

CFWriteStreamWrite

CFReadStreamRead

Other Modules

Command

and Control

Google Destination

Page 20: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload (Newer) -> Search

September 27, 2012

20

Browser

CFWriteStreamWrite

CFReadStreamRead

Other Modules

Command

and Control

Google Destination

Keyword and other info

Page 21: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload (Newer) -> Search

September 27, 2012

21

Browser

CFWriteStreamWrite

CFReadStreamRead

Other Modules

Command

and Control

Google Destination

Redirection data and/or

other commands

Original search

request

Google

search result

Page 22: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload (Newer) -> Click

September 27, 2012

22

Browser

CFWriteStreamWrite

CFReadStreamRead

Other Modules

Command

and Control

Google Destination

Tracking info

Redirection

info

Redirection

info

Page 23: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload (Newer) -> Click

• Google return the request in the response

September 27, 2012

23

Page 24: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload (Newer) -> Click

September 27, 2012

24

Browser

CFWriteStreamWrite

CFReadStreamRead

Other Modules

Command

and Control

Google Destination

Redirection

script

Request to

new destination

Page 25: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Main Binary: Payload (Newer) -> Click

September 27, 2012

25

Browser

CFWriteStreamWrite

CFReadStreamRead

Other Modules

Command

and Control

Google Destination

Request with

modified referrer

Page 26: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Demo

September 27, 2012

26

Page 27: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Filter/Loader Binary

September 27, 2012

27

Hacked

Website

Distribution

Website

Installer Main Binary

Filter /

Loader

Launch

Agent

Page 28: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Filter/Loader Binary

September 27, 2012

28

Page 29: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Filter/Loader Binary

September 27, 2012

29

Page 30: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

LaunchAgent Binary

September 27, 2012

30

Hacked

Website

Distribution

Website

Installer Main Binary

Filter /

Loader

Launch

Agent

Page 31: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

LaunchAgent Binary

• Stand-alone light version of the updater module found in

the main binary

• Uses different set of C&C servers

• Similar server validation process

• Logs CRC32 of the update/installation program

• /tmp/.%crc32_of_VM_program%

• Have it’s own instruction set September 27, 2012

31

Generated list based on constants

Generated list based on date

Hardcoded list

Page 32: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

LaunchAgent Binary - Recent Variant

September 27, 2012

32

Page 33: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

LaunchAgent Binary - Recent Variant

• Taken over the responsibility of installing the malware

September 27, 2012

33

Page 34: Flashback OS X Malware - Virus Bulletin · Flashback OS X Malware Broderick Ian Aquilino – September 27, 2012 . Agenda ... %MD5_RSA_signature% •Use (2nd st– old variant / 1

Thank you! Please check out the conference paper for more details.

[email protected]