ニフィガはパン、またはあるハックの話に行きました

それはすべて、彼らが私に(フリーランサーとして)助けを求め、メーリングリストがスパムに陥らないようにexim4を設定するように依頼したという事実から始まりました。 すばらしい記事へのリンクを慎重に送ってさえいました。



DNSの更新を含めて数時間働きますが、ありませんでした。 rootとしてログインし、 screen -xコマンドを使用して習慣からお気に入りの画面をオンにし、最愛の/ dev / shmフォルダーで最も奇妙なアクションを見ました。 攻撃者はスクリーンセッションを閉じることを気にせず、またはそのセッションで作業を続けていました。 そして、クエストが始まります:



私が最初にしたことは、攻撃者が何をしていたかを見ることでした。







wget http: // ravenul.zzl.org / it / noi / up / 8.txt

mv 8.txt list.txt

php lol.php

php lol.php

netstat -an | grep22

w

rm -rf list.txt

w

rm -rf .x

netstat -an | grep22




どうやら、彼はスパムを送信し、特定の「.x」ファイルを実行しました(または、それはフォルダーでしたか?)。また、ssh接続を確認しました。 phpスクリプトlol.phpのアーカイブもありましたが、残念ながら保存するのを忘れていました。



最後のコマンドとwhoコマンドの出力には超自然的なものは何も表示されませんでした。サーバー所有者によって確認された1か月のルートセッションはありませんでした。 しかし...

$ lsof -ni | grep ssh


IP 172.190.125.14との確立された接続を示しました。



/ usr / sbin / sshdに注意を引きました

$ ls -la / usr / sbin / sshd

-rwxr-xr-x 1ルートルート320724 10月11日 23:29 / usr / sbin / sshd


sshd0はsshdの横にありました

$ ls -la / usr / sbin / sshd0

-rwxr-xr-x 1ルートルート757356 2010年 7月31日 / usr / sbin / sshd0




ファイルを削除しても何も起こりませんでした。

$ rm -f / usr / sbin / sshd

