Wednesday, November 6, 2013

GoAgent 3.0.6 CR4 安全漏洞 攻击示例

【实施攻击的条件】(略)

【简化的攻击流程】
  1. 用户透过 GoAgent 登陆 Twitter.com,假设浏览器发送给 GoAgent 的数据流是 SD_P。
  2. GoAgent 向 GAE 发送带有加密信息(假设为 SD_E)的数据,SD_E = cr4(SD_P)。
  3. 中间人转发数据到 GAE,并记录剥离出来的加密信息 SD_E。
  4. GAE 解密 SD_E 成 SD_P,将其发送至 Twitter.com。
  5. 用户没有透过 GoAgent 访问 Youku.com。
  6. 中间人转发来自浏览器的数据到 Youku.com,并在 HTML 回应中嵌入恶意代码。
  7. 恶意代码透过 GoAgent 向 Monitor.com 提交 SD_E。
  8. GoAgent 向 Monitor.com 发送带有加密信息(假设为 SD_E2)的数据,SD_E2 = cr4(SD_E) = cr4( cr4(SD_P) ) = SD_P。
  9. 中间人转发数据到 Monitor.com,此时 Monitor.com 即收到 SD_P,其中包含用户登陆 Twitter.com 的账户信息。

GoAgent 3.0.6 已发现的安全漏洞(缺陷)- 问题解答

为了满足 “wwqgtxx@gmail.com” 童鞋的好奇心,友情解答 TA 的问题,漏洞说明见 http://better-goagent.blogspot.com/。

该童鞋针对漏洞说明,提出以下“见解”:

不要无病呻吟了,我来替作者解答一下你
1,中间人攻击问题,你可以在proxy.ini中将validate = 0设置为validate = 1 即可避免中间人攻击
2,rc4是国际公认的安全算法,而且goagent的使用方式十分合理,是你详细说出破解方法。不要说暴力破解,你有这个能力么?
3,CA.crt问题,你可以把这个文件删除,然后goagent会为你生成一个独一无二的新CA.crt。
所以你列举的问题都不是问题,请不要再无病呻吟了


考虑到该童鞋的理解能力,简单解释一下 ~
  1. "validate = 1" 同样不能幸免于中间人攻击。攻击例子:拥有 Equifax Secure CA签发 的证书(CN=www.googlenotajoke.com)。
  2. 使用 RC4 算法的缺陷见 https://www.dlitz.net/software/pycrypto/api/current/Crypto.Cipher.ARC4-module.html,或者 google "attack rc4"。攻击例子:《GoAgent 3.0.6 CR4 安全漏洞 攻击示例》,见 http://better-goagent.blogspot.com/。
  3. 这个等于说 "只要你把漏洞告诉我,我就能填补它" ~

GoAgent 3.0.6 已发现的安全漏洞(缺陷)


【摘要】
1. "local/goagent.exe" 与 "server/python/wsgi.py" 之间,存在中间人攻击漏洞,即使您设置了 HTTPS 连接。
    利用此漏洞,攻击者可以完全监视、控制透过代理所浏览的网页内容。

2. 加密算法 rc4 在使用上存在明显的安全缺陷,当满足适当条件时,存在重放攻击漏洞
    利用此漏洞,攻击者可以完全监视透过代理所浏览的网页内容。

3. 将众所周知的 "local/CA.crt" 导入受信任的根证书颁发机构(等同于把自家的钥匙挂在大门上),存在 HTTPS 的中间人攻击漏洞
    利用此漏洞,攻击者可以监视、控制未透过代理的 HTTPS 网页内容。(比如, ICBC 电子银行登陆信息)

【用户影响】
1.个人隐私暴露,比如您今天上了26次 youporn~
2.敏感信息泄露,例如 youtube、facebook、twitter 等网站的帐号密码,不论您是否用 HTTPS 方式登陆。
3.计算机被入侵,有可能~
4.其他,大家都知道的~