<?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=YRahal</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=YRahal"/>
	<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php/Special:Contributions/YRahal"/>
	<updated>2026-09-10T18:25:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18041</id>
		<title>Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18041"/>
		<updated>2026-01-23T12:27:42Z</updated>

		<summary type="html">&lt;p&gt;YRahal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools ==&lt;br /&gt;
This project evaluates the effectiveness and practicality of browser-based cryptojacking detection and prevention tools in a controlled VM lab environment. The lab uses a Web VM that hosts test websites via nginx and a Victim VM that visits them using Firefox. The test set includes benign pages, CPU-heavy but legitimate pages, synthetic “miner-like” pages using a WebWorker (CPU load + optional periodic /ping requests), and a real cryptomining sample site.&lt;br /&gt;
The goal is to measure (1) whether each tool blocks miner-like or real mining activity, (2) whether it produces false positives on benign content, and (3) what exactly is blocked (script, domain/WebSocket endpoint, worker load, etc.), including detection latency.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Host Machine: Windows with VirtualBox&lt;br /&gt;
Web VM (Ubuntu): nginx web server hosting the test pages&lt;br /&gt;
Victim VM (Ubuntu): Firefox browser used to access the pages&lt;br /&gt;
Network: Host-only network between the two VMs (example: 192.168.56.0/24)&lt;br /&gt;
Web VM IP: 192.168.56.10 (host-only interface)&lt;br /&gt;
Victim VM IP: 192.168.56.107 (host-only interface)&lt;br /&gt;
Web root (project): /var/www/crypto-test (nginx site: crypto-test)&lt;br /&gt;
&lt;br /&gt;
=== Test pages (hosted by nginx) ===&lt;br /&gt;
&lt;br /&gt;
benign.html — baseline normal page (no script)&lt;br /&gt;
&lt;br /&gt;
heavy-benign.html — CPU-heavy but legitimate (stress false-positive test)&lt;br /&gt;
&lt;br /&gt;
synthetic-miner.html — synthetic miner-like behavior (CPU-heavy WebWorker + optional /ping)&lt;br /&gt;
&lt;br /&gt;
miner-known.html — synthetic miner-like page using known miner script name (signature test)&lt;br /&gt;
&lt;br /&gt;
benign-coinhive-name.html — benign page that loads a coinhive-named script (name-based false-positive control)&lt;br /&gt;
&lt;br /&gt;
monero-webminer/ — real cryptomining sample -&amp;gt; https://github.com/NajmAjmal/monero-webminer/tree/main&lt;br /&gt;
&lt;br /&gt;
=== Scripts / worker variants ===&lt;br /&gt;
&lt;br /&gt;
pow-worker.js — synthetic PoW-style workload (CPU-only; used by synthetic-miner.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.min.js — renamed/copy variant used as a “known miner signature” bait (used by miner-known.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.js — benign “coinhive-like name” control script (used by benign-coinhive-name.html)&lt;br /&gt;
&lt;br /&gt;
script.js — real mining client script (used by monero-webminer/)&lt;br /&gt;
&lt;br /&gt;
=== Tools being tested ===&lt;br /&gt;
&lt;br /&gt;
MinerBlock &lt;br /&gt;
&lt;br /&gt;
AdGuard &lt;br /&gt;
&lt;br /&gt;
Malwarebytes &lt;br /&gt;
&lt;br /&gt;
uBlock Origin &lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
=== 1) Prepare connectivity between VMs ===&lt;br /&gt;
&lt;br /&gt;
On Web VM: confirm IP address (ip a) and note host-only address (192.168.56.10)&lt;br /&gt;
&lt;br /&gt;
On Victim VM: confirm IP address (ip a) and ensure it can reach the web VM:&lt;br /&gt;
** ping 192.168.56.10&lt;br /&gt;
&lt;br /&gt;
=== 2) Host the test pages on the Web VM (nginx) ===&lt;br /&gt;
&lt;br /&gt;
Confirm the nginx site root used for this project:&lt;br /&gt;
** grep -R &amp;quot;root &amp;quot; /etc/nginx/sites-enabled/ /etc/nginx/sites-available/ | head&lt;br /&gt;
&lt;br /&gt;
Place pages and scripts under the configured root (example: /var/www/crypto-test)&lt;br /&gt;
&lt;br /&gt;
Confirm each page is reachable from the Victim VM:&lt;br /&gt;
** curl -I http://192.168.56.10/benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/heavy-benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/synthetic-miner.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/miner-known.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/benign-coinhive-name.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/monero-webminer/&lt;br /&gt;
&lt;br /&gt;
=== 3) Measurement procedure (repeatable) ===&lt;br /&gt;
Each tool is tested against each page with the same procedure:&lt;br /&gt;
&lt;br /&gt;
Open a Private Window (or clear cache/site data between runs)&lt;br /&gt;
&lt;br /&gt;
Open DevTools → Network, enable “Disable cache”&lt;br /&gt;
&lt;br /&gt;
Load the page (Ctrl+Shift+R to force reload)&lt;br /&gt;
&lt;br /&gt;
If the page has Start/Stop controls, click Start and observe:&lt;br /&gt;
** Blocked? (Y/N)&lt;br /&gt;
** Detection latency (approx. seconds or measured via timestamps)&lt;br /&gt;
** False positive? (Y/N) for benign and heavy-benign and benign-coinhive-name&lt;br /&gt;
** What was blocked (script URL, worker load, domain/WebSocket endpoint, host)&lt;br /&gt;
&lt;br /&gt;
Capture evidence screenshots &lt;br /&gt;
&lt;br /&gt;
=== 4) data collection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Media:Cryptojacking_experiment_Screenshots_compressed.pdf|Screenshots (PDF)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
[[File:Restults Screenshot.png|thumb|900px|Results table for all tools and test pages.]]&lt;br /&gt;
&lt;br /&gt;
Baseline benign pages (benign.html, heavy-benign.html) loaded normally for all tools tested (no false positives observed in initial pass).&lt;br /&gt;
&lt;br /&gt;
Name-based control (benign-coinhive-name.html using coinhive.js) was not blocked in the initial pass for most tools, indicating that simple substring matching is not universal; however, signature-like names can still trigger blocking depending on the exact filename/list.&lt;br /&gt;
&lt;br /&gt;
Synthetic miner (synthetic-miner.html using pow-worker.js) was not blocked by several tools in the initial pass, suggesting limited behavioral detection for purely CPU-based worker workloads.&lt;br /&gt;
&lt;br /&gt;
Known-signature miner (miner-known.html using coinhive.min.js) was blocked by tools that rely on known miner indicators/lists; the block was visible as a blocked script request and/or extension UI warning.&lt;br /&gt;
&lt;br /&gt;
Real mining sample (monero-webminer/) produced WebSocket connections to an external endpoint (101 Switching Protocols) when not blocked; some tools blocked the mining client script and prevented mining from starting, while others did not detect it in the initial pass.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>YRahal</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18040</id>
		<title>Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18040"/>
		<updated>2026-01-23T12:20:11Z</updated>

		<summary type="html">&lt;p&gt;YRahal: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools ==&lt;br /&gt;
