Injectopiは、Windowsの環境でのさまざまな注入技術について学ぶために書き留めることにしたチュートリアルのセットです。 Hasherezadeのこれらの素晴らしい情報源に気づいたとき、このアイデアは私の頭に浮かびました。
これが私が思ったことです:
「毒の尖った武器を揺さぶる複数の腕を持つ強力な動物よりも良いものはありますか?」
このチュートリアルは、実行時に既存のプロセスにコードを挿入するプログラムを作成する方法を示しています。セキュリティ研究者とマルウェアコーダーによって発見された複雑さの増加の複数の手法を示します。これらのリストは、主要なテクニックのみを示しているため、これらのリストは完全ではないことに注意する必要があります。
| 名前 | 説明 | メインウィナピ |
|---|---|---|
| createpatched | エントリポイントにシェルコードがパッチされた良性プロセスが生成されます | CreateProcess 、 VirtualProtectEx 、 ReadProcessMemory |
| CreateSection | 既存のプロセスでシェルコードを含む新しい実行可能ファイルセクションを作成します | CreateProcess 、 ZwCreateSection 、 NtMapViewOfSection 、 ZwCreateThreadEx |
| CreateSectionApc | CreateSectionと同じ:今回は非同期手順コールが使用されます。 | CreateProcess 、 ZwCreateSection 、 NtMapViewOfSection 、 NtQueueApcThread |
| フルコピー | 既存のプロセスで実行可能なメモリ領域を割り当て、その地域にそれ自体をコピーします | ZwCreateSection 、 NtMapViewOfSection |
各バイナリをコンパイルする場合は、使用することがお勧めします。
Visual StudioでInjectopi.sln開くだけです!
ビジュアルスタジオのインストールにより、 Desktop C++ x86 and x64コンポーネントを有効にしてください!
あなたは行く準備ができているはずです!
シェルコードがファイルSHELLCODE.mdで何をするかをコメントしました。
以下に、Injectopiを書き留めているときに便利だと感じた興味深い記事 /ウェブサイト /論文のリストを見つけてください!
彼らのウェブサイトから:
あなたが信頼できるオープンソース環境であなたのお気に入りのWindowsアプリケーションとドライバーを実行することを想像してください。それはReactosです。オープンだけでなく、無料のオペレーティングシステムでもあります。
Reactosは、リバースエンジニアリングでWindows OSをオープンソーシングすることを目的とした素晴らしいプロジェクトです。あなたが彼らのウェブサイトにあるドキュメントは純金です。
Skapeの「Windows Shellcodeの理解」ペーパーは、 Windowsの内部がどのように機能し、それらを使用してシェルコードを作成する方法を理解するのに役立つ優れたリソースです。
私がこれらの例で使用するシェルコードは、論文に示されているいくつかの手法を使用しています!
どんな貢献も大歓迎です!お気軽に問題を開いたり、リクエストをプルしたりしてください!
このプロジェクトのアイデアは、Hasherezadeのデモリポジトリと私のインストラクターFederico Maggiの絶え間ないサポートのおかげで生まれました。
友達のフランチェスコとジャンカルロに感謝します。
Copyright 2017 Giulio De Pasquale
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.