Lab 1

Scenario Overview

The industrial control system (ICS) used in this scenario simulates an environment that might be used to cool industrial equipment. The ICS is made up of five systems. The first system contains a tank, tank level sensor and a water pump. The second system is a programmable logic controller (PLC) which controls the water pump based on the level of water found in the attached tank. The third system is an Open Platform Communications (OPC) server which accesses and modifies data found on the PLC. The fourth system is running Human Machine Interface (HMI) software which communicates with the OPC server to provide a human system operator with system statistics and control. The final system in the ICS is a security appliance that provides routing and firewall services for all systems. This scenario also make use of a system running Kali Linux. In this lab the virtual network switch is configured so that the Kail system receives all data transmitted. (Network diagram)

In this lab you are going to observe that when a hacker is connected to the same network segment as the ICS systems, they are easily able to view data being shared between all devices. After verifying this you will move the hacker system to its own network and again attempt to view data being transferred. You will discover that when a hacker is connected to a different segment then the ICS systems they are no longer able to view data transfers.

Part 1
Install Systems

In this part of the lab you are going to install and configure the systems needed to complete the lab.

  1. Access the lab remote access server at https://guac.nl.northweststate.edu and login using your assigned username and password.
  2. Login a second time to the nlstu-s1.nl.northweststate.edu remote server using your assigned username and password.
  3. When the Linux desktop appears, click the Activities menu located in the top left hand corner of the screen.
  4. Type ics into the Type to search field that appears in the top center of the screen (Example).
  5. Click the ICS Lab Control icon.
  6. Select the New Lab option, click the OK button then wait for the systems to start.

Part 2
Login and verify connectivity

In this part of the lab you are going to login to the hacker system, view the system's IP address and verify that it can connect to the PLC.

  1. Access the Kali system.
  2. At the login screen enter student into the Enter your username field and Password01 into the Enter your password field.
  3. Click the Log In button.
  4. Open a terminal (command prompt) window by clicking the Terminal Emulator button found at the upper left hand corner of the window (Example).
  5. View the network address of the system by typing the command ip address show (NOTE: You must press the <ENTER> key after typing a command).
  6. Examine the output of the command and find the IPv4 address associated with the active network card viewing the inet value associated with the network card labeled cell-area-zone (Example).
  7. Verify that the hacker can communicate with the PLC by typing the command ping 10.0.255.102 -c 4 and observing that 4 packets are transmitted and 4 packets are received.
  8. Verify that the PLC is running by typing the command nc 10.0.255.102 23 and observing that the PLC is running, and that the IP address of the PLC and the address of the connecting system is shown.

Part 3
Capture and view data transmitted in the Cell-Area zone

In this part of the lab you are going to use the Wireshark network monitoring software to capture and view data being transmitted on the Cell-Area zone.

  1. Start the Wireshark program by typing the command sudo wireshark.
  2. Authenticate to the system by typing in the password Password01 followed by the <ENTER> key.
  3. After the Wireshark program starts select the cell-area-zone network device to indicate that you wish to capture data on that device.
  4. Click the Capture menu then select the Start option.
  5. The data you need to view will be captured very quickly so immediately return to the Capture menu and select the Stop option.
  6. If necessary scroll to the right in the top, packet list panel, until you are able to view the data shown in the Info column (Example).
  7. Scroll through the packets in the top packet list panel until you find a packet labeled as a Response to a Read Holding Registers request (Example).
  8. In the top packet list panel, select the packet containing Info related to a Response: associated with a Read Holding Registers request.
  9. In the middle packet details panel expand the Modbus category of detail data (Example).
  10. Make a note of the data contained in Register 0, Register 1 and Register 2.
  11. Access the HMI virtual machine and take a moment to examine the data and controls available in the running AdvancedHMI program.
  12. Click on the value shown in the Pump on at: field (Example).
  13. Change the pump on value to 10 (Example).
  14. Take a minute to observe how this modifies the behavior of the system.
  15. Access the Kali system.
  16. Begin a new network data capture by accessing the Capture menu in Wireshark and choosing the Start option.
  17. Click the Continue without Saving button when you are informed that there are unsaved packets in the problem
  18. The data you need to view will be captured very quickly so immediately return to the Capture menu and select the Stop option.
  19. Scroll through the packets in the top packet list panel until you find a packet labeled as a Response to a Read Holding Registers request.
  20. In the top packet list panel, select the packet containing a Response to Read Holding Register request.
  21. In the middle packet details panel expand the Modbus category of detail data.
  22. Take a screen shot showing the data in Register 0, Register 1 and Register 2 (Example) and paste it into the Zoning Lab Form found here.
  23. Based on the packets captured it appears that the value in Register 2 tells the system to turn the pump on when the level of liquid drops to 10%. What do the values stored in Registers 0 and 1 represent? Answer these questions in the previously downloaded Zoning Lab Form.

