首页 > 其他分享 >计算机/网安 面试例题(八)

计算机/网安 面试例题(八)

时间:2024-03-24 23:24:19浏览次数:25  
标签:查看 检查 etc 面试 排查 网安 服务器 日志 例题

应急与响应

01-Windows加固方法

  Windows加固:修改弱口令,对各个服务密码排查,然后对服务配置文件进行更改禁用php函数实行黑名单白名单

  对服务版本进行排查查找当前版本是否存在Nday

  iptable设置用户相关服务端口

  安装杀毒软件

02-形容passwd和shadow区别

  • /etc/passwd 存账户信息一般不存密码 
  • /etc/shadow主要用来存密码
  • /etc/passwd默认是任意用户可读只有root用户可修改  /etc/shadow 默认只有root用户可读可写
  • /etc/passwd 包含系统用户和用户的主要信息
  • /etc/shadow 用于储存系统中用户的密码,又称为影子文件
  • /etc/group 记录组ID和组名的对应文件

03-系统日志分析

常见的应急响应事件分类:

  • web入侵:网页挂马、主页篡改、Webshell
  • 系统入侵:病毒木马、勒索软件、远控后门
  • 网络攻击:DDOS攻击、DNS劫持、ARP欺骗

04-网站被挂马如何应急

  1.取证,登录服务器,备份,检查服务器敏感目录,查毒(搜索后门文件-注意文件的时间,用户,后缀等属性),调取日志(系统,中间件日志,WAF日志等)

  2.处理,恢复备份(快照回滚最近一次),确定入侵方法(漏洞检测并进行修复)

  3.溯源,查入侵IP,入侵手法(网路攻击事件)的确定等

  4.记录,归档--------预防-事件检测-抑制-根除-恢复-跟踪-记录通用漏洞的应对等其他安全应急事件

05-Windows中毒了 如何应急

一、检查系统账号安全

  1、查看服务器是否有弱口令、可疑账号、隐藏账号、克隆账号、远程管理端口是否对公网开放。

  2、Win+R 打开运行,输入“eventvwr.msc”打开操作系统日志,查看管理员登录时间、用户名是否存在异常

二、检查异常端口、进程

  1、使用 netstat -ano 检查端口连接情况,是否有远程连接、可疑连接(主要定位 ESTABLISHED)。

  2、根据 netstat 定位出的 pid,再通过 tasklist 命令进行进程定位 tasklist | findstr “PID”

  3、也可以使用 D 盾_web 查杀工具、火绒剑、XueTr 等工具进行判断可疑进程(如蓝色、红色进程、没有签名验证信息的进程、没有描述信息的进程、进程的属主、进程的路径是否合法、 CPU 或内存资源占用长时间过高的进程)

三、检查启动项、计划任务、服务

  1、检查服务器是否有异常的启动项,如:单击开始菜单 >【运行】,输入 msconfig看一下启动项是否存在可疑启动,注册表run键值是否存在可疑启用文件,组策略,运行 gpedit.msc 查看脚本启动是否存在启用文件等

  2、检查计划任务,如单击【开始】>【设置】>【控制面板】>【任务计划】,查看计划任务属性,便可以发现木马文件的路径

  3、检查服务自启动,如单击【开始】>【运行】,输入 services.msc,注意服务状态和启动类型,检查是否有异常服务。

四、检查系统相关信息

1、查看系统版本以及补丁信息

  检查方法:单击【开始】>【运行】,输入 systeminfo,查看系统信息是否打了补丁

2、查找可疑目录及文件

检查方法:

  a、查看用户目录,新建账号会在这个目录生成一个用户目录,查看是否有新建用户目录。

    Window 2003 C:\Documents and Settings

    Window 2008R2 C:\Users\

  b、单击【开始】>【运行】,输入%UserProfile%\Recent,分析最近打开分析可疑文件。

  c、在服务器各个目录,可根据文件夹内文件列表时间进行排序,查找可疑文件。

五、自动化查杀

  用360、卡巴斯基等病毒查杀系统病毒木马,Web 可以用 D 盾、河马工具查杀 Webshell 后门

六、日志分析

  用 360 星图日志分析工具进行分析攻击痕迹或手工结合 EmEditor 进行日志分析

06-主机被入侵

1. 优先提取易消失的数据

   - 内存信息

   - 系统进程`free -m`

   - 路由信息`tracert`

2. ifconfig`查看网卡流量,检查网卡的发送、接收数据情况

3. NetHogs`实时监控带宽占用状况

4. 查看Linux系统日志 `/var/log`

5. ClamAV`杀毒软件

07-如何发现克隆账号、隐藏账号

  去注册表里查看用户、使用安全工具、d盾查影子用户

  net user test$ 123 /add  //添加隐藏用户

  net localgroup administrators test$ /add  //添加进用户组

  注册表种删除 regedit 路径 HKEY_LOCAL_MACHINE --SAM–SAM(需要右击权限修改管理员权限)-Domains-Account-users 查看Users表项与Names表项中的项数量是否一致lusrmgr.msc

  net user test$ 123/del 删除

08-window系统日志分析

  window日志分为系统日志,应用程序日志和安全日志。在应急溯源中,重点关注安全日志

日志默认保存位置 

系统日志:C:\Windows\System32\winevt\Logs\System.evtx

应用程序日志:C:\Windows\System32\winevt\Logs\Application.evtx 安全日志:C:\Windows\System32\winevt\Logs\Security.evtx

  1. 不同事件对应不同的ID,可以通过过滤ID快速浏览事件

  2. 一般是在事件查看其中,对日志时间ID进行筛选。比如在勒索病毒的应急响应中,我们通过事件ID-4624对登录成功的日志进行筛选,因为勒索病毒一般是通过RDP爆破的方式进行传播的,所以我们重点关注登录类型为10的登陆成功的日志

排查流程

  1.查看开启的服务以及服务对应的端口  tasklist | findstr “PID” //根据netstat 定位出的pid,再通过tasklist命令确认端口对应的进程

  2.使用Process Explorer 查看进程,当然 d盾也可以查看 可以使用火绒剑等工具进行启动项分析

09-怎么发现服务器中的一句话或者大马

  d盾查杀网页目录

  手动查找:通过查看服务器日志,最近被创建、修改的文件等

    1.查找上传、写入日志 

    2.webshell扫描工具

10-入侵排查思路

已经被入侵

一、目的已经达成,木马,后门均已销毁

  1.既然知道被入侵,定位被入侵的时间点

  2.如果这个服务器是云服务器,对其进行快照。(目的,封存内存。)

  3.当定位到时间点,查设备流量信息。找到木马链接信息

  4.查找系统内对应的日志,找到相关线索

  5.如果日志被删除,因为机器快照已经建立。使用Winhex对硬盘数据进行恢复

二、目的没有达成,数据正在回传。木马,后门均在服务器上运行

  1.下线服务器,封禁攻击IP

  2.Volatility 内存取证 建立快照 提取内存定位到shellcode找到他的IP

  3.如果他们使用常见的C2的工具,我们可以根据流量分析出入侵者的意图

  4.关闭服务器,或者在防火墙上禁掉他们的IP。登录服务器,对shellcode进行移除

  5.重启以后进入安全模式,排查注册表 计划任务 服务 放大镜后门 shift后门

正在被入侵

  可能入侵者在尝试进行攻击的时候,下线,然后对机器进行排查

比如:弱口令爆破

  1.弱口令爆破会产生日志,日志一定要采用远程日志系统,例如Linux的rsyslog。开启远程日志系统的好处:不怕日志被攻击者删除

  2.一定要找到入侵者的源IP,在防火墙下发阻断策略

11-windows入侵排查

1. 检查系统账号安全

2. 历史命令

3. 检查异常端口、进程

4. 检查启动项、计划任务、服务

5. 日志分析

6. 1. 日志中搜索关键字:如:union,select等

   2. 分析状态码:

   1xx   information

   200   successful

   300   redirection

   4xx   client error

   5xx   server error

7.查找可疑文件

12-Windows被黑客登录了,怎么找到登录ip

  查看Windows日志、登录日志、远程桌面日志、审核策略与事件查看器

13-Linux入侵排查思路

  1、账号安全

  2、历史命令

  3、检查异常端口

  4、检查异常进程

  5、检查开机启动项

  6、检查定时任务

  7、检查服务

  8、检查异常文件

  9、检查系统日志

14-中挖矿病毒怎么分析解决

  • ps -aux查看进程分析
  • top分析算力情况,算力特别多的一般是挖矿病毒
  • 对流量进行过滤含有矿池服务器的的流量包就是挖矿病毒
  • 以及任务计划可以排查出挖矿病毒,然后kill掉进程,rm掉程序

15-中挖矿怎么办?删不掉呢

  如果情况允许,先下线,并检查挖矿是否有在内网传播,及时下线所有被传播的主机,上机排查攻击痕迹、一般可以从cup占用、可疑进程、开放端口、计划任务、服务项等几个方面进行排查,然后将样本上传到在线分析平台,然后清除挖矿主程序,主要就是双向封禁矿池地址、删除计划任务自启动、删服务,结束恶意进程、删病毒

  1、删不掉的情况,我们先确认下是因为程序正在使用,还是权限不够,根据情况来进行相应措施

  2、直接降权,降到没有执行权限

16-ssh被爆破的应急解决

  首先日志分析 想到的是`/var/log/secure`,

  查看登录相关安全日志:`tail -f /var/log/secure`

  这个日志文件记录了验证和授权方面的信息,只要涉及账号和密码的程序都会记录下来。统计一下登录成功的IP有哪些,看登陆成功的IP是否都是正常用户的,如不是,立刻下线,并检查这台服务器是否有对其他内网服务器进行攻击,对服务器

进行检测,是否有添加用户或后门等

  日志分析--->查看用户安全性--->确定攻击情况--->关闭22端口

17-SSH如何加固

  1、禁止向公网开放端口,若必须开放应限定管理IP地址并加强口令安全审计(口令长度不低于8位,由数字、大小写字母、特殊字符等至少两种以上组合构成)

  2、更改服务器ssh默认端口

  3、部署入侵检测设备,增强安全防护

  4、同一个ip登录超过5次错误实行黑名单

  5、禁用root登录

  6、禁用空密码

  7、改用密钥登录

  8、基于受信任主机的无密码登录

18-中了内存马如何排查 (不死马)

源码检测

  java中,只有被JVM加载后的类才能被调用,或者在需要时通过反射通知JVM加载。所以特征都在内存中,表现形式为被加载的class,可以通过一些工具或方法获取到JVM的运行时内存中已加载的类, Java本身提供了Instrumentation类来实现

  运行时注入代码并执行,所以我么可以筛选条件组合进行检测:

  ①新增的或修改的

  ②没有对应class文件的

  ③xml配置中没注册的

  ④冰蝎等常见工具使用的

  ⑤filterchain中排第一的filter类

还有一些比较弱的特征可以用来辅助检测,比如类名称中包含shell或者为随机名,使用不常见的classloader加载的类

  另外,有一些工具可以辅助检测内存马,如[java-memshell-scanner](https://github.com/c0ny1/java-memshell-scanner)是通过jsp扫描应用中所有的filter和servlet,然后通过名称、对应的class是否存在来判断是否是内存马

  • 如果是jsp注入,日志中排查可疑jsp的访问请求。
  • 如果是代码执行漏洞,排查中间件的error.log,查看是否有可疑的报错,判断注入时间和方法

  根据业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过webshell,排查框架漏洞,反序列化漏洞。

  • 如果是servlet或者spring的controller类型,根据上报的webshell的url查找日志(日志可能被关闭,不一定有),根据url最早访问时间确定被注入时间
  • 如果是filter或者listener类型,可能会有较多的404但是带有参数的请求,或者大量请求不同url但带有相同的参数,或者页面并不存在但返回200

19-日志中看到的行为分析

蚁剑 菜刀 

  post一个PHP的函数  这些函数可以对文件进行操作  可以对数据库进行操作 如果特征编码 例如base64 rot13 通过该种编码的解码来实现流量的解密

冰蝎

  aes-128加密

  在开始连接进行密钥协商的时候 抓取冰蝎流量密钥值

  通过冰蝎密钥 对加密的流量进行解密在进行行为分析

20-应急响应的六个过程

  准备-检测-抑制-根除-恢复-跟踪总结

21-被上传一句话、日志被清除、 已经免杀

  一般都有备份文件,可以提取一下备份文件的md5值,再把现在的md5值提取出来对比一下,因为文件发生改变 md5就会改变  通过软件(文件对比器)对比一下,看看有没有不同的地方 初步缩写范围 基本就可以确认恶意文件

22-Linux系统中毒 如何应急

  1、检查用户及密码文件/etc/passwd、/etc/shadow 是否存在多余帐号,主要看一下帐号后面是否是 nologin,如果没有 nologin 就要注意;

  2、通过 who 命令查看当前登录用户(tty 本地登陆 pts 远程登录)、w 命令查看系统信息,想知道某一时刻用户的行为、uptime查看登陆多久、多少用户,负载;

  3、修改/etc/profile的文件,在尾部添加相应显示时间、日期、ip、命令脚本代码,这样输入history命令就会详细显示攻击者 ip、时间历史命令等;

  4、用 netstat -antlp|more命令分析可疑端口、IP、PID,查看下 pid 所对应的进程文件路径,运行ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的pid 号);

  5、使用ps命令,分析进程 ps aux | grep pid

  6、使用 vi /etc/inittab 查看系统当前运行级别,通过运行级别找到/etc/rc.d/rc[0~6].d对应目录是否存在可疑文件;

  7、看一下crontab定时任务是否存在可疑启用脚本;

  8、使用chkconfig --list 查看是否存在可疑服务;

  9、通过grep awk命令分析/var/log/secure安全日志里面是否存在攻击痕迹;

  10、chkrootkit、rkhunter、Clamav 病毒后门查杀工具对 Linux 系统文件查杀;11、如果有 Web 站点,可通过 D 盾、河马查杀工具进行查杀或者手工对代码按脚本木马关键字、关键涵数(evel、system、shell_exec、exec、passthru system、popen)进行查杀Webshell 后门。

标签:查看,检查,etc,面试,排查,网安,服务器,日志,例题
From: https://www.cnblogs.com/3cH0-Nu1L/p/18091708

相关文章

  • PHP基础面试题大全(附带详细答案)
    1,require()和include区别?include:如果文件不存在,导致致命错误,脚本停止;每次都要进行读取评估。require:如果文件不存在,导致一个警告,脚本继续;只处理多次。2,isset()和empty()区别?isset:变量等于null或者没有初始化,返回false,否则返回true。empty:变量未设置,或者等于0,null,空字符串......
  • PHP高级面试题大全(附带详细答案)
    1,zval详解(php5时期的)/*这个是zval的实际结构,zval就是php中定义变量的容器,你申请一个变量就是创建一个zval对于数组,数组本身是一个zval,数组中的每个值也是一个zval*value;是值或者是地址,内容是值还是地址,要看type的值是什么*refcount__gc;计数,用于垃圾回收,......
  • 面试官:小伙子知道synchronized的优化过程吗?我:嘚吧嘚吧嘚,面试官:出去!
    写在开头面试官:小伙子,多线程中锁用过吗?我:那是自然!面试官:那你知道synchronized的优化吗?我:synchronized作为重锁,开销大,在早期不被推荐使用,后期进行了优化,至于怎么优化的话,您让我想想哈...面试官:好的,那你出去好好想吧!对于synchronized的优化,虽然被问到的场景不多,但在很多网友发......
  • 设计模式-单例模式(模拟面试官八股)
    一、请说下设计模式中,你熟悉的设计模式单例模式二、单例模式你有了解吗单例模式是创建型设计模式,该类负责创建自己的对象,他确保一个类只有一个实例,并且提拱了一个去全局访问点来访问该实例。二、单例模式有几种实现方式 1.饿汉式(静态常量)优点:写法容易,在类加载的时候就......
  • 【面试】总结
    面向对象/c++/Javahttps://blog.csdn.net/qq_46111316/article/details/127933972QT信号槽机制YOLOv5OpenVINO深度学习/人工智能基础TransformerResNet,Pandas,Adam优化算法,飞桨框架408专业课......
  • 【每周例题】力扣 c++ 自除数
    自除数题目 题目分析1.这道题可以直接用暴力求解,动用for循环遍历从left到right的每个数,使用while判断是否为自除数。2.满足自除数有两个要求:1.数位不能存在0;2.自除数除于数位为0;这里可以使用if语句进行判断。3.由于自除数的数量位置,所以存储自除数可以采用容器或者数列来存......
  • 【每周例题】力扣 c++ 各位相加
    各位相加题目各位相加 题目解析这个题目看似需要使用递归方法或者使用while循环进行求解,其实你只需要统计前三十个数就可以发现规律:  根据图表可知,除了数字0,其他数字各位相加的最后结果都是其数字对9取模。所以从这个结果可以得到以下代码代码#include<iostream>u......
  • MySQL面试基础题
    MySQL面试基础题一、基础知识1.数据库常见的概念DB:数据库,存储数据的容器。DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB。SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件持有的,而是几乎所有的主流数据库软件通用的语言。中国人之间交流需要......
  • 【每周例题】力扣 C++ 两数之和
    两数之和题目 题目分析1.返回两个数的下标和,第一反应可以是采用双for循环2.数组数值等于整数目标值,那就采用if判断,符合直接输出,跳出循环,避免输出多个答案3.由于力扣题目采用了容器,大家可以选择点击该链接了解:容器代码#include<iostream>#include<vector>usingnamesp......
  • 【每周例题】力扣 C++ 组合
    组合题目力扣组合 题目解析1.我们可以根据题目分析可知,题目所要求我们做的是:从1到n进行遍历,找出k个数组成小组合,再将小组合拼接在一起成为大组合输出。2.所以,根据题目,我们可以采用两个数组,一个一维数组temp,负责存储k个数,组为小组合,一个二维数组res,存储小组合,变为大组合。......