Source: G DATA CyberDefense (blog) — Analyse technique signée Karsten Hahn et Louis Sorita. Contexte: des sites très bien référencés poussent un faux éditeur PDF « AppSuite » dont le composant principal embarque un backdoor complet.

  • Les opérateurs diffusent un installeur MSI (WiX) qui déploie une application Electron se présentant comme un éditeur PDF. Le code principal (pdfeditor.js) est fortement obfusqué et contient le backdoor; l’interface n’est qu’une fenêtre navigateur vers un site contrôlé. Un user-agent spécifique est requis pour afficher l’outil.

  • Principales routines du backdoor: –install, –ping, –check, –reboot, –cleanup. À l’installation, l’hôte s’enregistre auprès du C2 appsuites(.ai) pour obtenir un identifiant d’installation (iid), crée des tâches planifiées (exécution différée ~1 jour pour évasion sandbox) et un mécanisme d’auto‑démarrage. La routine –cleanup (appelée par l’uninstalleur NSIS) tente de nettoyer et de se désinscrire, mais l’analyse souligne que la présence d’un backdoor implique potentiellement d’autres implantations; si les tâches ont été exécutées, un repavage est jugé nécessaire par les auteurs.

  • Communications C2 et capacités: échanges HTTPS chiffrés AES-128/256-CBC. La routine –ping envoie un objet d’action chiffré et reçoit des listes d’activités sur fichiers, registre, URLs et processus permettant téléchargements, exfiltration de données et modifications de persistance. Les routines –check/–reboot récupèrent des templates de commandes depuis le C2, conférant la capacité d’exécuter des commandes arbitraires (via cmd/reg), de modifier/exfiltrer des données de navigateurs Chromium (pref/spref, cookies, historiques, clés os_crypt), et de créer des tâches liées à Wave Browser, Shift, OneLaunch.

  • Journalisation: le malware envoie des événements (68 codes, 3 niveaux) chiffrés au C2 pour tracer étapes et exceptions.

  • Faits saillants: cheval de Troie diffusé via sites à forte visibilité, application Electron à fonction leurre, persistance par tâches planifiées et clé RUN, C2 flexible pilotant les commandes, manipulation des navigateurs Chromium et exfiltration. L’article fournit un décryptage de LOG1/LOG0 pour valeur forensique et de nombreux IoCs.

IoCs et artefacts

  • Emplacements d’installation:

    • %LOCALAPPDATA%\Programs\PDF Editor
    • %USERPROFILE%\PDF Editor
  • Hashes échantillons:

    • [1] MSI: fde67ba523b2c1e517d679ad4eaf87925c6bbf2f171b9212462dc9a855faa34b
    • [2] pdfeditor.js: b3ef2e11c855f4812e64230632f125db5e7da1df3e9e34fdb2f088ebe5e16603
    • [3] UtilityAddon.node: 6022fd372dca7d6d366d9df894e8313b7f0bd821035dd9fa7c860b14e8c414f2
    • [4] PDFEditorSetup.exe: da3c6ec20a006ec4b289a90488f824f0f72098a2f5c2d3f37d7a2d4a83b344a0
    • [5] PDF Editor.exe: cb15e1ec1a472631c53378d54f2043ba57586e3a28329c9dbf40cb69d7c10d2c
    • [6] Uninstall PDF Editor.exe: 956f7e8e156205b8cbf9b9f16bae0e43404641ad8feaaf5f59f8ba7c54f15e24
    • [7] Deobfuscated pdfeditor.js: 104428a78aa75b4b0bc945a2067c0e42c8dfd5d0baf3cb18e0f6e4686bdc0755
  • Persistance et UA:

    • User-Agent: PDFFusion/93HEU7AJ
    • Tâches planifiées:
      • PDFEditorScheduledTask → %USERPROFILE%\PDF Editor\PDF Editor.exe –cm=–partialupdate
      • PDFEditorUScheduledTask → %USERPROFILE%\PDF Editor\PDF Editor.exe –cm=–backupupdate
      • ShiftLaunchTask / OneLaunchLaunchTask / WaveBrowser-StartAtLogin
    • Clé RUN: PDFEditorUpdater → %USERPROFILE%\PDF Editor\PDF Editor.exe
  • C2:

    • hxxps://appsuites(dot)ai
    • hxxps://sdk.appsuites(dot)ai
    • hxxps://log.appsuites(dot)ai
    • hxxps://on.appsuites(dot)ai
  • URLs de téléchargement:

    • hxxps://vault.appsuites(dot)ai/AppSuite-PDF-1.0.28.exe
    • hxxps://pdfmeta(dot)com
    • hxxps://pdfartisan(dot)com
    • hxxps://appsuites(dot)ai
    • hxxps://pdfreplace(dot)com

