HW蓝队下的攻防思路

type
status
date
slug
summary
tags
category
icon
password

目标系统确定

外网目标

在选择外网目标时,需要考虑以下几点因素:
一定要选防护最多,漏洞最少,最小化(互联网只露前端),且与其他业务隔离最好的系统。
如果行业单位可选个二级单位的云应用作为目标。

内网目标

在选择内网目标时,需要考虑以下因素:
  • 物理隔离:选取完全物理隔离的内网系统,避免内网被攻破后拿下内网目标的情况发生。

人员准备和安排

  • 网络监控小组: 由网络安全运维人员或设备服务提供者组成,负责利用网络设备(如IPS、态势感知、入侵防御、WAF、云防护、VPN、堡垒机日志审计等)进行检测。
  • 分析研判小组: 由安全服务专家组成,负责复杂护网前的自查工作,并对不确定的风险行为进行分析判断,以避免误报或漏报。
  • 安全策略小组: 由安全运维人员或安全设备提供者组成,负责阻断威胁行为(如封禁IP),并对业务行为进行白名单添加以提高安全性。
  • 业务运维组: 由各业务系统运维或开发人员组成,负责检查各自系统,至少每日两次进行恶意代码检查,并在发现问题时立即汇报分析研判小组,同时由安全策略小组从网络上阻断相关攻击。
  • 监管小组: 由目标方负责网络安全管理人员组成,必须参与护网前准备工作和护网中进行监管。监管小组需要确定攻击地址,并要求各小组每日汇报情况。监管小组督促所有工作当日完成,查看各组的汇报数据,并对未处理问题进行跟进,协调相关小组处理。

梳理资产

在进行安全工作之前,我们需要对目标系统的资产进行梳理,以便更好地掌握系统的整体情况。具体包括:
  • 互联网开放端口梳理:通过查看出口防火墙路由器配置,确定互联网开放端口,并进行访问限制。
  • 内网资产梳理:通过各业务部门报告和内网资产扫描,获取内网资产信息,包括IP地址、操作系统、应用程序等,以便进行安全分析和漏洞扫描。
  • 网络架构梳理:对目标系统的网络连接情况进行梳理,避免双网卡连接互联网和内网环境,确保系统的安全性。

业务系统梳理

在对资产进行梳理的同时,我们还需要对业务系统进行特别关注。具体包括:
  • 开放端口:ssh/rdp/redis/ftp/mysql/oracle/mssql等要做访问限制,以确保系统的安全性。
  • 开发框架:要由各系统开发人员汇报使用的开发框架(例如weblogic/shiro/st2等),并提前更新框架,以避免已知漏洞的攻击。

提前做攻击

目标系统要做白盒测试

  • 要将外网目标作为重点,进行框架检查、后台检查和代码检查。具体包括:
    • 框架检查: 与研发直接确认框架并进行测试,尝试绕过防护进行测试。
    • 后台检查: 确定后台目录是否为默认或弱目录,进行弱口令检查(包括尝试是否可成功绕过验证码、正向爆破已知用户名爆破密码以及反向爆破已知密码收集并爆破用户名),上传木马测试(主要测试上传点能否上传和能否解析)。
    • 代码检查: 通过编辑器(也有专用设备)确认是否有版本泄露/文件泄露/敏感信息,通过D盾等进行扫描是否有后门,并与研发确认是否为最新版本。如果有余力,可以开始代码审计。
  • 对于内网目标,需要进行全面的黑盒检查,包括目录遍历、弱口令、SQL注入漏洞和信息泄露等。同时,还需要进行漏洞扫描和检查,包括漏洞检查、基线检查、杀毒和补丁等。
  • 在进行攻击前,还需要预测攻击路径,尝试通过代理攻击内网目标。这部分工作可以帮助我们提前发现可能存在的安全漏洞,并及时进行修补和加固,以确保系统的安全性。

防守思路交流

  • 开展培训: 运维人员识别恶意行为,办公人员提高安全意识。将原则性问题作为一切工作的目标,并梳理自信心和责任感。
  • 责任明确: 明确各小组工作职责,监控要一丝不苟、分析研判要认真负责、安全策略要严格把控、业务运维要谨慎小心、监管小组要管理到位。
  • 严防死守: 建立值班轮岗制度,值班人员必须要落实值班期间的工作职责。
  • 网络检测: 进行安全监控并封禁IP。
  • 扫描阻断: 检测端口扫描,包括访问不存在的端口(扫描端口)或不停访问非业务端口(如SSH/RDP可能是爆破)。
  • 扫描漏洞: 检测SQL注入、XSS跨站脚本、CSRF、Weblogic、str2和shiro等漏洞。
  • 代理流量: HTTP代理,需要检查是否有大量访问同一脚本的情况;DNS,需要监控DNS行为,找出常用DNS和异常DNS服务器;SSH,需要防备内联和外联的攻击。
  • 运维监控: 使用堡垒机/NPN进行日志查看;使用向日葵/teamViewer(DPI能干这事)找出使用者,并禁止使用TeamViewer。
  • 业务监控: 进行WEBSHELL扫描、编辑器搜索全站和上传点,以及关键字匹配。同时,可以使用D盾进行杀毒操作。
 

安全策略:自定义正则

