官术网_书友最值得收藏!

  • Hands-On Red Team Tactics
  • Himanshu Sharma Harpreet Singh
  • 369字
  • 2021-08-13 15:36:42

Payloads

A payload is a piece of code that is delivered to the target system or an application via an exploit to perform an act of our choice. Payloads can actually be divided into three main types: singles, stagers, and stages. These can be defined as follows:

  • Singles: These payloads are standalone and are usually used to perform simple tasks, such as opening notepad.exe, adding a user, and so on.
  • Stagers: This sets up a connection between the two systems, and then stages are downloaded by them to the victim's machine.
  • Stages: These can be considered as a component of a payload, which provides different features and does not need to have a size limit. An example of this is Meterpreter.

As well as these, the other types of payloads are as follows:

  • Inline (non-staged): This is a single exploit containing the full shellcode to perform a specific task.
  • Stager: This works along with stage payloads to perform a specific task. The stager establishes a communication channel between the attacker and the victim and sends a stage payload to execute on the remote host.
  • Meterpreter: This operates through DLL injection, is loaded in the memory, and leaves no traces on HDD.
  • PassiveX: This uses ActiveX control to create a hidden instance of Internet Explorer. Using this, it communicates with the attacker via HTTP requests and responses.
  • NoNX: This is used to bypass DEP protection.
  • Ord: These are extremely small sized payloads that work on all versions of Windows. However, they are unstable and rely on ws2_32.dll to be loaded in the exploitation process.
  • IPv6: This is built to work on IPv6 hosts.
  • Reflective DLL injection: This was created by Stephen Fewer, and is a technique that consists of a stage payload being injected into a compromised host process running in-memory and never touching the host hard drive.

To view a complete list of payloads, we can use the show payloads command:

From the preceding command, we can see that we have different kinds of payloads for all platforms. The most commonly used of these is as follows:

meterpreter/reverse_tcp . 

However, in a red-team activity, this payload is not recommended. We will read more about this in further chapters.

主站蜘蛛池模板: 武冈市| 高安市| 大足县| 吴桥县| 嘉荫县| 三江| 黄大仙区| 绥芬河市| 定西市| 邢台县| 资阳市| 新沂市| 濮阳市| 昂仁县| 公主岭市| 大埔县| 任丘市| 新昌县| 抚州市| 松滋市| 炎陵县| 平利县| 东港市| 辰溪县| 鹿泉市| 筠连县| 乡城县| 南澳县| 江西省| 修武县| 嘉鱼县| 仁化县| 天台县| 平顺县| 固原市| 云安县| 金山区| 溧阳市| 夹江县| 松江区| 嘉善县|