前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HW防守 | Linux应急响应基础

HW防守 | Linux应急响应基础

作者头像
Timeline Sec
发布2020-06-10 11:30:01
1.2K0
发布2020-06-10 11:30:01
举报
文章被收录于专栏:Timeline SecTimeline Sec

0x00

引言

简单说一下,我们为什么会推出关于HW防守的文章,目前关于该行动,会发现越来越多的厂商需求该行动的人员具备分析溯源的能力了。

其中原因一是由于该行动规则的需求,溯源能力可以很好的进行攻击队画像描述,追踪到更多的信息线索,从而给防守方增加更多的该行动的分数。

二是任何产品目前都是需要人来驱动的,都有其局限性,比如日志采集的灵活度及完整性等,我们主观的收集一些信息,可以更好的辅助产品,也可以兼顾不同种类安全产品的一些边界问题。

目前已经推出windows基础篇及此篇linux基础篇试试水,方便大家进行该行动的时候查阅知识点进行基础溯源,同时也欢迎大家反馈想法与意见,如果后续效果可以的话,我们会推出一些真实脱敏的溯源加分案例进行交流。

0x01

技能树

  • Linux常用命令
  • 常见日志的位置以及分析方法
  • 熟悉常规黑客的攻击手法
  • 常规安全事件的处置思路

0x02

linux 常用命令

查找与文本操作

1、find

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

代码语言:javascript
复制
find / -name *.jsp

最近3天修改过的文件

代码语言:javascript
复制
find -type f -mtime -3

最近3天创建的文件

代码语言:javascript
复制
find -type f -ctime -3

2、grep、strings、more、head、tail

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

代码语言:javascript
复制
grep -nv 'root' /etc/passwd

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

代码语言:javascript
复制
grep -nr root /

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

代码语言:javascript
复制
grep -nr -v "404" ./ | grep -E "\.jsp | \.jspx" | more

显示文件前十行

代码语言:javascript
复制
head /etc/passwd

实时展示文件内容

代码语言:javascript
复制
tail -f 文件名

3、awk、sort、uniq

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

代码语言:javascript
复制
awk -F " " '{print $1}' access.log| sort|uniq -c|sort -nr

案例:

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

系统状态命令

1、lsof

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

代码语言:javascript
复制
lsof -u root

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

代码语言:javascript
复制
lsof -i:8080

2、last、lastb、lastlog

登录失败记录:/var/log/btmp

代码语言:javascript
复制
lastb

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

代码语言:javascript
复制
lastlog

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

代码语言:javascript
复制
last

3、crontab

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

代码语言:javascript
复制
crontab -l

4、netstat

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

代码语言:javascript
复制
netstat -anp

5、ps

查看进程信息

代码语言:javascript
复制
ps -ef
ps -aux

6、top

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

代码语言:javascript
复制
top

7、stat

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

代码语言:javascript
复制
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)

代码语言:javascript
复制
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、低频访问的脚本文件

本篇完

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Timeline Sec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系统状态命令
  • web日志分析思路:
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档