
第一章 应急响应-webshell查杀
靶机账号密码 root xjwebshell
1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}
2.黑客使用的什么工具的shell github地址的md5 flag{md5}
3.黑客隐藏shell的完整路径的md5 flag{md5} 注 : /xxx/xxx/xxx/xxx/xxx.xxx
4.黑客免杀马完整路径 md5 flag{md5}
在Windows下使用XShell+XFTP连接目标主机,然后一键下载/var/www/html
文件夹到本地。
/var/www/html
目录一般用于存储网站的HTML文件、图片、脚本等资源,供Web服务器(如Apache或Nginx)提供给访问者。
也可以使用tar命令打包,具体可以参照Linux tar命令 - 菜鸟教程
1 | # 备份文件(tar默认只是打包不压缩,参数-z打包后进行gzip压缩,参数-j打包后进行bzip2压缩) |
解压
1 | tar –xvf file.tar # 解压 tar 包 |
下载源代码后使用D盾进行扫描,可以看到四个可疑文件。
可以在gz.php中找到flag1
google搜索webshell中的key可以看到是哥斯拉
github搜索得到flag2
也可以直接使用命令搜索找到可疑的webshell特征
1 | #搜索目录下适配当前应用的网页文件,查看内容是否有Webshell特征 |
根据D盾里的路径/var/www/html/include/Db/.Mysqli.php
可以知道隐藏后门,在Linux里可以ls -a
看到隐藏文件,得到flag3。
同理可以找到flag4是top.php。
第一章 应急响应-Linux日志分析
1.有多少IP在爆破主机ssh的root帐号,如果有多个使用",“分割
2.ssh爆破成功登陆的IP是多少,如果有多个使用”,“分割
3.爆破用户名字典是什么?如果有多个使用”,"分割
4.登陆成功的IP共爆破了多少次
5.黑客登陆主机后新建了一个后门用户,用户名是多少
日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
日志文件 | 说明 |
---|---|
/var/log/cron | 记录了系统定时任务相关的日志 |
/var/log/cups | 记录打印信息的日志 |
/var/log/dmesg | 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息 |
/var/log/mailog | 记录邮件信息 |
/var/log/message | 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件 |
/var/log/btmp | 记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看 |
/var/log/lastlog | 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看 |
/var/log/wtmp | 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看 |
/var/log/utmp | 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询 |
/var/log/secure | 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中 |
比较重要的几个日志: 登录失败记录:/var/log/btmp //lastb 最后一次登录:/var/log/lastlog //lastlog 登录成功记录: /var/log/wtmp //last 登录日志记录:/var/log/secure
目前登录用户信息:/var/run/utmp //w、who、users
Linux日志分析技巧
1 | 1、定位有多少IP在爆破主机的root帐号: |
第一章 应急响应-Linux入侵排查
1.web目录存在木马,请找到木马的密码提交
2.服务器疑似存在不死马,请找到不死马的密码提交
3.不死马是通过哪个文件生成的,请提交文件名
4.黑客留下了木马文件,请找出黑客的服务器ip提交
5.黑客留下了木马文件,请找出黑客服务器开启的监端口提交
在Web根目录下使用命令find ./ type f -name "*.php" | xargs grep "eval("
可以找到这三个文件,分别为.shell.php、index.php、1.php
,1.php应为第一题的木马,可以根据index.php和.shell.php两个文件有相同的md5值猜测是通过index.php实时生成.shell.php。查看源代码也可知如此
shell内容如下
可以看到同目录下有一个elf文件,为Linux可执行二进制文件
dump下来后使用微步云沙箱分析,可以看到回连IP和端口
第二章 日志分析-Apache日志分析
快速定位到log位置
flag1可以使用该命令直接找到
1 | awk '{print $1}' /var/log/apache2/access.log.1 | uniq -c | sort -n |
flag2可以根据grep -Ea "192.168.200.2" /var/log/apache2/access.log.1
得到指纹信息:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
并MD5得到
flag3是查看index.php的被访问次数
注意,要在grep的index.php加一个斜杠,因为可能是???index.php也被统计,而非正确的index.php
1 | grep -Ea '/index.php' /var/log/apache2/access.log.1 | wc -l |
flag4:grep -Ea "^192.168.200.2 - -" /var/log/apache2/access.log.1 | wc -l
flag5:grep -Ea "^[0-9]+.*+03/Aug/2023:[08|09]" /var/log/apache2/access.log.1 | awk '{print $1}' | uniq -c | wc -l
(感觉日志分析都比较固定,或许可以开发一个一把梭工具)