Part 4
Change the hacker's network segment

In this part of the lab you are going to remove the hacker from the network containing the ICS systems. The hacker system will be moved from the Cell/Area zone to the Manufacturing zone (Network diagram).

  1. Close the Wireshark program without saving any data.
  2. Access the terminal (command prompt).
  3. Bring up the network device connected to the manufacturing zone network segment using the command sudo ip link set up manufact-zone (Example).
  4. Verify that the device is connected to the network by typing the command ip address show manufact-zone and verifying from the output that the device's state is UP but that it has not yet been assigned an IP address.
  5. View the available network configurations by typing the command nmcli connection.
  6. Notice that the Cell-Area Zone configuration is associated with a device but the Manufacturing Zone configuration is not.
  7. Type the letter q to stop viewing the network configurations.
  8. Enable the Manufacturing Zone network configuration by typing the command sudo nmcli connection up "Manufacturing Zone" (Example).
  9. Verify that the Manufacturing Zone configuration is now associated with a device by again typing the command nmcli connection.
  10. Type the letter q to stop viewing the network configurations.
  11. Verify that the manufact-zone device has been assigned an IP address by again typing the command ip address show manufact-zone.
  12. To prevent confusion later disable the Cell-Area Zone configuration by typing the command sudo nmcli connection down "Cell-Area Zone" .
  13. Verify that now the Manufacturing Zone configuration is associated with a device but the Cell-Area Zone configuration is not by typing the command nmcli connection.
  14. Type the letter q to stop viewing the network configurations.

Part 5
Capture and view data transmitted in the Manufacturing zone

In this part of the lab you are going to use the Wireshark network monitoring software to capture and view data being transmitted on the Manufacturing zone.

  1. Verify that the hacker can communicate with the PLC by typing the command ping 10.0.255.102 -c 4 and observing that 4 packets are transmitted and 4 packets are received.
  2. Verify that the PLC is running by typing the command nc 10.0.255.102 23 and observing that the PLC is running, and that the IP address of the PLC and the address of the connecting system is shown.
  3. Start the Wireshark program by typing the command sudo wireshark.
  4. After the Wireshark program starts select the manufact-zone network device to indicate that you wish to capture data on that device.
  5. Click the Capture menu then select the Start option.
  6. Wait a few moments and note that little to no network traffic is currently being captured.
  7. Access the HMI virtual machine.
  8. Click on the value shown in the Pump off at: field in the AdvancedHMI program running on the HMI virtual machine.
  9. Change the pump off value to 60.
  10. Observe the system for a minute and verify that this change modifies the behavior of the system.
  11. Return to the Kali system and note that none of the changes or activity between the ICS systems has been captured.
  12. Open a new Terminal (command prompt) window by clicking the Terminal Emulator button found at the upper left hand corner of the Kali system.
  13. Ping the PLC by typing the command ping 10.0.255.102 -c 4.
  14. Return to the Wireshark screen and notice that since the Kali system was involved in the network communication the ping (ICMP) traffic was captured.
  15. Stop the network traffic capture by accessing the Capture menu and selecting the Stop option.
  16. Take a screen shot showing a captured ping (ICMP) request and reply and paste it into the previously downloaded Zoning Lab Form.
  17. In the previously downloaded Zoning Lab Form answer the question "Why was the network ping traffic between the Kali system and the PLC captured but the data between the PLC and other ICS systems was not?".
  18. In the previously downloaded Zoning Lab Form answer the question "If using proper zoning techniques is more secure why might companies not configure their systems using this technique?".
  19. To end the lab, restart the ICS Lab Control program from the Desktop if necessary, select the Pause/End Lab option, click the OK button then wait for the systems to stop.