Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
linux_mint_poc | Kitploit
ツール/GitHubGitHub/b1ack0wl/linux_mint_poc
脆弱性分析エクスプロイト学習と教育
GitHubb1ack0wl/linux_mint_poc

linux_mint_poc

リポジトリを見る
53107年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Linux Mint 18.3-19.1 'yelp' コマンドインジェクションのバグ

根本原因

URIハンドラー help://、ghelp://、man:// はファイル /usr/share/applications/yelp.desktop で定義されており、これらのURIハンドラーのいずれかが呼び出されるたびに、Exec=yelp %u を介して /usr/local/bin/yelp が実行されます。

/usr/local/bin/yelp は、受信したURIハンドラーのリクエストを解析する単純なPythonスクリプトです。このスクリプトはまず "gnome-help" と "ubuntu-help" という部分文字列を探し、そのどちらも見つからなかった場合、引数を引用符で囲まずに /usr/local/bin/yelp を実行します。

/usr/local/bin/yelp の内容:

root@kitploit:~
#!/usr/bin/python

import os
import sys

if (len(sys.argv) > 1):
    args = ' '.join(sys.argv[1:])
    if ('gnome-help' in args) and not os.path.exists('/usr/share/help/C/gnome-help'):
        os.system ("xdg-open http://www.linuxmint.com/documentation.php &")
    elif ('ubuntu-help' in args) and not os.path.exists('/usr/share/help/C/ubuntu-help'):
        os.system ("xdg-open http://www.linuxmint.com/documentation.php &")
    else:
        os.system ("/usr/bin/yelp %s" % args)  # uh oh
else:
    os.system ('/usr/bin/yelp')

PoC からシェルへ

実際の悪用には少し工夫が必要でした。Google Chrome はURIエンコード時にスペース \x20 文字、中括弧 {}、プラス記号 +、バッククォート文字 ` などをエンコードするためです。${IFS} は機能しないため、$IFS$() を使えば同様に機能することが判明しました。$() 文によって、$IFS 環境変数が他のASCII文字と連結され、誤って $IFSaddedword などになるのを防ぐからです。

緩和策

概要

yelp.patch は、脆弱なステートメントを os.system ("/usr/bin/yelp %s" % args) から os.system ("/usr/bin/yelp %s" % quote(args)) に変更します。これは shlex ライブラリの quote() メソッドを利用します (https://docs.python.org/3/library/shlex.html#shlex.quote)。

パッチ適用の手順

yelp をパッチするか、削除してください。

yelp のパッチ適用

  • patch をインストール: sudo apt install patch
  • yelp スクリプトにパッチを適用: sudo patch /usr/local/bin/yelp yelp.patch

yelp と関連する URI ハンドラーの削除

  • URI ハンドラーの削除: sudo rm /usr/share/applications/yelp.desktop
  • yelp Python スクリプトの削除: sudo rm /usr/local/bin/yelp

[b1ack0wl]

ツールをダウンロード