アンチキルブリーフ1(フラワーインストラクション/機能コード変更/シェルコードローダー)

ウイルス対策ソフトウェアの殺害のアイデア


アンチソフトウェアの一般的なスキャン方法とテクニック

1.圧縮パッケージテクノロジをスキャンします。これは、圧縮パッケージのケースとパッケージファイルを分析およびチェックするためのテクノロジです。
2.プログラム改ざん防止:ウイルス対策検出プログラムを削除して、悪意のあるプログラムがコンピューターを破壊するのを防ぎます。
3.修復技術:悪意のあるプログラムによって損傷したファイルを復元します
4.レスキューディスクアンチウイルス:空のUディスクを使用して緊急起動ディスクを作成し、コンピューターウイルスを検出します。
5.スマートスキャン:最も一般的に使用されるディスクとシステムの主要な位置をスキャンします。短時間でスキャンできます。
6.フルスキャン:時間がかかるコンピューターのすべてのディスクをスキャンします。7.ランサムウェアからの保護:コンピューター内のファイルがハッカーによって悪意を持って暗号化されないように保護します。
8.電源オンスキャン:コンピューターの電源がオンになると自動的にスキャンされ、圧縮されたドキュメントや、場合によっては不要なプログラムもスキャンできます。


モニタリング技術

1.メモリの監視:メモリ内でウイルスが検出されると、積極的にアラームを発し、すべてのプロセスを監視し、メモリに読み込まれたファイルを監視し、メモリに読み込まれたネットワークデータを監視します。
2.ファイルの監視:ディスクに書き込まれたファイルでウイルスが見つかった場合、またはウイルスに感染した場合は、率先して警告を発します。
3.電子メールの監視:電子メールの添付ファイルでウイルスが検出されたときに遮断します。
4. Webページの保護:ネットワーク攻撃や安全でないダウンロードを防止します。5.動作保護:疑わしいアプリケーションの動作をユーザーに通知します。


殺害の一般的な方法

1.機能コードのスキャン:いわゆる機能コードは、実際にはプログラム内のバイナリマシンコードの文字列またはいくつかの文字列です。シグネチャマッチングの動作原理は、最初に特定のウイルスのシグネチャを要約し、次にターゲットファイルを検索して類似の一致があるかどうかを確認します。一致がある場合、それはウイルスファイルとして仮決定されます。利点:高速、高性能スキャンエンジンを装備、比較的高い精度、比較的に少ない虐殺操作、ユーザーの参加はほとんど必要ありません。短所:検出ツールはウイルス署名コード方式を採用しています。常に出現する新しいウイルスに直面した場合、ウイルスデータベースのバージョンを常に更新する必要があります。そうしないと、検出ツールが古くなり、実用的な価値が徐々に失われます。ウイルス署名コード方式は、これまで見られなかった新しいものに新しいものです。ウイルスはその署名コードを認識できないため、新しいウイルスを検出することは不可能です。ウイルスの署名コードが完全にテストされていない場合、誤警報、データの誤った削除、システムの損傷が発生し、ユーザーにトラブルを引き起こす可能性があります。2.ファイルサム検証方法:通常のファイルAのハッシュ値を保存し、新しいファイルAがそのハッシュ値を計算するために送信された場合、通常のファイルと異なる場合、ウイルスファイルと見なされます。
3.サンドボックス検出:動作ベースの検出。ファイルがウイルスであるかどうかを判断するための機密動作があるかどうかを確認します。利点は未知のウイルスが見つかる可能性があることですが、欠点は誤検出が比較的高く、ユーザーの関与が必要なことです。
4.クラウドのチェックとキル:署名のチェックとキルに似ています。シグネチャライブラリに一致する値がない場合、ファイルはクラウドにアップロードされて分析が続行されます。スキャンウイルスは、スキャン直後のウイルスではなく、しばらくするとウイルスになる場合があります。この動作はクラウドの強制終了です。


アンチキルテクノロジー


ローダ

このウェブサイトでローダーのコード確認できます。シェルコードローダーの読み込みと通常のソースコードの読み込みには、原則として大きな違いはありませんが、パラメーターを受け取る追加のプロセスがあります。これは、すでにcmdshellがある場合に非常に役立ちます。サンプル配信の場合は、あまり役に立ちません。大きい。操作手順は次のとおりです。
ここに画像の説明を挿入


花の指導

