草庐IT

护网|蓝队防猝死手册(新手必知必会)

MachineGunJoe 2023-04-08 原文

在HVV期间,蓝队主要就是通过安全设备看告警信息,后续进行分析研判得出结论及处置建议,在此期间要注意以下内容。

内网攻击告警需格外谨慎,可能是进行内网渗透。

1.攻击IP是内网IP,攻击行为不定,主要包括:扫描探测行为、爆破行为、命令执行等漏扫行为。

2.资产属性-内网攻击IP资产属性。

3.研判告警行为是否为攻击动作,如弱口令、SQL注入漏洞可能是业务行为。

4.上级排查与客户一起进一步确认设备问题。

企图类告警需格外谨慎,可能是“已经成功”。

1.告警主要包括:后门程序、代码行为、命令执行行为。

2.资产属性+流量确认。

3.综合判断告警是否成功(成功的话就需要提供证据给规则反馈)。

4.上级排查与客户一起进一步确认设备问题。

爆破攻击告警需格外谨慎,可能是“正在进行时”。

1.告警主要包括:客户对外端口的服务对外开放。

2.资产属性+流量确认。

3.综合判断业务是否对外开放(及时确认是否需要规避风险点)。

成功失陷追仔细,可能是”溯源不够细致,遗漏蛛丝马迹“。

1.告警主要包括:成功+失陷的告警。

2.资产属性+流量确认+告警确认+数据分析+兄弟产品跟进。

3.协助客户上机排查,书写防守或溯源报告。

常见溯源方式

在发现资产被攻击之后,防守方需要及时进行溯源和排查,通常情况下,溯源需要获取到目标攻击者的一部分个人信息,比如手机号,邮箱,QQ 号,微信号等,通过这些信息在互联网可以进一步追溯攻击者的更多暴露信息。方便进一步溯源,下述介绍了一些整理了一些常见的方法和工具。

1. 域名、ip 反查目标个人信息

首先通过威胁情报平台确认攻击ip是否为威胁 ip,常用的平台通常有如下

https://x.threatbook.cn/ 微步在线威胁情报社区
https://ti.qianxin.com/ 奇安信威胁情报中心
https://ti.360.cn/ 360威胁情报中心
https://www.venuseye.com.cn/ VenusEye威胁情报中心

当发现IP的为攻击IP后,可以尝试通过此IP去溯源攻击者,具体实现过程通常会用到下述方法:

1.ip 反查域名
2.域名查 whois 注册信息
3.域名查备案信息、反查邮箱、反查注册人
4.邮箱反查下属域名
5.注册人反查下属域名

2. 攻击者ID等方式追踪

定位到攻击者ip后,可以通过sgk、社交软件、指纹库等其它方式捕获到攻击者个人社交账号捕获到更精准的敏感信息,可以采取以下思路。

1.支付宝转账,确定目标姓氏

2.进行QQ账号、论坛、贴吧、等同名方式去搜索

3.淘宝找回密码,确定目标名字

4.企业微信手机号查公司名称

5.度娘、谷歌、src、微博、微信、知乎、脉脉等知道的各大平台上搜索

3. 通过攻击程序分析

攻击者如果在恶意攻击过程中对目标资产上传攻击程序(如后门、恶意脚本、钓鱼程序等),我们可通过对攻击者上传的恶意程序进行分析,并通过IP定位等技术手段对攻击进行分析溯源,常用的恶意程序分析网站有:

微步在线云沙箱: https://s.threatbook.cn/
腾讯哈勃: https://habo.qq.com/
Virustotal: https://www.virustotal.com/gui/home/upload
火眼: https://fireeye.ijinshan.com
魔盾安全分析: https://www.maldun.com/analysis/

4. 蜜罐

蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。

蜜罐溯源的两种常见方式:

