当前位置:首页 > 前端设计 > 正文

shellcode是什么?shellcode编写教程

shellcode是什么?shellcode编写教程

大家好,感谢邀请,今天来为大家分享一下shellcode是什么的问题,以及和shellcode编写教程的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家...

大家好,感谢邀请,今天来为大家分享一下shellcode是什么的问题,以及和shellcode编写教程的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

windowspowershell怎么运行代码

WindowsPowerShell运行代码的方法非常简单。使用WindowsPowerShell可以轻松运行代码。使用WindowsPowerShell可以运行各种类型的脚本,包括Python、JavaScript和C#等。要运行代码,请首先打开WindowsPowerShell,然后输入代码文件的路径并按Enter键。除了运行代码,您还可以使用WindowsPowerShell执行各种系统管理任务,包括但不限于安装软件程序、查看系统信息和管理文件和文件夹等。作为一名程序员或系统管理员,了解和掌握这个工具可以提高工作效率和工作质量。

计算机挖矿病毒是怎么样通过PowerShell脚本作为载体进行传播的呢

前言

近日,金山毒霸安全实验室拦截到一个通过PowerShell脚本作为载体进行传播的挖矿病毒,其通过下拉多个脚本完成一次攻击行为,使用“永恒之蓝”漏洞、WMIExec渗透工具进行自动化传播,同时所有载荷均写入WMI进行无文件驻留。

该样本目前仍在活跃中,同时存在其他变种,详细分析见正文。

正文

母体脚本

如下为捕获到的样本,也是一个唯一落地的BAT脚本,功能上算一个较为常见的PowerShell联网下拉执行脚本。通过判断WMI的命名空间下是否存在名为的,如果不存在则联网下拉脚本。

提供病毒下载的服务器

其中,

info.vbs携带挖矿程序的vbs脚本,自身会写入WMI

info3.ps1携带x86平台挖矿、攻击脚本

info6.ps1携带x64平台挖矿、攻击脚本

攻击演示图

info6.ps1主脚本

混淆严重

info6.ps1是一个混淆程度较高的powershell脚本,整体代码只有两行,但足有3.9M大小,真是”短小精悍”。

通过对该脚本进行2次去混淆并进行整理,最终得到一个较为清晰的内容,下文是其执行过程及其相关模块的分析。

执行过程

1.初始化数据

通过对$fa进行分拆得到各个变量的数据,实际均经过base64编码。

这些数据会存储在中,而的管理类是WMI,实际最终存储在WMI中,也即无文件

在取值的时候,则可以通过如下方式取出

2.判断x64

大多数机器是x64的,但也有部分x86用户,需要做兼容,实际功能代码与info6.ps1一样。

3.解代码

由于fun中有WMIExec和MS17010的攻击包,还有一些是辅助功能函数,所以这里先引入,至于里面具体是什么请向下看。

4.释放运行时dll

这些dll是挖矿程序需要用到的,所以这里早点释放出来吧

5.删除其他WMI

6.写自己的WMI

其中FilterName与ConsumerName分别为,,间隔5600s执行一次”本脚本”功能,通过powershell传入base64编码后的脚本内容。

7.善后、开工!

由于母体bat脚本是由ms17010shellcode写入temp路径下的,原始名称为y1.bat,并且通过写计划任务的形式启动,所以这里需要删掉这个计划任务以及清理掉这个bat脚本。之后看看哪些powershell进程访问了80端口,由于样本携带的挖矿程序均访问80端口,所以也以此判断是否启动了自己的挖矿程序,如果没访问那么就需要执行一次,当然为了保证工作环境的干净,需要干掉疑似挖矿的其他powershell进程,通过判断典型挖矿程序的的3333,5555端口访问。

8.攻击、传播!

为了保证挖矿效率,需要抓一些”矿工”,由于不会给工资,所以没人愿意白干。这里需要请WMIExec和MS17010两位大哥出面协调。

通过枚举网段IP,进行攻击,由于给WMIExec命令行参数传错,导致这个攻击彻底废了,那只好MS17010出马了,通过调用C#实现的接口,以及函数进行攻击。

模块分析

继上文说到本样本使用了WMIExec和MS17010攻击包,那么这些东西是什么,又是怎么引入的?这也是本节要说明的。

WMIExec

代码来自Invoke-TheHash项目,一个基于.NetTCPClient,通过把NTLMhash传递给NTLMv2身份验证协议来进行身份验证的工具,执行时不需要本地管理员权限,传送门

