


We can use these patterns for locating payloads’ entry points and count other fixed offsets from this position. Standard 64bit variants start also with CLD instruction followed by AND RSP,-10h and CALL instruction. Payload header x86 variantĭefault 32bit raw payload’s entry points start with typical instruction CLD (0xFC) followed by CALL instruction and PUSHA (0圆0) as the first instruction from API hash algorithm. Let’s describe interesting parts of each payload separately. This particular checksum8 algorithm is also used in other frameworks like Empire. Raw payloadsĬobalt Strike’s payloads are based on Meterpreter shellcodes and include many similarities like API hashing ( x86 and 圆4 versions) or url query checksum8 algo used in http/https payloads, which makes identification harder.

We also share our useful parsers, scripts and yara rules based on these findings back to the community. The first part of this series is dedicated to proper identification of all raw payload types and how to decode and parse them. Other modules and payloads are very often overlooked, but these parts also contain valuable information for malware researchers and forensic analysts or investigators. There are many great articles about reverse engineering Cobalt Strike software, especially beacon modules as the most important part of the whole chain. It is the main reason why we have seen use of Cobalt Strike in almost every major cyber security incident or big breach for the past several years. It is also very popular in many cybercrime groups which usually abuse cracked or leaked versions of Cobalt Strike.Ĭobalt Strike has multiple unique features, secure communication and it is fully modular and customizable so proper detection and attribution can be problematic. Cobalt Strike threat emulation software is the de facto standard closed-source/paid tool used by infosec teams in many governments, organizations and companies.
