Blog da Zscaler

Receba as últimas atualizações do blog da Zscaler na sua caixa de entrada

Security Research

Tracking Updates to Raspberry Robin

image
THREATLABZ
August 04, 2025 - 8 Min. de leitura

Introduction

Raspberry Robin, also known as Roshtyak, is a malicious downloader that has been actively targeting systems since 2021 and primarily spreads through infected USB devices. Despite limited public reporting, Raspberry Robin continues to evolve and adopt new techniques to improve its functionality and evade detection. Further insights into Raspberry Robin are available in our previous technical analysis.

In this blog, we outline the latest updates to Raspberry Robin, including improved obfuscation methods, a shift from AES-CTR to ChaCha-20 for network encryption, a new local privilege escalation exploit (CVE-2024-38196), and the use of invalid TOR onion domains to complicate the process of extracting Indicators of Compromise (IOCs).

Key Takeaways

  • Raspberry Robin is an advanced malware downloader that has been active since 2021.
  • The developers have improved the malware’s obfuscation methods by adding multiple initialization loops to functions with a flattened control flow, making brute-force decryption less efficient.
  • The network encryption algorithm has changed from AES (CTR mode) to Chacha-20.
  • Raspberry Robin has added a new local privilege escalation (LPE) exploit (CVE-2024-38196) to gain elevated privileges on targeted systems.
  • The malware embeds invalid command-and-control (C2) server (TOR onion) domains.
  • Certain values, such as the RC4 key seed, are randomized per sample/campaign.

Technical Analysis

In this section, we describe the most significant changes we observed in Raspberry Robin’s functionality. It is worth noting that most of these changes were implemented shortly after our previous publication.

Obfuscation

Raspberry Robin continues to use the same obfuscation techniques discussed in our prior analysis of the malware. However, we have observed three notable changes, which we discuss below.

Initialization loops

One key update is the addition of extra initialization loops to the functions that have a flattened control flow. Previously, it was possible to brute-force the decryption key of each obfuscated function. To counter this, the developers introduced multiple loops, making brute-force efforts inefficient. This modification adds extra junk and obfuscated code into the function.

Obfuscated stack pointers

Another notable update is Raspberry Robin’s use of obfuscated stack pointers. This technique disrupts the decompilation process of IDA, since IDA assumes that the accessed pointer will be a large value. The output result is a failed function decompilation. To address this issue, analysts must manually fix the function’s stack.

The figure below shows how Raspberry Robin's obfuscated stack pointers interfere with the decompilation process of IDA.

Example of Raspberry Robin’s new obfuscated stack pointers.

Figure 1: Example of Raspberry Robin’s new obfuscated stack pointers.

Obfuscated conditional statements

The third notable change is the obfuscation of conditional statements. This modification further complicates the analysis of Raspberry Robin's logic during code analysis.

Example of Raspberry Robin’s obfuscation for conditional statements.

Figure 2: Example of Raspberry Robin’s obfuscation for conditional statements.

Network communication

Although the network encryption process of Raspberry Robin remains nearly the same, ThreatLabz has identified some key changes:

  • Raspberry Robin now uses the ChaCha-20 encryption algorithm instead of AES-CTR for encrypting network data. While the 32-byte encryption key is hardcoded in the binary, the counter and nonce values are randomly generated per request.
  • Raspberry Robin continues to use a 16-byte RC4 key. However, the 8-byte random seed is now appended to the end of the key, rather than the beginning. Additionally, hardcoded portions of the key vary between samples and campaigns.
  • While the CRC-64 algorithm remains the same, its initial values are now randomized per sample/campaign.

The random counter and nonce values for ChaCha-20 are prepended to the encrypted data using the following structure.

struct encryptionInfo
{
 uint32_t nonce_part2;
 uint32_t nonce_part3;
 uint32_t counter;
 uint32_t nonce_part1;
};


Command-and-control (C2) onion domain obfuscation

