π Portfolio Website: https://cyberbeastking.github.io/
**Entry-Level SOC Analyst | Cybersecurity Professional in Training** |
Passionate about protecting organizations through threat detection, log analysis, and incident response. Currently completing the Google Cybersecurity Certificate while building a home SOC lab with Linux, Splunk, and Security Onion. Hands-on practice includes analyzing suspicious logins, documenting incidents, and performing basic vulnerability assessments.
I bring consistency, energy, and a growth mindset β ready to contribute to a SOC team on Day One.
A security-focused dashboard built from custom web logs to show how I ingest data, write SPL, and design visualizations.
Data
project1
web:logs
web_logs.log
(sample HTTP access logs)Screenshot
index=project1 sourcetype=web:logs
| stats count by status
| sort - count
index=project1 sourcetype=web:logs
| stats count by url
| sort - count
index=project1 sourcetype=web:logs
| timechart span=10m count by status
index=project1 sourcetype=web:logs
| stats count by src_ip
| sort - count
This project simulates a brute-force login investigation using SQL queries on employee login data. The goal was to detect failed login attempts, external access, and suspicious login patterns.
Dataset
A synthetic employee_logins
table with:
username
β Employee username
login_time
β Timestamp of login
ip_addres
s β Source IP
status
β SUCCESS / FAILED
#### 1) All Login Records
SELECT *
FROM employee_logins
ORDER BY login_time;
SELECT id, username, login_time, ip_address, status
FROM employee_logins
WHERE ip_address NOT LIKE '192.168.%'
AND ip_address NOT LIKE '10.%'
AND ip_address NOT LIKE '172.16.%'
ORDER BY login_time;
WITH first_failed AS (
SELECT username, MIN(login_time) AS first_failed_time
FROM employee_logins
WHERE status = 'FAILED'
GROUP BY username
),
first_success AS (
SELECT username, MIN(login_time) AS first_success_time
FROM employee_logins
WHERE status = 'SUCCESS'
GROUP BY username
)
SELECT f.username, f.first_failed_time, s.first_success_time
FROM first_failed f
JOIN first_success s ON f.username = s.username;
SELECT ip_address, COUNT(*) AS failed_count
FROM employee_logins
WHERE status = 'FAILED'
GROUP BY ip_address
ORDER BY failed_count DESC, ip_address;
SELECT strftime('%Y-%m-%d %H:00', login_time) AS hour_bucket,
SUM(CASE WHEN status = 'SUCCESS' THEN 1 ELSE 0 END) AS success_count,
SUM(CASE WHEN status = 'FAILED' THEN 1 ELSE 0 END) AS failed_count
FROM employee_logins
GROUP BY hour_bucket
ORDER BY hour_bucket;
SELECT username, COUNT(*) AS failed_attempts
FROM employee_logins
WHERE status = 'FAILED'
GROUP BY username
ORDER BY failed_attempts DESC, username;
Multiple failed logins from 192.168.1.11
and 10.0.0.5
.
User jdoe
and admin
showed repeated failures before eventual success β common brute-force pattern.
External logins from 203.0.113.55 (mary)
indicate possible compromise from outside the network.
PDFs
Screenshots
PDFs
Screenshots
Finish Google Cybersecurity Certificate
Build a home SOC lab (Kali Linux, Splunk, Security Onion)
Studying for comptia security+
Land an entry-level SOC role and keep leveling up
βI failed. I learned.β β Thatβs my mindset.