<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BAras</id>
	<title>Elvis Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BAras"/>
	<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php/Special:Contributions/BAras"/>
	<updated>2026-09-10T13:04:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11559</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11559"/>
		<updated>2023-02-28T22:00:41Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Used Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the web application pentesing community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
=== Burp Suite  ===&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
=== Ettercap ===&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
== Pentesting with OWASP ZAP, Burp Suite and Ettercap ==&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
Ettercap is primarily designed for network traffic analysis and interception, but here are the general steps to follow in order to be able to use Ettercap for web application penetration testing:&lt;br /&gt;
* Set up a testing environment: Set up a testing environment that simulates the target web application&#039;s environment as closely as possible. This can include a web server, application server, and database server.&lt;br /&gt;
* Configure Ettercap: Configure Ettercap to intercept web traffic between the client and server. You can use the &amp;quot;Unified Sniffing&amp;quot; option to capture all traffic or use the &amp;quot;Selective Sniffing&amp;quot; option to filter out unwanted traffic.&lt;br /&gt;
* Identify the target: Use Ettercap to identify the target web application by analyzing the intercepted traffic. Look for requests and responses that include the web application&#039;s domain or IP address.&lt;br /&gt;
* Analyze the traffic: Use Ettercap&#039;s built-in packet analyzer or a separate tool like Wireshark to analyze the intercepted traffic. Look for vulnerabilities such as SQL injection, cross-site scripting (XSS), and session hijacking.&lt;br /&gt;
* Exploit vulnerabilities: Use the information you have gathered from the traffic analysis to exploit vulnerabilities in the web application. This can include using tools like SQLmap for SQL injection or XSStrike for cross-site scripting.&lt;br /&gt;
* Document the findings: Documenting findings in a detailed report include the steps, the vulnerabilities found and any recommendations for improving the security of the web application.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
&lt;br /&gt;
== Used Software ==&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11558</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11558"/>
		<updated>2023-02-28T21:59:04Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the web application pentesing community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
=== Burp Suite  ===&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
=== Ettercap ===&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
== Pentesting with OWASP ZAP, Burp Suite and Ettercap ==&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
Ettercap is primarily designed for network traffic analysis and interception, but here are the general steps to follow in order to be able to use Ettercap for web application penetration testing:&lt;br /&gt;
* Set up a testing environment: Set up a testing environment that simulates the target web application&#039;s environment as closely as possible. This can include a web server, application server, and database server.&lt;br /&gt;
* Configure Ettercap: Configure Ettercap to intercept web traffic between the client and server. You can use the &amp;quot;Unified Sniffing&amp;quot; option to capture all traffic or use the &amp;quot;Selective Sniffing&amp;quot; option to filter out unwanted traffic.&lt;br /&gt;
* Identify the target: Use Ettercap to identify the target web application by analyzing the intercepted traffic. Look for requests and responses that include the web application&#039;s domain or IP address.&lt;br /&gt;
* Analyze the traffic: Use Ettercap&#039;s built-in packet analyzer or a separate tool like Wireshark to analyze the intercepted traffic. Look for vulnerabilities such as SQL injection, cross-site scripting (XSS), and session hijacking.&lt;br /&gt;
* Exploit vulnerabilities: Use the information you have gathered from the traffic analysis to exploit vulnerabilities in the web application. This can include using tools like SQLmap for SQL injection or XSStrike for cross-site scripting.&lt;br /&gt;
* Document the findings: Documenting findings in a detailed report include the steps, the vulnerabilities found and any recommendations for improving the security of the web application.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
&lt;br /&gt;
== Used Software ==&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11557</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11557"/>
		<updated>2023-02-28T21:58:13Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
=== Burp Suite  ===&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
=== Ettercap ===&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
== Pentesting with OWASP ZAP, Burp Suite and Ettercap ==&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
Ettercap is primarily designed for network traffic analysis and interception, but here are the general steps to follow in order to be able to use Ettercap for web application penetration testing:&lt;br /&gt;
* Set up a testing environment: Set up a testing environment that simulates the target web application&#039;s environment as closely as possible. This can include a web server, application server, and database server.&lt;br /&gt;
* Configure Ettercap: Configure Ettercap to intercept web traffic between the client and server. You can use the &amp;quot;Unified Sniffing&amp;quot; option to capture all traffic or use the &amp;quot;Selective Sniffing&amp;quot; option to filter out unwanted traffic.&lt;br /&gt;
* Identify the target: Use Ettercap to identify the target web application by analyzing the intercepted traffic. Look for requests and responses that include the web application&#039;s domain or IP address.&lt;br /&gt;
* Analyze the traffic: Use Ettercap&#039;s built-in packet analyzer or a separate tool like Wireshark to analyze the intercepted traffic. Look for vulnerabilities such as SQL injection, cross-site scripting (XSS), and session hijacking.&lt;br /&gt;
* Exploit vulnerabilities: Use the information you have gathered from the traffic analysis to exploit vulnerabilities in the web application. This can include using tools like SQLmap for SQL injection or XSStrike for cross-site scripting.&lt;br /&gt;
* Document the findings: Documenting findings in a detailed report include the steps, the vulnerabilities found and any recommendations for improving the security of the web application.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
&lt;br /&gt;
== Used Software ==&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11556</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11556"/>
		<updated>2023-02-28T21:55:34Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
=== Burp Suite  ===&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
=== Ettercap ===&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
== Pentesting with OWASP ZAP, Burp Suite and Ettercap ==&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
Ettercap is primarily designed for network traffic analysis and interception, but here are the general steps to follow in order to be able to use Ettercap for web application penetration testing:&lt;br /&gt;
* Set up a testing environment: Set up a testing environment that simulates the target web application&#039;s environment as closely as possible. This can include a web server, application server, and database server.&lt;br /&gt;
* Configure Ettercap: Configure Ettercap to intercept web traffic between the client and server. You can use the &amp;quot;Unified Sniffing&amp;quot; option to capture all traffic or use the &amp;quot;Selective Sniffing&amp;quot; option to filter out unwanted traffic.&lt;br /&gt;
* Identify the target: Use Ettercap to identify the target web application by analyzing the intercepted traffic. Look for requests and responses that include the web application&#039;s domain or IP address.&lt;br /&gt;
* Analyze the traffic: Use Ettercap&#039;s built-in packet analyzer or a separate tool like Wireshark to analyze the intercepted traffic. Look for vulnerabilities such as SQL injection, cross-site scripting (XSS), and session hijacking.&lt;br /&gt;
* Exploit vulnerabilities: Use the information you have gathered from the traffic analysis to exploit vulnerabilities in the web application. This can include using tools like SQLmap for SQL injection or XSStrike for cross-site scripting.&lt;br /&gt;
* Document the findings: Documenting findings in a detailed report include the steps, the vulnerabilities found and any recommendations for improving the security of the web application.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
&lt;br /&gt;
== Used Software ==&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11555</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11555"/>
		<updated>2023-02-28T21:55:29Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
=== Burp Suite  ===&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
=== Ettercap ===&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
== Pentesting with OWASP ZAP, Burp Suite and Ettercap ==&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
Ettercap is primarily designed for network traffic analysis and interception, but here are the general steps to follow in order to be able to use Ettercap for web application penetration testing:&lt;br /&gt;
* Set up a testing environment: Set up a testing environment that simulates the target web application&#039;s environment as closely as possible. This can include a web server, application server, and database server.&lt;br /&gt;
* Configure Ettercap: Configure Ettercap to intercept web traffic between the client and server. You can use the &amp;quot;Unified Sniffing&amp;quot; option to capture all traffic or use the &amp;quot;Selective Sniffing&amp;quot; option to filter out unwanted traffic.&lt;br /&gt;
* Identify the target: Use Ettercap to identify the target web application by analyzing the intercepted traffic. Look for requests and responses that include the web application&#039;s domain or IP address.&lt;br /&gt;
* Analyze the traffic: Use Ettercap&#039;s built-in packet analyzer or a separate tool like Wireshark to analyze the intercepted traffic. Look for vulnerabilities such as SQL injection, cross-site scripting (XSS), and session hijacking.&lt;br /&gt;
* Exploit vulnerabilities: Use the information you have gathered from the traffic analysis to exploit vulnerabilities in the web application. This can include using tools like SQLmap for SQL injection or XSStrike for cross-site scripting.&lt;br /&gt;
* Document the findings: Documenting findings in a detailed report include the steps, the vulnerabilities found and any recommendations for improving the security of the web application.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
&lt;br /&gt;
== Used Software ==&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11554</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11554"/>
		<updated>2023-02-28T21:55:20Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Used Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
=== Burp Suite  ===&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
=== Ettercap ===&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
== Pentesting with OWASP ZAP, Burp Suite and Ettercap ==&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
Ettercap is primarily designed for network traffic analysis and interception, but here are the general steps to follow in order to be able to use Ettercap for web application penetration testing:&lt;br /&gt;
* Set up a testing environment: Set up a testing environment that simulates the target web application&#039;s environment as closely as possible. This can include a web server, application server, and database server.&lt;br /&gt;
* Configure Ettercap: Configure Ettercap to intercept web traffic between the client and server. You can use the &amp;quot;Unified Sniffing&amp;quot; option to capture all traffic or use the &amp;quot;Selective Sniffing&amp;quot; option to filter out unwanted traffic.&lt;br /&gt;
* Identify the target: Use Ettercap to identify the target web application by analyzing the intercepted traffic. Look for requests and responses that include the web application&#039;s domain or IP address.&lt;br /&gt;
* Analyze the traffic: Use Ettercap&#039;s built-in packet analyzer or a separate tool like Wireshark to analyze the intercepted traffic. Look for vulnerabilities such as SQL injection, cross-site scripting (XSS), and session hijacking.&lt;br /&gt;
* Exploit vulnerabilities: Use the information you have gathered from the traffic analysis to exploit vulnerabilities in the web application. This can include using tools like SQLmap for SQL injection or XSStrike for cross-site scripting.&lt;br /&gt;
* Document the findings: Documenting findings in a detailed report include the steps, the vulnerabilities found and any recommendations for improving the security of the web application.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
&lt;br /&gt;
== Used Software ==&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11553</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11553"/>
		<updated>2023-02-28T21:55:13Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Used Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
=== Burp Suite  ===&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
=== Ettercap ===&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
== Pentesting with OWASP ZAP, Burp Suite and Ettercap ==&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
Ettercap is primarily designed for network traffic analysis and interception, but here are the general steps to follow in order to be able to use Ettercap for web application penetration testing:&lt;br /&gt;
* Set up a testing environment: Set up a testing environment that simulates the target web application&#039;s environment as closely as possible. This can include a web server, application server, and database server.&lt;br /&gt;
* Configure Ettercap: Configure Ettercap to intercept web traffic between the client and server. You can use the &amp;quot;Unified Sniffing&amp;quot; option to capture all traffic or use the &amp;quot;Selective Sniffing&amp;quot; option to filter out unwanted traffic.&lt;br /&gt;
* Identify the target: Use Ettercap to identify the target web application by analyzing the intercepted traffic. Look for requests and responses that include the web application&#039;s domain or IP address.&lt;br /&gt;
* Analyze the traffic: Use Ettercap&#039;s built-in packet analyzer or a separate tool like Wireshark to analyze the intercepted traffic. Look for vulnerabilities such as SQL injection, cross-site scripting (XSS), and session hijacking.&lt;br /&gt;
* Exploit vulnerabilities: Use the information you have gathered from the traffic analysis to exploit vulnerabilities in the web application. This can include using tools like SQLmap for SQL injection or XSStrike for cross-site scripting.&lt;br /&gt;
* Document the findings: Documenting findings in a detailed report include the steps, the vulnerabilities found and any recommendations for improving the security of the web application.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11552</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11552"/>
		<updated>2023-02-28T21:54:55Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Pentesting with OWASP ZAP, Burp Suite and Ettercap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
=== Burp Suite  ===&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
=== Ettercap ===&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
== Pentesting with OWASP ZAP, Burp Suite and Ettercap ==&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
Ettercap is primarily designed for network traffic analysis and interception, but here are the general steps to follow in order to be able to use Ettercap for web application penetration testing:&lt;br /&gt;
* Set up a testing environment: Set up a testing environment that simulates the target web application&#039;s environment as closely as possible. This can include a web server, application server, and database server.&lt;br /&gt;
* Configure Ettercap: Configure Ettercap to intercept web traffic between the client and server. You can use the &amp;quot;Unified Sniffing&amp;quot; option to capture all traffic or use the &amp;quot;Selective Sniffing&amp;quot; option to filter out unwanted traffic.&lt;br /&gt;
* Identify the target: Use Ettercap to identify the target web application by analyzing the intercepted traffic. Look for requests and responses that include the web application&#039;s domain or IP address.&lt;br /&gt;
* Analyze the traffic: Use Ettercap&#039;s built-in packet analyzer or a separate tool like Wireshark to analyze the intercepted traffic. Look for vulnerabilities such as SQL injection, cross-site scripting (XSS), and session hijacking.&lt;br /&gt;
* Exploit vulnerabilities: Use the information you have gathered from the traffic analysis to exploit vulnerabilities in the web application. This can include using tools like SQLmap for SQL injection or XSStrike for cross-site scripting.&lt;br /&gt;
* Document the findings: Documenting findings in a detailed report include the steps, the vulnerabilities found and any recommendations for improving the security of the web application.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11551</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11551"/>
		<updated>2023-02-28T21:54:01Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Pentesting with OWASP ZAP, Burp Suite and Ettercap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
=== Burp Suite  ===&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
=== Ettercap ===&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
== Pentesting with OWASP ZAP, Burp Suite and Ettercap ==&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
Ettercap is primarily designed for network traffic analysis and interception, but here are the general steps to follow in order to be able to use Ettercap for web application penetration testing:&lt;br /&gt;
* Set up a testing environment: Set up a testing environment that simulates the target web application&#039;s environment as closely as possible. This can include a web server, application server, and database server.&lt;br /&gt;
* Configure Ettercap: Configure Ettercap to intercept web traffic between the client and server. You can use the &amp;quot;Unified Sniffing&amp;quot; option to capture all traffic or use the &amp;quot;Selective Sniffing&amp;quot; option to filter out unwanted traffic.&lt;br /&gt;
* Identify the target: Use Ettercap to identify the target web application by analyzing the intercepted traffic. Look for requests and responses that include the web application&#039;s domain or IP address.&lt;br /&gt;
all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Analyze the traffic: Use Ettercap&#039;s built-in packet analyzer or a separate tool like Wireshark to analyze the intercepted traffic. Look for vulnerabilities such as SQL injection, cross-site scripting (XSS), and session hijacking.&lt;br /&gt;
all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Exploit vulnerabilities: Use the information you have gathered from the traffic analysis to exploit vulnerabilities in the web application. This can include using tools like SQLmap for SQL injection or XSStrike for cross-site scripting.&lt;br /&gt;
all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Document the findings: Documenting findings in a detailed report include the steps, the vulnerabilities found and any recommendations for improving the security of the web application.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11550</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11550"/>
		<updated>2023-02-28T21:43:58Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Ettercap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
=== Burp Suite  ===&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
=== Ettercap ===&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11549</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11549"/>
		<updated>2023-02-28T21:43:48Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Burp Suite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
=== Burp Suite  ===&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
== Ettercap ==&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11548</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11548"/>
		<updated>2023-02-28T21:43:33Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* OWASP ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP ===&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
== Burp Suite  ==&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
== Ettercap ==&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11547</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11547"/>
		<updated>2023-02-28T21:42:34Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
== Burp Suite  ==&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
== Ettercap ==&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11546</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11546"/>
		<updated>2023-02-28T21:41:55Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
== Burp Suite  ==&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
== Ettercap ==&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11545</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11545"/>
		<updated>2023-02-28T21:41:12Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
== Burp Suite  ==&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
== Ettercap ==&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11544</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11544"/>
		<updated>2023-02-28T21:40:12Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Pentesting with OWASP ZAP, Burp Suite and Ettercap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary === &lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
== Burp Suite  ==&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
== Ettercap ==&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application: The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11543</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11543"/>
		<updated>2023-02-28T21:39:33Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Pentesting with OWASP ZAP, Burp Suite and Ettercap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary === &lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
== Burp Suite  ==&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
== Ettercap ==&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11542</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11542"/>
		<updated>2023-02-28T21:38:20Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Ettercap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary === &lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
== Burp Suite  ==&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
== Ettercap ==&lt;br /&gt;
Ettercap is a commonly used open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11541</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11541"/>
		<updated>2023-02-28T21:37:57Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Burp Suite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary === &lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
== Burp Suite  ==&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
== Ettercap ==&lt;br /&gt;
Ettercap is a popular open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11540</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11540"/>
		<updated>2023-02-28T21:37:36Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* OWASP ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary === &lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
* Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
* Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
== Burp Suite  ==&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
== Ettercap ==&lt;br /&gt;
Ettercap is a popular open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11539</id>
		<title>Web Application Pentesting: OWASP ZAP, Burp Suite, and Ettercap</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Web_Application_Pentesting:_OWASP_ZAP,_Burp_Suite,_and_Ettercap&amp;diff=11539"/>
		<updated>2023-02-28T21:36:43Z</updated>

		<summary type="html">&lt;p&gt;BAras: Created page with &amp;quot;=== Summary ===  The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications. Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary === &lt;br /&gt;