Raspberry Robin has also updated its method of embedding intentionally corrupted TOR onion domains. Starting in early 2024, Raspberry Robin included a hardcoded algorithm within its TOR module to dynamically correct decrypted C2 domains. The Python code example below shows an example of the domain correction algorithm.

Python code sample

By early 2025, the threat actors modified this part of the code and the algorithm is different per sample/campaign. An example is shown in the figure below.

Raspberry Robin C2 dynamic correction algorithm.

Figure 3: Raspberry Robin C2 dynamic correction algorithm.

Additional Updates

Beyond the primary changes, ThreatLabz identified several other noteworthy updates:

  • Raspberry Robin developers have introduced expiration dates within the malware’s binary code. Each sample we analyzed includes an allowed execution period of one week.
  • Raspberry Robin now leverages CVE-2024-38196 to achieve elevated privileges on targeted systems.
  • The memory mapping used for communication between the core module and TOR module now varies per sample/campaign. Different offsets are applied for storing data.

Conclusion

Raspberry Robin remains active, now employing updated obfuscation techniques, encryption methods, and tactics to avoid detection and hinder reverse-engineering analysis. While it has not garnered as much attention as other prominent malware families, its continuous improvements make it a significant threat for security teams.

Zscaler Coverage

Zscaler’s multilayered cloud security platform detects indicators related to Raspberry Robin at various levels. The figure below depicts the Zscaler Cloud Sandbox, showing detection details for Raspberry Robin.

Zscaler Cloud Sandbox report for Raspberry Robin.

Figure 4: Zscaler Cloud Sandbox report for Raspberry Robin.

In addition to sandbox detections, Zscaler’s multilayered cloud security platform detects indicators related to Raspberry Robin at various levels with the following threat names:

Indicators Of Compromise (IOCs)

SHA256

Description

5b0476043da365be5325260f1f0811ea81c018a8acc9cee4cd46cb7348c06fc6

Raspberry Robin DLL

05c6f53118d363ee80989ef37cad85ee1c35b0e22d5dcebd8a6d6a396a94cb65

Raspberry Robin DLL

 

Indicators of Compromise (IOCs)

Description

ves2owzq3uqyikb4zoeumzr4uxpi3twmy5qa5fdc4g7btpc43x5ahxyd.onion:9211

C2 server domain

df643p7juf4hhz3nqy4lychm2xslc645bozk3egqhsj46k6xqoy4xvad.onion:13201

C2 server domain

d7qiqd6srhy4poo2q6vbn7bx4b2wl7nrclswfqprmldzuarbfz3rglid.onion:52295

C2 server domain

d7qiqd6srhy4poo2q6vbn7bx4b2wl7nrclswfqprmldzuarbfz3rglid.onion:63185

C2 server domain

yo2a27uulrkraxfdwfcx7zokonpsux5qlufqsu7ial45uitm5v2seyyd.onion:60939

C2 server domain

oqki6m6qejavp7c5smafqa34locotxqbeh4scltzrhucgafykzzbh6ad.onion:1342

C2 server domain

c5empmuptwtgmehonawb6pzd4ifupervyqduqpop2m3idsgbcwdtrdad.onion:53120

C2 server domain

jsfnao46dnqos2avnrcvwlotr6xzqbp6uxfvl4mnkh6uyg6fch4bciqd.onion:56005

C2 server domain

el4ccbgrbeyqdc4vn74tdtfstksdmwj66qdi7e77vucafwvvm7ozvgad.onion:6212

C2 server domain

g7w5uxhxw5mp5jmshvevd273qvkph2if5xnvrjemthe6ok5q5dtek4ad.onion:58387

C2 server domain

cunm2jbjumfxl6tfrtzkmpk7h722oxxqqfaw2iinkalt7ijf77ch27qd.onion:10192

C2 server domain

r4gihskhiti437bonklmq24d6dl6swuw7zg5iseehjcepd3abbyyqsid.onion:62377

C2 server domain

mh3ibr5n4abi3fr3rlaar7wr3p2ptjrcon3jcp6tuqxscxfii4pegkid.onion:24793

C2 server domain

