当前位置:   article > 正文

服务应用执行可疑命令_可疑执行命令 zerato

可疑执行命令 zerato

 1、最近时常收到阿里云安全中心的告警信息-服务应用执行可疑命令,如下图所示

 现在有时间后,可以好好研究下这个问题了。

命令行: docker-untar /home/xxx/docker/devicemapper/mnt/735440904d99308126bfc001df5750783fdd2f7f72a209c33e8d16fb9f53de72/rootfs/home/tutor/.ssh/authorized_keys null

摘自互联网:

docker-untar , 通过reexec机制来解包,打包数据流以stdin的方式传入。该实现使用Docker的reexec机制,所以必有注册的地方,来看/pkg/chrootarchive/init_unix.go:

  1. func init() {
  2. reexec.Register("docker-applyLayer", applyLayer)
  3. reexec.Register("docker-untar", untar)
  4. }

所以docker的”docker-untar”由untar()函数完成功能执行,untar定义在/pkg/chrootarchive/archive_unix.go中:

 

  1. func untar() {
  2. runtime.LockOSThread()
  3. flag.Parse()
  4. var options *archive.TarOptions
  5. //read the options from the pipe "ExtraFiles"
  6. if err := json.NewDecoder(os.NewFile(3, "options")).Decode(&options); err != nil {
  7. fatal(err)
  8. }
  9. if err := chroot(flag.Arg(0)); err != nil {
  10. fatal(err)
  11. }
  12. //***从stdin中获取***//
  13. if err := archive.Unpack(os.Stdin, "/", options); err != nil {
  14. fatal(err)
  15. }
  16. // fully consume stdin in case it is zero padded
  17. if _, err := flush(os.Stdin); err != nil {
  18. fatal(err)
  19. }
  20. os.Exit(0)
  21. }

untar()会调用archive包的Unpack()实现从Stdin中解包数据。Unpack()会把数据流解包到容器指定目录中。

父进程命令行: /usr/bin/docker -d --debug=true --storage-opt dm.loopdatasize=500G --storage-opt dm.loopmetadatasize=8G --storage-opt dm.mountopt=nodiscard --storage-opt dm.blkdiscard=false --selinux-enabled=false -H fd:// -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --api-enable-cors=true -g /home/xxx/docker -p /home/xxx/docker/docker.pid --insecure-registry=hub.xxx.com:5000

通过分析告警信息,初步判断是docker进程在操作authorized_keys触发阿里云HIDS得告警

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/581549
推荐阅读
相关标签
  

闽ICP备14008679号