Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (2024)

Open-Source Stealer Widely Abused by Threat Actors

The threat of InfoStealers is widespread and has been frequently employed by various Threat Actors (TA)s to launch attacks and make financial gains. Until now, the primary use of stealers by TAs has been to sell logs or to gain initial entry into a corporate network.

Recently, however, TAs have started exploiting this type of malware to disseminate crypto scams through YouTube channels. TAs successfully hacked a YouTube channel that had over 10 million subscribers and removed the original content of the channel, replacing it with two videos promoting cryptocurrency scams. According to reports, the TAs gained access to the YouTube account by stealing session cookies. It is believed that stealer malware might have been involved in the attack.

Recently Cyble Research and Intelligence Labs (CRIL) discovered a phishing site mimicking a Cryptocurrency mining platform that was spreading Creal Stealer.

The figure below shows the phishing site.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (1)

This site was hosting the stealer payload on Dropbox at hxxps[:]//www[.]dropbox[.]com/s/dl/x4vgcaac6hcdgla/kryptex-setup-4.25.7[.]zip.

The stealer binary (SHA 256: f3197e998822bc45cb9f42c8b153c59573aad409da01ac139b7edd8877600511) is compiled using PyInstaller indicating that the stealer is coded in Python.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (2)

After extracting the contents of the PyInstaller compiled file, we spotted a PYC file dubbed ‘Creal’.

The figure below shows the extracted files.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (3)

Further investigation revealed that this stealer’s source code and builder were also available on a GitHub repository.

The figure below shows the Creal Stealer GitHub repository.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (4)

We have also observed nearly 50 samples in the wild, indicating that the TAs were actively utilizing the Open-Source code to infect unsuspecting users.

Technical Analysis

Environment Checks

During the initial execution, the stealer identifies whether it is being run in a controlled environment. It checks if the victim’s username (obtained via the getpass.getuser() function) is present in a list called ‘blacklistUsers’.

The table below contains the blacklisted usernames. If a username is found in this list, then the stealer will immediately terminate its execution using the os._exit(0) function.

The table below contains the blacklisted usernames.

WDAGUtilityAccountLisa3u2v9m8Lucas
AbbyJohnJuliamike
hmarcgeorgeHEUeRzlPateX
patexPxmdUOpVyxfredh7dk1xPr
RDhJ0CNFevzX8VizSMserverLouise
kEecfMwgjw0fjuOVmCcP5ABvJChRPnsxnUser01
FranklmVwjj9bHarry Johnsontest
8Nl0ColNQ5bqPqONjHVwexsSSqgFOf3GRGzcBUyrznReg

After this, the stealer defines a list named “blacklistUsername” and then gets the hostname of the victim’s machine using the socket.gethostname() method. The script proceeds to verify if the obtained hostname matches any of the names in the “blacklistUsername” list.

If a match is discovered, the script promptly terminates itself by executing the os._exit(0) function.

The table below shows the hardcoded blacklisted hostnames present in the stealer binary.

BEE7370C-8C0C-4LISA-PCDESKTOP-7XC6GEZSERVER-PCACEPC
DESKTOP-NAKFFMTJOHN-PCDESKTOP-5OV9S0OTIQIYLA9TW5MMIKE-PC
WIN-5E07COS9ALRDESKTOP-B0T93D6QarZhrdBpjDESKTOP-KALVINODESKTOP-IAPKN1P
B30F0242-1C6A-4DESKTOP-1PYKP29ORELEEPCCOMPNAME_4047DESKTOP-NTU7VUO
DESKTOP-VRSQLAGDESKTOP-1Y2433RARCHIBALDPCDESKTOP-19OLLTDLOUISE-PC
Q9IATRKPRHWILEYPCJULIA-PCDESKTOP-DE369SET00917
XC64ZBWORKd1bnJkfVlHEA8C2E2A-D017-4test42]
DESKTOP-D019GDM6C4E733F-C2D9-4NETTYPCAIDANPC
DESKTOP-WI8CLETRALPHS-PCDESKTOP-BUGIOLUCAS-PC
SERVER1DESKTOP-WG3MYJSDESKTOP-CBGPFEEMARCI-PC

