マルウェア開発者 ShellcodeLib

Feb 15 2023
はじめに 私の新しい記事へようこそ。今日は、最もよく使用されるマルウェアのペイロード (シェルコード) を操作するための新しいマルウェア ライブラリを紹介します。このマルウェア ライブラリは、XOR を使用してシェルコードを暗号化および復号化するために作成されています。

序章

私の新しい記事へようこそ。今日は、最もよく使用されるマルウェアのペイロード (シェルコード)を操作するための新しいマルウェア ライブラリを紹介します。

このマルウェア ライブラリは、XOR を使用してシェルコードを暗号化および復号化するために作成されています。XOR (排他的論理和) は、2 つの値を比較し、どちらかの値が true の場合に true を返す二項演算子です。暗号化では、XOR はデータの暗号化と復号化のための簡単かつ高速な方法として使用されます。

ライブラリはクラスとして実装されているため、オブジェクトとして使用する必要があります。これをオブジェクトとして使用する利点は、データと動作を単一のエンティティにカプセル化できるため、管理と使用が容易になることです。このクラスは、シェルコードの暗号化と復号化、およびシェルコードの長さとペイロードを取得するためのパブリック メンバー関数も提供します。これらの関数を使用すると、必要に応じて暗号化および復号化プロセスをカスタマイズおよび微調整できます。クラスをオブジェクトとして使用すると、そのカプセル化と機能を利用して、シェルコードを効果的に暗号化し、簡単に復号化することができます。

Github リンク:

コード

これは、クラス Shellcode を定義する C++ コードです。このクラスには、unsigned char の配列へのポインタであるパブリック メンバー変数ペイロード、整数であるパブリック メンバー変数 len、およびさまざまなパブリック メンバー関数があります。

コンストラクター Shellcode(unsigned char *shellcode, int len) はクラスを初期化し、unsigned char の配列と整数 len を入力として受け入れます。this->len を len に設定し、ペイロードに動的にメモリを割り当てて len 個の文字を保存します。コンストラクターはまた、要素をシェルコードから this->payload にコピーします。

関数 getShellcode() は、ペイロード メンバー変数の値を返します。関数 getLen() は、len メンバー変数の値を返します。

関数 XOR_decrypt(unsigned char key) は、入力キーを使用してペイロードに対して XOR 復号化を実行し、結果を 16 進形式で出力します。

関数 XOR_encrypt(unsigned char key) は、入力キーを使用してペイロードに対して XOR 暗号化を実行し、結果を 16 進形式で出力します。

使用法

このライブラリを使用するには、次のようなリンクを実行できます。

まず、ペイロードとペイロードの長さを送信するオブジェクトを作成します。

これが完了すると、このコードでシェルコードの暗号化と復号化を使用できるようになります…

結論

これはこのマルウェア ライブラリの最初のバージョンにすぎませんが、マルウェア スニペットを最速で作成するのは非常に興味深いものです。

私のコンテンツを気に入っていただき、このプロジェクトを次のレベルに引き上げるのに協力していただける場合は、毎月のサブスクリプションを寄付してメンバーになることができます。皆様のご支援により、今後も高品質なコンテンツを作成してまいります。寛大なご厚情に感謝いたします。

現時点で寄付ができない場合でも、まったく問題ありません。私のプロジェクトを共有し、情報を広めていただくためのご支援に感謝いたします。私は今後も自分の作品を作成し、共有し続けますので、皆様の励ましと関心に感謝します。

これを読んでくれてありがとう:

S12.