淦,服务器被人传了后门木马。。。

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》

今天很暴躁,因为睡眠被打扰了。

一个朋友大半夜打我电话,说她云服务器被人黑了,甩给我个截图。

淦,服务器被人传了后门木马。。。_第1张图片
我一看,下午六点就被打了,你大半夜才给我打电话,反射弧是不是有点忒长了。

她当时就急眼了,说找了官方客服,客服甩给她一套方案(检查端口啥的),她照着流程查了半天啥也没查到,客服就让她重置系统。

她跟客服吵了半天(估计是没吵赢),气不过,就来找了我。

我向来是个热心肠的人,赶紧远程过去把后门删了,从日志里找到传后门IP给它封掉。

这里跟大家分享一下被上传后门(webshell)的应急思路。

webshell应急响应

  • 一、webshell是什么?
  • 二、webshell分类
  • 三、webshell处置流程
  • 四、Web日志解析
    • 1、IIS日志
    • 2、Apache日志

一、webshell是什么?

webshell是一种代码执行环境,通常以asp、php、jsp等网页文件形式存在。

黑客通常会webshell文件上传到服务器web目录下,作为后门文件,使用浏览器或专用客户端连接,从而控制网站服务器。

二、webshell分类

按照脚本类型可以分为jsp、asp、php三种。

1)jsp(Java Server Pages)常搭配Java语言,将动态的Java代码嵌入到静态的HTML页面中,文件名是 xx.jsp

(一句话木马)代码示例:

<%Runtime.getRuntime().exec(request.getParameter("shell"));%>

2)asp(Active Server Pages)常用于小型页面应用的开发,一些古老的网站仍在使用,文件名是 xx.aspxx.apsx

(一句话木马)代码示例:

<%eval request("shell")%>

3)php(Hypertext Preprocessor)是世界上最好的语言,文件名是 xx.php

(一句话木马)代码示例:

 @eval($_GET["shell"]); ?>

三、webshell处置流程

1)根据webshell文件的创建时间,判断攻击时间。

2)排查攻击时间前后的网站web日志,寻找攻击路径。

3)针对攻击路径的接口,排查网站存在的漏洞。

4)复现漏洞,还原攻击路径。

5)清除webshell文件,修复漏洞。

四、Web日志解析

常见的Web日志有两种:W3C日志格式 和 NCSA日志格式。

W3C日志格式主要在IIS中应用;Apache、Tomcat、Nginx等Web容器主要使用NCSA格式。这里以IIS和Apache为例,讲解一下两种日志的格式。

1、IIS日志

默认位置:%systemroot%\system32\logfiles\
            比如:C:\WINDOWS\system32\LogFiles\W3SVC20110218

日志文件:ex+年份的末两位数字+月份+日期 .log
      比如2010年7月30日的日志:ex100730.log

默认每天一个日志。

IIS采用W3C日志格式,可按需勾选记录的字段。

淦,服务器被人传了后门木马。。。_第2张图片

日志文件内容如下图,前几行记录版本和日志创建时间。

淦,服务器被人传了后门木马。。。_第3张图片

核心字段解释(从左到右):

  • 2002-07-18 09:53:52:请求时间
  • 10.152.8.17 - 10.152.8.2 80:客户端IP访问了服务器IP的80端口。
  • GET:请求方式
  • /index.htm:请求URL
  • -:200:响应状态码
  • 客户端UA信息

2、Apache日志

默认位置(Linux):/usr/local/apache/logs
默认位置(Windows):Apache安装目录/logs/

日志文件(Linux):access_logerror_log
日志文件(Windows):access.logerror_log

access记录网站访问日志,error记录服务器运行的错误日志。

访问日志通常是下面这种格式:

192.168.115.5 - - [01/Apr/2018:10:37:19 +0800] "GET / HTTP/1.1" 200 45

核心字段解释:

  • 192.168.115.5:请求IP(访问网站的IP)
  • -:E-mail,此处为空。
  • -:登录名,此处为空。
  • [01/Apr/2018:10:37:19 +0800]:请求时间
  • “GET / HTTP/1.1”:请求方式和协议
  • 200:响应状态码
  • 45:字节数

你可能感兴趣的:(《网络安全快速入门》,网络安全,人工智能,ai)