Skip to content

Laboratory project for Information Technology Security focusing on TLS/SSL vulnerability scanning, analyzing protocol versions, cipher suites, and known attacks using Qualys SSL Labs and the A2SV Python-based scanner (Information Technology Security, UNIWA).

Notifications You must be signed in to change notification settings

Information-Technology-Security/TLS-Scanning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

UNIWA

UNIVERSITY OF WEST ATTICA
SCHOOL OF ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING AND INFORMATICS


Information Technology Security

TLS Scanning

Vasileios Evangelos Athanasiou
Student ID: 19390005

GitHub · LinkedIn


Supervision

Supervisor: Ioanna Kantzavelou, Associate Professor

UNIWA Profile · LinkedIn

Co-supervisor: Angelos Georgoulas, Assistant Professor

UNIWA Profile · LinkedIn

Athens, June 2023


Project Overview

This laboratory project involves a comprehensive security analysis of the Transport Layer Security (TLS) protocol across different categories of websites. The primary objective is to identify vulnerabilities related to outdated protocol versions, weak cipher suites, and known SSL/TLS attacks using both web-based and locally installed scanning tools.


Table of Contents

Section Path / File Description
1 assign/ Official laboratory exercise specifications
1.1 assign/Excercise 5 (TLS Scanning)_2023.pdf Assignment description (English)
1.2 assign/Άσκηση 5 (TLS Scanning)_2023.pdf Assignment description (Greek)
2 docs/ Technical analysis and TLS security documentation
2.1 docs/TLS-Scanning.pdf TLS scanning report and results (English)
2.2 docs/Σάρωση-TLS.pdf TLS scanning report and results (Greek)
3 screens/ TLS scan outputs, certificate analysis, and vulnerability evidence
3.1 screens/*Home.png Target website home pages before scanning
3.2 screens/Scan-Python-*.png TLS scans executed via Python scripts
3.3 screens/Run-Python-Script-*.png Execution of custom TLS scanning scripts
3.4 screens/SSL-Report-*.png SSL/TLS report summaries per target
3.5 screens/Certificates*.png Certificate type and key analysis (RSA / EC)
3.6 screens/Forum-*.png Detected TLS weaknesses and misconfigurations
4 README.md Repository overview and experiment description

Laboratory Environment

The security assessments were conducted in the following environment:

  • Operating System: Ubuntu 16.04 (Linux Virtual Machine)
  • Python Version: Python 2 (required for the A2SV tool)

Tools Used

Two main tools were utilized for TLS vulnerability scanning:

  • Qualys SSL Labs (Web Tool):
    Performs in-depth analysis of public SSL/TLS server configurations, including certificate chains, protocol support, and cipher suites.

  • A2SV (Auto Scanning to SSL Vulnerability):
    A Python-based local scanning tool designed to detect common SSL/TLS vulnerabilities such as HeartBleed, CRIME, DROWN, and POODLE.


Target Websites

The analysis was performed on four different categories of websites:


Vulnerabilities Assessed

The scanners evaluated the presence of the following critical TLS/SSL vulnerabilities:

  • CRIME & BREACH: Compression-based attacks that can leak sensitive data.
  • HeartBleed: A severe vulnerability in the OpenSSL library allowing memory disclosure.
  • POODLE: An attack exploiting fallback mechanisms to SSL 3.0.
  • Weak Cipher Suites: Detection of insecure algorithms such as RC4.
  • Protocol Support: Verification of continued support for deprecated TLS versions (TLS 1.0 and 1.1).

How to Run the Local Scanner (A2SV)

To perform a TLS vulnerability scan using the A2SV tool:

  1. Navigate to the tool’s directory:
    cd a2sv
  2. Execute the scan against a target IP address:
    python2 a2sv.py -t [Target_IP_Address]

Key Findings

Protocol Support:

Several tested websites were limited to a “B” security grade due to continued support for TLS 1.0 and TLS 1.1, which are considered deprecated and vulnerable compared to TLS 1.3.

Tool Comparison:

Both scanning tools generally agreed on the detected vulnerabilities.

  • Qualys SSL Labs provided more extensive details on certificates and server configuration.
  • A2SV focused primarily on identifying specific exploit vectors and known TLS/SSL attacks.

Conclusion

This laboratory exercise demonstrates the importance of regularly auditing SSL/TLS configurations. Even well-known and widely used websites may expose unnecessary risk by supporting outdated protocols or weak cipher suites. Combining web-based and local scanning tools offers a more complete and reliable TLS security assessment.


Installation & Setup Guide

This guide describes how to prepare the laboratory environment and install the required tools for conducting TLS/SSL vulnerability scanning as part of the TLS Scanning laboratory exercise.

Prerequisites

1. Host System Requirements

  • Host OS: Windows / Linux / macOS
  • Virtualization Software:
    • Oracle VirtualBox (recommended)
  • Minimum Hardware:
    • 4 GB RAM (8 GB recommended)
    • CPU with virtualization support enabled
    • ~10 GB free disk space

2. Virtual Machine Environment

All experiments are conducted inside a Linux virtual machine.

  • Operating System: Ubuntu 16.04 LTS
  • Architecture: 32-bit or 64-bit
  • Purpose: Execution of local TLS scanning tools (A2SV) and Python scripts

Important: Ubuntu 16.04 is required due to compatibility with Python 2, which is mandatory for the A2SV scanner.


Virtual Machine Setup

Step 1: Create or Import Ubuntu 16.04 VM

Create a new VirtualBox virtual machine or import an existing Ubuntu 16.04 image. Recommended settings:

  • RAM: ≥ 2048 MB
  • CPU: ≥ 1 core

Complete the Ubuntu 16.04 installation.

Step 2: Update System Packages

After logging into the VM:

sudo apt update
sudo apt upgrade

Software Installation

Step 3: Install Python 2 (Required)

Ubuntu 16.04 includes Python 2 by default, but verify installation:

python2 --version

If not installed:

sudo apt install python

Step 4: Install Required Python Libraries

Some TLS scanning scripts require additional Python modules:

sudo apt install python-openssl python-requests

Step 5: Install Git

sudo apt install git

Verify:

git --version

Repository Setup

Step 6: Clone the Repository

git clone https://github.com/Information-Technology-Security/TLS-Scanning.git
cd TLS-Scanning

A2SV Tool Setup

Step 7: Navigate to A2SV Directory

cd a2sv

Ensure the main script exists:

ls

Expected output includes:

a2sv.py

Supporting Python files

Step 8: Verify Script Permissions

chmod +x a2sv.py

Running the TLS Scanner

Step 9: Execute a TLS Vulnerability Scan

Run the A2SV scanner against a target IP address:

python2 a2sv.py -t <TARGET_IP_ADDRESS>

Example:

python2 a2sv.py -t 8.8.8.8

The scanner will test for:

HeartBleed
CRIME
POODLE
DROWN
Weak cipher suites
Deprecated TLS versions

Web-Based Scanning Tool (Optional)

In parallel with local scans, TLS configurations are analyzed using:

This tool is used for:

  • Certificate chain analysis
  • Cipher suite evaluation
  • Protocol version grading
  • No local installation is required.

Ready-to-Use Environment

At this point, the system is fully configured for:

  • Local TLS/SSL vulnerability scanning using A2SV
  • Comparative analysis with Qualys SSL Labs
  • Collection of screenshots and reports for documentation
  • Proceed with the scanning experiments described in the Laboratory Exercise.

Notes & Troubleshooting

  • Always use Python 2, not Python 3.
  • Some websites block aggressive scanning; results may vary.
  • Prefer scanning IP addresses instead of domain names when using A2SV.
  • Ubuntu 16.04 is deprecated but required for legacy tool compatibility.

Open the Documentation

  1. Navigate to the docs/ directory
  2. Open the report corresponding to your preferred language:
    • English: TLS-Scanning.pdf
    • Greek: Σάρωση-TLS.pdf

About

Laboratory project for Information Technology Security focusing on TLS/SSL vulnerability scanning, analyzing protocol versions, cipher suites, and known attacks using Qualys SSL Labs and the A2SV Python-based scanner (Information Technology Security, UNIWA).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published