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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Reproducing-ConnMan-1.34 — CVE-2017-12865 エクスプロイト | Kitploit
ツール/GitHubGitHub/manaswijaiswal/reproducing-connman-1.34
Bluetoothセキュリティ脆弱性分析エクスプロイトネットワークセキュリティワイヤレスセキュリティDNS分析
GitHubmanaswijaiswal/reproducing-connman-1.34

Reproducing-ConnMan-1.34

CVE-2017-12865 エクスプロイト

リポジトリを見る
11ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Connection Manager


Copyright (C) 2007-2012 Intel Corporation. All rights reserved.

機能と特徴

次の機能はConnection Managerに組み込まれています: - 汎用プラグイン基盤 - デバイスとネットワークの抽象化(基本的なストレージサポート付き) - IPv4、IPv4-LL(リンクローカル)およびDHCP - RFC 5227に準拠したIPv4アドレス競合検出(ACD) - IPv6、DHCPv6および6to4トンネル - 高度なルーティングとDNS設定 - 組み込みDNSプロキシとインテリジェントキャッシュ - 組み込みのWISPrホットスポットログインとポータル検出 - 時刻とタイムゾーンの設定(手動およびNTPによる自動) - プロキシ処理(手動およびWPADによる自動) - テザリングサポート(USB、Bluetooth、WiFi APモード) - 詳細な統計処理(ホームおよびローミング)

ネットワークサポート用に様々なプラグインを有効化できます: - Ethernetプラグイン - WEP40/WEP128およびWPA/WPA2(パーソナルおよびエンタープライズ)対応のWiFiプラグイン - Bluetoothプラグイン(BlueZ使用) - 2G/3G/4Gプラグイン(oFono使用)

追加機能を持つプラグインも利用できます: - ループバックインターフェースのセットアップ - PACrunnerプロキシ処理 - PolicyKit認証サポート

ConnManの起動時、使用されるすべてのネットワークインターフェースがクリアされることに注意してください。これが望ましくない場合は、main.conf設定ファイルのNetworkInterfaceBlacklistを設定するか、-Iコマンドラインオプションを使用してネットワークインターフェースを無視できます。

コンパイルとインストール

Connection Managerをコンパイルするには、次のソフトウェアパッケージが必要です: - GCCコンパイラ - GLibライブラリ - D-Busライブラリ - IP-Tablesライブラリ(テザリングサポート用) - GnuTLSライブラリ(オプション) - PolicyKit(オプション) - readline(コマンドラインクライアント)

設定するには次のコマンドを実行します: ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var

configureは必要なすべてのコンポーネントとパッケージを自動的に検索します。

コンパイルしてインストールするには次のコマンドを実行します: make && make install

設定とオプション

動作するシステムのためには、特定の設定オプションを有効にする必要があります:

root@kitploit:~
--disable-ethernet

	Ethernetネットワークカードのサポートを無効にする

	デフォルトでは、Ethernetテクノロジーのサポートは組み込まれ、有効になっています。このオプションは、Ethernetサポートが不要な特定のシステム用に小型デーモンをビルドする場合に使用できます。

--disable-gadget

	USB Ethernet Gadgetデバイスのサポートを無効にする

	デフォルトでは、USB Ethernet Gadgetテクノロジーのサポートは組み込まれ、有効になっています。このオプションは、USB Ethernet Gadgetサポートが不要な特定のシステム用に小型デーモンをビルドする場合に使用できます。

--disable-wifi

	WiFiデバイスのサポートを無効にする

	デフォルトでは、WiFiテクノロジーのサポートは組み込まれ、有効になっています。このオプションは、WiFiサポートが不要な特定のシステム用に小型デーモンをビルドする場合に使用できます。

	wpa_supplicantを実行せずにWiFiサポート付きデーモンをビルドしても安全です。wpa_supplicantの起動は自動的に検出され、実行時の依存関係にすぎません。ConnManのビルドには必要ありません。

--disable-bluetooth

	Bluetoothデバイスのサポートを無効にする

	デフォルトでは、Bluetoothテクノロジーのサポートは組み込まれ、有効になっています。このオプションは、Bluetoothサポートが不要な特定のシステム用に小型デーモンをビルドする場合に使用できます。

	bluetoothdを実行せずにBluetoothサポート付きデーモンをビルドしても安全です。bluetoothdの起動は自動的に検出され、実行時の依存関係にすぎません。ConnManのビルドには必要ありません。