防止漏洞攻击:
SQL注入
  • OR
  • AND
  • /*
  • SELECT
  • FROM
  • UNION
  • ', CONCAT, INFORMATION, GROUP, BY, ORD, FLOOR, SLEEP, SLEEPTIME, IF, SCHEMA, SYS, sys, AS, NCHAR, CHAR, MID, IFNULL, LIMIT, delete, DELETE, PLUGINS, index name, %EF%BC%87, '
文件包含:
  • 本地文件包含 (ur 或 data 包含以下字符串):
    • C:\xc:\d:;D:\e:;E:f:;:;:g:/o./././.././//
  • 远程文件包含 (url 或 data 包含以下字符串):
    • =http;
    • =file;
    • =dict;
    • =ftp:;
    • =gopher
Weblogic:
  • soapenv
  • Envelope
  • WorkContext array
  • method
  • onAsync Delivery
  • asy
  • xmIns
  • bas h
  • array
  • void
Struts2:
  • redirect
  • context.getm.open
  • Scanner
  • start()
  • HttpSer
  • getWriter
  • setChar
  • nike
  • dm
  • ognl
  • contextsetMemberAccess
  • getResponse
  • getWriter
  • req
  • getReal
  • acterEncoding
  • symphony.xwo
  • disp
  • nextstr
  • flush
  • toString
  • ProcessBuilder
  • Path
  • println
shiro:
  • rememberMe

防止反向代理

  • FRP/EW/sh/ssocks/nc/msf
  • DNS反向代理防御:防火墙策略白名单:只允许访问运营商分配的域名服务器TCP/
  • UDP53端口,利用回溯
  • SSH禁用所有SSH和RDP内外网“协议”交互,如无产品可利用回溯。

防止上传木马:

  • webshell
  • 正则冰蝎马: java, crypto, importpageContext, BASE64Decoder, error reporting, fle_get contents, CharSet, REQUEST METHOD, System.Reflection, RijindaelManaged, CreateDecryptor, xmIns, java.util, scriptlet
  • ASP马: ProcessStartInfo, MemoryStream, oB ase64String, ms, CompressionMode
  • php马: ?php, function
  • jsp马: java.sql, %@page

防止内鬼

在防止内部攻击方面,需要采取以下措施:
  • 及时调查:一旦发现内部攻击,要立即展开调查,揪出“内鬼”,以减少损失。
  • 封堵攻击路径:如果已经被攻入,要立即清除shell和隧道,并封堵攻击路径,以避免攻击持续进行。
  • 清除web免杀:对于常见的Web免杀,如冰蝎、天蝎、蚁剑和reGeorg等,要采取关键字搜索和清除的思路,以确保系统的安全性。
  • 检查内网攻击:通过态势感知和DPI技术,对从内网发起的攻击进行检查和分析,及时发现和处理内部安全威胁。

蜜罐的部署

  • 在攻防演练中部署蜜罐可以极大地提高防守效果。蜜罐可以提前掌握攻击者的信息,甚至可以通过部署蜜罐进行反击。
  • 部署蜜罐
  • 攻击溯源
  • 反击思路:通过 VPN 客户端 dll注入,将仿冒 VPN 登录界面调整为下载客户端(反杀马)地址(可以放到星际黑客上)。

防守期间

在防守期间,我们需要采取一系列措施来最小化攻击面并保护系统安全:
  • 最小化非目标相关的功能,以减少潜在风险。
  • 限制堡垒机/VPN登录地址,只允许现场登录。
  • 限制服务器(SSH/RDP)登录地址,以防止入侵内网。
  • 修改门户网站和业务系统的默认后台地址,只允许内部登录。对于紧急情况,可以申请对应白名单,并做好记录。
  • 固定运维终端。
  • 断开不需要上互联网的业务系统连接,如有必要,可以申请白名单,并做好记录。
  • 如果有权力临时断开客户终端上网,上网要做好审计。
  • 对外访问控制:只允许外网目标系统进入,并设置访问控制。
  • 对内访问控制:
      1. 必须做到外部目标和内部目标的完全物理隔离(非网闸)。
      1. 限制其他内部系统或网络访问外部目标,只允许业务运维白名单。在防守期间,禁止防守人员使用防守运维终端连接互联网。
  • 工作规范:在防守期间,禁止所有人在防守所在网络使用电子邮件(涉及权力问题)。

防守难点

在防守过程中,可能会遇到以下一些难点:
  • 业务过多:随着业务量的增加,安全管理和风险管理变得越来越不可控。管理者可能无法准确了解自己拥有多少资产。大量未被管理的资产可能成为攻击者的马场或网络黑带。另外,由于需要对接接口进行数据传输,因此与目标系统对接的业务也越来越多。项目往往要求开发效率高和使用效率高,因此安全性方面的考虑通常被忽略。这就导致许多接口存在诸如非加密隧道、明文传输、注入漏洞、数据泄露、网络互通等风险。
  • 技术不匹配:有时,技术可能无法匹配红队的攻击手段,例如 DNS 隧道的识别和网络流量协议的识别。
  • 管理失误:由于使用者缺乏经验,一些设备可能无法发挥其真正的作用,例如正则表达式的编写。
  • 疏于管理:防守实际上是一个人海战术,需要大量的人力和物力支撑。除了具备一定的技术技巧外,人员管理尤为重要。如果管理者只是将任务交给技术人员而没有有效地监督和管理,那么防守就很难取得好成效,攻击者进入系统的可能性也会增大。此外,如果管理者有足够的权威,在防守期间规定不允许使用目标网络上互联网等措施,这将大大提高防守方成员的信心,因为他们至少不用担心遗漏掉某个漏洞点。
Loading...

© Soraの小站 2021-2024