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

Infected PowerPoint Files Using Cloud Services to Deliver Multiple Malware

Jan 24 2022

Co-authored by Gustavo Palazolo and Ghanashyam Satpathy

Summary

In 2021, malicious Office documents accounted for 37% of all malware downloads detected by Netskope, showing favoritism for this infection vector among attackers. This is likely due to the ubiquitous usage of Microsoft Office in enterprises across the globe. Throughout 2021 we have analyzed many techniques used by attackers to deliver payloads through infected documents, which included the return of Emotet, a campaign that primarily uses infected documents to spread malware.

Since December 2021, Netskope Threat Labs has observed an increase in the usage of one specific file type from the Microsoft Office suite: PowerPoint. These relatively small files are being delivered through phishing emails, then downloading and executing malicious scripts through LoLBins, a common technique often used to stay under the radar. 

We spotted this campaign delivering multiple malware, such as AveMaria (a.k.a. Warzone) and AgentTesla. These files are using Bitly to shorten URLs and different cloud services like MediaFire, Blogger, and GitHub to host the payloads. In this blog post, we will analyze a malicious PowerPoint Add-In file detected by Netskope that delivers multiple malware, including AgentTesla.

Stage 01 – Infected PowerPoint File


The infection flow starts with a phishing email that carries the infected file as an attachment, along with a message that lures the victim to download and open it.

Screenshot of phishing email with a malicious attachment.
Phishing email with a malicious attachment.

The file is fairly small and it doesn’t contain anything but the malicious VBA macro.

Example of infected PowerPoint file.
Infected PowerPoint file.

The macro is obfuscated and it uses an internal function to decrypt important strings at runtime.

Example of obfuscated VBA code within the infected PowerShell file.
Obfuscated VBA code within the infected PowerShell file.

The script deobfuscation is straightforward and leads to the following VBA code.

Screenshot of command executed by the malicious PowerShell file.
Command executed by the malicious PowerShell file.

This technique uses Outlook (COM Object) to execute PowerShell, which bypasses the child process created by PowerPoint.

Screenshot of PowerShell spawned by Outlook’s process.
PowerShell spawned by Outlook’s process.

The script is executed with a combination of PowerShell and mshta, a similar technique employed by BazarLoader.

Screenshot of malicious script being executed through LoLBins.
Malicious script being executed through LoLBins.

Stage 02 – VBS File

The URL contacted by the mshta binary is shortened through the Bitly domain “j.mp”, and the payload is hosted on MediaFire, a cloud service for file storage and sharing.

The next stage is a VBS script that is lightly obfuscated within an HTML page, which is decoded and executed through a simple JavaScript function.

Screenshot of second stage executed by the infected PowerPoint file.
Second stage executed by the infected PowerPoint file.

Once deobfuscated, the VBS script performs multiple tasks to:

  1. Create a persistence mechanism through the Windows registry to execute two PowerShell scripts from external URLs. The first script delivers AgentTesla, and the second script is used to disable some OS defenses, such as Windows Defender.
  1. Create a scheduled task that executes a script from an external URL through mshta approximately every hour. This script delivers a cryptocurrency stealer developed in PowerShell, hidden within a fake web page hosted with Blogger.
  1. Create a persistence mechanism through the Windows registry to execute a script from an external URL using mshta. Unfortunately, we can’t tell what was being executed as this URL was offline at the time of the analysis.
Example of malicious VBS responsible for the next stages.
Malicious VBS responsible for the next stages.

Stage 03 – AgentTesla

The first PowerShell script is responsible for executing AgentTesla, which is a .NET-based Remote Access Trojan with many capabilities, such as stealing browser’s passwords, capturing keystrokes, clipboard, etc.

The code is slightly obfuscated, protecting variables, function names, and strings. There are two large arrays that contain:

  1. Compressed bytes of AgentTesla;
  2. Compressed bytes of a .NET Injector used for process injection;

None of the executables are written to disk, which characterizes this attack as fileless.

Screenshot of PowerShell script responsible for executing AgentTesla.
PowerShell script responsible for executing AgentTesla.

Once both files are decompressed, the script loads the injector and calls a function named “Execute”, responsible for injecting AgentTesla payload into an instance of “aspnet_compiler.exe”, which is a binary from the .NET framework.

Example of removing a minor obfuscation in the PowerShell script, showing how the payload gets executed.
Removing a minor obfuscation in the PowerShell script, showing how the payload gets executed.

Most of the injector’s function names are obfuscated, but we can see the namespace, the class, and the method that is being called to inject AgentTesla into a process. Furthermore, an injector using “projFUD” as namespace was previously spotted in the wild, used by other malware such as ASyncRAT and RevengeRAT.

