Master's Thesis

Security Testing Tool for the Apache Web Server

Final Thesis 3.57 MB Appendix 3.55 MB

Author of thesis: Bc. Peter Takács

Acad. year: 2025/2026

Supervisor: doc. Ing. Zdeněk Martinásek, Ph.D.

Reviewer: prof. Ing. Dan Komosný, Ph.D.

Abstract:

This thesis introduces the Apache HTTP Server and the Penterep penetration-testing platform, and analyses selected server modules together with their common vulnerabilities. It then describes the design and implementation of an automated tool for the penetration testing of Apache HTTP Server modules called ptmodscan. The tool is made to detect active modules based on the tested server’s externally observable behavior and by checking for basic misconfigurations associated with those modules. Finally, the tool is evaluated on a locally deployed Apache installation containing deliberate vulnerabilities, demonstrating that the implemented solution meets the objectives defined at the beginning of the thesis.

Keywords:

Apache HTTP Server, Penterep, penetration testing, Apache modules, module detection, mod_status, mod_ssl, mod_info, mod_auth_basic, mod_auth_digest, mod_deflate, mod_expires, mod_php, mod_headers, mod_dav, mod_autoindex, mod_alias, mod_userdir, mod_dir, mod_proxy, Python, Web server, ptmodscan, ptlibs

Date of defence

09.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil diplomovou práci a odpověděl na otázky členů komise a oponenta. Otázky členů komise a oponenta: - V čem je praktický přínos detekce aktivních modulů Apache oproti běžnému skenování známých zranitelností webového serveru? - Porovnával jste váš nástroj s jinými nástroji?

Language of thesis

English

Faculty

Department

Study programme

Information Security (MPC-IBE)

Composition of Committee

Ing. Vlastimil Člupek, Ph.D. (člen)
Ing. Petr Dejdar, Ph.D. (člen)
Ing. Patrik Dobiáš (člen)
doc. JUDr. Matěj Myška, Ph.D. (místopředseda)
prof. Ing. Dan Komosný, Ph.D. (předseda)
Ing. Radomír Svoboda, Ph.D. (člen)
Ing. Martin Rusz (člen)
doc. Ing. Václav Oujezský, Ph.D. (člen)

Student Peter Takács pracoval aktivně na řešení diplomové práce a pravidelně konzultovala dosažené výsledky. Veškeré podněty a návrhy reflektovala v práci. Hlavním přínosem práce je vlastní návrh a implementace nástroje podporující bezpečnostní penetrační webových aplikací. Implementovaný nástroj na základě reakcí webového serveru Apache identifikovat aktivní moduly. Funkčnost nástroje jsem testoval a potvrzuji použitelnost v rámci black-box testování. V práci se vyskytují drobné formální nedostatky typografického rázu např. sirotek (úvod, str. 43). Nástroj splňuje požadavky zadání (licence, využité knihovny atdp.). Student využil celkem 45 zdrojů, které jsou aktuální. Práce je po formální stránce i odborné na velmi vysoké úrovni. Konstatuji, že veškeré definované cíle práce byly splněny a navrhuji práci k obhajobě s hodnocením A. Points proposed by supervisor: 90

Grade proposed by supervisor: A

Reviewer’s report
prof. Ing. Dan Komosný, Ph.D.

Technická dokumentace ke zhotovenému software je přehledná. Princip činnosti jednotlivých testovacích modulů je podrobně popsán a názorně doplněn vývojovými diagramy. Autor vhodně zařazuje výpisy kódu, na nichž vysvětluje klíčové části implementace. Tyto výpisy jsou v textu dále komentovány a propojeny s navrženými testovacími postupy.

Zdrojový kód je přehledný, vhodně organizovaný a dobře čitelný. Je rozdělen do samostatných souborů podle testovaných modulů Apache serveru, což zvyšuje přehlednost a usnadňuje případné další rozšiřování nástroje. Implementace využívá zejména knihovnu ptlibs pro začlenění do systému PenterepTools.

Zhotovený software byl autorem ověřen v experimentálním prostředí na Apache serveru. Konfigurace serveru byla záměrně upravena tak, aby bylo možné otestovat detekci vybraných modulů. Testovací konfigurace jednotlivých modulů je v práci popsána dostatečně podrobně. Součástí ověření byla také druhá varianta testování s instalací Apache, ve které nebyly zpřístupněny testované moduly. Tato část sloužila k ověření možných falešně pozitivních výsledků. Výsledky provedených testů ukazují, že nástroj v připraveném prostředí pracuje správně. Autor zároveň diskutuje situace, které mohou v reálném testování vést k falešně pozitivním nebo falešně negativním detekcím jednotlivých modulů webového serveru.

Poskytnutou aplikaci jsem také samostatně testoval. Podle přiloženého návodu jsem ji nainstaloval do nově vytvořeného prostředí Python 3.12. Aplikaci jsem bez problémů spustil a provedl náhodné testování vybraných webových serverů. Během mého testování aplikace pracovala správně.

Formální a grafická úprava práce je na dobré úrovni. Autor přiměřeně pracuje s použitou literaturou a online zdroji. Práce má logickou strukturu. Nejprve popisuje principy testování a analyzované Apache moduly, popisuje implementaci a nakonec ověřuje funkčnost nástroje.

Zdrojový kód vytvořeného softwaru je volně dostupný na platformě GitLab a je publikován pod licencí GPL. Drobnou nesrovnalost vidím v licenčním textu a metadatech zveřejněného softwaru. V souboru README.md a v hlavičkách některých zdrojových souborů zůstaly odkazy na projekt pttemplate. Správně by zde asi měl být uveden název vytvořeného nástroje ptmodscan. Topics for thesis defence:
  1. V čem je praktický přínos detekce aktivních modulů Apache oproti běžnému skenování známých zranitelností webového serveru?
Points proposed by reviewer: 95

Responsibility: Mgr. et Mgr. Hana Odstrčilová