1

サーバーでサポートされている暗号を見つけるために、metasploit モジュールを作成/変更しようとしています (スキャン目的で)。それらをすべて試して、暗号を列挙する必要がありますか、またはサーバーがサポートする暗号をサーバーから要求できる方法はありますか?

これまでのところ、ローカルの openssl バージョンでサポートされているモジュールを見つけることしかできませんでした。

証明書に関する情報を読みたいときは、次を使用して実行できます。

cert = OpenSSL::X509::Certificate.new(sock.peer_cert)
print_status("#{ip}:#{rport} Public Key: #{cert.public_key}")

暗号に似たものはありますか?

4

2 に答える 2

2

したがって、私がまだ知らないこの1つの要求がない限り、これはサーバーでサポートされている暗号を列挙する方法のかなり良い説明だと思います。

http://gursevkalra.blogspot.ch/2009/09/ruby-and-openssl-based-ssl-cipher.html

于 2012-12-05T10:51:49.380 に答える
-1

最初にすべての暗号をロードしてから、openssl_add_all_ciphers個々の暗号について調べることができますEVP_get_cipherbyname。暗号を列挙する方法があります。を使用してOBJ_NAME_do_all_sorted

Ruby の OpenSSL モジュールにはハードコードされたリストがあります:

 class Cipher
    %w(AES CAST5 BF DES IDEA RC2 RC4 RC5).each{|name|
      klass = Class.new(Cipher){
        define_method(:initialize){|*args|
          cipher_name = args.inject(name){|n, arg| "#{n}-#{arg}" }
          super(cipher_name)
        }
      }

PS。明らかにciphersコマンドがありますが、それは面白くありません。

于 2012-12-05T09:16:50.680 に答える