欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Shellcode与加密流量之间的那些事儿

来源:本站整理 作者:佚名 时间:2018-09-02 TAG: 我要投稿

协议和代码库
当我们在思考加密协议时,第一个想到的很可能是安全传输层协议(TLS),因为它是针对Web安全的工业级标准。有的人可能还会想到SSH或IPSec等等,但是考虑到这些协议所采用的底层算法,它们其实都不适用于资源受限环境。而类似SHA-2和分组密码(例如Blowfish)这样加密哈希函数也并不是为类似RFID芯片这样的占用资源较少的电子设备设计的。
在2018年4月份,NIST曾为物联网行业的轻量级加密算法推行过一个标准化进程,整个过程需要好几年的时间才可以完成,但毫无疑问的是,整个行业并不会一直等待,因为这样会导致不安全的产品暴露在互联网中。某些密码学家选择采取主动的方式,通过自己的努力将他们设计的协议采用到这些低资源消耗的设备上,其中有两个典型的算法就是BLINKER和STROBE,而相应的适用于资源受限环境的代码库有LibHydrogen和MonoCypher。
分组密码
分组密码有很多种,但AES 128可能是目前最适合对在线流量进行加密的算法了,下面给出的是我们对不同种类分组密码的测试结果:

虽然这些加密算法都非常优秀,但是他们仍需要类似计数器(CTR)和基于认证的加密模块,其中最适合消息认证码(MAC)的加密算法就是LightMAC了,因为它在实现加密的过程中使用的是相同的分组密码。
流密码
另外两种针对认证加密的热门算法(AES-GCM的替换)就是ChaCha20和Poly1305了,但是ChaCha20采用的是200字节,而Poly1305为330字节。虽然跟HMAC-SHA2相比,Poly1305已经压缩得非常小了,但仍然占用资源过多。
置换函数
如果你花了很多时间去测试各种加密算法的话,你最终会发现在构造流密码、分组密码、加密认证模型、加密哈希函数和随机数生成器时,你需要的仅仅只是一个置换函数。下面这个表格给出的是我们针对三种函数的测试结果:

这里我们选择使用Gimli,因为它占用资源最少,并且可以用来构造针对通信流量的加密算法。
异或密码
接下来,我们实现一个针对数据流的简单异或操作(Just For Fun!)。下面的截图中显示的是一台Windows虚拟机发送给Linux虚拟机的部分命令,其中Linux平台运行的Shellcode是没有采用任何加密的。

捕捉到两台主机间的通信数据之后,我们可以看到如下所示的TCP流数据:

给Shellcode x86汇编代码中添加部分命令后,我们就可以进行8位异或运算了:
;
      ; read(r, buf, BUFSIZ, 0);
      xor   esi, esi          ; esi = 0
      mov   ecx, edi          ; ecx = buf
      cdq                      ; edx = 0
      mov   dl, BUFSIZ        ; edx = BUFSIZ
      push  SYS_read          ; eax = SYS_read
      pop   eax
      int   0x80
     
      ; encrypt/decrypt buffer
      pushad
      xchg  eax, ecx
xor_loop:
      xor   byte[eax+ecx-1], XOR_KEY
      loop  xor_loop
      popad
     
      ; write(w, buf, len);
      xchg  eax, edx          ; edx = len
      mov   al, SYS_write
      pop   ebx               ; s or in[1]
      int   0x80
      jmp   poll_wait
通过在新的会话中执行相同的命令,通信数据将无法直接可读,我这里使用了haxdump来查看发送的命令以及接收到的结果:

当然了,长度为8位的密钥是无法有效阻止攻击者恢复出通信明文的,下图给出的是Cyberchef爆破密钥的过程:

[1] [2] [3] [4] [5]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载