--disable-ofono

	セルラー2G/3G/4Gデバイスのサポートを無効にする

	デフォルトでは、oFonoテクノロジーのサポートは組み込まれ、有効になっています。このオプションは、oFonoを使用しない特定のシステム用に小型デーモンをビルドする場合に使用できます。

	ofonodを実行せずにoFonoサポート付きデーモンをビルドしても安全です。ofonodの起動は自動的に検出され、実行時の依存関係にすぎません。ConnManのビルドには必要ありません。

--disable-dundee

	Bluetooth DUNデバイスのサポートを無効にする

	デフォルトでは、Bluetooth DUNテクノロジー(dundee)のサポートは組み込まれ、有効になっています。このオプションは、dundeeを使用しない特定のシステム用に小型デーモンをビルドする場合に使用できます。

	dundeeを実行せずにdundeeサポート付きデーモンをビルドしても安全です。dundeeの起動は自動的に検出され、実行時の依存関係にすぎません。ConnManのビルドには必要ありません。

--enable-iwd

	Linux用ワイヤレスデーモンのサポートを有効にする

	IWDプロジェクトはまだ最初のリリースがないため、デフォルトではIWDサポートは有効になっていません。

	WiFiサポートと一緒にこのオプションを有効にしても安全です。

--disable-pacrunner

	PACrunnerプロキシ処理のサポートを無効にする

	デフォルトでは、PACrunnerサポートは組み込まれ、有効になっています。このオプションは、PACrunnerを使用しない特定のシステム用に小型デーモンをビルドする場合に使用できます。

	pacrunnerデーモンを実行せずにPACrunnerサポート付きデーモンをビルドしても安全です。必要に応じて実行時にPACrunnerプロセスを検出して起動します。ConnManのビルドにPACrunnerの存在は必要ありません。

--disable-loopback

	ループバックデバイスのセットアップを無効にする

	非常に最小限のinitシステムとネットワークスクリプトを持たないディストリビューションの場合、これによりループバックデバイスのセットアップと有効化を行うことができます。

	ネットワークスクリプトが配置されている場合でも、これを選択したままにしても安全です。すでに設定済みのループバックデバイスを検出し、そのままにします。

--disable-wispr

	WISPrホットスポットログインのサポートを無効にする

	メモリ要件が非常に最小限のシステムの場合、これによりWISPrホットスポットログインのサポートが無効になります。WISPrのコードは依然としてデーモンにコンパイルされますが、セキュア接続のためのGnuTLSへの依存はなくなります。

	GnuTLSサポートがないことでメモリ要件が約30%削減され、より定常的でホットスポットにログインしないシステムでは、こちらがより良いトレードオフになる可能性があります。

	WISPrサポートを無効にしても、ポータル検出サポートは無効になりません。ポータルは引き続き検出されますが、ログイン資格情報を求められる代わりに、ブラウザセッションの要求がエージェントを通じて行われます。

--enable-polkit

	PolicyKit認証のサポートを有効にする

	これにより、すべてのD-Busアクセスをセキュリティポリシーに対してチェックし、特定の機能へのアクセスを制限できます。

--enable-nmcompat

	NetworkManager互換インターフェースのサポートを有効にする

	これにより、最小限のNetworkManagerインターフェースセットを公開できます。これは、NetworkManagerを使用してオンライン/オフラインステータスを検出するように書かれたアプリケーションがあり、まだConnManを使用するように変換されていないシステムに役立ちます。

--disable-client

	コマンドラインクライアントのサポートを無効にする

	デフォルトでは、コマンドラインクライアントが有効になっており、readlineライブラリを使用します。ConnManが他の方法で設定される特定のシステムでは、コマンドラインクライアントを無効にし、readlineへの依存を削除できます。

--enable-selinux

	SELinuxタイプ強制(TE)ルールのコンパイルサポートを有効にする

	ホスト環境がenforcingモードの場合、TEルールが必要です。このオプションがないと、VPNクライアントプロセスはnet.connman.Taskインターフェースを介してconnman-vpndに通知を送信できません。コンパイルされたconnman-task.ppモジュールも、dbusアクセスを有効にするために次のコマンドでインストールする必要があります:
		# semodule -i connman-task.pp

