个人学习日记

Falcon的分析

Word count: 2.7kReading time: 11 min
2020/11/17 Share

0x00 概述

Falcon keylogger从2019年4月5日开始出现在黑客论坛,是一款窃密软件,网络上也有其破解版,但依旧在黑客论坛上十分火热。

image-20201112160228390

其主要具有以下功能:

1
2
3
4
5
6
7
1. 使用smtp/ftp传输数据
2. UAC
3. 反虚拟机
4. 禁用防火墙、杀软
5. 窃取浏览器邮箱等账户信息
6. 超过时间就自毁
…………还有很多功能

面板界面如下:

falcon

0x01 样本分析

本次并无真正的实例,因此以破解版的生成器生成的来分析该样本具有的功能与实现方式。

  • 进程保护

    为了样本能够在计算机中持续运行,不被结束,本样本采取双进程保护的方式进行进程保护。以下操作皆在一个无线循环的线程中进行,形成一个持续监控的线程。

    通过进程名来获取进程数组,在本样本中是使用自身来保护自己的,所以相同进程名的进程具有两个。

    image-20201116142545253

    根据进程数组的长度进行判断,如果数组长度为1,则使用创建WMI类的方式创建新的木马进程。

    重新启动

    如果数组长度大于2的话,则会因为进程过多而结束掉本进程。

    image-20201116143800033

    如果数组长度大于1,在这里也就是数组长度等于2,有两个同名的木马进程在运行中的话,则会在控制台上打印出互相监控的信息 。

    监控

    数组长度判断结束后,将进入线程睡眠,睡眠0.1秒。

    线程睡眠

    当我们结束掉其中一个木马进程的时候,另一个木马的监控线程接收到的进程数组长度为1,则会立刻重新启动该木马。因此要想结束掉该进程有以下两种方式。

    1. 结束掉进程A后,在0.1秒内结束掉进程B。
    2. 先挂起进程A,然后结束进程B,最后再结束进程A。
  • 进行自毁

    木马还具有定时自我销毁清理痕迹功能,通过获取当前计算机时间来判断是否已经超过某一时间,如果超过了,则会卸载木马,并结束本进程。

    自毁

  • 反虚拟机

    该木马还具有反虚拟机的功能,通过查询Win32_ComputerSystem,获取系统制造商和系统产品名称来判断是否处于虚拟机环境中。包括检测系统产品名称是为包含”VIRTUAL“字符串、是否等于”VirtualBox“和”KVM“,以及判断系统制造商是否为微软或者vmware。如果该木马处于虚拟机环境中,则会和上述的卸载操作一致,卸载掉木马。

    image-20201116151530410

  • 木马安装

    木马将会复制自身到Music目录下,并且设置样本属性为隐藏,使得不被轻易察觉。

    image-20201116153715178

    由于音乐目录并不会像其他目录那样会显示文件类型和大小以及修改日期,因此如果黑客使用音乐图标,一般用户是十分难以察觉到该木马的,这将是一个很好的隐藏方式。

    image-20201116154118107

    image-20201116154350491

  • 绕过UAC

    该木马利用了白名单程序劫持的方式来进行UAC提权。

    image-20201116172508676

    木马选择了程序eventvwr.exe(事件查看器),事件查看器本来就是一个白名单程序,其具有高权限。由于事件查看器在启动的时候会对注册表HKCU\Software\Classes\mscfile\shell\open\command这一项进行查询,因此木马便设置该项,并成功使用高权限的事件查看器通过cmd来启动木马,实现提权操作。

    img

  • 进行持续化

    在提权结束后,木马会判断当前进程权限是否为管理员权限,如果是管理员权限,则会通过计划任务的方式来实现木马持续化。

    image-20201116181451370

    如果是普通用户权限,则会通过注册表启动项来实现木马持续化。

    image-20201116181527488

  • 键盘监听

    该木马使用钩子的方式来进行键盘监听,

    image-20201117140713116

    并以<颜色>[窗口标题@时间]键盘记录的字符的格式进行输出。

    image-20201117141006532

  • 搜集信息发送到黑客手上

    在设置完键盘监听后,木马还会设置一个定时器用于发送信息给黑客。时间间隔为900000毫秒,也就是15min。

    image-20201117142755995

    首先判断一下键盘监听记录是否为空,如果不为空,才继续后面的操作。

    image-20201117142927708

    如果键盘监听记录不为空,则会窃取信息,一并发送给黑客。经过分析,木马会窃取以下信息:

    1. 窃取计算机名称、IP地址、内存容量、CPU型号、操作系统版本。

      image-20201117161900566

    2. 窃取恢复密钥?(没看懂)

      窃取信息

    3. 窃取浏览器账号密码信息,包括Chrome、Firefox、Opera、Yandex、IE、FileZilla。

      • 窃取Chrome用户账号信息

        image-20201117163105439

      • 窃取Firefox用户账号信息

        image-20201117163150223

      • 窃取Opera用户账号信息

        image-20201117163218480

      • 窃取Yandex用户账号信息

        image-20201117163247218

      • 窃取IE用户账号信息

      • 窃取FileZilla用户账号信息

        image-20201117163339395

    经过分析,我发现Falcon木马提供两种方式与黑客进行通讯:E-MAIL和FTP。

    • FTP的方式

      通过访问http[:]//icanhazip.com来获取计算机真实的IP,并且使用计算机名称和HWID拼成字符串作为FTP请求的网址。在FTP这种方式中,Falcon木马只发送了键盘记录的信息。

      image-20201117164906259

    • E-MAIL的方式

      如果通信方式为E-MAIL(SMTP)的话,则会将刚才窃取到的信息和键盘记录拼接在一起。

      image-20201117165330832

      除此之外,木马还会截取当前屏幕作为附件一并发送至邮件中。

      image-20201117165404527

  • 禁用模块

    该木马为了防止被结束或者被查杀,提供了十分多的禁用选项。包括禁用以下内容:禁用CMD、禁用注册表、禁用任务管理器、禁用防火墙、禁用系统还原、禁用杀软、禁止上网站、禁止进程运行。

    image-20201117143558311

    1. 禁用杀软

      首先使用镜像劫持攻击的方式,在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\\Windows NT\CurrentVersion\Image File Execution Options中以杀软为项名创建项,并以Debugger作为数值名称,svchost.exe作为数值数据,使得当我们启动杀软的时候,由于Debugger参数不为空,所以会先执行Debugger里的值,也就是打开了svchost.exe程序。

      image-20201117144301838

      然后,遍历当前所有进程,碰到与杀软同名的进程将使用kill()函数直接结束掉。

      禁用的杀软有如下:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      98
      99
      100
      101
      102
      103
      104
      105
      106
      107
      108
      109
      110
      111
      112
      113
      114
      115
      116
      117
      118
      119
      120
      121
      122
      123
      124
      125
      126
      127
      128
      129
      130
      131
      132
      133
      134
      135
      136
      137
      138
      139
      140
      141
      142
      143
      144
      145
      146
      147
      148
      149
      150
      151
      152
      153
      154
      155
      156
      157
      158
      159
      160
      161
      162
      163
      164
      165
      166
      167
      168
      169
      170
      171
      172
      173
      174
      175
      176
      177
      178
      179
      180
      181
      182
      183
      184
      185
      186
      "avastui.exe",
      "_Avp32.exe",
      "vsmon.exe",
      "keyscrambler.exe",
      "_Avpcc.exe",
      "_Avpm.exe",
      "Ackwin32.exe",
      "Outpost.exe",
      "Anti-Trojan.exe",
      "ANTIVIR.exe",
      "Apvxdwin.exe",
      "ATRACK.exe",
      "Autodown.exe",
      "Avconsol.exe",
      "Ave32.exe",
      "Avgctrl.exe",
      "Avkserv.exe",
      "Avnt.exe",
      "Avp.exe",
      "Avp32.exe",
      "Avpcc.exe",
      "Avpdos32.exe",
      "Avpm.exe",
      "Avptc32.exe",
      "Avpupd.exe",
      "Avsched32.exe",
      "AVSYNMGR.exe",
      "Avwin95.exe",
      "Avwupd32.exe",
      "Blackd.exe",
      "Blackice.exe",
      "Cfiadmin.exe",
      "Cfiaudit.exe",
      "Cfinet.exe",
      "Cfinet32.exe",
      "Claw95.exe",
      "Claw95cf.exe",
      "Cleaner.exe",
      "Cleaner3.exe",
      "Defwatch.exe",
      "Dvp95.exe",
      "Dvp95_0.exe",
      "Ecengine.exe",
      "Esafe.exe",
      "Espwatch.exe",
      "F-Agnt95.exe",
      "Findviru.exe",
      "Fprot.exe",
      "F-Prot.exe",
      "F-Prot95.exe",
      "Fp-Win.exe",
      "Frw.exe",
      "F-Stopw.exe",
      "Iamapp.exe",
      "Iamserv.exe",
      "Ibmasn.exe",
      "Ibmavsp.exe",
      "Icload95.exe",
      "Icloadnt.exe",
      "Icmon.exe",
      "Icsupp95.exe",
      "Icsuppnt.exe",
      "Iface.exe",
      "Iomon98.exe",
      "Jedi.exe",
      "Lockdown2000.exe",
      "Lookout.exe",
      "Luall.exe",
      "MCAFEE.exe",
      "Moolive.exe",
      "Mpftray.exe",
      "N32scanw.exe",
      "NAVAPSVC.exe",
      "NAVAPW32.exe",
      "NAVLU32.exe",
      "Navnt.exe",
      "NAVRUNR.exe",
      "Navw32.exe",
      "Navwnt.exe",
      "NeoWatch.exe",
      "NISSERV.exe",
      "Nisum.exe",
      "Nmain.exe",
      "Normist.exe",
      "NORTON.exe",
      "Nupgrade.exe",
      "Nvc95.exe",
      "Outpost.exe",
      "Padmin.exe",
      "Pavcl.exe",
      "Pavsched.exe",
      "Pavw.exe",
      "PCCIOMON.exe",
      "PCCMAIN.exe",
      "Pccwin98.exe",
      "Pcfwallicon.exe",
      "Persfw.exe",
      "POP3TRAP.exe",
      "PVIEW95.exe",
      "Rav7.exe",
      "Rav7win.exe",
      "Rescue.exe",
      "Safeweb.exe",
      "Scan32.exe",
      "Scan95.exe",
      "Scanpm.exe",
      "Scrscan.exe",
      "Serv95.exe",
      "Smc.exe",
      "SMCSERVICE.exe",
      "Snort.exe",
      "Sphinx.exe",
      "Sweep95.exe",
      "SYMPROXYSVC.exe",
      "Tbscan.exe",
      "Tca.exe",
      "Tds2-98.exe",
      "Tds2-Nt.exe",
      "TermiNET.exe",
      "Vet95.exe",
      "Vettray.exe",
      "Vscan40.exe",
      "Vsecomr.exe",
      "Vshwin32.exe",
      "Vsstat.exe",
      "Webscanx.exe",
      "WEBTRAP.exe",
      "Wfindv32.exe",
      "Zonealarm.exe",
      "LOCKDOWN2000.exe",
      "RESCUE32.exe",
      "LUCOMSERVER.exe",
      "avgcc.exe",
      "avgcc.exe",
      "avgamsvr.exe",
      "avgupsvc.exe",
      "avgw.exe",
      "avgcc32.exe",
      "avgserv.exe",
      "avgserv9.exe",
      "avgserv9schedapp.exe",
      "avgemc.exe",
      "ashwebsv.exe",
      "ashdisp.exe",
      "ashmaisv.exe",
      "ashserv.exe",
      "aswUpdSv.exe",
      "symwsc.exe",
      "norton.exe",
      "Norton Auto-Protect.exe",
      "norton_av.exe",
      "nortonav.exe",
      "ccsetmgr.exe",
      "ccevtmgr.exe",
      "avadmin.exe",
      "avcenter.exe",
      "avgnt.exe",
      "avguard.exe",
      "avnotify.exe",
      "avscan.exe",
      "guardgui.exe",
      "nod32krn.exe",
      "nod32kui.exe",
      "clamscan.exe",
      "clamTray.exe",
      "clamWin.exe",
      "freshclam.exe",
      "oladdin.exe",
      "sigtool.exe",
      "w9xpopen.exe",
      "Wclose.exe",
      "cmgrdian.exe",
      "alogserv.exe",
      "mcshield.exe",
      "vshwin32.exe",
      "avconsol.exe",
      "vsstat.exe",
      "avsynmgr.exe",
      "avcmd.exe",
      "avconfig.exe",
      "licmgr.exe",
      "sched.exe",
      "preupd.exe",
      "MsMpEng.exe",
      "MSASCui.exe",
      "Avira.Systray.exe"
    2. 禁用任务管理器

      通过设置注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System项里的DisableTaskMgr值为1来禁止任务管理器。

      image-20201117145516124

    3. 禁用注册表

      通过设置注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System项里的DisableRegistryTools值为1来禁用注册表

      image-20201117154628336

    4. 禁用CMD

      通过设置注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System项里的CMD值为1来禁用CMD。(但经过测试,win10下的cmd依旧能用。)

      image-20201117154735912

    5. 禁用系统还原

      image-20201117155532174

    6. 禁用防火墙

      通过命令netsh.exe advfirewall set allprofiles state off来禁用防火墙。

      image-20201117160258094

    7. 禁止上某个网站

      该木马还提供了禁上某个网站的功能。

      image-20201117160208335

      通过修改hosts文件来进行禁止。(这里使用baidu.com作为例子。)

      image-20201117160125128

    8. 禁止进程运行

      该木马还会通过创建一个线程,每隔0.1秒就遍历一遍进程,通过进程名来结束进程。

      禁止进程运行

  • 弹窗

    除了上面的功能以外,该木马还提供了弹窗功能,内容可自定义,使得该木马更具有迷惑性。

    image-20201117170007615

0x02 总结

该木马具备的功能十分多,整体的思路也是十分模块化的,其双进程保护的思路确实不错,值得参考。

CATALOG
  1. 1. 0x00 概述
  2. 2. 0x01 样本分析
  3. 3. 0x02 总结