WikifitaGitHub live67e8de5
pesquisa · clickfix/clickfix-iocs

ClickFix — IOCs, Detection & Remediation

Complete IOC inventory, MITRE ATT&CK mapping, detection rules (Suricata/Snort/shell), remediation guide, GitHub Action for link monitoring.

Baixar raw

ClickFix — IOCs, Detection & Remediation

Complete indicator inventory, MITRE ATT&CK mapping, detection rules, and step-by-step remediation guide.

See also: clickfix-handoff | clickfix-attack-chain | clickfix-infrastructure


1. IOC Inventory

Network

TypeIndicatorStageStatus
Domainidetools.devEntryHijacked → rotated
Domainsessionaquirecheck.pages.devEntryNXDOMAIN
URL295e5cd2.sessionaquirecheck.pages.devEntryOffline
Domainmaccf9c.jetbet4.onlineStage 1Cloudflare 403
URLmaccf9c.jetbet4.online/script.shStage 1Blocked
Domainsj98xe4.xyzStage 3/4Suspended (clientHold)
URLsj98xe4.xyz/upload.phpStage 4Offline
IP62.60.226.50Stage 4Orphaned fallback
URL62.60.226.50/upload.phpStage 4HTTP — unencrypted
Domainpolygon.drpc.orgStage 3Legitimate RPC
Domainpolygon.publicnode.comStage 3Legitimate RPC
Domainpolygon-mainnet.gateway.tatum.ioStage 3Legitimate RPC
Domaintenderly.rpc.polygon.communityStage 3Legitimate RPC
Domainapdhlhs3.xyzPost-takedown C2Was active

Blockchain

TypeIndicatorDetails
Contract0xA3a603F8a454a9c905b4c579Bb72628F7C15C2A0Polygon Mainnet C2 resolver
Selector0x2686eceaeth_call to read C2 URL
NetworkPolygon Mainnet (Chain ID 137)Immutable

Host-Based (macOS)

TypePathDescription
File~/Library/LaunchAgents/com.<random>.plistMalicious LaunchAgent
File~/Library/<random>Persistent script
File~/.passphraseStolen password (plaintext)
File~/.txidTracking ID: 8a4e280e1159833ede425a1306c2efe5
Processosascript (long-running)C2 bot
Temp/tmp/<uuid>.zipExfiltration archive

Behavioral

BehaviorDetection Method
launchctl load in shell historygrep launchctl ~/.zsh_history
osascript making HTTP POSTUnified Log / network monitoring
tccutil reset AllUnified Log
ioreg from shell scriptProcess tree analysis
ditto -c -k in /tmp/Filesystem monitoring
curl POST multipart to unknown domainNetwork monitoring
security find-generic-password -waAudit log
base64 -d piped to bashShell audit log

2. MITRE ATT&CK Mapping (20 Techniques)

IDTechniqueImplementation
T1204.002User Execution: Malicious FileVictim pastes ClickFix payload in Terminal
T1566.002Phishing: Spearphishing LinkGitHub README → hijacked idetools.dev
T1059.002AppleScriptAll stages use osascript
T1059.004Unix Shellscript.sh, ledger, shell modules
T1547.011Plist ModificationLaunchAgent persistence
T1102Web ServiceBlockchain as C2 dead-drop
T1102.004Blockchaineth_call to Polygon contract
T1555.001Keychainsecurity find-generic-password
T1056.002GUI Input CaptureFake osascript password dialog
T1005Data from Local SystemDesktop, Documents, Notes, wallets
T1560.001Archive via Utilityditto -c -k ZIP creation
T1041Exfiltration Over C2POST to /upload.php
T1027Obfuscated FilesBase64 clipboard payload
T1140Deobfuscationbase64 -d, xxd -r -p
T1036Masqueradingcom.<random> mimics legitimate daemons
T1036.005Match Legitimate NameRandom alphanum in LaunchAgents
T1070.003Clear Command Historyosascript wrapper hides from history
T1562.006Indicator Blockingtccutil reset All wipes TCC DB
T1082System Information Discoveryioreg UUID, whoami
T1552.001Credentials in Files~/.passphrase plaintext

3. Remediation Guide (10 Steps)

Perform in order. Skipping steps risks incomplete remediation.

Step 1: Isolation

☐ Disable Wi-Fi (System Settings → Network → Wi-Fi → Off)
☐ Disconnect Ethernet
☐ Do NOT interact with any unexpected dialogs

Step 2: Credential Rotation (from DIFFERENT device)

☐ Change macOS login password
☐ Change ALL account passwords (email, banking, crypto, Apple ID)
☐ Revoke all active browser sessions
☐ Enable 2FA on all critical accounts
☐ Rotate ALL crypto wallet seed phrases → new wallets, transfer assets

Step 3: Remove LaunchAgent

# Unload FIRST (before killing process)
launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.luhbmchzztkfbxao.plist
# Delete artifacts
rm -f ~/Library/LaunchAgents/com.luhbmchzztkfbxao.plist
rm -f ~/Library/luhbmchzztkfbxao
# Verify
launchctl list com.luhbmchzztkfbxao

Step 4: Kill Remaining Processes

ps aux | grep -E '(osascript|luhbmchzztkfbxao|sj98xe4|maccf9c)' | awk '{print $2}' | xargs kill -9

Step 5: Remove Credential Artifacts

rm -f ~/.passphrase ~/.txid

Step 6: Check for Additional Persistence

ls -la ~/Library/LaunchAgents/ | grep -v apple
launchctl list | grep -vE '(apple|google|microsoft)'
ls -la ~/Library/LaunchDaemons/ | grep -v apple

Step 7: Scan for Residual Files

find /tmp -name "*.zip" -newer /tmp -mtime -7
find ~/Library -name "luhbmchzztkfbxao" -o -name "*.plist" -newer ~/Library/Preferences

Step 8: Check Browser Extensions

☐ Review Chrome/Brave extensions — remove any unrecognized
☐ Clear browser data (cookies, cache, local storage)

Step 9: Full Antivirus Scan

☐ Run XProtect (macOS built-in): xprotect update && xprotect scan
☐ Consider Malwarebytes for Mac (free scan)

Step 10: Consider OS Reinstall

☐ If any doubt remains, backup data and reinstall macOS
☐ Restore from Time Machine ONLY if backup predates 2026-06-25

4. Detection Rules

Shell Self-Assessment

#!/bin/bash
echo "=== ClickFix APT Self-Assessment ==="
echo "[1] LaunchAgents:"
ls ~/Library/LaunchAgents/ 2>/dev/null | grep -v apple
echo "[2] Marker files:"
ls -la ~/.passphrase ~/.txid 2>/dev/null
echo "[3] Suspicious processes:"
ps aux | grep -E '(osascript|luhbmchzztkfbxao|sj98xe4|jetbet4)'
echo "[4] Launchctl daemons:"
launchctl list | grep -vE '(apple|google|microsoft|com\.adobe|1password)'
echo "[5] DNS cache:"
dscacheutil -cachedump -entries Host 2>/dev/null | grep -E '(sj98xe4|sessionaquirecheck|maccf9c|apdhlhs3)'

Unified Log Queries

# tccutil reset
log show --predicate 'process == "tccutil"' --last 24h

# osascript network calls
log show --predicate 'process == "osascript" AND eventMessage CONTAINS "curl"' --last 24h

# IOPlatformUUID discovery
log show --predicate 'eventMessage CONTAINS "IOPlatformUUID"' --last 24h

# LaunchAgent execution
log show --predicate 'process == "launchd" AND eventMessage CONTAINS "luhbmchzztkfbxao"' --last 24h

Suricata/Snort Rules

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"ClickFix C2 Beacon - sj98xe4.xyz"; flow:established,to_server; content:"POST"; http.method; content:"sj98xe4.xyz"; http.host; sid:9000001; rev:1;)

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"ClickFix BDDR - Polygon eth_call"; flow:established,to_server; content:"POST"; http.method; content:"eth_call"; http_client_body; sid:9000002; rev:1;)

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"ClickFix Exfil Upload"; flow:established,to_server; content:"POST"; http.method; content:"upload.php"; http_uri; sid:9000003; rev:1;)

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"ClickFix Payload Download"; flow:established,to_server; content:"GET"; http.method; content:"script.sh"; http_uri; sid:9000004; rev:1;)

5. Recommendations to Red Hat Maintainers

Immediate (P0)

  • Remove idetools.dev link from lsp4ij README
  • Post security notice about the compromised link

Short-term (P1)

  • Audit all external links in README files for domain expiry
  • Implement link checking in CI (e.g., markdown-link-check)

Long-term (P2)

  • GitHub Action for daily link security auditing
  • Content Security Policy headers on documentation sites
  • Subresource Integrity for external resources

6. Campaign Attribution Notes

AttributeAssessmentConfidence
LanguageNon-native English ("Please enter password for continue")High
Target audienceDevelopers (lsp4ij = dev tool)High
InfrastructureProfessional (BDDR, modular C2, multi-RPC)High
Operational maturityTwo stealer variants, operator trainingMedium
Financial motivationCrypto wallet theft (60+ targets)High
Geographic indicatorsFEMO IT SOLUTIONS (UK virtual office)Low
Timeline discipline40-day campaign windowsMedium
Adaptation speedNew C2 in 2 days, $1 costHigh

Source: redhat-clickfix-report/docs/07_iocs_and_remediation.md