应急响应小技巧
另类非常规的应急排查小技巧汇总。
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或容器名
这将显示容器可写层的位置。
赞赏 微信赞赏
微信赞赏 支付宝赞赏
支付宝赞赏
发表评论