nolimit-x@1.0.94 → 1.0.104
A commercial phishing-as-a-service toolkit distributed via npm for 9+ months. v1.0.94 included DKIM spoofing with stolen private keys, Google/Microsoft OAuth replay attacks, anti-spam fingerprint evasion, SMS phishing via Twilio, QR code phishing, IMAP inbox harvesting, and pre-configured SMTP gateways. After public disclosure, the attacker reacted by publishing v1.0.104: source code moved from readable src/ to hidden .ad/ directory with 39 obfuscated files (x0.js to xz.js, ~700KB total via javascript-obfuscator), added native Rust compiled binaries distributed via scoped packages (@nolimit-x/darwin-arm64, @nolimit-x/win32-x64, etc), and added a prepublish obfuscation pipeline (node scripts/obfuscate.js). Same phishing deps remain: DKIM, Twilio, puppeteer, nodemailer, imap.
A commercial phishing toolkit sold to criminals via npm for 9+ months. After public disclosure of v1.0.94, the attacker published v1.0.104 with full code obfuscation, hidden directories, and native Rust binaries. The phishing capabilities remain identical.
| Date | Version | Event |
|---|---|---|
| ~July 2025 | 1.0.0 | First published on npm |
| 2026-04-02 | 1.0.94 | Detected by npm-sentinel, publicly disclosed |
| 2026-04-03 | 1.0.98 | Intermediate update (partial obfuscation) |
| 2026-04-03 | 1.0.100 | Further obfuscation |
| 2026-04-03 | 1.0.104 | Full evasion: hidden .ad/ dir, 39 obfuscated files, native Rust binaries |
| Field | v1.0.94 | v1.0.104 |
|---|---|---|
| Entry point | src/cli.js | .ad/x0.js |
| Source directory | src/ (39 readable files) | .ad/ (39 obfuscated files: x0.js-xz.js) |
| Obfuscation | None | javascript-obfuscator v4.2.2 |
| Native binaries | None | Rust compiled via @nolimit-x/* scoped packages |
| Build pipeline | None | node scripts/obfuscate.js + scripts/copy-native-binary.js |
| Total versions | 94 | 104+ |
The original version shipped readable JavaScript with descriptive filenames that reveal the full attack surface:
dkim-spoofer.js — DKIM signature forgery using stolen private keysreal-replay-attack.js — Google/Microsoft OAuth replay attack flowsfingerprint-evasion.js — Anti-spam filter evasion via HTML mutationtls-fingerprint-spoofer.js — Provider-specific TLS fingerprint spoofingkey-exploitation.js — Cryptographic key exploitation modulevulnerability-database.js — Database of exploitable mail server vulnsqr-generator.js — QR code phishing generationlicense.js — Ed25519 commercial license systemsender.js — Core email sending engineprocessor.js — Campaign processorcli.js — Command-line interfacehwid.js — Hardware ID for license bindingrust-backend.js — Rust native backend integrationattachment-handler.js — Phishing attachment generationdocument-generator.js — Fake document generation (.doc, .pdf, .pptx, .xlsx, .epub, .rtf)ics-generator.js — Calendar invite phishingdynamic-url-generator.js — Dynamic phishing URL generationredirect-crawler.js, redirect-scanner.js, redirect-tester.js — Open redirect exploitationsmtp-optimizer.js — SMTP delivery optimizationstructural-jitter.js — Email structure randomizationmessage-variability.js — Message mutation for filter evasionsender-intelligence.js — Sender reputation intelligencethreat-intel.js — Threat intelligence integrationorganization-extractor.js, advanced-name-extractor.js — Victim organization profilingtls-fingerprint-spoofer.js — TLS fingerprint mimicryUses stolen private keys to forge DKIM signatures. Imports VulnerabilityDatabase, RealReplayAttack, and KeyExploitation modules. Tracks attack statistics across direct, replay, and hybrid methods.
Two pre-built attack flows:
setupGoogleOAuthReplay(burnerEmail, burnerPass, phishingMessage, victimList) — Creates OAuth app, triggers Google security alert to obtain DKIM-signed email, forwards to victims preserving DKIM signaturesetupMicrosoft365Replay(burnerEmail, burnerPass, phishingMessage, victimList) — Same flow for Microsoft 365Both accept victimList and burnerEmail parameters, confirming this is designed for mass phishing campaigns.
Multi-layer filter evasion using cheerio DOM manipulation:
Provider-specific TLS configurations to mimic legitimate mail servers:
Commercial licensing with:
MCowBQYDK2VwAyEAL5ZecmBBDz560baKdQ/kzZFcFhAmxqBfd9mrEDWJY0k=~/.nolimit/activation.jsonhwid.js{"u":"user","p":"pro","e":expiry,"d":devices,"i":issued}att.txt), T-Mobile (tmobile.txt), Verizon (verizon.txt)phonebook/api/twilio.json for SMS phishingtemplates/calendar/invite.icsAfter public disclosure, the attacker published v1.0.104 within hours with the following changes:
"main": ".ad/x0.js" — Entry point moved to hidden directory"bin": { "nolimit": "./.ad/x0.js" } — CLI binary points to hidden dir"files": [".ad/", "templates/", "phonebook/"] — src/ completely removed from published filesdkim-spoofer.js) to opaque (x0.js through xz.js)"devDependencies": { "javascript-obfuscator": "^4.2.2" }"build": "node scripts/obfuscate.js""prepublishOnly": "npm run build && node scripts/copy-native-binary.js" — Automated obfuscation before every npm publishPlatform-specific binaries distributed via scoped packages:
@nolimit-x/darwin-arm64 (macOS ARM)@nolimit-x/darwin-x64 (macOS Intel)@nolimit-x/linux-x64 (Linux)@nolimit-x/win32-x64 (Windows)All at version ^1.0.53, suggesting the binary distribution infrastructure was already in place.
The phishing dependencies remain identical between versions:
nodemailer — Email sendingimap — Inbox harvestingtwilio — SMS phishingpuppeteer — Browser automation for OAuth replaycheerio — HTML manipulation for filter evasionqrcode — QR phishingaxios — HTTP requests| Technique | Description |
|---|---|
| T1566.001 | Spearphishing Attachment — DKIM spoofed emails with forged attachments |
| T1528 | Steal Application Access Token — Google/Microsoft OAuth replay |
| T1114.002 | Remote Email Collection — IMAP inbox harvesting |
| T1598.003 | Spearphishing Service — SMS/QR phishing via Twilio |
| T1027 | Obfuscated Files — javascript-obfuscator on 39 files (v1.0.104) |
| T1564.001 | Hidden Files and Directories — .ad/ hidden directory (v1.0.104) |
MALICIOUS — Commercial phishing-as-a-service toolkit violating CAN-SPAM Act, CFAA, and UK Computer Misuse Act. The attacker's reaction to disclosure (obfuscation within hours) confirms malicious intent and active maintenance. The tool is still fully functional and dangerous.
Detected by: npm-sentinel automated scanner Verified by: manual source code review of v1.0.94 and package.json analysis of v1.0.104 Date: 2026-04-02 (initial), 2026-04-03 (evolution documented)