This project evaluates the effectiveness and practicality of browser-based cryptojacking detection and prevention tools in a controlled VM lab environment. The lab uses a Web VM that hosts test websites via nginx and a Victim VM that visits them using Firefox. The test set includes benign pages, CPU-heavy but legitimate pages, synthetic “miner-like” pages using a WebWorker (CPU load + optional periodic /ping requests), and a real cryptomining sample site.&lt;br /&gt;
The goal is to measure (1) whether each tool blocks miner-like or real mining activity, (2) whether it produces false positives on benign content, and (3) what exactly is blocked (script, domain/WebSocket endpoint, worker load, etc.), including detection latency and resource impact.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Host Machine: Windows with VirtualBox&lt;br /&gt;
Web VM (Ubuntu): nginx web server hosting the test pages&lt;br /&gt;
Victim VM (Ubuntu): Firefox browser used to access the pages&lt;br /&gt;
Network: Host-only network between the two VMs (example: 192.168.56.0/24)&lt;br /&gt;
Web VM IP: 192.168.56.10 (host-only interface)&lt;br /&gt;
Victim VM IP: 192.168.56.107 (host-only interface)&lt;br /&gt;
Web root (project): /var/www/crypto-test (nginx site: crypto-test)&lt;br /&gt;
&lt;br /&gt;
=== Test pages (hosted by nginx) ===&lt;br /&gt;
&lt;br /&gt;
benign.html — baseline normal page (no script)&lt;br /&gt;
&lt;br /&gt;
heavy-benign.html — CPU-heavy but legitimate (stress false-positive test)&lt;br /&gt;
&lt;br /&gt;
synthetic-miner.html — synthetic miner-like behavior (CPU-heavy WebWorker + optional /ping)&lt;br /&gt;
&lt;br /&gt;
miner-known.html — synthetic miner-like page using known miner script name (signature test)&lt;br /&gt;
&lt;br /&gt;
benign-coinhive-name.html — benign page that loads a coinhive-named script (name-based false-positive control)&lt;br /&gt;
&lt;br /&gt;
monero-webminer/ — real cryptomining sample -&amp;gt; https://github.com/NajmAjmal/monero-webminer/tree/main&lt;br /&gt;
&lt;br /&gt;
=== Scripts / worker variants ===&lt;br /&gt;
&lt;br /&gt;
pow-worker.js — synthetic PoW-style workload (CPU-only; used by synthetic-miner.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.min.js — renamed/copy variant used as a “known miner signature” bait (used by miner-known.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.js — benign “coinhive-like name” control script (used by benign-coinhive-name.html)&lt;br /&gt;
&lt;br /&gt;
script.js — real mining client script (used by monero-webminer/)&lt;br /&gt;
&lt;br /&gt;
=== Tools being tested ===&lt;br /&gt;
&lt;br /&gt;
MinerBlock &lt;br /&gt;
&lt;br /&gt;
AdGuard &lt;br /&gt;
&lt;br /&gt;
Malwarebytes &lt;br /&gt;
&lt;br /&gt;
uBlock Origin &lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
=== 1) Prepare connectivity between VMs ===&lt;br /&gt;
&lt;br /&gt;
On Web VM: confirm IP address (ip a) and note host-only address (192.168.56.10)&lt;br /&gt;
&lt;br /&gt;
On Victim VM: confirm IP address (ip a) and ensure it can reach the web VM:&lt;br /&gt;
** ping 192.168.56.10&lt;br /&gt;
&lt;br /&gt;
=== 2) Host the test pages on the Web VM (nginx) ===&lt;br /&gt;
&lt;br /&gt;
Confirm the nginx site root used for this project:&lt;br /&gt;
** grep -R &amp;quot;root &amp;quot; /etc/nginx/sites-enabled/ /etc/nginx/sites-available/ | head&lt;br /&gt;
&lt;br /&gt;
Place pages and scripts under the configured root (example: /var/www/crypto-test)&lt;br /&gt;
&lt;br /&gt;
Confirm each page is reachable from the Victim VM:&lt;br /&gt;
** curl -I http://192.168.56.10/benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/heavy-benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/synthetic-miner.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/miner-known.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/benign-coinhive-name.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/monero-webminer/&lt;br /&gt;
&lt;br /&gt;
=== 3) Measurement procedure (repeatable) ===&lt;br /&gt;
Each tool is tested against each page with the same procedure:&lt;br /&gt;
&lt;br /&gt;
Open a Private Window (or clear cache/site data between runs)&lt;br /&gt;
&lt;br /&gt;
Open DevTools → Network, enable “Disable cache”&lt;br /&gt;
&lt;br /&gt;
Load the page (Ctrl+Shift+R to force reload)&lt;br /&gt;
&lt;br /&gt;
If the page has Start/Stop controls, click Start and observe:&lt;br /&gt;
** Blocked? (Y/N)&lt;br /&gt;
** Detection latency (approx. seconds or measured via timestamps)&lt;br /&gt;
** False positive? (Y/N) for benign and heavy-benign and benign-coinhive-name&lt;br /&gt;
** What was blocked (script URL, worker load, domain/WebSocket endpoint, host)&lt;br /&gt;
&lt;br /&gt;
Capture evidence screenshots &lt;br /&gt;
&lt;br /&gt;
=== 4) data collection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Media:Cryptojacking_experiment_Screenshots_compressed.pdf|Screenshots (PDF)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
[[File:Restults Screenshot.png|thumb|900px|Results table for all tools and test pages.]]&lt;br /&gt;
&lt;br /&gt;
Baseline benign pages (benign.html, heavy-benign.html) loaded normally for all tools tested (no false positives observed in initial pass).&lt;br /&gt;
&lt;br /&gt;
Name-based control (benign-coinhive-name.html using coinhive.js) was not blocked in the initial pass for most tools, indicating that simple substring matching is not universal; however, signature-like names can still trigger blocking depending on the exact filename/list.&lt;br /&gt;
&lt;br /&gt;
Synthetic miner (synthetic-miner.html using pow-worker.js) was not blocked by several tools in the initial pass, suggesting limited behavioral detection for purely CPU-based worker workloads.&lt;br /&gt;
&lt;br /&gt;
Known-signature miner (miner-known.html using coinhive.min.js) was blocked by tools that rely on known miner indicators/lists; the block was visible as a blocked script request and/or extension UI warning.&lt;br /&gt;
&lt;br /&gt;
Real mining sample (monero-webminer/) produced WebSocket connections to an external endpoint (101 Switching Protocols) when not blocked; some tools blocked the mining client script and prevented mining from starting, while others did not detect it in the initial pass.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>YRahal</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18039</id>
		<title>Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18039"/>
		<updated>2026-01-23T12:17:45Z</updated>

		<summary type="html">&lt;p&gt;YRahal: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools ==&lt;br /&gt;
