V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bilibiliCXK
V2EX  ›  程序员

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

  •  1
     
  •   bilibiliCXK · 2020-03-27 09:28:05 +08:00 · 12784 次点击
    这是一个创建于 1710 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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   ❤️ 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
    https://www.v2ex.com/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
    怕啥,浏览器会检查证书
    tulongtou
        48
    tulongtou  
       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 配合三录灵浏览器自己的证书管理,简直完美
    tulongtou
        54
    tulongtou  
       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 都封了也不会怎么样吧,再多几个教授联名写信都不会怎么样,真的。
    ibreaker
        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
    tulongtou
        81
    tulongtou  
       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  
       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   ·   实用小工具   ·   2647 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:54 · PVG 17:54 · LAX 01:54 · JFK 04:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.