質問

他にLD_PRELOADトリックは、Linuxカーネルモジュールに置き換わる一定の使用に対する強制との連携推進本部から提供されたすにありがとうござい可能性を遮断での使用に対する強制(例えば、このようにまずくじ機能での間、実際のです。

役に立ちましたか?

解決

まなソリューに興味を持っているかもしれのDR rootkitを確実に遂行するだけで、 http://www.immunityinc.com/downloads/linux_rootkit_source.tbz2 の条約はこちら http://www.theregister.co.uk/2008/09/04/linux_rootkit_released/

他のヒント

ができないのはなぜです/なご使用になりたい LD_PRELOADトリック?

コード例は、こちら:

/*
 * File: soft_atimes.c
 * Author: D.J. Capelis
 *
 * Compile:
 * gcc -fPIC -c -o soft_atimes.o soft_atimes.c
 * gcc -shared -o soft_atimes.so soft_atimes.o -ldl
 *
 * Use:
 * LD_PRELOAD="./soft_atimes.so" command
 *
 * Copyright 2007 Regents of the University of California
 */

#define _GNU_SOURCE
#include <dlfcn.h>
#define _FCNTL_H
#include <bits/fcntl.h>

extern int errorno;

int (*_open)(const char * pathname, int flags, ...);
int (*_open64)(const char * pathname, int flags, ...);

int open(const char * pathname, int flags, mode_t mode)
{
    _open = (int (*)(const char * pathname, int flags, ...)) dlsym(RTLD_NEXT, "open");
    if(flags & O_CREAT)
        return _open(pathname, flags | O_NOATIME, mode);
    else
        return _open(pathname, flags | O_NOATIME, 0);
}

int open64(const char * pathname, int flags, mode_t mode)
{
    _open64 = (int (*)(const char * pathname, int flags, ...)) dlsym(RTLD_NEXT, "open64");
    if(flags & O_CREAT)
        return _open64(pathname, flags | O_NOATIME, mode);
    else
        return _open64(pathname, flags | O_NOATIME, 0);
}

だからこそ理解...いのですが、ここでは、LD_PRELOADトリックまたはカーネルモジュールです。ありませんの中な実行したいでエミュレータではトラップへの機能はコードの書き換えの実際のバイナリにトラップをご機能です。

と仮定できないプログラムの修正ができない又は行わない)変更のカーネルは、LD_PRELOADアプローチの一つを想定し、お申し込みはかなりの標準となる不ることができるようにおさめら遮断.(この場合は必要なものその他の技術です。)

Valgrind 使用できる遮断機能。が必要な場合は遮断システム呼び出しに最終製品のこないます。しかし、ごみ切片中の開発できます。私は使用頻度の高いこの技術による遮ハッシュ機能できるよう、制御、返されるハッシュを試験する。

にんもご承知のように、Valgrind主に見つけるメモリリークとその他のメモリ関連のエラーが発生した場合.その基盤となる技術がありますが、基本的にはx86エミュレータ.でemulatesプログラムが遮断し必/無料。ですが、もし必要はありません再コンパイルに使用します。

Valgrind現在に至っており、その期 機能包装, 使用される制御の遮断機能を備えています。3.2節を参照してください、 Valgrindマニュアル ます。できるセットアップ機能を包む他機能します。一度電話を遮断し、代替機能が提供されたそのメソッドが呼び出されます。

一部応用できるトリックstrace/ptraceなければならないこと、そのオプションまたは使用管理

も管理できる遮気システム呼び出した場合は必要によりワイルドカードマッチングです。管ないしかしながら、別の言語です。基本モードでは、管理すべきからやっていか"とんとことって~えいとくまで走れる"エキスパートモード"について、それぞれ裏を開発者による使用の場合は不要です。

を必要としないパッチカーネル(または少なくともない、モジュールに集約して編集したもので,すでにコピーしてからクトを開始しました。ボックス挿入してください(insmod)の生産体制を確立しました。

私はまだ見いだされていないlinuxアプリを発見したときの/もって管理.

されました 腕時計 何開したいのptrace()関数またはソースコードのコマンドラインstraceる。ばんたい 遮断 ので、もう何かのオプションで上場-LD_PRELOADまたはカーネルモジュールにおいてだけます。

んの構文なこの優雅に、LKM offhandがこの記事を概要だい: http://www.linuxjournal.com/article/4378

できるだけでパッチのsys_openます。はじまり線1084のファイルが開きます。c linux-2.6.26.

だれもが使用できなくなinotify,管やSELinuxいこのロギングまでをシステム。

だいたいのでデバッグ目的に見straceは、内蔵のptrace(2)システムコールできるフック上のコードがシステム呼び出しが行われます。のPTRACE_SYSCALLの一部のページです。

音のように必要なものauditd.

Auditdできるグローバルトラッキングのすべてのsyscallsまたはアクセスファイルは、ロギングできるためのキーをセットします特定のイベントに興味をもったかを記入します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top