github SSL 劫持是如何实现的?具体原理是什么 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
bilibiliCXK
V2EX    程序员

github SSL 劫持是如何实现的?具体原理是什么

  •  1
     
  •   bilibiliCXK 2020-03-27 09:28:05 +08:00 13396 次点击
    这是一个创建于 2026 天前的主题,其中的信息可能已经有所发展或是发生改变。
    91 条回复    2020-03-31 20:18:35 +08:00
    smallgoogle
        1
    smallgoogle  
       2020-03-27 09:33:45 +08:00
    前排卖瓜子。坐等大神解释。
    jam1024
        2
    jam1024  
       2020-03-27 09:42:08 +08:00   2
    不出意外的情况,这篇文章马上将被站主移到水深火热节点
    LnTrx
        3
    LnTrx  
       2020-03-27 09:47:02 +08:00
    根据网友的反馈:
    移动、联通、电信、教育网都有出问题的报告
    DNS 解析结果正确,故不是 DNS 污染
    同一个 IP,ICMP 、80 port 响应正常,443 port 有问题,不像是 BGP 配置问题
    ping 443 port 比 ICMP 、80 port 时延短得多
    tracert ICMP 、80 port 可以到境外,443 port 终止于境内
    故猜测响应 SSL 的设备位于境内
    在运营商级别选择性转发特定端口通信应该不是什么难题
    feast
        4
    feast  
       2020-03-27 09:49:32 +08:00 via Android   1
    从全国各地发生的时间差来看,应该是某种类似省级层面的神秘设备被控制的结果
    gqbre
        5
    gqbre  
       2020-03-27 09:51:14 +08:00
    手动马克
    crc8
        6
    crc8  
       2020-03-27 09:52:14 +08:00   1
    无论什么技术手段,反正就是中国境内有人搞鬼。
    iSkywind
        7
    iSkywind  
    2020-03-27 09:58:38 +08:00
    运营商或者神秘设备上给你按 4 层路由或者 DNAT 或者直接回包握手建连接,就被抓走了,而且酱紫只会抓 443
    ThirdFlame
        8
    ThirdFlame  
       2020-03-27 10:05:29 +08:00   1
    显然是神秘设备 区别对待了 443 端口。 可能是在进行某种实验。
    testcaoy7
        9
    testcaoy7  
       2020-03-27 10:06:49 +08:00   1
    应该是某种实验
    fancy111
        10
    fancy111  
       2020-03-27 10:20:16 +08:00   4
    目前已知两种方法:
    1 、黑掉解析 IP 的服务器,放假证书。
    2 、拿到 GFW 、运营商根节点权限,把 IP 转向另一台有假证书的服务器,证书通过的话此服务器可做中间人。
    不过很可惜,还是绕不过浏览器,此测试我早就做过了。下一步只需要在国内浏览器中注入假的根证书,那么就能监控所有人的浏览信息。
    bilibiliCXK
        11
    bilibiliCXK  
    OP
       2020-03-27 10:23:00 +08:00
    @fancy111 这么可怕啊。应该是某种实验咯
    whatsmyip
        12
    whatsmyip  
       2020-03-27 10:36:22 +08:00   3
    国产证书应该已经在路上了
    iceheart
        13
    iceheart  
       2020-03-27 10:37:48 +08:00
    只要劫持 tcp 就行了,其他的想咋搞就咋搞
    sunorr
        14
    sunorr  
       2020-03-27 10:37:52 +08:00 nbsp; 2
    @fancy111 以后浏览器也必须国产化,哈哈哈
    glfpes
        15
    glfpes  
       2020-03-27 10:39:54 +08:00   9
    干这活只要有权限就行,看那个 QQ 号,估计就是网安局刚入职 1,2 年的小喽干的。

    毕竟一线能干活的也就他们了。
    Zeonjl
        16
    Zeonjl  
       2020-03-27 10:40:07 +08:00 via iPhone
    担凳子坐看看分析是否到位
    xiaoming1992
        17
    xiaoming1992  
       2020-03-27 10:41:19 +08:00 via Android
    感觉干这活的不会这么捞吧?还留个 qq 号?应该是个人行为吧?
    fline
        18
    fline  
       2020-03-27 10:49:49 +08:00   2
    啥啥都个人行为,总统说 wuhan virus 是个人行为吗,国会议员呢,联邦雇员呢。
    none
        19
    none  
       2020-03-27 10:53:23 +08:00
    半个小时前还能正常访问 github 的,就这一会儿突然不行了,看了下证书过期时间是 2029 年 9 月,Server 和 CA 证书里竟然留的 QQ 邮箱。。。
    forcecharlie
        20
    forcecharlie  
       2020-03-27 10:53:28 +08:00
    目前受影响的是新加坡的 IP,端口 443 应该被拦截了,其中一个 IP 即 13.229.188.59 直接访问 IP 网页证书颁发者是 [email protected] ,但是使用 ssh -Tvvv git@ip 则可以发现 22 端口正常。如果使用美国弗吉尼亚州阿什本的 IP 则可以正常访问 HTTPS,但速度较慢。
    none
        21
    none  
       2020-03-27 10:54:53 +08:00   1
    刚才又试了一下,证书变了,里面的邮箱是: [email protected]
    hshpy
        22
    hshpy  
       2020-03-27 10:55:24 +08:00
    随便找个网站不行,直接丢包不行?
    DestinyHunter
        23
    DestinyHunter  
       2020-03-27 11:01:16 +08:00
    @none 真的.变了,不是原来那个了
    galenzhao
        24
    galenzhao  
       2020-03-27 11:01:26 +08:00
    神奇的是只有 github 域名被劫持,
    同 ip 如果你 githubio 是绑定了自己的域名,不影响
    d0m2o08
        25
    d0m2o08  
       2020-03-27 11:01:51 +08:00   2
    某神秘组织下一步是不是要强制所有国内浏览器信任自签证书
    lff0305
        26
    lff0305  
       2020-03-27 11:03:11 +08:00   6
    @fancy111 不需要那么麻烦, 以前 12306, 还有各种网银,都要装个 CA, 用这个 CA 签各种网站的证书都行了,反正大部分人都不明白信任一个 CA 有什么意义
    villivateur
        27
    villivateur  
       2020-03-27 11:04:03 +08:00   1
    t/656687 个人做了点分析
    ibreaker
        28
    ibreaker  
       2020-03-27 11:04:05 +08:00
    @fancy111 这个根证书都不受信任,更像是个实验
    forcecharlie
        29
    forcecharlie  
       2020-03-27 11:05:37 +08:00
    目前测试美国阿什本的 SSH SHA256 指纹和被拦截 IP 的 SSH SHA256 指纹 一致,因此可以认为 SSH 没有被拦截,因 IP IDC 机房在新加坡,因此可以排除 SSH 是国内 TCP 代理。
    jon
        30
    jon  
       2020-03-27 11:07:49 +08:00
    艹, 我也被劫持了
    slyang5
        31
    slyang5  
       2020-03-27 11:08:22 +08:00
    新闻都说了 ,是个高中生干的
    IMCA1024
        32
    IMCA1024  
       2020-03-27 11:09:08 +08:00
    @slyang5 放下链接看看
    johry
        33
    johry  
       2020-03-27 11:09:43 +08:00
    又好了,能访问了
    cat9life
        34
    cat9life  
       2020-03-27 11:10:00 +08:00
    坐等大神分析
    v2yllhwa
        35
    v2yllhwa  
       2020-03-27 11:10:33 +08:00
    我好了
    xsen
        36
    xsen  
       2020-03-27 11:11:25 +08:00
    @DestinyHunter #31 据说是 199 几年毕业的高中生
    1109599636
        37
    1109599636  
       2020-03-27 11:11:57 +08:00   3
    期待的点进来,失望的点出去,大部分是臆测,就没有理一理这类攻击原理是啥的
    hshpy
        38
    hshpy  
       2020-03-27 11:15:46 +08:00
    @1109599636 改 tcp 路由,中间人盗 GitHub 账号密码,私有库源码,数据库账号密码...
    hshpy
        39
    hshpy  
       2020-03-27 11:16:10 +08:00
    猜的
    none
        40
    none  
       2020-03-27 11:20:16 +08:00
    看网上昨天都已经发新闻了,应该是个人行为,做这件事的人心真大。
    lc7029
        41
    lc7029  
       2020-03-27 11:24:04 +08:00   1
    猜测是某种实验,下一步应该是命令浏览器厂必须信任且不可删除某个根证书了吧
    Aeca
        42
    Aeca  
       2020-03-27 11:25:02 +08:00
    ERR_CONNECTION_TIMED_OUT
    2020/3/27 11:24
    AII
        43
    AII  
       2020-03-27 11:25:52 +08:00   2
    楼上各位自信点,你的水平可能比那些写稿子的小编高。
    none
        44
    none  
       2020-03-27 11:36:12 +08:00
    根据之前证书里留的 QQ 可以找到这个人在 csdn 有过提问,但是现在 csdn 上已经找不到提问的这个账号了,难道现在有提供删除自己账号的功能了吗?
    turi
        45
    turi  
       2020-03-27 11:57:44 +08:00   1
    @fancy111 那你得需要用国产浏览器,国内这帮人修改浏览器内核查看明文不是都知道吗?上次 996 部分浏览器就直接屏蔽了这个网址
    stabc
        46
    stabc  
       2020-03-27 12:01:36 +08:00
    核心原理就是『权力』。
    darknoll
        47
    darknoll  
       2020-03-27 12:54:37 +08:00
    怕啥,浏览器会检查证书
    DonaidTrump
        48
    DonaidTrump  
       2020-03-27 12:56:07 +08:00 via iPhone
    @glfpes 自签名证书 email 随便填,为什呢一口笃定是 qq 号作者干的呢?
    yolee
        49
    yolee  
       2020-03-27 13:36:03 +08:00
    像是某个组织进行的实验,就像之前某国的断网实验
    calmlyman
        50
    calmlyman  
       2020-03-27 13:38:08 +08:00   1
    来学习的,另外看你头像,是我兄弟吗!
    Coioidea
        51
    Coioidea  
       2020-03-27 13:44:54 +08:00
    能造成全国范围三家运营商出问题,肯定是骨干网级别 mitm 的了吧!个人能力能部署到骨干网?
    到现在官方包括网安部门没有发话,有蹊跷啊
    glfpes
        52
    glfpes  
       2020-03-27 13:44:56 +08:00
    @tulongtou 我可没说是 QQ 号主干的,是你自己说的。
    miaomiao888
        53
    miaomiao888  
       2020-03-27 13:48:30 +08:00
    @fancy111 配合三录灵浏览器自己的证书管理,简直完美
    DonaidTrump
        54
    DonaidTrump  
       2020-03-27 14:05:12 +08:00 via iPhone
    @glfpes 那你看 QQ 号怎么知道是一二年的小喽呢?
    blleng
        55
    blleng  
       2020-03-27 14:07:08 +08:00
    现在那个 qq 号声称被盗号。但是攻击者要生成证书的话随便用个邮箱就行,实在没有盗号的必要啊。如果这个 qq 号的主人是攻击者,用被盗号来解释也太...
    bclerdx
        56
    bclerdx  
       2020-03-27 14:12:05 +08:00 via Android
    @fancy111 把可以根证书放入不受信任表。
    hftrrt
        57
    hftrrt  
       2020-03-27 14:12:16 +08:00 via Android
    @lff0305 现在普通人 pc 端装网银的也少了,基本都用手机银行
    stormsuncc
        58
    stormsuncc  
       2020-03-27 14:14:15 +08:00
    预演。
    villivateur
        59
    villivateur  
       2020-03-27 14:20:54 +08:00 via Android
    这件事情让我们知道了,搞 GFW 的人只是有权力而已,技术其实很臭
    CommandZi
        60
    CommandZi  
       2020-03-27 14:38:14 +08:00
    @1109599636 看看这个链接
    https://zh.wikipedia.org/wiki/%E6%A0%B9%E8%AF%81%E4%B9%A6#%E6%88%AA%E5%8F%96%E9%80%9A%E4%BF%A1

    当中 爱丽丝与鲍伯 的示例很清晰形象了。
    xiaomimei
        61
    xiaomimei  
       2020-03-27 14:43:18 +08:00 via Android   4
    看楼上这么多意淫,挺搞笑的
    Andy00
        62
    Andy00  
       2020-03-27 14:58:37 +08:00   1
    这个事情应该结合上好几年前沃通的事儿看
    知乎传送门: https://www.zhihu.com/question/50298017
    沃通和 360 的关系不用说了吧
    buffzty
        63
    buffzty  
       2020-03-27 15:05:11 +08:00
    昨天 gorm.io 这个域名也被劫持了
    fzhyzamt
        64
    fzhyzamt  
       2020-03-27 15:07:49 +08:00
    今天上午打不开还以为是被劫持了,插个眼
    Biwood
        65
    Biwood  
       2020-03-27 15:09:28 +08:00
    原理就是攻击者首先能够伪造 github 的域名,他能控制 DNS 解析,把域名指向一个“中间人”服务器上,然后在这个中间人服务器上部署伪造的证书。
    关键点就在于这个 DNS 的服务器控制权限,连骨干网络都收到影响了,我想应该不是一般商家能够做得到的事情。本质上跟以前的 DNS 污染是一回事,所以楼上有人猜测这事跟“权力”相关完全不稀奇。

    话说回来,就算真的把整个 Github 都封了也不会怎么样吧,再多几个教授联名写信都不会怎么样,真的。
        66
    ibreaker  
       2020-03-27 15:11:36 +08:00
    @Biwood DNS 正常的吧?
    AlghaPorthos
        67
    AlghaPorthos  
       2020-03-27 15:11:53 +08:00
    我觉得就是贵党看不爽了。

    P.S.楼主女性头像警告。(光速逃
    galenzhao
        68
    galenzhao  
       2020-03-27 15:23:49 +08:00
    @Biwood dns 正常,ip 也正常,看网上大佬分析 只有 443 的路由不正常,
    但是 奇怪的是,通过 githubio 访问劫持,自定义域名就没事,
    fzhyzamt
        69
    fzhyzamt  
       2020-03-27 16:03:17 +08:00
    @galenzhao 猜测应该是劫持了特定 ip 特定端口的请求,那个分析帖提到了 cython 这种别名到 githubio 的也挂了
    restlessdream
        70
    restlessdream  
       2020-03-27 16:12:48 +08:00   1
    @Biwood 你连事件都没认真看,dns 从头到尾都没问题。
    eric
        71
    eric  
       2020-03-27 16:20:05 +08:00   1
    基本可以定是 BGP Flowspec 。一般是做 DDoS 清洗的候用引流量的,在看子是被出了新玩法。
    littlewing
        72
    littlewing  
       2020-03-27 16:56:57 +08:00 via iPhone
    我只能说不是个人行为
    glfpes
        73
    glfpes  
       2020-03-27 17:39:38 +08:00
    @tulongtou
    因为这就是小喽的搜索引擎驱动编程模式嘛,不知道从哪 copy 的命令就硬怼进去。
    nereus
        74
    nereus  
       2020-03-27 17:41:23 +08:00 via iPhone
    BGP 协议配合路由策略可以做到,但是 BGP 协议几乎不可能被黑入,结合去前年国内强制要求 bgp 和 igp 换用国密算法,所以极有可能是功夫网借助国密后门搞的反科学上网实验
    baobao1270
        75
    baobao1270  
       2020-03-27 17:53:05 +08:00
    日常挂梯子上网+吊销所有国产证书+手动维护 HSTS 列表,都不知道发生了这件事情
    LFUNWF
        76
    LFUNWF  
       2020-03-27 20:35:06 +08:00 via Android
    敲山震猫
    wangyzj
        77
    wangyzj  
       2020-03-28 00:33:15 +08:00
    后排板凳
    wdlth
        78
    wdlth  
       2020-03-28 00:41:54 +08:00
    没想到连 GitHub 都实现了 AnyCast……
    jinliming2
        79
    jinliming2  
       2020-03-28 01:18:38 +08:00
    @wdlth 套了 CDN,CDN 实现的 AnyCast
    jinliming2
        80
    jinliming2  
       2020-03-28 01:22:41 +08:00
    @nereus 上个月 Let's Encrypt 发的博客里提到针对了 BGP 的攻击,说是大部分的 BGP 部署都不安全: https://letsencrypt.org/2020/02/19/multi-perspective-validation.html
    DonaidTrump
        81
    DonaidTrump  
       2020-03-28 01:36:02 +08:00 via iPhone
    @glfpes 怎么看出来是 copy 命令硬怼的?就因为 qq 邮箱?
    cloudyi666
        82
    cloudyi666  
       2020-03-28 07:44:42 +08:00 via iPhone
    用户路由国际口-路由-服务器

    流量 清洗
    代理服务器
    OllyDebug
        83
    OllyDebug  
       2020-03-28 09:23:31 +08:00
    能操作核心设备的人不是一般人的
    wanguorui123
        84
    wanguorui123  
       2020-03-28 13:11:34 +08:00 via iPhone
    GitHub 被反向代理了,但是没有官方证书?
    Windsooon
        85
    Windsooon  
       2020-03-28 13:50:24 +08:00
    可以看看我的分析,Github 中间人攻击分析 https://zhuanlan.zhihu.com/p/119030756
    wdlth
        86
    wdlth  
       2020-03-28 14:01:33 +08:00
    @jinliming2 github.com 解析的 IP 不是 CDN,是 EC2,我只是想讽刺一下这个劫持。
    realpg
        87
    realpg  
    PRO
       2020-03-28 14:37:16 +08:00
    技术鉴定贴……

    看楼上很多位一本正经的胡说八道就感觉很好玩
    cweijan
        88
    cweijan  
       2020-03-28 19:32:11 +08:00
    目前是证书被替换, 而证书是通过 tcp 连接 443 端口获取的, 所以宏观上看就是 tcp 返回的数据被篡改
    至于怎么篡改: 某个神秘力量
    yulihao
        89
    yulihao  
       2020-03-28 21:05:28 +08:00
    我觉得可能是 443 劫持到反代上,而反代有没有一个很好的证书
    glfpes
        90
    glfpes  
       2020-03-30 10:06:41 +08:00
    @tulongtou 嗯,没错。
    123444a
        91
    123444a  
       2020-03-31 20:18:35 +08:00 via Android
    Error Code: 9
    DateTime: 2020/3/31 20:18:18
    Click to Search Again
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2987 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 13:30 PVG 21:30 LAX 06:30 JFK 09:30
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86