--with-dns-backend=TYPE

	DNS解決バックエンドのサポートを有効にする

	使用するDNSバックエンドを選択します。サポートされている値は"internal"と"systemd-resolved"です。"internal"を選択した場合、ConnManはキャッシュDNSプロキシ付きでビルドされます。"systemd-resolved"を選択した場合、ConnManはDNS解決をsystemd-resolvedに設定します。デフォルト値は"internal"です。

デバッグの有効化

ConnManでは、-dコマンドラインオプションを使用してデバッグ出力を有効にできます。-dオプションにパラメータがない場合、すべてのソースコードファイルでデバッグが有効になります。-dオプションにパラメータがある場合、それらはデバッグを有効にするソースコードファイルを示します。ファイル名にはワイルドカードを使用できます。例: -d すべての通常のデバッグ出力を有効化 -d src/service.c src/service.cファイルのみからデバッグ情報を出力 -d src/network.c:src/ipconfig.c src/network.cおよびsrc/ipconfig.cファイルのデバッグ出力を有効化します。 -d 'src/n*.c' srcディレクトリ内の文字'n'で始まるすべてのCソースファイルからデバッグ出力を有効化します。 オプションを囲む引用符は、シェルによる展開を防ぐためのものです。 -d '/n.c:/i.c' 任意のサブディレクトリ内の文字'n'または'i'で始まるすべてのCソースファイルのデバッグ出力を有効化します。

ConnManの一部のコンポーネントには、環境変数で有効になるデバッグ出力があります。環境変数が設定されている場合、対応するコンポーネントは追加のデバッグ情報を出力します。 次の環境変数を使用できます: CONNMAN_DHCP_DEBUG DHCPv4関連のデバッグ情報 CONNMAN_DHCPV6_DEBUG DHCPv6関連のデバッグ情報 CONNMAN_IPTABLES_DEBUG iptables使用時の追加情報 CONNMAN_RESOLV_DEBUG 名前解決のデバッグ出力。これらのデバッグ出力は、ConnManが自身の用途でホスト名を解決するときに使用されます。 なお、DNSプロキシのデバッグ出力はこの環境変数を使用しません。その場合は、"-d src/dnsproxy.c"コマンドラインオプションを使用できます。 CONNMAN_SUPPLICANT_DEBUG connmandとwpa_supplicantプロセス間の通信のデバッグ出力。 CONNMAN_WEB_DEBUG Wisprおよび6to4コンポーネントでConnManがインターネット接続チェックを行う際のデバッグ情報。

例: CONNMAN_WEB_DEBUG=1 src/connmand -n

タイミング条件が重要である場合は、次のコマンドでログトレースを取得することをお勧めします: connmand -d 2>&1 | ts '[%H:%M:%.S]' | tee connman.log

'ts'プログラムは通常、moreutilsパッケージで利用できます。

カーネル設定

テザリングをサポートするには、次のカーネル設定オプションをモジュール(m)または組み込み(y)のいずれかで有効にする必要があります:

CONFIG_BRIDGE CONFIG_IP_NF_TARGET_MASQUERADE

CONFIG_IP_NF_TARGET_MASQUERADEを有効にするには、次のオプションもモジュール(m)または組み込み(y)として有効にする必要があります:

CONFIG_NETFILTER CONFIG_NF_CONNTRACK_IPV4 CONFIG_NF_NAT_IPV4

セッションでのルーティングおよび統計サポートには、次のオプションをモジュール(m)または組み込み(y)として有効にする必要があります:

CONFIG_IP_NF_IPTABLES CONFIG_IP_MULTIPLE_TABLES CONFIG_NETFILTER_NETLINK_ACCT CONFIG_NETFILTER_XT_MATCH_NFACCT CONFIG_NETFILTER_XT_CONNMARK CONFIG_NETFILTER_XT_TARGET_CONNMARK CONFIG_NETFILTER_XT_MATCH_CONNMARK

USBガジェットテザリングをサポートするには、次のカーネル設定オプションを有効にする必要があります:

CONFIG_USB_GADGET CONFIG_USB_ETH

wpa_supplicant設定

wpa_supplicantとConnection Managerを正しく連携させるには、wpa_supplicantの.configファイルを編集して次を設定してください:

CONFIG_WPS=y CONFIG_AP=y CONFIG_CTRL_IFACE_DBUS_NEW=y

次を追加します:

CONFIG_BGSCAN_SIMPLE=y

この最後のオプションは、接続中のバックグラウンドスキャンのサポートを有効にします。これはWiFiでのローミング時に必要です。

