আমি কীভাবে কোনও নির্দিষ্ট ওয়েবসাইটের অফারগুলিতে এসএসএল / টিএলএস সিফার স্যুট তালিকাভুক্ত করব?


261

কীভাবে আমি কোনও নির্দিষ্ট ওয়েবসাইটের অফার থেকে এসএসএল / টিএলএস সাইফার স্যুটগুলির একটি তালিকা পুনরুদ্ধার করতে পারি?

আমি ওপেনসেল চেষ্টা করেছি, তবে আপনি যদি আউটপুটটি পরীক্ষা করেন:

$ echo -n | openssl s_client -connect www.google.com:443 
CONNECTED(00000003)
depth=1 /C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com
   i:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
 1 s:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
   i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDITCCAoqgAwIBAgIQL9+89q6RUm0PmqPfQDQ+mjANBgkqhkiG9w0BAQUFADBM
MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wOTEyMTgwMDAwMDBaFw0x
MTEyMTgyMzU5NTlaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
MRYwFAYDVQQHFA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKFApHb29nbGUgSW5jMRcw
FQYDVQQDFA53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
gYEA6PmGD5D6htffvXImttdEAoN4c9kCKO+IRTn7EOh8rqk41XXGOOsKFQebg+jN
gtXj9xVoRaELGYW84u+E593y17iYwqG7tcFR39SDAqc9BkJb4SLD3muFXxzW2k6L
05vuuWciKh0R73mkszeK9P4Y/bz5RiNQl/Os/CRGK1w7t0UCAwEAAaOB5zCB5DAM
BgNVHRMBAf8EAjAAMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwudGhhd3Rl
LmNvbS9UaGF3dGVTR0NDQS5jcmwwKAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUF
BwMCBglghkgBhvhCBAEwcgYIKwYBBQUHAQEEZjBkMCIGCCsGAQUFBzABhhZodHRw
Oi8vb2NzcC50aGF3dGUuY29tMD4GCCsGAQUFBzAChjJodHRwOi8vd3d3LnRoYXd0
ZS5jb20vcmVwb3NpdG9yeS9UaGF3dGVfU0dDX0NBLmNydDANBgkqhkiG9w0BAQUF
AAOBgQCfQ89bxFApsb/isJr/aiEdLRLDLE5a+RLizrmCUi3nHX4adpaQedEkUjh5
u2ONgJd8IyAPkU0Wueru9G2Jysa9zCRo1kNbzipYvzwY4OA8Ys+WAi0oR1A04Se6
z5nRUP8pJcA2NhUzUnC+MY+f6H/nEQyNv4SgQhqAibAxWEEHXw==
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com
issuer=/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
---
No client certificate CA names sent
---
SSL handshake has read 1777 bytes and written 316 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 1024 bit
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: 748E2B5FEFF9EA065DA2F04A06FBF456502F3E64DF1B4FF054F54817C473270C
    Session-ID-ctx: 
    Master-Key: C4284AE7D76421F782A822B3780FA9677A726A25E1258160CA30D346D65C5F4049DA3D10A41F3FA4816DD9606197FAE5
    Key-Arg   : None
    Start Time: 1266259321
    Timeout   : 300 (sec)
    Verify return code: 20 (unable to get local issuer certificate)
---

এটি কেবল দেখায় যে সাইফার স্যুটটি AES256-SHA এর সাথে কিছু। আমি জানি আমি কথোপকথনের হেক্স ডাম্পটি ধরে ফেলতে পারি, তবে আমি কিছুটা মার্জিত কিছু আশা করছিলাম।

আমি লিনাক্সে এটি করতে পছন্দ করব তবে উইন্ডোজ (বা অন্যান্য) ভাল থাকবে। এই প্রশ্নটি আমি পিসিআই এবং সাধারণ অনুপ্রবেশ পরীক্ষার জন্য যে সুরক্ষা পরীক্ষা করি তা দ্বারা অনুপ্রাণিত হয়।

হালনাগাদ:

গ্রেগস নীচে উল্লেখ করেছে যে এসএসএল সার্ভার ক্লায়েন্টের সিফার স্যুটগুলি থেকে তুলেছে। সুতরাং মনে হচ্ছে আমার একবারে সমস্ত সিফার স্যুট পরীক্ষা করা দরকার। আমি মনে করি আমি একসাথে কিছু হ্যাক করতে পারি, তবে এটি করার কি আরও সহজ, আরও ভবিষ্যত-প্রমাণ (যেমন নতুন সিফার) আছে?


হতে পারে gnutls-cli?
মাধ্যাকর্ষণ

শিরোনাম পরিবর্তনের পরে, এই প্রশ্নটি সত্যিই কোনও সফ্টওয়্যার-রিক চাইছে না। পুনরায় খুলতে ভোট।
বব

@ ফিক্সার 1234 যদি এটি আপনাকে আরও সুখী করে তোলে তবে আমি "সরঞ্জাম" শব্দের যে কোনও উপস্থিতি সরিয়ে ফেলেছি। মূল প্রশ্নটি জিজ্ঞাসা করছে যে কোনওভাবেই কোনও নির্দিষ্ট কাজ কীভাবে সম্পাদন করতে হয়; এটি একটি গৌণ পুনঃস্থাপন এবং আরও বেশি উন্মুক্ত "সফ্টওয়্যারের তালিকা" টাইপ প্রশ্নের থেকে অনেক দূরে।
বব

@ বোবি: আমি আনন্দিত। :-) পুনরায় খুলতে ভোটদান
ফিক্সার 1234

উত্তর:


232

আমি সাইফার স্যুট পরীক্ষা করার জন্য একটি বাশ স্ক্রিপ্ট লিখেছিলাম। এটি ওপেনএসএসএল থেকে সমর্থিত সাইফার স্যুটগুলির একটি তালিকা পেয়েছে এবং প্রতিটি ব্যবহার করে সংযোগ দেওয়ার চেষ্টা করে। হ্যান্ডশেকটি সফল হলে এটি মুদ্রণ করে YES। যদি হ্যান্ডশেকটি সফল না NOহয় তবে এটি ওপেনএসএসএল ত্রুটির পাঠ্য অনুসরণ করে প্রিন্ট করে।

