WEBSHELL-恶意代码检测

静态查杀

提取特征写成规则库,调用规则库查杀。基于规则,会比较快,但漏报、误报会比较明显,一般的Webshell一句话木马变形混淆会比较多。

yara规则

        $eval = /(<\?php|[;{}])[ 5 2015 \t]*@?(eval|preg_replace|system|assert|passthru|(pcntl_)?exec|shell_exec|call_user_func(_array)?)\s*\( nocase ;eval( <- this is dodgy $eval_comment="/(eval|preg_replace|system|assert|passthru|(pcntl_)?exec|shell_exec|call_user_func(_array)?)\/\*[^\*]*\*\/\(/" eval *lol* ( $b374k="'ev'.'al'" $align="/(\$\w+=[^;]*)*;\$\w+=@?\$\w+\(/" b374k $weevely3="/\$\w=\$[a-zA-Z]\('',\$\w\);\$\w\(\);/" weevely3 launcher $c99_launcher="/;\$\w+\(\$\w+(,\s?\$\w+)+\);/" http: bartblaze.blogspot.fr 03 c99shell-not-dead.html $nano="/\$[a-z0-9-_]+\[[^]]+\]\(/" https: github.com ultimatehackers nano $ninja="/base64_decode[^;]+getallheaders/" $variable_variable="/\${\$[0-9a-zA-z]+}/" $too_many_chr="/(chr\([\d]+\)\.){8}/" concatenation of more than eight chr() $concat="/(\$[^\n\r]+\.){5}/" words $concat_with_spaces="/(\$[^\n\r]+\." ){5} words, with spaces $var_as_func="/\$_(GET|POST|COOKIE|REQUEST|SERVER)\s*\[[^\]]+\]\s*\(/" $comment="/\/\*([^*]|\*[^\/])*\*\/\s*\(/" * comment (php_code) < code></\?php|[;{}])[>

日志分析

基于对日志数据进行分析,检测可疑的漏洞攻击行为,提取特定时间段内特定IP对应用的访问行为。

&#x2460;&#x63D0;&#x4EA4;&#x6570;&#x636E;&#xFF08;POST/GET&#xFF09;&#x7684;&#x71B5;
&#x2461;URI&#x7684;&#x8BBF;&#x95EE;&#x9891;&#x7387;
&#x2462;&#x8BF7;&#x6C42;&#x5934;&#x4E2D;&#x6709;/&#x65E0;Referer&#x5B57;&#x6BB5;
&#x2463;&#x63D0;&#x4EA4;&#x6570;&#x636E;&#xFF08;POST/GET&#xFF09;&#x4E2D;key&#x7684;&#x51FA;&#x73B0;&#x9891;&#x7387;
&#x2464;&#x8BF7;&#x6C42;&#x6570;&#x636E;&#xFF08;POST/GET&#xFF09;&#x4E2D;key&#x5173;&#x8054;&#x7684;&#x9875;&#x9762;&#x6570;

动态检测

Webshell分析检测层,hook可疑函数

特征维度:

  • 文本语义(n-gram/TF-IDF/word2vec/CNN/RNN)
  • 统计特征(信息熵/重合指数/最长词/可压缩比)
  • 历史数据特征(计算单个文件的落盘时间/文件创建进程/文件类型/代码风格/权限和同目录下其他文件的”距离”)
  • OP指令层特征(指令/调用链/参数文本特征)
  • 动态特征(文件读写/网络连接,可依靠沙箱或旁路执行能力解决编码混淆类case)

基于文件的文本属性

  • 文件的 创建时间
  • 文件的 修改时间
  • 文件的 文件权限
  • 文件的 文件所有者

统计学

  • 文件的 文件重合指数index of coincidenc(IC)
  • 文件的 信息熵
  • 文件中的 最长单词
  • 文件的 可压缩比

Original: https://www.cnblogs.com/17bdw/p/11920974.html
Author: 17bdw
Title: WEBSHELL-恶意代码检测

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/529627/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • ShardingSphere-proxy-5.0.0建立mysql读写分离之读库负载均衡算法配置(七)

    # Licensed to the Apache Software Foundation (ASF) under one or more contributor license a…

    Linux 2023年6月14日
    0139
  • 虚拟机无法联网

    状态:虚拟机使用NAT模式的VMnet8网卡, ping baidu.com 无法联通 解决: ipconfig查看物理机网络: ip配置:把网关 GATEWAY 改为 192.1…

    Linux 2023年6月8日
    091
  • Redis 用的很溜,了解过它用的什么协议吗?

    我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农!文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白…

    Linux 2023年5月28日
    0114
  • 如何在MySQL中进行简单的增删改查

    — 创建dept表并设置主键create table dept(deptno int(2) primary key ,dname varchar(14),loc var…

    Linux 2023年6月7日
    0104
  • 作业一、安装Ubuntu系统

    Ubuntu1804安装 一、安装环境 1、VMware Workstation 16 Pro 2、Ubuntu 18.04.6 LTS 二、部署系统 步骤1、进入VMware,点…

    Linux 2023年6月13日
    088
  • MVC(二)

    通过前一篇文章,我们对MVC有了一定的了解。 三、MVC能做什么 网站——服务器返回页面——实际上就是一段文本(response header+html)。 实际上mvc的acti…

    Linux 2023年6月13日
    0109
  • windows版本rabbitmq安装及日志level设置

    1.DirectX Repair 安装缺失的C++组件,不安装缺失的组件会造成第二部安装erl文件夹缺少bin文件夹2.安装otp_win64_23.1 1.配置 ERLANG_H…

    Linux 2023年6月7日
    0192
  • Redis的RDB持久化

    posted @2022-02-24 16:11 天宇轩-王 阅读(34 ) 评论() 编辑 Original: https://www.cnblogs.com/dalianpai…

    Linux 2023年5月28日
    096
  • Linux下如何部署FTP服务器

    FTP 是 File Transfer Protocol 的缩写,即文件传输协议,它通过网络在服务器和客户端之间传输文件,现在已经成为一种广泛使用的标准工具 vsftpd 是 ve…

    Linux 2023年6月13日
    095
  • 聊聊Mysql主从同步读写分离配置实现

    Hi,各位热爱技术的小伙伴您们好,好久没有写点东西了,今天写点关于mysql主从同步配置的操作日志同大家一起分享。最近自己在全新搭建一个mysql主从同步读写分离数据库简单集群,我…

    Linux 2023年6月14日
    098
  • SSO之CAS

    单点登录SSO ​ 单点登录的主要原理就是在每次登录成功以后生成一个唯一不可重复的令牌 token,我们就简单的用了一个随 机的 UUID 来生成 token。当用户登录成功后用生…

    Linux 2023年6月7日
    081
  • linux 网络配置

    安装linux之后一般都是网络自启动, 适合在没有网络工具的情况下修改配置文件 ubuntu: 网络配置文件/etc/network/interfaces 配置类似于: auto …

    Linux 2023年6月14日
    082
  • Python3.9.5安装

    基础环境:yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-de…

    Linux 2023年6月6日
    098
  • 爱前端公开课学习笔记——JS02 字符串类型,布尔类型

    字符串是用引号包裹的,表示语言文字。 用双引号包裹的都是字符串 console.log(typeof 5); // number console.log(typeof "…

    Linux 2023年6月14日
    074
  • 常见框架漏洞

    ThinkPHP 框架漏洞 thinkphp是一个国内轻量级的开发框架,采用php+apache,在更新迭代中,thinkphp也经常爆出各种漏洞,thinkphp一般有think…

    Linux 2023年6月14日
    097
  • Linux—OpenSSH服务

    Linux—OpenSSH服务 OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议可以用来进行远程控制或在计算机之间传送文件。而实现此功能的传…

    Linux 2023年6月7日
    0108
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球