azurestorexplorer
過去在管理 Azure 儲存體時,我大都是使用 PowerShell 或者第三方軟體像是 CloudBerry Explorer for Azure Blob Storage;約在去年底,微軟終於發佈自己撰寫的管理工具 - Microsoft Azure Storage Explorer ( 文後簡稱MS ASE ),儘管目前屬於 Preview 測試階段 ( 發文時的版本為 v0.7.20160107 ),但尚能滿足基本操作需求,而且還是跨平台連 Mac 或 Linux 均有。

他真的很方便,只要輸入可登入 Azure 的帳號,就會自動把所有關聯此帳號的訂閱及儲存體勾選後列出...

只是我們都知道,方便與資訊安全永遠很難畫上等號!!!

某天,在客戶公司進行 Azure VM 佈署管理時,為了加快建置時間,在客戶的「公用」電腦安裝了 MS ASE,因為該公司的內網不允許直接連到 Internet。安裝完成,沒想太多就在 Azure Storage Explorer 順手用自己的 Microsoft Account 登入。

直到工作完成,我才發現...代誌大條了!!! 因為客戶的公用電腦只要一開 MS ASE,就會自動用我的帳號密碼登入,而且還把我自己及其他客戶的儲存體帳戶通通列出來。

現場趕緊研究了一下 MS ASE 介面,發現似乎沒有可移除登入帳號資訊的功能選單。
azurestorexplorer01

[2016.07.19 更新] 經測試,MS ASE 0.8.2 版已提供從介面移除帳號資訊
azurestorexplorer_082

但從首次輸入帳密,之後登入 MS ASE 也不用再輸入密碼,至少猜到密碼的部分應該是儲存在控制台的「認證管理員」。於是,在離開前趕緊把一般認證都清空,最後客戶電腦的 MS ASE 只看得到我登入的帳號名稱,而無法存取到任何有關的儲存體帳戶。

不過,我怎樣就是不想在客戶電腦走過還留下痕跡啊!!!
azurestorexplorer02

回到家,覺得未來還是有可能再遇到,決定認真研究這問題,並且挑戰不拜請 Google 大神,看能否自己解決。

於是,先嘗試完整反安裝 MS ASE,並且清空該目錄,接著再安裝 MS ASE,發現一啟動軟體仍存在先前的帳號資訊。猜想 MS ASE 應該是把帳號資訊,寫到其他非安裝目錄及檔案中。

只好請出 IT 破案界的超強工具 - Process Monitor,觀察 MS ASE 到底做了哪些事。果然,在模擬設定登入帳號的過程,發現 MS ASE 寫東西到下面位置及檔案中:

 C:\Users\AccountName\.adalcache 

azurestorexplorer03

再到 C:\Users\AccountName\ 目錄一看,果然找到 .adalcache 檔案,且另一個 .devaccounts 也很可疑。
azurestorexplorer05

Notepad++ 檢視這兩個檔案,發現相關的帳號資訊都有被寫在裡面。 ( 下圖已經做過人工處理,非真實名稱 )

azurestorexplorer06

因為我的目標是「凡走過不留下任何痕跡」,所以最快解決方法就是直接送這兩個檔案上路,再開啟 MS ASE 就跟全新的一樣了。
azurestorexplorer07

其實一開始,我有嘗試用搜尋引擎找國外討論及文章,但不知道是否因 MS ASE 的命名關係,導致即便下了不少關鍵字,還是很難在前兩頁找到有用資訊,最後才決定請出 Process Monitor 來協助。

另外,衷心希望微軟把 MS ASE 產品改個名,像是 Azure Storage Manager 或者其他,至少在搜尋引擎會比較容易找到對應的資源。

我相信大家對微軟的產品改名是很習慣的 /;)/

推薦閱讀:
黑暗執行緒 – 【茶包射手專欄】Process Monitor基本操作教學
Windows Sysinternals  – Process Monitor