#!/usr/bin/env bash

# OpenSSL requires the port number.
SERVER=$1
DELAY=1
ciphers=$(openssl ciphers 'ALL:eNULL' | sed -e 's/:/ /g')

echo Obtaining cipher list from $(openssl version).

for cipher in ${ciphers[@]}
do
echo -n Testing $cipher...
result=$(echo -n | openssl s_client -cipher "$cipher" -connect $SERVER 2>&1)
if [[ "$result" =~ ":error:" ]] ; then
  error=$(echo -n $result | cut -d':' -f6)
  echo NO \($error\)
else
  if [[ "$result" =~ "Cipher is ${cipher}" || "$result" =~ "Cipher    :" ]] ; then
    echo YES
  else
    echo UNKNOWN RESPONSE
    echo $result
  fi
fi
sleep $DELAY
done

এখানে নমুনা আউটপুটটিতে 3 অসমর্থিত সাইফার এবং 1 টি সমর্থিত সাইফার দেখানো হচ্ছে:

[@linux ~]$ ./test_ciphers 192.168.1.11:443
Obtaining cipher list from OpenSSL 0.9.8k 25 Mar 2009.
Testing ADH-AES256-SHA...NO (sslv3 alert handshake failure)
Testing DHE-RSA-AES256-SHA...NO (sslv3 alert handshake failure)
Testing DHE-DSS-AES256-SHA...NO (sslv3 alert handshake failure)
Testing AES256-SHA...YES

সম্পাদনা: হোস্ট হিসাবে নমনীয়তা যুক্ত করুন এবং পোর্টটি স্ক্রিপ্টে প্যারামিটার হিসাবে সরবরাহ করা হয়


7
ওপেনসেল ১.০ এর একটি পরিবর্তন দরকার: if [[ "$result" =~ "Cipher :" ]] ; thenপরিবর্তে if [[ "$result" =~ "Cipher is " ]] ; thenআমি এসএসএল 2 এবং সুরক্ষিত পুনর্বিবেচনার জন্যও পরীক্ষা করি:echo -n Testing ssl2... result=$(echo -n | openssl s_client -ssl2 -connect $SERVER 2>&1) if [[ "$result" =~ "Cipher :" ]] ; then echo supported. INSECURE! else echo no support, OK fi echo -n Testing SSL secure renegotiation... echo -n "" | openssl s_client -connect $SERVER 2>&1 | grep 'Secure Renegotiation'
হুবার্ট কারিও

9
আরও একটি অত্যাধুনিক শেল স্ক্রিপ্ট উপলব্ধ রয়েছে যা এসএসএলস্ক্যান এবং ওপেনসেল ব্যবহার করে: টিএলএসএসএলড
রবার্ট

2
আমি অন্য স্ক্রিপ্টের নীচে তালিকাভুক্ত করেছি যার জন্য কেবল সিফারস্ক্যান
অলিভিয়ার - ইন্টারফ্যাসিস

1
নোট করুন যে কোনও লিপি ওপেনএসএসএল সমর্থন করে না এমন সাইফার স্যুট সমর্থন করে কিনা এই স্ক্রিপ্টটি সম্ভবত আপনাকে জানাবে না
সাম্পব্লুকুপার

2
টিএলএসএসএলডের জন্য @ রবার্টের পরামর্শটি দুর্দান্ত ছিল। এটি 1.3 এ আপডেট হয়েছে এবং আরও অনেক কার্যকারিতা রয়েছে। আমি সুরক্ষা পরীক্ষার জন্য ব্যবহার করে আসছি এবং অবশ্যই বলতে পারি যে আমি মুগ্ধ।
জন ইয়েরি

162

Nmap সঙ্গে SSL-enum-সাইফারগুলির

কোনও নেটওয়ার্ক পরিষেবা থেকে উপলব্ধ সাইফারগুলির তালিকা পাওয়ার জন্য এর চেয়ে ভাল বা দ্রুত কোনও উপায় নেই। এছাড়াও, এনএম্যাপ প্রতিটি উপলব্ধ সিফারের জন্য শক্তিশালী, দুর্বল বা অজানা এর একটি শক্তির রেটিং সরবরাহ করে।

প্রথমে, ssl-enum-ciphers.nse nmap স্ক্রিপ্টটি ডাউনলোড করুন ( এখানে ব্যাখ্যা )) তারপরে স্ক্রিপ্টের একই ডিরেক্টরি থেকে নীচে nmap চালান:

এইচটিটিপি সার্ভার দ্বারা সমর্থিত তালিকা সিফারগুলি

$ nmap --script ssl-enum-ciphers -p 443 www.example.com

IMAP সার্ভার দ্বারা সমর্থিত তালিকা সিফারগুলি

$ nmap --script ssl-enum-ciphers -p 993 mail.example.com

একটি ডোভকোট আইএমএপি সার্ভার থেকে আউটপুট একটি স্নিপেট এখানে:

993/tcp open  imaps
| ssl-enum-ciphers:
|   SSLv3:
|     ciphers:
|       TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_IDEA_CBC_SHA - weak
...
|   TLSv1.0:
|     ciphers:
|       TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_IDEA_CBC_SHA - weak
...
|_  least strength: weak

Nmap done: 1 IP address (1 host up) scanned in 1.03 seconds

2
এই স্ক্রিপ্টটি STARTTLS সহ IMAP এ ব্যবহার করার কোনও উপায় আছে কি? এসএমটিপিতে STARTTLS কাজ করছে বলে মনে হচ্ছে, তবে IMAP এ স্ক্রিপ্টটি চালানোও দেখা যাচ্ছে না।
জিল

