最近也是拿到了启明星辰的暑期实习offer,虽然投的是安服,但主要工作是护网,昨天在公众号Timeline Sec上看到有一篇关于护网的文章,所以在这里照着人家写的在总结一下,为将来的工作打点基础。

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

-v是对匹配的结果进行反转

-n是匹配字符串所在文件的行号

查看根目录下 含有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 -ef
ps -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
作用:操作命令记录,可筛查攻击者执行命令信息

也可用history命令

history 10(显示最近使用过的10个命令)

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、低频访问的脚本文件

文章来源于Timeline Sec ,作者璠淳

HW防守 | Linux应急响应基础的更多相关文章

  1. Linux应急响应基础

    文件排查 敏感目录文件分析 tmp目录 命令目录 /usr/bin /usr/sbin 开机启动项 /etc/init.d /etc/init.d是/etc/rc.d/init.d的软链接 文件时间 ...

  2. Linux应急响应(四):盖茨木马

    0x00 前言 ​ Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,主要恶意特点是具备了后门程序,DDoS攻击的能力,并且会替换常用的系统文件进行伪装.木马得名于其 ...

  3. Linux应急响应(三):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式.新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染 ...

  4. Linux应急响应(二):捕捉短连接

    0x00 前言 ​ 短连接(short connnection)是相对于长连接而言的概念,指的是在数据传送过程中,只在需要发送数据时,才去建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一 ...

  5. Linux应急响应(一):SSH暴力破解

    0x00 前言 ​ SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全.SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包 ...

  6. 最全Linux应急响应技巧 【转】

    概述 Linux环境下处理应急响应事件往往会更加的棘手,因为相比于Windows,Linux没有像Autorun.procexp这样的应急响应利器,也没有统一的应急响应处理流程.所以,这篇文章将会对L ...

  7. Linux应急响应学习

    Linux应急响应-系统日志排查-溯源 溯源 找到攻击者.系统日志分析攻击者的ip  攻击者可能留下了一些代码 样本 网上的信息很大程度上是不可信的. 方法: 蜜罐  高交互的蜜罐 溯源: ip 日志 ...

  8. Linux应急响应思路详谈

    一.主机篇: 1.自动化初筛,建议使用RootkitHunter (1)安装 $sudo wget https://jaist.dl.sourceforge.net/project/rkhunter/ ...

  9. Linux应急响应入侵排查思路

    0x00 前言 ​ 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...

随机推荐

  1. [BUUCTF]PWN——ez_pz_hackover_2016

    ez_pz_hackover_2016 题目附件 解题步骤: 例行检查,32位,开启了RELRO保护,二进制的保护机制看这里 由于没有开启nx保护,对于这题一开始想到的是利用写入shellcode来获 ...

  2. MES目前应用很多,为什么APS计划排程系统应用很少?

    一.APS自动化计划排程能带来哪些效益? 1.提高订单准时交货率,提高客户满意度 2.缩短生产制造周期,提高生产效率 3.多品种.小批量.以销定产,快速解决插单.急单预测交期问题 4.减少物料采购提前 ...

  3. 工时资源(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 资源既然各种导入都会发生些不可描述的事,那就手工建立吧.但是问题又来了,资源还分种类的:工时资源.材料资源和成本资源. 好 ...

  4. 突出显示(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 当一个大的项目文件做好以后,查看全部内容,肉眼多少会有点吃不消,这时就需要"划重点".在Porect里 ...

  5. 『学了就忘』Linux系统管理 — 85、工作管理相关命令

    目录 1.工作管理简介 2.如何把命令放入后台 3.后台管理命令 (1)查看后台的工作 (2)将后台暂停的工作恢复到前台执行 (3)把后台暂停的工作恢复到后台执行 4.后台命令脱离登录终端运行 1.工 ...

  6. Python的动态语言特性; __slots__属性

    python是动态语言 1. 动态语言的定义 动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用.它是一类 在运行时可以改变其结构的语言 :例如新的函数.对象.甚至代码可以被 ...

  7. Redis报错:RDB snapshots, but it is currently not able to persist on disk 处理

    Response received : -MISCONF Redis is configured to save RDB snapshots, but it is currently not able ...

  8. 【Android开发】问答机器人,聊天类App的开发制作过程记录

    缘起 很久没写项目了,所以单纯的想练练手,正好看到有问答机器人的接口,想到之前也做过聊天项目,为什么不实验一下呢.当然也是简单调用接口的项目,并没有真正的完成问答的算法等等.业余项目,功能不齐全,只实 ...

  9. Matrix(poj2155)

    Matrix Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 25139   Accepted: 9314 Descripti ...

  10. 第三十七个知识点: The Number Field Sieve

    第三十七个知识点: The Number Field Sieve 数域筛法(The Number Field Sieve ,NFS)是已知的分解算法中最有效率的.它的运行时间取决于被分解的数的大小而不 ...