该篇文章主要介绍如何获取目标初始访问权限,描述不同的切入点,以及常用技术和工具。
1. 内容注入
利用失陷的通讯链路,在原有报文中注入恶意的数据,伪装成合法的响应。比如ISP劫持,常见的现象就是访问网站后,页面上会出现一些广告或莫名其妙的引流按钮
2. Drive-by Compromise
攻击指定网站,在网站中植入恶意代码,当用户访问失陷网站时,会触发恶意代码的执行。与内容注入的区别是内容注入的恶意切入点是数据传输的过程中,而本方法是攻击网站,即数据的发起端。常用技术有XSS,iframe注入 ,cross-site-script
3. 利用面向公众的应用
有些软件是可以对外提供服务,供用户使用的,比如apache,iis等web服务,mysql,oracle等数据库服务,docker,k8s等容器服务。利于这些软件的逻辑bug,漏洞,或管理员错误的配置,可以快速的攻击更多用户
4. 利用可以访问内部网络的应用
企业的网络规划中会有严格的策略划分办公网络为内网网络和外网网络,用以减少关键设施对外暴露的可能性,但在实际的办公中又会经常出现远程办公的需求,通常会使用VPN,Citrix,Windows Remote Management,VNC,向日葵,TeamViewer等远程办公软件。利用这类软件的漏洞和bug可以非法访问目标网络,窃取访问凭证
5. 添加额外硬件
利用添加额外的硬件获取初始访问的权限,比如利用U盘插入电脑后自动运行恶意程序,利用键盘监听器,使用DMA直接读取内核数据,在现有网络中添加无线网卡等
6. 网络钓鱼
6.1 恶意邮件附件
通过文字引导用户关闭安全软件,主动执行恶意程序,恶意宏。通过替换可执行文件图标,伪造文件后缀(隐藏后缀,多后缀,特殊控制字符等技术)提高恶意附件被执行概率,同时利用压缩包加密,减少恶意附件被安全软件查杀概率
6.2 恶意链接
诱导用户点击邮件中指定的恶意链接。恶意链接可以使用IDN homograph attack技术,用相似字体伪装合法网站链接。用Url变形技术规避恶意链接被安全软件的查杀。还可以使用授权url(OAuth 2.0 Request Url),诱导用户泄露账户信息,获取初始访问权限
6.3 恶意服务
通过伪造第三方服务进行钓鱼活动
6.4 恶意音频
通过电话等方式引导用户,下载执行恶意程序
7. 利用可移动介质复制
将恶意代码拷贝到移动介质中,利用可移动介质插入主机后可以自动运行代码的能力,获取初始访问权限
8. 供应链攻击
8.1 开发依赖项和开发工具
攻击软件依赖项,如java中依赖的jar,c/c++依赖的库,npm安装的软件包等。
攻击软件开发工具,如vscode,maven,cmake等
8.2 软件依赖
篡改软件源码,操纵软件更新或分发机制,篡改编译后代码
8.3 硬件依赖
篡改硬件的固件,植入后门等,通常篡改固件都能获取更高的初始访问权限
9. 信任关系
利用受信任的外部链接获取初步访问权限,比如公司的软件提供商,基础设施承包商等,通常他们都会有更高的访问权限方便他们日常维护公司基础设施
10. 有效账户
10.1 默认账户
利用系统默认账户,和某些软件安装后产生的默认账户(MySql用户)
10.2 域账户
利用泄露的域账户,或被破解的域账户获取初始访问权限
10.3 本地账户
利用本地账户获取初始访问权限,可使用凭证转储等技术获取本地账户凭证
10.4 云账户
利用破解的云账户获取初始访问权限,云账户中可能关联多台服务器,数据库,oss等服务,甚至还可以创建关联服务的新账户,修改账户权限