zoukankan      html  css  js  c++  java
  • Linux 应急响应基础

    0x01

    技能树

    • Linux常用命令

    • 常见日志的位置以及分析方法

    • 熟悉常规黑客的攻击手法

    • 常规安全事件的处置思路

     

    0x02

    linux 常用命令



    查找与文本操作

    1、find
    根目录下所有.jsp后缀文件

    find / -name *.jsp


    最近3天修改过的文件

    find -type f -mtime -3


    最近3天创建的文件

    find -type f -ctime -3


    2、grep、strings、more、head、tail


    过滤出不带有某个关键词的行并输出行号

    grep -nv 'root' /etc/passwd


    查看根目录下 含有root信息的文件,并标注行号

    grep -nr root /


    查看根目录下后缀为.jsp .jspx文件,并从大到小排列

    grep -nr -v "404" ./ | grep -E ".jsp | .jspx" | more


    显示文件前十行

    head /etc/passwd


    实时展示文件内容

    tail -f 文件名


    3、awk、sort、uniq

    awk的F参数是指定分隔符,print $1意思是打印第一列,sort命令是用来排序的,uniq命令是用来把相邻的重复数据聚合到一起,加个c参数意思就是把重复次数统计出来,为什么先要用sort聚合一次呢,就是因为uniq命令只会聚合相邻的重复数据,最后那个sort命令刚才说了是用于排序的,他的n参数是以数字排序,r参数是倒叙排序

    awk -F " " '{print $1}' access.log| sort|uniq -c|sort -nr


    案例:我们以空格为分界线 ($1为第一行)对access.log日志进行分析,筛查提取访问IP 从大到小排序,并提示访问次数。

    系统状态命令


    1、lsof
    查看某个用户启动了什么进程

    lsof -u root


    某个端口是哪个进程打开的

    lsof -i:8080


    2、last、lastb、lastlog
    登录失败记录:/var/log/btmp 

    lastb


    最后一次登录:/var/log/lastlog  

    lastlog


    登录成功记录: /var/log/wtmp    

    last


    3、crontab
    查看计划任务是否有恶意脚本或者恶意命令

    crontab -l


    4、netstat
    a参数是列出所有连接,n是不要解析机器名,p列出进程名

    netstat -anp


    5、ps
    查看进程信息

    ps -efps -aux


    6、top
    查看进程cpu占比(动态任务,可实时查看最高cpu占有率)

    top


    7、stat
    查看某个文件是否被修改过

    stat


    8、last和lastb(对应日志wtmp/btmp)
    last查看成功登陆的IP(用于查看登陆成功信息)
    登陆用户---连接方式---时间

     lastb查看连接失败的IP(可用于查看爆破信息)
    登陆用户---登陆方式---登陆IP---时间

    0x03

    日志分析



    1、安全日志 /var/log/secure作用:安全日志secure包含验证和授权方面信息分析:是否有IP爆破成功
    2、用户信息 /etc/passwd内容含义:注册名、口令、用户标识号、组标识号、用户名、用户主目录、命令解释程序  分析:是否存在攻击者创建的恶意用户
    3、命令执行记录 ~/.bash_history作用:命令执行记录 ~/.bash_history分析:是否有账户执行过恶意操作系统命令
    4、root邮箱 /var/spool/mail/root作用:root邮箱 /var/spool/mail/root分析:root邮箱的一个文件,在该文件中包含大量信息,当日志被删除可查询本文件
    5、中间件日志(Web日志access_log)   

    nginx、apache、tomcat、jboss、weblogic、websphere
    作用:记录访问信息
    分析:请求次数过大,访问敏感路径的IP
    位置:/var/log下 access.log文件(apache默认位置)
    位置:/var/log/nginx下 access名称日志(nginx日志位置)
    位置:tomcat、weblogic等日志均存放在安装路径下logs文件下
    访问日志结构:访问IP---时间---请求方式---请求路径---请求协议----请求状态---字节数

    6.登陆日志(可直接使用命令调取该信息,对应命令last/lastb)

    位置:/var/log/wtmp #成功连接的IP信息

    位置:/var/log/btmp #连接失败的IP信息


    7.cron(定制任务日志)日志位置:/var/log/cron

    作用:查看历史计划任务(对该文件进行分析调取恶意病毒执行的计划任务,获取准确时间)

     8、history日志

    位置:~/.bash_history

    作用:操作命令记录,可筛查攻击者执行命令信息

    9、其他日志
    redis、sql server、mysql、oracle等
    作用:记录访问信息
    分析:敏感操作

    web日志分析思路:

    寻找Webshell的方法:

    1、文件内容中的恶意函数
    PHP:eval(、system(、assert(
    JSP:getRunTime(、 FileOutputStream(
    ASP:eval(、execute(、 ExecuteGlobal(
    2、Web日志中的webshell特征
    Darkblade:goaction=login
    JspSpy:o=login
    PhpSpy:action=phpinfo
    Regeorg:cmd=connect
    Other:cmd=
    3、贴合Web业务中的url来分析Web日志
    4、每天新增的动态脚本文件
    5、低频访问的脚本文件



    收藏来自不同论坛,个人博客,个人笔记等一系列对本人知识面有提升的文章
  • 相关阅读:
    箭头函数1
    变量结构赋值
    警惕32位程序在MethodImplOptions.Synchronized在x64机器上的同步缺陷[z]
    ListView的BeginUpdate()和EndUpdate()作用[z]
    如何用命令将本地项目上传到git[z]
    C# 两个datatable中的数据快速比较返回交集或差集[z]
    C# DataTable抽取Distinct数据(不重复数据)[z]
    【Thread】CountdownEvent任务并行[z]
    C#多线程--信号量(Semaphore)[z]
    VS2015一新建项目就出现未将对象引用设置到对象的实例怎么办?[z]
  • 原文地址:https://www.cnblogs.com/sandymandy/p/13213553.html
Copyright © 2011-2022 走看看