Mehyar Belal


SOC Analyst · Cybersecurity Master’s Graduate · Threat Detection & Blue Team Focused



About Me

Mehyar Belal

I'm a cybersecurity analyst passionate about blue team defense and threat detection. I create and run my own lab environments to simulate real-world attacks, investigate malicious behavior, and build practical detection strategies. My work spans tools like Splunk, Snort, Wazuh, Nessus, and OWASP ZAP, where I analyze logs, detect intrusions, and tune alerts. I apply frameworks like MITRE ATT&CK and CVSS to guide investigations and turn raw data into real insight. Everything you’ll see here reflects how I think, how I learn, and how I operate as a future-ready SOC analyst.

I’m passionate about cybersecurity and actively seeking opportunities to contribute to a SOC or blue team environment.






SOC Analyst Labs

Home SOC Lab

🛡️ Network Intrusion Detection (Snort + Splunk)


Summary: I configured Snort in IDS mode on my Ubuntu VM to detect suspicious network activity, including port scans and malicious traffic. I ensured Snort runs automatically at startup, integrated alerts with Splunk for centralized log analysis, and validated detections using real-world scans.

Skills: Network Security, IDS Configuration, Log Analysis, SIEM Integration, Linux Service Management
Tools: Snort, Splunk, Nmap, Ubuntu, tcpdump

🔍 Discovery

I installed Snort in IDS mode and configured it to monitor enp0s3, the primary external interface on my Ubuntu VM. I confirmed that Snort was logging to /var/log/snort/alert and actively inspecting live packets.

🧪 Investigation

I launched a stealth TCP SYN scan using nmap -sS targeting port 80 of the same VM to simulate a reconnaissance attempt. Snort successfully triggered the local rule I wrote to detect any TCP SYN packet:

I simulated a reconnaissance attack by launching a stealth TCP SYN scan using nmap from a separate machine:


nmap -sS -Pn -p 80 192.168.1.100

This scan targeted port 80 of the Snort-monitored VM. The scan triggered the custom local rule I wrote to detect any TCP SYN packet directed to any host or port. The detection appeared in the console and was also forwarded to Splunk:

Screenshot – Snort Live Console:

Snort Alert in Console

Screenshot – Alert Triggered in Splunk:

Splunk showing Snort alert

⚙️ Automation

I created a systemd service to run Snort in daemon mode at boot:


[Unit]
Description=Snort IDS Daemon
After=network.target

[Service]
ExecStart=/usr/sbin/snort -c /etc/snort/snort.conf -i enp0s3 -D
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

Commands used:


sudo cp snort.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable snort
sudo systemctl start snort

📡 Splunk Integration

I installed the Splunk Universal Forwarder and configured it to monitor /var/log/snort/alert. Snort alerts were forwarded in real-time to my Splunk instance for centralized monitoring.

✅ Outcome

This lab demonstrated my ability to configure and automate a real intrusion detection system, write custom rules, simulate attacks, and integrate with a SIEM for alert monitoring — key skills for SOC roles and real-world threat detection.

Splunk Labs

🛡️ NXDOMAIN Attack (DNS Enumeration) - Splunk


Summary: I detected an NXDOMAIN attack using Splunk and the BOTSV3 dataset. The attack involved querying non-existent subdomains on the brewertalk.com domain, triggering NXDOMAIN responses. This is a typical DNS enumeration attack aimed at discovering subdomains and potentially identifying vulnerable infrastructure.

Skills: DNS Enumeration, Splunk Log Analysis, Threat Detection, Network Security
Tools: Splunk, BOTSV3 Dataset, Nslookup, Nmap, Linux

🔍 Discovery

Using the BOTSV3 dataset in Splunk, I identified multiple NXDOMAIN responses triggered by DNS queries for non-existent subdomains under brewertalk.com. These queries were logged with the IP addresses that initiated the requests.

Splunk Search Query:


index=botsv3 sourcetype=aws:cloudwatchlogs "NXDOMAIN" 
| stats count by src_ip
| where count > 10
        

This search identified IP addresses that made more than 10 DNS queries in a short time period, which is indicative of a DNS enumeration attack. The IP addresses involved were flagged for further investigation.

Screenshot – Splunk Search Results for NXDOMAIN Attack:

🧪 Investigation

The attack was identified through a pattern of repeated DNS queries for subdomains that do not exist (NXDOMAIN responses). I noticed several queries for non-existent subdomains, such as:


users1.brewertalk.com AAAA NXDOMAIN
ccmail.brewertalk.com AAAA NXDOMAIN
koko10.brewertalk.com A NXDOMAIN
        

These queries triggered NXDOMAIN responses, indicating that the attacker was attempting to gather information about the structure of the domain, potentially looking for valid subdomains or services by forcing NXDOMAIN errors.

I used the **Splunk logs** to look for patterns that showed multiple NXDOMAIN responses coming from the same IP addresses in a short time window. The IPs involved were:


src_ip       | count
52.78.247.225 | 7
13.209.8.105  | 5
13.209.43.220 | 6
        

These IP addresses initiated multiple queries for non-existent subdomains within a brief time frame, a common characteristic of **DNS enumeration** or **reconnaissance attacks**. The attacker is likely trying to find subdomains and test for misconfigured or vulnerable DNS records.

⚙️ Mitigation

To mitigate this attack, I blocked the suspicious IP addresses using the UFW (Uncomplicated Firewall) on the target server to prevent further queries from these attackers.


sudo ufw deny from 52.78.247.225
sudo ufw deny from 13.209.8.105
sudo ufw deny from 13.209.43.220
        

✅ Outcome

This lab demonstrated how to detect NXDOMAIN attacks using Splunk and the BOTSV3 dataset. By identifying the suspicious IPs, blocking them with a firewall, and preventing further DNS queries, I successfully mitigated the attack. This lab also showcased the importance of monitoring DNS traffic to prevent such attacks.



Get in Touch





Crafted with passion by Mehyar Belal © 2025