{"id":523,"date":"2026-04-07T13:26:46","date_gmt":"2026-04-07T13:26:46","guid":{"rendered":"https:\/\/thedigitalfortress.us\/?p=523"},"modified":"2026-04-07T13:26:46","modified_gmt":"2026-04-07T13:26:46","slug":"over-1000-exposed-comfyui-instances-targeted-in-cryptomining-botnet-campaign","status":"publish","type":"post","link":"https:\/\/thedigitalfortress.us\/?p=523","title":{"rendered":"Over 1,000 Exposed ComfyUI Instances Targeted in Cryptomining Botnet Campaign"},"content":{"rendered":"<div id=\"articlebody\">\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiNAquH2CuNdKvNbKqIsmTqg2Rpb5SRn8zxBKdQliREzpq_Byd0ye0aD8IFVa1JUj09QnQVJVnAVET30DX0jRBK1LBXJ-16QC_GoiYDH2ibCfoYcttx3McOurmn9e4cSugeNgEQa-oVqR13I9K1h6ktgggudmT3u88I_iN_ksHQvuS2N0u0uGlUNTW_Tv9l\/s1700-e365\/compfyui.jpg\" style=\"display: block;  text-align: center; clear: left; float: left;\"><\/a><\/div>\n<p>An active campaign has been observed targeting internet-exposed instances running ComfyUI, a popular stable diffusion platform, to enlist them into a cryptocurrency mining and proxy\u00a0botnet.<\/p>\n<p>\u00abA purpose-built Python scanner continuously sweeps major cloud IP ranges for vulnerable targets, automatically installing malicious nodes\u00a0via <a href=\"https:\/\/github.com\/Comfy-Org\/ComfyUI-Manager\">ComfyUI-Manager<\/a> if no exploitable node is already present,\u00bb Censys security researcher Mark\u00a0Ellzey <a href=\"https:\/\/censys.com\/blog\/comfyui-servers-cryptomining-proxy-botnet\/\">said<\/a> in a report published\u00a0Monday.<\/p>\n<p>The attack activity, at its core, systemically scans for exposed ComfyUI instances and exploits a misconfiguration that allows remote code execution on unauthenticated deployments\u00a0through <a href=\"https:\/\/docs.comfy.org\/development\/core-concepts\/nodes\">custom\u00a0nodes<\/a>.<\/p>\n<p>Upon successful exploitation, the compromised hosts are added to a cryptomining operation that mines Monero via XMRig and Conflux via lolMiner, as well as to a Hysteria V2 botnet. Both\u00a0of them are centrally managed through a Flask-based command-and-control (C2) dashboard.<\/p>\n<p>Data from the attack surface management platforms shows that there are more\u00a0than <a href=\"https:\/\/platform.censys.io\/search?q=%28host.services.endpoints.http.html_tags+%3D+%22%3Ctitle%3EComfyUI%3C%2Ftitle%3E%22%29+and+not+host.services.labels.value+%3D+%22HONEYPOT%22\">1,000 publicly-accessible ComfyUI\u00a0instances<\/a>. While\u00a0not a huge number, it&#8217;s sufficient for a threat actor to run opportunistic campaigns to reap financial\u00a0gains.<\/p>\n<p>Censys said it discovered the campaign last month after identifying an open directory\u00a0on <a href=\"https:\/\/platform.censys.io\/hosts\/77.110.96.200\">77.110.96[.]200<\/a>, an IP address associated with a bulletproofing hosting services\u00a0provider, Aeza\u00a0Group. The\u00a0directory is said to have contained a previously undocumented set of tools to pull off the\u00a0attacks.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/vpn-risk-report-inside-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Cybersecurity\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgWajeG0cdaapf1GKTZRUZUB7BzuYGegyw5k0eAorJXlmkFdYCCeLXXhXYJuXU9lWD33rV6rRnIyly3czoNfYifpxk1eGA5slItPmim3HkubXoQMgC4J7hdQPywxGbWq7Eqeff_o6s2Fq-WmSFd5guwdLn7IqpveMqULqtVnd-ndnljWYGj45EkMFB7m0qm\/s728-e100\/z-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>This includes two reconnaissance tools to enumerate exposed ComfyUI instances across cloud infrastructure, identify those that have ComfyUI-Manager installed, and shortlist those that are susceptible to the code execution\u00a0exploit.<\/p>\n<p>One of the two scanner Python scripts also functions as an exploitation framework that weaponizes ComfyUI&#8217;s custom nodes to achieve code execution. This\u00a0technique, some aspects of which\u00a0were <a href=\"https:\/\/labs.snyk.io\/resources\/hacking-comfyui-through-custom-nodes\/\">documented<\/a> by Snyk in December 2024, takes advantage of the fact that some custom nodes accept raw Python code as input and run it directly without requiring any authentication.<\/p>\n<p><a name=\"more\"\/><\/p>\n<p>As a result, an attacker can scan exposed ComfyUI instances for specific custom node families that support arbitrary code execution, effectively turning the service into a channel for delivering attacker-controlled Python payloads. Some\u00a0of the custom node families that the attack particularly looks for are listed below\u00a0&#8211;<\/p>\n<ul>\n<li>Vova75Rus\/ComfyUI-Shell-Executor<\/li>\n<li>filliptm\/ComfyUI_Fill-Nodes<\/li>\n<li>seanlynch\/srl-nodes<\/li>\n<li>ruiqutech\/ComfyUI-RuiquNodes<\/li>\n<\/ul>\n<p>\u00abIf none of the target nodes are present, the scanner checks whether ComfyUI-Manager is installed,\u00bb Censys said. \u00abIf available, it installs a vulnerable node package itself, then retries exploitation.\u00bb<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEikaVhRPaXUbrhU-MsUlf2VqYKxmkD2cdWgOQWGit4H0bQJs5cgpHvy4QP-R8NNC2BGbAotVgtU6ZS_xf7LOAaAVweLeqb64fdwB-AHQv_nUPxhE1Gq3GShLWWfuTWkEEXvjXKAN2aczToCWLsoNlfM1axgUGJXPHNB0VMgujHwfZgwGr5ZeJcX4FPSEfVV\/s1700-e365\/kry.png\" style=\"clear: left; display: block; float: left;  text-align: center;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEikaVhRPaXUbrhU-MsUlf2VqYKxmkD2cdWgOQWGit4H0bQJs5cgpHvy4QP-R8NNC2BGbAotVgtU6ZS_xf7LOAaAVweLeqb64fdwB-AHQv_nUPxhE1Gq3GShLWWfuTWkEEXvjXKAN2aczToCWLsoNlfM1axgUGJXPHNB0VMgujHwfZgwGr5ZeJcX4FPSEfVV\/s1700-e365\/kry.png\" alt=\"\" border=\"0\" data-original-height=\"969\" data-original-width=\"1191\"\/><\/a><\/div>\n<p>It&#8217;s worth noting that \u00abComfyUI-Shell-Executor\u00bb is a malicious package created by the attacker to fetch a next-stage shell script (\u00abghost.sh\u00bb) from the aforementioned IP address. Once\u00a0code execution is obtained, the scanner removes evidence of the exploit by clearing the ComfyUI prompt\u00a0history.<\/p>\n<p>A newer version of the scanner also incorporates persistence mechanisms that cause the shell script to be downloaded every six hours and the exploit workflow to be re-executed every time ComfyUI is\u00a0started.<\/p>\n<p>The shell script, for its part, disables shell history, kills competing miners, launches the miner process,\u00a0anduses\u00a0the LD_PRELOAD hook to hide a watchdog process that ensures the miner process is revived in the event it gets terminated.<\/p>\n<p>In addition, the miner program is copied to multiple locations so that even if the primary install directory gets wiped, it can be launched from one of the fallback locations. A\u00a0third mechanism the malware uses to ensure persistence is the use of the\u00a0\u00ab<a href=\"https:\/\/man7.org\/linux\/man-pages\/man1\/chattr.1.html\">chattr\u00a0+i<\/a>\u00bb command to lock the miner binaries and prevent them from being deleted, modified, or renamed, even by the root\u00a0user.<\/p>\n<p>\u00abThere is also dedicated code targeting a specific competitor, &#8216;Hisana&#8217; (which is referenced throughout the code), which appears to be another mining botnet,\u00bb Censys explained. \u00abRather than just killing it, ghost.sh\u00a0overwrites its configuration to redirect Hisana&#8217;s mining output to its own wallet address, then occupies Hisana\u2019s C2 port (10808) with a dummy Python listener so Hisana can&#8217;t\u00a0restart.\u00bb<\/p>\n<p>The infected hosts are commandeered by means of a Flask-based C2 panel, which allows the operator to push instructions or deploy additional payloads, including a shell script that installs Hysteria V2 with the likely goal of selling compromised nodes as\u00a0proxies.\u00a0<\/p>\n<p>Further analysis of the attacker&#8217;s shell command history has revealed an SSH login attempt as root to the IP\u00a0address <a href=\"https:\/\/www.virustotal.com\/gui\/ip-address\/120.241.40.237\/detection\">120.241.40[.]237<\/a>, which has been linked to\u00a0an <a href=\"https:\/\/censys.com\/blog\/databases-exposed-redis\/\">ongoing worm\u00a0campaign<\/a> targeting exposed Redis database\u00a0servers.<\/p>\n<p>\u00abMuch of the tooling in this repository appears hastily assembled, and the overall tactics and techniques might initially suggest unsophisticated activity,\u00bb Censys said. \u00abSpecifically, the operator identifies exposed ComfyUI instances running custom nodes, determines which of those nodes expose unsafe functionality, and then uses them as a pathway to remote code execution.\u00bb<\/p>\n<p>\u00abThe infrastructure accessed by the operator further supports the idea that this activity is part of a broader campaign focused on discovering and exploiting exposed services, followed by the deployment of custom tooling for persistence, scanning, or monetization.\u00bb<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/fast-response-not-fast-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Cybersecurity\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjgi9mu68zRUz1nCLLKmkAA2aBtNfP_JOTXulZoB6yImso1Onk7oM_LI0kdROu8fq5S5oDyMtd1j50W44Ye_8Sl3zQZiE8A9tmFr6kejGKjGh74uoxluF-RyBq_unDQlzjXZHCqQeuYXBoogda5zf0w-zXd6v0rIM7fEw6TcFf_QGWBu5Mop-djkEaOUa5A\/s728-e100\/tl-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>The discovery coincides with the emergence of multiple botnet campaigns in recent weeks\u00a0&#8211;<\/p>\n<ul>\n<li>Exploitation of command injection vulnerabilities in n8n (CVE-2025-68613) and Tenda AC1206 routers (<a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2025-7544\">CVE-2025-7544<\/a>) to <a href=\"https:\/\/www.intel471.com\/blog\/cve-2025-68613-zerobot-botnet-exploits-critical-vulnerability-impacting-n8n-ai-orchestration-platform\">add them<\/a> to a Mirai-based botnet known as Zerobot.<\/li>\n<li>Exploitation of <a href=\"https:\/\/www.vulncheck.com\/blog\/return-of-the-kinsing\">vulnerabilities<\/a> in Apache ActiveMQ (CVE-2023-46604), Metabase (CVE-2023-38646), and React Server Components (CVE-2025-55182 aka React2Shell) to deliver Kinsing, a persistent malware used for cryptocurrency mining and launching Distributed Denial of Service (DDoS) attacks.<\/li>\n<li>Exploitation of a suspected zero-day vulnerability in fnOS Network Attached Storage (NAS) to target internet-exposed systems and implant them with a DDoS malware called <a href=\"https:\/\/blog.xlab.qianxin.com\/netdragon\/\">Netdragon<\/a>. \u00abNetDragon establishes an HTTP backdoor interface on compromised devices, enabling attackers to remotely access and control the infected systems,\u00bb QiAnXin XLab said. \u00abIt tampers with the &#8216;hosts&#8217; file to hijack the official Feiniu NAS system update domains, effectively preventing devices from obtaining system updates and security patches.\u00bb<\/li>\n<li>Expansion of RondoDox&#8217;s exploit list to 174 different vulnerabilities, while shifting the attack methodology from a \u00abshotgun approach\u00bb to more targeted and recent flaws that are more likely to lead to infections.<\/li>\n<li>Exploitation of <a href=\"https:\/\/eclypsium.com\/blog\/condibot-monaco-malware-network-infrastructure\/\">known security vulnerabilities<\/a> to deploy a new variant of Condi, a Linux malware that turns compromised linux devices into bots capable of conducting DDoS attacks. The\u00a0binary references a string \u00abQTXBOT,\u00bb either indicating the name of the forked version or the internal project name.<\/li>\n<li>Brute-force attacks against SSH servers to launch an XMRig miner and generate illicit cryptocurrency revenue as part of an active cryptojacking operation called Monaco. Weak\u00a0SSH passwords have also been <a href=\"https:\/\/isc.sans.edu\/diary\/32708\">used as attack pathways<\/a> to deploy malware that establishes persistence, kills competing miners, connects to an external server, and performs a ZMap scan to propagate the malware in a worm-like fashion to other vulnerable hosts.<\/li>\n<\/ul>\n<p>\u00abBotnet activity has surged over the last year, with Spauhaus noting 26% and 24% increases in the two six-month periods Jan &#8211; Jun 2025 and Jul &#8211; Dec 2025, respectively,\u00bb\u00a0Pulsedive <a href=\"https:\/\/blog.pulsedive.com\/the-operations-of-the-swarm-inside-the-complex-world-of-mirai-based-botnets\/\">said<\/a>.<\/p>\n<p>\u00abThis increase is associated with bots and nodes appearing in the United States. The\u00a0increase also stems from the availability of source code for botnets such as Mirai. Mirai\u00a0offshoots and variants are responsible for some of the largest DDoS attacks by\u00a0volume.\u00bb<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>An active campaign has been observed targeting internet-exposed instances running ComfyUI, a popular stable diffusion platform, to enlist them into a cryptocurrency mining and proxy\u00a0botnet. \u00abA purpose-built Python scanner continuously&hellip;<\/p>\n","protected":false},"author":1,"featured_media":524,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[192,6,1104,1105,137,301,113],"class_list":["post-523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-botnet","tag-campaign","tag-comfyui","tag-cryptomining","tag-exposed","tag-instances","tag-targeted"],"_links":{"self":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=523"}],"version-history":[{"count":0,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/media\/524"}],"wp:attachment":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}