Netskope named a Leader in the 2024 Gartner® Magic Quadrant™ for Security Service Edge. Get the report

close
close
  • Why Netskope chevron

    Changing the way networking and security work together.

  • Our Customers chevron

    Netskope serves more than 3,000 customers worldwide including more than 25 of the Fortune 100

  • Our Partners chevron

    We partner with security leaders to help you secure your journey to the cloud.

Still Highest in Execution.
Still Furthest in Vision.

Learn why 2024 Gartner® Magic Quadrant™ named Netskope a Leader for Security Service Edge the third consecutive year.

Get the report
Netskope Named a Leader in the 2024 Gartner® Magic Quadrant™ for Security Service Edge graphic for menu
We help our customers to be Ready for Anything

See our customers
Woman smiling with glasses looking out window
Netskope’s partner-centric go-to-market strategy enables our partners to maximize their growth and profitability while transforming enterprise security.

Learn about Netskope Partners
Group of diverse young professionals smiling
Your Network of Tomorrow

Plan your path toward a faster, more secure, and more resilient network designed for the applications and users that you support.

Get the white paper
Your Network of Tomorrow
Introducing the Netskope One Platform

Netskope One is a cloud-native platform that offers converged security and networking services to enable your SASE and zero trust transformation.

Learn about Netskope One
Abstract with blue lighting
Embrace a Secure Access Service Edge (SASE) architecture

Netskope NewEdge is the world’s largest, highest-performing security private cloud and provides customers with unparalleled service coverage, performance and resilience.

Learn about NewEdge
NewEdge
Netskope Cloud Exchange

The Netskope Cloud Exchange (CE) provides customers with powerful integration tools to leverage investments across their security posture.

Learn about Cloud Exchange
Netskope video
The platform of the future is Netskope

Intelligent Security Service Edge (SSE), Cloud Access Security Broker (CASB), Cloud Firewall, Next Generation Secure Web Gateway (SWG), and Private Access for ZTNA built natively into a single solution to help every business on its journey to Secure Access Service Edge (SASE) architecture.

Go to Products Overview
Netskope video
Next Gen SASE Branch is hybrid — connected, secured, and automated

Netskope Next Gen SASE Branch converges Context-Aware SASE Fabric, Zero-Trust Hybrid Security, and SkopeAI-powered Cloud Orchestrator into a unified cloud offering, ushering in a fully modernized branch experience for the borderless enterprise.

Learn about Next Gen SASE Branch
People at the open space office
Designing a SASE Architecture For Dummies

Get your complimentary copy of the only guide to SASE design you’ll ever need.

Get the eBook
Make the move to market-leading cloud security services with minimal latency and high reliability.

Learn about NewEdge
Lighted highway through mountainside switchbacks
Safely enable the use of generative AI applications with application access control, real-time user coaching, and best-in-class data protection.

Learn how we secure generative AI use
Safely Enable ChatGPT and Generative AI
Zero trust solutions for SSE and SASE deployments

Learn about Zero Trust
Boat driving through open sea
Netskope achieves FedRAMP High Authorization

Choose Netskope GovCloud to accelerate your agency’s transformation.

Learn about Netskope GovCloud
Netskope GovCloud
  • Resources chevron

    Learn more about how Netskope can help you secure your journey to the cloud.

  • Blog chevron

    Learn how Netskope enables security and networking transformation through security service edge (SSE)

  • Events and Workshops chevron

    Stay ahead of the latest security trends and connect with your peers.

  • Security Defined chevron

    Everything you need to know in our cybersecurity encyclopedia.

Security Visionaries Podcast

How to Use a Magic Quadrant and Other Industry Research
In this episode Max Havey, Steve Riley and Mona Faulkner dissect the intricate process of creating a Magic Quadrant and why it's much more than just a chart.

Play the podcast
How to Use a Magic Quadrant and Other Industry Research podcast
Latest Blogs

Read how Netskope can enable the Zero Trust and SASE journey through security service edge (SSE) capabilities.

Read the blog
Sunrise and cloudy sky
SASE Week 2023: Your SASE journey starts now!

Replay sessions from the fourth annual SASE Week.

Explore sessions
SASE Week 2023
What is Security Service Edge?

Explore the security side of SASE, the future of network and protection in the cloud.

Learn about Security Service Edge
Four-way roundabout
  • Company chevron

    We help you stay ahead of cloud, data, and network security challenges.

  • Leadership chevron

    Our leadership team is fiercely committed to doing everything it takes to make our customers successful.

  • Customer Solutions chevron

    We are here for you and with you every step of the way, ensuring your success with Netskope.

  • Training and Certification chevron

    Netskope training will help you become a cloud security expert.

Supporting sustainability through data security

Netskope is proud to participate in Vision 2045: an initiative aimed to raise awareness on private industry’s role in sustainability.

Find out more
Supporting Sustainability Through Data Security
Thinkers, builders, dreamers, innovators. Together, we deliver cutting-edge cloud security solutions to help our customers protect their data and people.