Now the stealer checks if the MAC address of the victim’s machine is present in the blacklist of MAC addresses defined in a list named BLACKLIST1. It initially retrieves the machine’s MAC address using the getnode() function from the uuid module and then checks whether the victim’s MAC address is present in BLACKLIST1.

If it is present, the os._exit(0) function is called, which immediately exits the stealer.

The table below contains the MAC addresses present in BLACKLIST1.

00:15:5d:00:07:3400:25:90:36:f0:3b00:50:56:a0:cd:a87e:05:a3:62:9c:4d
00:e0:4c:b8:7a:5800:1b:21:13:21:2600:50:56:b3:fa:2352:54:00:b3:e4:71
00:0c:29:2c:c1:2100:50:56:b3:50:de52:54:00:a0:41:9290:48:9a:9d:d5:24
00:25:90:65:39:e400:1b:21:13:32:5100:50:56:b3:f6:5700:50:56:b3:3b:a6
c8:9f:1d:b6:58:e4a6:24:aa:ae:e6:1200:e0:4c:56:42:9792:4c:a8:23:fc:2e
00:25:90:36:65:0c08:00:27:45:13:10ca:4d:4b:ca:18:cc5a:e2:a6:a4:44:db
00:15:5d:00:00:f300:1b:21:13:26:44f6:a5:41:31:b2:7800:50:56:ae:6f:54
2e:b8:24:4d:f7:de3c:ec:ef:43:fe:ded6:03:e4:ab:77:8e42:01:0a:96:00:33
00:15:5d:13:6d:0cd4:81:d7:ed:25:5400:50:56:ae:b2:b000:50:56:97:a1:f8
00:50:56:a0:dd:0000:25:90:36:65:3800:50:56:b3:94:cb5e:86:e4:3d:0d:f6
00:15:5d:13:66:ca00:03:47:63:8b:de42:01:0a:8e:00:2200:50:56:b3:ea:ee
56:e8:92:2e:76:0d00:15:5d:00:05:8d00:50:56:b3:4c:bf3e:53:81:b7:01:13
ac:1f:6b:d0:48:fe00:0c:29:52:52:5000:50:56:b3:09:9e00:50:56:97:ec:f2
00:e0:4c:94:1f:2000:50:56:b3:42:3300:50:56:b3:38:8800:e0:4c:b3:5a:2a
00:15:5d:00:05:d53c:ec:ef:44:01:0c00:50:56:a0:d0:fa12:f8:87:ab:13:ec
00:e0:4c:4b:4a:4006:75:91:59:3e:0200:50:56:b3:91:c800:50:56:a0:38:06
42:01:0a:8a:00:2242:01:0a:8a:00:333e:c1:fd:f1:bf:712e:62:e8:47:14:49
00:1b:21:13:15:20ea:f6:f1:a2:33:7600:50:56:a0:6d:8600:0d:3a:d2:4f:1f
00:15:5d:00:06:43ac:1f:6b:d0:4d:9800:50:56:a0:af:7560:02:92:66:10:79
00:15:5d:1e:01:c81e:6c:34:93:68:6400:50:56:b3:dd:0300:50:56:a0:d7:38
00:50:56:b3:38:6800:50:56:a0:61:aac2:ee:af:fd:29:21be:00:e5:c5:0c:e5
60:02:92:3d:f1:6942:01:0a:96:00:2200:50:56:b3:ee:e100:50:56:a0:59:10
00:e0:4c:7b:7b:8600:50:56:b3:21:2900:50:56:a0:84:8800:50:56:a0:06:8d
00:e0:4c:46:cf:0100:15:5d:00:00:b300:1b:21:13:32:2000:e0:4c:cb:62:08
42:85:07:f4:83:d096:2b:e9:43:96:763c:ec:ef:44:00:d04e:81:81:8e:22:4e
56:b0:6f:ca:0a:e7b4:a9:5a:b1:c6:fd00:50:56:ae:e5:d508:00:27:3a:28:73
12:1b:9e:3c:a6:2cd4:81:d7:87:05:ab00:50:56:97:f6:c800:15:5d:00:00:c3
00:15:5d:00:1c:9aac:1f:6b:d0:49:8652:54:00:ab:de:5900:50:56:a0:45:03
00:15:5d:00:1a:b952:54:00:8b:a6:0800:50:56:b3:9e:9e12:8a:5c:2a:65:d1
b6:ed:9d:27:f4:fa00:0c:29:05:d8:6e00:50:56:a0:39:1816:ef:22:04:af:76
00:15:5d:00:01:8100:23:cd:ff:94:f032:11:4d:d0:4a:9e00:15:5d:23:4c:ad
4e:79:c0:d9:af:c300:e0:4c:d6:86:7700:50:56:b3:d0:a71a:6c:62:60:3b:f4
00:15:5d:b6:e0:cc3c:ec:ef:44:01:aa94:de:80:de:1a:3500:15:5d:00:00:1d
00:15:5d:00:02:2600:15:5d:23:4c:a300:50:56:ae:5d:ea00:e0:4c:44:76:54
00:50:56:b3:05:b400:1b:21:13:33:5500:50:56:b3:14:59ac:1f:6b:d0:4d:e4
1c:99:57:1c:ad:e400:15:5d:00:00:a4ea:02:75:3c:90:9f52:54:00:3b:78:24

