www.sentinelone.com Open in urlscan Pro
172.67.74.101  Public Scan

URL: https://www.sentinelone.com/labs/operation-magalenha-long-running-campaign-pursues-portuguese-credentials-and-pii/
Submission: On June 11 via manual from ES — Scanned from ES

Form analysis 6 forms found in the DOM

GET https://www.sentinelone.com

<form autocomplete="off" method="get" action="https://www.sentinelone.com">
  <fieldset>
    <input type="search" name="s" placeholder="Search ..." value="">
    <button class="search" type="submit">
      <span class="light">
        <img class="icon-search" src="https://www.sentinelone.com/wp-content/themes/sentinelone/carbine/assets/svg/search-icon-white.svg">
        <img class="icon-down" src="https://www.sentinelone.com/wp-content/themes/sentinelone/carbine/assets/svg/navigation-close.svg">
      </span>
      <span class="dark">
        <img class="icon-search" src="https://www.sentinelone.com/wp-content/themes/sentinelone/carbine/assets/svg/search-icon.svg">
        <img class="icon-down" src="https://www.sentinelone.com/wp-content/themes/sentinelone/carbine/assets/svg/navigation-close-dark.svg">
      </span>
    </button>
  </fieldset>
</form>

GET https://www.sentinelone.com/

<form role="search" method="get" class="search-form" action="https://www.sentinelone.com/">
  <label>
    <span class="screen-reader-text">Search ...</span>
    <input type="search" class="search-field" placeholder="Search ..." value="" name="s">
  </label>
  <input type="submit" class="search-submit" value="Search">
</form>

<form id="mktoForm_1985" novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft bf_form_init" style="font-family: inherit; font-size: 13px; color: rgb(51, 51, 51); width: 1601px;" bf_offer_id="1662335205">
  <style type="text/css"></style>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 5px;">
      <div class="mktoOffset" style="width: 5px;"></div>
      <div class="mktoFieldWrap mktoRequiredField"><label for="Email" id="LblEmail" class="mktoLabel mktoHasWidth" style="width: 0px;">
          <div class="mktoAsterix">*</div>
        </label>
        <div class="mktoGutter mktoHasWidth" style="width: 5px;"></div><input id="Email" name="Email" placeholder="Business Email" maxlength="255" aria-labelledby="LblEmail InstructEmail" type="email"
          class="mktoField mktoEmailField mktoHasWidth mktoRequired" aria-required="true" style="width: 150px;"><span id="InstructEmail" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Employees__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Industry" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="AnnualRevenue" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Address" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="City" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="PostalCode" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="SIC_Code2__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Website" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="demandbaseSID" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Phone" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="demandbaseCompany" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="demandbaseCountry" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="demandbaseState" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="demandbaseEmployeeRange" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="subIndustry" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="dataSource" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="watchListAccountType" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="watchListAccountOwner" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="watchListAccountStatus" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="watchListCampaignCode" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoButtonRow"><span class="mktoButtonWrap mktoNative" style="margin-left: 110px;"><button type="submit" class="mktoButton">Subscribe</button></span></div>
  <div class="marketo-legal">By clicking Subscribe, I agree to the use of my personal data in accordance with SentinelOne <a href="/legal/privacy-policy/">Privacy Policy</a>. SentinelOne will not sell, trade, lease, or rent your personal data to
    third parties.</div><input type="hidden" name="formid" class="mktoField mktoFieldDescriptor" value="1985"><input type="hidden" name="munchkinId" class="mktoField mktoFieldDescriptor" value="327-MNM-087">
</form>

<form id="mktoForm_2673" novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft bf_form_init" style="font-family: inherit; font-size: 13px; color: rgb(51, 51, 51); width: 1601px;" bf_offer_id="1662308330">
  <style type="text/css"></style>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 5px;">
      <div class="mktoOffset" style="width: 5px;"></div>
      <div class="mktoFieldWrap mktoRequiredField"><label for="Email" id="LblEmail" class="mktoLabel mktoHasWidth" style="width: 0px;">
          <div class="mktoAsterix">*</div>
        </label>
        <div class="mktoGutter mktoHasWidth" style="width: 5px;"></div><input id="Email" name="Email" placeholder="Business Email" maxlength="255" aria-labelledby="LblEmail InstructEmail" type="email"
          class="mktoField mktoEmailField mktoHasWidth mktoRequired" aria-required="true" style="width: 150px;"><span id="InstructEmail" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Employees__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Industry" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="AnnualRevenue" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Address" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="City" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="PostalCode" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="SIC_Code2__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Website" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="demandbaseSID" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Phone" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="demandbaseCompany" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="demandbaseCountry" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="demandbaseState" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="demandbaseEmployeeRange" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="subIndustry" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="dataSource" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="watchListAccountType" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="watchListAccountOwner" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="watchListAccountStatus" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="watchListCampaignCode" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 5px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoButtonRow"><span class="mktoButtonWrap mktoNative" style="margin-left: 110px;"><button type="submit" class="mktoButton">Subscribe</button></span></div>
  <div class="marketo-legal">By clicking Subscribe, I agree to the use of my personal data in accordance with SentinelOne <a href="/legal/privacy-policy/">Privacy Policy</a>. SentinelOne will not sell, trade, lease, or rent your personal data to
    third parties.</div><input type="hidden" name="formid" class="mktoField mktoFieldDescriptor" value="2673"><input type="hidden" name="munchkinId" class="mktoField mktoFieldDescriptor" value="327-MNM-087">