Meet our team
Group of hikers scaling a snowy mountain
Netskope’s talented and experienced Professional Services team provides a prescriptive approach to your successful implementation.

Learn about Professional Services
Netskope Professional Services
Secure your digital transformation journey and make the most of your cloud, web, and private applications with Netskope training.

Learn about Training and Certifications
Group of young professionals working

Ousaban: LATAM Banking Malware Abusing Cloud Services

Aug 04 2022

Summary

Ousaban (a.k.a. Javali) is a banking malware that emerged between 2017 and 2018, with the primary goal of stealing sensitive data from financial institutions in Brazil. This malware is developed in Delphi and it comes from a stream of LATAM banking trojans sourced from Brazil, sharing similarities with other families like Guildma, Casbaneiro, and Grandoreiro. Furthermore, the threat often abuses cloud services, such as Amazon S3 to download second stage payloads, and Google Docs to retrieve the C2 configuration.

Netskope Threat Labs came across recent Ousaban samples that are abusing multiple cloud services throughout the attack flow, such as Amazon or Azure to download its payloads and log the victim’s IP, and Pastebin to retrieve the C2 configuration. The malware is downloaded through MSI files either by a JavaScript or a Delphi DLL, and is targeting more than 50 financial institutions in Brazil. Furthermore, we also found Telegram abuse in the malware code, likely used for C2 communication via Webhooks.

Diagram of Ousaban attack flow

In this blog post, we will analyze Ousaban, showing its delivery methods, obfuscation techniques, and C2 communication.

Delivery methods

Ousaban is delivered through malicious MSI files spread in phishing emails. In this campaign, we found that the MSI file downloads and executes the second stage either through JavaScript or a PE file.

Delivery by JavaScript
In the first scenario, the JavaScript is executed via CustomAction.

Example of MSI file executing JavaScript.
MSI file executing JavaScript.

The JavaScript code is obfuscated, likely in an attempt to slow down analysis.

Example of JavaScript code extracted from the MSI file
JavaScript code extracted from the MSI file

Looking at the deobfuscated code, these are the steps executed by the malware:

  1. Creates an empty file to be used as a flag in case the MSI is executed twice (similar concept as Mutex usage);
  2. Downloads the second stage from the cloud, either from Amazon or Azure;
  3. Decompress the ZIP file downloaded from the cloud and renames the main executable;
  4. Sends a simple GET request to another URL (Azure or another attacker-controlled server), alerting the attacker and logging the victim’s IP;
  5. Executes the main file via WMIC.
Screenshot of deobfuscated JavaScript extracted from the MSI file.
Deobfuscated JavaScript extracted from the MSI file.

Delivery by File

We also found Ousaban being delivered without JavaScript. In this case, we can see a file named “avisoProtesto.exe” being executed via MSI CustomAction.

Example of MSI executing a PE file.
MSI executing a PE file.

“avisoProtesto.exe” is a signed and non-malicious binary exploited to execute the malicious DLL via DLL search order hijacking.

Example of non-malicious binary used to load the malicious DLL.
Non-malicious binary used to load the malicious DLL.

This is possible because the non-malicious binary loads a DLL named “crashreport.dll” without specifying the real path of the library. Therefore, the attacker places a DLL with the same name in the same folder of the executable, making it load the malicious DLL instead.

Example of Binary vulnerable to DLL hijacking.
Binary vulnerable to DLL hijacking.

In this case, both next-stage and tracker URL are loaded from a text file, named “FileLinks”.

Screenshot of malicious URLs loaded by the malware.
Malicious URLs loaded by the malware.

All the files we analyzed were downloading the next stage from the cloud, either Amazon or Azure. In some cases, the URL used to log the victim’s IP address was also from Azure. All the URLs can be found in our GitHub repository.

Loading the second stage

The binary downloaded from the cloud is a ZIP file containing the next stage payload, which is a Delphi DLL executed by a non-malicious binary.

Example of Files downloaded from the cloud.
Files downloaded from the cloud.

The file executed by the malware is a non-malicious executable with a valid signature (“Securityo6Z3.exe”).

Screenshot of certificate found in the file executed by the malware.
Certificate found in the file executed by the malware.

The malicious DLL is then loaded by the non-malicious binary through a DLL search order hijacking vulnerability, the same technique that is used by some of the downloaders.

Example of non-malicious binary loading the next stage DLL.
Non-malicious binary loading the next stage DLL.

Second stage

The second stage is a Delphi malware responsible for decrypting and loading Ousaban’s payload in the following flow:

  1. Loads the encrypted bytes of Ousaban from disk;
  2. Decrypts Ousaban payload using a key stored in the “.data” section;
  3. Decrypts the code that runs Ousaban using the same key, stored in the “.data” section.
Example of decryption key and encrypted code stored in the “.data” section of the second stage
Decryption key and encrypted code stored in the “.data” section of the second stage.

The encrypted payload of Ousaban is located among the files downloaded from the cloud, named “ZapfDingbats.pdf”.

