Created
September 12, 2023 20:16
-
-
Save swoodford-clear/fef88e2074156e6c207a2d366ca0cf1e to your computer and use it in GitHub Desktop.
This script will use curl to test a list of SSL Ciphers against an endpoint (URL) and report if the cipher was accepted or failed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# This script will use curl to test a list of SSL Ciphers against an endpoint (URL) and report if the cipher was accepted or failed. | |
# The URL to test | |
ENDPOINT="https://enroll.clearme.com/enroll" | |
# Date format for ReportFile | |
Date=$(date "+%Y-%m-%d") | |
# Short Endpoint name for report file | |
ReportEndpoint=$(echo $ENDPOINT | cut -d '/' -f3) | |
# Save report to a CSV file | |
ReportFile=ssl-ciphers-test-$ReportEndpoint-$Date.csv | |
declare -a CIPHERS=( | |
AES128-GCM-SHA256 | |
AES256-GCM-SHA384 | |
ECDHE-ECDSA-AES128-GCM-SHA256 | |
ECDHE-ECDSA-AES256-GCM-SHA384 | |
ECDHE-ECDSA-CHACHA20-POLY1305 | |
ECDHE-RSA-AES128-GCM-SHA256 | |
ECDHE-RSA-AES256-GCM-SHA384 | |
ECDHE-RSA-CHACHA20-POLY1305 | |
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA | |
SSL_DHE_DSS_WITH_DES_CBC_SHA | |
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA | |
SSL_DHE_RSA_WITH_DES_CBC_SHA | |
SSL_EN_DES_192_EDE3_CBC_WITH_MD5 | |
SSL_EN_DES_64_CBC_WITH_MD5 | |
SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5 | |
SSL_EN_RC2_128_CBC_WITH_MD5 | |
SSL_EN_RC4_128_EXPORT40_WITH_MD5 | |
SSL_EN_RC4_128_WITH_MD5 | |
SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA | |
SSL_FORTEZZA_DMS_WITH_NULL_SHA | |
SSL_FORTEZZA_DMS_WITH_RC4_128_SHA | |
SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 | |
SSL_RSA_EXPORT_WITH_RC4_40_MD5 | |
SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA | |
SSL_RSA_FIPS_WITH_DES_CBC_SHA | |
SSL_RSA_WITH_3DES_EDE_CBC_SHA | |
SSL_RSA_WITH_DES_CBC_SHA | |
SSL_RSA_WITH_NULL_MD5 | |
SSL_RSA_WITH_NULL_SHA | |
SSL_RSA_WITH_RC4_128_MD5 | |
SSL_RSA_WITH_RC4_128_SHA | |
TLS_AES_128_GCM_SHA256 | |
TLS_AES_256_GCM_SHA384 | |
TLS_CHACHA20_POLY1305_SHA256 | |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA | |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 | |
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 | |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA | |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 | |
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 | |
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA | |
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA | |
TLS_DHE_DSS_WITH_RC4_128_SHA | |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA | |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 | |
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 | |
TLS_DHE_RSA_WITH_AES_256_CBC_SHA | |
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 | |
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 | |
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA | |
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA | |
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA | |
TLS_ECDH_anon_WITH_AES_128_CBC_SHA | |
TLS_ECDH_anon_WITH_AES_256_CBC_SHA | |
TLS_ECDH_anon_WITH_NULL_SHA | |
TLS_ECDH_anon_WITH_RC4_128_SHA | |
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA | |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA | |
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 | |
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA | |
TLS_ECDH_ECDSA_WITH_NULL_SHA | |
TLS_ECDH_ECDSA_WITH_RC4_128_SHA | |
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA | |
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA | |
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 | |
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA | |
TLS_ECDH_RSA_WITH_NULL_SHA | |
TLS_ECDH_RSA_WITH_RC4_128_SHA | |
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA | |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA | |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | |
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA | |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 | |
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | |
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 | |
TLS_ECDHE_ECDSA_WITH_NULL_SHA | |
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA | |
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA | |
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA | |
TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 | |
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA | |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 | |
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 | |
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | |
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | |
TLS_ECDHE_RSA_WITH_NULL_SHA | |
TLS_ECDHE_RSA_WITH_RC4_128_SHA | |
TLS_PSK_WITH_AES_128_CBC_SHA | |
TLS_PSK_WITH_AES_256_CBC_SHA | |
TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA | |
TLS_RSA_EXPORT1024_WITH_RC4_56_SHA | |
TLS_RSA_WITH_3DES_EDE_CBC_SHA | |
TLS_RSA_WITH_AES_128_CBC_SHA | |
TLS_RSA_WITH_AES_128_CBC_SHA256 | |
TLS_RSA_WITH_AES_128_GCM_SHA256 | |
TLS_RSA_WITH_AES_256_CBC_SHA | |
TLS_RSA_WITH_AES_256_CBC_SHA256 | |
TLS_RSA_WITH_AES_256_GCM_SHA384 | |
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA | |
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA | |
TLS_RSA_WITH_NULL_SHA | |
TLS_RSA_WITH_NULL_SHA256 | |
TLS_RSA_WITH_SEED_CBC_SHA | |
) | |
echo "Testing $ENDPOINT Against SSL Ciphers..." | |
echo $ENDPOINT,$Date >> $ReportFile | |
for CIPHER in "${CIPHERS[@]}" | |
do | |
# echo $CIPHER | |
TEST=$(curl --silent --output /dev/null $ENDPOINT --ciphers $CIPHER > /dev/null) | |
if [ ! $? -eq 0 ]; then | |
echo failed,$CIPHER 2>&1 | tee -a $ReportFile | |
# echo $ENDPOINT,$Date >> $ReportFile | |
else | |
echo accepted,$CIPHER 2>&1 | tee -a $ReportFile | |
fi | |
done | |
echo "Completed, report file saved:" | |
echo $ReportFile |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment