对服务器中恶意程序分析的收获

简介: 对服务器中恶意程序分析的收获

       前几天公司客户的网站被篡改为带有非法信息的恶意页面,我帮客户进行了处理,处理完后把其中的 Web 木马或者说是带有恶意的 Web 脚本进行了保存,并进行了简单的分析。分析之后稍有一些收获。


       首先,对于服务器的基本防护方面。这个客户使用的是阿里云的 Windows 系统,搭配着 IIS 的 Web 服务器。对于,Windows 服务器操作系统而言,应该把操作系统自带的审计策略功能尽可能的多开启一些,方便事后的分析。再者就是关掉一些没有必要的服务,当然了这些都是老生常谈的东西了。不过,我认为最重要的一点是对系统打补丁,其实对于任何一台系统而言,只要有一个良好的使用习惯的话,可以不安装杀毒软件,但是操作系统的补丁一定要安装,2017 年的永恒之蓝导致了大面积系统中了勒索病毒,其实只要早点打过补丁,根本没有这种危险。毕竟有很多“黑客”依靠分析系统补丁而去攻击那些未打补丁的系统。

       操作系统及操作系统中的一些环境属于恶意程序赖以生存的环境,好好看护还是没有错的。公司的官网被植入木马为什么失败了,原因是我们服务器的实际环境和黑客的测试环境是有差别的,在不了解环境的情况下他没有成功(按照他的手法,我复现成功了,因为我了解环境)。


       其次,对于分析 Web 相关的恶意程序要比分析二进制的恶意程序简单许多,毕竟代码就在那里,虽然代码做了混淆不容易阅读,但是比起分析二进制的恶意代码要容易一些。而且分析 Web 相关的恶意程序在本地环境就好,我都没有在虚拟机中进行分析(这样是不是显得不专业?)。如果是二进制的恶意程序,万一是感染型的,或者是 Rootkits 的话,不在虚拟机中自己的系统就彻底的不保了。

       在我分析服务器中的 Web 恶意程序时,了解了一些 PHP 的编码(这里的编码不是编写代码的意思,而是把代码转换为另一种形式存在的意思)技巧,也了解了该恶意程序是如何绕过杀毒软件文件监控系统(在我电脑上进行分析时,我使用的时 Win10 系统,它自带了杀毒软件,我电脑上没有什么全家桶之类的)并在内存中运行的。甚至看着那些黑客留下的程序忍不住感叹,这代码写的真是比程序员写的还棒!


       最后就是有一些称手的安全工具。防护和入侵本身就是不对等的,为什么这么说呢?做防护的话需要面面俱到,因为任何的疏忽都可能导致所有的安全白做,但是要做到面面俱到太难了。而对于入侵来说,只要找到一个合适的点,那么就可以让系统沦陷。

       在查看和分析服务器上的一些配置、日志等时,由于服务器上缺少一些必要的工具,让自己感觉非常的不方便。因此在这种情况下如果能有自己称手的安全防护工具或事后分析就再好不过了。当然,配合自己的经验写一些自己的安全工具来辅助防护或分析,那么就会更加的得心应手,从而事半功倍了。


       总结一下,之前自己也接触过一些安全设备、安全工具等,甚至也写过简单的安全工具,多少也算是有一些安全知识吧。但是对于这样的“第一现场”应该算是第二次吧(第一次是公司的官网……)。虽然不复杂,但是也有一些收获,更多的是想法层面的收获吧。很多事情知易行难,把一些想法落地成为现实,需要继续努力,去更多的实践,不断的总结。这样才有机会在面对更为复杂的环境时有能力去解决相应的问题,服务于更多、更大的客户。

相关文章
|
6月前
|
监控 关系型数据库 MySQL
|
2月前
|
机器学习/深度学习 弹性计算 缓存
阿里云服务器经济型e实例与通用算力型u1实例对比分析与选择指南
在阿里云服务器的实例规格中,经济型e实例和通用算力型u1实例是很多个人和普通企业级用户常见的选择,经济型e实例与通用算力型u1实例的主要区别在于性能、应用场景及价格策略。本文将详细对比这两种实例的性能、应用场景及价格策略,以供参考。
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
54 1
|
2月前
|
人工智能 运维 Kubernetes
87cloud案例分析:阿里云国际服务器如何支持在线教育
87cloud案例分析:阿里云国际服务器如何支持在线教育
|
2月前
|
弹性计算 安全 Linux
阿里云国际版ECS云服务器ping不通的原因分析
阿里云国际版ECS云服务器ping不通的原因分析
|
2月前
|
域名解析 弹性计算 缓存
阿里云国际云服务器全局流量分析功能详细介绍
阿里云国际云服务器全局流量分析功能详细介绍
|
3月前
|
存储 安全 算法
服务器数据恢复—Raid磁盘阵列的安全性分析及常见故障
出于尽可能避免数据灾难的设计初衷,RAID解决了3个问题:容量问题、IO性能问题、存储安全(冗余)问题。从数据恢复的角度讨论RAID的存储安全问题。 常见的起到存储安全作用的RAID方案有RAID1、RAID5及其变形。基本设计思路是相似的:当部分数据异常时,可通过特定算法将数据还原出来。以RAID5为例:如果要记录两个数字,可以通过再多记录这两个数字的和来达到记录冗余性的目的。例如记录3和5,同时再记录这2个数字的和8。在不记得到底是几和5的情况下,只需要用8-5就可以算出这个丢失的数字了,其余情况依此类推。
|
3月前
|
JavaScript Linux 开发工具
如何将nodejs项目程序部署到阿里云服务器上
该文章详细描述了将Node.js项目部署到阿里云服务器的步骤,包括服务器环境配置、项目上传及使用PM2进行服务管理的过程。
|
4月前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
72 0
|
4月前
|
存储 设计模式 运维
Angular遇上Azure Functions:探索无服务器架构下的开发实践——从在线投票系统案例深入分析前端与后端的协同工作
【8月更文挑战第31天】在现代软件开发中,无服务器架构因可扩展性和成本效益而备受青睐。本文通过构建一个在线投票应用,介绍如何结合Angular前端框架与Azure Functions后端服务,快速搭建高效、可扩展的应用系统。Angular提供响应式编程和组件化能力,适合构建动态用户界面;Azure Functions则简化了后端逻辑处理与数据存储。通过具体示例代码,详细展示了从设置Azure Functions到整合Angular前端的全过程,帮助开发者轻松上手无服务器应用开发。
31 0