賞金でTLSをハックする

OCaml TLS実装者は、保護を証明するためにBTCPiñataコンテストを発表しました。 コンテストは真の証明にはならないことが知られていますが、これは非常に面白く、少額の賞金もあります。



そのため、 2人のハッカーownme.ipredator.seデモサーバーを開きました。



サーバーには、ビットコインアドレス183XuXTTgnfYfKcHbJ4sZeF46a49Fnihdhのキーがあります。 証明書を提示すると、サーバーはキーを提供します。



主催者はMiTMメカニズムを提供してくれました。 BTCPiñata仮想マシン(TLSサーバーとTLSクライアント)間でトラフィックを渡すことができます。 ご存知のように、このトラフィックには必要な証明書があり、何らかの方法でそれを抽出するだけです。



TLSサーバーインターフェイスはポート10000上にあり、TLSクライアントはポート10002上にあり、ポート10001は40001上のトラフィックを転送するために使用されます。



そのため、サーバーとクライアント間の通信を開始し、ポート40001をリッスンします。



たとえば、Node.jsでは、次のスクリプトを使用してこれを実行します。



var net = require("net"); var server = net.connect({ host: 'ownme.ipredator.se', port: 10002 }); var client = net.connect({ host: 'ownme.ipredator.se', port: 10000 }); server.on('data', console.log.bind(console, 'server')); client.on('data', console.log.bind(console, 'client')); client.pipe(server).pipe(client);
      
      





次に、トラフィックを記録および分析します。



コンテストの主催者自身は、追加の条件がないことを認めています。 理論的には、フィッシング、ソーシャルエンジニアリング、直腸暗号解析(比fig的な意味)、またはその他の巧妙なトリックなど、別の方法でキーを誘い出すことができます。







コードとBTCPiñataライブラリは開いています。

デモサーバーにインストールされているソフトウェアのリスト



All Articles