EFingerd のリモート・バッファ・オーバーフロー | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2018.06.24(日)

EFingerd のリモート・バッファ・オーバーフロー

国際 海外情報

[翻訳:関谷 麻美]
2002年3月9日

概要
 EFingerd は man ページの記述にある通り、あなたのコンピュータに関して表示しようとすることをコントロールするフィンガー・デーモンだ。しかしこれは、全てのローカル・ユーザが当初管理者により意図された以上の情報を(たとえ故意ではないにしても)晒してしまうため、完全には正しくない。さらに問題なのは、その製品が悪用可能なバッファー・オーバーフローを含んでいる点だ。

詳細
脆弱なシステム:
Debian Linux 配布バージョン 1.3 (安定バージョン) と1.6.1 (開発バージョン)。

リモート・バッファ・オーバーフロー
 安定バージョンにおいて、コードのリバースルックアップ部分を利用して、リモートでバッファ・オーバフロー状態を引き起こすことは可能:

static char *lookup_addr (struct in_addr in)
{
static char addr[100];
struct hostent *he;

if (resolve_addr) {
he = gethostbyaddr ((char *)&in, sizeof(struct in_addr),AF_INET);
if (he == NULL)
strcpy(addr, inet_ntoa(in));
else
strcpy(addr, he->h_name);
}
else
strcpy (addr, inet_ntoa (in));

return addr;
}


通常 efingerd は 'nobody'として動作する。

危険な機能
 (両方のバージョンの)efingerd に関連したセキュリティ問題がもう一つある。既存のユーザの情報が検索されている時、efingerd はユーザのホームディレクトリの ".efingerd" ファイルを探す。それが存在し、そして実行可能な場合に、 'nobody'で実行を試みる。 .efingerd の出力は、fingerer に返送される。

 つまり、ローカルユーザが自身の .efingerd ファイルにあるものなら何でも nobody UID/GID によって、単にユーザ自身の情報検索をするだけで実行されるのだ。つまりユーザ nobody およびグループ nobody シェルを取得することは、容易だ。これは、ローカルの DoS 攻撃などの悪事を働いている間、自分のアイディンティティを隠そうとする潜在的悪人にとっては非常に興味深いことだろう。ログファイルは、efingerd の UID により書き込み可能なので、容易に改ざんされる。

この機能は、 -u オプションで無効にすることが可能。

追加情報
Spybreak がこの情報を提供した。

[情報提供:SecuriTeam]
http://www.securiteam.com/

《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★
<b>★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★</b>

経営課題としてサイバーセキュリティに取り組む情報システム部門や、研究・開発・経営企画に携わる方へ向けた、創刊19年のセキュリティ情報サービス Scan PREMIUM を、貴社の事業リスク低減のためにご活用ください。

×