TTPs observées (extraits du rapport)

  • Leurre logiciel: faux éditeur PDF via sites très bien référencés (SEO/leurre produit).
  • Chaîne d’installation: MSI (WiX) déployant une app Electron avec code JS obfusqué.
  • Persistance: création de tâches planifiées via COM ITaskService; ajout d’une clé RUN; création de tâches associées à Wave/Shift/OneLaunch.
  • Evasion et anti‑analyse: délai d’exécution des tâches (~1 jour et 2 minutes) pour contourner les sandboxes automatiques; obfuscation de chaînes.
  • C2 et chiffrement: échanges HTTPS vers plusieurs sous‑domaines; messages et événements chiffrés (AES-128/256-CBC), dérivés de l’iid.
  • Capacités: exécution de commandes arbitraires basée sur des templates reçus du C2; téléchargement de fichiers, modifications du registre, exfiltration de fichiers et de paramètres, inventaire des processus; lecture/écriture et exfiltration de données de navigateurs Chromium (pref/spref, os_crypt keys).

Conclusion: il s’agit d’une analyse technique détaillée visant à documenter un cheval de Troie/backdoor actif, ses mécanismes, ses capacités C2 et à fournir des IoCs pour la détection et la réponse.

🧠 TTPs et IOCs détectés

TTP

[‘Leurre logiciel: faux éditeur PDF via sites très bien référencés (SEO/leurre produit)’, ‘Chaîne d’installation: MSI (WiX) déployant une app Electron avec code JS obfusqué’, ‘Persistance: création de tâches planifiées via COM ITaskService; ajout d’une clé RUN; création de tâches associées à Wave/Shift/OneLaunch’, ‘Evasion et anti‑analyse: délai d’exécution des tâches (~1 jour et 2 minutes) pour contourner les sandboxes automatiques; obfuscation de chaînes’, ‘C2 et chiffrement: échanges HTTPS vers plusieurs sous‑domaines; messages et événements chiffrés (AES-128/256-CBC), dérivés de l’iid’, ‘Capacités: exécution de commandes arbitraires basée sur des templates reçus du C2; téléchargement de fichiers, modifications du registre, exfiltration de fichiers et de paramètres, inventaire des processus; lecture/écriture et exfiltration de données de navigateurs Chromium (pref/spref, os_crypt keys)’]

IOC

{‘hashes’: [‘fde67ba523b2c1e517d679ad4eaf87925c6bbf2f171b9212462dc9a855faa34b’, ‘b3ef2e11c855f4812e64230632f125db5e7da1df3e9e34fdb2f088ebe5e16603’, ‘6022fd372dca7d6d366d9df894e8313b7f0bd821035dd9fa7c860b14e8c414f2’, ‘da3c6ec20a006ec4b289a90488f824f0f72098a2f5c2d3f37d7a2d4a83b344a0’, ‘cb15e1ec1a472631c53378d54f2043ba57586e3a28329c9dbf40cb69d7c10d2c’, ‘956f7e8e156205b8cbf9b9f16bae0e43404641ad8feaaf5f59f8ba7c54f15e24’, ‘104428a78aa75b4b0bc945a2067c0e42c8dfd5d0baf3cb18e0f6e4686bdc0755’], ‘domains’: [‘appsuites.ai’, ‘sdk.appsuites.ai’, ’log.appsuites.ai’, ‘on.appsuites.ai’, ‘vault.appsuites.ai’, ‘pdfmeta.com’, ‘pdfartisan.com’, ‘pdfreplace.com’], ‘user_agent’: ‘PDFFusion/93HEU7AJ’}


🔗 Source originale : https://www.gdatasoftware.com/blog/2025/08/38257-appsuite-pdf-editor-backdoor-analysis