• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

dismantl/linux-injector: Utility for injecting executable code into a running pr ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

dismantl/linux-injector

开源软件地址(OpenSource Url):

https://github.com/dismantl/linux-injector

开源编程语言(OpenSource Language):

C 76.3%

开源软件介绍(OpenSource Introduction):

linux-injector

Utility for injecting executable code into a running process on x86/x64 Linux. It uses ptrace() to attach to a process, then mmap()'s memory regions for the injected code, a new stack, and space for trampoline shellcode. Finally, the trampoline in the target process is used to create a new thread and execute the chosen shellcode, so the main thread is allowed to continue. This project borrows from a number of other projects and research, see References below.

Requirements

  • fasm, the flat assembler

Building

With fasm installed in your PATH, simply run:

make

Included programs and files

  • print: Test program for executing shellcode using a variety of techniques: fork(), clone(), clone syscall with inline assembly.

  • dummy: A trivial program for injecting into. Prints a message every second, then sleeps.

  • injector: The main program for injecting executable code into a running process. Simply provide it with the PID of the process to inject into, and the shellcode to execute:

    ./injector 1234 print64.bin

  • clone64.asm, clone32.asm, mmap64.asm, mmap32.asm: Shellcode stubs used by the injector.

  • print64.asm, print32.asm: Sample shellcode for printing a single line to stdout. Useful for testing the injector.

References

Further work

I plan on expanding this project to be a full ELF shared library injector. While this tool could theoretically be used as-is to inject a statically-compiled, position-independent ELF library, I want to be able to parse libraries with dynamically-loaded dependencies and load those dependencies as part of the injection process. The following resources are a useful starting point:

Copyright (c) 2015, Dan Staples. This code is available under the GNU General Public License, version 3.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap