玄机第一章应急响应:webshell查杀与Linux日志分析

由 晨星运营组 发布

01.应急响应基础内容

1.六个阶段

准备,检测,遏制,根除,恢复,跟踪

2.手动排查webshell

webshell可通过开放服务器端口获取一定权限,本质类似木马,其利用的漏洞包括文件上传漏洞、XSS 注入等

3.日志文件包含漏洞

var/log/apache2/access.log(绝对路径)

../../../access.log(相对路径)

要注意平常是GET请求的,突然有了POST请求并且返回值为200的

4.动态检测

将web日志文件中特有的http请求/响应做成特征库()将其加入IDS(应急响应系统)去检测所有的HTTP请求

5.静态检测

特殊后缀结尾

查找危险函数

状态码

1xx (Informational) 信息性状态码,表示正在处理。

100:用户端应继续发送请求
101:切换协议

2xx (Success) 成功状态码,表示请求正常。

200:成功响应
201:请求已实现并且创建了新资源。
202:已接受请求,但尚未处理。
204:成功响应,但是这个响应不包含响应体,这个响应不应该引起浏览器视图变化。
205:成功响应,但是这个响应不包含响应体,并且这个响应要求引起浏览器视图变化。

3xx (Redirection) 重定向状态码,表示客户端需要进行附加操作。

301:永久重定向,目标网站已经永久转移到其他网址,浏览器将会缓存响应的URL。
302:临时重定向,目标网站暂时转移到其他网址,浏览器不会缓存响应的URL。
304:使用的是缓存的数据
305:使用代理,当前服务器并不负责返回响应,它只是转发请求的,让别的服务器去返回响应,然后它再转回数据

4xx (Client Error) 客户端错误状态码,表示服务器无法处理请求。

400:请求包含语法错误
401:当前请求需要进行用户验证
403:服务端成功接收请求,但拒绝执行。
404:用户端请求资源未找到

5xx (Server Error) 服务器错误状态码,表示服务器处理请求出错。

500:后台处理出错
502:网关接收到无效响应 503:暂时无法提供服务 504:网关长时间未接收到响应`

  1. 安全日志相关时间ID

02.玄机 第一章

应急响应webshell查杀

第一题

通过Finalshell打开靶机,通过以下代码做第一步

cd打开目录,手搓的话就一个一个打开文件查找,或者打开火绒等杀毒软件,会提示告诉你哪个文件为后门病毒,就直接cat文件内容。

flag1是flag{027ccd04-5065-48b6-a32d-77c704a5e26d}

第二题

cd Db进入文件夹,然后ls -a找到所有文件,其中.Mysqli.php是这串红标,然后放到浏览器搜索,只能搜索到一个Github网站

该网址通过MD5翻译出来是错误的,所以直接搜索哥斯拉webshell找到这个网址,直接翻译成MD5的值出来的就是第二个flag

第三题

把这个路径再通过MD5加密就是第三步flag

/var/www/html/include/Db/.Mysqli.php

第四题

phpinfo包含php的所有信息(含版本等敏感信息),访问phpinfo的文件可能为恶意文件,所以top.php为恶意文件。

cd /var/www/html/wap进入该目录,

cat top.php查看文件,

把/var/www/html/wap/top.php通过MD5加密,得到第四个flag

03.玄机 第一章

Linux 日志分析

第一题

让我们查找有多少ip在爆破主机的SSH(安全外壳协议)。SSH是一个远程连接协议,用于远程登录和执行命令,提供了加密的网络连接,保证了通信的安全性。

SSH的登录记录会记录在/var/log/auth.log.1,这是一个固定的形式。

通过cd到/var/log找到auth.log.1文件,再执行命令

cat auth.log.1 | grep -a "Failed password for root" | awk '{print $11}' | sort |uniq -c | sort -nr | more
//grep为筛选
//awk '{print $11}' 提取第11个字段
//sort对IP进行排序
//uniq -c统计重复出现的ip次数
//sort -nr按出现次数降序排列(-n数字正序排列,-r逆序排列,)
//more分页显示结果

然后把三个出现的ip地址都作为flag提交

第二题
登录成功的ip是多少,还是通过上述指令进行筛选,但是把命令换成Accepted

cat auth.log.1 | grep -a "Accepted" | awk '{print $11}' | sort | uniq -c | sort -nr | more
出现两次的那个就是访问成功的ip,确定日志中包含攻击相关信息的条目。例如,SSH 失败登录尝试通常包含“Failed password”关键字,成功登录则包含“Accepted”。

第三题

命令符号

需要查找爆破用户名字典是什么我们

cat auth.log.1 | grep -a "password" | perl -e 'while($_=<>){/for(.*?)from/;print "$1\n";}'| uniq -c | sort -nr
查询出来的关键字有user,hello,root,test3,test2,test1

第四题

出现了四次,可以通过第一步得出

第五题

查找所有新建用户和日志条目

cat /var/log/auth.log.1 | grep -a "new user"
检查是否有可疑登陆行为

Binary file /var/log/auth.log.1 matches
得出用户名称test2

-END-


0条评论

发表评论