x76mtemtxl5fucgccu2nz4morfmpwwe44xp3ovkgsguzsntlh7ukn4id.onion:12656

C2 server domain

xzxdiwnw354odly55y7twfrimzys5574eaw57ttetyyo4up5ww6v25ad.onion:20938

C2 server domain

ipatoez4ldch3vabmz6lcawxtoogkmg5alxvwdm7fwzng7flvlz47ryd.onion:45505

C2 server domain

wlfeie2rk6utw3y5aykjisr3yj6c7hme43st2weo4jmtok6zxw33hyad.onion:31059

2fio6wjjlq4pihqf6qhefaqnkkfonkgbiu4uw3jvzhcuysejme4oxwyd.onion:6849

C2 server domain

bpe2vrpvh5ri7odgbqxhr6mjaxe3zvekcexzdwpaiorq3xcbttrxywid.onion:22316

C2 server domain

42lidqllkggf7tsgymwk4jzfmawdinwav5vkii3l3wsqcrk4k5ncrrad.onion:30971

C2 server domain

vvftwyeaxr3f32t3etseadhvfx42ylza5g5gpg3zqp3e46tie2w34iyd.onion:13066

C2 server domain

3c6vus267hplojma4d3qckohjgxnhattb2vkkwcm6anilylzqkzdakad.onion:48285

C2 server domain

ztnjv2hf4gxl7x7f27qhhfxehdd4cd6cdfwjw6u7njmqxjgllzm6kgid.onion:17249

C2 server domain

okindaw6oogkyrdjghbqdcmbcrxersox5yphfod2uy363g5go72tx7qd.onion:37435

C2 server domain

uxfjrthzy6c6a7d2zqk47x4ltjm6hmftbroghxk4vfjva6mftpsmkbyd.onion:49600

C2 server domain

3gqcnr6wlxmv3dunl6rb4mcosa7ttedzbgya42burisj4qoeudl77nad.onion:40763

C2 server domain

kykggujjvvag7p4nmptsfuyqrqtqiqqun3pimsuupecmpoez2gph4vqd.onion:34469

C2 server domain

d4fsxtbvffjubsxmhczl6mt2wqukyao23vzi2dd7nahpcrwrhvkualid.onion:52210

C2 server domain

s54ui6ju3aa5w3anmo3lgwn53hm7us3lj5venw3eqyogoel6e6uv7fad.onion:14826

C2 server domain

3rp2g7y5jyalwmihkagfvwdh3fjvbecor3vz4j6vwaxdnmi6onf2hrid.onion:24849

C2 server domain

ag2qts4t6fy6x475c5xuknlwdugdoy33oueejdv5lkfavah73g6mvlyd.onion:4853

C2 server domain

qtnf675tghndtnnrosx2lsrvktbq7iw3noetckags2fb2ci7cujzxfyd.onion:20325

C2 server domain

4l4abrrv5j7662dioqthd5fz5u4oxbpfradwt3ntliw2gfnikgers6qd.onion:35870

C2 server domain

glhdxhgiqrboqrgw2dmwutpocyilxxuahxc6v3lfpfxhihahw4tjfeid.onion:4647

C2 server domain

csn3i3femv6dx362p4qesombr3e7gm5skcxkuqrymuaxeqqwmnrnvxyd.onion:13609

C2 server domain

knvocjqt6znfp4lba3j237i5kjnxgmk6niqk72w3wb22bfif6i7wufad.onion:46367

C2 server domain

yuuexutjzjmul7wldcecq6mpr2v5dyblw5n77elnoikttxfk3y54gnad.onion:20247

C2 server domain

ysbbw6ghpxos5jzcmdjydrrl3clqdvwfygejrktre4bixr3zo63vk7yd.onion:9080

C2 server domain

xwm5hhm4oalqhe4u67dfsqovxygkxox4bleir4isyqpncskamxa7bead.onion:65293

C2 server domain

gutayapi55tb5dmjhlmlwk3owg4aqy5fbyw7uk4skoagzv3le4ge6kad.onion:54050

C2 server domain