wpa_supplicant 2.x以降を使用することをお勧めします。

wpa_supplicantがD-Busの自動起動に設定されている場合、ConnManはwpa_supplicantの自動起動をトリガーします。ただし、このトリガーは一度だけ行われることに注意してください。wpa_supplicantが停止またはクラッシュした場合、ConnManは定期的に自動起動を試行しません。自動起動はsystemdまたは同様のサービス管理ツールに任されています。ConnManがwpa_supplicantを起動しない場合は、そのD-Bus制御インターフェースを有効にしてConnManが通信できるように、必ず"-u"オプションを使用してください。

VPN

pptpおよびl2tp VPNプラグインをコンパイルするには、ppp開発パッケージが必要です。

l2tpを実行するには次が必要です: - xl2tpd, http://www.xelerance.com/services/software/xl2tpd

pptpを実行するには次が必要です: - pptpクライアント, http://pptpclient.sourceforge.net

l2tpとpptpの両方にもpppdが必要です。

OpenVPN

OpenVPNバージョン2.2までは、サーバーから追加ルートをプッシュしても常に機能するとは限りません。症状の一部として、アップリンクが携帯電話ネットワークの場合、ConnManが追加ルートを設定しないことがあります。一方、同じ設定はWiFiまたはEthernetアップリンクでは正常に機能します。

OpenVPNバージョン2.4.5(少なくとも)までは、管理チャネルを介した秘密鍵の復号失敗に関する情報の取得が欠落しています。これにより、復号失敗の情報がOpenVPNプラグインに配信されないため、無効な鍵を使用した試行が繰り返されます。秘密鍵の復号失敗を送信するには、OpenVPNへの次のパッチが必要です: https://git.sailfishos.org/mer-core/openvpn/blob/ 4f4b4af116292a207416c8a990392e35a6fc41af/rpm/privatekey-passphrase- handling.diff

GnuTLS

GnuTLSを使用する場合、GnuTLSの構成によって、/dev/urandomを使用した内部エントロピープールの初期化が遅延(lazy)または即時(eager)のいずれかで行われることに注意してください。即時初期化の場合、エントロピープールが満たされるまでリンクローダーによってConnManのロードが遅延します。小規模なシステムでは、これによりConnManの起動が数秒簡単に遅延する可能性があります(25秒以上の遅延の報告もあります)。

GnuTLSでは、環境変数GNUTLS_NO_EXPLICIT_INITが設定されている場合、遅延評価に戻すことができます。詳細については、gnutls_global_init(3)のマニュアルページを参照してください。

オンラインチェック

ConnManは、サービスが接続されたときにインターネット接続があるかどうかを検出しようとします。オンラインチェックが成功すると、そのサービスはOnline状態になります。成功しない場合はReady状態のままです。オンラインチェックは、ホテルに滞在していて接続料金を支払う必要がある場合など、ConnManがキャプティブポータルの背後にいるかどうかを検出するためにも使用されます。

オンラインチェックは、ipv4.connman.net(IPv4接続用)およびipv6.connman.net(IPv6接続用)からstatus.htmlドキュメントを取得しようとすることで行われます。使用されるURLは次のようになります: http://ipv{4|6}.connman.net/online/status.html

オンラインチェックは次の3つのモードのいずれかで動作します:

  • "none"
  • "one-shot"
  • "continuous"

ここで"one-shot"がデフォルトであり、"OnlineCheckMode"設定によって制御されます。

"none"モードでは、HTTPベースの"online"インターネット到達可能性チェックは実行されません。接続されたサービスとマネージャー状態はReady状態で終了し、Onlineには進行しません。

"one-shot"(デフォルトモード)では、デフォルトサービス(高優先度(メトリック0)のゲートウェイデフォルトルートを持つサービス)に対して、単発のHTTPベースの"online"インターネット到達可能性チェックが1回実行されます。チェックが成功すると、関連するサービスとマネージャー状態は"online"状態で終了します。チェックが失敗した場合、後続のチェックは"OnlineCheckIntervalStyle"、"OnlineCheckInitialInterval"、"OnlineCheckMaxInterval"に従って再スケジュールされ、成功するかサービスが切断されるまで無期限に継続されます。

