diff --git a/Classic_Code_Injection_API_Obfuscate/Asset/PE3.gif b/Classic_Code_Injection_API_Obfuscate/Asset/PE3.gif new file mode 100644 index 0000000..5a6cdde Binary files /dev/null and b/Classic_Code_Injection_API_Obfuscate/Asset/PE3.gif differ diff --git a/Classic_Code_Injection_API_Obfuscate/readme.md b/Classic_Code_Injection_API_Obfuscate/readme.md index 72eb3c4..136afa6 100644 --- a/Classic_Code_Injection_API_Obfuscate/readme.md +++ b/Classic_Code_Injection_API_Obfuscate/readme.md @@ -513,7 +513,7 @@ int main(int argc, char* argv[]) { ## Demonstration -![](Assets/apiobf.gif) +![](Asset/PE3.gif) For GitHub-Repo Click Here: [Offensive-Panda/ProcessInjectionTechniques](https://github.com/Offensive-Panda/ProcessInjectionTechniques/tree/main/Classic_Code_Injection_API_Obfuscate/Classic_Code_Injection_API_Obfuscate) diff --git a/Classic_Code_Injection_Remote/Asset/PE2.gif b/Classic_Code_Injection_Remote/Asset/PE2.gif new file mode 100644 index 0000000..f92b213 Binary files /dev/null and b/Classic_Code_Injection_Remote/Asset/PE2.gif differ diff --git a/Classic_Code_Injection_Remote/readme.md b/Classic_Code_Injection_Remote/readme.md index c630dd5..e7cdf59 100644 --- a/Classic_Code_Injection_Remote/readme.md +++ b/Classic_Code_Injection_Remote/readme.md @@ -415,7 +415,7 @@ int main(int argc, char* argv[]) { ## Demonstration -![](Assets/ccir.gif) +![](Asset/PE2.gif) For GitHub-Repo Click Here: [Offensive-Panda/ProcessInjectionTechniques](https://github.com/Offensive-Panda/ProcessInjectionTechniques/tree/main/Classic_Code_Injection_Remote/Classic_Code_Injection_Remote) diff --git a/Classic_Code_Injection_Remote_VP/Asset/PE4.gif b/Classic_Code_Injection_Remote_VP/Asset/PE4.gif new file mode 100644 index 0000000..6708280 Binary files /dev/null and b/Classic_Code_Injection_Remote_VP/Asset/PE4.gif differ diff --git a/Classic_Code_Injection_Remote_VP/readme.md b/Classic_Code_Injection_Remote_VP/readme.md index e763bf1..73cde3f 100644 --- a/Classic_Code_Injection_Remote_VP/readme.md +++ b/Classic_Code_Injection_Remote_VP/readme.md @@ -424,7 +424,7 @@ int main(int argc, char* argv[]) { ## Demonstration -![](Assets/ccir.gif) +![](Asset/PE4.gif) For GitHub-Repo Click Here: [Offensive-Panda/ProcessInjectionTechniques](https://github.com/Offensive-Panda/ProcessInjectionTechniques/tree/main/Classic_Code_Injection_Remote_VP/Classic_Code_Injection_Remote_VP) diff --git a/Classic_DLL_Injection/Asset/PE5.gif b/Classic_DLL_Injection/Asset/PE5.gif new file mode 100644 index 0000000..5f67fe8 Binary files /dev/null and b/Classic_DLL_Injection/Asset/PE5.gif differ diff --git a/Classic_DLL_Injection/readme.md b/Classic_DLL_Injection/readme.md index fbb7539..93e2608 100644 --- a/Classic_DLL_Injection/readme.md +++ b/Classic_DLL_Injection/readme.md @@ -559,7 +559,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) { ## Demonstration -![](Assets/cdll.gif) +![](Asset/PE5.gif) For GitHub-Repo Click Here: [Offensive-Panda/ProcessInjectionTechniques](https://github.com/Offensive-Panda/ProcessInjectionTechniques/tree/main/Classic_DLL_Injection/Classic_DLL_Injection) diff --git a/Reflective_DLL_Injection/Asset/PE6.gif b/Reflective_DLL_Injection/Asset/PE6.gif new file mode 100644 index 0000000..a914fdb Binary files /dev/null and b/Reflective_DLL_Injection/Asset/PE6.gif differ diff --git a/Reflective_DLL_Injection/readme.md b/Reflective_DLL_Injection/readme.md index 43c3a5a..c9b2b61 100644 --- a/Reflective_DLL_Injection/readme.md +++ b/Reflective_DLL_Injection/readme.md @@ -604,7 +604,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) { ## Demonstration -![](Assets/rdll.gif) +![](Asset/PE6.gif) For GitHub-Repo Click Here: [Offensive-Panda/ProcessInjectionTechniques](https://github.com/Offensive-Panda/ProcessInjectionTechniques/tree/main/Reflective_DLL_Injection/Reflective_DLL_Injection) diff --git a/index.html b/index.html index 83dbc7c..8ec6da4 100644 --- a/index.html +++ b/index.html @@ -83,7 +83,7 @@ layout: default } .card p { font-size: 1em; - color: #555; + color: #f4efef; margin-left: 120px; } body { @@ -184,35 +184,35 @@ layout: default

In this lab, we cover classic code injection in local process technique. This technique uses Windows API calls to allocate memory in local Process, write the shellcode to the allocated memory, and then execute it.

- +

PE 2 - Classic Code Injection Remote Process

Technique Image Windows Icon

In this lab, we cover classic code injection in remote process. This is one of the most straightforward forms of process injection technique also known as Remote Thread Injection. This method involves creating a new thread in a remote process and executing the payload or shellcode within that context. This is often done using Windows API functions such as OpenProcess, VirtualAllocEx, WriteProcessMemory, and CreateRemoteThread.

- +

PE 3 - Classic Code Injection with API Obfuscation

Technique Image Windows Icon

In this lab, we cover the remote thread injection technique with APIs obfuscation. To evade static detection mechanisms used by AV/EDR solutions, we will implement API call obfuscation throughout the process. By the end of this lab, we'll demonstrate the difference in the import table of a sample program both before and after API obfuscation, highlighting how these changes can help to bypass static analysis.

- +

PE 4 - Classic Code Injection VirtualProtect

Technique Image Windows Icon

In this lab, we cover classic code injection in remote process using VirtualProtect. This is the same technique, we discussed in last lab but one extra step is involved in this lab which is to change the permission of allocated memory with Windows API VirtualProtect. Allocating RWX region at a same time is great indicator for AV/EDR solutions, so to avoid RWX region detection, we first create RW and before executing shellcode we change it to RX.

- +

PE 5 - Classic DLL Injection

Technique Image Windows Icon

In this lab, we cover a DLL injection technique that targets a process (in this case, explorer.exe) to load a malicious DLL (panda.dll) from the Downloads folder. DLL injection is a method used to run arbitrary code within the address space of another process by forcing it to load a dynamic-link library (DLL).

- +

PE 6 - Reflective DLL Injection

Technique Image Windows Icon