Github網站無法訪問被中間人劫持

昨日,部分網友反饋Github網站無法訪問,疑似有攻擊者大規模地發起中間人劫持。除了Github網站,京東、koajs 等其他網站似乎也受到影響。

此次攻擊似乎通過骨幹網絡進行443端口劫持,經測試,DNS系統解析是完全正常的。目前受影響的主要是部分地區用戶,且涉及所有運營商,比如中國移動、中國聯通、中國電信以及教育網均可復現劫持問題,而國外網絡訪問這些網站並未出現任何異常情況。

由於攻擊者使用的自簽名證書不被所有操作系統以及瀏覽器信任,因此用戶訪問這些網站時可能會出現安全警告。



截止3月27日12點,據藍點網的部分信息動態更新,網友反饋Github網站無法訪問,攻擊規模似乎進一步擴大。


從目前網上查詢的信息可以看到此次攻擊涉及最廣的是 GitHub.io,查看證書信息可以發現這些網站的證書被攻擊者使用的自簽名證書代替,導致瀏覽器無法信任從而阻止用戶訪問。



圖片來自v2ex網友

在自簽名證書郵箱更換之前,其顯示證書的製作者暱稱為心即山靈 (QQ346608453),這位心即山靈看起來就是此次攻擊的始作俑者。所幸目前全網絕大多數網站都已經開啟加密技術對抗劫持,因此用戶訪問會被阻止而不會被引導到釣魚網站上去。如果網站沒有采用加密安全鏈接的話可能會跳轉到攻擊者製作的釣魚網站,若輸入賬號密碼則可能會被直接盜取。



圖片來自知乎網友

中間人攻擊(簡稱MITM)是指攻擊者在通訊兩端之間接管流量,攻擊者可以攔截通訊雙方的通話並篡改內容。簡而言之,所謂的中間人攻擊就是通過攔截正常的網絡通信數據,並進行數據篡改和嗅探,而通信的雙方卻毫不知情。

後續資訊,本文將持續跟進。

附部分節點測試情況

阿里雲上海數據中心(BGP):

curl -k -v https://z.github.io*Connected to z.github.io (185.199.108.153) port 443(#0)* SSL connection usingTLSv1.2/ ECDHE-ECDSA-AES128-GCM-SHA256* ALPN, server did not agree to a protocol*Server certificate:* subject: C=CN; ST=GD; L=SZ; O=COM; OU=NSP; CN=SERVER; emailAddress=346608453@qq.com* start date:Sep2609:33:132019 GMT* expire date:Sep2309:33:132029 GMT* issuer: C=CN; ST=GD; L=SZ; O=COM; OU=NSP; CN=CA; emailAddress=346608453@qq.com* SSL certificate verify result:selfsigned certificate in certificate chain (19), continuing anyway.> GET / HTTP/1.1>Host: z.github.io>User-Agent: curl/7.52.1>Accept:*/*

群英網絡鎮江數據中心(電信):

curl -k -v https://z.github.io*Rebuilt URL to: https://z.github.io/*Trying185.199.108.153...* SSL connection usingTLSv1.2/ ECDHE-RSA-AES128-GCM-SHA256* ALPN, server accepted to use h2*Server certificate:* subject: C=US; ST=California; L=SanFrancisco; O=GitHub,Inc.; CN=www.github.com* start date:Jun2700:00:002018 GMT* expire date:Jun2012:00:002020 GMT* issuer: C=US; O=DigiCertInc; OU=www.digicert.com; CN=DigiCert SHA2 HighAssuranceServer CA* SSL certificate verify ok.*Using HTTP2, server supports multi-use*Connection state changed (HTTP/2 confirmed)*Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0*UsingStream ID:1(easy handle 0x556d826f6ea0)> GET / HTTP/1.1>Host: z.github.io>User-Agent: curl/7.52.1>Accept:*/*

華為雲香港數據中心(以下為正常連接的證書信息第44行):

curl -k -v https://z.github.io*Rebuilt URL to: https://z.github.io/*Trying185.199.108.153...* SSL connection usingTLSv1.2/ ECDHE-RSA-AES128-GCM-SHA256* ALPN, server accepted to use h2*Server certificate:* subject: C=US; ST=California; L=SanFrancisco; O=GitHub,Inc.; CN=www.github.com* start date:Jun2700:00:002018 GMT* expire date:Jun2012:00:002020 GMT* issuer: C=US; O=DigiCertInc; OU=www.digicert.com; CN=DigiCert SHA2 HighAssuranceServer CA* SSL certificate verify ok.*Using HTTP2, server supports multi-use*Connection state changed (HTTP/2 confirmed)*Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0*UsingStream ID:1(easy handle 0x556d826f6ea0)> GET / HTTP/1.1>Host: z.github.io>User-Agent: curl/7.52.1>Accept:*/*