样本作者封装了一个test-ip函数,其参数2,4是通过mimikatz抓取的本地用户hash,参数1,3分别是目标ip和回连web服务器。WMIExec执行的功能是通过写一个VBSDownload,下拉执行一个VBS脚本,同时下拉执行info6.ps1(32位为info3.ps1)。

MS17010

虽然这个漏洞目前看来有点”过气”,但毕竟也是RCE啊!

作者分别引入了扫描和exp模块,扫描模块,通过的方式引入源代码,这样会在powershell运行过程中调起C#编译器动态编译,抓取到的命令行如下

exp模块,已封装很完整,暂未找到开源代码。

shellcode,执行如下命令

攻击时截图如下,

执行方式

样本作者在PowerShell中携带的挖矿程序,会通过反射加载的方式进行启动,具体可以用如下代码模拟启动

(门罗毕)挖矿程序执行后,界面如下

info.vbs脚本

上文说了info6.ps1和其相关的辅助模块,同时提到一次WMIExec攻击成功之后,会下拉一个info.vbs脚本,但是由于传入参数问题,这个是不会被下拉的,这里简单分析下。vbs脚本依然存在混淆,通过提取、整理,如下,先将编码后的另一个挖矿程序写入到WMI中保存起来,使用的时候通过调用WriteBinary函数导出

之后取出来,释放执行,开始挖矿

完成写一个WMI事件过滤器,间隔2h启动一次,功能当然是取挖矿程序,释放执行,这里不再赘述。

检测&清除

通过代码分析,本样本实际传播途径主要为ms17010,所以提醒各位还是要及时安装补丁。

检测&清除PowerShell脚本代码如下,请尝试以管理员权限运行(请谨慎使用下列代码,在自身不确定的情况下也可安装金山毒霸进行检测)

3.金山毒霸可进行查杀防御

总结

通过对本样本的分析,可以知道样本自身使用了很多开源代码,实际由病毒作者编写的代码量很小,极大降低了制作难度,这也是现有非PE攻击的一个普遍特性。

目前来看,非PE攻击已经有白热化趋势,随着js、vbs脚本逐渐被杀软“围堵”,以PowerShell为载体的新一轮攻击已经开始,由于PowerShell的特殊性,现有依靠“白名单策略”构建的防护体系存在“坍塌”的风险,针对PowerShell的防御,将成为一个新的安全研究方向。

截止完稿,样本已经挖了13个门罗币了,市值6000多元。

PS:欢迎大家关注、转发、点赞、转发、收藏等方式交流。

pycharm和pythonshell一样吗

pycharm和pythonshell都是编辑器,只不过后者是集成编辑器,功能十分强大,前者属于命令行编辑器,虽然都可以编写代码,但日常基本没有人使用pythonshell进行代码编写,原因:效率非常低!

Windows下说的shell是什么东西呀

动态链接库(DynamicLinkLibrary或者Dynamic-linklibrary,缩写为shell32.dll,又称为动态连结库,是微软公司在微软视窗操作系统中实现共享函数库概念的一种实作方式。这类文件中封装了系统正常运行所不可或缺的大量代码。

shell命令怎么统计代码行数

wc命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。

语法:wc[选项]文件…说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。该命令各选项含义如下:-c统计字节数。-l统计行数。-w统计字数。这些选项可以组合使用。输出列的顺序和数目不受选项的顺序和数目的影响。总是按下述顺序显示并且每项最多一列。行数、字数、字节数、文件名如果命令行中没有文件名,则输出中不出现文件名。例如:$wc-lcwfile一file二四三三file一漆5二file二省略任选项-lcw,wc命令的执行结果与上面一样

appshell怎么设置中文

你好,要设置AppShell的中文语言,您需要进行以下步骤:

1.打开您的AppShell项目的源代码文件夹。

2.在根目录下找到config.xml文件,并使用文本编辑器打开。

3.在config.xml文件中,找到以下代码片段:

```xml

<preferencename="DefaultLocale"value="en_US"/>

```

4.将value的值从"en_US"更改为"zh_CN",即将英文语言设置更改为中文语言。

```xml

<preferencename="DefaultLocale"value="zh_CN"/>

```

5.保存config.xml文件,并重新构建或打包您的AppShell项目。

6.在重新构建或打包后的AppShell应用程序中,您将看到界面以中文显示。

请注意,具体的步骤可能会因您使用的AppShell框架或工具而有所不同。请参考相关的文档或参考指南以获取更准确的指导。

如果你还想了解更多这方面的信息,记得收藏关注本站。

最新文章