lunes, 29 de mayo de 2023

EXOCET - AV-evading, Undetectable, Payload Delivery Tool


EXOCET is superior to Metasploit's "Evasive Payloads" modules as EXOCET uses AES-256 in GCM Mode (Galois/Counter Mode). Metasploit's Evasion Payloads uses a easy to detect RC4 encryption. While RC4 can decrypt faster, AES-256 is much more difficult to ascertain the intent of the malware.



However, it is possible to use Metasploit to build a Evasive Payload, and then chain that with EXOCET. So EXOCET will decrypt via AES-256, and then the Metasploit Evasive Payload then decrypts itself from RC4.

Much like my previous project, DarkLordObama, this toolkit is designed to be a delivery/launch vehicle, much like Veil-Evasion does.

Dark Lord Obama Project

However, EXOCET is not limited to a single codebase or platforms that are running Python. EXOCET works on ALL supported platforms and architectures that Go supports.


Exocet Overview

EXOCET, is effectively a crypter-type malware dropper that can recycle easily detectable payloads like WannaCry, encrypt them using AES-GCM (Galois/Counter Mode), which is more secure than AES-CBC, and then create a dropper file for a majority of architectures and platforms out there.

Basically...

  1. It ingests dangerous malware that are now detectable by antivirus engines
  2. It then encrypts them and produces it's own Go file
  3. Then that Go file can be cross-compiled to 99% of known architectures
  4. Upon execution, the encrypted payload is written to the disk and immediately executed on the command line
  5. Alternatively, instead of a file-drop, it will execute the reconstitute shellcode in memory using amenzhinsky's go-memexec module github.com/amenzhinsky/go-memexec
  6. A custom shellcode executor is in the works, it takes ordinary C shellcode and after num-transform, it will run it by creating a new process after allocating the correct virtual address space and granting it RWX permissions on Windows

That means 32-bit, and 64-bit architectures, and it works on Linux, Windows, Macs, Unix, Android, iPhone, etc. You take, anything, and I mean ANYTHING, like the 1988 Morris Worm that nearly brought down the internet (which exploited a flaw in the fingerd listener daemon on UNIX), and make it a viable cyberweapon again.

EXOCET is designed to be used with the DSX Program, or the "Cyber Metal Gear" as I envisioned it. Being able to launch and proliferate dangerous malware without a traceable launch trail.

EXOCET is written entirely in Go.


How to use

EXOCET, regardless of which binary you use to run it, requires Golang to work. By default, it generates a crypter .go file.

  1. Windows users: Install Go Here
  2. Linux users: run sudo apt-get update && sudo apt-get install -y golang
  3. You must install the EXOCET source files in golang go get github.com/tanc7/EXOCET-AV-Evasion
  4. Sub-requirements will also be downloaded and installed
  5. For Windows and Mac x64 Users, pre-compiled binaries are in the /bin folder

To run it

go run EXOCET.go detectablemalware.exe outputmalware.go

A key is automatically generated for you. The key is 64-characters long and is entirely composed of bash and cmd.exe shell pipe redirectors to confuse and disrupt brute-forcing attempts against the key by causing unpredictable, destructive behavior on the forensic analyst's device.

For 64-bit Windows Targets...

env GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.exe outputmalware.go

And out comes a outputmalware.exe file

For 64-bit MacOS Targets

env GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.macho outputmalware.go

For 64-bit Linux Targets

env GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o outputMalware.elf outputmalware.go

See this reference on github for your parameters for other operating systems like Android Reference for Go Cross Compilation

Note that the key can still be found with the strings command, please use the upx-ucl command to pack binary to conceal the key.

Furthermore, there are prebuilt binaries that I have made, meaning you just have to run ./EXOCET or EXOCET-Windows.exe


Legal Information

I, Chang Tan, and the creators of the main module and submodules of Exocet and the packages it incorporates are NOT responsible for the misuse of this tool. This is merely a penetration testing tool. You are strictly prohibited from deploying Exocet output binaries against unauthorized protected systems or unauthorized protected government systems.