কয়েকটি জিনিস: আপনি সম্ভবত ডাউনলোড করেছেন তার চেয়ে আপনার এনএম্যাপ ডিস্ট্রোতে স্ক্রিপ্টটি চালাচ্ছেন। আপনার নাম পরিবর্তন করে পরীক্ষা করুন। তারপরে "প্রতিকৃতি" যা কিছু সংস্করণে সাধারণত ব্যবহৃত পোর্ট সংখ্যাগুলি পরীক্ষা করে তা পরীক্ষা করে দেখুন। দিয়ে প্রতিস্থাপন করুনportrule = function() \n return true \n end
পাতলা

... এবং IMAP STARTTLS, FTPS AUTH TLSইত্যাদির সাথে কাজ করার জন্য কিছু হ্যাকিংয়ের প্রয়োজন হবে তবে এটি সম্ভব।
পাতলা

1
এক সতর্কীকরণ যে পুরোনো স্ক্রিপ্ট, যা আপনার ডিস্ট্রো / প্যাকেজের মধ্যে অন্তর্ভুক্ত করা যেতে পারে, ক্রম অনুযায়ী, এ সাইফারগুলির তালিকা না সার্ভার (বা ক্লায়েন্ট) পছন্দের অর্ডার। @ স্লিমের উপরের মন্তব্যটি দেখুন
ক্লিন্ট পাচল

3
এই উত্তরটি লেখার পরে যে 2 বছরের মধ্যে, এনএমএপ এফটিপি, এনএনটিপি, আইএমএপি, এলডিএপি, পিওপি 3, পোস্টগ্রিস এসকিউএল, এসএমটিপি, এক্সএমপিপি, ভিএনসি, এবং এমএস এসকিউএল, সেইসাথে কেবল সমর্থিত সাইফারগুলির তালিকা ছাড়িয়ে অনেক অন্যান্য উন্নতির জন্য সমর্থন যুক্ত করেছে ।
বনসাইভাইকিং

104

এমন কোনও সরঞ্জাম রয়েছে যা কোনও নির্দিষ্ট ওয়েবসাইটের অফারগুলির জন্য এসএসএল / টিএলএস সাইফার স্যুট পরীক্ষা করতে পারে?

হ্যাঁ, আপনি পাবলিক এসএসএল সার্ভার ডেটাবেসকে জিজ্ঞাসা করার জন্য এসএসএল ল্যাবসের ওয়েবসাইটে অনলাইন সরঞ্জামটি ব্যবহার করতে পারেন ।

এটি প্রদত্ত তথ্যের একটি স্নিপেট এখানে রয়েছে:

বিকল্প পাঠ

(google.com এর ফলাফল থেকে স্ক্রিনশট)


আমি ঠিক এটিই খুঁজছিলাম! অনেক ধন্যবাদ!
জেরেমি পাওয়েল

11
দুর্ভাগ্যক্রমে এটি স্ট্যান্ডার্ড পোর্টে কেবল এইচটিটিপিএসকে সমর্থন করে, এটি টিওএলএস দিয়ে পিওপি 3 এস, আইএমএপিএস বা আইএমএপি পরীক্ষা করতে ব্যবহার করতে পারে না
হুবার্ট কারিও

1
এবং যখন এটি কেবল এইচটিটিপিএস সমর্থন করে, এমনকি এটি এসএনআইয়ের সমর্থনও অভাবী।
গুরকান পাপস্ট

12
এবং এটি সর্বজনীন মুখোমুখি সাইটগুলির জন্য দুর্দান্ত, আপনি এটি ইন্টারনেট থেকে বিচ্ছিন্ন নেটওয়ার্কগুলিতে থাকা সাইটের জন্য ব্যবহার করতে পারবেন না।
ইসজি

53

sslscan একটি দুর্দান্ত সামান্য ইউটিলিটি।

এটি টিএলএস এবং এসএসএলের সাথে সংযোগ স্থাপনের পরীক্ষা করে (এবং বিল্ড স্ক্রিপ্টটি ওপেনএসএসএল এর নিজস্ব অনুলিপিটির সাথে লিঙ্ক করতে পারে যাতে অপ্রচলিত এসএসএল সংস্করণগুলিও পরীক্ষা করা যায়) এবং সার্ভারের সিফার স্যুট এবং শংসাপত্র সম্পর্কে রিপোর্ট।

উদাহরণস্বরূপ আউটপুট google.com(পাঠযোগ্যতার জন্য ছাঁটা):

$ sslscan google.com
Testing SSL server google.com on port 443

 TLS renegotiation:
Secure session renegotiation supported

  TLS Compression:
Compression disabled

  Heartbleed:
TLS 1.2 not vulnerable to heartbleed
TLS 1.1 not vulnerable to heartbleed
TLS 1.0 not vulnerable to heartbleed

  Supported Server Cipher(s):
Preferred TLSv1.2  128 bits  ECDHE-RSA-AES128-GCM-SHA256   Curve P-256 DHE 256
Accepted  TLSv1.2  128 bits  ECDHE-RSA-AES128-SHA          Curve P-256 DHE 256
Accepted  TLSv1.2  128 bits  ECDHE-RSA-RC4-SHA             Curve P-256 DHE 256
Accepted  TLSv1.2  128 bits  AES128-GCM-SHA256
Accepted  TLSv1.2  128 bits  AES128-SHA
<snip>
Preferred TLSv1.1  128 bits  ECDHE-RSA-AES128-SHA          Curve P-256 DHE 256
Accepted  TLSv1.1  128 bits  ECDHE-RSA-RC4-SHA             Curve P-256 DHE 256
Accepted  TLSv1.1  128 bits  AES128-SHA
<snip>
Preferred TLSv1.0  128 bits  ECDHE-RSA-AES128-SHA          Curve P-256 DHE 256
Accepted  TLSv1.0  128 bits  ECDHE-RSA-RC4-SHA             Curve P-256 DHE 256
Accepted  TLSv1.0  128 bits  AES128-SHA
<snip>
Preferred SSLv3    128 bits  RC4-SHA
Accepted  SSLv3    128 bits  RC4-MD5
<snip>

  SSL Certificate:
Signature Algorithm: sha256WithRSAEncryption
RSA Key Strength:    2048

