FOFA搜索未授权Redis技巧?
巧用fofa挖到你的第一个漏洞
在资产测绘的日常工作中,Redis未授权访问漏洞一直是高发且危害极大的目标。很多安全从业者习惯用简单的port="6379"在FOFA上进行地毯式扫描,但这种做法效率低下,误报率高,且极易触发安全设备的告警。真正高效的狩猎,始于对目标更精准的画像。
超越端口:构建精准的Redis指纹
单纯搜索6379端口,返回的结果鱼龙混杂,其中混杂着配置了强密码的Redis、处于内网NAT后的服务,甚至是一些故意开放的蜜罐。资深猎手的第一课,是学会组合使用FOFA的指纹库。Redis服务在握手时会返回特定的标识信息,这可以被FOFA的规则引擎捕捉到。
- 结合服务横幅:尝试使用
port="6379" && banner="redis"或port="6379" && protocol=="redis"。这能过滤掉那些在6379端口运行其他协议的服务,大幅提升目标纯度。 - 利用地理与组织信息:如果你关注特定区域或行业,可以加上
country="CN"或region="Zhejiang"。更妙的是结合org="Some-University"或isp="China Telecom",这不仅能划定范围,有时还能帮你理解目标环境,推测其安全水位。 - 排除干扰项:使用
!="运算符排除已知的云服务商IP段或大型企业的资产。例如,port="6379" && ip!="10.0.0.0/8" && ip!="172.16.0.0/12"可以帮助你聚焦在更可能暴露在公网的真实目标上,而非庞大的内网地址。
一个实战化的搜索思路
假设你想寻找中国地区,非云服务商托管,且可能因运维疏忽导致未授权的Redis实例。可以构建这样一个查询:
(port="6379" && protocol=="redis") && country="CN" && isp!="Alibaba Cloud" && isp!="Tencent Cloud Computing" && is_honeypot=false
这个语法组合了端口、协议、国家、运营商和蜜罐检测,虽然结果集变小了,但每个目标的“含金量”和可利用概率会显著上升。记住,在漏洞挖掘中,精度往往比广度更重要。
验证与误判:临门一脚的谨慎
FOFA给出了目标列表,但这只是开始。直接使用redis-cli或nc连接并发送INFO命令是标准验证方法,但这里有个细节:如果连接成功但返回-NOAUTH Authentication required.,这代表服务配置了密码,并非真正的“未授权”。此时应立即断开连接,任何进一步的破解尝试都是非法的。
更狡猾的情况是“限制命令执行”的配置。有些Redis实例虽然可以未授权连接,但管理员通过rename-command指令将FLUSHALL、CONFIG、EVAL等危险命令重命名甚至禁用。你以为找到了入口,实则进入了一个精心布置的“游乐场”,所有危险的设施都被上了锁。这时,尝试执行INFO、KEYS *等无害命令,并观察返回信息中关于“命令统计”的部分,能帮你判断环境的真实状况。
最后的提醒:法律与道德的边界
技术讨论止步于验证。通过FOFA发现未授权Redis服务后,正确的做法是通过合法渠道(如CNVD、SRC平台)进行报告。任何未经授权的数据读取、篡改、删除,或利用其作为跳板机的行为,都已触犯法律。那张“包吃包住”的图片并非玩笑,它是对红线最直白的警示。资产测绘能力是一把双刃剑,挥舞它的时候,心里必须时刻悬着一块名为“授权”的磨刀石。

参与讨论
这招确实比傻扫6379强多了,之前试过一次直接被封IP了hhh
protocol==”redis” 这个参数很多人忽略,其实精准度提升很明显
想问下,isp!=”Alibaba Cloud” 这种排除项会不会漏掉一些托管在云上的真实漏洞?
前几天刚用类似语法挖到一个,结果是rename-command把config禁了,白忙活
INFO能回但KEYS *超时,是不是大概率有防火墙限制或者做了访问控制?
感觉可以加个is_honeypot=false,不然容易踩坑,之前连上发现是蜜罐直接凉