Cookie Maker:隱藏在Google Docs中的惡意網路
一、前言
FortinetGuard實驗室最近發現了使用Google Docs的一次攻擊活動,攻擊者在此次攻擊活動中打著Fortinet以及FortiGuard的旗號。當我們檢查文件樣本時,我們發現這個惡意網路中存在一條非常長的重定向鏈,並且這條重定向鏈的最後一跳會根據受害者的IP及user-agent特徵而有所區別。這個惡意網路針對的是所有主流作業系統平臺:Windows、Android以及MacOS。
在本文中,我們分析了此次攻擊活動流經的跳轉路徑,以及針對Windows平臺的惡意樣本。在本文末尾,我們分析了追蹤溯源相關資訊,嘗試尋找隱藏在這些攻擊活動背後的黑手。
二、惡意文件
2018年夏季,有研究人員發現帶有基於特定連結訪問策略的Google文件可能會被爬蟲索引入庫。這樣一來,許多單位的內部文件就可以被公開訪問。比如有個真實案例,俄羅斯銀行關於招聘政策的一份摘要文件就引起了人權人士的關注。在該文件中,招聘方闡述了一項政策,禁止招聘帶有特定宗教信仰或者性取向的某些人群。
還有包含明文密碼的許多文件被公之於眾。由於我們可以在Google文件網頁中搜索“password”,輕鬆檢索到這類文件,因此問題變得非常糟糕。當然如果現在大家迫不及待想偷窺別人的隱私,可能得三思而後行,至少先閱讀完本文再說,事情並沒表面上看起來那麼簡單。
當FortiGuard實驗室團隊聽到這個訊息後,我們親自動手搜尋了一次,想看看有沒有Fortinet內部文件被公之於眾。我們並沒有發現洩露的內部文件,只發現了Fortinet裝置的預設密碼(我們在文件中使用的都是同一個密碼,這並非祕密資訊)。
話雖如此,我們的努力並沒有白費,因為我們還發現了一些有趣的東西。比如,搜尋“Fortiguard”關鍵詞後的結果如下:
圖1. Google搜尋“Fortiguard”的結果
我們在Google上找到了168條結果(有趣的是,Google搜尋結果實際上與使用者IP所屬國家有關)。在168條搜尋結果中,實際上有超過150條與攻擊者構造的文件有關(比例超過了90%,是不是迫不及待想閱讀這些“私密”檔案)。
搜尋“Fortinet”關鍵詞後,我們可以找到750個結果。大家可以在本文附錄找到其中一些文件的連結。文件連結數之所以比搜尋結果數量要少,是因為許多搜尋結果指向的是同一個文件。隨著調查的進一步深入,大家可以理解攻擊者如何實現這種效果。
此外,Fortinet並非牽扯其中的唯一單位。我們發現如果在Google中搜索網路安全領域中的知名廠商,還可以看到一百多個(甚至更多)惡意文件。此時我們意識到我們面對的是一次攻擊活動,攻擊者已經將數千個惡意文件插入Google Docs中。
三、惡意文件分析
分析了許多這類惡意文件後,我們發現這些文件採用不同的語言編寫,但主要語言為英語及俄語。儘管存在語言差異,但這些文件都具備相同的結構。文件都包含一個大標題,然後跟著一小張圖片(主題不一定與標題相關),然後是使用大字型的一個超連結。這類文件如下圖所示:
圖2. 惡意文件樣本
在超連結下面有許多空白空間,攻擊者通過這種方式來隱藏插入在文件底部的“垃圾文字”。然而,這種“垃圾文字”的目的是藉助各種不同的關鍵詞,使爬蟲能夠成功索引這類檔案。這也解釋了為什麼Google搜尋結果數量會比實際的Google文件數量要少,因為許多連結指向的是同一個文件。
圖3. 某個惡意文件穩步的“垃圾文字”樣例
四、分析惡意連結
如果受害者點選惡意文件中的超連結,那麼瀏覽器會執行一系列重定向操作。根據GET請求中user-agent欄位的不同以及使用者IP地址的不同,所訪問的最終目的地也有所不同。
重定向鏈
在這一章節中,我們將分析惡意樣本所生成的重定向鏈,惡意樣本標題為“Fortiguard web filtering bypass software free download”。該文件如圖2左上角所示。分析其他文件上的連結後我們也能得到類似結果。
首先,使用新加坡VPN IP地址(我們使用的地址)及Google Chrome瀏覽器所對應的User-Agent資訊(我們所使用的瀏覽器)後,我們能看到如下一條重定向鏈:
1. hxxp://vbtrst[.]pro/dnew?k=Fortiguard+web+filtering+bypass+software+free+download 2. hxxp://sxkwor[.]space/rtb/s/APEN2FuhOAAA4dsBAFNHGQASAGmZEJMA 3. hxxp://11fileupload-2[.]xyz/it…fA== 4. hxxp://static.21.101.69.159.clients.your-server[.]de/file?f=ae…05&utm_source=APEN2FuhOAAA4dsBAFNHGQASAGmZEJMA&utm_medium=14497&utm_campaign=default 5. hxxps://thimbleprojects[.]org/dedzsumkoi/528138/?method=blob&type=download&name=Rm9ydGlndWFyZF93ZWJfZmlsdGVyaW5nX2J5cGFzc19zb2Z0d2FyZV9mcmVlX2Rvd24ucmFy&v= eyJ0cmFuc2FjdGlvbl9pZCI6IjU0ODAyMjI1NiIsInRva2VuIjoiOWM0MDVmOTIwYTdhYTI2ODE0MzdkMjRkZGRhNTM2YTUifQ%3D%3D 6. hxxps://4requests[.]org/findic.php?v=eyJ0cmFuc2FjdGlvbl9pZCI6IjU0ODAyMjI1NiIsInRva2VuIjoiOWM0MDVmOTIwYTdhYTI2ODE0MzdkMjRkZGRhNTM2YTUifQ=="
下面我們來看一下每個URL中存在的一些特殊引數:
1、 “hxxp://vbtrst[.]pro/dnew?k=Fortiguard+web+filtering+bypass+software+free+download“
第一個連結的引數非常明顯,重複了文件的標題。
2、 “hxxp://sxkwor[.]space/rtb/s/*APEN2FuhOAAA4dsBAFNHGQASAGmZEJMA*”
第二個URL的引數為經過BASE64編碼的一組位元組:
- 前6個位元組為採用小端位元組序(little-endian)的 Unix_time" rel="nofollow,noindex" target="_blank">UNIX Epoch時間戳 ,如下圖綠色高亮部分。
- 隨後2個位元組為 小端位元組序 的utm_medium編號,如下圖黃色高亮部分。我們將在本文中介紹這個欄位的用途。
- 第13及第14個位元組(從0開始計數)為ASCII編碼的國別程式碼(這次使用大端位元組序,如下圖紅色高亮部分)。當我們使用不同的IP時這個欄位的值也有所不同。俄羅斯和新加坡IP地址所得到的不同結果如下圖所示:
圖4. 新加坡IP(左圖)及俄羅斯IP(右圖)所得到的不同引數
3、“hxxp://11fileupload-2[.]xyz/ it…fA==”
這個引數是經過BASE64編碼的一個字串(另外還經過混淆處理)。為了保證文章排版緊湊,這裡我們刪減了這個引數長度。
4、“hxxp://static.21.101.69.159.clients.your-server[.]de/file?f=ae…05&utm_source=APEN2FuhOAAA4dsBAFNHGQASAGmZEJMA&utm_medium=14497&utm_campaign=default”
這裡我們可以看到與步驟2相同BASE64編碼。除此之外,utm_medium的值為14497。14497對應的是十六進位制的0x38A1,或者0xA1 0x38(小端位元組序)。有趣的是,這個值與圖4中黃色高亮部分的值相同。
5、“hxxps://thimbleprojects[.]org/dedzsumkoi/528138/?…
method=blob&type=download&name=Rm9ydGlndWFyZF93ZWJfZmlsdGVyaW5nX2J5cGFzc19zb2Z0d2FyZV9mcmVlX2Rvd24ucmFy&v=
eyJ0cmFuc2FjdGlvbl9pZCI6IjU0ODAyMjI1NiIsInRva2VuIjoiOWM0MDVmOTIwYTdhYTI2ODE0MzdkMjRkZGRhNTM2YTUifQ%3D%3D”
攻擊者在這個URL中濫用了Mozilla的 線上程式碼編輯器 。我們從該引數中能夠提取出有意義的引數名及對應的BASE64編碼值。解碼後的URL如下所示:
method=blob&type=download&name=Fortiguard_web_filtering_bypass_software_free_down.rar&v={"transaction_id":"548022256","token":"9c405f920a7aa2681437d24ddda536a5"}
如上所示,我們又一次看到文件的名稱,但這次使用的是.rar副檔名。此時出現同一個文件名就像是魔術一樣,如果我們在步驟2中只看到24節長的引數,並且沒有看到用來跟蹤已訪問URL的Referrer欄位,這裡我們怎麼會看到至少54位元組長的一個檔名呢?此外,我們最近發現,這些位元組大部分與時間戳或者受害者IP地址有關,跟文件名沒有關係。
有一種可能:維護vbtrst[.]pro的攻擊者以及濫用thimbleprojects.org的攻擊者是同一撥人。這樣就可能維護一個共享資料庫,所有文件的名稱都對應某些數字。通過這種方式,只傳輸幾個位元組(資料庫記錄中的編號)就能恢復初始文件的全名。此外,很有可能utm_medium欄位就服務於這個場景。
6、“hxxps://4requests[.]org/findic.php?v=eyJ0cmFuc2FjdGlvbl9pZCI6IjU0ODAyMjI1NiIsInRva2VuIjoiOWM0MDVmOTIwYTdhYTI2ODE0MzdkMjRkZGRhNTM2YTUifQ ==”
這個引數與上一步使用的引數相同(解碼後為{“transaction_id”:”548022256″,”token”:”9c405f920a7aa2681437d24ddda536a5″})
到目前大家可能已經猜得到,多個重定向後用戶會下載如下檔案:
Fortiguard_web_filtering_bypass_software_free_down.rar
在這個壓縮文件內部還有一個惡意的PE檔案,我們會在本文的Windows樣本分析中討論這方面內容。
與User-Agent欄位的關係
如前文所述,這條重定向鏈與受害者的User-Agent欄位緊密相關(下文我們使用UA來指代User-Agent)。
IE瀏覽器
如果使用IE11對應的UA,那麼會得到如下重定向鏈:
Vbtrst[.]pro -> sxkwor[.]space -> 11fileupload-2[.]xyz -> static.21.101.69.159.clients.your-server[.]de
這條重定向鏈與前一條非常類似,但節點更少。此時static.21.101.69.159.clients.your-server[.]de會直接投遞惡意樣本,而沒有額外跳轉到thimbleprojects.org以及4requests[.]org。我們猜測前面之所以會增加其他重定向節點,是為了保護static.21.101.69.159.clients.your-server[.]de,避免其被Google安全瀏覽技術列入黑名單中。
移動裝置及Safari(Macintosh)
當我們使用移動裝置或者MacOS對應的UA時,我們得到了兩條新的重定向鏈。在每條重定向鏈的最後環節,我們可以獲取到.APK或者.DMG檔案。後面我們會單獨分析這些檔案。
五、分析Windows樣本
在測試不同的IP及UA欄位時,我們得到了十幾個不同的樣本,這些樣本針對的都是Windows平臺。在這部分內容中,我們將討論攻擊者為了規避反病毒服務所使用的各種技巧。
可修改的內部結構
儘管所有樣本都具有相同的行為,但這些樣本具備各種不同的(有時候是相互矛盾的)內部結構。比如,某個樣本的FileDescription欄位的值為MODJO Internet Security。有趣的是,這個樣本還帶有manifest資料,其中description欄位的值為Installs Adobe Flash Player。
圖5. Description欄位內容
為了進一步增強複雜度,這個樣本還使用了與VK.com(這是俄語國家流行的一個社交網路)非常類似的一個圖示。
圖6. 惡意樣本圖示(左圖)以及VK.com社交網路logo(右圖)
至於MODJO Internet Security,我們發現最後一個字母會經常改變。我們發現有些樣本會使用如下名稱:
MODJO Internet Security MODJA Internet Security MODJB Internet Security
不同樣本之間還有另一個區別:.RSRC資料。樣本會在這個區域中插入各種.png影象來實現樣本的多樣性。儘管使用者看不到這些影象,但不同樣本中這些影象的數量和大小存在顯著差異。
圖7. 兩個樣本.RSRC區中封裝的PNG檔案
那麼為何這些樣本會在那麼多地方存在不同?我們無法給出確切的回答,但猜測攻擊者會盡可能混亂地更改樣本的所有區域,以降低被檢測的可能性。
行為分析
雖然這些樣本具有不同的內部結構,但行為完全相同。 惡意樣本與C2伺服器之間的通訊如下圖所示。 我們可以看到該樣本正在向C2伺服器傳送POST請求。C2伺服器同樣託管在your-server.de主機上,類似我們前面研究過的某個重定向節點,然而C2伺服器和重定向節點使用的是不同的IP。
key欄位如下圖所示:
圖8. 惡意樣本網路請求
我們分析的每個Windows樣本都對應同一個key(如上圖所示),但這可能是因為我們使用的是同一個Google文件。
收到伺服器響應資料後,樣本會嘗試下載並執行GetGo Download Manager,這是一個合法的第三方應用程式。成功執行後(或者經過多次失敗嘗試後),樣本會執行自刪除操作。
我們認為攻擊者之所以採用這種方式,是想濫用合法應用的推廣機制。當牽扯到推廣機制時,通常會有一個推薦欄位來區分不同實體。然而攻擊活動中並不滿足這種場景:請求中並沒有使用推廣欄位,並且使用者所使用的Getgosoft頁面URL地址中也沒有包含特徵欄位。
查詢中包含一個明顯的特徵,即User-Agent欄位:
User-Agent: Medunja Solodunnja 6.0.0
請注意其中使用的字串,回頭我們會提到這一點。
圖9. 惡意樣本生成的請求
實時編譯及簽名
此次攻擊活動中還有一個顯著的特點:樣本會“動態”編譯及簽名。我們對比了樣本PE頭部中的TimeStamp欄位與實際的下載時間,發現兩者的差異不超過5分鐘。此外,每個樣本在下載的時候都使用相同的、有效的數字簽名進行簽名。
我們分析了用來生成簽名的證書,這些證書都由COMODO RSA Code Signing CA頒發。我們在分析過程中見到過的證書如下所示:
00 ce fe 4e ae e4 c0 cf 51 e9 5b 30 cf 02 80 b7 94RICK, SKY LIMITED 00 b1 ab f8 ab e0 ab 1f c2 36 ed be 9f fc 4f 66 cbUR-IN, LIMITED 00 9b ea 5b a5 5f 1b 91 61 c1 be 05 93 00 3b 3f a1MIR CORPORATION – LIMITED
我們並不知道攻擊者如何獲得這些證書,但證書中的組織名稱看上去非常奇怪:字串中間包含逗號和短橫線。很有可能這些證書並不是被盜證書,而是由攻擊者直接申請的證書。如果是這種情況,那麼大家很可能會有所疑惑,現在證書頒發機構究竟是遵循何種流程來確保證書申請者為合法的公司?
六、簽名時間問題
當我們分析此次攻擊活動所使用的樣本時,我們還發現使用微軟的Sigcheck工具時會得到一些有趣的結果。由於某些原因,該工具(2.7最新版)在分析本文惡意樣本時會認為樣本的簽名時間為當前系統時間,而不是正確的簽名時間。
使用VirusTotal服務同樣會得到奇怪的結果。比如,如下圖所示,我們可以看到對樣本的最後一次分析時間為2018-11-14 14:05:19 GMT,而根據VT的分析結果,該樣本的簽名時間為2018-11-14 15:05:00(比真正的GMT時間還要快1個小時)。
圖10. Sigcheck(左圖)及VirusTotal(右圖)對樣本(SHA256:b84d9c08fc35c3a160b4ee1f4061035a4bb9781e5f64e623ec988b8447b2c667)的分析結果
FortiGuard實驗室已經將這個問題反饋給VirusTotal以及Sysinternals團隊。Mark Russinovich已經準備釋出新版的Sigcheck工具,而VirusTotal表明他們在處理樣本時使用的正是Sigcheck工具,目前正等待最新版工具。
七、幕後黑手
現在總結一下我們在分析過程中發現的一些資訊:
1、惡意文件常用的兩種語言為英語及俄語。如果仔細觀察圖3,大家可能會注意到第二行用到了俄語文字;
2、攻擊者濫用了thimbleprojects[.]org服務,所使用的專案名為dedzsumkoi。Dedzsumkoi是俄語單詞Дед с сумкой的音譯詞,翻譯過來就是“帶著袋子的爺爺”;
3、攻擊者使用了VK.com的logon,而VK.com是俄語國家非常流行的一個社交網路服務;
4、攻擊者所使用的User-Agent為Medunja Solodunnja 6.0.0。Medunja Solodunnja是俄語單詞Медуня-солодуня的音譯詞,這是位於烏克蘭利沃夫附近的一家餅乾製造商。
圖11. Медуня-солодуня位於利沃夫烏克蘭附近
總而言之,我們認為此次攻擊活動中的攻擊者精通俄語,他們可能非常熟悉位於烏克蘭利沃夫附近的當地餅乾製造商,這是關於攻擊者地理區域的一個重要線索。
當我們分析攻擊者所使用域名的註冊資訊時,我們發現基本上所有域名註冊資料都在類似WhoisGuard等服務的保護之下。4requests[.]org域名也不例外,目前該域名所有資料都處於隱藏狀態。然而,當我們檢查該域名的whois歷史記錄時,我們發現該域名最早註冊地址位於烏克蘭利沃夫區域。
圖12. 4requests[.]org域名的whois歷史記錄
我們無法驗證這個註冊資訊是否正確,但這個資訊與我們得出的其他線索一致。我們檢查了使用egonow999[@]gmail.com郵箱註冊的其他域名,總共找到了321個域名。這些域名大多數在最近一段時間註冊,並且域名看上去不像是正常域名。
圖13. 使用egonow999[@]gmail.com郵箱註冊的域名
八、總結
FortiGuard實驗室發現了包含數百個惡意文件的大規模Google Docs攻擊活動,每個惡意文件都會根據受害者的User-Agent及IP地址來生成不同的重定向鏈。
我們分析了此次惡意網路中使用的許多重定向鏈,也分析了下載的幾個樣本。我們認為該網路當前的目標是濫用其他應用的合作伙伴計劃,但他們的攻擊目標隨時都可能改變。
此外,我們還分析追蹤溯源方面資訊,提出了關於這些攻擊幕後黑手的一些想法,至少也給出了這些攻擊活動源自何處的一些線索。Android和MacOS示例將在即將發表的文章中討論。 FortiGuard Labs將繼續監控新註冊的域名是否存在惡意活動。
我們會在後續分析文章中討論Android和MacOS樣本。FortiGuard實驗室將繼續監控新註冊的、用於惡意活動的域名。
九、解決方案
FortiGuard Web Filter能夠阻止本文分析過的URL和域名,並將其標記為惡意攻擊。
AV解決方案可以成功檢測本文分析的所有樣本,檢測標識為W32/Kryptik.GLKH!tr。
可以使用IPS規則ICLoader.Botnet來阻止惡意User-Agent請求。
十、IOC
攻擊者使用的證書(全部由COMODO RSA Code Signing CA釋出):
00 ce fe 4e ae e4 c0 cf 51 e9 5b 30 cf 02 80 b7 94 RICK, SKY LIMITED 00 b1 ab f8 ab e0 ab 1f c2 36 ed be 9f fc 4f 66 cb UR-IN, LIMITED 00 9b ea 5b a5 5f 1b 91 61 c1 be 05 93 00 3b 3f a1 MIR CORPORATION – LIMITED
惡意樣本
05cfdf3f05a41a711991f819fcbc56b05172be9ea3d2c5750d5fd42e73eb1403 - W32/Kryptik.GLKH!tr 0a0b7edd15995bb5cb59f3a10d5b24f1ca4e5091aff31200cee637fcddaf2316 - W32/Kryptik.GLKH!tr 19b8e784cd8306d55d8281675215f4343daa6cc50b72d7a449ee7fab7de5252c - W32/Kryptik.GLKH!tr 23f76599b06e8ac28fa9988006927d7dfb9084d58008c74c2e4107b90ab897ae - W32/Kryptik.GLKH!tr 26997775beef04f801088cb5e130b505f9018685359070ac033839840ec7213c - W32/Kryptik.GLKH!tr 28bbe2e3133bfbbd624272349d35f6eb216346e5a0301cf83d01f12fbab13e93 - W32/Kryptik.GLKH!tr 6a9395cca0dafd3ec3af0bcb6487c1fb335cb6fa31af0790ac1b482783c531d7 - W32/Kryptik.GLKH!tr 8c2cc4f8f88052d2efa7937a0d522c32488c07aeb2589659c2d504cf662b92d8 - W32/Kryptik.GLKH!tr 941db28ae4b053747546753f48578e89f1a865117893fd8deecac86d909685b7 - W32/Kryptik.GLKH!tr 94d58958a7347b3dad471efa13b8e9ecef175254f4e585d23b98b2dbb0beb04c - W32/Kryptik.GLKH!tr ad8849ef085c91865c13c66a4a6178b1c59dad0cf01c1d57ef21051444c45f79 - W32/Kryptik.GLKH!tr b84d9c08fc35c3a160b4ee1f4061035a4bb9781e5f64e623ec988b8447b2c667 - W32/Kryptik.GLKH!tr d8c5e17ae272728caf35bc7a9a45bbaa896da671af3b720683b7daa722696433 - W32/Kryptik.GLKH!tr df73f03f85aa0e22801167f7399c2cc43e9403d167f51dc1dd4f5381110acd0b - W32/Kryptik.GLKH!tr ee2b5f9229f897b960c50ae8a896990aa1ec54e4787f1312c771bfdf0214b850 - W32/Kryptik.GLKH!tr
URL地址:
11fileupload-2[.]xyz 4requests[.]org addingmac[.]com bigbinnd[.]info bo2rzx9xhf[.]com celebration-staff[.]com g64cfg9yi6kx[.]com grotmr[.]info gurtn[.]mobi letsweb[.]info mtpint[.]mobi prkrls[.]info ptokp[.]pro rplug[.]pro rtrust[.]mobi static[.]17[.]249[.]201[.]195[.]clients[.]your-server[.]de static[.]21[.]101[.]69[.]159[.]clients[.]your-server[.]de sxkwor[.]space thimbleprojects[.]org/dedzsumkoi/ vbtrst[.]info vbtrst[.]pro docs[.]google[.]com/document/d/108eUwuO14F7_kNOFu_AwtJEz_8yNJ0aBPBWA8jVOVOc docs[.]google[.]com/document/d/16-GlQzXBPqo2x3iI940f9YP0KvkrzUZe3BziW3VpqKw docs[.]google[.]com/document/d/179LQ5l6sfsD26tZJSdy-KDdGnFo2xEmbPCUV7F-F_Po docs[.]google[.]com/document/d/190Ksr2Wv9i2QjJeElcE9VVzEje-ia5k0BQVl5jOx6vE docs[.]google[.]com/document/d/1ablKrM6fncizaXjRNiy7Hh173FGN6Qh-97ejLNjLNoc docs[.]google[.]com/document/d/1BcCNV9lrYY3VCKCP6aNPoXkvUbWkMHT2nOSvo0J1xaI docs[.]google[.]com/document/d/1bY0rh0bTdvn1w_YNBfGyyOjf3CXczH2BshO2e4jyLYI docs[.]google[.]com/document/d/1cSOWCQz9BnNBLBy3p9elvtVO8j9M6eH3_GSL8M8hmpI docs[.]google[.]com/document/d/1d1qp4cSYo6dJiTg71chmK8pgtp3mcN1eszOECq-uLLs docs[.]google[.]com/document/d/1DNYWgm5TcL79V2nvUHKnLXKKSjIVajPCnBzsUfuSveo docs[.]google[.]com/document/d/1dpzCp4KPCqcs-LQX1sXULqBvJvBPqs8kIUzouXbQVtw docs[.]google[.]com/document/d/1DQX5_6t38AiByyWwRozVY1hRsEQ0VxVTFmi59Rf4tVk docs[.]google[.]com/document/d/1eelW4H5sMw2tsvUKddRnAU9teLTysjD3hPx5Dr4dH2c docs[.]google[.]com/document/d/1EH7mA3IiNKlz7davbT_qbX375abjZmpFqOQQm3waI7o docs[.]google[.]com/document/d/1f-K3aUjt58OdlH5AY4T8El6SARljQNoF5rhebcjhEP0 docs[.]google[.]com/document/d/1Glqf2-XbQ9qQ-J06zgUkZyc3JTEscu3djJx-M0GznYI docs[.]google[.]com/document/d/1go3VoTGpEc7jGn1QkiWQh_7HC7o1nGzL5OAmlH_oL-8 docs[.]google[.]com/document/d/1GuS41cKqL1xi0AUgHW93S90ZBoE7TxLWLjmcV6igj2c docs[.]google[.]com/document/d/1hbeIiJemK0M27XoLgQMiRG5WeHp8kD19Eu401r6mnDE docs[.]google[.]com/document/d/1hyw6Osx5dKcZPIeK0FtsuaiaGe1b3JiWyItRKPyScJg docs[.]google[.]com/document/d/1IRnMq34rgmuTXGHMxx-zCzf_R7Oyv1HGRHtYWbBvYbc docs[.]google[.]com/document/d/1IvWmw3KhLFN-SiF_j4hAVbfo-TLlXHiIzvvtAiwLTuw docs[.]google[.]com/document/d/1jDswnvQuqVtPBfFRGF0QsiPwPhJpx7gnvYBWwx0-cDE docs[.]google[.]com/document/d/1JjTlBHBgMMV7UWE6gGS-0DiJxR4lZ25Y7BI72yWTNF4 docs[.]google[.]com/document/d/1LpTCbki4DKgeyVWooTxjeLoa_vmiRyoEsWwkGlKWxmY docs[.]google[.]com/document/d/1mMn7M-rf9l7yWnm0rwlcQUVhge5Dkqyqg71sZ29ge-c docs[.]google[.]com/document/d/1mWVmMnRoznPas84up5xmOj6KFjtg1dfKMpbkxjeEd1o docs[.]google[.]com/document/d/1N4gRKup-pzDnvQesFv2074XeQTeq0nng95gahkhmywI docs[.]google[.]com/document/d/1nBREtyYtfwPZf0GbKbAqcHrFCE8SD0qyVBCtX2elt8U docs[.]google[.]com/document/d/1O5_sYBE1AgSw-12bYhHA4mtbhZDAG_OZtCVZRmD2xA8 docs[.]google[.]com/document/d/1oJ97BHW0Dtn8CkH1ExYiIwq21ojgY8x2TKDr7wtFON8 docs[.]google[.]com/document/d/1OpfECPCt1GRv2AYq9nD_NXIqB6CsoUsx4ol024DHCSE docs[.]google[.]com/document/d/1p3rvvJ8E_A9FAHjdNLDiSzi9cB5xDr4R97ePiK_u9To docs[.]google[.]com/document/d/1RVAJU149Gp2X6pnzWDyypezzN_7liUvuXk21ThR0Tyc docs[.]google[.]com/document/d/1RYLYetWuQIADc5GsKE5O_U_G62SuNX120PEyB8tQ5Y0 docs[.]google[.]com/document/d/1SG7ojLMmWPpF4XKXmHJkDqY16fBveB6ElOTtjnqwAHY docs[.]google[.]com/document/d/1SM-PlruT6jQUwBkJmJAEOVem7Blkemw3XDOaQ2_vHlk docs[.]google[.]com/document/d/1x3PGsJH9LbeumQA4uR5V4xqXY1ftPjEc7v92vY66_Qc docs[.]google[.]com/document/d/1-xEX1azHPC27q6L6wH6ea2wArRcKRmmaodQEm2hlfuE docs[.]google[.]com/document/d/1z-UjNJqU3cmSpVvhJXPNpVCd3tvLFNeYvjlkbn0nFxk