【2020-05-30】应急响应学习文档

应急响应分为5个阶段,准备->事件检测->抑制->根除->恢复->报告


0x01 基础命令:

1、tar -cvf  .tar  打包不压缩

  tar -zxvf  .tar.gz

  tar -zcvf  .tar.gz  c创建文件

  tar -jcvf  .tar.bz2

  gzip        .gz

2、uniq

  -c 在输出行前面加上每行在文本中出现的次数

    (结合sort一起使用)此参数只针对连续出现的相同行做统计,

    一旦相同内容行中间有其他内容,则中断统计,然后重新对下面的内容进行统计。

  -d  仅显示重复行

  -u  仅显示不重复的行

3、sort

  -b 忽略每行前面开始出的空格符号。

  -n 依照数值大小排序

  -r 以相反的顺序来排序

  -t 指定栏位分隔字符

4、awk

  #cat /etc/passwd |awk  -F ':'  '{print $1"\t"$7}'

  #cat /etc/passwd |awk  -F ':'  'BEGIN {print "name,shell"}  {print $1","$7} END {print "blue,/bin/nosh"}'

    显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。

    awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作。

  awk -F: '/root/'  /etc/passwd

  搜索含有root关键字的所有行

  awk -F:

  awk -F: '/root/{print $7}' /etc/passwd

  ‘’ 单引号中可以包含命令(action)

5、sed

  sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法

  替换一行中的某部分

  格式:sed 's/要替换的字符串/新的字符串/g'  (要替换的字符串可以用正则表达式)

    # sed -n '/ruby/p' ab | sed 's/ruby/bird/g'    #替换ruby为bird

   # sed -n '/ruby/p' ab | sed 's/ruby//g'        #删除ruby

6、wc

  -l  统计数量

7、cut

8、scp  利用ssh传输文件

  a) 从服务器下载文件到本地

      scp username@servername:/path/filename  /var/www/local_dir(本地目录)

  b)上传本地文件到服务器

      scp /path/filename username@serverip:/path

9、stat  查看文件基本信息 stat filename

  显示文件的mtime、ctime、atime


----------------------------------------------------------

0x02 预备知识:

1、history -c 清除历史命令

2、如果日志在更新,实时查看 tail -f /var/log/messages

                或者 watch -d -n 1 cat /var/log/messages

        -d 表示高亮不同的地方,-n表示多少秒刷新一次。

该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,

这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可

3、linux日志文件说明

/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一

/var/log/secure 与安全相关的日志信息

/var/log/maillog 与邮件相关的日志信息

/var/log/cron 与定时任务相关的日志信息

/var/log/spooler 与UUCP和news设备相关的日志信息

/var/log/boot.log 守护进程启动和停止相关的日志消息

/var/log/wtmp

4、LINUX中的七种文件类型

d  目录文件。

l  符号链接(指向另一个文件,类似于瘟下的快捷方式)。

s  套接字文件。

b  块设备文件,二进制文件。

c  字符设备文件。

p  命名管道文件。

-  普通文件,或更准确地说,不属于以上几种类型的文件

=>>>>

*ubuntu/var/log/下各个日志文件,方便出现错误的时候查询相应的log

/var/log/alternatives.log-更新替代信息都记录在这个文件中

/var/log/apport.log -应用程序崩溃记录

/var/log/apt/  -用apt-get安装卸载软件的信息

/var/log/auth.log  -登录认证log

/var/log/boot.log  -包含系统启动时的日志。

/var/log/btmp    -记录所有失败启动信息

/var/log/Consolekit  - 记录控制台信息

/var/log/cpus    - 涉及所有打印信息的日志

/var/log/dist-upgrade  - dist-upgrade这种更新方式的信息

/var/log/dmesg    -包含内核缓冲信息(kernel ringbuffer)。在系统启动时,显示屏幕上的与硬件有关的信息

/var/log/dpkg.log  - 包括安装或dpkg命令清除软件包的日志。

/var/log/faillog    - 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。

/var/log/fontconfig.log -与字体配置有关的log。

/var/log/fsck    - 文件系统日志

/var/log/faillog  -包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。

/var/log/hp/

/var/log/install/

/var/log/jokey.log