Example of third stage encrypted among files downloaded from the cloud.
Third stage encrypted among files downloaded from the cloud.

Once running, the second stage loads Ousaban’s encrypted bytes, which will be decrypted using the key stored in the PE “.data” section.

Screenshot of encrypted Ousaban payload being loaded.
Encrypted Ousaban payload being loaded.

Aside from decrypting the payload, the second stage also decrypts the code that will execute Ousaban in runtime, probably to slow down reverse engineering.

Screenshot of second stage decrypting and loading Ousaban payload.
Second stage decrypting and loading Ousaban payload.

We created a Python script that can be used to statically decrypt Ousaban payloads, using the same algorithm found in the malware. The code can be found in our GitHub repository.

Important API calls used by this stage are also dynamically resolved, another common technique to slow down reverse engineering.

Screenshot of APIs dynamically loaded by the malware.
APIs dynamically loaded by the malware.

Ousaban payload

Ousaban is a Delphi banking trojan, mainly focused on stealing sensitive data from financial institutions in Brazil. As previously mentioned, Ousaban shares many similarities with other Brazilian banking malware, such as the algorithm to decrypt the strings and overlay capabilities.

Ousaban commonly packs/protects its payloads with UPX or Enigma.

Example of Ousaban payload packed with UPX.
Ousaban payload packed with UPX.

One of the most characteristic aspects of Brazilian-sourced banking malware is the algorithm used to encrypt/decrypt important strings.

Screenshot of Ousaban encrypted strings.
Ousaban encrypted strings.

The algorithm used as a base by these trojans was originally demonstrated in a Brazilian magazine called “Mestres Da Espionagem Digital” in 2008. Simply put, it parses the hexadecimal string and uses a chained XOR operation with the key and the previous byte of the string.

Screenshot of part of the algorithm to decrypt the strings, commonly found in Brazilian banking malware.
Part of the algorithm to decrypt the strings, commonly found in Brazilian banking malware.

We created a Python script that can be used to decrypt strings from malware that uses this algorithm, such as Ousaban, Guildma, Grandoreiro, and others. The code can be used to decrypt a single string:

Screenshot of decrypting a single string from the malware.
Decrypting a single string from the malware.

Or to decrypt multiple strings at once, saving the result in a JSON file and also providing the option to show in the console.

Screenshot of decrypting multiple strings from the malware.
Decrypting multiple strings from the malware.

Like other Brazilian-sourced malware, Ousaban monitors the title text from the active window and compares it with a list of strings, to verify if the victim is accessing the website or an application of one of its targets.

Exammple of malware monitoring windows titles.
Malware monitoring windows titles.

In the files we analyzed, we found Ousaban targeting over 50 different financial institutions. If the window title matches one of the targets, Ousaban starts the communication with the C2 address, providing the option to the attacker to access the machine remotely.

C2 communication

Ousaban stores the C2 address remotely. In this case, the malware is using Pastebin to fetch the data. In 2021, this malware was also spotted using Google Docs to fetch this information.

Within the files downloaded from the cloud by the first stage, there’s a file named “Host”, which stores the external location of the C2 configuration. The information is encrypted with the same algorithm used in the strings.

Example of C2 configuration stored on Pastebin.
C2 configuration stored on Pastebin.

The data is stored in a dictionary, where the C2 host is also encrypted with the same algorithm used in the strings.

""
Retrieving and decrypting the C2 server address.

Ousaban only starts the communication once a targeted company is identified.

Screenshot of Ousaban C2 communication.
Ousaban C2 communication.

Lastly, the Ousaban samples we analyzed contain a routine to communicate via Telegram using Webhooks, likely to be used as a secondary channel.

Screenshot of part of Ousaban code to communicate via Telegram.
Part of Ousaban code to communicate via Telegram.

Conclusion

Ousaban is a malware designed to steal sensitive information from several financial institutions, mainly based in Brazil. Ousaban shares many similarities with other Brazilian-based banking trojans, such as Guildma and Grandoreiro. Also, as we demonstrated in this analysis, the attackers behind this threat are abusing multiple cloud services throughout the attack chain. We believe that the use of the cloud will continue to grow among attackers especially due to cost and ease.

Protection

Netskope Threat Labs is actively monitoring this campaign and has ensured coverage for all known threat indicators and payloads. 

  • Netskope Threat Protection
    • Win32.Malware.Heuristic
    • Win32.Infostealer.Heuristic
  • Netskope Advanced Threat Protection provides proactive coverage against this threat.
    • Gen.Malware.Detect.By.StHeur indicates a sample that was detected using static analysis
    • Gen.Malware.Detect.By.Sandbox indicates a sample that was detected by our cloud sandbox

IOCs

All the IOCs related to this campaign and scripts can be found in our GitHub repository.

author image
Gustavo Palazolo
Gustavo Palazolo is an expert in malware analysis, reverse engineering and security research, working many years in projects related to electronic fraud protection. He is currently working on the Netskope Research Team, discovering and analyzing new malware threats.

Stay informed!

Subscribe for the latest from the Netskope Blog