I am aware that threat actors of APT41 and the NSO Group have used and/or adopted code from this tool, particularly the go-memexec method. If I were to be approached by Federal Investigators regarding the misuse of this tool, I am not claiming responsibility.

This is the same stuff that happened to the developers of Mimikatz and PowerShell Empire (who deprecated their own development upon realization of its use among threat actors). The successors have picked up development of Empire, and there are free alternatives such as Covenant C2.


EXOCET live demo
<iframe width="560" height="315" src="https://github.com/tanc7/EXOCET-AV-Evasion/blob/master/media/exocetdemo.mp4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Reason for the name

On May 4th, 1982, during the Falklands War, a squadron of Argentinan Super Eterdards launched a French made Exocet missile at the HMS Sheffield. Despite the Royal Navy's attempts to stop the missile, one struck, sinking the Sheffield. That incident literally put Argentina on the map as a show of force against a global colonial power.

News Article of the sinking of the HMS Sheffield

Very much like how Onel de Guzman's actions with the ILOVEYOU virus put the Philippines on the map as a cyber threat.

ILOVEYOU Virus on Wikipedia


Incoming update, notes and ambitions


 

So this month, and the next month is going to be a busy month for me, and there will be delays in implementing these methods. But I am excited to get started on implementing new AV evasion techniques such as...

  1. Inline hooking
  2. Obfuscation by emulating BlackRota and the gobfuscate module
  3. Process hollowing
  4. Reflective DLL injection
  5. Remote process injection
  6. ThreadLocalStorage Callbacks
  7. Registration of Top-Level Exception Handlers
  8. Custom UPX packing

I am a very busy man, I have the following priorities and I would like to request some help, some pull requests to aid in the project. Since I have the following things to do

  1. A court appearance in late October
  2. National Cyber League
  3. Accounting and Finance Classes, Computer Science was NEVER my college major and in the following weeks I will have exams back-to-back
  4. Federal Supervised Release Conditions and the FBI trying to implicate me in new unproven crimes. I have dash camera videos I uploaded to the cloud to prove it that I am sending to my lawyers. I have documented multiple attacks against me, vandalism of my car, my house, filed police reports and counter reports and will be building my case to file a Federal lawsuit. One of the perpetrators, who ripped out my front bumper of my car, has been arrested.
  5. A private project involving interaction with the CoinGeckoAPI
  6. Running the cryptoscopeinitiative.org, a to-be-filed 501c3 Non-Profit Organization
  7. Teaching three online classes on Exploit Development

Upcoming update! Direct encrypted shellcode execution! (Implemented in test versions, not released yet)

I need a bit of help, because I successfully implemented CGO to execute encrypted shellcode but it is throwing memory access violations exit status 0xc0000005. It shouldn't be anything related to DEP (Data Execution Prevention) because the file CGOTest/working-template-shellcode-executor.go did run.

Problem Discovered

As it turns out, VirtualAlloc must be called from kernel32.dll and ntdll.dll to properly make the memory page where the shellcode lands, readable, writable, and executable, in other word, set the PAGE_EXECUTE_READWRITE to ON. Read the Note on Memory Access Violation Problem below.


Once I figure this out, CGO was a pain in the ass to implement, we can now create crypters that execute INLINE-ASSEMBLY. Which was considered a impossibility until now.

Note this requires Golang and the MinGW toolchain to be installed on Windows with you running and generating the shellcode on Windows. The reason why, is because CGO cannot be cross-compiled like our other EXOCET modules. To install the toolchain you need to go to https://www.msys2.org/ and follow the guide. Then you must add gcc to your environment variables in Windows

Step 1: Generate shellcode, this could be from msfvenom Meterpreter payloads, Cobalt Strike Beacons, or your own custom shellcode in C compatible format


Step 2: Copy only the bytes of the shellcode, excluding the quotes into a text file like sc.txt


Step 3: Your shellcode file should look like this. Raw shellcode