"continuous"モードでは、デフォルトサービス(高優先度(メトリック0)のゲートウェイデフォルトルートを持つサービス)に対して、継続的なHTTPベースの"online"インターネット到達可能性チェックが実行されます。"one-shot"モードと同様に、最初のチェックが成功すると、関連するサービスとマネージャー状態はOnline状態で終了します。その後、後続のチェックは"OnlineCheckIntervalStyle"および"OnlineCheckMaxInterval"に従ってスケジュールされます。チェックが失敗した場合、後続のチェックは"OnlineCheckIntervalStyle"、"OnlineCheckInitialInterval"、"OnlineCheckMaxInterval"に従って再スケジュールされます。"OnlineCheckFailuresThreshold"に達すると、サービスとマネージャー状態はReadyに降格され、サービスの"Error"プロパティは"online-check-failed"に設定されますが、後続のチェックは継続されます。その間、利用可能な別のサービスがデフォルトサービスに昇格し、そのサービスに対してオンラインチェックが開始される場合があります。降格されたサービスについて"OnlineCheckSuccessesThreshold"に達すると、サービスの"Error"プロパティはクリアされ、サービス状態はOnlineに昇格し、再びデフォルトサービスになる可能性があります。

この機能を無効にする必要がある場合は、connman.conf(5)の"OnlineCheckMode"オプションを参照してください。"OnlineCheckIPv4URL"および"OnlineCheckIPv6URL"オプションで他のURLを指定することもできます。2つのオンラインチェック要求の間隔の範囲は、"OnlineCheckInitialInterval"および"OnlineCheckMaxInterval"オプションに加えて"OnlineCheckIntervalStyle"オプションで微調整できます。

上述のように、"one-shot"および"continuous"モードでは、オンラインチェック要求が失敗すると("continuous"モードの場合は成功した場合も)、より長い間隔で別のチェックがトリガーされます。間隔は、"OnlineCheckIntervalStyle"設定に応じて"fibonacci"または"geometric"の2つの数学的系列のいずれかに従います。デフォルトは"geometric"です。geometric設定は、"OnlineCheckInitialInterval"と"OnlineCheckMaxInterval"で指定された範囲の平方数列です。"OnlineCheckInitialInterval"と"OnlineCheckMaxInterval"のデフォルト値は範囲[1, 12]で、これは次の"geometric"間隔(秒)に対応します: 1、4、9、16、25、36、49、64、81、100、121、144。対照的に、その範囲での対応する"fibonacci"系列は1、1、2、3、5、8、13、21、34、55、89、144です。"fibonacci"系列とスタイルは、12ステップまでは"geometric"よりもチェックレートが高くなります(144秒で"geometric"と同等になります)が、その後ははるかに積極的に間隔を延ばし、19ステップで1時間に達します。"geometric"が1時間に達するのは60ステップ目です。

オンラインチェック手順の間、ConnManはipv4.connman.netとipv6.connman.netの両方へのホストルートを一時的にインストールし、接続されたサービスが使用している正しいネットワークインターフェースを介してオンラインチェッククエリを送信できるようにします。このホストルートは、オンラインチェックが完了すると自動的に削除されます。サーバーは、接続クライアントのIPv4/6アドレスを含む接続情報を明示的にログに記録しないことに注意してください。サーバーの実行時ログは、処理された接続数に応じてRAMメモリ内で循環します。

ConnManはオンラインチェック要求時にHTTPヘッダーで次のごく最小限の情報を送信します(例): Host: ipv4.connman.net User-Agent: ConnMan/1.23 wispr Connection: close

接続が成功した場合、connman.netから現在次の情報が返されます(200 OK HTTPレスポンスコードが返されます): Server: nginx Date: Mon, 09 Jun 2014 09:25:42 GMT Content-Type: text/html Connection: close X-ConnMan-Status: online

X-ConnMan-Statusフィールドはポータル検出に使用されます。このフィールドが欠落している場合、ConnManはnet.connman.Agent dbusインターフェースのRequestBrowserメソッドを呼び出し、ポータルがWISPrをサポートしていない場合のポータルログインを処理します。詳細については、doc/agent-api.txtを参照してください。

情報

メーリングリスト: [email protected]

受信トレイにメールを受け取るために購読したい場合は、自分のメールアカウントから(空の)メッセージを次の宛先に送信してください:

root@kitploit:~
[email protected]

メーリングリストのアーカイブ: https://lore.kernel.org/connman

IRC: ircs://irc.oftc.net:6697/#connman (SSL用) irc://irc.oftc.net:6667/#connman (非SSL用)

ツールをダウンロード