Subject:  *.google.com
Altnames: DNS:*.google.com, DNS:*.android.com, <snip>
Issuer:   Google Internet Authority G2

Not valid before: Apr  7 08:24:31 2016 GMT
Not valid after:  Jun 30 08:20:00 2016 GMT

1
yum install sslscanCentOS 6 এ কাজ করে
একটি কোডার

1
sudo dnf install sslscanফেডোরা 22 তেও।
জায়েন এস হালসাল

2
brew install sslscanওএসএক্স
জিয়াও

sudo apt-get install sslscanউবুন্টুতে (12.04 - সুতরাং পরবর্তী সংস্করণগুলি ভাল হওয়া উচিত)।
বালু

3
আপডেট: এটি লক্ষ্য করা উচিত যে ডেবিয়ান এবং উবুন্টু সংগ্রহস্থলগুলিতে প্রাপ্ত এসএসএলস্ক্যানের অফিশিয়াল সংস্করণ (২০০৯ থেকে বর্তমানে 1.8.2) টিএলএস ভি 1.1 এবং 1.2 সমর্থন করে না , দেখুন বাগ.লাঞ্চপ্যাড.এন.বাউন্টু /+সোর্স / এসএসএসক্যান / + বাগ / 1372741 । অপশনটির সাথে লিখিত হওয়া গিটিহাবের সংস্করণটি ব্যবহার করা উচিত।
বালু

15

যেহেতু এটি এসএসএল স্ক্যানিং সরঞ্জামগুলির জন্য এত দুর্দান্ত রেফারেন্স থ্রেড, তাই আমি সিফারস্ক্যানকে তালিকা করব যা এক বছর আগে তৈরি হয়েছিল এবং কী এক্সচেঞ্জ সাইফারগুলির সাথে সমস্যাগুলি সনাক্ত করতে পারে। https://github.com/jvehent/cipherscan

আপনি যদি আমার কাঁটাচামচ চান যা এসএনআই এবং ফ্রিবিএসডি সমর্থন করে তবে URL টি https://github.com/oparoz/cipherscan

এটি এমন একটি স্ক্রিপ্ট যা openssl s_clientআপনার নিজের ওপেনএসএসএল বাইনারি ব্যবহার করে কল করে এবং সমর্থন করে যাতে আপনি আসন্ন বৈশিষ্ট্যগুলি বা নতুন সিফারগুলি পরীক্ষা করতে পারেন (প্রতি উদাহরণে chacha20 + poly1305)।

এটি আপনাকে যে কোনও পোর্টের সাথে সংযোগ করতে এবং স্টার্টলএস ব্যবহার করতে দেয়।

এখানে একটি সাধারণ আউটপুট

# ./cipherscan -o ./openssl api.mycompany.com:443
...................
prio  ciphersuite                  protocols              pfs_keysize
1     DHE-RSA-AES256-GCM-SHA384    TLSv1.2                DH,4096bits
2     DHE-RSA-AES256-SHA256        TLSv1.2                DH,4096bits
3     ECDHE-RSA-AES256-GCM-SHA384  TLSv1.2                ECDH,P-384,384bits
4     ECDHE-RSA-AES256-SHA384      TLSv1.2                ECDH,P-384,384bits
5     DHE-RSA-AES128-GCM-SHA256    TLSv1.2                DH,4096bits
6     DHE-RSA-AES128-SHA256        TLSv1.2                DH,4096bits
7     ECDHE-RSA-AES128-GCM-SHA256  TLSv1.2                ECDH,P-384,384bits
8     ECDHE-RSA-AES128-SHA256      TLSv1.2                ECDH,P-384,384bits
9     DHE-RSA-CAMELLIA256-SHA      TLSv1,TLSv1.1,TLSv1.2  DH,4096bits
10    DHE-RSA-AES256-SHA           TLSv1,TLSv1.1,TLSv1.2  DH,4096bits
11    ECDHE-RSA-AES256-SHA         TLSv1,TLSv1.1,TLSv1.2  ECDH,P-384,384bits
12    DHE-RSA-CAMELLIA128-SHA      TLSv1,TLSv1.1,TLSv1.2  DH,4096bits
13    DHE-RSA-AES128-SHA           TLSv1,TLSv1.1,TLSv1.2  DH,4096bits
14    ECDHE-RSA-AES128-SHA         TLSv1,TLSv1.1,TLSv1.2  ECDH,P-384,384bits
15    CAMELLIA256-SHA              TLSv1,TLSv1.1,TLSv1.2
16    AES256-SHA                   TLSv1,TLSv1.1,TLSv1.2
17    CAMELLIA128-SHA              TLSv1,TLSv1.1,TLSv1.2
18    AES128-SHA                   TLSv1,TLSv1.1,TLSv1.2

Certificate: trusted, 4096 bit, sha256WithRSAEncryption signature
TLS ticket lifetime hint: 300
OCSP stapling: supported

এবং এখানে বিকল্পগুলির একটি তালিকা রয়েছে

-a | --allciphers   Test all known ciphers individually at the end.
-b | --benchmark    Activate benchmark mode.
-d | --delay        Pause for n seconds between connections
-D | --debug        Output ALL the information.
-h | --help         Shows this help text.
-j | --json         Output results in JSON format.
-o | --openssl      path/to/your/openssl binary you want to use.
-v | --verbose      Increase verbosity.

আপনি যদি অন্য স্ক্রিপ্ট থেকে কল করে থাকেন তবে জসন আউটপুট কার্যকর।


"বিগ-এসএসএলভি 3 কনফিগারেশন সমর্থিত নয়, সংযোগ ব্যর্থ হয়েছে"
একটি কোডার


8

কিছুটা গুগল করার পরে আমি এসএসএল-টিএলএস (OWASP-CM-001) এর জন্য এই পরীক্ষাটি পেয়েছি :

