入侵排查与响应-window和linux版

目录

(一)关于这方面的一些简单了解

1、我们的电脑为什么会被黑客入侵

2、黑客攻击的方式

(二)window入侵排查

1、查看异常特征

2、系统账户安全

3、检测异常端口、进程

4、查看启动项、计划任务、服务

5、检查系统相关信息

(三)linux入侵排查

1、linux系统排查

2、linux用户排查

3、linux文件和命令排查

4、linux启动项和定时任务排查

(四)window和linux的应急响应

1、事前准备:

2、事后处理:


(一)关于这方面的一些简单了解

1、我们的电脑为什么会被黑客入侵

黑客入侵,是为了达到他们的某种目的,可能是下面

  • 窃取数据:黑客可能会访问和下载目标系统中的敏感数据,如个人身份信息、银行账号、信用卡信息、公司机密等。

  • 加密勒索(勒索软件):黑客使用恶意软件(例如勒索软件)加密目标系统上的文件,然后要求受害者支付赎金以获取解密密钥。只有在支付赎金后,黑客才会提供解密文件所需的密钥。

  • 瘫痪服务:黑客可能会对目标系统进行拒绝服务(DDoS)攻击,通过使系统资源超载或不可用,从而导致服务停止或暂时瘫痪。

  • 挖矿:黑客可能会利用入侵的系统资源进行加密货币的挖矿。他们安装恶意软件,利用计算机的处理能力来生成或采矿加密货币,从而获得利润。

  • 跳板机(肉鸡):黑客在入侵过程中可能会在目标系统上安装后门程序,使其成为跳板机。通过利用跳板机,黑客可以隐藏其真实身份并进一步攻击其他系统或网络。

2、黑客攻击的方式

下面是实现他们这种目的方法:

  • DDoS(分布式拒绝服务攻击):指黑客利用多个计算机或设备同时向目标系统发送大量数据流量,以使其服务超载,从而导致系统无法正常运行或瘫痪。

  • 后门:后门是指黑客在未经授权的情况下在系统中留下的一种特殊程序或方法,使黑客能够绕过正常的认证和访问机制,从而在将来无需再次入侵就可以访问系统。

  • 漏洞:漏洞是指计算机系统、应用程序或网络中存在的错误或弱点,黑客可以利用这些弱点来入侵系统或执行恶意活动。修补漏洞是保持系统的关键任务之一。

  • 扫描:指黑客使用特定的工具或程序对网络或系统进行主动探测,以发现存在的漏洞、弱点或可攻击的目标。扫描通常是黑客攻击的前奏阶段。

  • 窃听:窃听是指未经授权的监听和拦截他人的通信或数据传输,以获取敏感信息。黑客可以通过各种手段(例如使用恶意软件或操纵网络流量)进行窃听。

  • 钓鱼:钓鱼是指黑客通过伪装成可信实体(如银行、社交媒体平台或其他组织)的方式,诱使用户提供个人信息、登录凭证或进行资金交易等。钓鱼通常通过欺骗用户而不是技术手段实施。

  • 干扰:干扰是指黑客有意地干扰或中断目标系统的正常运行。这可以包括破坏数据、篡改文件、停止服务或使系统出现错误等行为。

(二)window入侵排查

1、查看异常特征

第一步是先查看异常,是哪发生了异常,先查看一下发生异常的范围是多大,影响有多大,具体排查的内容是:

  • 操作异常:是否卡顿(资源调用频繁)、是否有报错的窗口、是否发生重启、是否蓝屏。可以直接使用资源管理器,或者是资源管理器的一些软件,查看
  • 资源异常:CPU、内存、网络
  • 文件异常:恶意文件、加密文件
  • 设备告警:防火墙,杀软,检测平台IDS,态势感知平台等,通过安全产品排查异常

2、系统账户安全

第二步,是查看登录账户 ,有些黑客入侵之后,下一步是想你的这台电脑,真正变成它的电脑,也就是,黑客不管什么时候控制,就能什么时候控制,他要实现这一步,就是提权的过程,添加用户就是常见的方式之一,所以我们要对用户进行查找

具体方式如下:

1、先看看弱口令用户和是否开启远程桌面协议

  • 弱口令用户,之所以查看弱口令用户,是因为弱口令用户,最容易被黑客攻破,如果你的电脑账户被攻破,用其账户进去登录,最有可能的账户,就是弱口令账户
  • 是否开启远程桌面协议:为了方面操作,黑客可能开启远程桌面协议,然后通过该协议,直接进行操作你的电脑,就不用命令式操作,查看命令 :netstat -an |findstr 3389
    如果没有开启,什么信息都没有,如下:

2、查看是否存在可疑账号

  • win+r,输入cmd中,再输入net user,与net user 用户名,这是着看所有用户,看看是否有异常用户
  •  win+r,输入lusrmgr.msc,查看所有用户

