应急响应小技巧
另类非常规的应急排查小技巧汇总。
vim 历史编辑记录
黑客入侵服务器后,有可能会用vim修改过一些文件。比如清除.bash_history文件中的某条历史命令。
但是vim的操作也是有日志记录的,默认位于~/.viminfo
但该记录往往被很多人给忽视。可以作为应急响应排查的参考项。

查看vim的日志记录。
less ~/.viminfo

以及文件的编辑时间。


如果绕过?
- 使用vi代替vim修改文件
- 在vim中使用命令关闭记录
:set history=0 :!command
查看进程的启动时间
在应急排查过程中,往往需要定位进程的启动时间来推测黑客入侵时间段。
Linux可以使用 ps 命令以及一些特定的选项来查看进程的启动时间。
ps -eo pid,lstart,cmd

ps -o 支持输出的列
以下是一些可用的列名:
pid:进程ID。ppid:父进程ID。pgid:进程组ID。sid:会话ID。tty:进程的终端名。tsession:进程的终端会话ID。comm:可执行文件的名称。args或cmd:命令行参数。etime:进程运行的时间。time:进程消耗的CPU时间。cputime:进程消耗的CPU时间(以更友好的格式显示)。nice:进程的 nice 值。lstart:进程启动的完整日期和时间。start:进程启动的时间。uid或user:进程的用户ID或用户名。gid或group:进程的组ID或组名。vsz或vsize:进程的虚拟内存大小。rss:进程的驻留集大小。stat:进程的状态。c:进程的 CPU 使用率。
而Windows下有两种方式查看。
msinfo32 查看进程启动时间
默认任务管理器是无法查看进程启动时间的。


Get-Process 查看进程启动时间
Get-Process | Format-Table Id, Name, StartTime -AutoSize

Linux批量请求本地监听的端口
有时上机应急排查,知道某些端口可能存在漏洞。但是端口太多,无法确定端口和服务的对应关系。最快的办法就是批量请求一遍。
netstat -antup | grep LIST | awk '{print$4}'| xargs curl -s -m1 -w "%{remote_ip}:%{remote_port}\n"

判断进程的pid位于哪一个容器内
ps -eo pid,user,cmd,comm,cgroup |grep docker

快速定位容器内部的根目录对应的宿主机上的绝对路径
使用 Docker 命令查看容器详情
docker inspect -f '{{.GraphDriver.Data.MergedDir}}' 容器ID或容器名

对于使用 overlay2 存储驱动的 Docker
docker inspect -f '{{.GraphDriver.Data.UpperDir}}' 容器ID或容器名
这将显示容器可写层的位置。
赞赏
微信赞赏
支付宝赞赏
发表评论