VPNFilter Stage 1

admin 2024年1月4日23:30:31VPNFilter Stage 1已关闭评论15 views字数 736阅读2分27秒阅读模式

周五晚看了下Stage 1,感觉此木马从跨平台、启动项到多阶段的下载,可以说处处都是亮点,值得分析一波~

# 符号表

拿到的样本为x86架构、静态编译,且去除了符号表,在lscan/bindiff无解后只能选择硬怼。根据syscall调用、上下文推断出了大部分符号:

图片

# 启动项

木马跑起来后会先进行一次fork,设置daemon:

图片

而后进行第二次fork,父进程中通过写crontab作启动项,这在之前的IoT木马中是没有见过的:

图片

图片

# 解密敏感字符串

子进程中解密所需字符串及Stage 2下载地址:

图片

图片

对加解密实在是不了解,直接写脚本模拟执行跑了下:

图片

结果如下:

图片

# 下载 Stage 2

解密之后首先判断互斥体,避免多次运行:

图片

写入SSL密钥后,尝试多种方式下载Stage 2:

图片

1) request_stage2_urls

请求photobucket.com,下载图片:

图片

其中photobucket.com的地址来自于0x08048b70处的解密。

图片

图片

这一处Exif隐写IP可以说是此木马中比较亮眼的点之一,很优秀。

2) request_backup_stage2_url

与request_stage2_urls的唯一区别是此处的图片地址直接来源自程序解密,即http://toknowall.com/manage/content/update.php。

3) listen_for_trigger_packet

这是此木马中另一个较亮眼的点。

如果两次图片下载都失败,木马将监听本地socket:

图片

监听到报文后进行多次判断(目的IP、报文长度、Magic Char),提取Stage 2 Server IP:

图片

并且下载后还对Stage 2长度进行判断,大于1000才返回。

之后的流程就简单了,写入Stage 2、添加执行权限,fork运行:

图片

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月4日23:30:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   VPNFilter Stage 1https://cn-sec.com/archives/2365638.html