Appearance
特指Linux类
1. Linux应急响应最重要的是什么?
答:应急响应中最重要的是快速准确地定位和控制安全事件,以防止进一步的损害,并迅速恢复系统和服务的正常运行。具体来说,包括信息收集、分析研判、隔离失陷系统、清除威胁和修复系统漏洞。
2. Linux被上传了webshell如何查杀
答:
- 首先使用
top
查看进程,检查是否有CPU占用率特别高且ID是随机数的进程,可以尝试kill进程,看看是否是内存马。 - 使用
ps -ef | grep
查看进程详细信息,用/proc
找到进程,使用cp
和sz
下载文件放入微步在线云沙箱进行分析。确认是木马后删除文件。 - 使用
cat /etc/rc
排查开机自启动项和cat /etc/crontab
排查定时任务,last
和lastlog
排查日志和可疑用户。 - 续问:有些时候占用率高的不一定是木马,也可能是业务相关进程,所以除了杀进程还有什么方法可以快速找到webshell吗?
- 答:可以使用webshell查杀工具,如使用
find
命令查找可疑的PHP或其他脚本文件:shfind /var/www -name "*.php" -exec grep -l 'eval' {} \;
- 查看web服务器日志,寻找可疑的访问记录。
- 使用工具如LMD (Linux Malware Detect) 进行扫描。
- 答:可以使用webshell查杀工具,如使用
思路
1. 应急响应的基本思路是什么?
答:
- 准备:收集信息(告警信息、客户反馈信息、设备主机信息等)。
- 检测:判断安全事件类型(钓鱼邮件,webshell,爆破,中毒等)。
- 抑制:控制范围,隔离失陷设备。
- 根除:分析研判,将收集的信息分析处理。
- 恢复:处置事件类型(进程、文件、邮件、启动项,注册表等)。
- 输出报告:书写详细的应急响应报告。
2. 泛泛回答应急流程
答:
- 通常查看日志记录,关注IP、时间、事件(恶意流量或访问日志)。
- 修复被攻击的地方,清理后门。
3. Windows或Linux被植入后门文件,排查流程
答:
- 检查系统日志。
- 检查系统用户,查看是否有异常的用户。
- 检查异常进程和隐藏进程。
- 检查异常系统文件和系统文件完整性。
- 检查网络活动。
- 检查系统计划任务和服务。
场景
1. 服务器被拿下了,客户让你根据这个服务器进行溯源,你怎么做?
答:
- 收集所有日志(系统日志、应用日志、网络日志等)。
- 检查异常的系统行为和文件。
- 分析网络流量,找出可疑的连接。
- 利用取证工具(如磁盘镜像、内存转储)进行深入分析。
- 对可疑文件和进程进行反向分析,查明来源和攻击路径。
2. 已经进入了内网,现在怎么还原攻击流程?
答:
- 收集和分析日志(包括网络日志和系统日志)。
- 检查被攻陷主机的文件和进程活动。
- 追踪网络连接,找出攻击者的路径。
- 分析使用的漏洞和工具,重建攻击路径。
3. 如果外网服务器被攻破,红队已经在内网漫游,应该怎么做?
答:
- 立即隔离受感染的服务器。
- 对整个网络进行全面扫描,查找其他被攻陷的设备。
- 更新所有系统和软件,修补已知漏洞。
- 清理发现的所有恶意软件和后门。
- 加强网络边界防护,监控异常行为。
4. 一台主机被攻陷,你应该怎么做?
答:
- 立即隔离受感染主机。
- 分析系统日志和网络日志,找出入侵点。
- 删除恶意软件和后门。
- 修复漏洞,恢复系统正常运行。
5. 内网一台主机沦陷,在对其他主机C端扫描,出现告警,怎么办?
答:
- 确认告警是否为误报。
- 隔离被告警主机,避免进一步感染。
- 对该主机进行详细的安全检查。
- 修复漏洞和清除恶意软件。
6. 上机排查应该看什么?
答:
- 检查系统和应用日志。
- 检查网络连接和流量。
- 检查系统进程和服务。
- 检查文件系统中的异常文件。
7. 内网告警应该如何处理,流程是怎么样的?
答:
- 具体定位到哪台机器,了解具体漏洞类型。
- 打相应补丁,修复漏洞。
- 利用webshell或shell查杀工具查杀恶意软件。
- 检查
/tmp
目录下是否有免杀木马,彻底清除。 - 在全流量分析的机器上查看是否有经过其他机器的流量。
- 分析攻击IP,确认其是否为傀儡机或VPS跳板。
- 如果是个人云主机,通过whois查询是否有最近绑定的域名或邮箱,进一步定位攻击者信息。
8. 一台主机被永恒之蓝入侵让你做应急响应处理,你会怎么操作?
答:
- 立即隔离受感染主机。
- 使用补丁工具(如Microsoft的MS17-010补丁)修复漏洞。
- 检查系统日志和网络日志,确认攻击路径和受影响的系统。
- 删除恶意软件和后门。
- 对整个网络进行全面扫描,确认没有其他受感染主机。
9. 中了挖矿病毒怎么应急响应?
答:
- 立即隔离受感染主机。
- 使用安全软件扫描并删除挖矿病毒。
- 检查系统日志和网络日志,确认感染源和传播路径。
- 更新系统和应用,修复所有已知漏洞。
- 监控系统性能和网络流量,防止再次感染。
10. 进程迁移了怎么定位?
答:
- 使用
ps
、top
等命令查看当前系统进程。 - 检查系统日志和应用日志,找出进程迁移的记录。
- 使用网络监控工具(如Wireshark)分析网络流量,确认进程的活动路径。
- 检查进程的文件和内存映像,找出迁移的来源和目标。
11.应急方面:天眼流量告警上看到挖矿,需要你 上机排查。但是通过常规的top、netstate(?)、ps(?)没有发现明显痕 迹,没有cpu过高,也没有异常进程,如何处 置排查?
1) 及时隔离主机 部分带有蠕虫功能的挖矿木马在取得本机的控制权后,会以本机为跳板机,对同 一局域网内的其他主机 进行已知漏洞的扫描和进一步利用,所以发现挖矿现象后, 在不影响业务的前提下应该及时隔离受感染 主机,然后进行下一步分析,
2) 阻断与矿池通讯
iptables -A INPUT -s xmr.crypto-pool.fr -j DROP iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP
3)清除定时任务 大部分挖矿进程会在受感染主机 中写入定时任务完成程序的驻留,当安全人员只 清除挖矿木马时,定时任务会再次从服务器下载挖矿进 程或直接执行挖矿脚本, 导致挖矿进程清除失败。
4) 清除启动项 有的挖矿进程为了实现长期驻留,会向系统中添加启动项来确保系统重启后挖矿 进程还能重新启动。所 以在清除时还应该关注启动项中的内容,如果有可疑的启 动项,也应该进行排查,确认是挖矿进程后, 对其进行清除,
5) 清除公钥文件 在用户家目录的.ssh目录下放置authoruzed_keys文件,从而免密登录该机器也 是一种常见的保持服务 器控制权的手段,在排查过程中应该查看该文件中是否有 可疑公钥信息,有的话直接删除,避免攻击者 再次免密登录该主机.
6) kill挖矿进程 对于单进程挖矿程序,直接结束挖矿进程即可。但是对于大多数的挖矿进程,如 果挖矿进程有守护进 程,应先杀死守护进程再杀死挖矿进程,避免清除不彻底. 在实际的清除工作中’应找到本机上运行的挖 矿脚本,根据脚本的执行流程确定 木马的驻留方式,并按照顺序进行清除,避免清除不彻底.
0day,逻辑漏洞如何加固?
0day攻击:
总结实战经验发现,不管什么0day漏洞,最终都需要在内网主机执行命令,主机是防护0day漏洞攻击最后也是最关键的一道关卡。
制定以主机异常命令执行为核心,以识别网络及应用层异常行为、收敛攻击面、制定快速攻击定位及处置流程为辅助的0day漏洞防护战术
检测反弹shell等关键攻击行为,由于运维人员也会执行bash、nc等指令,为避免误报,递归分析shell日志每条命令的父进程,如果发现是web类进程调用shell则出发告警(如父进程是java、httpd 子进程是sh、python)
勒索病毒
勒索病毒特征
勒索病毒样本载体的主要行为:
1、调用加密算法库;
2、通过脚本文件进行Http请求;
3、通过脚本文件下载文件;
4、读取远程服务器文件;
5、通过wscript执行文件;
6、收集计算机信息;
7、遍历文件。
处置
(1)物理,网络隔离染毒机器;
(2)对于内网其他未中毒电脑,排查系统安全隐患:
a)系统和软件是否存在漏洞
b)是否开启了共享及风险服务或端口,如135、137、139、445、3389 c)只允许办公电脑,访问专门的文件服务器。使用FTP,替代文件夹共享。
d)检查机器ipc空连接及默认共享是否开启
e)检查是否使用了统一登录密码或者弱密码
(3) 尽量不要点击office宏运行提示,避免来自office组件的病毒感染;
(4)尽量不要双击打开.js、.vbs等后缀名文件;
(5)事后处理 在无法直接获得安全专业人员支持的情况下,可考虑如下措施:
1.通过管家勒索病毒搜索引擎搜索,获取病毒相关信息。 若支持解密,可直接点击下载工具对文件进行解密
2.勒索软件本身算法存在缺陷,内存中可找到密钥;
3.攻击者服务器比较脆弱,通过攻陷服务器,获取解密密钥;
4.备份恢复
5.重装系统
钓鱼邮件
1. 怎么防护?
答:
- 使用邮件过滤和反钓鱼工具。
- 教育用户识别和报告可疑邮件。
- 配置DMARC、DKIM和SPF记录,加强邮件验证。
- 定期更新和修补邮件服务器和客户端软件。
2. 什么是钓鱼网站?
答:
网络钓鱼攻击者利用欺骗性的电子邮件和伪造的Web站点进行诈骗,受骗者会泄露财务数据(如信用卡号、账户用户名和口令)。诈骗者通常伪装成知名银行、在线零售商和信用卡公司等可信站点,约5%的人会响应这些骗局。
内存马
1. 内存马的排查
答:
- 使用内存分析工具(如Volatility)分析内存转储。
- 检查进程内存空间,寻找可疑的代码片段。
- 分析JVM中的类和方法,查找异常的类加载器和类。
2. Linux如何排查内存马?
答:
- 使用
ps
、top
等命令检查可疑进程。 - 使用
lsof
命令检查打开的文件和网络连接。 - 使用内存取证工具(如Volatility)分析内存转储。
- 检查web服务器日志,寻找可疑的访问记录。
3. 讲讲Java内存马的原理
答:
Java内存马通过在运行时动态加载恶意类或方法,将恶意代码注入JVM内存中,不需要在磁盘上留下痕迹。常见的注入方式包括Filter、Servlet、Listener和Agent等。
4. Java内存马怎么判断?
答:
- Filter名字特别。
- Filter优先级是第一位。
- 对比web.xml中没有filter。
- 特殊classloader加载。
- 对应的classloader路径下没有class文件。
- Filter的doFilter方法中有恶意代码。
5. 如何排查Java内存马?
答:
- 利用Java Agent技术遍历所有已加载到内存中的类,判断是否为内存马。
- 分析JVM中的类和方法,检查异常的类加载器和类。
6. Java内存马filter、servlet、listener、agent的排查,细说一下agent特别是冰蝎类型的排查思路
答:
- 使用Java Agent技术遍历所有已加载到内存中的类。
- 检查Filter、Servlet、Listener的定义和加载情况。
- 对比web.xml中是否存在定义的Filter、Servlet和Listener。
- 对比加载的类和文件系统中的class文件,找出异常。
- 分析恶意代码特征,查找常见的冰蝎、哥斯拉内存马特征。
7. Java内存马的清除
答:
- 清除内存马的Filter的恶意代码。
- 模拟中间件注销Filter。
8. PHP内存马的原理,如何防范
答:
- PHP内存马通过动态注入恶意代码到内存中,不在磁盘上留下痕迹。
- 防范方法包括使用WAF(Web Application Firewall)防护,定期扫描代码和日志,使用安全编码实践,限制PHP的动态加载功能。
9. 如何查看系统内存shell
答:
答:
- 先判断是通过什么方法注入的内存马,可以先查看web日志是否有可疑的web访问日志,如果是filter或者listener类型就会有大量url请求路径相同参数不同的,或者页面不存在但是返回200的,查看是否有类似哥斯拉、冰蝎相同的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本吻合。
- 通过查找返回200的url路径对比web目录下是否真实存在文件,如不存在大概率为内存马。
- 如在web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的error.log日志查看是否有可疑的报错,根据注入时间和方法根据业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过webshell,排查框架漏洞,反序列化漏洞。
jsp内存马形式及排查思路:
基于servlet:基于某个指定的URL访问,后⾯跟上系统命令,如/xxxx?cmd=whoami
基于filter:只要设置filter是/*,那么访问baseURL的所有命令都可以执⾏命令,如baseURL/?
cmd=whoami
基于listener:同样可以是所有的baseURL均可
基于javaagent
1、如果是 jsp 注入,日志中排查可以 jsp 的访问请求。
2、如果是代码执行漏洞,排查中间件的 error.log,查看是否有可疑的报错,判断注入时
间和方法。
3、根据业务使用的组件排查可能存在的 java 代码执行漏洞,spring 的 controller 了类型
的话根据上报 webshell 的 url 查找日志,filter 或者 listener 类型,可能会有较多的 404
但是带有参数的请求
主要是通过⽇志(error.log,access.log)找到是否有执⾏相关系统命令,如果存在且访问的URL可以
任意或者指定的URL
利⽤javaagent或javaassit进⾏覆盖
木马
1. 木马驻留系统的方式有哪些?
答:
- 注册表
- 计划任务
- 服务
- 启动目录
- 关联文件类型