浅谈红队中那些常见的场景和问题。
攻防场景下,当我们使用Fscan大宝剑内网梭哈的时候,如果是老旧内网,经常能看到会扫出17010,也是我们常说的永恒之蓝漏洞。
例如:
但是呢,部分新手同学拿着EXP去打的时候,会发现无法成功:
常见的回显是这样的,原因也很简单:这类系统基本上是PC机或者服务器上安装了主动防御,也就是我们常说的杀毒软件,例如某60的终端防御:
多数都是这样的情况,EXP默认的流量是被监控的,自然打不动。
注:如果内网有一台服务器装了杀毒,其他的PC或者服务器大概率都有,不要抱侥幸心理。
字面意思,公网私用。我们一般常见的内网地址段有三类:
A类私有地址:范围是10.0.0.0到10.255.255.255,通常用于大型网络。
B类私有地址:范围是172.16.0.0到172.31.255.255,适用于中型网络。
C类私有地址:范围是192.168.0.0到192.168.255.255,常用于小型网络和家庭网络。
但是从实际来说,红队场景包括但不限于这三类地址,因为我们的目标来说从小型到中型再到超大型公司都是有可能的,第四类就是我们所说的公网IP地址段的内网使用(当然也有一些纵深防御的理念在里面)。例如我们ping一下百度的IP,这个IP我们可以作为内网地址吗:当然是可以的,只不过要调整一下路由的优先级,否则就有可能实现内网使用的同时无法访问百度。
但是公网IP私有化,一般出现的场景是不出网的环境,即办公区域做了一些网络限制,无法访问互联网。所以很多新手同学在拿到一些权限的时候会诧异内网IP是公网的IP地址段,拿着Fscan去扫的时候,又会扫到互联网去了,甚至扫到国外去了,/手动狗头。
很多新手同学拿到webshell之后就马不停蹄的上传工具试图上线CS,当然这里指的是Windows;有时候会遇到一些奇怪的情况,确实存在杀毒软件,比如360全家桶,但是呢它也不杀咱们的工具,但是就是工具执行的时候返回空白。
这里的话需要注意的是:
-
目标的Windows版本,虽然我们的工具都去尝试最大化的适配从WindowsServer2003到Windows最新的版本;但是因为某些开发语言的缘故,比如我们很常用golang语言(从golang1.20这个版本开始,不再支持Windows7及以下的环境),目前很多工具的默认编译环境都比较高,执行不成功是因为根本不支持了。
-
目标环境的依赖情况,例如我们也使用C#开发一些工具,这些工具依赖.NET5的环境,使用的时候目标服务器是台低版本的Windows,压根都没安装相关的运行库,自然也是跑不起来的。
为什么我拿到权限了却执行不了命令?
这个原因比较多,随便列举两点:
1.杀毒和EDR:
考虑到现代化的杀毒越来越厉害,比如我们常见的360核晶,会锁定命令行,禁止创建进程。又比如服务器护卫神,也会锁定命令行,禁止执行外部第三方EXE。
例如,最典型的上线CS之后,无法执行任何外部操作。
防护侧来看,其实是全部都拦截了的,如下图:
2.中间件安全机制:
例如我们经常遇到的OA系统中的通达OA,这个OA在新版本禁用了几乎所有公开的disable_function函数,很多时候拿到webshell权限后,也只能翻翻文件系统。
上传成了但是我的webshell去哪里了?
就拿经典文件上传举例子吧:
-
目录没找对:一般来说,上传的数据包响应包会返回相对路径,但是有些路径是有前缀的,中间缺了目录也会导致访问不到webshell.
-
杀毒软件或者EDR:上传的webshell不免杀,被杀软识别之后立马就删除了。
怎么判断呢?一般来讲,上传的时候,随便写点内容(不直接写webshell),后缀改为PHP/JSP/JSPX/ASPX/ASP等等,访问一下如果在,那么就可以认为是上传成功的;接下来再去上传webshell,如果访问不到,一般情况可以认为是杀毒给删除了。
-
中间件适配问题:
访问webshell是没问题的,但是500错误之流,webshell连接工具也是没法连上的(虽然像冰蝎哥斯拉都是适配了大部分场景,但是有些国产化中间件还是存在适配问题,比如金蝶天燕)。
-
后台上传需要带Cookie访问webshell(这点很多人犯错)。
-
需要带上指定的Referer字段,这个有点类似于Cookie的作用,但是看情况,笔者遇到过所以提出来说一下。
以上几点,算是希望对初入RED的新手朋友有一些小小帮助(之前有师傅说写高深了,看不懂,那就简单谈谈经验吧/手动狗头)。
监制丨船长、铁子
策划丨Cupid
美工丨molin
原文始发于微信公众号(千寻安服):浅谈红队中那些常见的场景和问题
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论