0x01 前言
本节内容是笔者在以前的渗透测试过程中搜集整理而来,大部分安全防护都有遇到过,只有小部分是找的一些知名安全厂商产品。大家可以根据我整理的这些进程、服务、拦截页以及相关项目快速识别目标机器存在哪些安全防护,然后对其进行针对性免杀处理和绕过测试。
0x02 常见WAF进程和服务
(1) D盾
服务名:d_safe 进程名:D_Safe_Manage.exe、d_manage.exe
(2) 云锁
服务端监听端口:5555 服务名:YunSuoAgent/JtAgent(云锁Windows平台代理服务)、YunSuoDaemon/JtDaemon(云锁Windows平台守护服务) 进程名:yunsuo_agent_service.exe、yunsuo_agent_daemon.exe、PC.exe
(3) 阿里云盾
服务名:Alibaba Security Aegis Detect Service、Alibaba Security Aegis Update Service、AliyunService 进程名:AliYunDun.exe、AliYunDunUpdate.exe、aliyun_assist_service.exe
(4) 腾讯云安全
进程名:BaradAgent.exe、sgagent.exe、YDService.exe、YDLive.exe、YDEdr.exe
(5) 360主机卫士
服务名:QHWafUpdata 进程名:360WebSafe.exe、QHSrv.exe、QHWebshellGuard.exe
(6) 网站/服务器安全狗
服务名:SafeDogCloudHelper、Safedog Update Center、SafeDogGuardCenter(服务器安全狗守护中心) 进程名:SafeDogSiteApache.exe、SafeDogSiteIIS.exe、SafeDogTray.exe、SafeDogServerUI.exe、SafeDogGuardCenter.exe、CloudHelper.exe、SafeDogUpdateCenter.exe
(7) 护卫神·入侵防护系统
服务名:hws、hwsd、HwsHostEx/HwsHostWebEx(护卫神主机大师服务) 进程名:hws.exe、hwsd.exe、hws_ui.exe、HwsPanel.exe、HwsHostPanel.exe/HwsHostMaster.exe(护卫神主机大师)
(8) 网防G01政府网站综合防护系统(“云锁”升级版)
服务端监听端口:5555 服务名:YunSuoAgent、YunSuoDaemon(不知是否忘了替换了!) 进程名:gov_defence_service.exe、gov_defence_daemon.exe
0x03 WAF识别的相关项目
(1) wafw00f/WhatWaf
利用wafw00f识别WAF,可以在WAF指纹目录下自行编写脚本。这类WAF识别工具的原理基本都是根据HTTP头部信息、状态码以及WAF拦截页中的图片、文字做为特征来进行检测,如wafw00f工具中的yunsuo.py脚本就是根据cookie中的security_session_verify来检测的。
- /usr/lib/python3/dist-packages/wafw00f/plugins
#!/usr/bin/env python NAME = 'Yunsuo' def is_waf(self): if self.matchcookie('^security_session_verify'): return True return False
(2) sqlmap -identify-waf
利用sqlmap -identify-waf参数识别WAF,一样可以在WAF指纹目录下根据原有脚本和Awesome-WAF项目自行编写WAF指纹识别脚本,但有时可能会因为sqlmap新老版本的原因而导致存放路径不一样。
- 更新前:/usr/share/sqlmap/waf
- 更新后:/usr/share/golismero/tools/sqlmap/waf
#!/usr/bin/env python """ Copyright (c) 2006-2013 sqlmap developers (http://sqlmap.org/) See the file 'doc/COPYING' for copying permission """ import re from lib.core.enums import HTTP_HEADER from lib.core.settings import WAF_ATTACK_VECTORS __product__ = "ModSecurity: Open Source Web Application Firewall (Trustwave)" def detect(get_page): retval = False for vector in WAF_ATTACK_VECTORS: page, headers, code = get_page(get=vector) retval = code == 501 and re.search(r"Reference #[0-9A-Fa-f.]+", page, re.I) is None retval |= re.search(r"Mod_Security|NOYB", headers.get(HTTP_HEADER.SERVER, ""), re.I) is not None if retval: break return retval
(3) 项目地址
- https://github.com/sqlmapproject/sqlmap
- https://github.com/EnableSecurity/wafw00f
- https://github.com/Ekultek/WhatWaf
- https://github.com/0xInfection/Awesome-WAF