Shellcode, a meticulously crafted sequence of machine code, is a crucial component for executing malicious code by exploiting software vulnerabilities. However, defensive filters often discard non-printable bytes from program inputs, rendering traditional Shellcode exploits ineffective. Existing encoding algorithms, while enabling Shellcode to evade detection by converting it into printable ASCII characters, often introduce excessive redundant information, increasing the length and reducing the effectiveness of the encoded Shellcode. Therefore, this paper aims to address the limitations of current Shellcode encoding algorithms by proposing an innovative adaptive variable-length encoding scheme, the Key1 algorithm, which can efficiently convert the original binary data into a sequence of printable ASCII characters. During the encoding stage, the algorithm adopts a dynamic bit-selection mechanism, minimizing the information redundancy in the encoded Shellcode and reducing its length. Theoretically, the Shellcode encoded by this algorithm achieves the highest information density, with 5.66% less redundant information than the previously optimal algorithm. Through experiments, it is observed that the Key1 algorithm has significant advantages among the Shellcode encoding algorithms using the Decoder scheme.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Shortest Printable Shellcode Encoding Algorithm Based on Dynamic Bitwidth Selection

  • Guoan Liu,
  • Jian Lin,
  • Weiyu Dong,
  • Jiaan Liu,
  • Tieming Liu

摘要

Shellcode, a meticulously crafted sequence of machine code, is a crucial component for executing malicious code by exploiting software vulnerabilities. However, defensive filters often discard non-printable bytes from program inputs, rendering traditional Shellcode exploits ineffective. Existing encoding algorithms, while enabling Shellcode to evade detection by converting it into printable ASCII characters, often introduce excessive redundant information, increasing the length and reducing the effectiveness of the encoded Shellcode. Therefore, this paper aims to address the limitations of current Shellcode encoding algorithms by proposing an innovative adaptive variable-length encoding scheme, the Key1 algorithm, which can efficiently convert the original binary data into a sequence of printable ASCII characters. During the encoding stage, the algorithm adopts a dynamic bit-selection mechanism, minimizing the information redundancy in the encoded Shellcode and reducing its length. Theoretically, the Shellcode encoded by this algorithm achieves the highest information density, with 5.66% less redundant information than the previously optimal algorithm. Through experiments, it is observed that the Key1 algorithm has significant advantages among the Shellcode encoding algorithms using the Decoder scheme.