/var/log/kern.log –包含内核产生的日志,有助于在定制内核时解决问题。

/var/log/lastlog —记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。

/var/log/faillog –包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。

/var/log/lightdm/

/var/log/mail/ – 这个子目录包含邮件服务器的额外日志。

/var/log/mail.err    -类似于上面的

/var/log/news/

/var/log/pm-powersave.log

/var/log/samba/ –包含由samba存储的信息。

/var/log/syss.log

/var/log/speech-dispacher/

/var/log/udev

/var/log/ufw.log

/var/log/upstart/

/var/log/uattended-upgrades/

/var/log/wtmp —包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。

/var/log/xorg.*.log— 来自X的日志信息

----------------------------------------------------------

0x03 linux下apache日志分析

    a) 找到apache日志的位置(locate apache2)

    b) 查看访问次数最多的10个IP

      awk '{print $1}' access.log|sort|uniq -c|sort -nr|head -n 10

    c) 查看访问的时间

    d) 查看访问最多的页面

      awk '/113.5.x.11/{print $6}{print $7}' access.log|sort|uniq -c |sort -nr

  1、查看apache进程:

      ps -aux|grep 'httpd'       

  2、查看80端口的tcp连接:

      netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l

  3、通过日志查看当天ip连接数:

      cat access_log | grep "19/May/2011" | awk '{print $2}' | sort | uniq -c | sort -nr

  4、用tcpdump嗅探80端口的访问看看谁最高

  tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr

  5、当前WEB服务器中联接次数最多的20条ip地址:

  netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -n -r | head -n 20

  6、查看最近访问量最高的文件

  cat access_log |tail -10000|awk '{print $7}'|sort|uniq -c|sort -nr|less

  tail  -f  xxx.log

---------------------------------------------------------

0x04 mysql日志:

  *主要包含:(修改日志设置,需要到mysql的配置文件my.cnf中进行修改

              或者

              在mysql下执行set global slow_query_log=1;)

    错误日志、查询日志、慢查询日志、事物日志、二进制日志;

        错误日志:默认开启,不可禁止。主机名.err

        查询日志:默认关闭。该日志默认情况下会记录用户所有的操作,包括增删改查等信息。general_log

        慢查询日志:记录执行时间超过指定时间的查询语句。可以找到效率低的查询语句。

        事物日志:(InnoDB特有的日志,存储引擎修改表数据时只需要修改其内存拷贝,再把修改行为记录到事物日志当中)


        二进制日志(变更日志):*log_bin。

              记录修改数据或者有可能引起数据改变的mysql语句,并记录语句发生时间、执行时长、操作的数据等。

              ->查看二进制文件

                  mysql>show binary logs;  显示当前服务器使用的二进制文件及大小

                  mysql>show master logs;  显示主服务器使用的二进制文件的大小

                  mysql>show master status; 当前使用的二进制文件及其所处位置

  *日志的输出位置一般有三种方式:file(文件),table(表),none(不保存);

  *查询日志服务是否开启:

        show global variables like '%log%';

        设置变量:

            (使用set session 变量名=value;即表示只在这个session中生效)

              set global 变量名=value;

  *命令行下查看二进制文件 mysqlbinlog mysql-bin.000017


---------------------------------------------------------

1、检测rootkit:使用chkrootki

2、获取系统日志:

  比较重要的二进制日志文件:

utmp,用w工具访问;

wtmp,用last工具访问;

lastlog,用lastlog工具访问;

进程记账日志,用astcomm工具访问

    在这些日志文件中,最有用的是messages,secure这两个,从日志中我们可以看到哪些时候哪些用户从哪些地方登陆进系统,这对我们的响应取证非常有用

3、检查用户情况

    w  查看当前在线用户

    last  查看历史登录用户

4、查看系统、文件异常

  查看/etc/passwd文件

  查找最近5天内更改的文件: find -type f -mtime 5

  bash_history文件

5、系统状态

  系统服务: chkconfig

  进程:ps -ef  以全格式显示当前所有的进程

      ps -aux  显示以用户为主的格式情况下、不以终端机来区分、包括其他用户的进程的所有程序,。

      ps -aux |grep 'httpd' 查看apache进程

  监听端口:netstat -utnpl

  系统所有端口情况:netstat -ano

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352