web-dev-qa-db-ja.com

[avをバイパスして]ファイルを破損せずに16進コードを編集する方法

私は最近、 "nc.exe(NetCat)"でAV署名を見つけるによってAVをバイパスすることを研究し、それがどのように機能するかを確認するために変更しました。分割方法で署名の場所をすでに見つけたので、16進エディタでnc.exeを開いて変更 SIGにする必要があります。 しかし、これは次のようになります。

enter image description here

別のマルウェアでは、署名がファイルの最後の355バイトにあることがわかりました。

enter image description here

そして、両方のファイルはそれらを編集することにより破損します(バイトの追加または削除)

質問:このような状況で編集するにはどうすればよいですか? AVをバイパスしてバイナリ編集を成功させるには何を知っておくべきですか?

この全体が間違っている場合は、何を探しているのか教えてください。

1
0_o

AV署名は通常、特定のファイルからのハッシュに基づいています。それらは既知の商品または既知の不良ファイルです。既知の不良ファイルである場合は、数バイトをあちこちで変更でき(たとえば、「dosモードでは実行できません」という文字列)、同じハッシュを使用して同じ機能を実行するバイナリを作成できます。

しかし、最近のほとんどのAV /マルウェア対策プログラムはいくつかの点に注目しています。これには、コードの署名、動作などが含まれます。

AVをバイパスしてバイナリ編集を成功させるには何を知っておくべきですか?

これはまさにコード署名が解決しようとしていることです。プログラムを編集すると、署名は一致しなくなり、「盲目的に」信頼されなくなります。

AVのバイパスは、多くの場合洞察に富んだテクニックで十分に研究されている大きなテーマです。信頼できるように、正当なことを十分に長く実行する「信頼できないバイナリ」を使用することもできます。または、正当なバイナリ(例:OSに同梱されているものなど)を使用し、それを悪用して、意図されていない何かを実行しようとします。

4
ndrix