</form>

<form novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft" style="font-family: inherit; font-size: 13px; color: rgb(51, 51, 51); visibility: hidden; position: absolute; top: -500px; left: -1000px; width: 1600px;"></form>

<form novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft" style="font-family: inherit; font-size: 13px; color: rgb(51, 51, 51); visibility: hidden; position: absolute; top: -500px; left: -1000px; width: 1600px;"></form>

Text Content

 * 
 * 


 * ABOUT
 * CVE DATABASE
 * CONTACT
 * VISIT SENTINELONE.COM

en
 * English
 * 日本語
 * Deutsch
 * Español
 * Français
 * Italiano
 * Dutch
 * 한국어



Back
 * ABOUT
 * CVE DATABASE
 * CONTACT
 * VISIT SENTINELONE.COM


Adversary


OPERATION MAGALENHA | LONG-RUNNING CAMPAIGN PURSUES PORTUGUESE CREDENTIALS AND
PII

Aleksandar Milenkoski / May 25, 2023

By Aleksandar Milenkoski and Tom Hegel


EXECUTIVE SUMMARY

 * Over the first quarter of 2023, SentinelLabs observed a campaign targeting
   users of Portuguese financial institutions conducted by a Brazilian threat
   group.
 * The campaign is the latest iteration of a broader activity nexus dating back
   to 2021, now targeting the users of over 30 financial institutions.
 * The attackers can steal credentials and exfiltrate users’ data and personal
   information, which can be leveraged for malicious activities beyond financial
   gain.
 * The threat group simultaneously deploys two backdoor variants to maximize
   attack potency.
 * To ensure uninterrupted operations, the threat actor has shifted its
   infrastructure hosting from IaaS providers implementing stricter anti-abuse
   measures, such as a major US-based cloud provider, to Timeweb, a Russian IaaS
   provider known for its more relaxed policies.


OVERVIEW

SentinelLabs has been tracking a campaign over the first quarter of 2023
targeting users of Portuguese financial institutions, including government,
government-backed, and private institutions. Based on similarities in TTPs as
well as overlaps in malware implementation and functionalities reported in
previous work, we assess with high confidence that the campaign has been
conducted by a Brazilian threat group. This conclusion is further supported by
the presence of Brazilian-Portuguese language usage within the infrastructure
configurations and malware implementations. We refer to the campaign conducted
by this threat group as Operation Magalenha.

The threat actor deploys two backdoor variants on each infected machine, which
we collectively dubbed PeepingTitle. Based on overlaps in code and
functionalities, we assess that the PeepingTitle backdoors are part of the
broader Brazilian financial malware ecosystem – specifically, of the Maxtrilha
family (named by the then-used encryption key) first observed in 2021. We
therefore assess that Operation Magalenha is the latest iteration of a
long-standing activity nexus.

Operation Magalenha is characterized by changes in infrastructure design, and
malware implementation and deployment. The threat actor behind the operation
deploys two PeepingTitle variants simultaneously on infected machines, aiming to
maximize the potency of their attacks. Further, to ensure uninterrupted
operations, the threat actor has strategically transitioned its infrastructure
hosting to Timeweb Cloud, a Russian IaaS provider known for its lenient
anti-abuse policies, diverging from primarily relying on providers implementing
stricter measures, such as DigitalOcean and Dropbox.

The PeepingTitle backdoors are implemented in the Delphi programming language
and feature spyware capabilities giving the attackers full control over infected
machines, allowing activities such as monitoring window interaction, taking
unauthorized screenshots, terminating processes and deploying further malware.

Many of the TTPs we observed relate to those discussed in previous research
attributing them to Brazilian threat actors that target users not only in
Portugal but also in Spain as well as Central and Latin American countries.
These TTPs include the use of Delphi-implemented backdoors, URL shorteners and
public file hosting services for hosting malware, and archive files and VB
scripts as part of the infection vectors.

Leveraging its malware arsenal, the threat group behind Operation Magalenha can
steal credentials, exfiltrate users’ data and personal information, and achieve
full control over infected machines. This opens up further possibilities for the
targeting of individuals or organizations, or for the exploitation of that
information and data by other cybercriminal or espionage groups.


INFECTION VECTOR

Brazilian threat actors are known to distribute malware using a variety of
methods, such as phishing emails, social engineering, and malicious websites
delivering fake installers of popular applications.

In the context of Operation Magalenha, the infection starts with the execution
of a malicious VB script, which primarily serves to download and execute a
malware loader and distract users while doing so. The malware loader
subsequently downloads and executes the PeepingTitle backdoors.

The VB scripts are obfuscated such that the malicious code is scattered among
large quantities of code comments, which is typically pasted content of publicly
available code repositories. This is a simple, yet effective technique for
evading static detection mechanisms – the scripts that are available on
VirusTotal feature relatively low detection ratios.

Code comments for VB script obfuscation