Nmap স্ক্যানার, "-sV" বিকল্পটি স্ক্যান মাধ্যমে SSL এর পরিষেবা চিহ্নিত করতে সক্ষম হয়। ক্ষতিগ্রস্থতা স্ক্যানারস, পরিষেবা আবিষ্কার সম্পাদন করা ছাড়াও দুর্বল সাইফারগুলির বিরুদ্ধে চেক অন্তর্ভুক্ত করতে পারে (উদাহরণস্বরূপ, নেসাস স্ক্যানার স্বেচ্ছাসেবীর পোর্টগুলিতে এসএসএল পরিষেবাগুলি পরীক্ষা করার ক্ষমতা রাখে এবং দুর্বল সাইফারদের প্রতিবেদন করবে)।

এবং এছাড়াও: ফাউন্ডস্টোন এসএসএল ডিগার সমর্থিত সিফারগুলি পরীক্ষা করে এসএসএল সার্ভারের শক্তি নির্ধারণের জন্য একটি সরঞ্জাম। এর মধ্যে কিছু সাইফার নিরাপত্তাহীন বলে পরিচিত।



2

এসএসএলস্ক্যান দুর্দান্ত; একটি নতুন সরঞ্জাম এসএসএল ডায়াগনোস উইন্ডোজের জন্য কাজ করে, বা আপনি কেবল ওপেনসেল এস_স্লায়েন্ট ব্যবহার করে একটি স্ক্রিপ্ট লিখতে পারেন।


2

এনম্যাপের এসএসএল-এনাম-সিফারস স্ক্রিপ্টটি সমর্থিত সাইফার এবং এসএসএল / টিএলএস সংস্করণগুলির পাশাপাশি সমর্থিত সংক্ষেপকদের তালিকাভুক্ত করতে পারে।


1
আপনার উত্তর আগে ছিল, কিন্তু ক্লিন্ট প্যাচেলের উত্তরটিssl-enum-ciphers আরও বিস্তৃতভাবে ব্যাখ্যা করে ।
সাম্পব্লুকুপার

2

আপনি যদি একটি দুর্দান্ত গ্রেপিবল আউটপুট চান (এবং সমস্ত এসএসএল / টিএলএস সংস্করণ পরীক্ষা করার জন্য সমর্থন)

ব্যবহার: ./script.sh www.url.com

#!/usr/bin/env bash
ciphers2=$(openssl ciphers -ssl2 'ALL:eNULL' | sed -e 's/:/ /g')
ciphers3=$(openssl ciphers -ssl3 'ALL:eNULL' | sed -e 's/:/ /g')
cipherst1=$(openssl ciphers -tls1 'ALL:eNULL' | sed -e 's/:/ /g')
cipherst11=$(openssl ciphers -tls1.1 'ALL:eNULL' | sed -e 's/:/ /g')
cipherst12=$(openssl ciphers -tls1.2 'ALL:eNULL' | sed -e 's/:/ /g')

SSL2="SSL2("
for cipher in ${ciphers2[@]}
do
result=$(echo -n | openssl s_client -ssl2 -cipher "$cipher" -connect $1:443 2>&1)
if [[ "$result" =~ "Cipher is ${cipher}" ]] ; then
  SSL2="${SSL2}${cipher}:"
fi
done
SSL2=$(echo "${SSL2})" | sed -e 's/:)/)/g')

SSL3="SSL3("
for cipher in ${ciphers3[@]}
do
result=$(echo -n | openssl s_client -ssl3 -cipher "$cipher" -connect $1:443 2>&1)
if [[ "$result" =~ "Cipher is ${cipher}" ]] ; then
  SSL3="${SSL3}${cipher}:"
fi
done
SSL3=$(echo "${SSL3})" | sed -e 's/:)/)/g')
TLS1="TLS1("
for cipher in ${cipherst1[@]}
do
result=$(echo -n | openssl s_client -tls1 -cipher "$cipher" -connect $1:443 2>&1)
if [[ "$result" =~ "Cipher is ${cipher}" ]] ; then
  TLS1="${TLS1}${cipher}:"
fi
done
TLS1=$(echo "${TLS1})" | sed -e 's/:)/)/g')

TLS11="TLS1.1("
for cipher in ${cipherst11[@]}
do
result=$(echo -n | openssl s_client -tls1_1 -cipher "$cipher" -connect $1:443 2>&1)
if [[ "$result" =~ "Cipher is ${cipher}" ]] ; then
  TLS11="${TLS11}${cipher}:"
fi
done
TLS11=$(echo "${TLS11})" | sed -e 's/:)/)/g')

TLS12="TLS1.2("
for cipher in ${cipherst12[@]}
do
result=$(echo -n | openssl s_client -tls1_2 -cipher "$cipher" -connect $1:443 2>&1)
if [[ "$result" =~ "Cipher is ${cipher}" ]] ; then
  TLS12="${TLS12}${cipher}:"
fi
done
TLS12=$(echo "${TLS12})" | sed -e 's/:)/)/g')

echo "$1,$SSL2,$SSL3,$TLS1,$TLS11,$TLS12";

আপনি পারফর্ম করছেন openssl ciphers -tls1.1এবং openssl ciphers -tls1.2তবে এই প্যারামগুলি বিদ্যমান বলে মনে হচ্ছে না ... কেবলমাত্র আছে -tls1(অন্তত আমি চেষ্টা করেছি প্ল্যাটফর্মগুলিতে)।
মার্কি

(আকারে অতিরিক্ত বিকল্প রয়েছে বলে মনে হয় tls1_1এবং tls1_2সেগুলি কেবল ওপেনসেলের মাস্টার সংস্করণে প্রদর্শিত হয় এবং এটি 1.0.0 তেও নয় ....)
মার্কি

নোট করুন যে কোনও লিপি ওপেনএসএসএল সমর্থন করে না এমন সাইফার স্যুট সমর্থন করে কিনা এই স্ক্রিপ্টটি সম্ভবত আপনাকে জানাবে না
সাম্পব্লুকুপার

2