This project evaluates the effectiveness and practicality of browser-based cryptojacking detection and prevention tools in a controlled VM lab environment. The lab uses a Web VM that hosts test websites via nginx and a Victim VM that visits them using Firefox. The test set includes benign pages, CPU-heavy but legitimate pages, synthetic “miner-like” pages using a WebWorker (CPU load + optional periodic /ping requests), and a real cryptomining sample site.&lt;br /&gt;
The goal is to measure (1) whether each tool blocks miner-like or real mining activity, (2) whether it produces false positives on benign content, and (3) what exactly is blocked (script, domain/WebSocket endpoint, worker load, etc.), including detection latency and resource impact.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Host Machine: Windows with VirtualBox&lt;br /&gt;
Web VM (Ubuntu): nginx web server hosting the test pages&lt;br /&gt;
Victim VM (Ubuntu): Firefox browser used to access the pages&lt;br /&gt;
Network: Host-only network between the two VMs (example: 192.168.56.0/24)&lt;br /&gt;
Web VM IP: 192.168.56.10 (host-only interface)&lt;br /&gt;
Victim VM IP: 192.168.56.107 (host-only interface)&lt;br /&gt;
Web root (project): /var/www/crypto-test (nginx site: crypto-test)&lt;br /&gt;
&lt;br /&gt;
=== Test pages (hosted by nginx) ===&lt;br /&gt;
&lt;br /&gt;
benign.html — baseline normal page (no script)&lt;br /&gt;
&lt;br /&gt;
heavy-benign.html — CPU-heavy but legitimate (stress false-positive test)&lt;br /&gt;
&lt;br /&gt;
synthetic-miner.html — synthetic miner-like behavior (CPU-heavy WebWorker + optional /ping)&lt;br /&gt;
&lt;br /&gt;
miner-known.html — synthetic miner-like page using known miner script name (signature test)&lt;br /&gt;
&lt;br /&gt;
benign-coinhive-name.html — benign page that loads a coinhive-named script (name-based false-positive control)&lt;br /&gt;
&lt;br /&gt;
monero-webminer/ — real cryptomining sample -&amp;gt; https://github.com/NajmAjmal/monero-webminer/tree/main&lt;br /&gt;
&lt;br /&gt;
=== Scripts / worker variants ===&lt;br /&gt;
&lt;br /&gt;
pow-worker.js — synthetic PoW-style workload (CPU-only; used by synthetic-miner.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.min.js — renamed/copy variant used as a “known miner signature” bait (used by miner-known.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.js — benign “coinhive-like name” control script (used by benign-coinhive-name.html)&lt;br /&gt;
&lt;br /&gt;
script.js — real mining client script (used by monero-webminer/)&lt;br /&gt;
&lt;br /&gt;
=== Tools being tested ===&lt;br /&gt;
&lt;br /&gt;
MinerBlock &lt;br /&gt;
&lt;br /&gt;
AdGuard &lt;br /&gt;
&lt;br /&gt;
Malwarebytes &lt;br /&gt;
&lt;br /&gt;
uBlock Origin &lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
=== 1) Prepare connectivity between VMs ===&lt;br /&gt;
&lt;br /&gt;
On Web VM: confirm IP address (ip a) and note host-only address (192.168.56.10)&lt;br /&gt;
&lt;br /&gt;
On Victim VM: confirm IP address (ip a) and ensure it can reach the web VM:&lt;br /&gt;
** ping 192.168.56.10&lt;br /&gt;
&lt;br /&gt;
=== 2) Host the test pages on the Web VM (nginx) ===&lt;br /&gt;
&lt;br /&gt;
Confirm the nginx site root used for this project:&lt;br /&gt;
** grep -R &amp;quot;root &amp;quot; /etc/nginx/sites-enabled/ /etc/nginx/sites-available/ | head&lt;br /&gt;
&lt;br /&gt;
Place pages and scripts under the configured root (example: /var/www/crypto-test)&lt;br /&gt;
&lt;br /&gt;
Confirm each page is reachable from the Victim VM:&lt;br /&gt;
** curl -I http://192.168.56.10/benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/heavy-benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/synthetic-miner.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/miner-known.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/benign-coinhive-name.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/monero-webminer/&lt;br /&gt;
&lt;br /&gt;
=== 3) Measurement procedure (repeatable) ===&lt;br /&gt;
Each tool is tested against each page with the same procedure:&lt;br /&gt;
&lt;br /&gt;
Open a Private Window (or clear cache/site data between runs)&lt;br /&gt;
&lt;br /&gt;
Open DevTools → Network, enable “Disable cache”&lt;br /&gt;
&lt;br /&gt;
Load the page (Ctrl+Shift+R to force reload)&lt;br /&gt;
&lt;br /&gt;
If the page has Start/Stop controls, click Start and observe:&lt;br /&gt;
** Blocked? (Y/N)&lt;br /&gt;
** Detection latency (approx. seconds or measured via timestamps)&lt;br /&gt;
** False positive? (Y/N) for benign and heavy-benign and benign-coinhive-name&lt;br /&gt;
** What was blocked (script URL, worker load, domain/WebSocket endpoint, host)&lt;br /&gt;
&lt;br /&gt;
Capture evidence screenshots &lt;br /&gt;
&lt;br /&gt;
=== 4) data collection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Media:Cryptojacking_experiment_Screenshots_compressed.pdf|Screenshots (PDF)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
* [[Media:Results Screenshot.png|Results table (PNG)]]&lt;br /&gt;
&lt;br /&gt;
Baseline benign pages (benign.html, heavy-benign.html) loaded normally for all tools tested (no false positives observed in initial pass).&lt;br /&gt;
&lt;br /&gt;
Name-based control (benign-coinhive-name.html using coinhive.js) was not blocked in the initial pass for most tools, indicating that simple substring matching is not universal; however, signature-like names can still trigger blocking depending on the exact filename/list.&lt;br /&gt;
&lt;br /&gt;
Synthetic miner (synthetic-miner.html using pow-worker.js) was not blocked by several tools in the initial pass, suggesting limited behavioral detection for purely CPU-based worker workloads.&lt;br /&gt;
&lt;br /&gt;
Known-signature miner (miner-known.html using coinhive.min.js) was blocked by tools that rely on known miner indicators/lists; the block was visible as a blocked script request and/or extension UI warning.&lt;br /&gt;
&lt;br /&gt;
Real mining sample (monero-webminer/) produced WebSocket connections to an external endpoint (101 Switching Protocols) when not blocked; some tools blocked the mining client script and prevented mining from starting, while others did not detect it in the initial pass.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>YRahal</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18038</id>
		<title>Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18038"/>
		<updated>2026-01-23T12:16:30Z</updated>

		<summary type="html">&lt;p&gt;YRahal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools ==&lt;br /&gt;
