How Ossprey uncovered a 300+ package DPRK Contagious-Interview campaign
2026-07-02 • Ossprey •
https://www.ossprey.com/blog/how-ossprey-uncovered-a-large-scale-dprk-contagious-interview-campaign
Ossprey identified 298 active payload URLs associated with the DPRK's Contagious Interview campaign after malicious npm packages led investigators into a JSONkeeper dead-drop namespace. The operation deployed BeaverTail to steal Chromium credentials, cryptocurrency-wallet data, and password-manager data, while a separate 36-sample Node.js RAT cluster used a port-1244 protocol protected by a `ZT3` handshake. Researchers mapped 26 C2 servers and attributed the distinct RAT to the same operator through converging distribution, obfuscation, port, hosting, and infrastructure evidence. A live `buffer-util-internal` npm dropper showed the operator rotating attacker-controlled payloads in real time on 30 June 2026.
Indicators of Compromise
| Type | Value | First Seen | Last Seen |
|---|---|---|---|
| URL | http://216.126.225.83/api/servi… | 2026-07-02 | 2026-07-02 |
| URL | https://jsonkeeper.com/b/CWOV9 | 2026-07-02 | 2026-07-02 |
| URL | https://jsonkeeper.com/b/PT0ON | 2026-07-02 | 2026-07-02 |
| URL | https://jsonkeeper.com/b/UPCMV | 2026-07-02 | 2026-07-02 |
| URL | http://216.126.225.104:5000/dow… | 2026-07-02 | 2026-07-02 |
| DOMAIN | wrdpaer.com | 2026-07-02 | 2026-07-02 |
| DOMAIN | vuwoner.com | 2026-07-02 | 2026-07-02 |
| DOMAIN | ex5jg.cn | 2026-07-02 | 2026-07-02 |
| DOMAIN | kxhinl3.ru | 2026-07-02 | 2026-07-02 |
| DOMAIN | x22chrome.app | 2026-07-02 | 2026-07-02 |
| DOMAIN | x20code.app | 2026-07-02 | 2026-07-02 |
| DOMAIN | sizesocket.io | 2026-07-02 | 2026-07-02 |
| DOMAIN | logsocket.io | 2026-07-02 | 2026-07-02 |
| DOMAIN | gsocket.io | 2026-07-02 | 2026-07-02 |
| DOMAIN | x22socket.io | 2026-07-02 | 2026-07-02 |
| DOMAIN | x20socket.io | 2026-07-02 | 2026-07-02 |
| HASH | ec26774218bc9ba577cab41f1081388… | 2026-07-02 | 2026-07-02 |
| HASH | 379406f8a9339f033be1f802002b780… | 2026-07-02 | 2026-07-02 |
| HASH | 259fe955fae02f969363637eb267fa0… | 2026-07-02 | 2026-07-02 |
| IPv4 | 216.126.225.83 | 2026-07-02 | 2026-07-02 |
| IPv4 | 216.126.224.168 | 2026-07-02 | 2026-07-02 |
| IPv4 | 144.172.104.196 | 2026-07-02 | 2026-07-02 |
| IPv4 | 38.92.47.157 | 2026-07-02 | 2026-07-02 |
| IPv4 | 38.92.47.175 | 2026-07-02 | 2026-07-02 |
| IPv4 | 147.124.202.210 | 2026-07-02 | 2026-07-02 |
| IPv4 | 147.124.202.213 | 2026-07-02 | 2026-07-02 |
| IPv4 | 45.140.167.218 | 2026-07-02 | 2026-07-02 |
| IPv4 | 138.201.125.58 | 2026-07-02 | 2026-07-02 |
| IPv4 | 217.148.142.113 | 2026-07-02 | 2026-07-02 |
| IPv4 | 23.227.203.192 | 2026-07-02 | 2026-07-02 |
| IPv4 | 23.227.203.204 | 2026-07-02 | 2026-07-02 |
| IPv4 | 23.227.202.52 | 2026-07-02 | 2026-07-02 |
| IPv4 | 23.227.202.51 | 2026-07-02 | 2026-07-02 |
| IPv4 | 216.126.225.104 | 2026-07-02 | 2026-07-02 |
| IPv4 | 138.201.140.23 | 2026-06-23 | 2026-07-02 |
| IPv4 | 45.59.163.198 | 2026-06-03 | 2026-07-02 |
| URL | https://jsonkeeper.com/b/BADC6 | 2026-04-03 | 2026-07-02 |
| IPv4 | 216.126.237.71 | 2026-04-02 | 2026-07-02 |
| IPv4 | 147.124.202.225 | 2026-02-26 | 2026-07-02 |
| IPv4 | 95.216.37.186 | 2026-01-20 | 2026-07-02 |
| IPv4 | 45.43.11.199 | 2026-01-12 | 2026-07-02 |
| IPv4 | 88.218.0.78 | 2025-10-20 | 2026-07-02 |
| IPv4 | 23.227.202.244 | 2025-10-10 | 2026-07-02 |
| IPv4 | 146.70.253.107 | 2025-10-10 | 2026-07-02 |
| IPv4 | 45.61.150.31 | 2025-03-17 | 2026-07-02 |
| IPv4 | 5.253.43.122 | 2025-01-29 | 2026-07-02 |