Step 4: Now run the command go run exocet-shellcode-exec.go sc.txt shellcodetest.go KEY

Step 5: You can attempt to run it but you'll run into memory access violation errors for some reason, which I am still working on


Note on Memory Access Violation Problem

Apparently, aside from the major limitations of CGO that prohibit or dramatically frustrates cross-compilation, the issue is that the shellcode we want to execute is landing in a section of memory (analyzed in WinDBG x64) that is not RWX. In other words, unless we write C code that explicitly allows execution in memory of the shellcode, it will always throw access violation errors.

The other method, that I observed other developers of rudimentary Go modules https://gist.github.com/mgeeky/bb0fd5652b234fbd1c7630d7e5c8542d, is that they use Go's Windows API to interact with ntdll.dll and kernel32.dll to call VirtualAlloc and specify areas of RWX memory pages. This method works better, but it seems that the shellcode must be in num-transformed format only for it to work.

I am still working on this you guys. I may combine multiple programming languages together to write a proper shellcode execution module


Note on Apple M1 Chips for precompiled binaries

Unfortunately I am running into errors for making a pre-compiled binary for MacBooks running the new M1 CPUs. It may be a issue with my Golang installation

â"Ή"€Ã¢"€(rootðŸ'€kali)-[/opt/EXOCET-AV-Evasion]
â""â"€# GOOS=darwin GOARCH=arm64 go build exocet.go
# command-line-arguments
/usr/lib/go-1.15/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/tmp/go-link-477718799/go.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status

Either way, you still require Golang to compile or cross-compile the malware to the platform you are targeting.



