{"id":4002,"date":"2026-11-06T07:07:53","date_gmt":"2026-11-06T07:07:53","guid":{"rendered":"https:\/\/thedigitalfortress.us\/?p=4002"},"modified":"2026-11-06T07:07:53","modified_gmt":"2026-11-06T07:07:53","slug":"hackers-hide-linux-backdoor-in-control-web-panel-server-to-execute-commands-without-logs","status":"publish","type":"post","link":"https:\/\/thedigitalfortress.us\/?p=4002","title":{"rendered":"Hackers Hide Linux Backdoor in Control Web Panel Server to Execute Commands Without Logs"},"content":{"rendered":"<div>\n<p><span class=\"p-author\"><i class=\"icon-font icon-user\">\ue804<\/i><span class=\"author\">Swati Khandelwal<\/span><i class=\"icon-font icon-calendar\">\ue802<\/i><span class=\"author\">Nov 06, 2026<\/span><\/span><span class=\"p-tags\">Malware \/ Web Security<\/span><\/p>\n<\/div>\n<div id=\"articlebody\">\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjsAMxBevh2cmz1buKWukyP6JgUHrIPcr9zrJjAs1OwDoP1wMjn_s_WKHeUAdSwVzTImUsDE0C3SLGEpciaLk9H8CGvqiYugQWASsflB1a5zA9Wyr4RbroT3Z3JlOeak1AEinAy7Brf9N0BRDuGFWdZC23nCrOq4VuSMQQuDFYBYC6YCEm2ncPhHOv3KXs\/s1700-nu-rw-lo-l85-e365\/cwp.jpg\" style=\"display: block;  text-align: center; clear: left; float: left;\"><\/a><\/div>\n<p>A backdoor has been found hiding in the web server that runs <strong>Control Web Panel<\/strong> (CWP), a free panel for managing Linux hosting servers, researchers at QiAnXin&#8217;s XLab said this week.<\/p>\n<p>The backdoored web server executes commands that attackers send via web requests, and those requests never appear in its access logs. Installing it takes root access, so the attackers must already control the server.<\/p>\n<p>The researchers, who named the backdoor <strong>cwpdoor<\/strong>, captured its installer, a shell script posing as a version update, on June 29. The installer handles only two versions of that web server, cwpsrv 1.15.10 and 1.24.0. The researchers do not yet know how attackers get the root access the installer needs.<\/p>\n<p>On September 30, an archive holding a copy of the backdoor was uploaded to VirusTotal from Brazil. The researchers say this indicates that \u00abreal victims already exist in the wild.\u00bb They give no count of infected servers.<\/p>\n<p>The backdoor is <strong>cwpsrv <\/strong>itself, rebuilt with extra code, the researchers found in their <a href=\"https:\/\/blog.xlab.qianxin.com\/cwpdoor-the-invisible-backdoor-living-inside-control-web-panel\/\" target=\"_blank\">technical analysis<\/a>. It behaves like the normal program until a request arrives with a valid timestamp and signature in custom headers whose names begin with X-Ngx-Integrity. It then runs the command carried in the request.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/ai-governance-platform-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Cybersecurity\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEi9hjzSN2bSutSbaNO6ZWEm02wC6hue03kC4VKPSfsdPvcDX2PAvPE-u9QrLCw3POvN3hXFPlyYyFgkAgtKrs4I2oSb9BkIFOWQ_k1ISfIBdT2AoWNvq2Q2DF_3AyA4fJriKPHkTjqYFxu-Y_H4IH9uqscX8lh-puQ5cPmc_veAEr9p4fC0497XT8Fktlp6\/s728-nu-rw-lo-l85-e365\/tl-insidem-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>When the installer replaces the cwpsrv file, it puts the file&#8217;s dates back to their original values, so checks with ls and stat show it as unchanged. When the researchers checked, the backdoor file had zero detections out of 63 on VirusTotal.<\/p>\n<p><a name=\"more\"\/><\/p>\n<h3>Checking a Server for the Backdoor<\/h3>\n<p>XLab gives three checks:<\/p>\n<ul>\n<li><strong>Socket:<\/strong> run <code>ss -axp | grep integrity<\/code>. A result naming <code>ngx_http_integrity_helper<\/code>, the Unix socket the backdoor uses, is a sign of infection.<\/li>\n<li><strong>Process:<\/strong> run <code>ps aux | grep cwpsrv<\/code> and look for unexpected helper processes started by cwpsrv.<\/li>\n<li><strong>File:<\/strong> run <code>strings \/usr\/local\/cwpsrv\/bin\/cwpsrv | grep X-Ngx-Integrity<\/code> and look for the backdoor&#8217;s header names.<\/li>\n<\/ul>\n<p>In the researchers&#8217; example, the socket check found the backdoor on a server where the list of open ports looked normal.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjxh6I-CLt7M0pgao5VVUU_dj9ty0db4JOy7PvBajkEMDuwvRni7cQU_epR1b6DQe-xDxYoI5zEXCYkVEen1ze7UGuv-wAVIDl9w0hD29kioc7gX5zKF2fowPwVUoa_u4vUEDxqmF_-v3FxAFxz0B-xDHK2PF0rhszCuPfuy39qQ9UTFsMsRhD5nKjEjkU\/s1700-nu-rw-lo-l85-e365\/cleam.png\" style=\"display: block;  text-align: center; clear: left; float: left;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjxh6I-CLt7M0pgao5VVUU_dj9ty0db4JOy7PvBajkEMDuwvRni7cQU_epR1b6DQe-xDxYoI5zEXCYkVEen1ze7UGuv-wAVIDl9w0hD29kioc7gX5zKF2fowPwVUoa_u4vUEDxqmF_-v3FxAFxz0B-xDHK2PF0rhszCuPfuy39qQ9UTFsMsRhD5nKjEjkU\/s1700-nu-rw-lo-l85-e365\/cleam.png\" alt=\"\" border=\"0\" data-original-height=\"495\" data-original-width=\"1597\"\/><\/a><\/div>\n<p>The researchers published these indicators:<\/p>\n<ul>\n<li><strong>MD5:<\/strong> <code>e505d4ffa21cf494a5dc2d7c8f4f1236<\/code> (installer script, cwpsrv_update.sh)<\/li>\n<li><strong>MD5:<\/strong> <code>965aea67fb40de1bab5169ada993349f<\/code> (backdoored cwpsrv 1.15.10)<\/li>\n<li><strong>MD5:<\/strong> <code>d3f4e95113d49ab3991b45e457bda75b<\/code> (backdoored cwpsrv 1.24.0)<\/li>\n<li><strong>IP:<\/strong> <code>136.0.141[.]71<\/code> (download server)<\/li>\n<li><strong>URL:<\/strong> <code>https:\/\/136.0.141[.]71\/static\/cwpsrv_update.sh<\/code><\/li>\n<li><strong>URL:<\/strong> <code>https:\/\/136.0.141[.]71\/static\/cwpsrv_1.15.10<\/code><\/li>\n<li><strong>URL:<\/strong> <code>https:\/\/136.0.141[.]71\/static\/cwpsrv_1.24.0<\/code><\/li>\n<\/ul>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/network-defense-dd\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Cybersecurity\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiWypk5aSrjVVXdRpyJaxKDe9VERLYId6cVdoZUwHGSe-EMh90qROsc-jk3uEKqB8-L4eSpBaka7err1zF86IrsEA4S2IZ8yyEsoZTsiGq2YvGuaCtdFvE8-ej7uEBhLbYJNENjs9umU6qmZCJ1aAzvG-ZDO0NtTVddy5hIGv4FBpDJp8UeOxYEzF5AeuK1\/s728-nu-rw-lo-l85-e36\/core-d.png\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<h3>Cleaning Up an Infected Server<\/h3>\n<p>If a server is infected, the researchers recommend three steps:<\/p>\n<ol>\n<li>Restore the original cwpsrv from the backup the installer creates in <code>\/usr\/local\/cwpsrv\/bin<\/code>, with a name starting <code>cwpsrv.prev-<\/code> and ending in a date and time. The researchers&#8217; description of the installer says it deletes \u00abthe temporary files and backup\u00bb after a successful swap, so this copy may be missing.<\/li>\n<li>Upgrade to the latest version, then confirm that <code>ss -axp | grep integrity<\/code> returns nothing.<\/li>\n<li>Change all control panel credentials, because the backdoor can run any command. Treat the whole server as compromised and check it for other threats.<\/li>\n<\/ol>\n<p>The archive uploaded from Brazil also held the Ebury malware, an OpenSSH backdoor and credential stealer active since at least 2009. The researchers do not know whether the two are related, and say different attackers may have planted them on the same server.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\ue804Swati Khandelwal\ue802Nov 06, 2026Malware \/ Web Security A backdoor has been found hiding in the web server that runs Control Web Panel (CWP), a free panel for managing Linux hosting&hellip;<\/p>\n","protected":false},"author":1,"featured_media":4003,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[179,195,425,1832,338,2037,181,2656,364,518,213],"class_list":["post-4002","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-backdoor","tag-commands","tag-control","tag-execute","tag-hackers","tag-hide","tag-linux","tag-logs","tag-panel","tag-server","tag-web"],"_links":{"self":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/4002","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=4002"}],"version-history":[{"count":0,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/4002\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/media\/4003"}],"wp:attachment":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4002"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4002"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}