When executed, the VB scripts first open a TinyURL to user login sites of
Energias de Portugal (EDP) and the Portuguese Tax and Customs Authority (AT –
Autoridade Tributária e Aduaneira). Based on this script behavior, we suspect
that the threat group behind Operation Magalenha has been delivering the scripts
through EDP- and AT-themed phishing emails, aligning with a known tactic
observed among threat actors targeting Portuguese citizens.

The VB scripts serve a twofold purpose for the threat actors:

 * Act as a smoke screen distracting users while the scripts continue to
   download and execute the malware loader.
 * Enable the theft of EDP and AT credentials if the users enter the credentials
   after the malware loader has executed the PeepingTitle backdoors. This may
   provide the threat actor with users’ personal information. We note that users
   may login to the Portuguese Tax and Customs Authority in several ways,
   including using government-issued credentials for citizens to access not only
   the online services of the Authority, but also other services provided by the
   Portuguese state.

 



A user login site of Energias de Portugal
A user login site of the Portuguese Tax and Customs Authority



The scripts then download to the %PUBLIC% folder an archive file that contains a
malware loader. They subsequently extract the loader and delete the archive.
Finally, the scripts execute the malware loader after a time interval of, for
example, 5 seconds. The malware loader downloads and executes two PeepingTitle
backdoor variants.


PEEPINGTITLE

The PeepingTitle sample pairs we analyzed are Delphi executables and have
compilation timestamps in April 2023. The samples share some code segments
indicating that they have been developed as part of a single development effort.
For example, both malware strains implement similar initialization routines,
which involve evaluating the presence of the wine_get_version function in the
ntdll.dll library file and establishing persistence by editing the 
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run registry key.

Similar to other malware used by Brazilian threat actors, the PeepingTitle
backdoors contain string artifacts in Brazilian-Portuguese language.

Strings in a PeepingTitle backdoor (in Brazilian-Portuguese)

After initialization, at one second intervals the first PeepingTitle variant
monitors the titles of application windows that have captured the mouse cursor.
The malware first transforms a window title into a lowercase string stripped of
any whitespace characters. It then checks if the transformed title contains any
of the strings from a predefined set of strings related to targeted
institutions. The figure below depicts PeepingTitle monitoring window titles,
when a user interacts with a new Google Chrome tab and the Task Manager
application, and comparing them against predefined strings.

PeepingTitle window title monitoring

The predefined strings are defined such that they are part of the browser window
titles when a user visits the online resources (i.e., sites or specific online
services) of predominantly Portuguese financial institutions or institutions
with a presence in Portugal. These include government, government-backed, and
private institutions.

The targeted sites and online services encompass a broad set of activities that
users may conduct when interacting with them providing a wealth of personal user
information to the threat actor, such as account registration, document
overview, and credential input.

The table below lists some of the targeted institutions and services.

PeepingTitle string Targeted institution or service activobank ActivoBank
aixadirecta Caixadirecta (an online service of Caixa Geral de Depósitos, an
institution owned by the Portuguese government) articulares Online banking sites
for private users of various institutions bancanet Citibanamex (online banking
site) bancobest Banco Best bancoctt Banco CTT bancomer BBVA bankia Bankia
(currently merged with CaixaBank) bankinter Bankinter bpi Banco BPI caempresas
Crédito Agrícola (services for corporate users) caixaagricola Various Mutual
Agricultural Credit Banks caixabank CaixaBank caixadirectaonline Caixadirecta (a
service of Caixa Geral de Depósitos) canaisdigitais Novobanco (online services)
caonline Crédito Agrícola (online services) citibanamex Citibanamex
digitalbanking Online banking services of various institutions empresas Online
banking services for corporate users of various institutions eurobic EuroBic
homebank Online banking pages of various institutions, such as Banco CTT and
Cetelem ingaccesoclientes ING (login page for online banking) internetbanking
Online banking sites of various institutions, such as the Portuguese Treasury
and Public Debt Management Agency itoagricola Crédito Agrícola
loginmillenniumbcp Millennium BCP (Portuguese Commercial Bank)
logintoonlinebanking Online banking services of various institutions montepio
Banco Montepio netbancoempresas Santander (online banking for corporate users)
netbancoparticulares Santander (online banking for private users) novobanco
Novobanco openbank Openbank santander Santander

Example targeted site: The “digital channels” subscription form of Novobanco

When a user visits a targeted online resource, PeepingTitle sets the window
title monitoring interval to 5 seconds, connects to a C2 server, and exfiltrates
data in an encrypted form. The data includes a timestamp, the name of the
infected machine, and the captured window title, also in an encrypted form. This
registers the infected machine at the C2 server.

Exfiltrated data (plaintext form)

PeepingTitle implements backdoor capabilities that allow for full control over
the compromised machines, some of which are:

 * Process termination and screenshot capture: PeepingTitle can take screenshots
   of the entire screen.
 * Staging of further malware: This involves executing malware placed in the
   %PUBLIC% directory, or first downloading malware executables from
   attacker-controlled locations to this directory, and subsequent execution.
   The staged malware could implement any capabilities the threat actor may need
   in a given situation, such as further data exfiltration, or interaction and
   overlay screen capabilities to bypass multi-factor authentication.
   PeepingTitle supports the execution of Windows PE images and DLL files using
   the rundll32 Windows utility.
 * Reconfiguration: This includes restarting the PeepingTitle process,
   reconfiguring the window title monitoring interval to 1 second, and
   configuring the image scale of the screenshots that PeepingTitle takes.