Afterward, the stealer checks if the victim’s public IP address is present in a blacklist called “sblacklist”. It first uses the subprocess module to run a curl command to retrieve the device’s public IP address. It then checks if this IP address is present in the blacklist. The stealer exits the program if the IP is found in the blacklist.

The table below contains the IP addresses in “sblacklist”.

88.132.231.71188.105.91.116109.74.154.9295.25.81.24
207.102.138.8334.105.183.68213.33.142.5092.211.52.62
174.7.32.19992.211.55.199109.74.154.9188.132.227.238
204.101.161.3279.104.209.3393.216.75.20935.199.6.13
207.102.138.9395.25.204.90192.87.28.10380.211.0.97
78.139.8.5034.145.89.17488.132.226.20334.85.253.170
20.99.160.173109.74.154.90195.181.175.10523.128.248.46
88.153.199.169109.145.173.16988.132.225.10035.229.69.227
84.147.62.1234.141.146.11492.211.192.14434.138.96.23
194.154.78.160212.119.227.15134.83.46.130192.211.110.74
92.211.109.160195.239.51.59188.105.91.14335.237.47.12
195.74.76.222192.40.57.23434.85.243.24187.166.50.213
34.105.0.2764.124.12.16234.141.245.2534.253.248.228
195.239.51.334.142.74.220178.239.165.70212.119.227.167
35.192.93.107188.105.91.17384.147.54.113193.225.193.201
34.145.195.5834.105.72.241193.128.114.45

Now, the stealer checks if certain Python modules are installed, and if they are not, it attempts to install them using pip. The modules to be checked and installed are defined in a nested list named “requirements”.

This list contains two strings: the name of the module to be checked and the name of the package that provides the module. Then it loops through each item in the requirements list and tries to import the module using the __import__ function.

If the import fails (which means the module is not installed), the code launches a subprocess to install the package using pip by running the command executable -m pip install <package_name>.

After launching the subprocess to install the package, the code sleeps for 3 seconds before moving on to the next item in the requirements list. The purpose of this sleep period is to give the pip enough time to complete the installation before moving on to the next package.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (5)

Persistence

The stealer achieves persistence by copying itself to

AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\ directory using the shutil.copyfileobj() function.

The figure below shows the persistence technique used in this stealer.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (6)

Data Collection

The stealer defines and assigns values to global variables such as keyword, cookiWords, paswWords, CookiCount, P4sswCount, WalletsZip, GamingZip, and OtherZip.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (7)

The keyword variable contains certain names and their respective domain names that the stealer targets. Now, the stealer retrieves login credentials and cookies from the browsers based on the list of names mentioned in the table below.