Pentesterscriptting.com এ একটি দুর্দান্ত ছোট স্ক্রিপ্ট রয়েছে যা এসএসএল স্ক্যান এবং ওপেনএসএসএল উভয়ই যাচাই করতে ব্যবহার করতে:

  • এসএসএল ভি 2;
  • সপ্তাহের সাইফার স্যুট;
  • MD5; এবং
  • টিএলএস পুনর্নবীকরণের দুর্বলতা

http://www.pentesterscriptting.com/discovery/ssl_tests (ইন্টারনেট সংরক্ষণাগার ওয়েবব্যাক মেশিনের মাধ্যমে )

মূল সাইটটি এখন মৃত হওয়ায় ভবিষ্যতের প্রতিরোধের জন্য এখানে নকল করা হয়েছে:

#!/usr/bin/env bash

# Description:
#       Script to extract the most security relevant details from a 
#       target SSL/TLS implementation by using sslscan.
# Author:  Raul Siles (raul _AT_ taddong _DOT_ com)
#          Taddong (www.taddong.com)
# Date:    2011-05-27
# Version: 1.0
#
# - Current SSL/TLS tests: 
#   SSLv2, NULL cipher, weak ciphers -key length-, strong 
#   ciphers -AES-, MD5 signed cert, SSL/TLS renegotiation
#
# Requires: 
# - sslscan
# https://sourceforge.net/projects/sslscan/
#
# Credits: Based on ssl_test.sh by Aung Khant, http://yehg.net.
# 

#
# /**************************************************************************
# *   Copyright 2011 by Taddong (Raul Siles)                                *
# *                                                                         *
# *   This program is free software; you can redistribute it and/or modify  *
# *   it under the terms of the GNU General Public License as published by  *
# *   the Free Software Foundation; either version 3 of the License, or     *
# *   (at your option) any later version.                                   *
# *                                                                         *
# *   This program is distributed in the hope that it will be useful,       *
# *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
# *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
# *   GNU General Public License for more details.                          *
# *                                                                         *
# *   You should have received a copy of the GNU General Public License     *
# *   along with this program. If not, see <http://www.gnu.org/licenses/>.  *
# *                                                                         *
# **************************************************************************/
#

VERSION=1.0

OPENSSLVERSION=$(openssl version)
SSLSCANVERSION=$(sslscan --version | grep version | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g")

echo ------------------------------------------------------
echo " TLSSLed - ($VERSION) based on sslscan and openssl"
echo " by Raul Siles (www.taddong.com)"
echo " ( inspired by ssl_test.sh by Aung Khant )"
echo ------------------------------------------------------
echo + openssl version: $OPENSSLVERSION
echo + $SSLSCANVERSION
echo ------------------------------------------------------
echo

if [ $# -ne 2 ]; then 
   echo Usage: $0 IP PORT
   exit
fi

HOST=$1
PORT=$2

echo  [*] Analyzing SSL/TLS on $HOST:$PORT ...
echo 

# Run sslcan once, store the results to a log file and
# analyze that file for all the different tests:
DATE=$(date +%F_%R:%S)
TARGET=$HOST:$PORT
LOGFILE=sslscan\_$TARGET\_$DATE.log
ERRFILE=sslscan\_$TARGET\_$DATE.err

echo [*] Running sslscan on $HOST:$PORT...
sslscan $HOST:$PORT > $LOGFILE 2> $ERRFILE

echo
echo [*] Testing for SSLv2 ...
cat $LOGFILE | grep "Accepted  SSLv2"
echo
echo [*] Testing for NULL cipher ...
cat $LOGFILE | grep "NULL" | grep Accepted
echo
echo [*] Testing for weak ciphers \(based on key length\) ...
cat $LOGFILE | grep " 40 bits" | grep Accepted
echo 
cat $LOGFILE | grep " 56 bits" | grep Accepted
echo
echo [*] Testing for strong ciphers \(AES\) ...
cat $LOGFILE | grep "AES" | grep Accepted

echo 
echo [*] Testing for MD5 signed certificate ...
#cat $LOGFILE | grep -E 'MD5WithRSAEncryption|md5WithRSAEncryption'
cat $LOGFILE | grep -i 'MD5WithRSAEncryption'

echo 
echo [*] Checking preferred server ciphers ...
cat $LOGFILE | sed '/Prefered Server Cipher(s):/,/^$/!d' | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"

echo
echo [*] Testing for SSLv3/TLSv1 renegotiation vuln. \(CVE-2009-3555\) ...
#echo [*] echo R \| openssl s_client -connect $HOST:$PORT \| grep "DONE"
#
# Renegotiation details go to stderr (2>)
#
# if $OPENSSLVERSION is updated (version?) it supports RFC5746 and will print:
# Secure Renegotiation IS NOT supported
# Secure Renegotiation IS supported
#

echo R | openssl s_client -connect $HOST:$PORT | grep -E "Secure Renegotiation IS|DONE"

echo
echo [*] New files created:
ls -l $LOGFILE
if [ ! -s $ERRFILE ]; then
        # Error file is empty
        rm $ERRFILE
else
        ls -l $ERRFILE
fi

echo
echo 
echo [*] done
echo

ব্যবহার:। / এসলটেস্ট.শ হস্ট পোর্ট


2

@ ইন্দিবের উত্তর এবং এটির নিজস্ব উত্তর হিসাবে পোস্ট করার পরামর্শের ভিত্তিতে , আমি @ ইন্ডিবের স্ক্রিপ্টটির আমার টুইট সংস্করণ সরবরাহ করছি। আপনি প্রথম আর্গুমেন্ট হিসাবে কোনও হোস্টকে সরবরাহ করতে পারেন এবং এটি মূল স্ক্রিপ্টের মতো একই ফলাফল আউটপুট দেবে, তবে আরও কিছুটা ফর্ম্যাটেড:

#!/usr/bin/env bash
# adapted from https://superuser.com/questions/109213/how-do-i-list-the-ssl-tls-cipher-suites-a-particular-website-offers

# OpenSSL requires the port number.
# SERVER=192.168.1.1:443
SERVER=$1
if [[ -z "$SERVER" ]]; then echo "ERROR: no server specified"; exit 1; fi;

## Set up colors, if possible
if [[ $(tput colors) ]];then
  COLOR_BOLD="$(tput bold)"     # "\e[1;32m"
  COLOR_GREEN="$(tput setaf 2)" # "\e[1;32m"
  COLOR_RESET="$(tput sgr0)"    # "\e[0m"
fi


SERVER=$1:443
echo Server is ${COLOR_BOLD}"$SERVER"${COLOR_RESET}

DELAY=1
ciphers=$(openssl ciphers 'ALL:eNULL' | sed -e 's/:/ /g')

echo Obtaining cipher list from $(openssl version).

for cipher in ${ciphers[@]}
  do
  printf "%-42s" "Testing $cipher... "
  result=$(echo -n | openssl s_client -cipher "$cipher" -connect $SERVER 2>&1)
  if [[ "$result" =~ ":error:" ]] ; then
    error=$(echo -n $result | cut -d':' -f6)
    echo NO \($error\)
  else
    if [[ "$result" =~ "Cipher is ${cipher}" || "$result" =~ "Cipher    :" ]] ; then
      echo ${COLOR_BOLD}${COLOR_GREEN}YES${COLOR_RESET}
    else
      echo UNKNOWN RESPONSE
      echo $result
    fi
  fi
  sleep $DELAY
done

2

ইভান রিস্টি- র (নিখরচায়) ওপেনএসএসএল কুকবুক , যিনি কেজের উত্তরে উল্লিখিত এসএসএল ল্যাবস অনলাইন সরঞ্জামটি বিকাশ করেছেন , তাতে বলেছেন:

আপনি যদি কোনও নির্দিষ্ট সার্ভার দ্বারা সমর্থিত সমস্ত স্যুট নির্ধারণ করতে চান তবে openssl ciphers ALLআপনার ওপেনএসএসএল সংস্করণ দ্বারা সমর্থিত সমস্ত স্যুটগুলির একটি তালিকা পাওয়ার জন্য অনুরোধ করে শুরু করুন। তারপরে সেগুলি স্বতন্ত্রভাবে পরীক্ষা করার জন্য একে একে সার্ভারে জমা দিন। আমি আপনাকে পরামর্শ দিচ্ছি না যে আপনি নিজে এটি করেন; এটি এমন একটি পরিস্থিতি যেখানে সামান্য অটোমেশন অনেক বেশি এগিয়ে যায়। প্রকৃতপক্ষে, এটি এমন পরিস্থিতি যেখানে কোনও ভাল সরঞ্জামের সন্ধানের জন্য উপযুক্ত হতে পারে

তবে, এইভাবে পরীক্ষার কোনও অসুবিধা নেই is আপনি কেবল ওপেনএসএসএল সমর্থনকারী স্যুট পরীক্ষা করতে পারেন। ...

কোনও একক এসএসএল / টিএলএস লাইব্রেরি সমস্ত সাইফার স্যুট সমর্থন করে না , এবং এটি ব্যাপক পরীক্ষাগুলি কঠিন করে তোলে। এসএসএল ল্যাবগুলির জন্য, আমি স্বতন্ত্র স্যুটগুলিকে সমর্থন করার ভান করে এমন একটি কাস্টম ক্লায়েন্টের সাথে এই উদ্দেশ্যে আংশিক হ্যান্ডশেকগুলি ব্যবহার করেছি । এটি আসলে একটি একক স্যুট এমনকি আলোচনাও করতে পারে না, তবে সার্ভারের পক্ষে তারা স্যুট সমর্থন করে কিনা তা আপনাকে জানাতে যথেষ্ট আলোচনার প্রস্তাব দেওয়া যথেষ্ট। আপনি কেবল এইভাবে সমস্ত স্যুট পরীক্ষা করতে পারবেন না, তবে আপনি এটি খুব দক্ষতার সাথে করতেও পারেন।

(আমার জোর।)

একটি সরঞ্জাম যা আমি অন্যান্য উত্তরে উল্লেখ করে দেখিনি, তা হ'ল স্টিফেন ব্র্যাডশোর এসএসএল টেস্ট , যা অন্যান্য বিষয়গুলির মধ্যে থেকে, "ডিএসডি আইএসএম এবং পিসিআই- ডিএসএসের মতো সম্মতিজনিত মানদণ্ডগুলির বিরুদ্ধে সনাক্তকারী সিফার এবং প্রোটোকলগুলির সাথে তুলনা করার উদ্দেশ্যে।"

সুতরাং, অন্যান্য উত্তরে উল্লিখিত এগুলির একটি বা একটিটি ব্যবহার করে দেখুন, না হলে নিজের তৈরি করুন এবং আংশিক হ্যান্ডশেকগুলির জন্য রিস্টির পদ্ধতির ব্যবহার বিবেচনা করুন।


1

আমি একটি সরঞ্জাম লিখেছি যা ঠিক এটি করে। একে tlsenum বলা হয় এবং এটি গিটহাবে পাওয়া যায় ।

[ayrx@division tlsenum]$ ./tlsenum.py twitter.com 443
TLS Versions supported by server: 3.0, 1.0, 1.1, 1.2
Supported Cipher suites in order of priority:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA

এখানে বিপরীতে সরঞ্জামের একটি উদাহরণ আউটপুট twitter.com

এটি এসএসএল ল্যাব'র মতো যা একই রকম তবে আমি দেখতে পেলাম যে একটি কমান্ড লাইন সরঞ্জাম যা আপনি স্বয়ংক্রিয় এবং পার্স করতে পারেন তা আরও কার্যকর।


1

মূলত https://github.com/iSECPartners/sslyze এ SSLyze এখন https://github.com/nabla-c0d3/sslyze এ রয়েছে । এটি অন্য উত্তরে উল্লেখ করা হয়েছিল , তবে খুব বেশি বিশদ ছাড়াই।

SSLyze পাইথন ভিত্তিক, এবং কমান্ড লাইন থেকে লিনাক্স / ম্যাক / উইন্ডোজ এ কাজ করে। এটি ওপেনএসএসএল ব্যবহার করে এবং উইন্ডোজে এটি ওপেনএসএসএল এর বান্ডিল কপি সহ আসে।

প্রোটোকল, সিফার স্যুট এবং মূল বিবরণ এবং কিছু সাধারণ দুর্বলতার জন্য পরীক্ষার তালিকাবদ্ধ করে। নির্দিষ্ট তথ্য যাচাই বা অক্ষম করা, আরও ডেটা পেতে বা স্ক্যান দ্রুত করা সম্ভব।


0

আপনি যা করতে পারেন তা হ'ল একবারে একবারে চেষ্টা করুন এবং কোনটি গ্রহণ করা হয়েছে তা দেখুন। আমি এটি করার জন্য কোনও সরঞ্জাম সম্পর্কে সচেতন নই, যদিও স্ক্রিপ্টিং সরঞ্জাম এবং থেকে একসাথে আঁটসাঁট করা শক্ত হওয়া উচিত নয় openssl s_client

ক্লায়েন্ট বিজ্ঞাপন দিচ্ছে যেটি কোন সিফারসুয়াইটগুলি গ্রহণ করবে, সার্ভারটি কেবল একটি বাছাই করে এটি ব্যবহার করে বা সংযোগটি ব্যর্থ করে যদি এটির পছন্দ মতো কিছুই না পায়।


ওহ হ্যাঁ ... কোনও কারণে আমি ভাবছিলাম এটি অন্যভাবে ছিল। হতে পারে আমি একটি প্রাক কোব্বলড সরঞ্জামটি খুঁজে পেতে পারি ... :)
জেরেমি পাওয়েল

0

এই সমস্ত উত্তর ঠিক আছে। উত্তরের একটি অংশ ব্যাখ্যা করতে পারে যে আমাদের কেন সার্ভারের তালিকা আবিষ্কার করার জন্য একটি সরঞ্জামের প্রয়োজন এবং সরাসরি টিএলএসে জিজ্ঞাসা করবেন না যে সার্ভারের সাথে সংযোগ স্থাপনের সময় সার্ভার তার সমস্ত সমর্থিত সাইফার স্যুট যেমন টিএলএস ক্লায়েন্টকে দেয় তেমন দেয়।

উত্তরটি হ'ল সার্ভারটি কখনও কোনও তালিকা প্রেরণ করে না , এটি কেবলমাত্র ক্লায়েন্ট সিফার তালিকায় সিফারটি নির্বাচন করতে চায় যা এটি ব্যবহার করতে চায়, এটি এসএসএল / টিএলএস প্রোটোকলটি এইভাবে লেখা: http://wiki.opensslfoundation.com/index.php/ SSL_and_TLS_Protocols # Cipher_Suites

সে কারণেই ক্লায়েন্টকে সার্ভার দ্বারা সমর্থিতদের সন্ধানের জন্য সাইফারগুলি গণনা করতে হবে এবং তার জন্য প্রতিটি সাইবার স্যুটের জন্য কমপক্ষে একটি নতুন স্টার্ট হ্যান্ডশেক (ক্লায়েন্টহেলো) করতে হবে।


0

AUTH TLSএফটিপিতে যা কিছু করে তা সন্ধান করার সময় আমি এই সরঞ্জামটি আবিষ্কার করেছি: এসএসএল-সিফার-স্যুট-এনাম

এটি একটি পার্ল স্ক্রিপ্ট যা হ্যাকাজারের শেল স্ক্রিপ্টটি মূলত যা করে তা কেবলমাত্র পরিশীলিত।

এটি প্রস্তাবিত সাইফার এবং প্রোটোকলগুলির একটি প্রাথমিক মূল্যায়নও সরবরাহ করে। এটি কিছুটা এসএসএল ল্যাবস সরঞ্জামগুলির মতো, কেবলমাত্র হোম ব্যবহারের জন্য। :)

