攻击者进入到目标网络后,下一步就是在内网中横向移动,然后再获取数据,所以攻击者需要一些立足点,因此横向移动会包含多种方式。本文关注于在横向移动中所采用的技术手段,以及对应的案例和检测方法。
一、 APPLE脚本攻击AppleScript是苹果的脚本语言, OS执行AppleScript。那么问题就来了,攻击可以用这个功能和SSH连接,也可以向远程发送交互对话框。虽然不能远程启动应用,但如果远程应用已经起来的话,就可以交互控制了。而且由于AppleScript的脚本语言特性,可以用python搞反向shell。
1、案例去年有一个案例,攻击者把恶意代码隐藏在Excel的属性里,打开后能看到Powershell代码。
使用AppleScript:
脚本在Mac用Office相同的权限运行,代码尝试连接恶意服务器。
2、防范措施
所有AppleScript都有开发ID签名,防止随机AppleScript代码执行。监控osascript执行AppleScript。
二、 软件安装根据权限,在目标范围内安装软件,也包括软件的自动更新下载。
1、案例
最著名的就是APT32了,居然入侵了McAfee的ePO服务器进行恶意软件分发,而且用的还是ePO专有协议。真的很用心了。
2、防范措施
对安装应用权限进行回收,包括防火墙,账户权限隔离,组策略和多因素验证,确保关键系统的访问隔离。定期打补丁,防止特权升级。
监控应用安装情况,应用安装固定在某个时间段,这样可以发现非正常时间段的异常安装,监控系统账户活动。
三、 DCOMDCOM是微软的透明中间件,可以让客户端调用服务器,一般是DLL或EXE,其中权限由注册表的ACL指定,默认只有管理员可以远程激活启动COM对象。通过DCOM,攻击者可以使用Office执行宏,甚至可以直接的shellcode。
1、 案例
POWERSTATS是个利用WORD钓鱼的APT工具,整个流程如下。其中PowerShell包含了一个risk的命令,则是利用了DCOM对象执行代码。
2、 防范措施
用Dcomcnfg.exe禁用DCOM或修改安全范围。启用Windows防火墙,默认阻止DCOM实例化,启用所有COM警报和Protected View。
监控COM对象加载DLL。监控COM对象关联的进程的生成,特别是和当前登录用户不同的用户调用。监控RPC流量的进入。
三、远程服务提权利用漏洞实现对远程系统访问,通常先是扫描查找漏洞系统,有一些很常见的漏洞比如SMB、RDP、MySQL以及各种Web,然后利用这些漏洞提升权限。
1、案例
APT28,来自俄罗斯,针对酒店业。在ORD里包含一个宏,然后部署恶意软件,为了在酒店内传播,利用了永恒之蓝SMB漏洞的一个版本。
2、防范措施
安全域细分,减少对关键系统和服务的访问。服务最小化。定期扫描服务,发现新增和有漏洞的服务。最小化服务账户权限和访问权限。服务器定期更新补丁。
Windows 的Defender攻击防护套件,还有个EMET增强性套件,不过今年7月底就不再提供支持了。
四、 登陆脚本Windows可在登录系统时运行登录脚本,脚本可以执行管理功能,比如执行其他应用,发送日志之类。攻击者可以在这个脚本里插入代码,这样登陆时就可以执行攻击。既可以本地持久性,也可以全局推送。
Mac也有类似功能,和启动项不大一样的是,登录以root身份执行。所以也存在脚本插入代码的问题。
1、案例
又是APT28,在注册表HKCU\Environment\UserInitMprLogonScript添加木马建立持久性。
2、 防范措施
#p#分页标题#e#登录脚本写权限限制为特定管理员,限制账户访问权限。应用白名单,例如AppLocker。监控异常用户、异常时间、异常访问登录脚本。查找异常帐户添加或修改的文件。
五、 Hash传递Hash传递,绕过标准身份验证,直接进入Hash验证部分,这个技术能够捕获账户的有效密码哈希值。
1、 案例
这类案例就比较多了,APT1,APT28,APT29,Mimikatz等等都是。例如Mimikatz的SEKURLSA::Pth模块可以模拟用户,只使用密码哈希,来执行任意命令。
2、 防范措施
监控日志,查找异常登录。KB2871997补丁,限制本地管理员组中帐户的默认访问权限。NSA有个向导可以参考:https://github.com/nsacyber/Windows-Secure-Host-Baseline/blob/master/Windows/Group%20Policy%20Templates/en-US/SecGuide.adml。
六、 Ticket传递Ticket传递使用Kerberos进行身份验证,可以用作横向移动的第一步。Credential Dumping捕获Kerberos凭证。
1、案例
BRONZE BUTLER,疑似来自中国开发者,面向日本的APT工具。其中也包含了Mimikatz,能够创建伪造TGT和TGS。
2、防范措施
监控日志,查找异常登录。确保本地管理员账户密码复杂度,限制域控账户权限,把其他功能委派给单独账户。重置KRBTGT帐户密码两次,能够让黄金票证无效,重置两次后使用黄金票证时,域控会生成事件ID 4769,其中的状态代码0x1F表示:由于“解密字段上的完整性检查失败”而导致操作失败,这就是一个典型特征。应用白名单,例如AppLocker。
七、 远程桌面协议RDP协议大家都知道的,攻击者可以利用RDP连接远程系统,同时也可以进行RDP会话劫持。
1、 案例
由于RDP的可交互性,这类案例也比较多,APT1,APT3,APTSim等。
2、防范措施
禁用RDP,从远程桌面用户组删除不必要的账户,启用防火墙禁止RDP流量。如果需要用RDP,则限制远程用户权限,并进行多因素认证。禁止RDP通过互联网访问。
监控短时间内访问多个系统的行为。
八、 远程文件复制文件复制差不多是横向移动的必选动作了,用到的工具可能有FTP,scp,rsync等之类,也有可能是Windows共享或RDP。在Linux,macOS,Windows三种平台都有。
1、案例
就不举例子了吧,太多了,是个APT就带这个功能。工具也包括各类外部恶意代码下载。
2、防范措施
IDS可以通过签名识别恶意软件流量,也可识别FTP数据传输。但攻击者一般会进行混淆,而且各种恶意软件家族版本都不同。
监控文件创建行为,监控SMB传输文件。分析网络数据,例如发送数据多于接收数据这种,就比较可疑。分析不常见的协议和端口。
九、远程连接服务例如telnet,SSH和VNC之类。
1、 案例
GCMAN,根据报道至少感染了30个国家的金融机构,窃取百万美元。工具结合了社工,恶意软件,横向移动工具长期持久性从ATM和汇款系统窃取资金,横向移动则使用了Putty和VNC。
2、防范措施
限制使用远程服务的帐户数量。尽可能使用多因素身份验证。限制具有较高风险的帐户的权限;,例如配置SSH让用户只能运行特定程序。
监测上需要把登录和其他可疑活动关联,例如横向移动之前,攻击者需要尝试发现目标,可能会进行扫描。
十、可移动介质复制把恶意软件复制到可移动介质,并且执行autorun功能,这种攻击在某些物理隔离的场景下很有用。
1、案例
之前有个Agent.btz,针对五角大楼的APT,能够感染U盘这种移动介质,自动创建autorun.inf文件,并且加载恶意软件。从而绕过了物理隔离的防御。类似还有APT28、DustySky等。
2、防范措施
禁用自动运行。策略禁止移动介质。白名单工具。
监控移动介质上的文件访问以及从移动介质上启动的进程,关联后续动作例如打开命令行,连接网络等行为。
十一、SSH劫持通过破坏SSH代理或socket,劫持另一个现有连接来建立信任会话关系,比如攻击者有root权限,那劫持会话就轻而易举了。
1、 案例
好消息是目前还没发现有什么工具带有这个功能,但这并不能表示没有。
2、 防范措施
SSH密钥对强密码,不使用ssh-agent这种带有密钥存储的工具,经常轮换。设置权限防止提权,禁止root身份SSH访问。禁用代理转发。
需要关联行为监测,例如短时间内连接多个主机,不同用户使用的同一个套接字。
十二、WEB共享在网站的开放目录放置恶意文件,然后在内部通过浏览器下载执行
防范措施:
内部系统隔离。Web服务器设置权限,禁止远程访问webroot等目录,禁止目录执行权限。
监测web服务器文件写入的进程和异常时间。
十三、共享文件污染 #p#分页标题#e#共享服务器中的文件被污染。其中有一个技术称之为数据透视,不是excel的那个透视,是对.LNK文件的快捷方式修改,看起来像是真实目录,但其中嵌入命令执行,同时又打开真实目录,让用户误以为操作正常。
1、 案例
例如Darkhotel,一个针对企业高管的APT。在服务器上看到的.LNK是下图这样。
但实际上隐藏了:
而实际负载是:
.\Windows\system32\cmd.exe /c start explorer.exe “Intel” & type “3b5a5b29263677d600.exe” > “%temp%\3b5a5b29263677d600.exe” &&
“%temp%\3b5a5b29263677d600.exe”
这种方法能够在几个小时内快速传播并且提权。同样的案例还有H1N1,Miner-C。
2、 防范措施
用户写权限最小化。EMET。禁止目录共享。白名单。
监控多文件写入共享,监控移动介质关联的网络连接,扫描共享目录恶意文件、隐藏文件、.LNK文件和其他罕见类型文件。
十四、软件部署系统例如SCCM,赛门的Altiris这类部署系统,攻击者获得权限后则可以利用部署系统横向移动,这个范围就比较凶残了。
1、 案例
典型的Wiper,利用了Ahnlab(韩国一个杀毒软件)的推送功能,把恶意软件推送下去。赛门的Altiris也被TG-1314利用过。
2、防范措施
软件部署系统安全性评估,权限控制,网络隔离,定期升级防止提权。
三方软件一般都有自己的日志,可以用来和其他行为关联。例如推送是定时的,超出这个时间之外一定是异常。监控系统的账户活动情况。
十五、隐藏共享Windows有个隐藏网络共享,C$,ADMIN$,IPC$等,只有管理员有权限访问。net use也具有等价权限。
1、案例
这种Windows自带的工具是最受欢迎的,能够减少文件存储占用还具有良好通用型。APT3会将文件复制到Windows Admin共享,Deep Panda使用net use,FIN8枚举主机上的C $, SierraAlfa通过SMB 访问共享以进行横向移动。
2、防范措施
不要跨系统重用本地管理员帐户密码。确保密码复杂性和唯一性,确保密码不会被破解或猜测。拒绝远程使用本地管理员凭据登录系统。不允许域用户帐户位于多个系统的本地Administrators组中。
监控账户登录日志,监控文件传输、远程登录日志。
十六、WinRMwinRM服务是PowerShell的远程管理,开启它可以很大程度的方便用PowerShell操控。TG-3390
1、案例
TG-3390先拿webshell,然后利用winRM开启PowerShell。
2、防范措施
禁用WinRM服务。配置身份验证方法和主机防火墙限制WinRM访问,仅允许与特定IP通信。
监控WinRM使用,监控WinRM调用脚本创建的进程和操作。