The process of evaluating the security of a system or network by simulating an attack is known as penetration testing. Burp Suite, OWASP ZAP, and Ettercap are penetration testing applications.&lt;br /&gt;
Burp Suite is a commonly used tool for web application testing that includes an intercepting proxy, a web application scanner, and various other tools such as intruder, and repeater. It enables testers to detect and exploit web application vulnerabilities, such as cross-site scripting (XSS), SQL injection, and file inclusion.&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a free and open-source web application testing utility. It consists of automated analyzers, a proxy, and reporting tools to aid in the identification of vulnerabilities. OWASP ZAP is especially helpful for discovering authentication and session management vulnerabilities.&lt;br /&gt;
Ettercap is a network analysis application that permits testers to manipulate and intercept network traffic. It can be used for man-in-the-middle attacks, password sniffing, and injecting malicious code into traffic. Ettercap is especially helpful for assessing the security of wired networks.&lt;br /&gt;
For penetration testing, Burp Suite, OWASP ZAP, and Ettercap are widely used tools. Each tool has its own strengths and limitations, and the choice of tool is dependent on the test&#039;s particular requirements. Nevertheless, all three instruments are extensively employed in the security community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
&lt;br /&gt;
Penetration testing, also known as pen testing or ethical hacking, is a method for evaluating the security of computer systems, networks, or applications by simulating an attack against them. The objective of penetration testing is to identify system vulnerabilities prior to their exploitation.&lt;br /&gt;
Typically, penetration testing consists of multiple stages, including reconnaissance, information gathering, vulnerability analysis, exploitation, and post-exploitation and reporting. During the reconnaissance phase, the tester collects data about the target system, including its IP address, operating system, and accessible ports. The information-gathering stage involves collecting as much information as possible about the target system or network. This information can be used to identify potential vulnerabilities and attack vectors that can be exploited during later stages of the testing process. During the vulnerability analysis phase, the tester employs a variety of tools to identify system vulnerabilities, such as missing patches, weak passwords, and misconfigured servers. During the exploitation phase, the tester attempts to exploit the system&#039;s identified vulnerabilities to obtain access to sensitive data or control of the system. During the post-exploitation phase, the tester evaluates the access degree and potential damage caused by the exploit. The reporting phase of a penetration testing engagement involves documenting the results of the testing process and presenting them to the client.&lt;br /&gt;
Manually, automatically, or using a combination of both, penetration testing can be conducted. The test results are documented in a report that includes information about the vulnerabilities discovered, their severity, and remediation recommendations.&lt;br /&gt;
Overall, penetration testing is a crucial component of any comprehensive security program because it enables organizations to identify vulnerabilities and remediate them prior to their exploitation by adversaries.&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
OWASP ZAP (Zed Attack Proxy) is a commonly used open-source web application security testing utility that offers a variety of features and functionalities to help identify and mitigate web application vulnerabilities. Among the most important features of the OWASP ZAP scanner are:&lt;br /&gt;
Spidering: OWASP ZAP includes a powerful spidering utility that examines the web application, identifies all available URLs, and creates a structure map of the application.&lt;br /&gt;
Active Scanning: OWASP ZAP includes an active scanning engine that automatically tests web applications for common vulnerabilities such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
Passive Scanning: OWASP ZAP also supports passive scanning, which is the analysis of web application traffic without user interaction. This can assist in discovering vulnerabilities that may have been ignored during active scanning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Burp Suite  ==&lt;br /&gt;
Burp Suite is a comprehensive web application security testing tool that offers a variety of features for identifying and exploiting web application vulnerabilities. Among the essential features of Burp Suite are:&lt;br /&gt;
* Intercepting Proxy: Burp Suite includes an intercepting proxy that allows testers to intercept and modify requests and responses between the client and server, enabling them to test for various security vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
Web Application Scanner: Burp Suite&#039;s web application scanner automates the process of testing for common web application vulnerabilities, such as injection flaws, access control issues, and information disclosure.&lt;br /&gt;
* Target Analyzer: Burp Suite&#039;s target analyzer automatically maps the application&#039;s structure, identifying the various pages, links, and parameters. This helps testers better understand the application and target their testing efforts more efficiently.&lt;br /&gt;
* Intruder: Burp Suite&#039;s intruder is a tool for testing the input validation mechanisms of web applications. It can be used to perform brute-force attacks, fuzzing, and other types of attacks on web application input fields.&lt;br /&gt;
* Repeater: Burp Suite&#039;s repeater is a utility that allows testers to manually modify and resend requests and responses to the web application, enabling them to test for various security vulnerabilities, such as XSS (Cross-Site Scripting) and CSRF(Cross-Site Request Forgery).&lt;br /&gt;
&lt;br /&gt;
== Ettercap ==&lt;br /&gt;
Ettercap is a popular open-source tool used for network analysis and security testing. Some of the key functionalities of Ettercap include:&lt;br /&gt;
* Man-in-the-middle Attacks: Ettercap allows testers to perform various man-in-the-middle (MITM) attacks on the network, intercepting and manipulating network traffic between hosts. This can help identify security vulnerabilities and test the effectiveness of security controls.&lt;br /&gt;
* Protocol Analysis: Ettercap can analyze and decode various network protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ARP (Address Resolution Protocol), and ICMP (Internet Control Message Protocol), allowing testers to identify anomalies and potential security threats.&lt;br /&gt;
* Passive Network Scanning: Ettercap can passively scan the network and identify hosts, services, and open ports, enabling testers to map out the network and identify potential vulnerabilities.&lt;br /&gt;
* Active Network Scanning: Ettercap can perform active network scanning and fingerprinting, identifying the operating system, services, and vulnerabilities of hosts on the network.&lt;br /&gt;
* DNS Spoofing: Ettercap allows testers to perform DNS spoofing attacks, redirecting DNS requests to a rogue DNS server, enabling attackers to intercept and manipulate network traffic.&lt;br /&gt;
* Password Sniffing: Ettercap can capture and analyze passwords in plaintext and hashed format, enabling testers to identify weak passwords and test the effectiveness of password policies.&lt;br /&gt;
&lt;br /&gt;
=== Pentesting with OWASP ZAP, Burp Suite and Ettercap ===&lt;br /&gt;
Pentesting web applications with the OWASP ZAP scanner typically involves the following steps:&lt;br /&gt;
* Configure OWASP ZAP: The initial stage involves configuring OWASP ZAP to function with the web application. Setting up the target URL (Uniform Resource Locator) and proxy configurations may be required.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. Utilizing ZAP&#039;s spider utility to explore the application and identify all of its pages and inputs is required. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: The next stage, after mapping the application, is to identify and exploit vulnerabilities. ZAP offers a number of tools, including the scanner and the active scanner, which can be used to identify common web application vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion vulnerabilities.&lt;br /&gt;
* Analyze the Results: After vulnerability assessments have been performed, ZAP provides a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Validate: Once the vulnerabilities have been verified, it is crucial to confirm that the remedies were effective. ZAP can be used to rescan the application to confirm that the vulnerabilities have been remedied successfully.&lt;br /&gt;
Pentesting web applications with Burp Suite typically involves the following steps:&lt;br /&gt;
* Configure Burp Suite: The first stage is to configure Burp Suite to interact with the web application. This may involve configuring the proxy settings, establishing the scope of the target, and installing any required extensions.&lt;br /&gt;
* Discover and Map the Web Application The following stage involves discovering and mapping the web application. This entails using the spider tool in Burp Suite to explore the application and identify all of its pages and inputs. This will aid in developing an exhaustive understanding of the application&#039;s structure.&lt;br /&gt;
* Identify and Exploit Vulnerabilities: Following the mapping of the application, the next stage is to identify and exploit vulnerabilities. Burp Suite provides various tools, such as the scanner and the intruder, that can be utilized to identify typical website vulnerabilities, such as SQL injection, cross-site scripting (XSS), and file inclusion.&lt;br /&gt;
* Analyze the Results: Following the execution of vulnerability assessments, Burp Suite generates a comprehensive report of the findings. The report details the discovered vulnerabilities, their severity, and potential remediation steps.&lt;br /&gt;
* Verify: Once the vulnerabilities have been remedied, it is essential to confirm that the remedies were effective. Burp Suite can be used to re-scan the application to verify that the vulnerabilities have been effectively patched.&lt;br /&gt;
&lt;br /&gt;
=== Used Hardware ===&lt;br /&gt;
&lt;br /&gt;
Notebook&lt;br /&gt;
=== Used Software ===&lt;br /&gt;
&lt;br /&gt;
Operating system: Ubuntu/Kali Linux&lt;br /&gt;
VMWare Workstation&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
Pentesting web applications is an essential step in ensuring the security of modern-day software systems. OWASP ZAP Scanner, Burpsuite, and Ettercap are three widely used tools for performing web application penetration testing.&lt;br /&gt;
OWASP ZAP Scanner provides a comprehensive and intuitive user interface for identifying common web application vulnerabilities such as SQL injection, cross-site scripting, and file inclusion vulnerabilities. It also provides a range of automated tools for detecting and exploiting these vulnerabilities.&lt;br /&gt;
Burpsuite is a widely used web application proxy that offers a wide range of features and tools for identifying vulnerabilities and analyzing web traffic. It offers a comprehensive set of tools for identifying and exploiting web application vulnerabilities and offers detailed reporting and analysis features.&lt;br /&gt;
Ettercap is a tool that focuses on network traffic analysis and manipulation, and it can be used to perform a range of security-related tasks, including intercepting and modifying network traffic and performing ARP spoofing attacks.&lt;br /&gt;
Overall, using a combination of these tools provides a comprehensive and effective approach to web application pentesting. It is essential to regularly repeat the pentesting process to ensure that the application remains secure as new vulnerabilities may arise over time. Ultimately, by using these tools, developers can identify and fix vulnerabilities before attackers can exploit them, helping to ensure the security and reliability of web applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* https://www.apachefriends.org/de/download.html&lt;br /&gt;
* https://www.kali.org/get-kali/&lt;br /&gt;
* https://www.zaproxy.org/&lt;br /&gt;
* https://portswigger.net/burp&lt;br /&gt;
* https://www.ettercap-project.org/&lt;br /&gt;
* https://customerconnect.vmware.com/de/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/16_0&lt;br /&gt;
* https://www.vmware.com/at/products/workstation-pro/workstation-pro-evaluation.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10665</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10665"/>
		<updated>2023-01-06T16:42:52Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence on changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