3、查看隐藏账号(黑客隐藏起来的账户)和克隆账户(黑客克隆账户,用来欺骗他人信息)

  • win+r,输入lusrmgr.msc,可以查看隐藏账号,隐藏账号的特征是再用户名后有$符号,例如aa$
  • 使用工具,例如D盾web查询工具等,可以查看隐藏彰化
  • 注册表查看,win+r,输入regedit。然后进入HKEY_LOCAL_MACHINE\SAM\SAM目录下可以查看所有账户,包括隐藏账户和克隆账户(如果不明白什么是克隆账户,和隐藏账户,可以查看文章https://blog.csdn.net/weixin_43598634/article/details/122902727

4、查看登录时间:

win+r,输入eventvwr.msc,用事件查看器查看登录事件,查看安全日志,如果不明白日志信息,可以看看这篇文章https://blog.csdn.net/m0_73923817/article/details/128202250

3、检测异常端口、进程

查看端口和进程可以提供有关系统和网络活动的关键信息,有助于确定是否存在入侵或恶意活动的迹象,查看端口,看看有没有什么异常的服务被开启,一些服务是由漏洞,黑客可以通过漏洞然后进行提权、内网渗透等操作。查看进程是查看是否异常的进程运行我们为见过的程序,黑客,可能是靠恶意程序,例如木马,来反弹shell,

端口:

  • 1 查看系统自定义的端口情况:‪C:\Windows\System32\drivers\etc\services
  • 2 netstat -ano查看端口情况
  •  3 tasklist|findstr "进程号":查看进程号
  •  4 杀死服务:taskkill /f /t /im 服务名

 通过查看所有进程和端口号,配合查看系统自定义的端口,如果存在异常,可能是黑客开启的

进程:

  • 1,利用进程管理器,查看运行的进程,这是简单版,也可以使用微软提供的高级版软件ProcessExplorer,以进程树的方式查看进程,而已更加详细
  • 2、cmd中输入msinfo32,查看所有进程,如果不指定该服务软件是不是病毒,可以通过微步云沙箱进行查看:微步在线云沙箱 (threatbook.com)

  •  3、利用安全设备,例如D盾查看进程,

4、查看启动项、计划任务、服务

启动项、计划任务、服务这些地方都是黑客进行维权的地方,

  • 启动项是指在操作系统启动时自动执行的程序或脚本,如果在这里面植入病毒,效果就是,你每开机一次,病毒就会启动一次,这样就会反弹shell到黑客,黑客就能控制你的电脑。
  • 计划任务是预先设置的按计划执行的任务,可以在计算机空闲时执行某些操作,黑客可能设置计划任务,每个一段时间就执行他存放的病毒文件
  • 服务是在操作系统后台运行的程序或进程,提供特定的功能和服务,

启动项查看:

1、cmd输入msconfig
2、注册表(win+r,输入regedit)

  • HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce

3、一些安全工具,例如火绒——安全工具——启动项管理

计划任务查看

win+r:输入taskschd.msc

win+r:输入compmgmt.msc

win+r:输入cmd:输入schtasks.exe

 服务查看:

win+r:输入services.msc

5、检查系统相关信息

1、查看关键的文件和目录,是否存在可以文件或目录,例如C:\User,添加用户之后,会生成一个以用户名为名的文件夹

2、查看最近打开的文件:在文件路径输入:%userprofile%\AppData\Roaming\Microsoft\Windows\Recent\

3、查看回收站、浏览器下载目录、浏览器历史记录

4、根据内容搜索恶意文件

  • 在cmd中,findstr /m/i/s "eval" *.php  查找.php后缀文件
  • 用everything、filelocator等专用软件进行高级搜索

5、查看最新修改文件:利用everything软件

(三)linux入侵排查

1、linux系统排查

1、查看CPU内存磁盘情况:

  • top -c -o %CPU
  • top -c -o %MEM
  • ps -aux --sort=-pcpu|head -10:显示当前运行进程的详细信息,并按照 CPU 使用率的降序进行排序,最后显示前10个占用 CPU 资源最多的进程
  • df -Th

2、查看系统进程情况

ps -ef:
ps -aux :
pstree:

3、查看网络连接情况

  • lsof -i
  • netstat -antpl
  • iptables -L

2、linux用户排查

1 系统用户
cat /etc/passwd:查看用户信息

awk -F: '$3==0{print $1}' /etc/passwd  查看超级用户(uid=0)

who:查看当前登录的用户

w:显示已登陆的用户,且在执行的命令

last:查看登录成功的用户

lastb:查看最近登录失败的用户

lastlog:查看所有用户最近登录的时间

2 审计日志

  • 整体日志:/var/log/message
  • 登录注销日志last:/var/log/wtmp
  • 登录日志lastlog:/var/log/lastlog
  • 登录失败日志lastb:/var/log/btmp
  • 当前用户w,who,users:/var/log/utmp
  • 定时任务日志:/var/log/cron
  • 系统应用登录日志:/var/log/secure
  • 软件安装日志:/var/log/yum.log

各种应用登录日志:

  • /var/log/vsftp.log
  • /var/log/httpd/access.log
  • /var/log/samba
  • /var/log/nfs
     

3 历史命令

  • history 

3、linux文件和命令排查

系统文件篡改:

  • find /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime -7 | xargs ls -alh

系统命令篡改():

  • vim ~/.bashrc

SSH key文件

  • cd /root/.ssh
  • cat authorized_keys

4、linux启动项和定时任务排查

chkconfig:

  • systemctl list-unit-files |grep sshd
  • chkconfig telnet on
  • chkconfig telnet off

systemctl

  • systemctl list-unit-files --type=service  | grep sshd
  • systemctl enable mysqld.service
  • systemctl disable mysqld.service

文件

  • /etc/rc.d/rc:这是一个脚本文件,通常用于系统启动时运行系统初始化脚本和服务。

  • /etc/rc:这是一个目录,它包含系统启动过程中运行的所有脚本。具体的脚本名称可能会因Linux发行版而异。

  • /etc/rc.local:这是一个用户自定义脚本文件,在系统启动时会执行其中的命令。您可以根据需要在此文件中添加自己的启动脚本或命令。

  • /etc/rc.d/rc.local:类似于/etc/rc.local文件,它也是用于在系统引导期间运行自定义脚本和命令的文件。但是,它专门用于一些发行版,如Red Hat Enterprise Linux (RHEL)和CentOS。

  • /etc/init/*.conf:用于配置和控制不同系统服务的配置文件

  • /etc/rc$runlevel.d/:包含了在系统不同运行级别(runlevel)下启动和停止服务所需的脚本

  • /etc/profile:用于设置用户登录时的环境变量、路径和初始命令等。

  • /etc/profile.d/:这是一个目录,其中包含用于设置系统环境变量和默认配置的脚本文件。这些文件会在用户登录时执行,并为每个用户的环境提供个性化的配置。

定时任务:

  • crontab -l
  • cat /etc/crontab
  • ll /etc/cron.*

(四)window和linux的应急响应

应急响应分两个阶段,当攻击发生之前,要做好准备,事情发生之后,也要对应的方法应对。

1、事前准备:

  • 数据备份:定期进行数据备份是防范数据丢失和恶意攻击的重要措施。确保备份数据的完整性和可靠性,并将其存储在安全的位置。备份的频率和恢复测试也值得关注,以确保在需要时可以迅速恢复数据。

  • 风险评估:进行风险评估可以帮助组织了解潜在的安全风险和威胁,进而采取相应的措施进行防范。风险评估通常包括识别和评估系统、网络和应用程序的漏洞和弱点,以及评估可能的影响和潜在损失。

  • 安全巡检:定期进行安全巡检可以发现系统和网络的潜在漏洞和安全威胁。这可能包括检查系统补丁和更新情况、访问控制策略、日志记录和监控机制等。及时发现和修复安全问题可以减少潜在的安全事件。

  • 应急演练:定期进行应急演练和模拟演习可以确保应急响应团队熟悉应急计划和流程,并提高其应对紧急情况的能力和效率。通过模拟实际的安全事件,可以识别和弥补响应过程中的不足之处。

  • 防范措施:采取适当的防范措施可以减少安全威胁的发生和影响。这包括使用防火墙、入侵检测系统、反恶意软件工具等,以及实施访问控制策略、密码策略和安全补丁更新等。

  • 安全培训:定期进行安全培训可以提高员工的安全意识,并帮助他们识别和应对安全威胁。培训内容可以涵盖密码安全、社会工程攻击、网络钓鱼等,以及关于应急响应的最佳实践。

2、事后处理:

  1. 信息收集:

    • 收集与安全事件相关的所有可用信息,包括日志、警报、监控数据等。
    • 确定攻击的时间、持续时间和受影响的系统或资源。
  2. 类型判断,是哪一种安全事件:

    • 根据收集到的信息和已有的安全知识,确定安全事件的类型,如DDoS攻击、恶意软件感染、数据泄露等。
  3. 原因分析:

    • 分析攻击者的行为模式和技术手段,找出攻击的原因和可能的目标。
    • 研究攻击者使用的工具和漏洞,以便加强未来的防御措施。
  4. 事件处置:

    • 隔离受攻击的系统或资源,以防止进一步扩散。
    • 执行修复措施,如关闭漏洞、删除恶意软件、重建受损的系统等。
    • 启动备份恢复策略,还原恢复受损的数据和系统。
  5. 编写报告:

    • 撰写详细的应急响应报告,包括事件描述、分析结果、处置过程和建议的改进措施。
    • 报告应包括足够的技术细节,以便其他安全团队或管理层了解事件的全貌。

猜你喜欢

转载自blog.csdn.net/weixin_49349476/article/details/131516727