首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无招胜有招: 看我如何通过劫持COM服务器绕过AMSI

这使的反病毒产品能够在恶意程序的脚本被解释执行之前执行劫持操作,这在一定程度上意味着任何的代码混淆或加密都有相对应的例程去还原和解密程序。...在本文中,我们的实验是一个通过PowerShell进行的AMSI测试示例,测试过程是当AMSI模块接受外部进来的脚本块并将其传递给Defender进行分析的时候进行劫持操作,具体可见下图所示: 正如你所看到的...,AMSI接受了我们构造的恶意代码并将该代码块传递给被调用的Invoke-Expression。...由于amsi.dll也是AMSI的COM服务器,因此将这两个DLL分开似乎是一个很好的修复方法。...在进行研究之前,我们需要明白的是:基本上,脚本解释器(如PowerShell)从工作目录加载amsi.dll,而不是从安全路径(如System32)加载它。

2.7K70
您找到你想要的搜索结果了吗?
是的
没有找到

Windows: 使用PowerShell管理Hyper-V虚拟机

使用 Invoke-Command 运行脚本或命令 配合使用 PowerShell Direct 和 Invoke-Command 非常适合需要在虚拟机上运行一个命令或一个脚本但在这一点之外无需继续与虚拟机进行交互的情况...该脚本将在虚拟机上执行。命令一运行将会自动关闭连接。 8....使用 New-PSSession 和 Copy-Item 复制文件 注意: PowerShell Direct 仅支持 Windows 版本 14280 及更高版本中的持久性会话 在编写用于跨一个或多个远程计算机协调操作的脚本时...由于持久性会话具有持久性,在会话中创建的或传递给会话的任何变量将跨多个调用被保留。有多种工具可用于持久性会话。...完整的虚拟机配置示例 以下是一个完整的PowerShell脚本示例,展示如何创建虚拟机、配置处理器和内存、设置ISO安装源、禁用安全引导以及设置光盘优先引导, 启动: powershell New-VM

14210

GuLoader 新变种被在野发现

旧版本的 GuLoader 采用了相当先进的反虚拟机、反调试与反扫描技术,在受控环境下执行时会提示“该程序不能再虚拟环境或调试软件下运行”。...但在最新的变种中,GuLoader 似乎将这种分析对抗技术删除了。...另外,VBScript 脚本会在命令提示符下回显子字符串,并读取命令提示符输出以在代码中使用: 部分去混淆的 VBScript 脚本 VBScript 脚本将部分混淆的 PowerShell 脚本作为参数传递给...powershell.exe 来执行: 执行 PowerShell 代码 PowerShell 脚本 PowerShell 脚本在一个变量中包含另一个混淆的 PowerShell 脚本,该变量会使用函数...去混淆函数会采用替代字节的方式来获取实际的 PowerShell 脚本PowerShell 脚本 研究人员对 PowerShell 脚本进行了去混淆处理。

47720

网络安全自学篇(二十)| Powershell基础入门及常见用法(二)