ডিফল্টরূপে, এটি কেবল AUTH SSLএফটিপিতে সমর্থন করে তবে একটি সাধারণ অনুসন্ধান এবং প্রতিস্থাপন এটি ঠিক করতে পারে। বোনাস হিসাবে, এটি এসএমটিপি STARTTLSএবং আরডিপি সমর্থন করারও দাবি করে ।


0

টেস্টএসএসএল সার্ভার একটি সম্পূর্ণ জাভা ভিত্তিক সমাধান। সুবিধাদি:

  • এটি কেবলমাত্র সরল সকেটগুলিতে খুব নিম্ন-স্তরের কাজ করছে, সুতরাং এটি জেডিকে বা ওপেনএসএসএল থেকে সম্ভাব্য অনুপলব্ধ সিফারগুলির থেকে স্বাধীন

  • এটি খোলার জন্য কোনও অতিরিক্ত বন্দর (আইসএমপি-এর মতো পিং) প্রয়োজন হয় না

  • এটি ক্লায়েন্ট শংসাপত্র উপস্থিত সঙ্গে কাজ করছে

অসুবিধা:

  • ২০১ of সালের হিসাবে, সাইফারগুলির তালিকা পুরানো হতে পারে (যদিও আমি এটি বিচার করার জন্য এখানে কোনও বিশেষজ্ঞ নই)

আমার ব্যক্তিগত অভিজ্ঞতা: কেবলমাত্র একটি এইচটিটিপিএস পোর্ট খোলা (অন্য কোনও বন্দর নয়) সহ একটি কড়া লেসযুক্ত সার্ভার দেওয়া হয়েছে, ক্লায়েন্টের শংসাপত্রগুলি প্রয়োজনীয় এবং আইপ্যাবগুলি সক্রিয় রয়েছে, এটি এখনও উপলব্ধ সিফারগুলির তালিকা করতে সক্ষম হয়েছিল, যখন শীর্ষ-ভোটযুক্ত সমাধানগুলি ছিল না (আমি ছিলাম ছোট শেল স্ক্রিপ্ট, এসএসএল ল্যাবস, এনম্যাপ, এস এস এস এস স্ক্যান ব্যবহার করে দেখুন)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.