This project evaluates the effectiveness and practicality of browser-based cryptojacking detection and prevention tools in a controlled VM lab environment. The lab uses a Web VM that hosts test websites via nginx and a Victim VM that visits them using Firefox. The test set includes benign pages, CPU-heavy but legitimate pages, synthetic “miner-like” pages using a WebWorker (CPU load + optional periodic /ping requests), and a real cryptomining sample site.&lt;br /&gt;
The goal is to measure (1) whether each tool blocks miner-like or real mining activity, (2) whether it produces false positives on benign content, and (3) what exactly is blocked (script, domain/WebSocket endpoint, worker load, etc.), including detection latency and resource impact.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Host Machine: Windows with VirtualBox&lt;br /&gt;
Web VM (Ubuntu): nginx web server hosting the test pages&lt;br /&gt;
Victim VM (Ubuntu): Firefox browser used to access the pages&lt;br /&gt;
Network: Host-only network between the two VMs (example: 192.168.56.0/24)&lt;br /&gt;
Web VM IP: 192.168.56.10 (host-only interface)&lt;br /&gt;
Victim VM IP: 192.168.56.107 (host-only interface)&lt;br /&gt;
Web root (project): /var/www/crypto-test (nginx site: crypto-test)&lt;br /&gt;
&lt;br /&gt;
=== Test pages (hosted by nginx) ===&lt;br /&gt;
&lt;br /&gt;
benign.html — baseline normal page (no script)&lt;br /&gt;
&lt;br /&gt;
heavy-benign.html — CPU-heavy but legitimate (stress false-positive test)&lt;br /&gt;
&lt;br /&gt;
synthetic-miner.html — synthetic miner-like behavior (CPU-heavy WebWorker + optional /ping)&lt;br /&gt;
&lt;br /&gt;
miner-known.html — synthetic miner-like page using known miner script name (signature test)&lt;br /&gt;
&lt;br /&gt;
benign-coinhive-name.html — benign page that loads a coinhive-named script (name-based false-positive control)&lt;br /&gt;
&lt;br /&gt;
monero-webminer/ — real cryptomining sample -&amp;gt; https://github.com/NajmAjmal/monero-webminer/tree/main&lt;br /&gt;
&lt;br /&gt;
=== Scripts / worker variants ===&lt;br /&gt;
&lt;br /&gt;
pow-worker.js — synthetic PoW-style workload (CPU-only; used by synthetic-miner.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.min.js — renamed/copy variant used as a “known miner signature” bait (used by miner-known.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.js — benign “coinhive-like name” control script (used by benign-coinhive-name.html)&lt;br /&gt;
&lt;br /&gt;
script.js — real mining client script (used by monero-webminer/)&lt;br /&gt;
&lt;br /&gt;
=== Tools being tested ===&lt;br /&gt;
&lt;br /&gt;
MinerBlock &lt;br /&gt;
&lt;br /&gt;
AdGuard &lt;br /&gt;
&lt;br /&gt;
Malwarebytes &lt;br /&gt;
&lt;br /&gt;
uBlock Origin &lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
=== 1) Prepare connectivity between VMs ===&lt;br /&gt;
&lt;br /&gt;
On Web VM: confirm IP address (ip a) and note host-only address (192.168.56.10)&lt;br /&gt;
&lt;br /&gt;
On Victim VM: confirm IP address (ip a) and ensure it can reach the web VM:&lt;br /&gt;
** ping 192.168.56.10&lt;br /&gt;
&lt;br /&gt;
=== 2) Host the test pages on the Web VM (nginx) ===&lt;br /&gt;
&lt;br /&gt;
Confirm the nginx site root used for this project:&lt;br /&gt;
** grep -R &amp;quot;root &amp;quot; /etc/nginx/sites-enabled/ /etc/nginx/sites-available/ | head&lt;br /&gt;
&lt;br /&gt;
Place pages and scripts under the configured root (example: /var/www/crypto-test)&lt;br /&gt;
&lt;br /&gt;
Confirm each page is reachable from the Victim VM:&lt;br /&gt;
** curl -I http://192.168.56.10/benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/heavy-benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/synthetic-miner.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/miner-known.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/benign-coinhive-name.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/monero-webminer/&lt;br /&gt;
&lt;br /&gt;
=== 3) Measurement procedure (repeatable) ===&lt;br /&gt;
Each tool is tested against each page with the same procedure:&lt;br /&gt;
&lt;br /&gt;
Open a Private Window (or clear cache/site data between runs)&lt;br /&gt;
&lt;br /&gt;
Open DevTools → Network, enable “Disable cache”&lt;br /&gt;
&lt;br /&gt;
Load the page (Ctrl+Shift+R to force reload)&lt;br /&gt;
&lt;br /&gt;
If the page has Start/Stop controls, click Start and observe:&lt;br /&gt;
** Blocked? (Y/N)&lt;br /&gt;
** Detection latency (approx. seconds or measured via timestamps)&lt;br /&gt;
** False positive? (Y/N) for benign and heavy-benign and benign-coinhive-name&lt;br /&gt;
** What was blocked (script URL, worker load, domain/WebSocket endpoint, host)&lt;br /&gt;
&lt;br /&gt;
Capture evidence screenshots &lt;br /&gt;
&lt;br /&gt;
=== 4) data collection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Media:Cryptojacking_experiment_Screenshots_compressed.pdf|Screenshots (PDF)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
* [[Media:Results_Screenshot.png|Results table (PNG)]]&lt;br /&gt;
&lt;br /&gt;
Baseline benign pages (benign.html, heavy-benign.html) loaded normally for all tools tested (no false positives observed in initial pass).&lt;br /&gt;
&lt;br /&gt;
Name-based control (benign-coinhive-name.html using coinhive.js) was not blocked in the initial pass for most tools, indicating that simple substring matching is not universal; however, signature-like names can still trigger blocking depending on the exact filename/list.&lt;br /&gt;
&lt;br /&gt;
Synthetic miner (synthetic-miner.html using pow-worker.js) was not blocked by several tools in the initial pass, suggesting limited behavioral detection for purely CPU-based worker workloads.&lt;br /&gt;
&lt;br /&gt;
Known-signature miner (miner-known.html using coinhive.min.js) was blocked by tools that rely on known miner indicators/lists; the block was visible as a blocked script request and/or extension UI warning.&lt;br /&gt;
&lt;br /&gt;
Real mining sample (monero-webminer/) produced WebSocket connections to an external endpoint (101 Switching Protocols) when not blocked; some tools blocked the mining client script and prevented mining from starting, while others did not detect it in the initial pass.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>YRahal</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18037</id>
		<title>Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18037"/>
		<updated>2026-01-23T12:14:50Z</updated>

		<summary type="html">&lt;p&gt;YRahal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools ==&lt;br /&gt;
This project evaluates the effectiveness and practicality of browser-based cryptojacking detection and prevention tools in a controlled VM lab environment. The lab uses a Web VM that hosts test websites via nginx and a Victim VM that visits them using Firefox. The test set includes benign pages, CPU-heavy but legitimate pages, synthetic “miner-like” pages using a WebWorker (CPU load + optional periodic /ping requests), and a real cryptomining sample site.&lt;br /&gt;
The goal is to measure (1) whether each tool blocks miner-like or real mining activity, (2) whether it produces false positives on benign content, and (3) what exactly is blocked (script, domain/WebSocket endpoint, worker load, etc.), including detection latency and resource impact.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Host Machine: Windows with VirtualBox&lt;br /&gt;
Web VM (Ubuntu): nginx web server hosting the test pages&lt;br /&gt;
Victim VM (Ubuntu): Firefox browser used to access the pages&lt;br /&gt;
Network: Host-only network between the two VMs (example: 192.168.56.0/24)&lt;br /&gt;
Web VM IP: 192.168.56.10 (host-only interface)&lt;br /&gt;
Victim VM IP: 192.168.56.107 (host-only interface)&lt;br /&gt;
Web root (project): /var/www/crypto-test (nginx site: crypto-test)&lt;br /&gt;
&lt;br /&gt;
=== Test pages (hosted by nginx) ===&lt;br /&gt;
&lt;br /&gt;
benign.html — baseline normal page (no script)&lt;br /&gt;
&lt;br /&gt;
heavy-benign.html — CPU-heavy but legitimate (stress false-positive test)&lt;br /&gt;
&lt;br /&gt;
synthetic-miner.html — synthetic miner-like behavior (CPU-heavy WebWorker + optional /ping)&lt;br /&gt;
&lt;br /&gt;
miner-known.html — synthetic miner-like page using known miner script name (signature test)&lt;br /&gt;
&lt;br /&gt;
benign-coinhive-name.html — benign page that loads a coinhive-named script (name-based false-positive control)&lt;br /&gt;
&lt;br /&gt;
monero-webminer/ — real cryptomining sample -&amp;gt; https://github.com/NajmAjmal/monero-webminer/tree/main&lt;br /&gt;
&lt;br /&gt;
=== Scripts / worker variants ===&lt;br /&gt;
&lt;br /&gt;
pow-worker.js — synthetic PoW-style workload (CPU-only; used by synthetic-miner.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.min.js — renamed/copy variant used as a “known miner signature” bait (used by miner-known.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.js — benign “coinhive-like name” control script (used by benign-coinhive-name.html)&lt;br /&gt;
&lt;br /&gt;
script.js — real mining client script (used by monero-webminer/)&lt;br /&gt;
&lt;br /&gt;
=== Tools being tested ===&lt;br /&gt;
&lt;br /&gt;
MinerBlock &lt;br /&gt;
&lt;br /&gt;
AdGuard &lt;br /&gt;
&lt;br /&gt;
Malwarebytes &lt;br /&gt;
&lt;br /&gt;
uBlock Origin &lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
=== 1) Prepare connectivity between VMs ===&lt;br /&gt;
&lt;br /&gt;
On Web VM: confirm IP address (ip a) and note host-only address (192.168.56.10)&lt;br /&gt;
&lt;br /&gt;
On Victim VM: confirm IP address (ip a) and ensure it can reach the web VM:&lt;br /&gt;
** ping 192.168.56.10&lt;br /&gt;
&lt;br /&gt;
=== 2) Host the test pages on the Web VM (nginx) ===&lt;br /&gt;
&lt;br /&gt;
Confirm the nginx site root used for this project:&lt;br /&gt;
** grep -R &amp;quot;root &amp;quot; /etc/nginx/sites-enabled/ /etc/nginx/sites-available/ | head&lt;br /&gt;
&lt;br /&gt;
Place pages and scripts under the configured root (example: /var/www/crypto-test)&lt;br /&gt;
&lt;br /&gt;
Confirm each page is reachable from the Victim VM:&lt;br /&gt;
** curl -I http://192.168.56.10/benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/heavy-benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/synthetic-miner.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/miner-known.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/benign-coinhive-name.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/monero-webminer/&lt;br /&gt;
&lt;br /&gt;
=== 3) Measurement procedure (repeatable) ===&lt;br /&gt;
Each tool is tested against each page with the same procedure:&lt;br /&gt;
&lt;br /&gt;
Open a Private Window (or clear cache/site data between runs)&lt;br /&gt;
&lt;br /&gt;
Open DevTools → Network, enable “Disable cache”&lt;br /&gt;
&lt;br /&gt;
Load the page (Ctrl+Shift+R to force reload)&lt;br /&gt;
&lt;br /&gt;
If the page has Start/Stop controls, click Start and observe:&lt;br /&gt;
** Blocked? (Y/N)&lt;br /&gt;
** Detection latency (approx. seconds or measured via timestamps)&lt;br /&gt;
** False positive? (Y/N) for benign and heavy-benign and benign-coinhive-name&lt;br /&gt;
** What was blocked (script URL, worker load, domain/WebSocket endpoint, host)&lt;br /&gt;
&lt;br /&gt;
Capture evidence screenshots &lt;br /&gt;
&lt;br /&gt;
=== 4) data collection ===&lt;br /&gt;
Pages:&lt;br /&gt;
&lt;br /&gt;
* [[Media:Cryptojacking_experiment_Screenshots_compressed.pdf|Screenshots (PDF)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Results So Far (initial run) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Baseline benign pages (benign.html, heavy-benign.html) loaded normally for all tools tested (no false positives observed in initial pass).&lt;br /&gt;
&lt;br /&gt;
Name-based control (benign-coinhive-name.html using coinhive.js) was not blocked in the initial pass for most tools, indicating that simple substring matching is not universal; however, signature-like names can still trigger blocking depending on the exact filename/list.&lt;br /&gt;
&lt;br /&gt;
Synthetic miner (synthetic-miner.html using pow-worker.js) was not blocked by several tools in the initial pass, suggesting limited behavioral detection for purely CPU-based worker workloads.&lt;br /&gt;
&lt;br /&gt;
Known-signature miner (miner-known.html using coinhive.min.js) was blocked by tools that rely on known miner indicators/lists; the block was visible as a blocked script request and/or extension UI warning.&lt;br /&gt;
&lt;br /&gt;
Real mining sample (monero-webminer/) produced WebSocket connections to an external endpoint (101 Switching Protocols) when not blocked; some tools blocked the mining client script and prevented mining from starting, while others did not detect it in the initial pass.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>YRahal</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Restults_Screenshot.png&amp;diff=18036</id>
		<title>File:Restults Screenshot.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Restults_Screenshot.png&amp;diff=18036"/>
		<updated>2026-01-23T12:13:23Z</updated>

		<summary type="html">&lt;p&gt;YRahal: Screenshots of the results of the experement that has been done&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshots of the results of the experement that has been done&lt;/div&gt;</summary>
		<author><name>YRahal</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Cryptojacking_experiment_Screenshots_compressed.pdf&amp;diff=18035</id>
		<title>File:Cryptojacking experiment Screenshots compressed.pdf</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Cryptojacking_experiment_Screenshots_compressed.pdf&amp;diff=18035"/>
		<updated>2026-01-23T12:11:05Z</updated>

		<summary type="html">&lt;p&gt;YRahal: Screenshots of the experement that has been done&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshots of the experement that has been done&lt;/div&gt;</summary>
		<author><name>YRahal</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18034</id>
		<title>Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18034"/>
		<updated>2026-01-23T12:08:53Z</updated>

		<summary type="html">&lt;p&gt;YRahal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools ==&lt;br /&gt;
This project evaluates the effectiveness and practicality of browser-based cryptojacking detection and prevention tools in a controlled VM lab environment. The lab uses a Web VM that hosts test websites via nginx and a Victim VM that visits them using Firefox. The test set includes benign pages, CPU-heavy but legitimate pages, synthetic “miner-like” pages using a WebWorker (CPU load + optional periodic /ping requests), and a real cryptomining sample site.&lt;br /&gt;
The goal is to measure (1) whether each tool blocks miner-like or real mining activity, (2) whether it produces false positives on benign content, and (3) what exactly is blocked (script, domain/WebSocket endpoint, worker load, etc.), including detection latency and resource impact.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Host Machine: Windows with VirtualBox&lt;br /&gt;
Web VM (Ubuntu): nginx web server hosting the test pages&lt;br /&gt;
Victim VM (Ubuntu): Firefox browser used to access the pages&lt;br /&gt;
Network: Host-only network between the two VMs (example: 192.168.56.0/24)&lt;br /&gt;
Web VM IP: 192.168.56.10 (host-only interface)&lt;br /&gt;
Victim VM IP: 192.168.56.107 (host-only interface)&lt;br /&gt;
Web root (project): /var/www/crypto-test (nginx site: crypto-test)&lt;br /&gt;
&lt;br /&gt;
=== Test pages (hosted by nginx) ===&lt;br /&gt;
&lt;br /&gt;
benign.html — baseline normal page (no script)&lt;br /&gt;
&lt;br /&gt;
heavy-benign.html — CPU-heavy but legitimate (stress false-positive test)&lt;br /&gt;
&lt;br /&gt;
synthetic-miner.html — synthetic miner-like behavior (CPU-heavy WebWorker + optional /ping)&lt;br /&gt;
&lt;br /&gt;
miner-known.html — synthetic miner-like page using known miner script name (signature test)&lt;br /&gt;
&lt;br /&gt;
benign-coinhive-name.html — benign page that loads a coinhive-named script (name-based false-positive control)&lt;br /&gt;
&lt;br /&gt;
monero-webminer/ — real cryptomining sample -&amp;gt; https://github.com/NajmAjmal/monero-webminer/tree/main&lt;br /&gt;
&lt;br /&gt;
=== Scripts / worker variants ===&lt;br /&gt;
&lt;br /&gt;
pow-worker.js — synthetic PoW-style workload (CPU-only; used by synthetic-miner.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.min.js — renamed/copy variant used as a “known miner signature” bait (used by miner-known.html)&lt;br /&gt;
&lt;br /&gt;
coinhive.js — benign “coinhive-like name” control script (used by benign-coinhive-name.html)&lt;br /&gt;
&lt;br /&gt;
script.js — real mining client script (used by monero-webminer/)&lt;br /&gt;
&lt;br /&gt;
=== Tools being tested ===&lt;br /&gt;
&lt;br /&gt;
MinerBlock &lt;br /&gt;
&lt;br /&gt;
AdGuard &lt;br /&gt;
&lt;br /&gt;
Malwarebytes &lt;br /&gt;
&lt;br /&gt;
uBlock Origin &lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
=== 1) Prepare connectivity between VMs ===&lt;br /&gt;
&lt;br /&gt;
On Web VM: confirm IP address (ip a) and note host-only address (192.168.56.10)&lt;br /&gt;
&lt;br /&gt;
On Victim VM: confirm IP address (ip a) and ensure it can reach the web VM:&lt;br /&gt;
** ping 192.168.56.10&lt;br /&gt;
&lt;br /&gt;
=== 2) Host the test pages on the Web VM (nginx) ===&lt;br /&gt;
&lt;br /&gt;
Confirm the nginx site root used for this project:&lt;br /&gt;
** grep -R &amp;quot;root &amp;quot; /etc/nginx/sites-enabled/ /etc/nginx/sites-available/ | head&lt;br /&gt;
&lt;br /&gt;
Place pages and scripts under the configured root (example: /var/www/crypto-test)&lt;br /&gt;
&lt;br /&gt;
Confirm each page is reachable from the Victim VM:&lt;br /&gt;
** curl -I http://192.168.56.10/benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/heavy-benign.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/synthetic-miner.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/miner-known.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/benign-coinhive-name.html&lt;br /&gt;
&lt;br /&gt;
** curl -I http://192.168.56.10/monero-webminer/&lt;br /&gt;
&lt;br /&gt;
=== 3) Measurement procedure (repeatable) ===&lt;br /&gt;
Each tool is tested against each page with the same procedure:&lt;br /&gt;
&lt;br /&gt;
Open a Private Window (or clear cache/site data between runs)&lt;br /&gt;
&lt;br /&gt;
Open DevTools → Network, enable “Disable cache”&lt;br /&gt;
&lt;br /&gt;
Load the page (Ctrl+Shift+R to force reload)&lt;br /&gt;
&lt;br /&gt;
If the page has Start/Stop controls, click Start and observe:&lt;br /&gt;
** Blocked? (Y/N)&lt;br /&gt;
** Detection latency (approx. seconds or measured via timestamps)&lt;br /&gt;
** False positive? (Y/N) for benign and heavy-benign and benign-coinhive-name&lt;br /&gt;
** What was blocked (script URL, worker load, domain/WebSocket endpoint, host)&lt;br /&gt;
&lt;br /&gt;
Capture evidence screenshots &lt;br /&gt;
&lt;br /&gt;
=== 4) data collection ===&lt;br /&gt;
Pages:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Results So Far (initial run) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Baseline benign pages (benign.html, heavy-benign.html) loaded normally for all tools tested (no false positives observed in initial pass).&lt;br /&gt;
&lt;br /&gt;
Name-based control (benign-coinhive-name.html using coinhive.js) was not blocked in the initial pass for most tools, indicating that simple substring matching is not universal; however, signature-like names can still trigger blocking depending on the exact filename/list.&lt;br /&gt;
&lt;br /&gt;
Synthetic miner (synthetic-miner.html using pow-worker.js) was not blocked by several tools in the initial pass, suggesting limited behavioral detection for purely CPU-based worker workloads.&lt;br /&gt;
&lt;br /&gt;
Known-signature miner (miner-known.html using coinhive.min.js) was blocked by tools that rely on known miner indicators/lists; the block was visible as a blocked script request and/or extension UI warning.&lt;br /&gt;
&lt;br /&gt;
Real mining sample (monero-webminer/) produced WebSocket connections to an external endpoint (101 Switching Protocols) when not blocked; some tools blocked the mining client script and prevented mining from starting, while others did not detect it in the initial pass.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>YRahal</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=(Article_title)&amp;diff=18033</id>
		<title>(Article title)</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=(Article_title)&amp;diff=18033"/>
		<updated>2026-01-20T20:14:56Z</updated>

		<summary type="html">&lt;p&gt;YRahal: YRahal moved page (Article title) to Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools: Title Change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools]]&lt;/div&gt;</summary>
		<author><name>YRahal</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18032</id>
		<title>Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18032"/>
		<updated>2026-01-20T20:14:56Z</updated>

		<summary type="html">&lt;p&gt;YRahal: YRahal moved page (Article title) to Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools: Title Change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools ==&lt;br /&gt;