如何将数组倒序输出呢?如下所示。 ? ? 数组添加一个元素代码如下: ? ? 更多数组操作,推荐读者结合实际应用进行学习。...六.Powershell字符串及交互 1.定义文本及转义字符 表达式中可以定义只,如下所示。同时,单引号和双引号可以相互嵌套,这和JAVA、PHP、Python中的变量套接类似。 ?...在Powershell中,转义字符不再是斜杠(\)而是(`),如下所示。 `n 换行 `r 回车符 `t tab键 `b 退格符 `’ 单引号 ? ? ?...4.字符串操作 任何编程语言,都绕不过字符串操作,在网络安全领域,获取ip地址、URL拼接、图片或脚本文件获取等都涉及字符串操作,下面进行简单分享。 字符串分割 ? ? 获取图片名称 ? ?...由于注册表不能随便修改,很容易造成系统故障,后续随着作者深入学习,了解更多网络安全中Powershell及注册表工作再来分享,希望读者喜欢该系列文章。

2.4K20

没有本机代码的RCE:利用INTERNET EXPLORER中的写入内容

此外,脚本无法访问损坏的字符串数据以进行信息泄漏,因为传递给get_className_direct的BSTR是临时BSTR。之后,脚本所访问的BSTR的内存空间,跟前面的是不同的。...为此,我们可以先将任意对象放入ar1(gremlin+1)元素中,然后,使用gremlin作为读取原语来“泄露”该对象的地址: 图3:泄漏目标对象的地址 图3展示了我是如何将gremlin与后续数组元素结合使用的...在此之后,我们开始放置PowerShell脚本。不幸的是,到现在为止,我们的内存空间已经不多了。在我们处理第三个障碍(即pld指针)之前,只有0x1c字节空间可用了。...我们如何防止pld指针的出现会破坏PowerShell脚本的内容呢?...我是借助PowerShell注释来解决这个问题的: 之后,我们可以关闭PowerShell注释,并编写所需的PowerShell脚本,此外没有任何其他的限制。

1.2K20

钓鱼引发的APT攻击回溯 | C&C服务器位于韩国,whois注册却在中国上海

奇怪的是,可疑文档似乎是由一个名为Geocities的公共博客网站提供了一个多层嵌套的base64编码的VBScript脚本,下图是手工解码的结果: ? 图1....“powershell.exe” 命令编码得到的VBScript 通常VBScript的“createbject”指令都会跟在 Powershell 命令“powershell.exe -w hidden...VBScript base 64解码代码 在多层循环解码base 64编码后,结果很明显的:附加于Word附件文档,隐藏在VBScript文件中,存在一个长且危险的脚本,随时可由Powershell执行...逆向之旅似乎还有很长的路要走,我们再一次为MalwareMustDie的技巧所惊叹,他成功地编译了shellcode并获得了一个可安全执行的文件。...由C&C服务器回的主机名和IP地址可知,该服务器位于韩国首尔。 ?

1.9K90

无文件Powershell恶意程序使用DNS作为隐蔽信道

通过命令行传递给Powershell的代码基本上是base64编码的,并用gzip压缩的,只有尾部一小部分没有编码。...没有编码的这段会被用于解压缩该代码,并传递给Invoke-Expression Powershell cmdlet(IEX)执行。通过这一步骤,代码不需要被写入受感染设备的文件系统,就可以执行。...第三阶段Powershell脚本中的“Logic”函数会从脚本中的第二组域中随机选择一个C2域,并用这个域进行初始查找。...然后,第三阶段中的解码函数会被调用,并将解码的字符串传递给IEX,来扩展Powershell环境。 这一步完成后,将调用新扩展环境中的一个函数,来执行第四阶段代码,并设置特定参数。...$acknowledgement_num – “SYN”消息响应中产生的四位数字,值似乎不会变化,而且必须包括在所有后续的“MSG”查询中。

2.2K90

Windows10 WSL2 Ubuntu 图形界面环境搭建(Xfce4 、XServer)

安装wsl2和Ubuntu 在安装了wsl2后有时候需要文件到ubuntu上面,比如一个测试项目什么的。因为wsl里面挂载了本地的磁盘,所以准备安装个图形界面,操作下也挺简单的。...配置监听 我们使用ifconfig 查找WSL2虚拟机的虚拟网络适配器的LAN地址 172.17.220.73 这是Ubuntu的网络地址 ?...然后,打开Powershell并运行ipconfig命令。可以看到vEthernet (WSL)是172.17.208.1。...这是用于与ubuntu虚拟机通信的vEthernet适配器的Windows网络地址 ? 接下来,在.bashrc文件中添加一行,告诉图形应用程序在什么地址找到本地运行的Xming。...3、重启电脑后配置的ip会变,需要修改.bashrc,也可以想办法固定ip或者写脚本之类的,我还没试!

23.2K52

Windows提权之Hot Potato

但是这种技术使用http到smb身份验证来创建高特权服务,因为http请求可能来自windows update等高特权服务,由于流量包含ntlm凭据,并且正在通过一个伪造的代理服务器,因此可以将其捕获并传递给本地...ntlm中继,通过不同的协议(http到smb)来创建一个新的系统服务,该服务将执行pentestlab3负载: 应该使用第三个metasploit处理程序来捕获已经以更高的权限执行的有效负载: PowerShell...有一个替代选项,它模拟了powershell中的hot potato漏洞,称为tater,此脚本包含在Empire、p0wnedshell和ps >Attack,它有两种方法来执行权限提升 NBNS...WPAD Bruteforce + Windows Defender Signature Updates WebClient Service + Scheduled Task 该脚本已经在Windows...2008 server R2环境中测试过,但是它似乎不像在windows 7和windows 10中那样可靠,因此,下面的截图来自这个工具的所有者,而不是来自pentestlab,但它被用来快速参考powershell

67820

1.PS编程入门基础语法

命令:如果没有找到函数,控制台会继续寻找命令,即cmdlet,powershell的内部命令。 脚本:没有找到命令,继续寻找扩展名为“.ps1”的Powershell脚本。...中得转义符类似于其他编程语言中得 \ 反斜杠,如果在变量前加入该符号则不进行变量解析。...$Args : 包含由未声明参数和/或传递给函数、脚本脚本块的参数值组成的数组。 在创建函数时可以声明参数,方法是使用 param 关键字或在函数名称后添加以圆括号括起、逗号 分隔的参数列表。...$Input : 一个枚举数,它包含传递给函数的输入。$Input 变量区分大小写,只能用于函数和脚本块。(脚本块本质上是未命名的函数。)...只有在声明参数的作用域(如脚本或函数)中, 此变量才有值。可以使用此变量显示或更改参数的当前值,也可以将参数值传递给 其他脚本或函数。

20.5K20

无需Native Code的RCE——IE8中的写入原语利用

此外,脚本无法访问损坏的字符串数据以进行信息泄漏,因为BSTR传递给get_className_direct它是暂时的BSTR。它是不一样的BSTR分配该脚本可以稍后访问。因此案例1是不可利用的。...唯一的限制似乎是不能将值scrollLeft设置为大于0x001767dd的DWORD值,因此这是我们可以写的最大值。正如我们将要看到的,这不会构成严重的困难。...在此之后,我们开始放置PowerShell脚本。不幸的是,到现在为止我们的空间已经不多了。在我们达到第三个障碍(即pld指针)之前,只有0x1c可用字节。...我们如何防止pld指针的出现破坏PowerShell脚本的文本?...我通过打开PowerShell评论解决了这个问题: 之后,我们可以关闭PowerShell命令并编写所需的PowerShell脚本,而不受任何进一步的限制。

1.2K40

实战 | 记一次蠕虫病毒内网传播的应急响应

号随同执法部门前往该集团的分公司进行取证调查,在前往分公司的途中对该IP113.xx.xx.xx进行了资产扫描,发现其对外开放web服务以及远程连接的端口,随后跟网络负责人沟通得知几天前是有将终端电脑里面的虚拟机架设了...起初认为攻击者是通过zabbix服务入侵进来的,将网络接入到虚拟机同一个网络环境中,进入zabbix所在的目录查看zabbix.conf.php配置文件其数据库口令为xxxx123弱口令跟虚拟机的登录口令一致...执行ps1文件读取到密码写出mkatz.ini,再通过CMD将powershell经过base64加密后的执行命令添加至计划任务7点执行一次进行权限维持。...通过恶意程序执行的powershell命令进行base64解密得到远程回URL地址为v.beahh.com,在通过威胁情报搜索该URL显示该地址为驱动人生后门的回服务器。...0x07 总结 该木马运行后会释放一个m.ps1 PowerShell运行程序,此程序会调用Mimikatz脚本,进行本机用户和密码的抓取, 同时创建计划任务,每天7点自动向v.beahh.com发送http

4K61
领券