Botnet

“双头龙”源自海莲花组织?

我们的双头龙blog发布后引起了较大反响,除了媒体转载,一些安全同行还纷纷在我们blog下面留言和提问,其中5月4号的一则留言提到双头龙跟海莲花(OceanLotus)样本的C2行为有联系: 留言所提到的样本为一个zip打包文件,2016年就已出现。该zip可以解压出多个文件,那个名为Noi dung chi tiet(对应中文详细信息)的Mach-O格式可执行文件即是海莲花样本。对比分析显示该样本确实与双头龙样本存在多个相似之处,所以它们或许可以解开双头龙的身世之谜:它极可能是海莲花的Linux版本。本文主要从2进制代码层面介绍这些相似点。 相似点1:C2会话建立函数 Linux常见的域名解析函数为gethostbyname(),但双头龙使用了相对小众的getaddrinfo()函数,C2域名的解析和会话建立都在一个函数中完成,而海莲花样本中也存在一个模式类似的相同功能的函数,2者的函数对比如下: 能看出来它们不但功能相同,对sprintf()和getaddrinfo()的使用方式也几乎一模一样。此外,双头龙和海莲花都使用了单独的数据结构来保存C2会话信息,比如
  • Alex.Turing
    Alex.Turing
6 min read