This project evaluates how effective and practical browser-based cryptojacking tools are in a controlled VM lab environment. The lab uses a Web VM that hosts multiple test websites and a Victim VM that visits them using Firefox. The websites include benign pages and miner-like pages that generate sustained CPU load via a WebWorker and optionally send periodic network requests to a local /ping endpoint. The goal is to observe whether a tool blocks the miner-like pages, whether it incorrectly blocks benign pages, and how the tool behaves (block message, stopped execution, etc.).&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Host Machine: Windows with VirtualBox&lt;br /&gt;
Web VM (Ubuntu): nginx web server hosting the test pages&lt;br /&gt;
Victim VM (Ubuntu): Firefox browser used to access the pages&lt;br /&gt;
Network: Host-only network between the two VMs (example: 192.168.56.0/24)&lt;br /&gt;
Web VM IP: 192.168.56.10 (host-only interface)&lt;br /&gt;
Victim VM IP: 192.168.56.107 (host-only interface)&lt;br /&gt;
Test websites hosted by nginx (served from /var/www/html/)&lt;br /&gt;
&lt;br /&gt;
#* benign.html (no mining behavior)&lt;br /&gt;
#* heavy-benign.html (CPU-heavy but legitimate)&lt;br /&gt;
#* synthetic-miner.html (miner-like CPU + periodic /ping)&lt;br /&gt;
#* miner-known.html (miner-like page that loads the worker as “coinhive.min.js”)&lt;br /&gt;
&lt;br /&gt;
Test mining-like worker file(s)&lt;br /&gt;
&lt;br /&gt;
#* pow-worker.js (synthetic PoW-style workload, CPU-only)&lt;br /&gt;
#* coinhive.min.js (copy/rename of the worker to test signature-based blocking)&lt;br /&gt;
&lt;br /&gt;
Tested extension (so far)&lt;br /&gt;
&lt;br /&gt;
#* MinerBlock (Firefox extension)&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Prepare connectivity between VMs&lt;br /&gt;
&lt;br /&gt;
#* On Web VM: confirm IP address (ip a) and note host-only address (192.168.56.10)&lt;br /&gt;
#* On Victim VM: confirm IP address (ip a) and ensure it can reach the web VM (ping 192.168.56.10)&lt;br /&gt;
&lt;br /&gt;
Host test pages on Web VM using nginx&lt;br /&gt;
&lt;br /&gt;
#* Copy/create website files in nginx document root:&lt;br /&gt;
#** /var/www/html/benign.html&lt;br /&gt;
#** /var/www/html/heavy-benign.html&lt;br /&gt;
#** /var/www/html/synthetic-miner.html&lt;br /&gt;
#** /var/www/html/miner-known.html&lt;br /&gt;
#* Confirm files are available:&lt;br /&gt;
#** curl -I http://192.168.56.10/benign.html&lt;br /&gt;
&lt;br /&gt;
#** curl -I http://192.168.56.10/heavy-benign.html&lt;br /&gt;
&lt;br /&gt;
#** curl -I http://192.168.56.10/synthetic-miner.html&lt;br /&gt;
&lt;br /&gt;
#** curl -I http://192.168.56.10/miner-known.html&lt;br /&gt;
&lt;br /&gt;
Create the “known-signature” miner worker variant&lt;br /&gt;
&lt;br /&gt;
#* Ensure the worker exists in the web root:&lt;br /&gt;
#** /var/www/html/coinhive.min.js&lt;br /&gt;
#* This file is used to test whether a mining blocker reacts to known miner naming/signatures.&lt;br /&gt;
&lt;br /&gt;
Baseline observation (no extension)&lt;br /&gt;
&lt;br /&gt;
#* Open miner-like page in Firefox on Victim VM (example: synthetic-miner.html)&lt;br /&gt;
#* Click Start and observe:&lt;br /&gt;
#** sustained high CPU usage on the victim (system monitor)&lt;br /&gt;
#** repeated “SOLVED …” messages on the page console/log (proof the worker is running)&lt;br /&gt;
#** repeated “PING ok latency(ms): …” messages (proof periodic requests happen)&lt;br /&gt;
&lt;br /&gt;
MinerBlock test (extension enabled)&lt;br /&gt;
&lt;br /&gt;
#* Enable MinerBlock in Firefox on Victim VM&lt;br /&gt;
#* Open miner-known.html on Victim VM:&lt;br /&gt;
#** URL: http://192.168.56.10/miner-known.html&lt;br /&gt;
&lt;br /&gt;
#* Click Start&lt;br /&gt;
#* Observation/result (current progress):&lt;br /&gt;
#** MinerBlock displayed “Blocked Miners: 1” and listed 192.168.56.10&lt;br /&gt;
#** The miner-like activity was stopped/blocked (confirmed by the extension UI and the page behavior)&lt;br /&gt;
#* Capture evidence:&lt;br /&gt;
#** Screenshot of MinerBlock popup showing the blocked miner and the host&lt;br /&gt;
#** Screenshot of the page showing Start/Stop state and the absence/interruption of the miner workload&lt;br /&gt;
&lt;br /&gt;
== Results So Far ==&lt;br /&gt;
&lt;br /&gt;
Benign pages&lt;br /&gt;
&lt;br /&gt;
#* benign.html: created and served successfully (no detection test recorded yet)&lt;br /&gt;
#* heavy-benign.html: created and served successfully (used for false-positive testing later)&lt;br /&gt;
&lt;br /&gt;
Miner-like pages&lt;br /&gt;
&lt;br /&gt;
#* synthetic-miner.html: produces sustained CPU usage and “SOLVED” messages (miner-like workload confirmed)&lt;br /&gt;
#* miner-known.html: successfully triggered MinerBlock, which reported one blocked miner (192.168.56.10) and stopped the miner-like behavior&lt;br /&gt;
&lt;br /&gt;
== Next Steps ==&lt;br /&gt;
&lt;br /&gt;
Verify what exactly MinerBlock blocks&lt;br /&gt;
&lt;br /&gt;
#* Check whether it blocks the worker script load (e.g., Worker fails to load) or blocks network requests (/ping) or both&lt;br /&gt;
#* Collect a short browser console log (F12 → Console) during the block event&lt;br /&gt;
&lt;br /&gt;
Add “unknown vs known” comparison (recommended)&lt;br /&gt;
&lt;br /&gt;
#* miner-unknown.html: uses pow-worker.js (custom name)&lt;br /&gt;
#* miner-known.html: uses coinhive.min.js (signature-bait name)&lt;br /&gt;
#* Test whether MinerBlock blocks both or only the known-signature variant&lt;br /&gt;
&lt;br /&gt;
Introduce simple repeatable measurement (later)&lt;br /&gt;
&lt;br /&gt;
#* For each run: record whether blocked/allowed, and capture screenshots&lt;br /&gt;
#* Optionally log /ping on the server for latency measurement&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>YRahal</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18031</id>
		<title>Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Experimental_Evaluation_of_Browser-Based_Cryptojacking_Detection_and_Prevention_Tools&amp;diff=18031"/>
		<updated>2026-01-20T20:10:02Z</updated>

		<summary type="html">&lt;p&gt;YRahal: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Experimental Evaluation of Browser-Based Cryptojacking Detection and Prevention Tools ==&lt;br /&gt;