意味のない命令、つまりフラワー命令を追加してアンチキル効果を達成することにより、原理は機能コードの変更と同じです。たとえば、ウイルス対策ソフトウェアは当初、0x00001000〜0x00005000の機能コードを探していました。しかし、flower命令を入力したため、悪意のあるコードが0x00008000の位置まで実行されました。これにより、シグニチャコードが検出および強制終了できなくなり、強制終了を回避する目的が達成されました。フラワーインストラクションの書き込み方法:プログラムのすべて0のコードセグメントを見つけます。[外部リンク画像の転送に失敗しました。ソースサイトにアンチリーチリンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-NT7rIInm-1596903846754)(evernotecid:// 90B54479-F8FA-4F06-9F90-73E6593C6866 / appyinxiangcom / 27458002 / ENNote / p60?hash = 6cf42dc80b0f6ea25b9839ac608cab94)]

PEエクスプローラーを開き、入り口の場所を変更します(途中で00402D6A)
ここに画像の説明を挿入

花の説明を使用する前に:
ここに画像の説明を挿入

小さな文字列flower命令を使用した後:
ここに画像の説明を挿入

概要:また、姿勢が間違っていることが原因である可能性があり、使用が簡単ではありません。

付録

登録 使いやすさ
ECX ループカウンター
ESP 常にスタックの一番上を指す
EBP 常にスタックの一番下だけが欲しい
セグメントレジスタ 事前に割り当てられたメモリのベースアドレスを格納する
EIP 次の命令のアドレスを格納します
EFLAGS いくつかのフラグを保存する

アセンブリでは、leaコマンドはアドレスを操作します。次に例を示します。

lea edx、[ebx + eax 4 + 3]
EAX
4 + EBX + 3を操作し、結果をEDXに書き込む


機能コードを変更する

ほとんどのウイルス対策ソフトウェアは機能コードに基づいているため、機能コードを変更することが最も基本的な考え方です。機能コードの具体的な定義は、64バイト以下のプログラムを識別できる文字です。機能コードを変更する原則は、プログラムの実行効果を変更せずに機能コードを変更することです。ただし、各ベンダーの機能ライブラリは異なり、機能コードはベンダーごとに変更する必要があります。消費される人的資源と材料資源は非常に大きいですが、効果は良好です。方法:mycclツールを使用して、複合機能コードを見つけて見つけますここに画像の説明を挿入
。1.ファイルをインポートした後、ブロック数を設定し、[生成]をクリックします。
2.生成されたファイルをチェックして強制終了するブロックの後に生成されたすべてのファイルをチェックして強制終了した場合は、ブロック数を増やします。
3.チェックして終了した後、2番目の処理をクリックします。このとき、フィーチャーコード間隔が生成されますので、フィーチャーをクリックしてピースを拾い上げ、右側のウィンドウをポップアップします。新しい機能コードが生成されるたびに、機能コードの範囲をクリックし、右下の[決定された機能コードの範囲を追加]をクリックします。すべてのスコープが確認され、ウイルス対策ソフトウェアがウイルスを完全に検出して殺すことができないまで、操作3を繰り返します。ここに画像の説明を挿入
ここに画像の説明を挿入

4.フィーチャーの間隔が非常に大きいため、フィーチャーの間隔の値を右クリックし、ここで複合配置フィーチャーを選択する必要があります。次に、[生成]をクリックし、各機能コード間隔のサイズが2バイトになるまで上記の操作を繰り返します。機能コードをバッチで変更したり、変更してバッチでテストしたりできます。5.生成された機能コード間隔に従って、ソースコードプログラムに変更を加えます。ここに画像の説明を挿入

たとえば、上記のソースコードの間隔は00002060の2バイト後です。実メモリアドレスに変換されるのは、00400000 + .textセグメントのrva + 00002060-00000400、つまり00402c60です。x23dbgを見てみましょう。ここに画像の説明を挿入

一時的にnopに変更します。上記は、署名の比較的完全な変更プロセスです。正しい変更プロセスとの違いは、コードを変更する最後の手順を、プログラムの全体的な操作に影響を与えないコードに変更する必要があることです。最も簡単な方法は、all 0領域に移動してjmpで呼び出すことです。


これで第1部の終わりです。第2部について話す方法はいくつかあります。

おすすめ

転載: blog.csdn.net/qq_41874930/article/details/107888250