一种是在伪装的网站上插入特定的js文件,该js文件使用攻击者浏览器中缓存的cookies去对各大社交系统的jsonp接口获取攻击者的ID和手机号等。另一种是在伪装的网站上显示需要下载某插件,该插件一般为反制木马,控制了攻击者的主机后查询敏感文件、浏览器访问记录等个人敏感信息从而锁定攻击者。

5. 常见案例链接分享

整理了一下常见的溯源案例链接,希望能对大家起到帮助

【经典案例】

常见反制方式

通过蜜罐反制

主要就是下述反制手段做操作

1.可克隆相关系统页面,伪装“漏洞”系统

2.互联网端投饵,一般会在Github、Gitee、Coding上投放蜜标(有可能是个单独的网站地址、也有可能是个密码本引诱中招)

3.利用JSONP、XSS、CSRF等前端类漏洞获取访问蜜标的攻击者网络身份(网络画像)

邮件钓鱼反制

安全防护基础较好的厂商,一般来说除了出动0day,物理近源渗透以外,最常见的就是邮件钓鱼了,在厂商收到邮件钓鱼的情况下,我们可以采取化被动为主动的方式,假装咬钩,实际上诱导攻击者进入蜜网。

渗透工具漏洞

可以尝试挖掘蚁剑、冰蝎、菜刀、BurpSuite、SQLmap、AWVS的0day漏洞(需要一定的技术水平),或利用历史漏洞部署相关环境进行反打

盲打攻击反制

攻击者可能通过盲打漏洞方式来获取权限,一般盲打都具备一个数据回传接口(攻击者需要接收Cookie之类的数据),接口在JavaScript代码中是可以寻找到的,我们可以利用数据回传接口做以下两件事情,并后续引导攻击者进入我们部署好的蜜罐。

1.打脏数据回传给XSS平台

2.打虚假数据回传给XSS平台

通过攻击服务器端口/web 等漏洞

攻击者可能是通过自己搭建的公网服务器进行攻击的,或者是通过此服务器与后门进行通讯。其中服务器可能运行诸多服务,且未打补丁或设置强密码,导致防守方可以进行反打。

应急响应工具箱

在hvv期间,或者是在平常工作时间段,难免会碰到一些应急场景,这里推荐GitHub上一个大佬的应急工具箱,整合了诸多的分析文章和常见工具。

【应急工具箱】