NameDomainNameDomain
coinbasehxxps://coinbase.comminecrafthxxps://minecraft.net
sellixhxxps://sellix.iopaypalhxxps://paypal.com
gmailhxxps://gmail.comoriginhxxps://origin.com
steamhxxps://steam.comamazonhxxps://amazon.com
Discordhxxps://Discord.comebayhxxps://ebay.com
riotgameshxxps://riotgames.comaliexpresshxxps://aliexpress.com
youtubehxxps://youtube.complaystationhxxps://playstation.com
instagramhxxps://instagram.comhbohxxps://hbo.com
tiktokhxxps://tiktok.comxboxhxxps://xbox.com
twitterhxxps://twitter.combinancehxxps://binance.com
facebookhxxps://facebook.comhotmailhxxps://hotmail.com
epicgameshxxps://epicgames.comoutlookhxxps://outlook.com
spotifyhxxps://spotify.comcrunchyrollhxxps://crunchyroll.com
yahoohxxps://yahoo.comtelegramhxxps://telegram.com
robloxhxxps://roblox.comp*rnhubhxxps://p*rnhub.com
twitchhxxps://twitch.comdisneyhxxps://disney.com
uberhxxps://uber.comexpressvpnhxxps://expressvpn.com
netflixhxxps://netflix.com

Now, the stealer creates multiple threads using the threading module in Python and initiates the data-stealing functionality in parallel.

As shown in the figure below, the malware iterates through a list of application paths, starts a thread for each path it encounters, and executes a specific function responsible for stealing data from the victim’s machine.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (8)

This stealer targets Chromium-based browsers, chat and gaming applications, cold crypto wallets, and browser extensions.

The figure below shows the applications targeted by Creal Stealer.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (9)

Creal stealer makes a GET request to hxxps[:]//api.ipify.org/ to identify the victim’s IP. Now it appends the IP address to hxxps[:]//geolocation-db.com/jsonp/ and makes a GET request to fetch the victim’s geolocation details.

As shown in the figure below, these geolocation details are added to the variables and will be later sent to the TA’s Discord channel.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (10)

To store the stolen data, including cookies and passwords, this stealer employs a commonly used function called wr1tef0rf1l3 that writes the information into files for exfiltration. The wr1tef0rf1l3 function requires two arguments, “data” and “name”.

The “data” argument holds the stolen data that is to be saved, while the “name” argument specifies the desired filename. These files are saved in the %temp% directory, and the file names are prefixed with the string “cr”, as shown below.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (11)

Data Exfiltration

Creal Stealer is capable of exfiltrating data using Discord Webhooks and multiple file-hosting & sharing platforms such as Anonfiles and Gofile. Prior to exfiltration, this stealer removes the file extensions of .txt files containing the stolen data and compresses these files using the zip file module.

The figure below shows Creal stealer’s file upload code.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (12)

Finally, Creal Stealer makes a POST request using the urlopen() function to exfiltrate data using a Discord webhook. This stealer uses a dictionary object containing HTTP request headers, as shown in the figure below.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (13)

The figure below shows the data exfiltration using Discord webhooks.

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (14)

Conclusion

Creal Stealer’s builder and source code are available on GitHub, which enables TAs to modify the code to suit their requirements. This can result in the emergence of various stealers from Creal Stealer’s source code, posing a significant threat to users. The trend of using open-source code in malware is increasing among cybercriminals, since it allows them to create sophisticated and customized attacks with minimal expenses.

Our Recommendations:

  • Avoid downloading applications from unknown sources.
  • Use a reputed anti-virus and internet security software package on your connected devices, including PC, laptop, and mobile.
  • Use strong passwords and enforce multi-factor authentication wherever possible.
  • Update your passwords periodically.
  • Refrain from opening untrusted links and email attachments without first verifying their authenticity.
  • Block URLs that could be used to spread the malware, e.g., Torrent/Warez.
  • Monitor the beacon on the network level to block data exfiltration by malware or TAs.
  • Enable Data Loss Prevention (DLP) Solutions on employees’ systems.

MITRE ATT&CK® Techniques

Tactic Technique ID Technique Name
Execution T1204 User Execution
PersistenceT1547.001Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder
Credential Access T1555
T1539
T1528
Credentials from Password Stores
Steal Web Session Cookie
Steal Application Access Token
Discovery T1087
T1518
T1057
T1124
T1007
T1614
Account Discovery
Software Discovery
Process Discovery
System Time Discovery
System Service Discovery
System Location Discovery
Command and Control T1071
T1102
Application Layer Protocol
Web Service
Exfiltration T1041 Exfiltration Over C&C Channel