iz3iltwsdsaiqptqxba52bvwouzwoi56fw7vqbiw3znjo2jmifxmiuqd.onion:44714

C2 server domain

ia5ynzyztblk7vde74szyhy6a7f57dqg6jvysnrm34fv2aivlcornzqd.onion:55782

C2 server domain

j3w64lohpdl2fynduq7tey7v5kc5nfieblmi5g2znuadn75lkrgdi3yd.onion:33534

C2 server domain

4x34ze2b5l7fh5b4miyvkg44ohajj2pb7hcewt3jt3wlccfbezejrgyd.onion:61565

C2 server domain

sgk5c76pgs7a3qfhzvmey2ecnunsfdbykgjxvunnbpnn3ixlu7a5eqyd.onion:57063

C2 server domain

ztgk5ebmxcq3onksgg3guxpe4abz4cktcfa5lgubcgyde3ojkbvyjnad.onion:3574

C2 server domain

5lqerrumqsknnphthjiwg45uas7xcer65am4vs7z4zheshmx6hxyh2yd.onion:33774

C2 server domain

5oiwshn53yari5pza6ca3rxctq47e4azf6wzsvyidmt3j55d5lf7rvyd.onion:54638

C2 server domain

7jfv34s2axfur4euvzqzzowyqksby7hyt3sizuxvucxoc6ma46qjooqd.onion:37085

C2 server domain

soraykkm25es2phzeszxpinfhcbqgyn7i4tznb4atvks3gnsynm7avad.onion:21586

C2 server domain

tfjhxbhmr3vrmjrhc543npj4nk64jksodoclyjuqfn5aflmi44f657id.onion:29543

C2 server domain

7ray5zki7gjzms3bzbivwtcacyt4raaz6bixzmmgu6ljy5pjfpebowqd.onion:432

C2 server domain

z5qg6hpu7sxjyws2fqxei2peywu2tttq6lxs5ybxesgffqmjpedyeuyd.onion:37022

C2 server domain

werbjkqsmcugdcbdn5yvriyy6q4m2qfk3mg7cf6sujzandkwlsnlucid.onion:18703

C2 server domain

aqumyf4ecfgbxgcnrels2qd2cq5obbnwr4zr37cqw3tg7v5o6kuhqqyd.onion:37737

C2 server domain

wmdlzzdfkxikxrlw42rf75ug62semr3h6soc6tyoom3bb75zi7hjbrid.onion:3569

C2 server domain

6g6z6zsz7xc2ywqunbzzc4u2uv7yakc5aiaqbojbajmfioj3dfkzbnqd.onion:11703

C2 server domain

ne2vesxuik5dkz4vynmfped6rjfsjehmkajhkcpcjr5m3c3hc5bx5oad.onion:27842

C2 server domain

7gb5jc3mr32qqyae2s3o5r4fpima2cqpuogpbcmwk7wyvwmqxpr4wdid.onion:62326

C2 server domain

daorqgcuse6jzt7r22si2q4t7rjz622vxd5xhq4v4rzcyukltnqg3pyd.onion:31817

C2 server domain

 

 

form submtited
Obrigado por ler

Esta postagem foi útil??

Aviso legal: este post no blog foi criado pela Zscaler apenas para fins informativos e é fornecido "no estado em que se encontra", sem quaisquer garantias de exatidão, integridade ou confiabilidade. A Zscaler não se responsabiliza por quaisquer erros, omissões ou por quaisquer ações tomadas com base nas informações fornecidas. Quaisquer sites ou recursos de terceiros vinculados neste post são fornecidos apenas para sua conveniência, e a Zscaler não se responsabiliza por seu conteúdo ou práticas. Todo o conteúdo está sujeito a alterações sem aviso prévio. Ao acessar este blog, você concorda com estes termos e reconhece que é de sua exclusiva responsabilidade verificar e utilizar as informações conforme apropriado para suas necessidades.

Receba as últimas atualizações do blog da Zscaler na sua caixa de entrada

Ao enviar o formulário, você concorda com nossa política de privacidade.