Related word
  1. Usb Pentest Tools
  2. Hacker Tools For Pc
  3. Pentest Tools Nmap
  4. Pentest Tools For Mac
  5. Pentest Tools Online
  6. Best Pentesting Tools 2018
  7. What Is Hacking Tools
  8. Hacking Tools Usb
  9. Hacking Tools Windows 10
  10. Hacker Tools Free
  11. Pentest Tools Kali Linux
  12. Hak5 Tools
  13. Hack Tools Mac
  14. Hacker Tools Software
  15. Hacker Tools 2019
  16. Hack Tools 2019
  17. Bluetooth Hacking Tools Kali
  18. Hacking Tools For Windows Free Download
  19. Pentest Tools For Mac
  20. What Are Hacking Tools
  21. Hack App
  22. How To Make Hacking Tools
  23. Best Hacking Tools 2019
  24. Hacking Tools Windows
  25. What Is Hacking Tools
  26. Hacks And Tools
  27. Hacker Tools Apk Download
  28. Pentest Tools For Android
  29. Underground Hacker Sites
  30. Nsa Hacker Tools
  31. Hacker Tools Github
  32. Hackers Toolbox
  33. Pentest Reporting Tools
  34. Free Pentest Tools For Windows
  35. Hacking Tools Windows
  36. Hack App
  37. Hacks And Tools
  38. Hacker Tools Free Download
  39. Hacking Tools Pc
  40. Hacker Tools Hardware
  41. Hacking Tools Usb
  42. Hacking Tools Software
  43. Pentest Tools Download
  44. Hack And Tools
  45. Hacker Tools Hardware
  46. Hacking Tools For Windows 7
  47. Kik Hack Tools
  48. Pentest Tools Framework
  49. Hacker Techniques Tools And Incident Handling
  50. Pentest Tools Online
  51. Pentest Tools
  52. Pentest Tools Online
  53. Hacker Tools Apk
  54. How To Hack
  55. New Hack Tools
  56. Pentest Recon Tools
  57. Hacking Tools Pc
  58. Hacking Tools For Mac
  59. Hacker Hardware Tools
  60. Hacker Tools Software
  61. Pentest Tools Linux
  62. Pentest Tools Url Fuzzer
  63. Hack And Tools
  64. Computer Hacker
  65. Hacker Search Tools
  66. Tools 4 Hack
  67. Hacker Tools For Ios
  68. Pentest Tools For Windows
  69. Hacker Hardware Tools
  70. Pentest Recon Tools
  71. Bluetooth Hacking Tools Kali
  72. Hack Tools
  73. Kik Hack Tools
  74. New Hacker Tools
  75. Termux Hacking Tools 2019
  76. Physical Pentest Tools
  77. Hacker Tool Kit
  78. Hacker Tools For Ios
  79. Pentest Tools Bluekeep
  80. Pentest Reporting Tools
  81. Pentest Tools Review
  82. What Are Hacking Tools
  83. Kik Hack Tools
  84. Hacking Tools Hardware
  85. Hack Tools For Games
  86. Pentest Tools
  87. Pentest Tools For Ubuntu
  88. Pentest Tools Review
  89. Nsa Hacker Tools
  90. Pentest Tools Bluekeep
  91. Beginner Hacker Tools
  92. Hacking Tools 2019
  93. Hak5 Tools
  94. Pentest Tools Tcp Port Scanner
  95. Pentest Tools Framework
  96. Pentest Tools Review
  97. Nsa Hacker Tools
  98. Hacker Tools Windows
  99. Pentest Tools Review
  100. Pentest Tools Website
  101. Hacker Tools Online
  102. Pentest Tools Bluekeep
  103. Nsa Hack Tools Download
  104. Pentest Box Tools Download
  105. Hacking Tools For Windows Free Download
  106. Hacker Tools Github
  107. Pentest Tools For Mac
  108. Hacking Tools Pc
  109. Pentest Tools Android
  110. Hack Tools Online
  111. Hacking Tools Online
  112. What Are Hacking Tools
  113. Hacking Tools For Windows 7
  114. Nsa Hacker Tools
  115. Hacker Tools Free Download
  116. Hacking Tools For Beginners
  117. Hacker Tools Free
  118. Hacker Search Tools
  119. Pentest Tools For Windows
  120. Hacker Tools For Windows
  121. Kik Hack Tools
  122. Hack App
  123. Pentest Tools For Mac
  124. Hacker Tools For Windows
  125. Hacking Tools Free Download
  126. Hacking Tools For Mac
  127. Hack Tools Online
  128. Pentest Tools
  129. Hacking Tools 2019
  130. Hack Tools For Windows
  131. Hacker Tools Apk Download
  132. Pentest Tools Kali Linux
  133. Hacker Search Tools
  134. Hacking Tools Windows 10
  135. Hack Tools For Mac
  136. Hack Tools Download
  137. Hacks And Tools
  138. Hacking Tools Software
  139. Hack Tools
  140. Pentest Automation Tools
  141. Pentest Tools Review
  142. Pentest Tools Url Fuzzer
  143. Hacking Apps
  144. Hacker Security Tools
  145. Pentest Box Tools Download
  146. New Hack Tools
  147. Hacker Tools Windows
  148. Hacking Tools For Windows
  149. Pentest Tools Nmap
  150. Nsa Hack Tools Download
  151. Pentest Tools Port Scanner
  152. Bluetooth Hacking Tools Kali
  153. Hacker Security Tools
  154. Pentest Tools Port Scanner
  155. Hacker Security Tools
  156. Pentest Tools List
  157. Nsa Hack Tools Download
  158. Install Pentest Tools Ubuntu
  159. Top Pentest Tools
  160. Hacking Tools Windows
  161. Hack Tools For Ubuntu
  162. Tools Used For Hacking
  163. Hack Tools Online
  164. Pentest Tools Open Source
  165. Hacker Tools
  166. What Is Hacking Tools
  167. What Are Hacking Tools
  168. Hack Tool Apk
  169. Pentest Tools Linux
  170. Hacker Tools Linux
  171. Hacking Tools For Pc
  172. Hacking Tools Hardware
  173. Hacking Tools For Windows 7
  174. Tools For Hacker
  175. Usb Pentest Tools
  176. Free Pentest Tools For Windows

No hay comentarios:

Publicar un comentario

Seguidores

Archivo del blog