1. Skip to navigation
  2. Skip to content
  3. Skip to secondary-content




Trojan-Downloader:OSX/Flashback.B

Detection Names : Trojan-Downloader:OSX/Flashback.B
Category:Malware
Type:Trojan-Downloader
Platform:OSX

Summary

Trojan-Downloader:OSX/Flashback.B poses as a Flash Player installer, and connects to a remote host to obtain installation configurations and files.

Disinfection

Manual Removal Instructions

  • In Terminal, convert the affected PLIST files to XML:
    • plutil -convert xml1 /Applications/Safari.app/Contents/Info.plist
    • plutil -convert xml1 /Applications/Firefox.app/Contents/Info.plist
  • Remove the following entry from the PLIST files:
    • <key>LSEnvironment</key><dict><key>DYLD_INSERT_LIBRARIES</key><string>%malware_path%</string>
      </dict>
  • Delete the file specified in %malware_path%

Additional Details

Trojan-Downloader:OSX/Flashback.B poses as a Flash Player installer and connects to a remote host to obtain further installation files and configurations.

Screenshot of the Trojan-Downloader:OSX/Flashback.B installer.


Unlike the first variant, the user is required to key in the administrator password to complete the installation / infection.

On installation, the installer first checks if the following file is found in the system:

  • /Library/Little Snitch/lsd

Little Snitch is a firewall program for Mac OS X. If the program is found, the installer will skip the rest of its routine and proceed to delete itself.

If the trojan is cleared to proceed, it connects to a remote host, identified as h t t p : / / macosxsoftwareupdate .org/counter/%encoded_strings%, with the decoded string following this format:

  • %Hardware_UUID% | %machine_architecture% | %kerner_version%

As of this writing, the remote host is not accessible.



Payload

Installation files and configuration returned by the host is encrypted using RC4, where the MD5 hash of the Hardware UUID of the infected system is used as the key. The decrypted content follows this format:

  • %encoded_payload_filename% | %encoded_payload_content%

The installer drop copies of the payload to the following locations:

  • /Applications/Safari.app/Contents/Resources/%payload_filename%
  • /Applications/Firefox.app/Contents/Resources/%payload_filename%

A DYLD_INSERT_LIBRARIES environment variable is also added to the targeted browsers as launch point. This is done by inserting a LSEnvironment entry to the corresponding Info.plist of the browsers.

Example:

  • The following line is inserted into "/Applications/Safari.app/Contents/Info.plist":
    • <key>LSEnvironment</key><dict><key>DYLD_INSERT_LIBRARIES</key>
      <string>/Applications/Safari.app/Contents/Resources/%payload_filename%</string></dict>
  • The following line is inserted to "/Applications/Firefox.app/Contents/Info.plist":
    • <key>LSEnvironment</key><dict><key>DYLD_INSERT_LIBRARIES</key>
      <string>/Applications/Firefox.app/Contents/Resources/%payload_filename%</string></dict>

The installer then restarts running instances of Safari and Firefox, to take the payload into effect.