利用第三方應用的各類代碼注入技術竊取鑰匙串
在macOS上存储密钥是一个巨大的挑战,可以通过多种不安全的方式来完成。我在漏洞赏金评估期间测试了许多Mac应用程序,并观察到开发人员倾向于将密钥放在偏好甚至隐藏的平面文件中。这种方法的问题在于,以标准权限运行的所有非沙盒应用程序都可以访问密钥数据。平面文件(Flat-File),FlatFile是一种包含没有相对关系结构的记录的文件。这个类型通常用来描述文字处理、其他结构字符或标记被移除了的文本。
在使用上,有一些模糊点,如像换行标记是否可以包含于“FlatFile(flat file)”中。在任何事件中,许多用户把保存成“纯文本(textonly)”类型的MicrosoftWord文档叫做“FlatFile(flatfile)”。最终文件包含记录(一定长度的文本的行数)但没有信息,例如,用多长的行来定义标题或者一个程序用多大的长度来用一个内容表对该文档进行格式化。
例如,macOS上的Signal在〜/ Library / Application Support / Signal/config.json中存储了用于加密所有消息数据库的密钥。
macOS钥匙串
根据苹果的说法,钥匙串是存储例如密码和加密密钥这样的小秘钥的最好地方,钥匙串是一种非常强大的机制,允许开发人员定义访问控制列表(ACL)来限制对条目的访问。应用程序可以通过密钥组权限进行签名,以便访问其他应用程序之间共享的秘钥。以下Objective-C代码将在钥匙串中保存密钥值:
并且在执行后,你应该看到条目已成功被添加:
第一种窃取技术
第一种技术是验证应用程序是否已使用“HardenedRuntime”或“LibraryValidation”标志进行了签名,钥匙串不能检测到代码注入。因此,只需使用以下命令:
如果标记为0x0,并且没有__RESTRICTMach-O段(这个段非常罕见),则只需将恶意的dylib注入到应用程序的主要可执行文件中。创建具有以下内容的exploit.m文件:
编译:
并注入:
第二种窃取技术
如果可执行文件已使用HardenedRuntime签名怎么办?这个绕过技术类似于我在XPC开发系列中向你展示的内容。抓取已分析的二进制文件的旧版本,该版本在没有强化运行时的情况下签名,并将dylib注入其中。钥匙串不会验证二进制文件的版本,而是会给你展示秘钥。
针对开发人员的建议修复程序,创建“钥匙串访问组”并将秘钥移到那里。由于二进制文件的旧版本无法使用该钥匙串组权限进行签名,因此无法获得该秘钥,详情请点此。
第三种窃取技术
切记如果设置了“HardenedRuntime”,则com.apple.security.cs.disable-library-validation将允许你注入恶意动态库。
第四种窃取技术
正如JeffJohnson在他的文章中所证明的那样,TCC只是从表面上检查应用程序的代码签名。钥匙串中也存在相同的问题,即使整个捆绑包的签名无效,钥匙串也只会验证主要的可执行文件是否未被篡改。让我们以设备上安装的Electron应用程序(MicrosoftTeams,Signal,VisualStudioCode,Slack,Discord等)之一为例,事实证明Electron应用程序无法安全地存储你的秘钥。Electron是一个创建原生应用程序的框架,基于Node.js和Chromium实现了通过JavaScript,HTML和 CSS 等 Web 技术构建跨平台应用程序的能力。
其中,Electron还封装了一些功能,包括自动更新、原生的菜单和通知、崩溃报告、调试和性能分析等。
即使你使用HardenedRuntime签署了Electron,恶意应用程序也可能会更改包含实际代码的JavaScript文件。让我们看一下GithubDesktop.app,它将用户的会话秘钥存储在钥匙串中:
并已有效签名:
接下来,更改一个JS文件并验证签名:
可以看到签名被破坏了,但是Github会正常启动并加载保存在钥匙串中的密钥:
为了防止修改,Electron实现了一种称为asar-integrity的机制。它计算一个SHA512哈希值并将其存储在Info.plist文件中,问题在于它不会停止注射。如果主要的可执行文件尚未使用HardenedRuntime或Kill标志签名,并且不包含受限制的权限,则只需修改asar文件,计算新的校验和并更新Info.plist文件即可。如果设置了这些标志或权限,则始终可以使用ELECTRON_RUN_AS_NODE变量,并再次在主要的可执行上下文中执行代码。因此,它可以窃取钥匙串条目。
总结
钥匙串中的安全密钥存储确实很难实现,因为对请求的可执行文件的代码签名检查只是一些表面的功夫,因此有多种方法可以绕过访问控制机制。
最大的问题是在Electron应用程序中,这些应用程序无法将密钥安全地存储在钥匙串中。切记,任何将实际代码存储在主要的可执行文件之外的框架都可能被诱骗加载恶意代码。
本文翻译自:https://wojciechregula.blog/post/stealing-macos-apps-keychain-entries/
鸿蒙官方战略合作共建——HarmonyOS技术社区
推薦系統(tǒng)
雨林木風 winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:WinXP雨林木風在系統(tǒng)方面技術積累雄厚深耕多年,打造了國內重裝系統(tǒng)行業(yè)知名品牌,雨林木風WindowsXP其系統(tǒng)口碑得到許多人認可,積累了廣大的用戶群體,是一款穩(wěn)定流暢的系統(tǒng),雨林木風 winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載,有需要的朋友速度下載吧。
系統(tǒng)等級:進入下載 >蘿卜家園win7純凈版 ghost系統(tǒng)下載 x64 聯(lián)想電腦專用
系統(tǒng)大小:0MB系統(tǒng)類型:Win7蘿卜家園win7純凈版是款非常純凈的win7系統(tǒng),此版本優(yōu)化更新了大量的驅動,幫助用戶們進行舒適的使用,更加的適合家庭辦公的使用,方便用戶,有需要的用戶們快來下載安裝吧。
系統(tǒng)等級:進入下載 >雨林木風xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載
系統(tǒng)大?。?/em>1.01GB系統(tǒng)類型:WinXP雨林木風xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載,雨林木風WinXP系統(tǒng)技術積累雄厚深耕多年,采用了新的系統(tǒng)功能和硬件驅動,可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅動對硬件的加速,加固了系統(tǒng)安全策略,運行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級:進入下載 >蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 V2023 X64位系統(tǒng)下載
系統(tǒng)大小:0MB系統(tǒng)類型:Win10蘿卜家園在系統(tǒng)方面技術積累雄厚深耕多年,打造了國內重裝系統(tǒng)行業(yè)的蘿卜家園品牌,(win10企業(yè)版,win10 ghost,win10鏡像),蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 ghost鏡像 X64位系統(tǒng)下載,其系統(tǒng)口碑得到許多人認可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團隊推出的蘿卜家園
系統(tǒng)等級:進入下載 >蘿卜家園windows10游戲版 win10游戲專業(yè)版 V2023 X64位系統(tǒng)下載
系統(tǒng)大小:0MB系統(tǒng)類型:Win10蘿卜家園windows10游戲版 win10游戲專業(yè)版 ghost X64位 系統(tǒng)下載,蘿卜家園在系統(tǒng)方面技術積累雄厚深耕多年,打造了國內重裝系統(tǒng)行業(yè)的蘿卜家園品牌,其系統(tǒng)口碑得到許多人認可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團隊推出的蘿卜家園win10國內鏡像版,基于國內用戶的習慣,做
系統(tǒng)等級:進入下載 >windows11下載 蘿卜家園win11專業(yè)版 X64位 V2023官網(wǎng)下載
系統(tǒng)大小:0MB系統(tǒng)類型:Win11蘿卜家園在系統(tǒng)方面技術積累雄厚深耕多年,windows11下載 蘿卜家園win11專業(yè)版 X64位 官網(wǎng)正式版可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅動對硬件的加速,使得軟件在WINDOWS11系統(tǒng)中運行得更加流暢,加固了系統(tǒng)安全策略,WINDOWS11系統(tǒng)在家用辦公上跑分表現(xiàn)都是非常優(yōu)秀,完美的兼容各種硬件和軟件,運行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級:進入下載 >
相關文章
- 如何解決銳龍2200g死機藍屏
- Win8.1本地搜索為什么無法使用
- Win8.1無線網(wǎng)絡不穩(wěn)定/掉線怎么辦
- 電腦機箱漏電怎么消除?電腦機箱漏電是哪里的問題?
- 電腦開不了機怎么辦?電腦無法開機怎么解決?
- 硬盤雙擊無法打開的問題該怎么辦
- 風行下載速度慢甚至是為0怎么辦?風行播放器下載問題及解決方法匯總
- 蘋果回應新的iOS惡意軟件YiSpector:已在iOS8.4中解決該問題
- 沒有路由器怎么連無線 160wifi 解決沒有路由器連接無線問題
- 維棠FLV下載視頻失敗問題匯總及解決方法
- Word2016 出現(xiàn)“此功能看似已中斷 并需要修復”問題解決方案(圖文)
- Cisco管理的35個常見問題及解答
- NanoStudio怎么用?NanoStudio使用方法及常見問題
- IE瀏覽器登錄網(wǎng)上銀行時出現(xiàn)崩潰問題的解決辦法
熱門系統(tǒng)
推薦軟件
推薦應用
推薦游戲
熱門文章
常用系統(tǒng)
- 1win11最新娛樂版下載 技術員聯(lián)盟x64位 ghost系統(tǒng) ISO鏡像 v2023
- 2電腦公司windows7純凈版 ghost x64位 v2022.05 官網(wǎng)鏡像下載
- 3外星人系統(tǒng)Win11穩(wěn)定版系統(tǒng)下載 windows11 64位穩(wěn)定版Ghost V2022
- 4win11一鍵裝機小白版下載 外星人系統(tǒng) x64位純凈版下載 筆記本專用
- 5蘿卜家園Ghost win10 64位中文版專業(yè)版系統(tǒng)下載 windows10純凈專業(yè)版下載
- 6【國慶特別版】番茄花園Windows11高性能專業(yè)版ghost系統(tǒng) ISO鏡像下載
- 7青蘋果系統(tǒng) GHOST WIN7 SP1 X64 專業(yè)優(yōu)化版 V2024
- 8深度技術ghost win7純凈版最新下載 大神裝機版 ISO鏡像下載
- 9雨林木風windows11中文版免激活 ghost鏡像 V2022.04下載