Screenshot of injector’s decompiled code.
Injector’s decompiled code.

AgentTesla is developed in .NET and this sample is using a protector known as “Obfuscar”, which creates a few mechanisms in the code to make analysis harder.

Screenshot of AgentTesla sample delivered by the infected PowerPoint file.
AgentTesla sample delivered by the infected PowerPoint file.

Despite the protector’s usage, it’s still possible to see clean code from the decompiler, like this method that sends HTTP requests.

Example of function used by AgentTesla for network requests.
Function used by AgentTesla for network requests.

All the strings used by AgentTesla are encrypted within the binary, where all the characters are stored in a single array of bytes. Once it’s running, the code decrypts all the characters in the list using a simple XOR operation with the encrypted byte, its position on the list, and the decimal 170.  Whenever AgentTesla needs to access a string, it calls a function that returns the string by accessing its position in the list, and the respective length.

Screenshot of AgentTesla string encryption scheme.
AgentTesla string encryption scheme.

Using the same logic, we can use a combination of regex and a Python script to decrypt all the strings in the binary. The complete list of decrypted strings can be found on our Github page.

Screenshot of decrypted strings from AgentTesla.
Decrypted strings from AgentTesla.

Furthermore, AgentTesla sends an HTTP POST request to a malicious server with information about the infected machine, such as the computer name, username, IP address, etc.

Screenshot of AgentTesla HTTP request.
AgentTesla HTTP request.

Stage 04 – PowerShell

The second PowerShell file executed by the VBS script in the second stage is mostly used to disable Windows Defender.

Screenshot of PowerShell downloading the payloads.
PowerShell downloading the payloads.

Once running, it downloads a file from GitHub named NSudo, which is used for privilege escalation (TA0004). NSudo is executed as “TrustedInstaller” through the arguments  “-U:T”.

Screenshot of GUI from downloaded file “NSudo”.
GUI from downloaded file “NSudo”.

The second download is a VBS script hosted on MediaFire, which uses NSudo and other commands to disable Windows Defender and to add a few AV exclusions based on file extensions, paths, and executable names.

Screenshot of VBS downloaded by PowerShell.
VBS downloaded by PowerShell.

The VBS is executed through another Living-off-the-Land technique, by first creating an INF file with the command to be executed.

Screenshot of PowerShell creating INF file.
PowerShell creating INF file.

And then executing the INF file with the cmstp LoLBin.

Screenshot of executing the INF file.
Executing the INF file.

Stage 05 – Cryptocurrency Stealer

The third URL downloaded by the second stage VBS is hosted with Blogger, which tries to camouflage itself through a fake web page that says the content is sensitive.

Example of fake web page downloaded by the second stage.
Fake web page downloaded by the second stage.

Despite the attempt to hide behind this web page, we can find two malicious VBS within the HTML, which are decoded and executed with a simple JavaScript.

Example of VBS code hidden in the HTML page.
VBS code hidden in the HTML page.

One of the VBS executed in this stage leads to the same PowerShell that delivers AgentTesla, which is redundant. However, the other VBS code leads to a simple cryptocurrency stealer written in PowerShell.

Example of VBS loading and executing the cryptocurrency stealer.
VBS loading and executing the cryptocurrency stealer.

The malware is fairly simple, it works by checking the clipboard data with a regex that matches the cryptocurrency wallet pattern. If it is found, the data is replaced with the attacker’s wallet address.

Example of cryptocurrency stealer in PowerShell.
Cryptocurrency stealer in PowerShell.

The code is able to replace the address for many coins, such as Bitcoin, Ethereum, XMR, DOGE, etc.

Screenshot of cryptocurrency addresses used by the attacker.
Cryptocurrency addresses used by the attacker.

The complete list of the addresses used by the attacker can be found on our GitHub page.

Conclusion

Attackers not only continue to abuse Microsoft Office to deliver malware, but are also increasingly including cloud services in their attacks, as this adds a certain resilience to the entire process. Netskope Advanced Threat Protection includes a custom Microsoft Office file analyzer and a sandbox to detect campaigns like the one we described in this analysis. We will continue to provide updates on this threat as it evolves.

Protection

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

  • Netskope Threat Protection
    • Document-Office.Trojan.AgentTesla
    • Win32.Trojan.AgentTesla
  • 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
  • Gen.Malware.Detect.By.StHeur.MsOffice indicates a sample that was detected by Netskope’s static ML Microsoft Office analyzer engine.

Below we have an example of a sample detected by Netskope, which has a score of 9/63 on VirusTotal.

Screenshot of VirusTotal page

IOCs

A full list of IOCs and a Yara rule are all available in our GitHub repo.

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