For instance, typically there are no security measures or checks performed inside the kernel, all kernel components are explicitly trusted, and there are no procedures that separate one element of the kernel from other parts of the kernel. As a result, kernels often do not defend themselves. If the operating system has a security flaw, anyone who is able to exploit it, can take total control of the machine by employing the right software programs. It is challenging to create self-protecting kernels, and performance is frequently severely sacrificed.&lt;br /&gt;
Nevertheless, both, Linux and Windows operating systems have their advantages and disadvantages and this article gives an overview of available hardening mechanisms both Linux and Windows operating systems, since both play a significant role in daily living.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users who are lazy are also getting the updates that they need.&lt;br /&gt;
&lt;br /&gt;
== Security Baselining == &lt;br /&gt;
&lt;br /&gt;
Security baselining is the method of putting a minimal set of guidelines in place and configurations for the environment e.g. establishing a minimal Windows device setup [Dun20].&lt;br /&gt;
The creation of a baseline offers a minimally defined norm that will assist in assuring a better secure environment if the organisation or the organisational institution deploys systems and devices.&lt;br /&gt;
Baselines can range from checklists or spreadsheets that someone uses to ensure sure the predetermined security controls have been implemented to a taken snapshot or picture that is already preloaded with the predefined security rules, depending on the size of your business.&lt;br /&gt;
An aspect of the baseline, it is important to confirm that policies, standards, and processes are in place, are clearly defined, and have received the approval of the leadership and all other stakeholders who are responsible for e.g. data protection. It is essential to have these specified for security, compliance, and auditing reasons. To begin, policies for the firm are to be established and defined. The baselines are then to be constructed using the standards as the framework.&lt;br /&gt;
&lt;br /&gt;
== Security Policies, Standards and Procedures==&lt;br /&gt;
After these baselines are established, policies and procedures is to be developed to apply the baselines and support the achievement of the ultimate result. In the long run, deploying baselines without clear policies, procedures, and a framework is not presumed as effective and leaves the business open to risk.&lt;br /&gt;
Additionally, having these foundations in place provides a platform with ensuring leadership participation and sign-off, which sends a consistent message to the company about the significance of each associate in its success.[Dun20]&lt;br /&gt;
It is strongly advised to start with the fundamentals if the business does not already have any rules in place that pertain to, for example, Windows security. In order to protect the devices, at the very least, the following few examples are to be mentioned in a policy [Dun20]:&lt;br /&gt;
* Security updates&lt;br /&gt;
* Firewall&lt;br /&gt;
* Encryption&lt;br /&gt;
* A password policy, multi-factor authentification (MFA) and biometrics&lt;br /&gt;
&lt;br /&gt;
A policy that demands that all systems be maintained up to date with the most recent security updates is an example.&lt;br /&gt;
Policies are followed by standards, which are obligatory and describe the specifics of each policy. In addition to providing details on the technology to be used, standards help maintain consistency within an organization.&lt;br /&gt;
A few examples of standards regarding windows servers for the proposed elements described in the preceding section include the following [Dun20]:&lt;br /&gt;
* Windows Update for Business is to be used to setup all Windows 10 computers, while Windows Servers use either Windows Server Update Services (WSUS) or Azure Update Management. The business use case will specify and store update&lt;br /&gt;
schedules.&lt;br /&gt;
* On all Windows end-user devices and servers, the Windows firewall is to activate and set up. The connection requirements are to be defined.&lt;br /&gt;
* Using BitLocker and/or Azure Disk Encryption, all Windows servers and end-user workstations are to be encrypted. &lt;br /&gt;
* PINs and Windows Hello biometrics are to install, and accounts require utilizing passwords with a minimum of 12 characters. Passwords requisite updates yearly and contain capital, lowercase, number, and special characters&lt;br /&gt;
The detailed instructions including a step-by-step guidance required to complete a repetitive operation or process are known as procedures. These collections or set of guidances are meant to help with the implementation of the stated policies, standards, and as well as guidelines to achieve a specific aim.&lt;br /&gt;
Procedures require updates periodically as technology and software versions advance. A third-party tool is also an option with the aim of being more organized and completing procedures. One instance is a program called Nintex Promapp [Pro], which aids in documenting and sharing your company’s procedures [Dun20].&lt;br /&gt;
&lt;br /&gt;
The following four steps are an illustration of a procedure:&lt;br /&gt;
# Set up a new Windows 10 device.&lt;br /&gt;
# Verify that the device is provided with internet connection.&lt;br /&gt;
# Verify the configurations of the device, the device setups, and so on.&lt;br /&gt;
# Verify the device’s compliance.&lt;br /&gt;
The following figure shows an overview of policies, standards, procedures and baselines and how they are linked to one another [Dun20]:&lt;br /&gt;
&lt;br /&gt;
[[File:Baselining.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
== Linux Hardening ==&lt;br /&gt;
&lt;br /&gt;
The Linux kernel and operating system are also complicated and difficult to setup. In reality, Linux systems are incredibly adaptable, and even little configuration adjustments can have a big impact on security. As a result, not all security exposures and vulnerabilities are immediately apparent, and failing to consider the overall effects of modifying configuration items might result in unintended exposures.&lt;br /&gt;
Additionally, security in Linux systems is dynamic. The system is not always secure once it has been secured. It is true that a system loses security the longer it is in use.&lt;br /&gt;
This occurs as a result of operational or functional changes that expose systems to risks or as a result of new vulnerabilities being found in software packages and applications. The process of system security is continuous and active [At22].&lt;br /&gt;
Finally, many distributions provide a suggested default set of packages, programs, and settings when they are bundled or setup. This setting often depends on the author or vendor knowing what the distribution&#039;s end user needs.&lt;br /&gt;
For example, Red Hat is preconfigured to utilize Pluggable Authentication Modules (or PAM) for a number of authentication procedures, which is generally advantageous and improves the potential security of the system. However, occasionally this preconfiguration introduces security flaws or is not well thought out in terms of security.&lt;br /&gt;
&lt;br /&gt;
== Existing Tools and Limitations ==&lt;br /&gt;
System administrators and security teams can record actions carried out, for example, on a Linux system and send them to a central place for storage and analytics, relying to a rather limited set of open source tools.&lt;br /&gt;
Linux system logs: By default, Linux systems record all system activity for debugging purposes rather than necessarily to help future security investigations.&lt;br /&gt;
The following logs are provided on Linux systems to assist users to comprehend the various types of operations taking place.&lt;br /&gt;
* Syslog and messages : global system activity, including startup messages.&lt;br /&gt;
* Auth.log and secure : Security modules like PAM (Pluggable Authentication Module).&lt;br /&gt;
* Kern.log : kernel events, errors and warning logs.&lt;br /&gt;
* Cron : information about running cron jobs.&lt;br /&gt;
* Application specific logs : example /var/log/apache for web server logs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Logs from the auditing daemon Auditd provide for verbose logging and even the recording of individual syscall usages by the system administrator. Numerous configuration factors, both at the operating system level and the application level, are required for the Linux operating system to be secure.&lt;br /&gt;
&lt;br /&gt;
== Windows Hardening ==&lt;br /&gt;
&lt;br /&gt;
Misconfigurations weaken a system&#039;s security by creating vulnerabilities that are frequently hard to find. According to a recent research [CDF18], ignorance  and lack of knowledge are the main causes of security misconfigurations from the operators&#039; point of view. Utilizing already-existing security-configuration manuals is one method for overcoming the lack of knowledge. Each rule describes why it should be used and what parameter should be changed to increase system security, as shown in the following figure [SGP20]:&lt;br /&gt;
[[File:rule.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
== Windows Security Baselines ==&lt;br /&gt;
Microsoft includes suggested settings for hardening Windows systems in its service offerings for Windows security baselines.&lt;br /&gt;
The following are considered by the Windows security baselines &lt;br /&gt;
# Windows 10&lt;br /&gt;
# Windows Server&lt;br /&gt;
# Office 365 ProPlus&lt;br /&gt;
&lt;br /&gt;
There are more than 3,000 GPO settings for Windows 10 and more than 1,800 for Internet Explorer 11 to offer a better understanding of the complexity of securing Windows.&lt;br /&gt;
This demonstrates the necessity of utilizing specified baselines to aid harden Windows devices.The following list of Microsoft tools are the ones that are most frequently used&lt;br /&gt;
to implement these baselines [Dun20]:&lt;br /&gt;
# Microsoft Intune&lt;br /&gt;
# GPOs&lt;br /&gt;
# Microsoft Endpoint or System Center Configuration Manager&lt;br /&gt;
&lt;br /&gt;
== Implementing a Baseline - CIS ==&lt;br /&gt;
Once the organization has preferred which baseline controls to implement, it is required to analyze the controls, deploy them throughout the whole organization, and integrate them into the ongoing process. Moving forward with Center for Internet Security (CIS) benchmark [fIS22], it is necessary to download and modify according to the organisation’s requirements and needs. To make deployment simpler, CIS can also&lt;br /&gt;
choose to purchase hardened images. The procedures below must be taken in order to download the most recent CIS benchmarks [Dun20]:&lt;br /&gt;
&lt;br /&gt;
# Open a browser and navigate to https://www.cisecurity.org/.&lt;br /&gt;
# Click on Cybersecurity Tools.&lt;br /&gt;
# Click on Download under CIS Benchmarks.&lt;br /&gt;
# Enter the required information, agree to the terms, then click on Get Free Benchmarks Now.&lt;br /&gt;
# Go to your mailbox and look for an email from CIS (check your Junk email folder too).&lt;br /&gt;
# Open the email and click on Access PDFs. You will be provided with a list of all the available CIS benchmarks in PDF format.&lt;br /&gt;
# Scroll down and you will see the Windows Server benchmarks.&lt;br /&gt;
# Keep scrolling down and you will also see the Azure benchmarks.&lt;br /&gt;
# In addition, there are many more Windows-specific benchmarks for specific roles, such as IIS, SQL, Exchange, and so on.&lt;br /&gt;
# Once you have downloaded the PDFs, follow and implement the recommendations on them to strengthen your systems.&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that the examination takes a long time to conduct and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
* [Dun20] Mark Dunkerley. Mastering Windows Security and Hardening. Packt Publishing, 2020.&lt;br /&gt;
* [Pro] Promapp. Business process management - www.nintex.com. Accessed: 2022-11-07&lt;br /&gt;
* [At22] Cybersecurity Researchers At. Linux devices ’increasingly’ under attack from hackers, warn security researchers — zdnet. Cybersecurity Researchers, 2022.&lt;br /&gt;
* [CDF18] Kevin Borgolte Constanze Dietrich, Katharina Krombholz and Tobias Fiebig. Investigating system operators’ perspective on security misconfigurations. In Proceedings of the 2018 ACM SIGSAC Conference on Computerand Communications Security, 2018.&lt;br /&gt;
* [SGP20] Patrick St ̈ockle, Bernd Grobauer, and Alexander Pretschner. Automated implementation of windows-related security-configuration guides. In 2020, 35th IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 598–610, 2020.&lt;br /&gt;
* [fIS22] CIS Center for Internet Security. Our mission is to develop and promote timely best practice solutions, www.cisecurity.org. CIS, 2022. accessed: 2022-11-19.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10664</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10664"/>
		<updated>2023-01-06T16:32:00Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence on changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
For instance, typically there are no security measures or checks performed inside the kernel, all kernel components are explicitly trusted, and there are no procedures that separate one element of the kernel from other parts of the kernel. As a result, kernels often do not defend themselves. If the operating system has a security flaw, anyone who is able to exploit it, can take total control of the machine by employing the right software programs. It is challenging to create self-protecting kernels, and performance is frequently severely sacrificed.&lt;br /&gt;
Nevertheless, both, Linux and Windows operating systems have their advantages and disadvantages and this article gives an overview of available hardening mechanisms both Linux and Windows operating systems, since both play a significant role in daily living.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users who are lazy are also getting the updates that they need.&lt;br /&gt;
&lt;br /&gt;
== Security Baselining == &lt;br /&gt;
&lt;br /&gt;
Security baselining is the method of putting a minimal set of guidelines in place and configurations for the environment e.g. establishing a minimal Windows device setup [Dun20].&lt;br /&gt;
The creation of a baseline offers a minimally defined norm that will assist in assuring a better secure environment if the organisation or the organisational institution deploys systems and devices.&lt;br /&gt;
Baselines can range from checklists or spreadsheets that someone uses to ensure sure the predetermined security controls have been implemented to a taken snapshot or picture that is already preloaded with the predefined security rules, depending on the size of your business.&lt;br /&gt;
An aspect of the baseline, it is important to confirm that policies, standards, and processes are in place, are clearly defined, and have received the approval of the leadership and all other stakeholders who are responsible for e.g. data protection. It is essential to have these specified for security, compliance, and auditing reasons. To begin, policies for the firm are to be established and defined. The baselines are then to be constructed using the standards as the framework.&lt;br /&gt;
&lt;br /&gt;
== Security Policies, Standards and Procedures==&lt;br /&gt;
After these baselines are established, policies and procedures is to be developed to apply the baselines and support the achievement of the ultimate result. In the long run, deploying baselines without clear policies, procedures, and a framework is not presumed as effective and leaves the business open to risk.&lt;br /&gt;
Additionally, having these foundations in place provides a platform with ensuring leadership participation and sign-off, which sends a consistent message to the company about the significance of each associate in its success.[Dun20]&lt;br /&gt;
It is strongly advised to start with the fundamentals if the business does not already have any rules in place that pertain to, for example, Windows security. In order to protect the devices, at the very least, the following few examples are to be mentioned in a policy [Dun20]:&lt;br /&gt;
* Security updates&lt;br /&gt;
* Firewall&lt;br /&gt;
* Encryption&lt;br /&gt;
* A password policy, multi-factor authentification (MFA) and biometrics&lt;br /&gt;
&lt;br /&gt;
A policy that demands that all systems be maintained up to date with the most recent security updates is an example.&lt;br /&gt;
Policies are followed by standards, which are obligatory and describe the specifics of each policy. In addition to providing details on the technology to be used, standards help maintain consistency within an organization.&lt;br /&gt;
A few examples of standards regarding windows servers for the proposed elements described in the preceding section include the following [Dun20]:&lt;br /&gt;
* Windows Update for Business is to be used to setup all Windows 10 computers, while Windows Servers use either Windows Server Update Services (WSUS) or Azure Update Management. The business use case will specify and store update&lt;br /&gt;
schedules.&lt;br /&gt;
* On all Windows end-user devices and servers, the Windows firewall is to activate and set up. The connection requirements are to be defined.&lt;br /&gt;
* Using BitLocker and/or Azure Disk Encryption, all Windows servers and end-user workstations are to be encrypted. &lt;br /&gt;
* PINs and Windows Hello biometrics are to install, and accounts require utilizing passwords with a minimum of 12 characters. Passwords requisite updates yearly and contain capital, lowercase, number, and special characters&lt;br /&gt;
The detailed instructions including a step-by-step guidance required to complete a repetitive operation or process are known as procedures. These collections or set of guidances are meant to help with the implementation of the stated policies, standards, and as well as guidelines to achieve a specific aim.&lt;br /&gt;
Procedures require updates periodically as technology and software versions advance. A third-party tool is also an option with the aim of being more organized and completing procedures. One instance is a program called Nintex Promapp [Pro], which aids in documenting and sharing your company’s procedures [Dun20].&lt;br /&gt;
&lt;br /&gt;
The following four steps are an illustration of a procedure:&lt;br /&gt;
# Set up a new Windows 10 device.&lt;br /&gt;
# Verify that the device is provided with internet connection.&lt;br /&gt;
# Verify the configurations of the device, the device setups, and so on.&lt;br /&gt;
# Verify the device’s compliance.&lt;br /&gt;
The following figure shows an overview of policies, standards, procedures and baselines and how they are linked to one another [Dun20]:&lt;br /&gt;
&lt;br /&gt;
[[File:Baselining.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
== Linux Hardening ==&lt;br /&gt;
&lt;br /&gt;
The Linux kernel and operating system are also complicated and difficult to setup. In reality, Linux systems are incredibly adaptable, and even little configuration adjustments can have a big impact on security. As a result, not all security exposures and vulnerabilities are immediately apparent, and failing to consider the overall effects of modifying configuration items might result in unintended exposures.&lt;br /&gt;
Additionally, security in Linux systems is dynamic. The system is not always secure once it has been secured. It is true that a system loses security the longer it is in use.&lt;br /&gt;
This occurs as a result of operational or functional changes that expose systems to risks or as a result of new vulnerabilities being found in software packages and applications. The process of system security is continuous and active [At22].&lt;br /&gt;
Finally, many distributions provide a suggested default set of packages, programs, and settings when they are bundled or setup. This setting often depends on the author or vendor knowing what the distribution&#039;s end user needs.&lt;br /&gt;
For example, Red Hat is preconfigured to utilize Pluggable Authentication Modules (or PAM) for a number of authentication procedures, which is generally advantageous and improves the potential security of the system. However, occasionally this preconfiguration introduces security flaws or is not well thought out in terms of security.&lt;br /&gt;
&lt;br /&gt;
== Existing Tools and Limitations ==&lt;br /&gt;
System administrators and security teams can record actions carried out, for example, on a Linux system and send them to a central place for storage and analytics, relying to a rather limited set of open source tools.&lt;br /&gt;
Linux system logs: By default, Linux systems record all system activity for debugging purposes rather than necessarily to help future security investigations.&lt;br /&gt;
The following logs are provided on Linux systems to assist users to comprehend the various types of operations taking place.&lt;br /&gt;
* Syslog and messages : global system activity, including startup messages.&lt;br /&gt;
* Auth.log and secure : Security modules like PAM (Pluggable Authentication Module).&lt;br /&gt;
* Kern.log : kernel events, errors and warning logs.&lt;br /&gt;
* Cron : information about running cron jobs.&lt;br /&gt;
* Application specific logs : example /var/log/apache for web server logs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Logs from the auditing daemon Auditd provide for verbose logging and even the recording of individual syscall usages by the system administrator. Numerous configuration factors, both at the operating system level and the application level, are required for the Linux operating system to be secure.&lt;br /&gt;
&lt;br /&gt;
== Windows Hardening ==&lt;br /&gt;
&lt;br /&gt;
Misconfigurations weaken a system&#039;s security by creating vulnerabilities that are frequently hard to find. According to a recent research [CDF18], ignorance  and lack of knowledge are the main causes of security misconfigurations from the operators&#039; point of view. Utilizing already-existing security-configuration manuals is one method for overcoming the lack of knowledge. Each rule describes why it should be used and what parameter should be changed to increase system security, as shown in the following figure [SGP20]:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:rule.PNG|600px]]&lt;br /&gt;
An illustration of a rule from a security configuration manual for Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that the examination takes a long time to conduct and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
* [Dun20] Mark Dunkerley. Mastering Windows Security and Hardening. Packt Publishing, 2020.&lt;br /&gt;
* [Pro] Promapp. Business process management - www.nintex.com. Accessed: 2022-11-07&lt;br /&gt;
* [At22] Cybersecurity Researchers At. Linux devices ’increasingly’ under attack from hackers, warn security researchers — zdnet. Cybersecurity Researchers, 2022.&lt;br /&gt;
* [CDF18] Kevin Borgolte Constanze Dietrich, Katharina Krombholz and Tobias Fiebig. Investigating system operators’ perspective on security misconfigurations. In Proceedings of the 2018 ACM SIGSAC Conference on Computerand Communications Security, 2018.&lt;br /&gt;
* [SGP20] Patrick St ̈ockle, Bernd Grobauer, and Alexander Pretschner. Automated implementation of windows-related security-configuration guides. In 2020, 35th IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 598–610, 2020.&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Rule.PNG&amp;diff=10663</id>
		<title>File:Rule.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Rule.PNG&amp;diff=10663"/>
		<updated>2023-01-06T16:30:16Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10662</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10662"/>
		<updated>2023-01-06T16:25:48Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence on changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
For instance, typically there are no security measures or checks performed inside the kernel, all kernel components are explicitly trusted, and there are no procedures that separate one element of the kernel from other parts of the kernel. As a result, kernels often do not defend themselves. If the operating system has a security flaw, anyone who is able to exploit it, can take total control of the machine by employing the right software programs. It is challenging to create self-protecting kernels, and performance is frequently severely sacrificed.&lt;br /&gt;
Nevertheless, both, Linux and Windows operating systems have their advantages and disadvantages and this article gives an overview of available hardening mechanisms both Linux and Windows operating systems, since both play a significant role in daily living.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users who are lazy are also getting the updates that they need.&lt;br /&gt;
&lt;br /&gt;
== Security Baselining == &lt;br /&gt;
&lt;br /&gt;
Security baselining is the method of putting a minimal set of guidelines in place and configurations for the environment e.g. establishing a minimal Windows device setup [Dun20].&lt;br /&gt;
The creation of a baseline offers a minimally defined norm that will assist in assuring a better secure environment if the organisation or the organisational institution deploys systems and devices.&lt;br /&gt;
Baselines can range from checklists or spreadsheets that someone uses to ensure sure the predetermined security controls have been implemented to a taken snapshot or picture that is already preloaded with the predefined security rules, depending on the size of your business.&lt;br /&gt;
An aspect of the baseline, it is important to confirm that policies, standards, and processes are in place, are clearly defined, and have received the approval of the leadership and all other stakeholders who are responsible for e.g. data protection. It is essential to have these specified for security, compliance, and auditing reasons. To begin, policies for the firm are to be established and defined. The baselines are then to be constructed using the standards as the framework.&lt;br /&gt;
&lt;br /&gt;
== Security Policies, Standards and Procedures==&lt;br /&gt;
After these baselines are established, policies and procedures is to be developed to apply the baselines and support the achievement of the ultimate result. In the long run, deploying baselines without clear policies, procedures, and a framework is not presumed as effective and leaves the business open to risk.&lt;br /&gt;
Additionally, having these foundations in place provides a platform with ensuring leadership participation and sign-off, which sends a consistent message to the company about the significance of each associate in its success.[Dun20]&lt;br /&gt;
It is strongly advised to start with the fundamentals if the business does not already have any rules in place that pertain to, for example, Windows security. In order to protect the devices, at the very least, the following few examples are to be mentioned in a policy [Dun20]:&lt;br /&gt;
* Security updates&lt;br /&gt;
* Firewall&lt;br /&gt;
* Encryption&lt;br /&gt;
* A password policy, multi-factor authentification (MFA) and biometrics&lt;br /&gt;
&lt;br /&gt;
A policy that demands that all systems be maintained up to date with the most recent security updates is an example.&lt;br /&gt;
Policies are followed by standards, which are obligatory and describe the specifics of each policy. In addition to providing details on the technology to be used, standards help maintain consistency within an organization.&lt;br /&gt;
A few examples of standards regarding windows servers for the proposed elements described in the preceding section include the following [Dun20]:&lt;br /&gt;
* Windows Update for Business is to be used to setup all Windows 10 computers, while Windows Servers use either Windows Server Update Services (WSUS) or Azure Update Management. The business use case will specify and store update&lt;br /&gt;
schedules.&lt;br /&gt;
* On all Windows end-user devices and servers, the Windows firewall is to activate and set up. The connection requirements are to be defined.&lt;br /&gt;
* Using BitLocker and/or Azure Disk Encryption, all Windows servers and end-user workstations are to be encrypted. &lt;br /&gt;
* PINs and Windows Hello biometrics are to install, and accounts require utilizing passwords with a minimum of 12 characters. Passwords requisite updates yearly and contain capital, lowercase, number, and special characters&lt;br /&gt;
The detailed instructions including a step-by-step guidance required to complete a repetitive operation or process are known as procedures. These collections or set of guidances are meant to help with the implementation of the stated policies, standards, and as well as guidelines to achieve a specific aim.&lt;br /&gt;
Procedures require updates periodically as technology and software versions advance. A third-party tool is also an option with the aim of being more organized and completing procedures. One instance is a program called Nintex Promapp [Pro], which aids in documenting and sharing your company’s procedures [Dun20].&lt;br /&gt;
&lt;br /&gt;
The following four steps are an illustration of a procedure:&lt;br /&gt;
# Set up a new Windows 10 device.&lt;br /&gt;
# Verify that the device is provided with internet connection.&lt;br /&gt;
# Verify the configurations of the device, the device setups, and so on.&lt;br /&gt;
# Verify the device’s compliance.&lt;br /&gt;
The following figure shows an overview of policies, standards, procedures and baselines and how they are linked to one another [Dun20]:&lt;br /&gt;
&lt;br /&gt;
[[File:Baselining.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
== Linux Hardening ==&lt;br /&gt;
&lt;br /&gt;
The Linux kernel and operating system are also complicated and difficult to setup. In reality, Linux systems are incredibly adaptable, and even little configuration adjustments can have a big impact on security. As a result, not all security exposures and vulnerabilities are immediately apparent, and failing to consider the overall effects of modifying configuration items might result in unintended exposures.&lt;br /&gt;
Additionally, security in Linux systems is dynamic. The system is not always secure once it has been secured. It is true that a system loses security the longer it is in use.&lt;br /&gt;
This occurs as a result of operational or functional changes that expose systems to risks or as a result of new vulnerabilities being found in software packages and applications. The process of system security is continuous and active [At22].&lt;br /&gt;
Finally, many distributions provide a suggested default set of packages, programs, and settings when they are bundled or setup. This setting often depends on the author or vendor knowing what the distribution&#039;s end user needs.&lt;br /&gt;
For example, Red Hat is preconfigured to utilize Pluggable Authentication Modules (or PAM) for a number of authentication procedures, which is generally advantageous and improves the potential security of the system. However, occasionally this preconfiguration introduces security flaws or is not well thought out in terms of security.&lt;br /&gt;
&lt;br /&gt;
== Existing Tools and Limitations ==&lt;br /&gt;
System administrators and security teams can record actions carried out, for example, on a Linux system and send them to a central place for storage and analytics, relying to a rather limited set of open source tools.&lt;br /&gt;
Linux system logs: By default, Linux systems record all system activity for debugging purposes rather than necessarily to help future security investigations.&lt;br /&gt;
The following logs are provided on Linux systems to assist users to comprehend the various types of operations taking place.&lt;br /&gt;
* Syslog and messages : global system activity, including startup messages.&lt;br /&gt;
* Auth.log and secure : Security modules like PAM (Pluggable Authentication Module).&lt;br /&gt;
* Kern.log : kernel events, errors and warning logs.&lt;br /&gt;
* Cron : information about running cron jobs.&lt;br /&gt;
* Application specific logs : example /var/log/apache for web server logs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Logs from the auditing daemon Auditd provide for verbose logging and even the recording of individual syscall usages by the system administrator. Numerous configuration factors, both at the operating system level and the application level, are required for the Linux operating system to be secure.&lt;br /&gt;
&lt;br /&gt;
== Windows Hardening ==&lt;br /&gt;
&lt;br /&gt;
Misconfigurations weaken a system&#039;s security by creating vulnerabilities that are frequently hard to find. According to a recent research [CDF18], ignorance  and lack of knowledge are the main causes of security misconfigurations from the operators&#039; point of view. Utilizing already-existing security-configuration manuals is one method for overcoming the lack of knowledge. Each rule describes why it should be used and what parameter should be changed to increase system security, as shown in the following figure [SGP20]:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that the examination takes a long time to conduct and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
* [Dun20] Mark Dunkerley. Mastering Windows Security and Hardening. Packt Publishing, 2020.&lt;br /&gt;
* [Pro] Promapp. Business process management - www.nintex.com. Accessed: 2022-11-07&lt;br /&gt;
* [At22] Cybersecurity Researchers At. Linux devices ’increasingly’ under attack from hackers, warn security researchers — zdnet. Cybersecurity Researchers, 2022.&lt;br /&gt;
* [CDF18] Kevin Borgolte Constanze Dietrich, Katharina Krombholz and Tobias Fiebig. Investigating system operators’ perspective on security misconfigurations. In Proceedings of the 2018 ACM SIGSAC Conference on Computerand Communications Security, 2018.&lt;br /&gt;
* [SGP20] Patrick St ̈ockle, Bernd Grobauer, and Alexander Pretschner. Automated implementation of windows-related security-configuration guides. In 2020, 35th IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 598–610, 2020.&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10661</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10661"/>
		<updated>2023-01-06T16:18:19Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence on changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
For instance, typically there are no security measures or checks performed inside the kernel, all kernel components are explicitly trusted, and there are no procedures that separate one element of the kernel from other parts of the kernel. As a result, kernels often do not defend themselves. If the operating system has a security flaw, anyone who is able to exploit it, can take total control of the machine by employing the right software programs. It is challenging to create self-protecting kernels, and performance is frequently severely sacrificed.&lt;br /&gt;
Nevertheless, both, Linux and Windows operating systems have their advantages and disadvantages and this article gives an overview of available hardening mechanisms both Linux and Windows operating systems, since both play a significant role in daily living.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users who are lazy are also getting the updates that they need.&lt;br /&gt;
&lt;br /&gt;
== Security Baselining == &lt;br /&gt;
&lt;br /&gt;
Security baselining is the method of putting a minimal set of guidelines in place and configurations for the environment e.g. establishing a minimal Windows device setup [Dun20].&lt;br /&gt;
The creation of a baseline offers a minimally defined norm that will assist in assuring a better secure environment if the organisation or the organisational institution deploys systems and devices.&lt;br /&gt;
Baselines can range from checklists or spreadsheets that someone uses to ensure sure the predetermined security controls have been implemented to a taken snapshot or picture that is already preloaded with the predefined security rules, depending on the size of your business.&lt;br /&gt;
An aspect of the baseline, it is important to confirm that policies, standards, and processes are in place, are clearly defined, and have received the approval of the leadership and all other stakeholders who are responsible for e.g. data protection. It is essential to have these specified for security, compliance, and auditing reasons. To begin, policies for the firm are to be established and defined. The baselines are then to be constructed using the standards as the framework.&lt;br /&gt;
&lt;br /&gt;
== Security Policies, Standards and Procedures==&lt;br /&gt;
After these baselines are established, policies and procedures is to be developed to apply the baselines and support the achievement of the ultimate result. In the long run, deploying baselines without clear policies, procedures, and a framework is not presumed as effective and leaves the business open to risk.&lt;br /&gt;
Additionally, having these foundations in place provides a platform with ensuring leadership participation and sign-off, which sends a consistent message to the company about the significance of each associate in its success.[Dun20]&lt;br /&gt;
It is strongly advised to start with the fundamentals if the business does not already have any rules in place that pertain to, for example, Windows security. In order to protect the devices, at the very least, the following few examples are to be mentioned in a policy [Dun20]:&lt;br /&gt;
* Security updates&lt;br /&gt;
* Firewall&lt;br /&gt;
* Encryption&lt;br /&gt;
* A password policy, multi-factor authentification (MFA) and biometrics&lt;br /&gt;
&lt;br /&gt;
A policy that demands that all systems be maintained up to date with the most recent security updates is an example.&lt;br /&gt;
Policies are followed by standards, which are obligatory and describe the specifics of each policy. In addition to providing details on the technology to be used, standards help maintain consistency within an organization.&lt;br /&gt;
A few examples of standards regarding windows servers for the proposed elements described in the preceding section include the following [Dun20]:&lt;br /&gt;
* Windows Update for Business is to be used to setup all Windows 10 computers, while Windows Servers use either Windows Server Update Services (WSUS) or Azure Update Management. The business use case will specify and store update&lt;br /&gt;
schedules.&lt;br /&gt;
* On all Windows end-user devices and servers, the Windows firewall is to activate and set up. The connection requirements are to be defined.&lt;br /&gt;
* Using BitLocker and/or Azure Disk Encryption, all Windows servers and end-user workstations are to be encrypted. &lt;br /&gt;
* PINs and Windows Hello biometrics are to install, and accounts require utilizing passwords with a minimum of 12 characters. Passwords requisite updates yearly and contain capital, lowercase, number, and special characters&lt;br /&gt;
The detailed instructions including a step-by-step guidance required to complete a repetitive operation or process are known as procedures. These collections or set of guidances are meant to help with the implementation of the stated policies, standards, and as well as guidelines to achieve a specific aim.&lt;br /&gt;
Procedures require updates periodically as technology and software versions advance. A third-party tool is also an option with the aim of being more organized and completing procedures. One instance is a program called Nintex Promapp [Pro], which aids in documenting and sharing your company’s procedures [Dun20].&lt;br /&gt;
&lt;br /&gt;
The following four steps are an illustration of a procedure:&lt;br /&gt;
# Set up a new Windows 10 device.&lt;br /&gt;
# Verify that the device is provided with internet connection.&lt;br /&gt;
# Verify the configurations of the device, the device setups, and so on.&lt;br /&gt;
# Verify the device’s compliance.&lt;br /&gt;
The following figure shows an overview of policies, standards, procedures and baselines and how they are linked to one another [Dun20]:&lt;br /&gt;
&lt;br /&gt;
[[File:Baselining.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
== Linux Hardening ==&lt;br /&gt;
&lt;br /&gt;
The Linux kernel and operating system are also complicated and difficult to setup. In reality, Linux systems are incredibly adaptable, and even little configuration adjustments can have a big impact on security. As a result, not all security exposures and vulnerabilities are immediately apparent, and failing to consider the overall effects of modifying configuration items might result in unintended exposures.&lt;br /&gt;
Additionally, security in Linux systems is dynamic. The system is not always secure once it has been secured. It is true that a system loses security the longer it is in use.&lt;br /&gt;
This occurs as a result of operational or functional changes that expose systems to risks or as a result of new vulnerabilities being found in software packages and applications. The process of system security is continuous and active [At22].&lt;br /&gt;
Finally, many distributions provide a suggested default set of packages, programs, and settings when they are bundled or setup. This setting often depends on the author or vendor knowing what the distribution&#039;s end user needs.&lt;br /&gt;
For example, Red Hat is preconfigured to utilize Pluggable Authentication Modules (or PAM) for a number of authentication procedures, which is generally advantageous and improves the potential security of the system. However, occasionally this preconfiguration introduces security flaws or is not well thought out in terms of security.&lt;br /&gt;
&lt;br /&gt;
== Existing Tools and Limitations ==&lt;br /&gt;
System administrators and security teams can record actions carried out, for example, on a Linux system and send them to a central place for storage and analytics, relying to a rather limited set of open source tools.&lt;br /&gt;
Linux system logs: By default, Linux systems record all system activity for debugging purposes rather than necessarily to help future security investigations.&lt;br /&gt;
The following logs are provided on Linux systems to assist users to comprehend the various types of operations taking place.&lt;br /&gt;
* Syslog and messages : global system activity, including startup messages.&lt;br /&gt;
* Auth.log and secure : Security modules like PAM (Pluggable Authentication Module).&lt;br /&gt;
* Kern.log : kernel events, errors and warning logs.&lt;br /&gt;
* Cron : information about running cron jobs.&lt;br /&gt;
* Application specific logs : example /var/log/apache for web server logs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Logs from the auditing daemon Auditd provide for verbose logging and even the recording of individual syscall usages by the system administrator. Numerous configuration factors, both at the operating system level and the application level, are required for the Linux operating system to be secure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that the examination takes a long time to conduct and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
* [Dun20] Mark Dunkerley. Mastering Windows Security and Hardening. Packt Publishing, 2020.&lt;br /&gt;
* [Pro] Promapp. Business process management - www.nintex.com. Accessed: 2022-11-07&lt;br /&gt;
* [At22] Cybersecurity Researchers At. Linux devices ’increasingly’ under attack from hackers, warn security researchers — zdnet. Cybersecurity Researchers, 2022.&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10660</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10660"/>
		<updated>2023-01-06T16:09:38Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence on changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
For instance, typically there are no security measures or checks performed inside the kernel, all kernel components are explicitly trusted, and there are no procedures that separate one element of the kernel from other parts of the kernel. As a result, kernels often do not defend themselves. If the operating system has a security flaw, anyone who is able to exploit it, can take total control of the machine by employing the right software programs. It is challenging to create self-protecting kernels, and performance is frequently severely sacrificed.&lt;br /&gt;
Nevertheless, both, Linux and Windows operating systems have their advantages and disadvantages and this article gives an overview of available hardening mechanisms both Linux and Windows operating systems, since both play a significant role in daily living.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users who are lazy are also getting the updates that they need.&lt;br /&gt;
&lt;br /&gt;
== Security Baselining == &lt;br /&gt;
&lt;br /&gt;
Security baselining is the method of putting a minimal set of guidelines in place and configurations for the environment e.g. establishing a minimal Windows device setup [Dun20].&lt;br /&gt;
The creation of a baseline offers a minimally defined norm that will assist in assuring a better secure environment if the organisation or the organisational institution deploys systems and devices.&lt;br /&gt;
Baselines can range from checklists or spreadsheets that someone uses to ensure sure the predetermined security controls have been implemented to a taken snapshot or picture that is already preloaded with the predefined security rules, depending on the size of your business.&lt;br /&gt;
An aspect of the baseline, it is important to confirm that policies, standards, and processes are in place, are clearly defined, and have received the approval of the leadership and all other stakeholders who are responsible for e.g. data protection. It is essential to have these specified for security, compliance, and auditing reasons. To begin, policies for the firm are to be established and defined. The baselines are then to be constructed using the standards as the framework.&lt;br /&gt;
&lt;br /&gt;
== Security Policies, Standards and Procedures==&lt;br /&gt;
After these baselines are established, policies and procedures is to be developed to apply the baselines and support the achievement of the ultimate result. In the long run, deploying baselines without clear policies, procedures, and a framework is not presumed as effective and leaves the business open to risk.&lt;br /&gt;
Additionally, having these foundations in place provides a platform with ensuring leadership participation and sign-off, which sends a consistent message to the company about the significance of each associate in its success.[Dun20]&lt;br /&gt;
It is strongly advised to start with the fundamentals if the business does not already have any rules in place that pertain to, for example, Windows security. In order to protect the devices, at the very least, the following few examples are to be mentioned in a policy [Dun20]:&lt;br /&gt;
* Security updates&lt;br /&gt;
* Firewall&lt;br /&gt;
* Encryption&lt;br /&gt;
* A password policy, multi-factor authentification (MFA) and biometrics&lt;br /&gt;
&lt;br /&gt;
A policy that demands that all systems be maintained up to date with the most recent security updates is an example.&lt;br /&gt;
Policies are followed by standards, which are obligatory and describe the specifics of each policy. In addition to providing details on the technology to be used, standards help maintain consistency within an organization.&lt;br /&gt;
A few examples of standards regarding windows servers for the proposed elements described in the preceding section include the following [Dun20]:&lt;br /&gt;
* Windows Update for Business is to be used to setup all Windows 10 computers, while Windows Servers use either Windows Server Update Services (WSUS) or Azure Update Management. The business use case will specify and store update&lt;br /&gt;
schedules.&lt;br /&gt;
* On all Windows end-user devices and servers, the Windows firewall is to activate and set up. The connection requirements are to be defined.&lt;br /&gt;
* Using BitLocker and/or Azure Disk Encryption, all Windows servers and end-user workstations are to be encrypted. &lt;br /&gt;
* PINs and Windows Hello biometrics are to install, and accounts require utilizing passwords with a minimum of 12 characters. Passwords requisite updates yearly and contain capital, lowercase, number, and special characters&lt;br /&gt;
The detailed instructions including a step-by-step guidance required to complete a repetitive operation or process are known as procedures. These collections or set of guidances are meant to help with the implementation of the stated policies, standards, and as well as guidelines to achieve a specific aim.&lt;br /&gt;
Procedures require updates periodically as technology and software versions advance. A third-party tool is also an option with the aim of being more organized and completing procedures. One instance is a program called Nintex Promapp [Pro], which aids in documenting and sharing your company’s procedures [Dun20].&lt;br /&gt;
&lt;br /&gt;
The following four steps are an illustration of a procedure:&lt;br /&gt;
# Set up a new Windows 10 device.&lt;br /&gt;
# Verify that the device is provided with internet connection.&lt;br /&gt;
# Verify the configurations of the device, the device setups, and so on.&lt;br /&gt;
# Verify the device’s compliance.&lt;br /&gt;
The following figure shows an overview of policies, standards, procedures and baselines and how they are linked to one another.&lt;br /&gt;
&lt;br /&gt;
[[File:Baselining.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that the examination takes a long time to conduct and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
* [Dun20] Mark Dunkerley. Mastering Windows Security and Hardening. Packt Publishing, 2020.&lt;br /&gt;
* [Pro] Promapp. Business process management - www.nintex.com. Accessed: 2022-11-07&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10659</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10659"/>
		<updated>2023-01-06T16:04:41Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence on changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
For instance, typically there are no security measures or checks performed inside the kernel, all kernel components are explicitly trusted, and there are no procedures that separate one element of the kernel from other parts of the kernel. As a result, kernels often do not defend themselves. If the operating system has a security flaw, anyone who is able to exploit it, can take total control of the machine by employing the right software programs. It is challenging to create self-protecting kernels, and performance is frequently severely sacrificed.&lt;br /&gt;
Nevertheless, both, Linux and Windows operating systems have their advantages and disadvantages and this article gives an overview of available hardening mechanisms both Linux and Windows operating systems, since both play a significant role in daily living.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users who are lazy are also getting the updates that they need.&lt;br /&gt;
&lt;br /&gt;
== Security Baselining == &lt;br /&gt;
&lt;br /&gt;
Security baselining is the method of putting a minimal set of guidelines in place and configurations for the environment e.g. establishing a minimal Windows device setup [Dun20].&lt;br /&gt;
The creation of a baseline offers a minimally defined norm that will assist in assuring a better secure environment if the organisation or the organisational institution deploys systems and devices.&lt;br /&gt;
Baselines can range from checklists or spreadsheets that someone uses to ensure sure the predetermined security controls have been implemented to a taken snapshot or picture that is already preloaded with the predefined security rules, depending on the size of your business.&lt;br /&gt;
An aspect of the baseline, it is important to confirm that policies, standards, and processes are in place, are clearly defined, and have received the approval of the leadership and all other stakeholders who are responsible for e.g. data protection. It is essential to have these specified for security, compliance, and auditing reasons. To begin, policies for the firm are to be established and defined. The baselines are then to be constructed using the standards as the framework.&lt;br /&gt;
&lt;br /&gt;
== Security Policies, Standards and Procedures==&lt;br /&gt;
After these baselines are established, policies and procedures is to be developed to apply the baselines and support the achievement of the ultimate result. In the long run, deploying baselines without clear policies, procedures, and a framework is not presumed as effective and leaves the business open to risk.&lt;br /&gt;
Additionally, having these foundations in place provides a platform with ensuring leadership participation and sign-off, which sends a consistent message to the company about the significance of each associate in its success.[Dun20]&lt;br /&gt;
It is strongly advised to start with the fundamentals if the business does not already have any rules in place that pertain to, for example, Windows security. In order to protect the devices, at the very least, the following few examples are to be mentioned in a policy [Dun20]:&lt;br /&gt;
* Security updates&lt;br /&gt;
* Firewall&lt;br /&gt;
* Encryption&lt;br /&gt;
* A password policy, multi-factor authentification (MFA) and biometrics&lt;br /&gt;
&lt;br /&gt;
A policy that demands that all systems be maintained up to date with the most recent security updates is an example.&lt;br /&gt;
Policies are followed by standards, which are obligatory and describe the specifics of each policy. In addition to providing details on the technology to be used, standards help maintain consistency within an organization.&lt;br /&gt;
A few examples of standards regarding windows servers for the proposed elements described in the preceding section include the following [Dun20]:&lt;br /&gt;
* Windows Update for Business is to be used to setup all Windows 10 computers, while Windows Servers use either Windows Server Update Services (WSUS) or Azure Update Management. The business use case will specify and store update&lt;br /&gt;
schedules.&lt;br /&gt;
* On all Windows end-user devices and servers, the Windows firewall is to activate and set up. The connection requirements are to be defined.&lt;br /&gt;
* Using BitLocker and/or Azure Disk Encryption, all Windows servers and end-user workstations are to be encrypted. &lt;br /&gt;
* PINs and Windows Hello biometrics are to install, and accounts require utilizing passwords with a minimum of 12 characters. Passwords requisite updates yearly and contain capital, lowercase, number, and special characters&lt;br /&gt;
The detailed instructions including a step-by-step guidance required to complete a repetitive operation or process are known as procedures. These collections or set of guidances are meant to help with the implementation of the stated policies, standards, and as well as guidelines to achieve a specific aim.&lt;br /&gt;
Procedures require updates periodically as technology and software versions advance. A third-party tool is also an option with the aim of being more organized and completing procedures. One instance is a program called Nintex Promapp [Pro], which aids in documenting and sharing your company’s procedures [Dun20].&lt;br /&gt;
&lt;br /&gt;
The following four steps are an illustration of a procedure:&lt;br /&gt;
1. Set up a new Windows 10 device.&lt;br /&gt;
2. Verify that the device is provided with internet connection.&lt;br /&gt;
3. Verify the configurations of the device, the device setups, and so on.&lt;br /&gt;
4. Verify the device’s compliance.&lt;br /&gt;
The following figure shows an overview of policies, standards, procedures and baselines and how they are linked to one another.&lt;br /&gt;
&lt;br /&gt;
[[File:Baselining.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that the examination takes a long time to conduct and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
* [Dun20] Mark Dunkerley. Mastering Windows Security and Hardening. Packt Publishing, 2020.&lt;br /&gt;
* [Pro] Promapp. Business process management - www.nintex.com. Accessed: 2022-11-07&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Baselining.PNG&amp;diff=10658</id>
		<title>File:Baselining.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Baselining.PNG&amp;diff=10658"/>
		<updated>2023-01-06T16:03:51Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10657</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10657"/>
		<updated>2023-01-06T15:58:11Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence on changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
For instance, typically there are no security measures or checks performed inside the kernel, all kernel components are explicitly trusted, and there are no procedures that separate one element of the kernel from other parts of the kernel. As a result, kernels often do not defend themselves. If the operating system has a security flaw, anyone who is able to exploit it, can take total control of the machine by employing the right software programs. It is challenging to create self-protecting kernels, and performance is frequently severely sacrificed.&lt;br /&gt;
Nevertheless, both, Linux and Windows operating systems have their advantages and disadvantages and this article gives an overview of available hardening mechanisms both Linux and Windows operating systems, since both play a significant role in daily living.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users who are lazy are also getting the updates that they need.&lt;br /&gt;
&lt;br /&gt;
== Security Baselining == &lt;br /&gt;
&lt;br /&gt;
Security baselining is the method of putting a minimal set of guidelines in place and configurations for the environment e.g. establishing a minimal Windows device setup [Dun20].&lt;br /&gt;
The creation of a baseline offers a minimally defined norm that will assist in assuring a better secure environment if the organisation or the organisational institution deploys systems and devices.&lt;br /&gt;
Baselines can range from checklists or spreadsheets that someone uses to ensure sure the predetermined security controls have been implemented to a taken snapshot or picture that is already preloaded with the predefined security rules, depending on the size of your business.&lt;br /&gt;
An aspect of the baseline, it is important to confirm that policies, standards, and processes are in place, are clearly defined, and have received the approval of the leadership and all other stakeholders who are responsible for e.g. data protection. It is essential to have these specified for security, compliance, and auditing reasons. To begin, policies for the firm are to be established and defined. The baselines are then to be constructed using the standards as the framework.&lt;br /&gt;
&lt;br /&gt;
== Security Policies, Standards and Procedures==&lt;br /&gt;
After these baselines are established, policies and procedures is to be developed to apply the baselines and support the achievement of the ultimate result. In the long run, deploying baselines without clear policies, procedures, and a framework is not presumed as effective and leaves the business open to risk.&lt;br /&gt;
Additionally, having these foundations in place provides a platform with ensuring leadership participation and sign-off, which sends a consistent message to the company about the significance of each associate in its success.[Dun20]&lt;br /&gt;
It is strongly advised to start with the fundamentals if the business does not already have any rules in place that pertain to, for example, Windows security. In order to protect the devices, at the very least, the following few examples are to be mentioned in a policy [Dun20]:&lt;br /&gt;
* Security updates&lt;br /&gt;
* Firewall&lt;br /&gt;
* Encryption&lt;br /&gt;
* A password policy, multi-factor authentification (MFA) and biometrics&lt;br /&gt;
&lt;br /&gt;
A policy that demands that all systems be maintained up to date with the most recent security updates is an example.&lt;br /&gt;
Policies are followed by standards, which are obligatory and describe the specifics of each policy. In addition to providing details on the technology to be used, standards help maintain consistency within an organization.&lt;br /&gt;
A few examples of standards regarding windows servers for the proposed elements described in the preceding section include the following [Dun20]:&lt;br /&gt;
* Windows Update for Business is to be used to setup all Windows 10 computers, while Windows Servers use either Windows Server Update Services (WSUS) or Azure Update Management. The business use case will specify and store update&lt;br /&gt;
schedules.&lt;br /&gt;
* On all Windows end-user devices and servers, the Windows firewall is to activate and set up. The connection requirements are to be defined.&lt;br /&gt;
* Using BitLocker and/or Azure Disk Encryption, all Windows servers and end-user workstations are to be encrypted. &lt;br /&gt;
* PINs and Windows Hello biometrics are to install, and accounts require utilizing passwords with a minimum of 12 characters. Passwords requisite updates yearly and contain capital, lowercase, number, and special characters&lt;br /&gt;
The detailed instructions including a step-by-step guidance required to complete a repetitive operation or process are known as procedures. These collections or set of guidances are meant to help with the implementation of the stated policies, standards, and as well as guidelines to achieve a specific aim.&lt;br /&gt;
Procedures require updates periodically as technology and software versions advance. A third-party tool is also an option with the aim of being more organized and completing procedures. One instance is a program called Nintex Promapp [Pro], which aids in documenting and sharing your company’s procedures [Dun20].&lt;br /&gt;
&lt;br /&gt;
The following four steps are an illustration of a procedure:&lt;br /&gt;
1. Set up a new Windows 10 device.&lt;br /&gt;
2. Verify that the device is provided with internet connection.&lt;br /&gt;
3. Verify the configurations of the device, the device setups, and so on.&lt;br /&gt;
4. Verify the device’s compliance.&lt;br /&gt;
The following figure shows an overview of policies, standards, procedures and baselines and how they are linked to one another.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that the examination takes a long time to conduct and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
* [Dun20] Mark Dunkerley. Mastering Windows Security and Hardening. Packt Publishing, 2020.&lt;br /&gt;
* [Pro] Promapp. Business process management - www.nintex.com. Accessed: 2022-11-07&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10656</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10656"/>
		<updated>2023-01-06T15:42:27Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence on changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
For instance, typically there are no security measures or checks performed inside the kernel, all kernel components are explicitly trusted, and there are no procedures that separate one element of the kernel from other parts of the kernel. As a result, kernels often do not defend themselves. If the operating system has a security flaw, anyone who is able to exploit it, can take total control of the machine by employing the right software programs. It is challenging to create self-protecting kernels, and performance is frequently severely sacrificed.&lt;br /&gt;
Nevertheless, both, Linux and Windows operating systems have their advantages and disadvantages and this article gives an overview of available hardening mechanisms both Linux and Windows operating systems, since both play a significant role in daily living.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users which are lazy are also getting the updates which they need.&lt;br /&gt;
&lt;br /&gt;
== Security Baselining == &lt;br /&gt;
&lt;br /&gt;
Security baselining is the method of putting a minimal set of guidelines in place and configurations for your environment e.g. establishing a minimal Windows device setup [Dun20]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Security Policies, Standards and Procedures==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that examination takes a long time to conducted and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
* [Dun20] Mark Dunkerley. Mastering Windows Security and Hardening. Packt Publishing, 2020.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10655</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10655"/>
		<updated>2023-01-06T15:26:14Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence on changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
For instance, typically there are no security measures or checks performed inside the kernel, all kernel components are explicitly trusted, and there are no procedures that separate one element of the kernel from other parts of the kernel. As a result, kernels often do not defend themselves. If the operating system has a security flaw, anyone who is able to exploit it, can take total control of the machine by employing the right software programs. It is challenging to create self-protecting kernels, and performance is frequently severely sacrificed.&lt;br /&gt;
Nevertheless, both, Linux and Windows operating systems have their advantages and disadvantages and this article gives an overview of available hardening mechanisms both Linux and Windows operating systems, since both play a significant role in daily living.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users which are lazy are also getting the updates which they need.&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that examination takes a long time to conducted and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10654</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10654"/>
		<updated>2023-01-06T15:25:34Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence on changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
For instance, typically there are no security measures or checks performed inside the kernel, all kernel components are explicitly trusted, and there are no procedures that separate one element of the kernel from other parts of the kernel. As a result, kernels often do not defend themselves. If the operating system has a security flaw, anyone who is able to exploit it, can take total control of the machine by employing the right software programs. It is challenging to create self-protecting kernels, and performance is frequently severely sacrificed.&lt;br /&gt;
Nevertheless, both, Linux and Windows operating systems have their advantages and disadvantages and this paper gives an overview of available hardening mechanisms both Linux and Windows operating systems, since both play a significant role in daily living.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users which are lazy are also getting the updates which they need.&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that examination takes a long time to conducted and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10653</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10653"/>
		<updated>2023-01-06T15:20:23Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that examination takes a long time to conducted and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users which are lazy are also getting the updates which they need.&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10652</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10652"/>
		<updated>2023-01-06T15:19:06Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that examination takes a long time to conducted and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users which are lazy are also getting the updates which they need.&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]&lt;br /&gt;
* [[File:AKITS_OS_Hardening.pdf]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:AKITS_OS_Hardening.pdf&amp;diff=10651</id>
		<title>File:AKITS OS Hardening.pdf</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:AKITS_OS_Hardening.pdf&amp;diff=10651"/>
		<updated>2023-01-06T15:17:15Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10650</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10650"/>
		<updated>2023-01-06T15:08:22Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following two operating systems:&lt;br /&gt;
* Windows operating system&lt;br /&gt;
* Linux operating system&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that examination takes a long time to conducted and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users which are lazy are also getting the updates which they need.&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10649</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10649"/>
		<updated>2023-01-06T15:07:23Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This article also focuses on the following Operating Systems:&lt;br /&gt;
* Windows Operating System&lt;br /&gt;
* Linux Operating System&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that examination takes a long time to conducted and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users which are lazy are also getting the updates which they need.&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10648</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=10648"/>
		<updated>2023-01-06T14:59:32Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that examination takes a long time to conducted and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Overall Hardening ==&lt;br /&gt;
OS Hardening is one of the instances in which context the overall system can be secured. That means that OS hardening is just focused on the security measurements in the operating system. To have a overview of the whole tree structure a list below will introduce other instances of system hardening.&lt;br /&gt;
* Network Hardening&lt;br /&gt;
This type of hardening involves securing the basic communication infrastrucutre of servers and computer systems in a network.&lt;br /&gt;
* Physical-Server Hardening&lt;br /&gt;
Server hardening involves securing data, ports, components, dunctions and permission of a server. &lt;br /&gt;
* Application Hardening&lt;br /&gt;
This type of hardening involves updating or implementing additional security measures to protect standard and third-party applications installed on the server. Unlike server hardening, where the focus is on hardening the entire server system, application hardening focuses on the server´s application specifically.&lt;br /&gt;
* Database Hardening&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
== Benefits of OS Hardening == &lt;br /&gt;
Making your system more secure can only be a benefit. There is no way this could lead to an  disadvantage. Doing OS hardening can enhance your system functionalities, because fewer programs and less functionalities automatically mean that there is less risk of misconfigurations and issues. The second benefit is that the security significantly improves. There is lower risk of unauthorized access, hackings or even malware, if the attack surface is reduced. Also the auditability is simplified, because since there are fewer programs and accounts that means that auditing the environment would also be more transparent. &lt;br /&gt;
&lt;br /&gt;
== The goal of OS Hardening == &lt;br /&gt;
The principal goal of this hardening process is to increase the security standards in the whole world. Analytics found out that in the Linux OS just a little bit above 50% have the newest version of the OS installed. In Windows just 35% which is a pretty small number. For this reason the patch-management will need to be much more involved in the process which will in advance take this low percentages much higher as without it. Also an valid method could be an automatic process which are already included in many OS but also with this process users are not using it properly. The automatic process needs to evolve to the next level which means that the core has to be fully automatic updated when an critical fix went out to public so users which are lazy are also getting the updates which they need.&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
The most used best practices which are used in many companies are:&lt;br /&gt;
&lt;br /&gt;
* Analyze the OS version and keep it if possible always up to date&lt;br /&gt;
* Prioritize the risks which could happen to the OS from the vulnerabilities&lt;br /&gt;
* To go deeper, keep the versions and services clean. This means to always have the newest updates installed, check if the updates are valiable and are also safe from the dev forums &lt;br /&gt;
* If a service/program is not needed get rid of it, this will keep the attackers surface at an minimum. More information about the Attacking Surface is in the topic above&lt;br /&gt;
* Users and Administrator of a system should have predefined roles which they match. Not used Users should be removed and the guest user is also not a good idea to keep on the OS&lt;br /&gt;
* Follow a strategy. This can be done through security templates which have an minimum of security defined which all users must met in order to be able to use this system&lt;br /&gt;
&lt;br /&gt;
== General Recommendation ==&lt;br /&gt;
Based on best practices, here are a few general recommendations to keep in mind preventively.&lt;br /&gt;
&lt;br /&gt;
To avoid your system is beeing attacked, some configurations can be preventively done. Independently of the operating system. In the later chapters special tools and configurations for linux and windows hardening will be described in detail. To make sure an IT system is trustworth, it should be ensured that the used hardware and software are coming from a known and trusted source. That includes additional hardware as well like external data storages for example. Also the software should be obtained by trustworthy sources. A software should be downloaded if possible directly from the companies webpage itself. If a software is obtained from online sources then the integrity should be verified. This can be done by checking the hash value which is provided by the manufacturer. To avoid such so called man-in-the-middle attacks software shoudl always transferred over a secure and encrypted channel. TLS for example can be used also to autheticate the issuer. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
* Tevault, Donald A. Mastering Linux Security and Hardening: Secure your Linux server and protect it from intruders, malware attacks, and other external threats. Packt Publishing Ltd, 2018.&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
* https://www.trentonsystems.com/blog/system-hardening-overview&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10400</id>
		<title>Password Hashing with Hashcat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10400"/>
		<updated>2022-07-15T00:51:03Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border-color: #eaecf0; background-color: white; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight: normal;line-height:1.6;&amp;quot;&amp;gt;&amp;amp;#9432; Table of Contents&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
This article briefly describes how you can hash any accessed user credentials on a student matriculation website to crack passwords using the advanced password recovery tool named Hashcat. &lt;br /&gt;
A User or admin within the course of this project - a teacher who supervises small coaching or tuition might utilize this student registration. &lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* Login / Logout&lt;br /&gt;
* Registration&lt;br /&gt;
* Change Password&lt;br /&gt;
* Add New Student&lt;br /&gt;
* Delete Student&lt;br /&gt;
* View Student Details &lt;br /&gt;
* Edit Student Data&lt;br /&gt;
* Export Student Data in Excel file&lt;br /&gt;
* View short student data&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Hashcat GPU Driver requirements:&lt;br /&gt;
&lt;br /&gt;
* AMD GPUs on Linux require &amp;quot;RadeonOpenCompute (ROCm)&amp;quot; Software Platform (3.1 or later)&lt;br /&gt;
* AMD GPUs on Windows require &amp;quot;AMD Radeon Adrenalin 2020 Edition&amp;quot; (20.2.2 or later)&lt;br /&gt;
* Intel CPUs require &amp;quot;OpenCL Runtime for Intel Core and Intel Xeon Processors&amp;quot; (16.1.1 or later)&lt;br /&gt;
* NVIDIA GPUs require &amp;quot;NVIDIA Driver&amp;quot; (440.64 or later) and &amp;quot;CUDA Toolkit&amp;quot; (9.0 or later)&lt;br /&gt;
&lt;br /&gt;
Software Requirements:&lt;br /&gt;
&lt;br /&gt;
* XAMPP Server&lt;br /&gt;
* LAMP Server&lt;br /&gt;
&lt;br /&gt;
== An outline of the technology is as follows ==&lt;br /&gt;
&lt;br /&gt;
* Front end: HTML, CSS, JavaScript&lt;br /&gt;
* HTML: HTML is used to create and save web document. E.g. Notepad/Notepad++&lt;br /&gt;
* CSS : (Cascading Style Sheets) Create attractive Layout&lt;br /&gt;
* Bootstrap : responsive design mobile freindly site&lt;br /&gt;
* JavaScript: it is a programming language, commonly use with web browsers.&lt;br /&gt;
* Back end: PHP, MySQL&lt;br /&gt;
* PHP: Hypertext Preprocessor (PHP) is a technology that allows software developers to create dynamically generated web pages, in HTML, XML, or other document types, as per client request. PHP is open-source software.&lt;br /&gt;
* MySQL: MySql is a database, widely used for accessing querying, updating, and managing data in databases.&lt;br /&gt;
* hashcat.sh: script that is pre-configured with naive, emperically-tested, &amp;quot;good enough&amp;quot; parameters/attack types. Run hashcat attacks using ./naive-hashcat.sh to hash the passwords.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; border: 1px solid #8a6d3b; color: #8a6d3b; padding: 5px 10px; margin-bottom: 5px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Important&amp;lt;/b&amp;gt;: Continue with the next section, depending on whether the GPU requirements are fullfilled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: Hashcat ships with OpenCL and runs on available GPU hardware automatically when available!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://hashcat.net/hashcat/#Compiled-for-Hashcat Download] and extract the Hashcat binaries on the test device.&lt;br /&gt;
&lt;br /&gt;
== Deployment ==&lt;br /&gt;
&lt;br /&gt;
Hashcat.sh only accepts three arguments. The expression of all arguments uses unix environment variables. The following command displays the predetermined default values for each of the environment variables that can be customized by hashcat.sh:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; HASH_FILE=/examples0.hash POT_FILE=hashcat.pot HASH_TYPE=0 ./hashcat.sh &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HASH_FILE is a text file with one hash per line. These are the password hashes to be cracked.&lt;br /&gt;
* POT_FILE is the name of the output file that hashcat will write cracked password hashes to.&lt;br /&gt;
* HASH_TYPE is the hash-type code. It describes the type of hash to be cracked. 0 is md5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LIGHT/ DICTIONARY ATTACK - begin with a very simple and naive dictionary attack. This is blazing fast and it cracks ~20% of hashes&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DICTIONARY ATTACK WITH RULES - now lets move on to a rule based attack, d3ad0ne.rule is a great one to start with&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat/rules/d3ad0ne.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rockyou is good and well-known leaked password file, and not too slow&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat/rules/rockyou-30000.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MEDIUM- dive is an excellent rule file, but it takes a bit longer to run, so we will run it after d3ad0ne and rockyou&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat/rules/dive.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HEAVY- MASK ATTACK (BRUTE-FORCE)&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 3 &amp;quot;$HASH_FILE&amp;quot; hashcat/masks/rockyou-1-60.hcmask --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*COMBINATION ATTACK- this one can take 12+ hours, don&#039;t use it by default&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 1 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt dicts/rockyou.txt --potfile-path &amp;quot;POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion == &lt;br /&gt;
Hashcat is a very powerful tool. If hashcat can crack them, so can an attacker. Cracking stolen password hashes to take active steps throughout a network or to provide admin user rights is a common task for penetration testers on engagement.&lt;br /&gt;
&lt;br /&gt;
==Prevention Methods==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: However, these techniques won&#039;t ensure website security, but what counts is that they will greatly increase security and make it less appealing to attackers than it was previously. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using HTTPS, a protocol that enables secure communication over your computer network and guarantees that no outsiders will be able to tap into your material, is the ideal approach to add a security socket layer (SSL) to your website.&lt;br /&gt;
* In contrast to other attacks (like a SQL Injection), an XSS, or cross-site scripting, attack is intended to target users of a service or server rather than the program or server itself--&amp;gt; Using an advanced SDL, or security development lifecycle, in your Web application will be the strongest defense against an XSS attack. Simply said, an SDL&#039;s goal is to reduce the amount of coding errors in your program.Require users to enter their credentials again in order to access specific website pages. The user must enter their login credentials again even if they have a cookie that automatically logs them into your site. This will significantly lower the likelihood of an XSS attack. &lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
Betül Aras&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* https://hashcat.net/hashcat/&lt;br /&gt;
* https://hashcat.net/forum/thread-9618-post-55776.html#pid55776&lt;br /&gt;
* https://hashcat.net/tools/&lt;br /&gt;
* https://hashcat.net/wiki/&lt;br /&gt;
* https://git.fh-campuswien.ac.at/c1910475038/hashcat-student-matriculation&lt;br /&gt;
&lt;br /&gt;
[[DISCLAIMER: This software is for educational purposes only. This software should not be used for illegal activity. The author is not responsible for its use.]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10399</id>
		<title>Password Hashing with Hashcat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10399"/>
		<updated>2022-07-15T00:03:10Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border-color: #eaecf0; background-color: white; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight: normal;line-height:1.6;&amp;quot;&amp;gt;&amp;amp;#9432; Table of Contents&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
This article briefly describes how you can hash any accessed user credentials on a student matriculation website to crack passwords using the advanced password recovery tool named Hashcat. &lt;br /&gt;
A User or admin within the course of this project - a teacher who supervises small coaching or tuition might utilize this student registration. &lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* Login / Logout&lt;br /&gt;
* Registration&lt;br /&gt;
* Change Password&lt;br /&gt;
* Add New Student&lt;br /&gt;
* Delete Student&lt;br /&gt;
* View Student Details &lt;br /&gt;
* Edit Student Data&lt;br /&gt;
* Export Student Data in Excel file&lt;br /&gt;
* View short student data&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Hashcat GPU Driver requirements:&lt;br /&gt;
&lt;br /&gt;
* AMD GPUs on Linux require &amp;quot;RadeonOpenCompute (ROCm)&amp;quot; Software Platform (3.1 or later)&lt;br /&gt;
* AMD GPUs on Windows require &amp;quot;AMD Radeon Adrenalin 2020 Edition&amp;quot; (20.2.2 or later)&lt;br /&gt;
* Intel CPUs require &amp;quot;OpenCL Runtime for Intel Core and Intel Xeon Processors&amp;quot; (16.1.1 or later)&lt;br /&gt;
* NVIDIA GPUs require &amp;quot;NVIDIA Driver&amp;quot; (440.64 or later) and &amp;quot;CUDA Toolkit&amp;quot; (9.0 or later)&lt;br /&gt;
&lt;br /&gt;
Software Requirements:&lt;br /&gt;
&lt;br /&gt;
* XAMPP Server&lt;br /&gt;
* LAMP Server&lt;br /&gt;
&lt;br /&gt;
== An outline of the technology is as follows ==&lt;br /&gt;
&lt;br /&gt;
* Front end: HTML, CSS, JavaScript&lt;br /&gt;
* HTML: HTML is used to create and save web document. E.g. Notepad/Notepad++&lt;br /&gt;
* CSS : (Cascading Style Sheets) Create attractive Layout&lt;br /&gt;
* Bootstrap : responsive design mobile freindly site&lt;br /&gt;
* JavaScript: it is a programming language, commonly use with web browsers.&lt;br /&gt;
* Back end: PHP, MySQL&lt;br /&gt;
* PHP: Hypertext Preprocessor (PHP) is a technology that allows software developers to create dynamically generated web pages, in HTML, XML, or other document types, as per client request. PHP is open-source software.&lt;br /&gt;
* MySQL: MySql is a database, widely used for accessing querying, updating, and managing data in databases.&lt;br /&gt;
* hashcat.sh: script that is pre-configured with naive, emperically-tested, &amp;quot;good enough&amp;quot; parameters/attack types. Run hashcat attacks using ./naive-hashcat.sh to hash the passwords.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; border: 1px solid #8a6d3b; color: #8a6d3b; padding: 5px 10px; margin-bottom: 5px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Important&amp;lt;/b&amp;gt;: Continue with the next section, depending on whether the GPU requirements are fullfilled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: Hashcat ships with OpenCL and runs on available GPU hardware automatically when available!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://hashcat.net/hashcat/#Compiled-for-Hashcat Download] and extract the Hashcat binaries on the test device.&lt;br /&gt;
&lt;br /&gt;
== Deployment ==&lt;br /&gt;
&lt;br /&gt;
Hashcat.sh only accepts three arguments. The expression of all arguments uses unix environment variables. The following command displays the predetermined default values for each of the environment variables that can be customized by hashcat.sh:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; HASH_FILE=/examples0.hash POT_FILE=hashcat.pot HASH_TYPE=0 ./hashcat.sh &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HASH_FILE is a text file with one hash per line. These are the password hashes to be cracked.&lt;br /&gt;
* POT_FILE is the name of the output file that hashcat will write cracked password hashes to.&lt;br /&gt;
* HASH_TYPE is the hash-type code. It describes the type of hash to be cracked. 0 is md5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LIGHT/ DICTIONARY ATTACK - begin with a very simple and naive dictionary attack. This is blazing fast and it cracks ~20% of hashes&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DICTIONARY ATTACK WITH RULES - now lets move on to a rule based attack, d3ad0ne.rule is a great one to start with&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/d3ad0ne.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rockyou is good and well-known leaked password file, and not too slow&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/rockyou-30000.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MEDIUM- dive is an excellent rule file, but it takes a bit longer to run, so we will run it after d3ad0ne and rockyou&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/dive.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HEAVY- MASK ATTACK (BRUTE-FORCE)&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 3 &amp;quot;$HASH_FILE&amp;quot; hashcat-3.6.0/masks/rockyou-1-60.hcmask --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*COMBINATION ATTACK- this one can take 12+ hours, don&#039;t use it by default&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 1 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt dicts/rockyou.txt --potfile-path &amp;quot;POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion == &lt;br /&gt;
Hashcat is a very powerful tool. If hashcat can crack them, so can an attacker. Cracking stolen password hashes to take active steps throughout a network or to provide admin user rights is a common task for penetration testers on engagement.&lt;br /&gt;
&lt;br /&gt;
==Prevention Methods==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: However, these techniques won&#039;t ensure website security, but what counts is that they will greatly increase security and make it less appealing to attackers than it was previously. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using HTTPS, a protocol that enables secure communication over your computer network and guarantees that no outsiders will be able to tap into your material, is the ideal approach to add a security socket layer (SSL) to your website.&lt;br /&gt;
* In contrast to other attacks (like a SQL Injection), an XSS, or cross-site scripting, attack is intended to target users of a service or server rather than the program or server itself--&amp;gt; Using an advanced SDL, or security development lifecycle, in your Web application will be the strongest defense against an XSS attack. Simply said, an SDL&#039;s goal is to reduce the amount of coding errors in your program.Require users to enter their credentials again in order to access specific website pages. The user must enter their login credentials again even if they have a cookie that automatically logs them into your site. This will significantly lower the likelihood of an XSS attack. &lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
Betül Aras&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* https://hashcat.net/hashcat/&lt;br /&gt;
* https://hashcat.net/forum/thread-9618-post-55776.html#pid55776&lt;br /&gt;
* https://hashcat.net/tools/&lt;br /&gt;
* https://hashcat.net/wiki/&lt;br /&gt;
* https://git.fh-campuswien.ac.at/c1910475038/hashcat-student-matriculation&lt;br /&gt;
&lt;br /&gt;
[[DISCLAIMER: This software is for educational purposes only. This software should not be used for illegal activity. The author is not responsible for its use.]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10398</id>
		<title>Password Hashing with Hashcat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10398"/>
		<updated>2022-07-14T23:24:16Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border-color: #eaecf0; background-color: white; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight: normal;line-height:1.6;&amp;quot;&amp;gt;&amp;amp;#9432; Table of Contents&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
This article briefly describes how you can hash any accessed user credentials on a student matriculation website to crack passwords using the advanced password recovery tool named Hashcat. &lt;br /&gt;
A User or admin within the course of this project - a teacher who supervises small coaching or tuition might utilize this student registration. &lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* Login / Logout&lt;br /&gt;
* Registration&lt;br /&gt;
* Change Password&lt;br /&gt;
* Add New Student&lt;br /&gt;
* Delete Student&lt;br /&gt;
* View Student Details &lt;br /&gt;
* Edit Student Data&lt;br /&gt;
* Export Student Data in Excel file&lt;br /&gt;
* View short student data&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Hashcat GPU Driver requirements:&lt;br /&gt;
&lt;br /&gt;
* AMD GPUs on Linux require &amp;quot;RadeonOpenCompute (ROCm)&amp;quot; Software Platform (3.1 or later)&lt;br /&gt;
* AMD GPUs on Windows require &amp;quot;AMD Radeon Adrenalin 2020 Edition&amp;quot; (20.2.2 or later)&lt;br /&gt;
* Intel CPUs require &amp;quot;OpenCL Runtime for Intel Core and Intel Xeon Processors&amp;quot; (16.1.1 or later)&lt;br /&gt;
* NVIDIA GPUs require &amp;quot;NVIDIA Driver&amp;quot; (440.64 or later) and &amp;quot;CUDA Toolkit&amp;quot; (9.0 or later)&lt;br /&gt;
&lt;br /&gt;
Software Requirements:&lt;br /&gt;
&lt;br /&gt;
* XAMPP Server&lt;br /&gt;
* LAMP Server&lt;br /&gt;
&lt;br /&gt;
== An outline of the technology is as follows ==&lt;br /&gt;
&lt;br /&gt;
* Front end: HTML, CSS, JavaScript&lt;br /&gt;
* HTML: HTML is used to create and save web document. E.g. Notepad/Notepad++&lt;br /&gt;
* CSS : (Cascading Style Sheets) Create attractive Layout&lt;br /&gt;
* Bootstrap : responsive design mobile freindly site&lt;br /&gt;
* JavaScript: it is a programming language, commonly use with web browsers.&lt;br /&gt;
* Back end: PHP, MySQL&lt;br /&gt;
* PHP: Hypertext Preprocessor (PHP) is a technology that allows software developers to create dynamically generated web pages, in HTML, XML, or other document types, as per client request. PHP is open-source software.&lt;br /&gt;
* MySQL: MySql is a database, widely used for accessing querying, updating, and managing data in databases.&lt;br /&gt;
* hashcat.sh: script that is pre-configured with naive, emperically-tested, &amp;quot;good enough&amp;quot; parameters/attack types. Run hashcat attacks using ./naive-hashcat.sh to hash the passwords.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; border: 1px solid #8a6d3b; color: #8a6d3b; padding: 5px 10px; margin-bottom: 5px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Important&amp;lt;/b&amp;gt;: Continue with the next section, depending on whether the GPU requirements are fullfilled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: Hashcat ships with OpenCL and runs on available GPU hardware automatically when available!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://hashcat.net/hashcat/#Compiled-for-Hashcat Download] and extract the Hashcat binaries on the test device.&lt;br /&gt;
&lt;br /&gt;
== Deployment ==&lt;br /&gt;
&lt;br /&gt;
Hashcat.sh only accepts three arguments. The expression of all arguments uses unix environment variables. The following command displays the predetermined default values for each of the environment variables that can be customized by hashcat.sh:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; HASH_FILE=/examples0.hash POT_FILE=hashcat.pot HASH_TYPE=0 ./hashcat.sh &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HASH_FILE is a text file with one hash per line. These are the password hashes to be cracked.&lt;br /&gt;
* POT_FILE is the name of the output file that hashcat will write cracked password hashes to.&lt;br /&gt;
* HASH_TYPE is the hash-type code. It describes the type of hash to be cracked. 0 is md5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LIGHT/ DICTIONARY ATTACK - begin with a very simple and naive dictionary attack. This is blazing fast and it cracks ~20% of hashes&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DICTIONARY ATTACK WITH RULES - now lets move on to a rule based attack, d3ad0ne.rule is a great one to start with&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/d3ad0ne.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rockyou is good and well-known leaked password file, and not too slow&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/rockyou-30000.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MEDIUM- dive is an excellent rule file, but it takes a bit longer to run, so we will run it after d3ad0ne and rockyou&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/dive.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HEAVY- MASK ATTACK (BRUTE-FORCE)&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 3 &amp;quot;$HASH_FILE&amp;quot; hashcat-3.6.0/masks/rockyou-1-60.hcmask --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*COMBINATION ATTACK- this one can take 12+ hours, don&#039;t use it by default&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 1 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt dicts/rockyou.txt --potfile-path &amp;quot;POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion == &lt;br /&gt;
Hashcat is a very powerful tool. If hashcat can crack them, so can an attacker. Cracking stolen password hashes to take active steps throughout a network or to provide admin user rights is a common task for penetration testers on engagement.&lt;br /&gt;
&lt;br /&gt;
==Prevention Methods==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: However, these techniques won&#039;t ensure website security, but what counts is that they will greatly increase security and make it less appealing to attackers than it was previously. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using HTTPS, a protocol that enables secure communication over your computer network and guarantees that no outsiders will be able to tap into your material, is the ideal approach to add a security socket layer (SSL) to your website.&lt;br /&gt;
* In contrast to other attacks (like a SQL Injection), an XSS, or cross-site scripting, attack is intended to target users of a service or server rather than the program or server itself--&amp;gt; Using an advanced SDL, or security development lifecycle, in your Web application will be the strongest defense against an XSS attack. Simply said, an SDL&#039;s goal is to reduce the amount of coding errors in your program.Require users to enter their credentials again in order to access specific website pages. The user must enter their login credentials again even if they have a cookie that automatically logs them into your site. This will significantly lower the likelihood of an XSS attack. &lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
Betül Aras&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* https://hashcat.net/hashcat/&lt;br /&gt;
* https://hashcat.net/forum/thread-9618-post-55776.html#pid55776&lt;br /&gt;
* https://hashcat.net/tools/&lt;br /&gt;
* https://hashcat.net/wiki/&lt;br /&gt;
&lt;br /&gt;
[[DISCLAIMER: This software is for educational purposes only. This software should not be used for illegal activity. The author is not responsible for its use.]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10397</id>
		<title>Password Hashing with Hashcat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10397"/>
		<updated>2022-07-14T23:20:50Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border-color: #eaecf0; background-color: white; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight: normal;line-height:1.6;&amp;quot;&amp;gt;&amp;amp;#9432; Table of Contents&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
This article briefly describes how you can hash any accessed user credentials on a student matriculation website to crack passwords using the advanced password recovery tool named Hashcat. &lt;br /&gt;
A User or admin within the course of this project - a teacher who supervises small coaching or tuition might utilize this student registration. &lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* Login / Logout&lt;br /&gt;
* Registration&lt;br /&gt;
* Change Password&lt;br /&gt;
* Add New Student&lt;br /&gt;
* Delete Student&lt;br /&gt;
* View Student Details &lt;br /&gt;
* Edit Student Data&lt;br /&gt;
* Export Student Data in Excel file&lt;br /&gt;
* View short student data&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Hashcat GPU Driver requirements:&lt;br /&gt;
&lt;br /&gt;
* AMD GPUs on Linux require &amp;quot;RadeonOpenCompute (ROCm)&amp;quot; Software Platform (3.1 or later)&lt;br /&gt;
* AMD GPUs on Windows require &amp;quot;AMD Radeon Adrenalin 2020 Edition&amp;quot; (20.2.2 or later)&lt;br /&gt;
* Intel CPUs require &amp;quot;OpenCL Runtime for Intel Core and Intel Xeon Processors&amp;quot; (16.1.1 or later)&lt;br /&gt;
* NVIDIA GPUs require &amp;quot;NVIDIA Driver&amp;quot; (440.64 or later) and &amp;quot;CUDA Toolkit&amp;quot; (9.0 or later)&lt;br /&gt;
&lt;br /&gt;
Software Requirements:&lt;br /&gt;
&lt;br /&gt;
* XAMPP Server&lt;br /&gt;
* LAMP Server&lt;br /&gt;
&lt;br /&gt;
== An outline of the technology is as follows ==&lt;br /&gt;
&lt;br /&gt;
* Front end: HTML, CSS, JavaScript&lt;br /&gt;
* HTML: HTML is used to create and save web document. E.g. Notepad/Notepad++&lt;br /&gt;
* CSS : (Cascading Style Sheets) Create attractive Layout&lt;br /&gt;
* Bootstrap : responsive design mobile freindly site&lt;br /&gt;
* JavaScript: it is a programming language, commonly use with web browsers.&lt;br /&gt;
* Back end: PHP, MySQL&lt;br /&gt;
* PHP: Hypertext Preprocessor (PHP) is a technology that allows software developers to create dynamically generated web pages, in HTML, XML, or other document types, as per client request. PHP is open-source software.&lt;br /&gt;
* MySQL: MySql is a database, widely used for accessing querying, updating, and managing data in databases.&lt;br /&gt;
* hashcat.sh: script that is pre-configured with naive, emperically-tested, &amp;quot;good enough&amp;quot; parameters/attack types. Run hashcat attacks using ./naive-hashcat.sh to hash the passwords.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; border: 1px solid #8a6d3b; color: #8a6d3b; padding: 5px 10px; margin-bottom: 5px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Important&amp;lt;/b&amp;gt;: Continue with the next section, depending on whether the GPU requirements are fullfilled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: Hashcat ships with OpenCL and runs on available GPU hardware automatically when available!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://hashcat.net/hashcat/#Compiled-for-Hashcat Download] and extract the Hashcat binaries on the test device.&lt;br /&gt;
&lt;br /&gt;
== Deployment ==&lt;br /&gt;
&lt;br /&gt;
Hashcat.sh only accepts three arguments. The expression of all arguments uses unix environment variables. The following command displays the predetermined default values for each of the environment variables that can be customized by hashcat.sh:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; HASH_FILE=/examples0.hash POT_FILE=hashcat.pot HASH_TYPE=0 ./hashcat.sh &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HASH_FILE is a text file with one hash per line. These are the password hashes to be cracked.&lt;br /&gt;
* POT_FILE is the name of the output file that hashcat will write cracked password hashes to.&lt;br /&gt;
* HASH_TYPE is the hash-type code. It describes the type of hash to be cracked. 0 is md5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LIGHT/ DICTIONARY ATTACK - begin with a very simple and naive dictionary attack. This is blazing fast and it cracks ~20% of hashes&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DICTIONARY ATTACK WITH RULES - now lets move on to a rule based attack, d3ad0ne.rule is a great one to start with&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/d3ad0ne.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rockyou is good and well-known leaked password file, and not too slow&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/rockyou-30000.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MEDIUM- dive is an excellent rule file, but it takes a bit longer to run, so we will run it after d3ad0ne and rockyou&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/dive.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HEAVY- MASK ATTACK (BRUTE-FORCE)&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 3 &amp;quot;$HASH_FILE&amp;quot; hashcat-3.6.0/masks/rockyou-1-60.hcmask --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*COMBINATION ATTACK- this one can take 12+ hours, don&#039;t use it by default&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 1 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt dicts/rockyou.txt --potfile-path &amp;quot;POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion == &lt;br /&gt;
Hashcat is a very powerful tool. If hashcat can crack them, so can an attacker. Cracking stolen password hashes to take active steps throughout a network or to provide admin user rights is a common task for penetration testers on engagement.&lt;br /&gt;
&lt;br /&gt;
==Prevention Methods==&lt;br /&gt;
* Using HTTPS, a protocol that enables secure communication over your computer network and guarantees that no outsiders will be able to tap into your material, is the ideal approach to add a security socket layer (SSL) to your website.&lt;br /&gt;
* In contrast to other attacks (like a SQL Injection), an XSS, or cross-site scripting, attack is intended to target users of a service or server rather than the program or server itself--&amp;gt; Using an advanced SDL, or security development lifecycle, in your Web application will be the strongest defense against an XSS attack. Simply said, an SDL&#039;s goal is to reduce the amount of coding errors in your program.Require users to enter their credentials again in order to access specific website pages. The user must enter their login credentials again even if they have a cookie that automatically logs them into your site. This will significantly lower the likelihood of an XSS attack. &lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
Betül Aras&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* https://hashcat.net/hashcat/&lt;br /&gt;
* https://hashcat.net/forum/thread-9618-post-55776.html#pid55776&lt;br /&gt;
* https://hashcat.net/tools/&lt;br /&gt;
* https://hashcat.net/wiki/&lt;br /&gt;
&lt;br /&gt;
[[DISCLAIMER: This software is for educational purposes only. This software should not be used for illegal activity. The author is not responsible for its use.]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10396</id>
		<title>Password Hashing with Hashcat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10396"/>
		<updated>2022-07-14T23:20:30Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border-color: #eaecf0; background-color: white; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight: normal;line-height:1.6;&amp;quot;&amp;gt;&amp;amp;#9432; Table of Contents&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
This article briefly describes how you can hash any accessed user credentials on a student matriculation website to crack passwords using the advanced password recovery tool named Hashcat. &lt;br /&gt;
A User or admin within the course of this project - a teacher who supervises small coaching or tuition might utilize this student registration. &lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* Login / Logout&lt;br /&gt;
* Registration&lt;br /&gt;
* Change Password&lt;br /&gt;
* Add New Student&lt;br /&gt;
* Delete Student&lt;br /&gt;
* View Student Details &lt;br /&gt;
* Edit Student Data&lt;br /&gt;
* Export Student Data in Excel file&lt;br /&gt;
* View short student data&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Hashcat GPU Driver requirements:&lt;br /&gt;
&lt;br /&gt;
* AMD GPUs on Linux require &amp;quot;RadeonOpenCompute (ROCm)&amp;quot; Software Platform (3.1 or later)&lt;br /&gt;
* AMD GPUs on Windows require &amp;quot;AMD Radeon Adrenalin 2020 Edition&amp;quot; (20.2.2 or later)&lt;br /&gt;
* Intel CPUs require &amp;quot;OpenCL Runtime for Intel Core and Intel Xeon Processors&amp;quot; (16.1.1 or later)&lt;br /&gt;
* NVIDIA GPUs require &amp;quot;NVIDIA Driver&amp;quot; (440.64 or later) and &amp;quot;CUDA Toolkit&amp;quot; (9.0 or later)&lt;br /&gt;
&lt;br /&gt;
Software Requirements:&lt;br /&gt;
&lt;br /&gt;
* XAMPP Server&lt;br /&gt;
* LAMP Server&lt;br /&gt;
&lt;br /&gt;
== An outline of the technology is as follows ==&lt;br /&gt;
&lt;br /&gt;
* Front end: HTML, CSS, JavaScript&lt;br /&gt;
* HTML: HTML is used to create and save web document. E.g. Notepad/Notepad++&lt;br /&gt;
* CSS : (Cascading Style Sheets) Create attractive Layout&lt;br /&gt;
* Bootstrap : responsive design mobile freindly site&lt;br /&gt;
* JavaScript: it is a programming language, commonly use with web browsers.&lt;br /&gt;
* Back end: PHP, MySQL&lt;br /&gt;
* PHP: Hypertext Preprocessor (PHP) is a technology that allows software developers to create dynamically generated web pages, in HTML, XML, or other document types, as per client request. PHP is open-source software.&lt;br /&gt;
* MySQL: MySql is a database, widely used for accessing querying, updating, and managing data in databases.&lt;br /&gt;
* hashcat.sh: script that is pre-configured with naive, emperically-tested, &amp;quot;good enough&amp;quot; parameters/attack types. Run hashcat attacks using ./naive-hashcat.sh to hash the passwords.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; border: 1px solid #8a6d3b; color: #8a6d3b; padding: 5px 10px; margin-bottom: 5px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Important&amp;lt;/b&amp;gt;: Continue with the next section, depending on whether the GPU requirements are fullfilled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: Hashcat ships with OpenCL and runs on available GPU hardware automatically when available!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://hashcat.net/hashcat/#Compiled-for-Hashcat Download] and extract the Hashcat binaries on the test device.&lt;br /&gt;
&lt;br /&gt;
== Deployment ==&lt;br /&gt;
&lt;br /&gt;
Hashcat.sh only accepts three arguments. The expression of all arguments uses unix environment variables. The following command displays the predetermined default values for each of the environment variables that can be customized by hashcat.sh:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; HASH_FILE=/examples0.hash POT_FILE=hashcat.pot HASH_TYPE=0 ./hashcat.sh &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HASH_FILE is a text file with one hash per line. These are the password hashes to be cracked.&lt;br /&gt;
* POT_FILE is the name of the output file that hashcat will write cracked password hashes to.&lt;br /&gt;
* HASH_TYPE is the hash-type code. It describes the type of hash to be cracked. 0 is md5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LIGHT/ DICTIONARY ATTACK - begin with a very simple and naive dictionary attack. This is blazing fast and it cracks ~20% of hashes&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DICTIONARY ATTACK WITH RULES - now lets move on to a rule based attack, d3ad0ne.rule is a great one to start with&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/d3ad0ne.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rockyou is good and well-known leaked password file, and not too slow&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/rockyou-30000.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MEDIUM- dive is an excellent rule file, but it takes a bit longer to run, so we will run it after d3ad0ne and rockyou&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/dive.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HEAVY- MASK ATTACK (BRUTE-FORCE)&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 3 &amp;quot;$HASH_FILE&amp;quot; hashcat-3.6.0/masks/rockyou-1-60.hcmask --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*COMBINATION ATTACK- this one can take 12+ hours, don&#039;t use it by default&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 1 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt dicts/rockyou.txt --potfile-path &amp;quot;POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion == &lt;br /&gt;
Hashcat is a very powerful tool. If hashcat can crack them, so can an attacker. Cracking stolen password hashes to take active steps throughout a network or to provide admin user rights is a common task for penetration testers on engagement.&lt;br /&gt;
&lt;br /&gt;
==Prevention Methods==&lt;br /&gt;
* Using HTTPS, a protocol that enables secure communication over your computer network and guarantees that no outsiders will be able to tap into your material, is the ideal approach to add a security socket layer (SSL) to your website.&lt;br /&gt;
* In contrast to other attacks (like a SQL Injection), an XSS, or cross-site scripting, attack is intended to target users of a service or server rather than the program or server itself--&amp;gt; Using an advanced SDL, or security development lifecycle, in your Web application will be the strongest defense against an XSS attack. Simply said, an SDL&#039;s goal is to reduce the amount of coding errors in your program.Require users to enter their credentials again in order to access specific website pages. The user must enter their login credentials again even if they have a cookie that automatically logs them into your site. This will significantly lower the likelihood of an XSS attack. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[DISCLAIMER: This software is for educational purposes only. This software should not be used for illegal activity. The author is not responsible for its use.]]&lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
Betül Aras&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* https://hashcat.net/hashcat/&lt;br /&gt;
* https://hashcat.net/forum/thread-9618-post-55776.html#pid55776&lt;br /&gt;
* https://hashcat.net/tools/&lt;br /&gt;
* https://hashcat.net/wiki/&lt;br /&gt;
&lt;br /&gt;
[[DISCLAIMER: This software is for educational purposes only. This software should not be used for illegal activity. The author is not responsible for its use.]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10395</id>
		<title>Password Hashing with Hashcat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10395"/>
		<updated>2022-07-14T23:19:51Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border-color: #eaecf0; background-color: white; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight: normal;line-height:1.6;&amp;quot;&amp;gt;&amp;amp;#9432; Table of Contents&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
This article briefly describes how you can hash any accessed user credentials on a student matriculation website to crack passwords using the advanced password recovery tool named Hashcat. &lt;br /&gt;
A User or admin within the course of this project - a teacher who supervises small coaching or tuition might utilize this student registration. &lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* Login / Logout&lt;br /&gt;
* Registration&lt;br /&gt;
* Change Password&lt;br /&gt;
* Add New Student&lt;br /&gt;
* Delete Student&lt;br /&gt;
* View Student Details &lt;br /&gt;
* Edit Student Data&lt;br /&gt;
* Export Student Data in Excel file&lt;br /&gt;
* View short student data&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Hashcat GPU Driver requirements:&lt;br /&gt;
&lt;br /&gt;
* AMD GPUs on Linux require &amp;quot;RadeonOpenCompute (ROCm)&amp;quot; Software Platform (3.1 or later)&lt;br /&gt;
* AMD GPUs on Windows require &amp;quot;AMD Radeon Adrenalin 2020 Edition&amp;quot; (20.2.2 or later)&lt;br /&gt;
* Intel CPUs require &amp;quot;OpenCL Runtime for Intel Core and Intel Xeon Processors&amp;quot; (16.1.1 or later)&lt;br /&gt;
* NVIDIA GPUs require &amp;quot;NVIDIA Driver&amp;quot; (440.64 or later) and &amp;quot;CUDA Toolkit&amp;quot; (9.0 or later)&lt;br /&gt;
&lt;br /&gt;
Software Requirements:&lt;br /&gt;
&lt;br /&gt;
* XAMPP Server&lt;br /&gt;
* LAMP Server&lt;br /&gt;
&lt;br /&gt;
== An outline of the technology is as follows ==&lt;br /&gt;
&lt;br /&gt;
* Front end: HTML, CSS, JavaScript&lt;br /&gt;
* HTML: HTML is used to create and save web document. E.g. Notepad/Notepad++&lt;br /&gt;
* CSS : (Cascading Style Sheets) Create attractive Layout&lt;br /&gt;
* Bootstrap : responsive design mobile freindly site&lt;br /&gt;
* JavaScript: it is a programming language, commonly use with web browsers.&lt;br /&gt;
* Back end: PHP, MySQL&lt;br /&gt;
* PHP: Hypertext Preprocessor (PHP) is a technology that allows software developers to create dynamically generated web pages, in HTML, XML, or other document types, as per client request. PHP is open-source software.&lt;br /&gt;
* MySQL: MySql is a database, widely used for accessing querying, updating, and managing data in databases.&lt;br /&gt;
* hashcat.sh: script that is pre-configured with naive, emperically-tested, &amp;quot;good enough&amp;quot; parameters/attack types. Run hashcat attacks using ./naive-hashcat.sh to hash the passwords.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; border: 1px solid #8a6d3b; color: #8a6d3b; padding: 5px 10px; margin-bottom: 5px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Important&amp;lt;/b&amp;gt;: Continue with the next section, depending on whether the GPU requirements are fullfilled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: Hashcat ships with OpenCL and runs on available GPU hardware automatically when available!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://hashcat.net/hashcat/#Compiled-for-Hashcat Download] and extract the Hashcat binaries on the test device.&lt;br /&gt;
&lt;br /&gt;
== Deployment ==&lt;br /&gt;
&lt;br /&gt;
Hashcat.sh only accepts three arguments. The expression of all arguments uses unix environment variables. The following command displays the predetermined default values for each of the environment variables that can be customized by hashcat.sh:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; HASH_FILE=/examples0.hash POT_FILE=hashcat.pot HASH_TYPE=0 ./hashcat.sh &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HASH_FILE is a text file with one hash per line. These are the password hashes to be cracked.&lt;br /&gt;
* POT_FILE is the name of the output file that hashcat will write cracked password hashes to.&lt;br /&gt;
* HASH_TYPE is the hash-type code. It describes the type of hash to be cracked. 0 is md5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LIGHT/ DICTIONARY ATTACK - begin with a very simple and naive dictionary attack. This is blazing fast and it cracks ~20% of hashes&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DICTIONARY ATTACK WITH RULES - now lets move on to a rule based attack, d3ad0ne.rule is a great one to start with&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/d3ad0ne.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rockyou is good and well-known leaked password file, and not too slow&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/rockyou-30000.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MEDIUM- dive is an excellent rule file, but it takes a bit longer to run, so we will run it after d3ad0ne and rockyou&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/dive.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HEAVY- MASK ATTACK (BRUTE-FORCE)&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 3 &amp;quot;$HASH_FILE&amp;quot; hashcat-3.6.0/masks/rockyou-1-60.hcmask --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*COMBINATION ATTACK- this one can take 12+ hours, don&#039;t use it by default&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 1 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt dicts/rockyou.txt --potfile-path &amp;quot;POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion == &lt;br /&gt;
Hashcat is a very powerful tool. If hashcat can crack them, so can an attacker. Cracking stolen password hashes to take active steps throughout a network or to provide admin user rights is a common task for penetration testers on engagement.&lt;br /&gt;
&lt;br /&gt;
==Prevention Methods==&lt;br /&gt;
* Using HTTPS, a protocol that enables secure communication over your computer network and guarantees that no outsiders will be able to tap into your material, is the ideal approach to add a security socket layer (SSL) to your website.&lt;br /&gt;
* In contrast to other attacks (like a SQL Injection), an XSS, or cross-site scripting, attack is intended to target users of a service or server rather than the program or server itself--&amp;gt; Using an advanced SDL, or security development lifecycle, in your Web application will be the strongest defense against an XSS attack. Simply said, an SDL&#039;s goal is to reduce the amount of coding errors in your program.Require users to enter their credentials again in order to access specific website pages. The user must enter their login credentials again even if they have a cookie that automatically logs them into your site. This will significantly lower the likelihood of an XSS attack. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[DISCLAIMER: This software is for educational purposes only. This software should not be used for illegal activity. The author is not responsible for its use.]]&lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
Betül Aras&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* https://hashcat.net/hashcat/&lt;br /&gt;
* https://hashcat.net/forum/thread-9618-post-55776.html#pid55776&lt;br /&gt;
* https://hashcat.net/tools/&lt;br /&gt;
* https://hashcat.net/wiki/&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10394</id>
		<title>Password Hashing with Hashcat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10394"/>
		<updated>2022-07-14T23:18:05Z</updated>

		<summary type="html">&lt;p&gt;BAras: /* Prevention methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border-color: #eaecf0; background-color: white; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight: normal;line-height:1.6;&amp;quot;&amp;gt;&amp;amp;#9432; Table of Contents&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
This article briefly describes how you can hash any accessed user credentials on a student matriculation website to crack passwords using the advanced password recovery tool named Hashcat. &lt;br /&gt;
A User or admin within the course of this project - a teacher who supervises small coaching or tuition might utilize this student registration. &lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* Login / Logout&lt;br /&gt;
* Registration&lt;br /&gt;
* Change Password&lt;br /&gt;
* Add New Student&lt;br /&gt;
* Delete Student&lt;br /&gt;
* View Student Details &lt;br /&gt;
* Edit Student Data&lt;br /&gt;
* Export Student Data in Excel file&lt;br /&gt;
* View short student data&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Hashcat GPU Driver requirements:&lt;br /&gt;
&lt;br /&gt;
* AMD GPUs on Linux require &amp;quot;RadeonOpenCompute (ROCm)&amp;quot; Software Platform (3.1 or later)&lt;br /&gt;
* AMD GPUs on Windows require &amp;quot;AMD Radeon Adrenalin 2020 Edition&amp;quot; (20.2.2 or later)&lt;br /&gt;
* Intel CPUs require &amp;quot;OpenCL Runtime for Intel Core and Intel Xeon Processors&amp;quot; (16.1.1 or later)&lt;br /&gt;
* NVIDIA GPUs require &amp;quot;NVIDIA Driver&amp;quot; (440.64 or later) and &amp;quot;CUDA Toolkit&amp;quot; (9.0 or later)&lt;br /&gt;
&lt;br /&gt;
Software Requirements:&lt;br /&gt;
&lt;br /&gt;
* XAMPP Server&lt;br /&gt;
* LAMP Server&lt;br /&gt;
&lt;br /&gt;
== An outline of the technology is as follows ==&lt;br /&gt;
&lt;br /&gt;
* Front end: HTML, CSS, JavaScript&lt;br /&gt;
* HTML: HTML is used to create and save web document. E.g. Notepad/Notepad++&lt;br /&gt;
* CSS : (Cascading Style Sheets) Create attractive Layout&lt;br /&gt;
* Bootstrap : responsive design mobile freindly site&lt;br /&gt;
* JavaScript: it is a programming language, commonly use with web browsers.&lt;br /&gt;
* Back end: PHP, MySQL&lt;br /&gt;
* PHP: Hypertext Preprocessor (PHP) is a technology that allows software developers to create dynamically generated web pages, in HTML, XML, or other document types, as per client request. PHP is open-source software.&lt;br /&gt;
* MySQL: MySql is a database, widely used for accessing querying, updating, and managing data in databases.&lt;br /&gt;
* hashcat.sh: script that is pre-configured with naive, emperically-tested, &amp;quot;good enough&amp;quot; parameters/attack types. Run hashcat attacks using ./naive-hashcat.sh to hash the passwords.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; border: 1px solid #8a6d3b; color: #8a6d3b; padding: 5px 10px; margin-bottom: 5px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Important&amp;lt;/b&amp;gt;: Continue with the next section, depending on whether the GPU requirements are fullfilled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: Hashcat ships with OpenCL and runs on available GPU hardware automatically when available!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://hashcat.net/hashcat/#Compiled-for-Hashcat Download] and extract the Hashcat binaries on the test device.&lt;br /&gt;
&lt;br /&gt;
== Deployment ==&lt;br /&gt;
&lt;br /&gt;
Hashcat.sh only accepts three arguments. The expression of all arguments uses unix environment variables. The following command displays the predetermined default values for each of the environment variables that can be customized by hashcat.sh:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; HASH_FILE=/examples0.hash POT_FILE=hashcat.pot HASH_TYPE=0 ./hashcat.sh &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HASH_FILE is a text file with one hash per line. These are the password hashes to be cracked.&lt;br /&gt;
* POT_FILE is the name of the output file that hashcat will write cracked password hashes to.&lt;br /&gt;
* HASH_TYPE is the hash-type code. It describes the type of hash to be cracked. 0 is md5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LIGHT/ DICTIONARY ATTACK - begin with a very simple and naive dictionary attack. This is blazing fast and it cracks ~20% of hashes&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DICTIONARY ATTACK WITH RULES - now lets move on to a rule based attack, d3ad0ne.rule is a great one to start with&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/d3ad0ne.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rockyou is good and well-known leaked password file, and not too slow&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/rockyou-30000.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MEDIUM- dive is an excellent rule file, but it takes a bit longer to run, so we will run it after d3ad0ne and rockyou&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/dive.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HEAVY- MASK ATTACK (BRUTE-FORCE)&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 3 &amp;quot;$HASH_FILE&amp;quot; hashcat-3.6.0/masks/rockyou-1-60.hcmask --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*COMBINATION ATTACK- this one can take 12+ hours, don&#039;t use it by default&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 1 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt dicts/rockyou.txt --potfile-path &amp;quot;POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion == &lt;br /&gt;
Hashcat is a very powerful tool. If hashcat can crack them, so can an attacker. Cracking stolen password hashes to take active steps throughout a network or to provide admin user rights is a common task for penetration testers on engagement.&lt;br /&gt;
&lt;br /&gt;
==Prevention Methods==&lt;br /&gt;
* Using HTTPS, a protocol that enables secure communication over your computer network and guarantees that no outsiders will be able to tap into your material, is the ideal approach to add a security socket layer (SSL) to your website.&lt;br /&gt;
* In contrast to other attacks (like a SQL Injection), an XSS, or cross-site scripting, attack is intended to target users of a service or server rather than the program or server itself--&amp;gt; Using an advanced SDL, or security development lifecycle, in your Web application will be the strongest defense against an XSS attack. Simply said, an SDL&#039;s goal is to reduce the amount of coding errors in your program.Require users to enter their credentials again in order to access specific website pages.&lt;br /&gt;
The user must enter their login credentials again even if they have a cookie that automatically logs them into your site.&lt;br /&gt;
This will significantly lower the likelihood of an XSS attack. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[DISCLAIMER: This software is for educational purposes only. This software should not be used for illegal activity. The author is not responsible for its use.]]&lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
Betül Aras&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* https://hashcat.net/hashcat/&lt;br /&gt;
* https://hashcat.net/forum/thread-9618-post-55776.html#pid55776&lt;br /&gt;
* https://hashcat.net/tools/&lt;br /&gt;
* https://hashcat.net/wiki/&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10393</id>
		<title>Password Hashing with Hashcat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10393"/>
		<updated>2022-07-14T23:17:48Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border-color: #eaecf0; background-color: white; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight: normal;line-height:1.6;&amp;quot;&amp;gt;&amp;amp;#9432; Table of Contents&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
This article briefly describes how you can hash any accessed user credentials on a student matriculation website to crack passwords using the advanced password recovery tool named Hashcat. &lt;br /&gt;
A User or admin within the course of this project - a teacher who supervises small coaching or tuition might utilize this student registration. &lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* Login / Logout&lt;br /&gt;
* Registration&lt;br /&gt;
* Change Password&lt;br /&gt;
* Add New Student&lt;br /&gt;
* Delete Student&lt;br /&gt;
* View Student Details &lt;br /&gt;
* Edit Student Data&lt;br /&gt;
* Export Student Data in Excel file&lt;br /&gt;
* View short student data&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Hashcat GPU Driver requirements:&lt;br /&gt;
&lt;br /&gt;
* AMD GPUs on Linux require &amp;quot;RadeonOpenCompute (ROCm)&amp;quot; Software Platform (3.1 or later)&lt;br /&gt;
* AMD GPUs on Windows require &amp;quot;AMD Radeon Adrenalin 2020 Edition&amp;quot; (20.2.2 or later)&lt;br /&gt;
* Intel CPUs require &amp;quot;OpenCL Runtime for Intel Core and Intel Xeon Processors&amp;quot; (16.1.1 or later)&lt;br /&gt;
* NVIDIA GPUs require &amp;quot;NVIDIA Driver&amp;quot; (440.64 or later) and &amp;quot;CUDA Toolkit&amp;quot; (9.0 or later)&lt;br /&gt;
&lt;br /&gt;
Software Requirements:&lt;br /&gt;
&lt;br /&gt;
* XAMPP Server&lt;br /&gt;
* LAMP Server&lt;br /&gt;
&lt;br /&gt;
== An outline of the technology is as follows ==&lt;br /&gt;
&lt;br /&gt;
* Front end: HTML, CSS, JavaScript&lt;br /&gt;
* HTML: HTML is used to create and save web document. E.g. Notepad/Notepad++&lt;br /&gt;
* CSS : (Cascading Style Sheets) Create attractive Layout&lt;br /&gt;
* Bootstrap : responsive design mobile freindly site&lt;br /&gt;
* JavaScript: it is a programming language, commonly use with web browsers.&lt;br /&gt;
* Back end: PHP, MySQL&lt;br /&gt;
* PHP: Hypertext Preprocessor (PHP) is a technology that allows software developers to create dynamically generated web pages, in HTML, XML, or other document types, as per client request. PHP is open-source software.&lt;br /&gt;
* MySQL: MySql is a database, widely used for accessing querying, updating, and managing data in databases.&lt;br /&gt;
* hashcat.sh: script that is pre-configured with naive, emperically-tested, &amp;quot;good enough&amp;quot; parameters/attack types. Run hashcat attacks using ./naive-hashcat.sh to hash the passwords.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; border: 1px solid #8a6d3b; color: #8a6d3b; padding: 5px 10px; margin-bottom: 5px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Important&amp;lt;/b&amp;gt;: Continue with the next section, depending on whether the GPU requirements are fullfilled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: Hashcat ships with OpenCL and runs on available GPU hardware automatically when available!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://hashcat.net/hashcat/#Compiled-for-Hashcat Download] and extract the Hashcat binaries on the test device.&lt;br /&gt;
&lt;br /&gt;
== Deployment ==&lt;br /&gt;
&lt;br /&gt;
Hashcat.sh only accepts three arguments. The expression of all arguments uses unix environment variables. The following command displays the predetermined default values for each of the environment variables that can be customized by hashcat.sh:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; HASH_FILE=/examples0.hash POT_FILE=hashcat.pot HASH_TYPE=0 ./hashcat.sh &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HASH_FILE is a text file with one hash per line. These are the password hashes to be cracked.&lt;br /&gt;
* POT_FILE is the name of the output file that hashcat will write cracked password hashes to.&lt;br /&gt;
* HASH_TYPE is the hash-type code. It describes the type of hash to be cracked. 0 is md5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LIGHT/ DICTIONARY ATTACK - begin with a very simple and naive dictionary attack. This is blazing fast and it cracks ~20% of hashes&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DICTIONARY ATTACK WITH RULES - now lets move on to a rule based attack, d3ad0ne.rule is a great one to start with&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/d3ad0ne.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rockyou is good and well-known leaked password file, and not too slow&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/rockyou-30000.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MEDIUM- dive is an excellent rule file, but it takes a bit longer to run, so we will run it after d3ad0ne and rockyou&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/dive.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HEAVY- MASK ATTACK (BRUTE-FORCE)&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 3 &amp;quot;$HASH_FILE&amp;quot; hashcat-3.6.0/masks/rockyou-1-60.hcmask --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*COMBINATION ATTACK- this one can take 12+ hours, don&#039;t use it by default&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 1 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt dicts/rockyou.txt --potfile-path &amp;quot;POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion == &lt;br /&gt;
Hashcat is a very powerful tool. If hashcat can crack them, so can an attacker. Cracking stolen password hashes to take active steps throughout a network or to provide admin user rights is a common task for penetration testers on engagement.&lt;br /&gt;
&lt;br /&gt;
==Prevention methods==&lt;br /&gt;
* Using HTTPS, a protocol that enables secure communication over your computer network and guarantees that no outsiders will be able to tap into your material, is the ideal approach to add a security socket layer (SSL) to your website.&lt;br /&gt;
* In contrast to other attacks (like a SQL Injection), an XSS, or cross-site scripting, attack is intended to target users of a service or server rather than the program or server itself--&amp;gt; Using an advanced SDL, or security development lifecycle, in your Web application will be the strongest defense against an XSS attack. Simply said, an SDL&#039;s goal is to reduce the amount of coding errors in your program.Require users to enter their credentials again in order to access specific website pages.&lt;br /&gt;
The user must enter their login credentials again even if they have a cookie that automatically logs them into your site.&lt;br /&gt;
This will significantly lower the likelihood of an XSS attack. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[DISCLAIMER: This software is for educational purposes only. This software should not be used for illegal activity. The author is not responsible for its use.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
Betül Aras&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* https://hashcat.net/hashcat/&lt;br /&gt;
* https://hashcat.net/forum/thread-9618-post-55776.html#pid55776&lt;br /&gt;
* https://hashcat.net/tools/&lt;br /&gt;
* https://hashcat.net/wiki/&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10392</id>
		<title>Password Hashing with Hashcat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10392"/>
		<updated>2022-07-14T23:17:11Z</updated>

		<summary type="html">&lt;p&gt;BAras: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border-color: #eaecf0; background-color: white; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight: normal;line-height:1.6;&amp;quot;&amp;gt;&amp;amp;#9432; Table of Contents&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
This article briefly describes how you can hash any accessed user credentials on a student matriculation website to crack passwords using the advanced password recovery tool named Hashcat. &lt;br /&gt;
A User or admin within the course of this project - a teacher who supervises small coaching or tuition might utilize this student registration. &lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* Login / Logout&lt;br /&gt;
* Registration&lt;br /&gt;
* Change Password&lt;br /&gt;
* Add New Student&lt;br /&gt;
* Delete Student&lt;br /&gt;
* View Student Details &lt;br /&gt;
* Edit Student Data&lt;br /&gt;
* Export Student Data in Excel file&lt;br /&gt;
* View short student data&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Hashcat GPU Driver requirements:&lt;br /&gt;
&lt;br /&gt;
* AMD GPUs on Linux require &amp;quot;RadeonOpenCompute (ROCm)&amp;quot; Software Platform (3.1 or later)&lt;br /&gt;
* AMD GPUs on Windows require &amp;quot;AMD Radeon Adrenalin 2020 Edition&amp;quot; (20.2.2 or later)&lt;br /&gt;
* Intel CPUs require &amp;quot;OpenCL Runtime for Intel Core and Intel Xeon Processors&amp;quot; (16.1.1 or later)&lt;br /&gt;
* NVIDIA GPUs require &amp;quot;NVIDIA Driver&amp;quot; (440.64 or later) and &amp;quot;CUDA Toolkit&amp;quot; (9.0 or later)&lt;br /&gt;
&lt;br /&gt;
Software Requirements:&lt;br /&gt;
&lt;br /&gt;
* XAMPP Server&lt;br /&gt;
* LAMP Server&lt;br /&gt;
&lt;br /&gt;
== An outline of the technology is as follows ==&lt;br /&gt;
&lt;br /&gt;
* Front end: HTML, CSS, JavaScript&lt;br /&gt;
* HTML: HTML is used to create and save web document. E.g. Notepad/Notepad++&lt;br /&gt;
* CSS : (Cascading Style Sheets) Create attractive Layout&lt;br /&gt;
* Bootstrap : responsive design mobile freindly site&lt;br /&gt;
* JavaScript: it is a programming language, commonly use with web browsers.&lt;br /&gt;
* Back end: PHP, MySQL&lt;br /&gt;
* PHP: Hypertext Preprocessor (PHP) is a technology that allows software developers to create dynamically generated web pages, in HTML, XML, or other document types, as per client request. PHP is open-source software.&lt;br /&gt;
* MySQL: MySql is a database, widely used for accessing querying, updating, and managing data in databases.&lt;br /&gt;
* hashcat.sh: script that is pre-configured with naive, emperically-tested, &amp;quot;good enough&amp;quot; parameters/attack types. Run hashcat attacks using ./naive-hashcat.sh to hash the passwords.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; border: 1px solid #8a6d3b; color: #8a6d3b; padding: 5px 10px; margin-bottom: 5px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Important&amp;lt;/b&amp;gt;: Continue with the next section, depending on whether the GPU requirements are fullfilled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: Hashcat ships with OpenCL and runs on available GPU hardware automatically when available!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://hashcat.net/hashcat/#Compiled-for-Hashcat Download] and extract the Hashcat binaries on the test device.&lt;br /&gt;
&lt;br /&gt;
== Deployment ==&lt;br /&gt;
&lt;br /&gt;
Hashcat.sh only accepts three arguments. The expression of all arguments uses unix environment variables. The following command displays the predetermined default values for each of the environment variables that can be customized by hashcat.sh:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; HASH_FILE=/examples0.hash POT_FILE=hashcat.pot HASH_TYPE=0 ./hashcat.sh &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HASH_FILE is a text file with one hash per line. These are the password hashes to be cracked.&lt;br /&gt;
* POT_FILE is the name of the output file that hashcat will write cracked password hashes to.&lt;br /&gt;
* HASH_TYPE is the hash-type code. It describes the type of hash to be cracked. 0 is md5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LIGHT/ DICTIONARY ATTACK - begin with a very simple and naive dictionary attack. This is blazing fast and it cracks ~20% of hashes&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DICTIONARY ATTACK WITH RULES - now lets move on to a rule based attack, d3ad0ne.rule is a great one to start with&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/d3ad0ne.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rockyou is good and well-known leaked password file, and not too slow&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/rockyou-30000.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MEDIUM- dive is an excellent rule file, but it takes a bit longer to run, so we will run it after d3ad0ne and rockyou&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/dive.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HEAVY- MASK ATTACK (BRUTE-FORCE)&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 3 &amp;quot;$HASH_FILE&amp;quot; hashcat-3.6.0/masks/rockyou-1-60.hcmask --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*COMBINATION ATTACK- this one can take 12+ hours, don&#039;t use it by default&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 1 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt dicts/rockyou.txt --potfile-path &amp;quot;POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion == &lt;br /&gt;
Hashcat is a very powerful tool. If hashcat can crack them, so can an attacker. Cracking stolen password hashes to take active steps throughout a network or to provide admin user rights is a common task for penetration testers on engagement.&lt;br /&gt;
&lt;br /&gt;
==Prevention methods==&lt;br /&gt;
* Using HTTPS, a protocol that enables secure communication over your computer network and guarantees that no outsiders will be able to tap into your material, is the ideal approach to add a security socket layer (SSL) to your website.&lt;br /&gt;
* In contrast to other attacks (like a SQL Injection), an XSS, or cross-site scripting, attack is intended to target users of a service or server rather than the program or server itself--&amp;gt; Using an advanced SDL, or security development lifecycle, in your Web application will be the strongest defense against an XSS attack.&lt;br /&gt;
Simply said, an SDL&#039;s goal is to reduce the amount of coding errors in your program.Require users to enter their credentials again in order to access specific website pages.&lt;br /&gt;
The user must enter their login credentials again even if they have a cookie that automatically logs them into your site.&lt;br /&gt;
This will significantly lower the likelihood of an XSS attack. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[DISCLAIMER: This software is for educational purposes only. This software should not be used for illegal activity. The author is not responsible for its use.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
Betül Aras&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* https://hashcat.net/hashcat/&lt;br /&gt;
* https://hashcat.net/forum/thread-9618-post-55776.html#pid55776&lt;br /&gt;
* https://hashcat.net/tools/&lt;br /&gt;
* https://hashcat.net/wiki/&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10391</id>
		<title>Password Hashing with Hashcat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Password_Hashing_with_Hashcat&amp;diff=10391"/>
		<updated>2022-07-14T23:06:57Z</updated>

		<summary type="html">&lt;p&gt;BAras: Created page with &amp;quot;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border-color: #eaecf0; background-color: white; overflow:auto;&amp;quot;&amp;gt; &amp;lt;div style=&amp;quot;font-weight: normal;line-height:1.6;&amp;quot;&amp;gt;&amp;amp;#9432; Table of Contents&amp;lt;/div&amp;gt; &amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt; __TOC__ &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt;  == Summary ==  This article briefly describes how you can hash any accessed user credentials on a student matriculation website to crack passwords using the advanced password recovery tool named Hashcat...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border-color: #eaecf0; background-color: white; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight: normal;line-height:1.6;&amp;quot;&amp;gt;&amp;amp;#9432; Table of Contents&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
This article briefly describes how you can hash any accessed user credentials on a student matriculation website to crack passwords using the advanced password recovery tool named Hashcat. &lt;br /&gt;
A User or admin within the course of this project - a teacher who supervises small coaching or tuition might utilize this student registration. &lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* Login / Logout&lt;br /&gt;
* Registration&lt;br /&gt;
* Change Password&lt;br /&gt;
* Add New Student&lt;br /&gt;
* Delete Student&lt;br /&gt;
* View Student Details &lt;br /&gt;
* Edit Student Data&lt;br /&gt;
* Export Student Data in Excel file&lt;br /&gt;
* View short student data&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Hashcat GPU Driver requirements:&lt;br /&gt;
&lt;br /&gt;
* AMD GPUs on Linux require &amp;quot;RadeonOpenCompute (ROCm)&amp;quot; Software Platform (3.1 or later)&lt;br /&gt;
* AMD GPUs on Windows require &amp;quot;AMD Radeon Adrenalin 2020 Edition&amp;quot; (20.2.2 or later)&lt;br /&gt;
* Intel CPUs require &amp;quot;OpenCL Runtime for Intel Core and Intel Xeon Processors&amp;quot; (16.1.1 or later)&lt;br /&gt;
* NVIDIA GPUs require &amp;quot;NVIDIA Driver&amp;quot; (440.64 or later) and &amp;quot;CUDA Toolkit&amp;quot; (9.0 or later)&lt;br /&gt;
&lt;br /&gt;
Software Requirements:&lt;br /&gt;
&lt;br /&gt;
* XAMPP Server&lt;br /&gt;
* LAMP Server&lt;br /&gt;
&lt;br /&gt;
== An outline of the technology is as follows ==&lt;br /&gt;
&lt;br /&gt;
* Front end: HTML, CSS, JavaScript&lt;br /&gt;
* HTML: HTML is used to create and save web document. E.g. Notepad/Notepad++&lt;br /&gt;
* CSS : (Cascading Style Sheets) Create attractive Layout&lt;br /&gt;
* Bootstrap : responsive design mobile freindly site&lt;br /&gt;
* JavaScript: it is a programming language, commonly use with web browsers.&lt;br /&gt;
* Back end: PHP, MySQL&lt;br /&gt;
* PHP: Hypertext Preprocessor (PHP) is a technology that allows software developers to create dynamically generated web pages, in HTML, XML, or other document types, as per client request. PHP is open-source software.&lt;br /&gt;
* MySQL: MySql is a database, widely used for accessing querying, updating, and managing data in databases.&lt;br /&gt;
* hashcat.sh: script that is pre-configured with naive, emperically-tested, &amp;quot;good enough&amp;quot; parameters/attack types. Run hashcat attacks using ./naive-hashcat.sh to hash the passwords.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; border: 1px solid #8a6d3b; color: #8a6d3b; padding: 5px 10px; margin-bottom: 5px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Important&amp;lt;/b&amp;gt;: Continue with the next section, depending on whether the GPU requirements are fullfilled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #31708f; background-color: #d9edf7; color: #31708f; padding: 5px 10px; margin-bottom: 5px; text-align: justify&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: Hashcat ships with OpenCL and runs on available GPU hardware automatically when available!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://hashcat.net/hashcat/#Compiled-for-Hashcat Download] and extract the Hashcat binaries on the test device.&lt;br /&gt;
&lt;br /&gt;
== Deployment ==&lt;br /&gt;
&lt;br /&gt;
Hashcat.sh only accepts three arguments. The expression of all arguments uses unix environment variables. The following command displays the predetermined default values for each of the environment variables that can be customized by hashcat.sh:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; HASH_FILE=/examples0.hash POT_FILE=hashcat.pot HASH_TYPE=0 ./hashcat.sh &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HASH_FILE is a text file with one hash per line. These are the password hashes to be cracked.&lt;br /&gt;
* POT_FILE is the name of the output file that hashcat will write cracked password hashes to.&lt;br /&gt;
* HASH_TYPE is the hash-type code. It describes the type of hash to be cracked. 0 is md5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LIGHT/ DICTIONARY ATTACK - begin with a very simple and naive dictionary attack. This is blazing fast and it cracks ~20% of hashes&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DICTIONARY ATTACK WITH RULES - now lets move on to a rule based attack, d3ad0ne.rule is a great one to start with&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/d3ad0ne.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Rockyou is good and well-known leaked password file, and not too slow&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/rockyou-30000.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* MEDIUM- dive is an excellent rule file, but it takes a bit longer to run, so we will run it after d3ad0ne and rockyou&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 0 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt -r hashcat-3.6.0/rules/dive.rule --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* HEAVY- MASK ATTACK (BRUTE-FORCE)&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 3 &amp;quot;$HASH_FILE&amp;quot; hashcat-3.6.0/masks/rockyou-1-60.hcmask --potfile-path &amp;quot;$POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*COMBINATION ATTACK- this one can take 12+ hours, don&#039;t use it by default&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: grey&amp;quot;&amp;gt; &amp;quot;$HASHCAT&amp;quot; -m &amp;quot;$HASH_TYPE&amp;quot; -a 1 &amp;quot;$HASH_FILE&amp;quot; dicts/rockyou.txt dicts/rockyou.txt --potfile-path &amp;quot;POT_FILE&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion == &lt;br /&gt;
Hashcat is a very powerful tool. If hashcat can crack them, so can an attacker. Cracking stolen password hashes to take active steps throughout a network or to provide admin user rights is a common task for penetration testers on engagement.&lt;br /&gt;
&lt;br /&gt;
[[DISCLAIMER: This software is for educational purposes only. This software should not be used for illegal activity. The author is not responsible for its use.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
Betül Aras&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* https://hashcat.net/hashcat/&lt;br /&gt;
* https://hashcat.net/forum/thread-9618-post-55776.html#pid55776&lt;br /&gt;
* https://hashcat.net/tools/&lt;br /&gt;
* https://hashcat.net/wiki/&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>BAras</name></author>
	</entry>
</feed>