This project evaluates how effective and practical browser-based cryptojacking tools are in a controlled VM lab environment. The lab uses a Web VM that hosts multiple test websites and a Victim VM that visits them using Firefox. The websites include benign pages and miner-like pages that generate sustained CPU load via a WebWorker and optionally send periodic network requests to a local /ping endpoint. The goal is to observe whether a tool blocks the miner-like pages, whether it incorrectly blocks benign pages, and how the tool behaves (block message, stopped execution, etc.).&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Host Machine: Windows with VirtualBox&lt;br /&gt;
Web VM (Ubuntu): nginx web server hosting the test pages&lt;br /&gt;
Victim VM (Ubuntu): Firefox browser used to access the pages&lt;br /&gt;
Network: Host-only network between the two VMs (example: 192.168.56.0/24)&lt;br /&gt;
Web VM IP: 192.168.56.10 (host-only interface)&lt;br /&gt;
Victim VM IP: 192.168.56.107 (host-only interface)&lt;br /&gt;
Test websites hosted by nginx (served from /var/www/html/)&lt;br /&gt;
&lt;br /&gt;
#* benign.html (no mining behavior)&lt;br /&gt;
#* heavy-benign.html (CPU-heavy but legitimate)&lt;br /&gt;
#* synthetic-miner.html (miner-like CPU + periodic /ping)&lt;br /&gt;
#* miner-known.html (miner-like page that loads the worker as “coinhive.min.js”)&lt;br /&gt;
&lt;br /&gt;
Test mining-like worker file(s)&lt;br /&gt;
&lt;br /&gt;
#* pow-worker.js (synthetic PoW-style workload, CPU-only)&lt;br /&gt;
#* coinhive.min.js (copy/rename of the worker to test signature-based blocking)&lt;br /&gt;
&lt;br /&gt;
Tested extension (so far)&lt;br /&gt;
&lt;br /&gt;
#* MinerBlock (Firefox extension)&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Prepare connectivity between VMs&lt;br /&gt;
&lt;br /&gt;
#* On Web VM: confirm IP address (ip a) and note host-only address (192.168.56.10)&lt;br /&gt;
#* On Victim VM: confirm IP address (ip a) and ensure it can reach the web VM (ping 192.168.56.10)&lt;br /&gt;
&lt;br /&gt;
Host test pages on Web VM using nginx&lt;br /&gt;
&lt;br /&gt;
#* Copy/create website files in nginx document root:&lt;br /&gt;
#** /var/www/html/benign.html&lt;br /&gt;
#** /var/www/html/heavy-benign.html&lt;br /&gt;
#** /var/www/html/synthetic-miner.html&lt;br /&gt;
#** /var/www/html/miner-known.html&lt;br /&gt;
#* Confirm files are available:&lt;br /&gt;
#** curl -I http://192.168.56.10/benign.html&lt;br /&gt;
&lt;br /&gt;
#** curl -I http://192.168.56.10/heavy-benign.html&lt;br /&gt;
&lt;br /&gt;
#** curl -I http://192.168.56.10/synthetic-miner.html&lt;br /&gt;
&lt;br /&gt;
#** curl -I http://192.168.56.10/miner-known.html&lt;br /&gt;
&lt;br /&gt;
Create the “known-signature” miner worker variant&lt;br /&gt;
&lt;br /&gt;
#* Ensure the worker exists in the web root:&lt;br /&gt;
#** /var/www/html/coinhive.min.js&lt;br /&gt;
#* This file is used to test whether a mining blocker reacts to known miner naming/signatures.&lt;br /&gt;
&lt;br /&gt;
Baseline observation (no extension)&lt;br /&gt;
&lt;br /&gt;
#* Open miner-like page in Firefox on Victim VM (example: synthetic-miner.html)&lt;br /&gt;
#* Click Start and observe:&lt;br /&gt;
#** sustained high CPU usage on the victim (system monitor)&lt;br /&gt;
#** repeated “SOLVED …” messages on the page console/log (proof the worker is running)&lt;br /&gt;
#** repeated “PING ok latency(ms): …” messages (proof periodic requests happen)&lt;br /&gt;
&lt;br /&gt;
MinerBlock test (extension enabled)&lt;br /&gt;
&lt;br /&gt;
#* Enable MinerBlock in Firefox on Victim VM&lt;br /&gt;
#* Open miner-known.html on Victim VM:&lt;br /&gt;
#** URL: http://192.168.56.10/miner-known.html&lt;br /&gt;
&lt;br /&gt;
#* Click Start&lt;br /&gt;
#* Observation/result (current progress):&lt;br /&gt;
#** MinerBlock displayed “Blocked Miners: 1” and listed 192.168.56.10&lt;br /&gt;
#** The miner-like activity was stopped/blocked (confirmed by the extension UI and the page behavior)&lt;br /&gt;
#* Capture evidence:&lt;br /&gt;
#** Screenshot of MinerBlock popup showing the blocked miner and the host&lt;br /&gt;
#** Screenshot of the page showing Start/Stop state and the absence/interruption of the miner workload&lt;br /&gt;
&lt;br /&gt;
== Results So Far ==&lt;br /&gt;
&lt;br /&gt;
Benign pages&lt;br /&gt;
&lt;br /&gt;
#* benign.html: created and served successfully (no detection test recorded yet)&lt;br /&gt;
#* heavy-benign.html: created and served successfully (used for false-positive testing later)&lt;br /&gt;
&lt;br /&gt;
Miner-like pages&lt;br /&gt;
&lt;br /&gt;
#* synthetic-miner.html: produces sustained CPU usage and “SOLVED” messages (miner-like workload confirmed)&lt;br /&gt;
#* miner-known.html: successfully triggered MinerBlock, which reported one blocked miner (192.168.56.10) and stopped the miner-like behavior&lt;br /&gt;
&lt;br /&gt;
== Next Steps ==&lt;br /&gt;
&lt;br /&gt;
Verify what exactly MinerBlock blocks&lt;br /&gt;
&lt;br /&gt;
#* Check whether it blocks the worker script load (e.g., Worker fails to load) or blocks network requests (/ping) or both&lt;br /&gt;
#* Collect a short browser console log (F12 → Console) during the block event&lt;br /&gt;
&lt;br /&gt;
Add “unknown vs known” comparison (recommended)&lt;br /&gt;
&lt;br /&gt;
#* miner-unknown.html: uses pow-worker.js (custom name)&lt;br /&gt;
#* miner-known.html: uses coinhive.min.js (signature-bait name)&lt;br /&gt;
#* Test whether MinerBlock blocks both or only the known-signature variant&lt;br /&gt;
&lt;br /&gt;
Introduce simple repeatable measurement (later)&lt;br /&gt;
&lt;br /&gt;
#* For each run: record whether blocked/allowed, and capture screenshots&lt;br /&gt;
#* Optionally log /ping on the server for latency measurement&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>YRahal</name></author>
	</entry>
</feed>