零:前言
攻防演练活动对国家的网络安全建设起到了很好的推动作用,同时也提高了各企业的安全保护意识,提升自我安全防范意识。
本篇我们就从防守方的角度来介绍一下面对网络攻击我们可以做的哪些事,如何加强安全防护能力。
防守方可以从战前”筹备检查“、战中”演练响应“、战后”溯源报告“三方面来总结,整体大概流程如下:
一:筹备检查
资产梳理
- 1、我们首先要梳理我们的业务资源,比如业务资源系统的名称,业务资源类型是web、app?,其次我们要知道其业务所部署服务器的类型版本,域名/IP、服务器端口、中间件、数据库、开发的框架、部署的位置,相关负责人以及联系方式。
- 2、除了我们的业务资源,也同样需要梳理我们的设备资产梳理,例如我们的安全设备,系统的名称,设备的型号,系统的规则库、病毒库的版本号是否最新、安全厂商、联系人、IP地址、授权日期以及相关负责人等信息的统计记录。
- 3、其中也存在第三方的服务信息梳理,如服务厂商名称、涉及中间件、部署位置、相关联系责任人等。
信息清理
梳理出来的资产分组并进行风险处理,关闭不必要的系统、服务、端口等。
- 1、账号权限的梳理:其中包括了禁止共享账号、权限合理划分、删除无关账号、以及弱口令、口令强度的梳理排查,确保使用者符合最小授权原则。
- 2、互联网风险梳理:冗余资产、余资产指企业未能正式投入使用,
但仍然占用系统资源运行的系统。通常包括旧版本的系统、旧数据库、测试环境等,由于冗余系统缺少人员的管理和维护,导致存在许多潜在安全风险,包括但不限于版本漏洞、弱口令、功能逻辑漏洞等。扫描并修复所有互联网业务系统及服务器的高、中危风险。对开发端口进行梳理,非必要的服务端口进行关闭。
- 3、暴露面收敛梳理:
(1)关闭非核心关键业务系统
(2)关闭非必要端口,仅保留核心关键业务
(3)关闭在互联网暴露的管理后台
(4)关闭不必要的wifi热点
(5)关闭非必须的VPN
(6)控制人员进出登记
- 4、日志统一收集并自动化处置:
如果追求更高效的安全防护措施,推荐使用日志收集系统来实现防火墙、waf、蜜罐等统一的日志收集和分析,并将攻击ip进行统一呈现,这样可以实现自动化的永久封堵,我们通过脚本将攻击ip入库,然后脚本调用防火墙api,每几分钟实施黑名单永久封堵。
拦截策略优化
1、防火墙拦截策略
以下为高危端口包括远程桌面、VNC、常见数据库服务等端口,以下是攻方必攻之地,对于这样的端口,一定要封而且要封堵来源IP。

对于数据中心外联互联网,一定要采取限制策略,禁止外联互联网,对于很多企业来说,由于历史原因,可 能直接放通了互联网的对外访问,那么就要仔细梳理,哪些是必要的访问,要采用白名单方式。
2、WAF拦截策略
1). user-agent拦截扫描器
攻击方在踩点过程中,必然要用扫描器,连接高危端口的扫描器方式在上面的防火墙策略已经拦截,那么就开始用web应用扫描器,常见的扫描器user-agent如下,策略都是永久封堵。

