Dev#Popper/Contagious interview campaign follow up – November 2024
APT, North Korea Hunting, Infrastructure Analysis, OSINTExecutive Summary
- Since November 2023, multiple security editors and researchers have consecutively documented an ongoing social engineering campaign targeting software developers based in Europe, North America and Asia through fake interviews to deliver multiple malware families including BeaverTail, InvisibleFerret and CivetQ.
- This ongoing campaign has been attributed to North-Korean state-sponsored groups Lazarus (by Group-IB) and to a new group named Tenacious Pungsan (by Datadog).
- Threat actors attributed to this campaign are suspected to operate for espionage and financial theft purposes.
- Based on our analysis (specifically on the C2 infrastructure), this campaign is still active as of October 2024 and is targeting French developers since at least June 2024. We also assess with moderate confidence that this ongoing effort suggest an interest into conducting additional supply chain attacks by leveraging software developers’ work.
- This report provides defenders with:
Key Points
- This report can be useful for CTI, SOC and CSIRT analysts.
- Overview of the TTPs:
- North Korean actors impersonate recruiters to target tech job seekers, delivering malware under the guise of job interview preparations.
- Attackers use social engineering by posing as job interviewers and tricking software developers into downloading malicious ZIP files or NPM packages. New phishing tactic using fake video conferencing applications (FCCCall) was introduced in September 2024.
- Attackers impersonate recruiters on platforms like LinkedIn, Upwork, and other developer forums to reach potential victims.
- The campaign has evolved to target multiple operating systems, including Windows, Linux, and macOS.
- Scripts are obfuscated, encoded with base64, and using XOR for defense evasion purposes.
- The campaign relies so far on three main payloads:
- BeaverTail: a JavaScript downloader that can also act as an information stealer to retrieve the second-stage payload InvisibleFerret.
- InvisibleFerret: a Python-based backdoor which is capable of keylogging, remote control and persistent access via the download of AnyDesk.
- CivetQ: a set of Python scripts that acts as a downloader of BeaverTail.
- The malware used in this campaign have been designed to steal cryptocurrency, credentials and cookies from multiple web-browsers. The targeted list of browser extensions has been regularly expanded to include multiple items, with a focus on cryptocurrency wallets and authenticator extensions.
- The stolen information is then exfiltrated to a remote command-and-control (C2) server over FTP or Telegram alongside with traditional HTTP.
- The threat actor uses Anydesk for persistence and probably as a mean to blend into regular network traffic.
Assessment
This campaign which has been running since almost two years now indicates a strong effort and a clear interest from North-Korean actors into targeting the software industry. This campaign could just be a way for North Korean actors to conduct additional supply chain attacks such as the 3CX breach reported and investigated by Mandiant back in 2023. Indeed, targeting software developers might grant the attackers access to specific software project the victims are involved in. From there, the attackers could conduct additional malicious operations. Therefore, this campaign might not only be focusing on financial gain but also on espionage.
Although some reports state that this campaign demonstrates advanced sophistication, several elements suggest that is not as sophisticated as we could expect from an APT:
- Dependencies issues faced while running a Python script (as highlighted by Secureworks);
- Use of unencrypted protocol (FTP) for data exfiltration;
- The ease with which it is possible to track the infrastructure.
Key Intelligence Gaps
We did not analyzed the payloads involved in this campaign and we did not conduct additional research on GitHub to find latest projects used by the threat actor. This could likely provide additional pivot points (maybe a second part for this article?).
Campaign properties
Name | Dev#Popper/Contagious interview Campaign follow up |
Description | Since December 2022, a campaign attributed to a likely North-Korean threat actor is targeting software developers via social engineering using fake job interviews to deliver malware named BeaverTail, InvisibleFerret and CivetQ. The campaign has been regularly updated since December 2022. Major updates include support for multiple operating systems (macOS, Windows and Linux), reaching more people through additional job search platform and additional obfuscation techniques to evade detection. Based on the malwares’ behaviors, the threat actor aimed at stealing financial and sensitive data and support intelligence effort. |
Aliases | Dev#Popper (Securonix) Contagious Interview (Palo Alto) |
First Seen | December 2022 |
Last Seen | October 2024 (ongoing) |
Objective | Espionage and financial gain |
Victimology
- Countries
- United States of America (Since December 2022)
- South Korea (Since July 2024)
- Europe (Since July 2024)
- France (since June 2024)
- Middle East (Since July 2024)
- Sectors
- Technology (Since December 2022)
- Software industry (Since December 2022)
- Finance (Cryptocurrency and Blockchain professionals) (Since December 2022)
- Technology (Since December 2022)
Tactics, Techniques and Procedures
MITRE ATT&CK Table
CVE exploited
No CVE exploited as part of this campaign.
Malware used
Malware Name | Malware Type | Description | Observation Date |
BeaverTail | Downloader | JavaScript-based downloader hidden in a Node Package Manager package. | Since December 2022 |
InvisibleFerret | Backdoor | Python-based backdoor. | Since December 2022 |
CivetQ | Information Stealer | Python-based information stealer. | Since September 2024 |
Tool used
Tactic | Tool | Description | Observation Date |
Persistence | AnyDesk | RMM tool. | Since December 2022 |
Infrastructure analysis
BeaverTail and InvisibleFerret
- HTTP requests to port 1224 and/or 1244 on several endpoints (list not exhaustive):
- /keys
- /uploads
- /node
- /pdown
- /client
- Usage of “Node.js upload multiple files” banner or “Node.js upload & resize multiple files”
- Download of a zip file named “pdown”
- Usage of port 8000 to retrieve a run.py file
Latest C2 Infrastructure
Using the prior information on tools such as URLscan, Shodan, Censys, ZoomEye and VirusTotal we were able (as already pointed out by several security researchers, please find the source section below) to collect many additional IPv4 highly likely associated to this ongoing campaign:
# Pdown on port 1224
45.137.213.30
23.106.253.242
23.106.253.221
172.86.98.240
185.235.241.208
# Pdown lookup or pdown on port 1244
147.124.212.146
147.124.214.131
147.124.214.237
23.106.253.215
23.106.253.221
# Pdown on port 1244
23.106.70.154
147.124.214.129
23.106.253.194
67.203.7.163
67.203.7.171
#/keys on port 1224
185.235.241.208
185.235.241.208
# "Node.js upload multiple files" (Shodan and Censys)
143.198.48.95
147.124.197.138
# "Node.js upload & resize multiple files" (Shodan and Censys)
69.43.130.141
69.43.130.153
IoCs can be retrieved from GitHub: https://github.com/threatchronicles/research/blob/main/ioc/dev_popper_contagious_interview_ioc.txt
Signatures
Infrastructure tracking
Queries examples:
# urlscan
filename:"pdown" AND (page.url.keyword:*\:1224* OR page.url.keyword:*\:1244*)
# Censys
(services.http.response.html_title="Node.js upload & resize multiple files") or (services.http.response.html_title="Node.js upload multiple files") and (services.port:1224 OR services.port:1244)
SIGMA rules
We created a Sigma rule to detect malicious node.js process reported by Securonix. This is available on GitHub:
Additionally, the use of AnyDesk can also be detected via existing SIGMA rules:
Sources
Security Editors
- https://securitylabs.datadoghq.com/articles/tenacious-pungsan-dprk-threat-actor-contagious-interview/
- https://unit42.paloaltonetworks.com/north-korean-threat-actors-lure-tech-job-seekers-as-fake-recruiters/
- https://www.esentire.com/blog/bored-beavertail-yacht-club-a-lazarus-lure
- https://www.group-ib.com/blog/apt-lazarus-python-scripts/
- https://www.securonix.com/blog/research-update-threat-actors-behind-the-devpopper-campaign-have-retooled-and-are-continuing-to-target-software-developers-via-social-engineering/
- https://www.securonix.com/blog/analysis-of-devpopper-new-attack-campaign-targeting-software-developers-likely-associated-with-north-korean-threat-actors/
- https://unit42.paloaltonetworks.com/two-campaigns-by-north-korea-bad-actors-target-job-hunters/
Researchers and social media reports
- https://x.com/MichalKoczwara/status/1844302222911476079
- https://infosec.exchange/@spark/111621395392313256
- https://x.com/dimitribest/status/1782609281897902426
- https://www.reddit.com/r/hacking/comments/18npzcl/obfuscated_code_a_recruiter_sent_me/
- https://objective-see.org/blog/blog_0x7A.html
- https://x.com/malwrhunterteam/status/1812792291876119034
- https://x.com/AzakaSekai_/status/1821803054423011426
- https://www.reddit.com/r/webdev/comments/1ddpmiz/beware_of_scammers/?tl=fr