又見古老的Typosquatting攻擊:這次入侵了Npm竊取開發者身份憑證
有些攻擊方式雖然聽起來很幼稚,但有時候卻也可以生效,比如typosquatting攻擊——我們上次看到這種攻擊是在去年6月份,這本身也是種很古老的攻擊方式。
所謂的typosquatting,主要是通過用戶的拼寫錯誤誘導用戶訪問或下載某個偽裝成合法工具的惡意程序——其核心只在於工具名或文件名和原版很像,比如app1e.com,這種類型的釣魚就是typosquatting。最近 npm 就遭遇了這種攻擊。
有人在 npm 上傳了不少惡意包
npm的CTO CJ Silverio在博客上發表了一篇文章提到:7月19日-31日期間,名為hacktask的賬戶發動了typosquatting攻擊,此賬戶發布了一系列package,名稱和npm中比較流行的package類似。
這其實就是typosquatting攻擊的精髓。而上面提到的npm其實是node.js的package管理工具。開發人員會封裝一些常用功能的代碼發布到Node.js上,這樣其他的人員就可以復用類似功能的代碼,而不必重新造輪子。
Silverio在博客中說,這些package的命名絕對是故意、惡意的,目的就是為了欺騙用戶,並最終收集到用戶數據。好在hacktask發布的所有package都已經從npm移除。安全研究人員暫時發現除了hacktask之外,npm中還沒有其它同類typosquatting攻擊的package。
這些惡意的package和下載數顯示如下:
babelcli: 42
cross-env.js: 43
crossenv: 679
d3.js: 72
fabric-js: 46
ffmepg: 44
gruntcli: 67
http-proxy.js: 41
jquery.js: 136
mariadb: 92
mongose: 196
mssql-node: 46
mssql.js: 48
mysqljs: 77
node-fabric: 87
node-opencv: 94
node-opensl: 40
node-openssl: 29
node-sqlite: 61
node-tkinter: 39
nodecaffe: 40
nodefabric: 44
nodeffmpeg: 39
nodemailer-js: 40
nodemailer.js: 39
nodemssql: 44
noderequest: 40
nodesass: 66
nodesqlite: 45
opencv.js: 40
openssl.js: 43
proxy.js: 43
shadowsock: 40
smb: 40
sqlite.js: 48
sqliter: 45
sqlserver: 50
tkinter: 45
對於此事,Node.js社區建議:
如果你已經下載並已經安裝了上面提到的這些package的話,你應該馬上刪除或替換掉你在命令行環境下存儲的各種重要信息。
攻擊並不高明
「過去,這樣的事大多都是偶然的,我們也見過故意山寨現有庫的名字來與原有開發者競爭的情況。但這次,package的命名完全是故意和惡意的,目的就是欺騙用戶,從而從他們那裡收集有用的信息,「Silverio說。
位於瑞典的開發人員Oscar Bolmsten在一個名為crossenv的package中發現了惡意代碼,而人們真正想找的卻是cross-env—— 一款當下很流行的用來設置環境變數的腳本。
「
通過使用環境變數的方法將身份憑證遞交給軟體,這樣的做法很普遍。
所以這是一件很好的事情,」Silverio在接受電話採訪時說道。環境變數還用於存儲用戶名,密碼,token,和連接一些應用程序,雲服務,API訪問許可權的密碼。
在攻擊者發動的typosquatting攻擊中,惡意代碼會嘗試複製受害者機器上設置的所有環境變數,並將其傳輸到攻擊者控制的伺服器npm.hacktask.net上。
crossenv使用的JSON配置文件運行了一個名為package-setup.js的腳本,它將現有的環境變數轉換為字元串,然後通過POST請求發送數據。
根據Silverio所說,由hacktask提交的大約40個npm包已從npm刪除,現在基本已經清理乾淨,我們掃描了每個npm package,來尋找惡意使用的安裝代碼,但是沒有發現其他類似hacktask的情況。
Silverio對這次攻擊的效果表示了懷疑,她說:「通過拼寫錯誤來將惡意軟體倒入註冊表的手段並不高明,
因為人們更傾向於使用搜索或者複製粘貼已發布的代碼
。
7月中旬以來
,排除因為好奇的關係前往下載,hacktask上傳的絕大部分package,每個下載量大約是40次,惡意的crossenv軟體包的下載次數最多,為700次,但這裡面大多數都被認為是觸發了npm鏡像伺服器的自動下載。Silverio估計在這段時期
只有約50人
下載了惡意的crossenv包,她說她還沒有發現有開發者由於這次事件導致賬戶被黑的上報情況。雖然hacktask的賬戶已經被封了,但其背後主謀卻還未知是誰。
這種攻擊有辦法預防嗎?
當問到npm是否已採取相應的措施來防止其他用戶名下的類似攻擊時,Silverio表示這種攻擊仍然可能無法立即檢測到。
她說:「雖然我們在發布的過程中無法隨時隨刻的掌控一切,但我們建立了一個運行良好的系統」,Silverio稱讚了npm社區的警惕性。
儘管如此,Silverio仍表示,npm正在研究如何識別有相似名字的npm package,用來防治今後的typosquatting攻擊。npm也正在與安全公司Smyte一起檢測發布過的垃圾信息。很明顯,垃圾信息的發布者希望搜索引擎檢索到README文件,來提高自己的網站排名。
2016年的kiwicon,開發者Jeff Andrews在關於Node.js的安全性的演講上問了自己這樣一個問題:「我使用Node.js或npm,但我怎麼保證這麼做是安全的呢?」他答道:「根本不能保證。」
*參考來源:theregister ,npmjs.org,FB小編Liki編譯,轉載請註明來自FreeBuf.COM
※披著羊皮的狼:如何利用漏洞以特定圖標偽裝可執行文件
※基於Wi-Fi的HID注射器,利用WHID攻擊實驗
※當AI遇到網路安全:四層智能化革命蓄勢待發
TAG:FreeBuf |
※Stack Overflow 表示遭黑客入侵
※VR遊戲《Megaton Rainfall》抵抗外星人的入侵
※入侵Gentoo GitHub賬號的攻擊者在構建腳本里加入 rm-rf/×命令
※Instagram 紅人 Ail Miquela 不是「真人」!AI 漸漸入侵影視娛樂產業
※黑客入侵Bithumb或已通過Bitblender清洗被盜比特幣
※如何利用wpscan入侵WordPress-實例演示
※黑客入侵與HealthCare.gov交互的系統
※Ticketmaster遭黑客入侵,約5%的用戶的數據泄露
※運動褲入侵記 sport pants
※氣球入侵 | Charles Pétillon
※氣球入侵 Charles Pétillon
※潮流入侵畫廊?Moncler x Palm Angles膠囊系列正式發布!
※Stack Overflow 遭黑客入侵;VS Code 1.34 發布!| 極客頭條
※狂蜂入侵!Black Sheep x Nike SB Dunk High全明星賽款
※廣告大軍入侵,Instagram 徹底淪陷
※Pwn2Own:研究人員成功入侵Tesla Model 3
※Pwn2Own黑客大賽:Safari瀏覽器被入侵
※JumpMan logo正式入侵足壇!Jordan Brand聯手巴黎聖日耳曼打造全新球場風景線
※Sci Immunol:揭示HIV入侵新機制
※iPhone XS存在利用VoiceOver非法入侵漏洞