PeepingTitle downloads and/or executes further malware

In contrast to the first variant, the second PeepingTitle variant registers the
infected machine at the C2 server upon execution: The malware exfiltrates data
in an encrypted form, which includes the name of the infected machine and volume
serial numbers. The malware then continues to monitor for changes of the
top-level window and takes a screenshot of this window whenever the user changes
it.

PeepingTitle sends the screenshot to a different C2 server than the one used for
registering the infected machine. The figure below depicts PeepingTitle
monitoring for changes of the top-level window, when this window is first of the
Task Manager application and then twice of a new Google Chrome tab – the
backdoor will take a screenshot of the Google Chrome window only once.

PeepingTitle monitoring for top-level window changes

With the first PeepingTitle variant capturing the entire screen, and the second
capturing each window a user interacts with, this malware duo provides the
threat actor with a detailed insight into user activity. The second PeepingTitle
variant implements further features, such as downloading and executing malware
in the form of Windows PE images, process termination, and malware
reconfiguration.


INFRASTRUCTURE ANALYSIS

Analysis of all infrastructure associated with the threat group behind Operation
Magalenha revealed noteworthy changes in design for the operation. First, it is
useful to understand the threat actors’ infrastructure design prior to the
latest 2023 activity.

Early to mid 2022 associated activity centered primarily around abusing
DigitalOcean Spaces, the S3 compatible cloud storage service, for hosting the
malware used at the time – acting as download locations for target malware
delivery. Specifically, bucket name and example URL originally used include:

Bucket Name Example URL Audaction
https[://]audaction.fra1.digitaloceanspaces[.]com/pass/alma32.cdr
Azuredatabrickstrainne
https[://]azuredatabrickstrainne.sfo3.digitaloceanspaces[.]com/Workspace.zip
Believeonline
https[://]believeonline.ams3.digitaloceanspaces[.]com/acoustic/p0.cdr
Cleannertools https[://]cleannertools.fra1.cdn.digitaloceanspaces[.]com/word.ppt
Dssmithcheck https[://]dssmithcheck.fra1.digitaloceanspaces[.]com/track01.sql
Fintecgroup https[://]fintecgroup.ams3.digitaloceanspaces[.]com/louse.msf
Ingretationcompatible
http[://]ingretationcompatible.sgp1.digitaloceanspaces[.]com/board.zip
Jackfrostgo http[://]jackfrostgo.fra1.digitaloceanspaces[.]com/thems%20(4).cdr
Marthmusicclub
https[://]marthmusicclub.sfo3.digitaloceanspaces[.]com/betunios.cdr Munich
https[://]munich.ams3.digitaloceanspaces[.]com/Minimize.jpeg Partyprogames
https[://]partyprogames.ams3.digitaloceanspaces[.]com/bets.cdr Pexelsfiles
http[://]pexelsfiles.ams3.digitaloceanspaces[.]com/pexels.ppt Pratoonecooltool
https[://]pratoonecooltool.sfo3.digitaloceanspaces[.]com/national.ppt Ryzemamd
https[://]ryzemamd.ams3.digitaloceanspaces[.]com/amd.cdr Ryzenbootsector
http[://]ryzenbootsector.fra1.digitaloceanspaces[.]com/ryzen%20(3).zip
Starbuckplaylist
https[://]starbuckplaylist.ams3.digitaloceanspaces[.]com/fiis.cdr Wekkword
https[://]wekkword.ams3.digitaloceanspaces[.]com/alphabet32.cdr
Wordcupnewsrocket
https[://]wordcupnewsrocket.ams3.digitaloceanspaces[.]com/INT64.cdr Wordmusic
https[://]wordmusic.ams3.digitaloceanspaces[.]com/bestmusic.cdr
Workingprofstatus
https[://]ams3.digitaloceanspaces[.]com/workingprofstatus/anime.cdr

In mid 2022, the threat group experimented with using lesser known file hosting
providers, and in one case Dropbox. One provider that became increasingly
popular was Timeweb, the Russian IaaS provider.

Moving into 2023, the threat group shifted from primarily using DigitalOcean
Spaces to Timeweb for malware hosting and C2. Today, the actor continues to use
Timeweb Cloud S3 object storage similar to how DigitalOcean was abused. Note
that limited Timeweb use overlapped with DigitalOcean use since mid 2022;
however, the change appears more strategic since the start of 2023. The shift
away from DigitalOcean was due to increased difficulty in hosting the malware
without campaign disruption.

Following this design change, a new cluster of activity can be built and linked
to the same actor. The cluster makes use of new C2 servers, Timeweb Cloud
malware hosting locations, and of course malware samples.

Example map of Timeweb Infrastructure use (list in IOC section)

One associated server stuck out as unique – 193.218.204[.]207, which is on
AS211180 for OKLAKO. Of note, the server has open directories showing a file
structure and provides us some insight into backend server design and a small
number of victim hosts.

Decoded configuration file

Further clues point to Brazilian-Portuguese-speaking threat actors, such as
mdfiles.php returning ARQUIVO ENVIADO! (FILE SENT!) to beaconing hosts.
Additionally, the publicly available file (SHA1:
dff84020be1f4691bed628d300df8a8b12a4de7e) contains Base64 data, which can be
decoded to show the configuration file set to beacon to 193.218.204[.]207 while
also containing Brazilian-Portuguese text for VARIABLE IS OK and UPDATE.

Decoded configuration file


CONCLUSION

Operation Magalenha indicates the persistent nature of the Brazilian threat
actors. These groups represent an evolving threat to organizations and
individuals in their target countries and have demonstrated a consistent
capacity to update their malware arsenal and tactics, allowing them to remain
effective in their campaigns.

Their capacity to orchestrate attacks in Portuguese- and Spanish-speaking
countries in Europe, Central, and Latin America suggests an understanding of the
local financial landscape and a willingness to invest time and resources in
developing targeted campaigns. As such, it is important for organizations and
individuals to remain vigilant and take proactive measures to protect themselves
from this threat.


INDICATORS OF COMPROMISE

Below is a list of shortened URLs, SHA1 hashes (of scripts, archive files, and
malware samples), and URLs (malware hosting and C2 server locations) associated
with Operation Magalenha and related activities conducted by the threat group
behind the operation dating back to 2022.


SHORTENED URLS

https[://]tinyurl.com/edpmobilecliente
https[://]tinyurl.com/dashboaraudicaofastaccoun
https[://]tinyurl.com/edpareaparticulares
https[://]tinyurl.com/miareapersonal


SHA1 HASHES

001334b045e0d1e28c260380f24c1fa072cb12eb
0131862cd70303d560d47333cce4d2b58505222e
045d5be69b5ba4ffb4253b029cc01d827706c75a
0716415bc910e4a9501d43ac03410288a4e860d4
071c53099decea6d9117e4ee519470140c68c7e9
0a202ca568087eabeb741648be4255d834ab14b1
13b370f368c1df2d30bb8fdf96d84e66e07c8a79
17fe9cdd20a64fec5d471f6878a462a2ef0af212
1a5ad2fb1d4fc4971286bdd5abf669722d7e4c19
1e65c104c765e6e46887f7de04cc14f52dbdfe98
208572a9f44d5349382c58d51d2d14532bc87bb3
266a1c4b8bd95595dcdd46bcb409ee773bd2f407
268d93bfd3f0a8a5cd76eea6311eb2a0b754a4e2
26be17aef483d553c0e5678e35611b019acd28a3
280999b0490bbe06665d35f2cda373fa32bfc59c
2ee320533e687da7613721446dabceecafb940c1
3079bba1a2372282f6bb4a35706144d5b9800953
32d15771736bb5c3232c3fa68ee3da4161177413
35597059ae1f14f50d7fe8b1858525552f62da19
3a1e1294e894b9dd35edfdd59f67049729121619
3be8f26dbc49b8a2504c58de247b838888e15a17
418fabf734c0803f2686a41665f06525cfa3adbb
41ab10d5e057e714d8caad5855c115f5bef76097
42ee272c6bc93c5c0c47024f631350c23edc06fe
43a55a5954d56c4e9fe63cfdd6ab0c97766c9642
44da6f99de08e5193a64a89ce696d775248314d9
45304d8ae20e0fcaf975be64b7844c361ae61537
470e52d04a89318a868402617b2edd16e1a20613
483a4a7e4650502e36dacde33652bf6b62718822
48e77c8ab75d042d1526fe3cd40beeea5fff7794
494d166f7b052c7feaf5666062dcf54525873ac2
4fc26b033677b6a6dc77ae3c4451d3d4421bcc04
51be9fb55ff9606b0f4e887d332608f41533215e
52d06e3b0e3b91165bdba769a94710bbdad8d8d7
542b320b77bb3f826ee17009564613352e5a4911
5c9fc5902ced06f7068f95dfa7c25c1939be3f51
5e38e6a927309aac4679a6d63c1e01b3830ca7c7
5ee9c3e8ff35bc0435d0691112d7f101856d9a51
603ac1e61a39c74d5053ccedd6964ce5f9f365f3
62a1fd987b051586132b1d1752d78821139efb7f
62b1ef509f0f9dffa611f3addface8f91089b0c3
69beb59e75f70487edbbf997aba83b926674a355
6a43e8c05194e066b85845e454d41bf86e1ab376
6a977ae1ad3466f20f50e101b5a561ad3ffc3aa7
6c3d57a7b6631adbe3b6a2c2d88eef6593c51900
6e00ef494a5955df4802c078ae3ffc6c6abdcbd7
72b3be646f03a71e8a2632096ddf6638bc0141c9
7339585c17aaa96e93f971b64548666a3b09d1f9
738aff3e88f498c3607eeadd37b95791acf40196
76b1bb307e1489999da725c2c9fac5b4581cb448
7992e075bc9de98e944930372f1768ccc08e429f
79ce7defeed60bba523bc3779cb9379435157f93
7bbe644df54723d7a48bef58a616a62559401d0d
7e82f8608c199eb32230dd2706c11b2e70ba13d8
7f3c5142f60cd36073b54eda77b38be754a5f7d5
824268bffde52dc44fedc254dc59ef559b7b2d17
830c4e2cc10bbf122882a177a3ea8e810b114c82
8752dab95747175bdb6cb7772cf4d11858049c9d
87ff9f5f3f4853d0c218ac36182fa18bc5e206d0
890c8ab68be8990deb26dab6f5c82f0a812b9fcb
8c62851c74dc2bd1077edfb7456f87b47199925c
8cc16c418764d26b15d41f713551a7d0f214ab4c
97bab3df5acbd1e4ad8b9a38cbbd80c297971490
9ab7bc8a9b4ccbc75903e78d96357e11dfd97535
9c997e9ee92209be186de2a4f9696122bdfbc46d
9eaa52e9f72f0b43648699a3a511d0a7c6ffcdd5
a0721a76cc8a0e44bf734206638ba013da809325
a28db721736fe5d6281c08b4f2f396da480eb170
a53b9e14f316a62e8c6c7a53a7c98158fda29533
a7c7233274e34b69b6c62caceebb19135f9034b2
acc753a084b8172981b3086122929eb4abde131a
afd5ccd6effb4eed6aec656a25ed869b954ee213
affcb29e3e8b510cab6b836672511bc738f2d328
b0253186f56662ecfbebf95cc91a887e161e32d3
b427cf74c820985cc3cedef68b9953c2e83631e1
b50ced2769e74050b130fbcb28c6d80880cfe612
b7ce5ab969a2088a7d6c401c72eeff63173ce491
bed147a98e6bff36cf3bccfc7640d444040e1f0c
c3aa8423bba6f01528f822eddb692ae56aa1be6b
c43f60bf6c24dd6c290b40afb26ea60094688a73
c4c59fc68f225bdec7e22bead289fda2503fb6b0
c5239a9994ca54ac08e45ce7443d9226151d0b36
cd5892ca5b21999799a04d72fb93dc815f7227aa
cdd2f94c542bf369702271cd83c6aa9ff2e595ea
d1dca2dc87376c833644a04c74e4f102565e810a
d2e078450e479a6cd3b1d95597fd2204fd370c42
d86aabf4713b18718421b5c0fd4084143d4f7f08
db9521169aaad154e31d4e573414459e26b57900
dc04ad9e1d8022a06a28d0522b2a1988c8ed4bab
dcdf79b172f340dc173d038d05c7eb826c55c3dc
dd46a9c61ad4aee2c865a4144733d1daf7d6bc79
dec59a76e8f1703d15fcb7f7532c759aaf717165
df0a90c8890f83f760e41c853d9033d3971194e9
df99c6fabdf6fc664e9c466af8a2986af0bfbfb8
dff84020be1f4691bed628d300df8a8b12a4de7e
dff84020be1f4691bed628d300df8a8b12a4de7e
e6215a2e0c4745eef724019cab07c04dac75725e
e9f9a5f559366a8e66f81d43ecc05d051b6e3853
eaa2c945b22f5c1b8bfbd6d8692826d841fc9185
f00493ea6b1a2cb50c74feb3af65bfaabf327a07
f534e0a04ceb6f3e1a10209f416675e9df127afc
f5a99ecd7847cc79210d5df505e222828ad63199
f66d71e1ab5c85ed43d21ff567ee3369fe97b6ed
f72ade72050a6ce63224aad2c7699160705b414c
f9db9f525f2bf09f2b85c91ea09f6251e00e2a95
fbcd460acbe8c0919f61946ac0c9ee4d8885075a
fff1b8681eadf590034f61ddd69ba035c6980e12


URLS

http[://]128.199.228.142/int/publi.php
http[://]128.199.228.142/itest/envd.php
http[://]128.199.228.142/lgimp/envd.php
http[://]128.199.228.142/vcpu/
http[://]128.199.68.249/libex/track01.wma
http[://]128.199.68.249/libex/track02.wma
http[://]157.245.44.246/cliente/IRS.php
http[://]157.245.44.246/fex/basf.msf
http[://]157.245.44.246/fex/coldplay.msf
http[://]176.57.221.92/cdd/
http[://]178.128.174.182/board/alf.cdr
http[://]178.128.174.182/board/bets.cdr
http[://]185.104.114.253/alp/
http[://]193.218.204.207/int/publi.php
http[://]2.59.41.206/fork/Material.psd
http[://]213.226.124.48/dboard/Material.psd
http[://]45.95.234.10/lofi/index.php
http[://]81.200.152.38:9000/arquivos
http[://]85.193.80.19/rpt/bdb.jpeg
http[://]85.193.83.224/dash/support.psd
http[://]85.193.95.154/odc/
http[://]85.217.170.140/may/
http[://]87.249.44.177/partic/Material.ppt
http[://]89.223.68.22/sonic/movie.wma
http[://]92.255.76.181/mag.psd
http[://]92.53.107.216/shv/
http[://]94.156.35.182/jn/
http[://]94.228.121.36/suport/
http[://]ingretationcompatible.sgp1.digitaloceanspaces.com/board.zip
http[://]jackfrostgo.fra1.digitaloceanspaces.com/thems%20(4).cdr
http[://]pexelsfiles.ams3.digitaloceanspaces.com/pexels.ppt
http[://]ryzenbootsector.fra1.digitaloceanspaces.com/ryzen%20(3).zip
http[://]s3.timeweb.com/41907bc4-clarentis/Steam.cpp
http[://]s3.timeweb.com/41907bc4-clarentis/artinos.cpp
http[://]s3.timeweb.com/41907bc4-clarentis/balarius.cpp
http[://]s3.timeweb.com/41907bc4-clouddeabril/Belcar.cpt
http[://]s3.timeweb.com/41907bc4-clouddeabril/almar.cpt
http[://]s3.timeweb.com/41907bc4-maiotronicelevation/asen.ptt
https[://]ams3.digitaloceanspaces.com/bucket2023/andorra.ppt
https[://]ams3.digitaloceanspaces.com/bucket2023/belize.ppt
https[://]ams3.digitaloceanspaces.com/workingprofstatus/anime.cdr
https[://]ams3.digitaloceanspaces.com/workingprofstatus/brigth.cdr
https[://]audaction.fra1.digitaloceanspaces.com/pass/alma32.cdr
https[://]audaction.fra1.digitaloceanspaces.com/pass/alma64.cdr
https[://]audaction.fra1.digitaloceanspaces.com/pass/best32.cdr
https[://]azuredatabrickstrainne.sfo3.digitaloceanspaces.com/Workspace.zip
https[://]believeonline.ams3.digitaloceanspaces.com/acoustic/p0.cdr
https[://]bucket2023.ams3.digitaloceanspaces.com/belize.ppt
https[://]cartezyan.fra1.digitaloceanspaces.com/Player.wav
https[://]cleannertools.fra1.cdn.digitaloceanspaces.com/word.ppt
https[://]digitalsurfareago.ams3.digitaloceanspaces.com/basf.msf
https[://]dssmithcheck.fra1.digitaloceanspaces.com/track01.sql
https[://]dssmithcheck.fra1.digitaloceanspaces.com/track02.sql
https[://]fintecgroup.ams3.digitaloceanspaces.com/louse.msf
https[://]fra1.digitaloceanspaces.com/dssmithcheck/track01.sql
https[://]joiasdofuturo.webcindario.com/hs/config.php
https[://]marthmusicclub.sfo3.digitaloceanspaces.com/alamis.cdr
https[://]marthmusicclub.sfo3.digitaloceanspaces.com/betunios.cdr
https[://]munich.ams3.digitaloceanspaces.com/Minimize.jpeg
https[://]partyprogames.ams3.digitaloceanspaces.com/alf.cdr
https[://]partyprogames.ams3.digitaloceanspaces.com/bets.cdr
https[://]pratoonecooltool.sfo3.digitaloceanspaces.com/inter.ppt
https[://]pratoonecooltool.sfo3.digitaloceanspaces.com/national.ppt
https[://]ryzemamd.ams3.digitaloceanspaces.com/amd.cdr
https[://]s3.timeweb.com/41907bc4-chronocromdocrom/integra/conf.txt
https[://]s3.timeweb.com/41907bc4-secapril/brexit.ppt
https[://]starbuckplaylist.ams3.digitaloceanspaces.com/fiis.cdr
https[://]starbuckplaylist.ams3.digitaloceanspaces.com/vieww.cdr
https[://]superchat.fra1.digitaloceanspaces.com/ATX.cdr
https[://]superchat.fra1.digitaloceanspaces.com/Brave.cdr
https[://]superchat.fra1.digitaloceanspaces.com/DuckDuck.cdr
https[://]superchat.fra1.digitaloceanspaces.com/pse.cdr
https[://]wekkword.ams3.digitaloceanspaces.com/alphabet32.cdr
https[://]wekkword.ams3.digitaloceanspaces.com/boston32.cdr
https[://]wordcupnewsrocket.ams3.digitaloceanspaces.com/INT64.cdr
https[://]wordcupnewsrocket.ams3.digitaloceanspaces.com/rzFMX64.cdr
https[://]wordmusic.ams3.digitaloceanspaces.com/bestmusic.cdr
https[://]www.dropbox.com/s/dl/p2qd53cultjyw6y/Dividas.zip
https[://]www.dropbox.com/s/p2qd53cultjyw6y/Dividas.zip?dl=1

adversary


SHARE

PDF

ALEKSANDAR MILENKOSKI

Aleksandar Milenkoski is a Senior Threat Researcher at SentinelLabs, with
expertise in reverse engineering, malware research, and threat actor analysis.
Aleksandar has a PhD in system security and is the author of numerous research
papers, book chapters, blog posts, and conference talks. His research has won
awards from SPEC, the Bavarian Foundation for Science, and the University of
Würzburg.

Prev

KIMSUKY | ONGOING CAMPAIGN USING TAILORED RECONNAISSANCE TOOLKIT

Next

RADARE2 POWER UPS | DELIVERING FASTER MACOS MALWARE ANALYSIS WITH R2
CUSTOMIZATION


RELATED POSTS


KIMSUKY | ONGOING CAMPAIGN USING TAILORED RECONNAISSANCE TOOLKIT

May 23 2023


DISSECTING ALIENFOX | THE CLOUD SPAMMER’S SWISS ARMY KNIFE

March 30 2023


WIP26 ESPIONAGE | THREAT ACTORS ABUSE CLOUD INFRASTRUCTURE IN TARGETED TELCO
ATTACKS

February 16 2023


SEARCH

Search ...


SIGN UP

Get notified when we post new content.

*
























Subscribe
By clicking Subscribe, I agree to the use of my personal data in accordance with
SentinelOne Privacy Policy. SentinelOne will not sell, trade, lease, or rent
your personal data to third parties.

Thanks! Keep an eye out for new content!


RECENT POSTS

 * Kimsuky Strikes Again | New Social Engineering Campaign Aims to Steal
   Credentials and Gather Strategic Intelligence
   June 6, 2023
 * Radare2 Power Ups | Delivering Faster macOS Malware Analysis With r2
   Customization
   May 31, 2023
 * Kimsuky | Ongoing Campaign Using Tailored Reconnaissance Toolkit
   May 23, 2023


LABS CATEGORIES

 * Crimeware
 * Security Research
 * Adversary
 * Advanced Persistent Threat
 * LABScon
 * Security & Intelligence


SENTINELLABS

In the era of interconnectivity, when markets, geographies, and jurisdictions
merge in the melting pot of the digital domain, the perils of the threat
ecosystem become unparalleled. Crimeware families achieve an unparalleled level
of technical sophistication, APT groups are competing in fully-fledged cyber
warfare, while once decentralized and scattered threat actors are forming
adamant alliances of operating as elite corporate espionage teams.


LATEST TWEET

 * RT @SentinelOne: The 23 cybersecurity Twitter accounts we recommend to stay
   up-to-date on community topics, issues, and news. A thread. 11 days ago
 * RT @SentinelOne: In this report from last month, @LabsSentinel researcher
   @spiderspiders_ unpacks the growing trend of ESXi locker use a…10 days ago
 * RT @philofishal: Is #r2 harder to learn than other #malware reversing
   platforms? Not sure it is - it's just the learning path is different.…10 days
   ago
 * RT @SentinelOne: Power up your macOS malware analysis with radare2! In this
   latest @LabsSentinel post, @philofishal covers practical exa…10 days ago
 * RT @SentinelOne: The 23 cybersecurity Twitter accounts we recommend to stay
   up-to-date on community topics, issues, and news. A thread. 11 days ago
 * RT @SentinelOne: In this report from last month, @LabsSentinel researcher
   @spiderspiders_ unpacks the growing trend of ESXi locker use a…10 days ago




RECENT POSTS

 * Kimsuky Strikes Again | New Social Engineering Campaign Aims to Steal
   Credentials and Gather Strategic Intelligence
   June 6, 2023
 * Radare2 Power Ups | Delivering Faster macOS Malware Analysis With r2
   Customization
   May 31, 2023
 * Kimsuky | Ongoing Campaign Using Tailored Reconnaissance Toolkit
   May 23, 2023


SIGN UP

Get notified when we post new content.

*
























Subscribe
By clicking Subscribe, I agree to the use of my personal data in accordance with
SentinelOne Privacy Policy. SentinelOne will not sell, trade, lease, or rent
your personal data to third parties.

Thanks! Keep an eye out for new content!

 * Twitter
 * LinkedIn

©2023 SentinelOne, All Rights Reserved.








PRIVACY PREFERENCE CENTER

When you visit any website, it may store or retrieve information on your
browser, mostly in the form of cookies. This information might be about you,
your preferences or your device and is mostly used to make the site work as you
expect it to. The information does not usually directly identify you, but it can
give you a more personalized web experience. Because we respect your right to
privacy, you can choose not to allow some types of cookies. Click on the
different category headings to find out more and change our default settings.
However, blocking some types of cookies may impact your experience of the site
and the services we are able to offer.
More information
Allow All


MANAGE CONSENT PREFERENCES

FUNCTIONAL COOKIES

Functional Cookies

These cookies enable the website to provide enhanced functionality and
personalisation. They may be set by us or by third party providers whose
services we have added to our pages. If you do not allow these cookies then some
or all of these services may not function properly.

STRICTLY NECESSARY COOKIES

Always Active

These cookies are necessary for the website to function and cannot be switched
off in our systems. They are usually only set in response to actions made by you
which amount to a request for services, such as setting your privacy
preferences, logging in or filling in forms. You can set your browser to block
or alert you about these cookies, but some parts of the site will not then work.
These cookies do not store any personally identifiable information.

PERFORMANCE COOKIES

Performance Cookies

These cookies allow us to count visits and traffic sources so we can measure and
improve the performance of our site. They help us to know which pages are the
most and least popular and see how visitors move around the site. All
information these cookies collect is aggregated and therefore anonymous. If you
do not allow these cookies we will not know when you have visited our site, and
will not be able to monitor its performance.

TARGETING COOKIES

Targeting Cookies

These cookies may be set through our site by our advertising partners. They may
be used by those companies to build a profile of your interests and show you
relevant adverts on other sites. They do not store directly personal
information, but are based on uniquely identifying your browser and internet
device. If you do not allow these cookies, you will experience less targeted
advertising.

Back Button Back



Vendor Search Search Icon
Filter Icon

Clear
checkbox label label
Apply Cancel
Consent Leg.Interest
checkbox label label
checkbox label label
checkbox label label

Confirm My Choices


By clicking “Accept All Cookies”, you agree to the storing of cookies on your
device to enhance site navigation, analyze site usage, and assist in our
marketing efforts.

Cookies Settings Accept All Cookies


word word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word word
word word word word word word word word word word word word word word word word
word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
We'd like to show you notifications for the latest news and updates.


AllowCancel