image-20210426165217245 2).http请求中常见的poc特征
很多高危漏洞一出来,针对该漏洞的poc扫描就非常多,针对这些poc的扫描攻击,可以建立一个url列表来 拦截,常见的poc攻击url特征清单如下:
拦截事件分为这么三类:阻止会话、阻止会话并短暂封堵IP、阻止会话并长期封堵IP; 防火墙是边界全防护,waf则是针对具体每个站点来设置策略,安全策略的优化有助于攻击请求的拦截,一定程度上抬高攻击成本。
//url特征
/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp
/phpmyadmin
/wls-wsat/CoordinatorPortType
/_async/AsyncResponseService
/_async/AsyncResponseServiceSoap12
uddiexplorer/SearchPublicRegistries.jsp
/_async/
bea_wls_deployment_internal
NCFindWeb?service=IPrealertConfigService&filename
action=nc.ui.iufo.release.InfoReleaseAction&method=createBBSRelease&TreeSelectedID=&TableSelectedID=
/uapws/service
.svn/format
WEB-INF/web.xml
/cgi-bin/libagent.cgi
/config.php
fckeditor/editor/filemanager/connectors
/FCKeditor/editor/filemanager/connectors/asp/connector.asp
/FCKeditor/editor/filemanager/browser/default/browser.html
fckeditor/editor/filemanager/connectors/test.html
/secure/ContactAdministrators!default.jspa
/phpinfo.php
/ispirit/interface/gateway.php
/weaver/bsh.servlet.BshServlet
/wwwroot.rar
/console/
/wls-wsat
/solr/admin/cores?wt=json
/install.txt
/install.php
/plugins/weathermap/editor.php
/?q=node&destination=node
/hedwig.cgi
/device.rsp?cmd=list&opt=user
/node/?_format=hal_json
/_users/org.couchdb
/mailsms/s?dumpConfig=%2F&func=ADMIN%3AappState
mailsms/s?func=ADMIN:appState&dumpConfig=/
/plus/download.php
/druid/index.html
org.apache.dubbo
//恶意代码执行类,如struts2、fastjson漏洞
part=”com.sun.xml.internal.ws.encoding.xml.XMLMessage$XmlDataSource”,part=”java.lang.ProcessBuilder”,part=”command”
part=”getRuntime”,part=”exec”,part=”java.lang.Runtime”
part=”type=java.net.InetSocketAddress”
part=”dataSourceName=rmi”
part=”#ognlUtil=#container.getInstance(@com.opensymphony.xwork2″
part=”.OgnlContext”,part=”DEFAULT_MEMBER_ACCESS”
//信息泄露类
/configuration/config.php
/.bash_history
/.git/config
/.htpasswd
/admin.rar
/admin.sql
/backup.gz
/backup.rar
/backup.sh
/backup.sql
/backup.zip
/database.rar
/database.sql
/jmx-console/
/resin-admin/
/shell.asp
自我渗透测试
主要分为外网渗透测试和内网渗透测试两部分,外网和内网渗透测试还不一样,外网需要结合客户相关业务来,要有针对性去测试。
1.外网渗透测试(**致命漏洞**):
弱口令:数据库、SSH、RDP、后台
命令执行:Solr、Jenkins、Weblogic、Struts2、RMI、JBoss、Tomcat、Spring、ActiveMQ、Zabbix
文件操作:文件上传、文件读取
未授权访问:Redis、Hadoop、Docker、K8S
2.内网渗透测试(**重点关注**):
常见的存在漏洞端口:
21、22、23、1090、1099、2049、2181、3000、3306、4848、5000、5900、5901、6379、7000-9999、11211、12181、27017、10050、50000、50080
常见的存在漏洞服务:
SSH、FTP、MySQL、Zoomkeeper、MongoDB、Hadoop、Redis、Struts2、Weblogic、Docker、OpenSSL、Werkzeug、Jboss、ActiveMQ、Zabbix、K8S、Druid等。
蜜罐部署
”蜜罐“是防守方的一种主动进攻手段,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
防钓鱼/水坑攻击
钓鱼的方式多种多样,常规的邮件、QQ、微信、电话等手段进行钓鱼社工已经不再被攻击者满足,要想杜绝被钓鱼的可能只能从根本上养成一种日常防范意识,所以第一要点:加强对员工的安全意识培训!加强对员工的安全意识培训!加强对员工的安全意识培训!
二:演练响应
在正式安全攻防演练阶段,重点加强防护过程中的安全保障工作,各岗位人员各司其职,从攻击监测、攻击分析、攻击阻断、漏洞修复和追踪溯源等方面全面加强演练过程的安全防护效果。

