首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    合法软件武器化:新型钓鱼攻击链分析与动态防御重构

    若规则过严,会导致大量误报,影响业务运行;若规则过宽,则会漏过真正的攻击。缺乏上下文感知的行为分析,使得防御系统在面对高度模仿正常行为的攻击时显得捉襟见肘。...他们缺乏对“软件使用场景”风险的认知,不理解合法的工具在错误的配置或被恶意引导下同样具有破坏力。这种认知盲区使得用户在面对精心伪装的钓鱼邮件时,极易主动配合攻击者完成入侵过程。..."anydesk.exe",            "teamviewer.exe", "psexec.exe"        ]        # 定义可疑命令行特征 (正则)        self.suspicious_patterns...return self.process_cache[pid]            for proc in self.c.Win32_Process(ProcessId=pid):               ...parent_id = proc.ParentProcessId                for p_proc in self.c.Win32_Process(ProcessId=parent_id

    18010

    CVE-2019-5736 docker-runc escape 漏洞复现

    还一个 /proc/pid/exe 文件,这个文件指向进程本身的可执行文件。而/proc/self目录则是读取进程本身的信息接口,是一个link,链接到当前正在运行的进程。...我们需要特别注意的是,在execve()替换旧的进程时,是不会修改/proc/pid/fd目录中的文件描述符的,新的可执行文件会继承原进程的文件描述符,包括打开的文件。...所以我们如果想要覆写exe这个可执行文件就必须等到runc运行结束。什么时候会结束呢?当我们运行execve()去运行新的可执行文件时。...中寻找pid[runc] --> 通过 open(/proc/pid[runc]/exe)获取可执行文件的fd --> 与此同时在/proc/self/fd中会生成并保留该可执行文件的fd --> 等待执行新的文件导致.../proc/self/exe")err = fd.Close()if err !

    74820

    如何使用whoc将底层容器运行时环境提取至远程服务器

    运行机制 根据漏洞CVE-2019-5736的描述,传统的Linux容器运行时环境会将自身通过/proc/self/exe运行的这一个情况暴露给容器,让容器所知晓。...1、whoc镜像入口点设置为/proc/self/exe,镜像的动态链接器ld.so会被upload_runtime替换。 2、当镜像开始运行之后,容器运行时会在容器内进行重新执行。...4、upload_runtime将通过/proc/self/exe读取运行时代码,并将其发送至配置好的远程服务器。...2、用户需要在whoc容器中执行,并调用一个指向/proc/self/exe的文件(例如“docker exec whoc_ctr /proc/self/exe”)。...4、upload_runtime通过/proc/$runtime-pid/exe读取运行时代码,并将其发送至配置好的远程服务器。

    71030

    KCon议题讲解——进退维谷:runC的阿克琉斯之踵

    执行过程大体如下:runC启动,加入到容器的命名空间,接着以自身/proc/self/exe为范本启动一个子进程,最后执行用户指定的二进制程序。.../self/exe init 24 root 0:00 ps aux shell1[ctr]# ls /proc/18/fd -la total 0 # 省略... lr-x----...然而,在runc init执行execve重新执行/proc/self/exe(自身)后,non-dumpable的属性被去掉,从这里开始,容器内的攻击者便可以利用/proc/[runc-PID]/exe...方案二对于用户空间尝试修改runC的行为是有效的,然而,由于容器内/proc/self/exe依然指向宿主机上的runC程序,且内核漏洞DirtyPipe并未受到前述只读挂载的限制,容器内攻击者就可以利用...下面是进行ELF文件注入的代码示例,该示例将载荷注入到了原ELF文件程序入口地址(Entrypoint,下文简称EP)的位置: runc_fd_read = open("/proc/self/exe",

    87530

    Runc 容器初始化和容器逃逸

    当一个进程运行时,它自己可以通过/proc/self/exe得到指向自己的链接,也可以进一步在/proc目录下找到自己的 fd。...一个恶意构建的镜像可以将自己的入口改成/proc/self/exe,由于容器入口需要通过 runc 来 clone+execve 启动,这样就使得一个普通的用户容器,访问并执行了主机上的 runc。...环境变量,迫使 runc 优先使用改造过的.so文件,而这个.so的作用,就是改写/proc/self/exe指向的文件,即主机上的 runc。...在这个漏洞中,我们可以看到它需要满足几个条件: 容器能够通过入口/proc/self/exe指向主机中的 runc 容器允许用户自行任意指定,将其中的恶意代码伪装成普通文件 容器中的用户 UID 在主机中的映射...clone,避免了/proc/self/exe指向主机 runc 的问题。

    1.2K20

    Python编写的桌面图形程序,如何实现版本更新和下载?

    同时,我们还能直接使用PyInstaller、Nuitka、cx_Freeze等Python第三方程序打包模块,将编写好桌面图形界面程序打包为各个平台的二进制可执行程序文件,比如Windows下的exe...通常我们会将程序按需打包为单个的exe可执行文件或包含整个文件夹的可执行文件。 程序更新 随着版本的迭代和功能的优化,我们编写的程序会需要进行更新。...程序文件的下载,我们可以直接使用requests模块,示例代码如下所示: def work(self): # 新建一个文件对象 temp_file = os.path.join(self.download_path...chunk in f.iter_content(chunk_size=self.buffer): if not chunk: break self.fileobj.seek...for proc in psutil.process_iter(): if proc.name() == 'xxx.exe': proc.kill()

    3.6K10

    容器逃逸成真:从CTF解题到CVE-2019-5736漏洞挖掘分析

    /proc/[PID]/exe:它是一种特殊的符号链接,又被称为magic links(为什么将这类符号链接叫做magic links呢?.../proc/self/exe; 2 持续遍历容器内/proc目录,读取每一个/proc/[PID]/cmdline,对"runc"做字符串匹配,直到找到runc进程号; 3 以只读方式打开/proc/[.../proc/self/exe,因此实际上将执行宿主机上的runc,而runc也已经在第4部中被我们覆盖掉了。...附录:为什么将/proc下的符号链接称为magic links? ? 我们知道,/proc目录下有许多符号链接,例如/proc/[PID]/exe和/proc/[PID]/cwd。...如上图,我们创建了一个普通符号链接,可以看到它的文件长度为目标文件名的长度,即6;但/proc/self/exe的长度却是0,而非其所指目标文件/bin/ls名称的长度。

    4K20
    领券