Indicators of Compromise (IoCs):

Indicators Indicator type Description
bb2ca78ffff72d58599d66bf9b2f0ae6
20dcb84660e5f79a98c190d3d455fce368d96f35
4ee417cbefa1673d088a32df48b8182bdad244541e8dc02faf540b9aa483fdcb
MD5
SHA1
SHA256
Creal Stealer
929e6f2c8896059c72368915abcaefa2
7122f0b88607061806fd62282e8b175ae28b7e29
f3197e998822bc45cb9f42c8b153c59573aad409da01ac139b7edd8877600511
MD5
SHA1
SHA256
Malicious Zip Archive
hxxps[:]//www.dropbox[.]com/s/dl/x4vgcaac6hcdgla/kryptex-setup-4.25.7[.]zipURLMalicious URL
kryptex[.]softwareURLMalicious URL

Related

Cyble - Creal: New Stealer Targeting Cryptocurrency Users Via Phishing Sites (2024)

References

Top Articles
23 Popular Red Hair Characters
15 Popular Cartoon Characters Sporting Purple Hair
Friskies Tender And Crunchy Recall
Z-Track Injection | Definition and Patient Education
Embassy Suites Wisconsin Dells
Directions To Lubbock
Herbalism Guide Tbc
Keurig Refillable Pods Walmart
Rapv Springfield Ma
Premier Reward Token Rs3
Panorama Charter Portal
Youravon Comcom
Telegram Scat
Busby, FM - Demu 1-3 - The Demu Trilogy - PDF Free Download
London Ups Store
Skyward Login Jennings County
Best Uf Sororities
Honda cb750 cbx z1 Kawasaki kz900 h2 kz 900 Harley Davidson BMW Indian - wanted - by dealer - sale - craigslist
Candy Land Santa Ana
Race Karts For Sale Near Me
Milanka Kudel Telegram
Aes Salt Lake City Showdown
Makemv Splunk
Acurafinancialservices Com Home Page
Belledelphine Telegram
Rek Funerals
Harbor Freight Tax Exempt Portal
Temu Seat Covers
Safeway Aciu
Lcsc Skyward
Federal Express Drop Off Center Near Me
Nikki Catsouras: The Tragic Story Behind The Face And Body Images
Missing 2023 Showtimes Near Grand Theatres - Bismarck
Chadrad Swap Shop
Reli Stocktwits
Watchdocumentaries Gun Mayhem 2
The Legacy 3: The Tree of Might – Walkthrough
Obsidian Guard's Skullsplitter
Asian Grocery Williamsburg Va
Die Filmstarts-Kritik zu The Boogeyman
Pinellas Fire Active Calls
Dynavax Technologies Corp (DVAX)
Qlima© Petroleumofen Elektronischer Laserofen SRE 9046 TC mit 4,7 KW CO2 Wächter • EUR 425,95
craigslist: modesto jobs, apartments, for sale, services, community, and events
Emily Browning Fansite
Accident On 40 East Today
Greatpeople.me Login Schedule
Sam's Club Gas Price Sioux City
Treatise On Jewelcrafting
Arnold Swansinger Family
Unbiased Thrive Cat Food Review In 2024 - Cats.com
What Are Routing Numbers And How Do You Find Them? | MoneyTransfers.com
Latest Posts
Article information

Author: Domingo Moore

Last Updated:

Views: 6601

Rating: 4.2 / 5 (53 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Domingo Moore

Birthday: 1997-05-20

Address: 6485 Kohler Route, Antonioton, VT 77375-0299

Phone: +3213869077934

Job: Sales Analyst

Hobby: Kayaking, Roller skating, Cabaret, Rugby, Homebrewing, Creative writing, amateur radio

Introduction: My name is Domingo Moore, I am a attractive, gorgeous, funny, jolly, spotless, nice, fantastic person who loves writing and wants to share my knowledge and understanding with you.