有关护网|蓝队防猝死手册(新手必知必会)的更多相关文章

  1. ruby-on-rails - Rails 应用程序中的 Rails : How are you using application_controller. rb 是新手吗? - 2

    刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr

  2. ruby-on-rails - ruby 新手,有人可以帮我从控制台破译这个错误吗? - 2

    我真的只是不确定这意味着什么或我应该做什么才能让网页在我的本地主机上运行。现在它只是显示一个错误,上面写着“我们很抱歉,但出了点问题。”当我运行railsserver并在chrome中打开localhost:3000时。这是控制台输出:StartedGET"/users/sign_in"for127.0.0.1at2013-07-0512:07:07-0400ProcessingbyDevise::SessionsController#newasHTMLCompleted500InternalServerErrorin55msNoMethodError(undefinedmethod`

  3. ruby-on-rails - Rails 新手 : Recommendations for error handling in controller - 2

    抱歉,如果问题很明显,我才刚刚开始使用Rails。我现在在几个Controller方法中有以下代码:respond_todo|format|if@project.saveformat.html{redirect_to(edit_project_url(@project),:notice=>'#{user.name}addedto#{role}.')}format.jselseformat.html{render:action=>"edit"}format.js#...endend那么问题来了,对于所有方法中的错误,最好的方法是什么?是否建议我使用save!并在rescue_action

  4. ruby-on-rails - (Rails 新手)rails 服务器错误 : cannot load such file -- bootsnap/setup (LoadError) - 2

    我已经将我的JS运行时安装为Node,并且我已经更新了bundle并安装了bundle,但我仍然收到此错误:/Users/macbook/Documents/Studies/Coding/the_back_end/the_odin_project/odin_on_rails/hello_app/config/boot.rb:4:in`require':cannotloadsuchfile--bootsnap/setup(LoadError)from/Users/macbook/Documents/Studies/Coding/the_back_end/the_odin_project/

  5. 绝对详细的 RabbitMQ 实践操作手册(一) - 2

    绝对详细的RabbitMQ实践操作手册,看完本系列就够了。一、什么是MQ?1、MQ的概念2、理解消息队列二、MQ的优势和劣势1、优势和作用2、劣势三、MQ的应用场景四、AMQP五、工作原理一、什么是MQ?1、MQ的概念MQ全称MessageQueue(消息队列),是在消息的传输过程中保存消息的容器。多用于系统之间的异步通信。下面用图来理解异步通信,并阐明与同步通信的区别。同步通信:甲乙两人面对面交流,你一句我一句必须同步进行,两人除此之外不做任何事情异步通信:异步通信相当于通过第三方转述对话,可能有消息的延迟,但不需要二人时刻保持联系,消息传给第三方后,两人可以做其他自己想做的事情,当需要获取

  6. ruby - 在 ruby​​ 中如何使用类级局部变量? ( ruby 新手的问题) - 2

    所以假设我有这个(不工作):classUserdescription="IamUserclassvariable"defprintputsdescriptionendend那么,我应该如何使用var描述,如何将它作为默认参数传递到方法中,或者直接在方法中使用?谢谢.. 最佳答案 在您的情况下,description只是局部变量。您可以使用特殊字符@、@@、$更改此范围:a=5defined?a=>"local-variable"@a=5defined?@a=>"instance-variable"@@a=5defined?@@a=>

  7. ruby 新手 : undefined method `with_indifferent_access' - 2

    我是一名新的Ruby程序员,我的一位同事帮助我开始编写了以下代码,该代码在他的环境中运行良好。但是,当我尝试在自己的环境中运行它时,出现以下错误:undefinedmethod'with_indifferent_access'for#(没有方法错误)有问题的方法在代码中出现了两次:require'rubygems'gem'activerecord'gem'activesupport'gem'sailthru-client'require'active_support'require'active_record'require'sailthru'#SetupourSailthruobje

  8. ruby-on-rails - 在 Rails 中为新手创建登录的最佳方式是什么? - 2

    我看到有几个关于它的引擎和教程,但我想不出哪一个可以在短期内帮助我。我刚刚开始学习Rails和Ruby,我的目标是了解它们的工作原理,同时在现实生活中发挥作用。任何关于此的链接或解释将不胜感激! 最佳答案 其他答案推荐Devise.Devise自己的文档说:IfyouarebuildingyourfirstRailsapplication,werecommendyoutonotuseDevise.DeviserequiresagoodunderstandingoftheRailsFramework.Insuchcases,weadv

  9. ruby - Ruby 中命名空间函数的最佳实践? (新手问题) - 2

    (StackOverflow告诉我这个问题是“主观的,可能会被关闭”……好吧,无论如何我都会试一试)我正在编写一堆辅助方法(用于TextMate包),我希望(并且我需要)将它们整齐地命名空间。这些方法实际上只是函数,也就是说,它们不会对自身作用域之外的任何东西进行操作,因此并不真正属于某个类。没有什么需要实例化。到目前为止,我一直在这样做,而且效果很好moduleHelpers::Foomodule_functiondefbar#...endendHelpers::Foo.bar#thisishowI'dliketocallthemethod/function但是这样会更好吗:1.跳过

  10. ruby - 总新手 : Instance variables in ruby? - 2

    请原谅新手问题,但为什么@game_score总是零?#bowling.rbclassBowling@game_score=0defhit(pins)@game_score=@game_score+pinsenddefscore@game_scoreendend 最佳答案 让我们看一下代码,好吗?#bowling.rbclassBowling@game_score=0#(1)此时(1),我们仍在classBowling中。记住:类和其他对象一样只是对象。因此,此时您将0分配给类对象Bowling的实例变量@game_score。de

随机推荐