安全事件实时监测
当开启正式防护后,防护监测小组组织各部门人员,根据岗位职责开展安全事件实时监测工作。安全部门组织其他部门人员借助安全防护设备(全流量分析设备、Web防火墙、IDS、IPS、数据库审计等)开展攻击安全事件实时监测,对发现的攻击行为进行确认,详细记录攻击相关数据,为后续处置工作开展提供信息。

事件分析与处置
根据监测到安全事件,进行协同分析和确认,防护小组根据分析结果,应采取相应的处置措施,来确保目标系统安全。通过遏制攻击行为,使其不再危害目标系统和网络,依据攻击行为的具体特点实时制定攻击阻断的安全措施,详细记录攻击阻断操作。演练工作小组应针对攻击演练中可能产生的攻击事件,根据已经制定的网络安全专项应急预案进行协同处置,同时在明确攻击源和攻击方式后,保证正常业务运行的前提下,可以通过调整安全设备策略的方式对攻击命令或IP进行阻断,分析确认攻击尝试利用的安全漏洞,确认安全漏洞的影响,制定漏洞修复方案并及时修复。
情报共享
收集输入第三方安全演练情报,根据”受害客户“发现的问题,及时共享,联动处置,第一时间确认己方是否存在安全威胁。
三:溯源报告
溯源整个流程主要分为三大部分:攻击源捕获、溯源信息、输出攻击者画像。

攻击源捕获
逆向分析恶意木马获取恶意ip或者域名 查看蜜罐或其他安全设备告警信息获取恶意ip 查看日志分析,获取攻击者恶意ip、指纹信息与攻击方式 查看资源异常服务器,如服务器上多了webshell文件或者计划任务,查看机器回连ip获取恶意ip地址 查看邮件钓鱼,其中一般有木马文件,通过对木马文件逆向分析获取攻击者信息 如果直接得到攻击者ip,那么直接到溯源信息阶段,如果无法得到攻击者ip则选择上机排查 溯源信息
第一步:针对IP或者域名通过公网已有的开放信息进行查询
https://x.threatbook.cn/ #微步情报社区
https://ti.qianxin.com/ #奇安信情报中心
https://ti.360.cn/ #360威胁情报中心
https://www.reg007.com/ #通过手机号或者邮箱获取用户注册过的网站
https://www.venuseye.com.cn/ #VenusEye情报中心
https://community.riskiq.com/第二步:目标定位,信息收集 利用精确ip定位进行目标的位置定位,收集手机号与互联网上的各种ID信息(利用google hacking)。
(1) 百度信息收集:“id”
(2) 谷歌信息收集
(3) src信息收集(各大src排行榜)
(4) 微博搜索(如果发现有微博记录,可使用tg查询weibo泄露数据)
(5) 微信ID收集:微信进行ID搜索
(6) 如果获得手机号(可直接搜索支付宝、社交账户等)
(7)情报共享库
(8) 豆瓣/贴吧/知乎/脉脉 你能知道的所有社交平台,进行信息收集
(9) CSDN ID,利用CSDN老用户的一个漏洞,爆破ID手机号第三步:进入跳板机进行信息收集 如果部署了蜜罐并且攻击者踩了蜜罐且获取到攻击者的设备指纹,进一步通过该指纹控制攻击方的跳板机,则可进入跳板机进行信息收集,查看命令执行的历史记录与日志等。
最终:输出画像 对攻击者进行画像输出,具体的画像模板如下:
姓名/ID:
攻击IP:
地理位置:
QQ:
IP地址所属公司:
是否挂代理:
IP地址关联域名:
邮箱:
手机号:
微信/微博/src/id证明:
人物照片:
跳板机(可选):
关联攻击事件:
攻击路径模版:
攻击目的:拿到权限、窃取数据、获取利益、DDOS等
网络代理:代理IP、跳板机、C2服务器等
攻击手法:鱼叉式邮件钓鱼、Web渗透、水坑攻击、近源渗透、社会工程等
四、总结
安全攻防演练的本质是借此提升安全人员和企业的安全能力,不断提高自己的安全应急响应速度,才能更好的保护客户的重要数据和业务正常运行。