rm`/ usr / sbin / sshd 'を削除できません:操作は許可されていません




進む

$ lsattr / usr / sbin / sshd

-u-ia ------------- / usr / sbin / sshd

$ chattr -aui / usr / sbin / sshd

$ rm / usr / sbin / sshd

$ lsattr / usr / bin / * | grep -v -'-------------------'

-u-ia ------------- / usr / bin / ssh

$ chattr -aui / usr / bin / ssh

$ rm / usr / bin / ssh




openssh-serverおよびopenssh-clientを再インストールします 。 すべてがうまくいくようで、脅威はありません。これ以上疑わしいものは見つかりませんでした。 同時にシステムを更新することにしましたが、tzdataは古かったです(こんにちはMedvedev!)。 /etc/apt/sources.listおよび/etc/apt/sources.dを確認しました。 すべてのファイルは順番通りで、左の行はありません。日付は年ごとに変更されていません。 そして、 apt-get updateの後、新しいカーネルを含むすべてのセキュリティアップデートがDebian Lennyに適用されました。 まあ何。 再起動する必要があります。 念のため、KVMに(無駄ではないことが判明したので)聞いて、待ち始めました。



翌日、彼らはKVMを提供しました。 「reboot」と入力しましたが、ここにあります:多数のセグメンテーションエラー。 髪が白くなり始め、手を振る。 一般的に、多くは私の状況を表していると思います。 sayingにもあるように、「機能する場合-知らないでください!」、しかし侵入を検出した後、更新を適用して再起動する必要がありました。



要するに、私は自分自身をまとめ、問題が何であるかを研究し始め、 単一のユーザーを起動しました。 mountコマンドは、パラメーターがなくても呼び出されるたびにセグメンテーションフォールトを呼び出します。 ファイルシステムは読み取り専用で、何も実行できません。 / etc / fstabは問題ありませんが、 dfも動作します。 何らかの理由で、 dateコマンドもsegfoltです。 ディスクチェック(ソフトウェアraid1) fsck.ext3 / dev / md0を開始しました-すべてが正常であり、逸脱はありません。 問題は何ですか? それから、私はシステムを置くと考え始めます、なぜなら tzdataパッケージを更新しました。これは時間とまったく同じです。 そして、プロバイダーとのDSL接続が切断されます...モデムを再構築します-接続が上昇します。



サーバーの所有者はinしている サーバーは数時間ダウンしており、Infoboxサポートにチケットを書き込むことにしました。 私は反逆的です、私はシステムをあちこち探し回っています。 ドライブがRWになるようにマシンをリブートし、liveusbからブートするという、最も適切な決定が私にはあるようです。 彼は現在可能な方法でマウントのデビューを始めました。 gdbはインストールされていません。lddのみが存在し、深刻なものは何も表示されず、 LD_DEBUG = allがエクスポートされました 。 Segoltは、すべてのライブラリの初期化後に愚かに始まった。 それからKVMはそれがオフになったことを教えてくれます。 明らかに、キャリパーが走りました。 彼はラップトップを離れ、さらに考え始めました...



私が立って新鮮な空気を吸っている間に、非常に教養のあるゴキブリが頭に飛び込んで、「セグメンテーション違反の原因となるファイルがスプーフィングされた場合はどうなりますか」と言いました。 すぐに言ってやった。 サポートへのチケットについてクライアントが何を言うかを待っています。 数分後、彼は私にキャリパーの応答を送信します。



パーティションテーブルが破損しているため、復元するための高速な方法は使用できません。



必要に応じて、復元のためにシステム管理者を引き付けることができます(作業コストは1時間あたり870ルーブルです)。



または、自分で行うことができます。 この場合、Gpart(http://packages.debian.org/en/sid/gpart)を使用することをお勧めします




私は西洋ワサビに思いました...私はこれができないことをクライアントに伝えます、なぜなら fsckはディスクをチェックし、ファイルシステムに違反は見つかりませんでした。 クライアントはサポートに応答を書き込み、その時点でKVMへのアクセスが返されます。システムにインストールされていないmounthdparmを呼び出してfdiskを操作しようとする無駄な試みがすべて表示されます。



後者は、次のことだけを推測しました。

$ fdisk -l



ディスク/ dev / sda: 160.0 GB、 160041885696バイト

255ヘッド、 63セクター/トラック、 19457シリンダー

単位= 16065 * 512 = 8225280バイトのシリンダー

ディスク識別子:0x000f0571



デバイスブートスタートエンドブロックIDシステム

/ dev / sda1 1 18480 148440568 + fd Linux raid autodetect

/ dev / sda2 18481 19457 7847752 + fd Linux raid autodetect



ディスク/ dev / sdb: 160.0 GB、 160041885696バイト

255ヘッド、 63セクター/トラック、 19457シリンダー

単位= 16065 * 512 = 8225280バイトのシリンダー

ディスク識別子:0x00000000



デバイスブートスタートエンドブロックIDシステム

/ dev / sdb1 * 1 18480 148440568 + fd Linux raid自動検出

/ dev / sdb2 18481 19457 7847752 + fd Linux raid autodetect



ディスク/ dev / md0: 152.0 GB、 152003018752バイト

2ヘッド、 4セクター/トラック、 37110112シリンダー

単位= 8 * 512 = 4096バイトのシリンダー

ディスク識別子:0x00000000



ディスク/ dev / md0には有効なパーティションテーブルが含まれていませ



ディスク/ dev / md1:8036 MB、8036024320バイト

2ヘッド、4セクター/トラック、1961920シリンダー

単位= 8 * 512 = 4096バイトのシリンダー

ディスク識別子:0x00000000



Disk / dev / md1に有効なパーティションテーブルが含まれていません




最新のDisk / dev / md0に基づくと、有効なパーティションテーブルサポートが含まれておらず 、問題がパーティションテーブルにあることがわかりました。 確かに、私が前に推測していなかったように。 結局のところ、 fdiskはソフトウェアraidのパーティションテーブルを見たことがない。 私はクライアントへの私の考えをすべて退会し、そのゴキブリのための陰湿な計画を開発し始めます。 クライアントが彼らの助けに同意した場合、サポートの物語がどのように終わり、どれくらいかかるか想像できます。 そして、金額を計算することは難しくありません。



変更/ビン/マウントの日付-最後のサーバー起動の時刻を確認します。 再起動し、再度日付を確認します-最後のサーバーのロードの時間。 変です。 これは、ロード時にこのファイルを変更し、この「何か」で何かを行う必要があることを意味します。



/ tmp-読み取り専用。 ファイルをサーバーにアップロードするには、書き込みシステムが必要です。 / dev / shmを思い出します。 ネットワークインターフェイスを持ち上げ、IPを割り当て、lennyのdebパッケージマウントをダウンロードします。 開梱、実行-出来上がり! うまくいく! ファイルシステムを再マウントします。現在はRWです。 物事はなくなっています!



/ bin /内のファイルを確認すると、次の図が表示されます。

$ ls -latr / bin

-rwxr-xr-x 1ルートルート96408 11月15 18:11 vdir

-rwxr-xr-x 1ルートルート30896 11月15 18:11 pwd

-rwxr-xr-x 1ルートルート30712 11月15 18:11 ping6

-rwxr-xr-x 1ルートルート24252 11月15 18:11 nc.traditional

-rwxr-xr-x 1ルートルート8612 Nov 15 18:11マウントポイント

-rwxr-xr-x 1ルートルート68208 Nov 15 18:11 マウント

-rwxr-xr-x 1ルートルート32244 11月15 18:11 mknod

-rwxr-xr-x 1ルートルート39144 11月15 18:11ロードキー

-rwxr-xr-x 1 root root 17244 Nov 15 18:11 kill

-rwxr-xr-x 1ルートルート9764 11月15 18:11 fgconsole

-rwxr-xr-x 1ルートルート26216 Nov 15 18:11 false

-rwxr-xr-x 1 root root 8524 Nov 15 18:11 dmesg

-rwxr-xr-x 1ルートルート96408 Nov 15 18:11 dir

-rwxr-xr-x 1 root root 51988 Nov 15 18:11 dd

-rwxr-xr-x 1 root root 59148 Nov 15 18:11 date

-rwxr-xr-x 1ルートルート49440 11月15 18:11 chgrp

-rwxr-xr-x 1ルートルート30956 11月15 18:11

-rwxr-xr-x 1ルートルート12252 11月15 18:11 bzip2recover




さらに、ファイルが変更された日付は3分10秒ごとに変更されます。 crontabを調べ始めると、何も見つかりません。 ファイルを変更するプロセスlsofをキャッチできません。 私はps auxwwを推測し、特定のプロセスcat / sys / class / net / lo / operstateがハングしていることがわかります



killユーティリティでパッケージをダウンロードし、ファイル/ bin / catの名前を/ bin / cat_に変更し、プロセスをネイルします。 ファイルは変更されなくなります。 勝利 これで、変更されたすべてのファイルを元のファイルに置き換えることができます。 dpkg自体の作成日を確認した後、必要なパッケージをダウンロードし、 dpkg -i * debを使用してインストールします。 すべての交換が行われ、指が交差した後、 リブートしてKVMウィンドウを監視します。 ダウンロードは成功し、サイトは機能しています。 次に、 clamavでコピーした感染ファイルをスキャンし、 Linux.RST.B-1 FOUNDを見つけます。 Linuxウイルスがないと誰が言ったのですか? ところで、2001年のウイルス ...



sshdとsshをスキャンしても何も起こりません。 どうやらこれらは変更されたsshsshdです。 最初の方法は、サーバーへの接続が成功したときにユーザー名とパスワードを送信する可能性が高く、2番目の方法は、特定のパスワードを持つすべてのユーザーをサーバーに送信する可能性が高くなります。 現在、これらのファイルを掘る力はありませんが、希望する人はダウンロードして掘ることができます: zalil.ru/32063611



PSチームに何か問題がある場合は、謝罪します。多くの人が記念品として書きました。 Exim4を構成することも、もはや望みではありません。 まだお金を要求していません。 はい、そして何のために? メインタスクが満たされていません=)

PPS Hello Infobox!



All Articles