Coder Social home page Coder Social logo

leeyangee / pyanonymous Goto Github PK

View Code? Open in Web Editor NEW
28.0 3.0 2.0 488 KB

PyAnonymous是一个应用于渗透测试场景下基于Python3的无落地内存马加载解决方案

Python 100.00%
cyber-security cybersecurity penetration-testing pentest python python3 memory-trojan

pyanonymous's Introduction

PyAnonymous: 基于Python3的无落地项目加载解决方案

PyAnonymous(Py匿名)是一个基于Python3的无落地内存马加载解决方案,它可以将一个完整的简单Py项目变为一行简单的Py表达式.

📕PyAnonymous的原理是:使用反射等手段将用户的Py项目注入到其他计算机的默认的官方库(如: math、socket)中,并在该官方库下预留项目入口,使得用户的Py项目在其他计算机的内存中持久化并方便调用

👊PyAnonymous相比于其他项目的优点在于:

  1. PyAnonymous将会自动处理简单的依赖,会将依赖和主文件一起打包至表达式中.
  2. PyAnonymous倡导全程无落地,在加载时无需任何文件落地.
  3. PyAnonymous为项目入口文件提供预留攻击者接口,将入口文件以模块的形式注入进默认math库中,方便攻击者调用

在PyAnonymous生成表达式后,当攻击者发现目标Python应用的代码执行点,可以在目标服务代码执行点(如exec、eval)执行该行表达式,将会自动将该项目加载进目标内存并可通过预设的math手动调用

💡对于绝大部分项目,都可以一键将其转化为Payload. 对于全部应用(Web应用、框架)的代码执行处,都可以一键向内存中写入项目并运行

🦙这是我自己的一个练手项目,希望师傅们多多包涵. 各位师傅可以提issue反馈问题

由leeya_bug开发

安装

下载并进入PyAnonymous:

git clone https://github.com/Leeyangee/PyAnonymous
cd PyAnonymous

快速开始

  1. 以默认命名空间生成test项目的Payload

    python main.py -e './测试项目/test/test_main.py'

    在其他计算机运行Payload后,项目入口文件 test_main.py 作为模块被注入至 math 模块中即: math.test_main,以下代码调用注入到内存的test项目入口中的函数

    import math
    math.test_main.main()
  2. 以默认命名空间生成ReadableCryptoMiner项目的Payload

    python main.py -e './测试项目/ReadableCryptoMiner/ggminer.py'

    在其他计算机运行Payload后,项目入口文件 ggminer.py 作为模块被注入至 math 模块中即: math.ggminer,以下代码调用注入到内存的ReadableCryptoMiner项目入口中的函数

    import math
    math.ggminer.main()

在默认情况下,项目将会被加载至 math.<入口文件名称>中,您可以使用以下代码调用加载至内存中的项目

import math
math.<入口文件名>.<文件中的函数>()

注意事项

  1. ⚠在您的项目中引入模块时,如果您是手动引入模块(如下列代码所示)

     __import__('test_mod').get()

    请在该文件前添加格式为#dep <模块名> 的注释使得PyAnonymous在打包时能将该依赖一同打包,如下所示

     #dep test_mod
    
     __import__('test_mod').get()
  2. ❌当前版本暂时不支持相对路径引入(正在努力适配中)

    from .display import dis #不支持相对路径导入,请更改为绝对路径导入
  3. ⚠PyAnonymous生成的Payload跨平台

  4. ⚠一般来说,在test项目中支持的导入方式,正式环境中都完美支持

鸣谢

在开发的过程中,少不了以下开源/开放代码的支持

pyanonymous's People

Contributors

leeyangee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

nocr2acks susebug

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.