服务应用执行可疑命令

 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:

func init() {
	reexec.Register("docker-applyLayer", applyLayer)
	reexec.Register("docker-untar", untar)
}

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

 

func untar() {
	runtime.LockOSThread()
	flag.Parse()
	var options *archive.TarOptions
	//read the options from the pipe "ExtraFiles"
	if err := json.NewDecoder(os.NewFile(3, "options")).Decode(&options); err != nil {
		fatal(err)
	}
	if err := chroot(flag.Arg(0)); err != nil {
		fatal(err)
	}
	//***从stdin中获取***//
	if err := archive.Unpack(os.Stdin, "/", options); err != nil {
		fatal(err)
	}
	// fully consume stdin in case it is zero padded
	if _, err := flush(os.Stdin); err != nil {
		fatal(err)
	}
	os.Exit(0)
}

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得告警

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值