Archive8月 2022

systemtap内核监控发起域名请求的进程

假如现在有这么一个需求:需要获取正在运行的 Linux 系统的信息,如我想知道系统什么时候发生系统调用,发生的是什么系统调用等这些信息,有什么解决方案呢?

通俗一点讲,上面的需求可以转化为应对日常应急可能遇到的一些场景:

  1. 谁在Linux系统上谁在发送DNS(UDP)、ICMP、ARP请求?例如挖矿病毒(矿池失活)、PingTunnel等。
  2. 哪个进程在对某个文件进行写入?
  3. 在没有网络设备的情况下,监控所有外对内的连接尝试(无论成功与否)。
  4. 进程创建、终止,进程模块的加载、卸载。
  5. 检测rootkit

以上需求都可以总结为:对Linux内核调用进行调试跟踪。

阅读更多

应急响应-php临时文件写入webshell排查分析

php高并发post写入webshell,本地复现

最近一次真实的应急场景,背景如下:

  1. 主机安全告警存在webshell。
  2. 木马文件名为php。同时/tmp目录下存在大量php临时文件。
  3. Nginx访问日志中存在大量扫描器流量,但木马文件生成时间未发现对应的异常请求。
  4. 该机器开通了waf,但扫描器的ip是被加白的(并非外网恶意扫描)。
阅读更多

Phpstorm Xdebug 远程调试代码

由于代码审计的需要,部分系统是直接部署的服务器镜像,已经配置好的完整的环境。这时单独把源码拉取到本地再配置环境就过于复杂,直接对服务端的代码进行远程调试就会方便不少。

目前最新版的Phpstorm(2022.1.4),当前的jetbrains的大部分IDE都已经支持ssh连接服务器进行远程开发,不用再像以前一样使用sftp来同步代码。现在IDE可以实现自动实时同步,真正意义上的远程开发。因此和以往网上的配置教程略有些不同。

阅读更多