Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Security Test Platform - Purple Team Lab

๊ต์œก ๋ชฉ์ ์˜ Red/Blue Team ํผํ”ŒํŒ€ ์‹ค์Šต ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค.
VMware ๊ธฐ๋ฐ˜ 4๊ฐœ์˜ ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„๋กœ ๊ตฌ์„ฑ๋œ ๋ณด์•ˆ ์‹œ์Šคํ…œ ๊ตฌํ˜„ ํ™˜๊ฒฝ์œผ๋กœ, ๊ณต๊ฒฉ๊ณผ ๋ฐฉ์–ด๋ฅผ ๋™์‹œ์— ์‹ค์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์•„ํ‚คํ…์ฒ˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   192.168.193.0/24 (External)           โ”‚
โ”‚                                                         โ”‚
โ”‚  [Agent]โ”€โ”€โ”€โ”€โ”€โ”€[Security]โ”€โ”€โ”€โ”€โ”€โ”€[Web]โ”€โ”€โ”€โ”€โ”€โ”€[SIEM]         โ”‚
โ”‚  .129           .131           .130        .132         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    10.10.10.0/24 (Internal)             โ”‚
โ”‚                                                         โ”‚
โ”‚  [Agent]         [Security]    [Web]       [SIEM]       โ”‚
โ”‚  .100         โ†’    .1    โ†’     .80          .50         โ”‚
โ”‚                (Gateway/IPS)                            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Traffic Flow: Agent โ†’ nftables(Security) โ†’ Suricata(Security) โ†’ Web
Log Flow:     Security/Web โ†’ Wazuh Agent โ†’ SIEM(Wazuh Manager)

VM ๊ตฌ์„ฑ

1. Agent (Red Team) - 192.168.193.129 / 10.10.10.100

ํ•ญ๋ชฉ ๋‚ด์šฉ
OS Ubuntu 22.04.5 LTS
์—ญํ•  AI ์—์ด์ „ํŠธ ์—”๋“œํฌ์ธํŠธ, ๋ชจ์˜ ํ•ดํ‚น ์ˆ˜ํ–‰
SSH ssh agent@192.168.193.129 (pw: agent)
๋‚ด๋ถ€ IP 10.10.10.100 (ens37)

2. Security (Blue Team) - 192.168.193.131 / 10.10.10.1

ํ•ญ๋ชฉ ๋‚ด์šฉ
OS Ubuntu 22.04.5 LTS
์—ญํ•  ๋ฐฉํ™”๋ฒฝ + IPS ์šด์˜, ๋‚ด๋ถ€๋ง ๊ฒŒ์ดํŠธ์›จ์ด
SSH ssh security@192.168.193.131 (pw: security)
๋‚ด๋ถ€ IP 10.10.10.1 (ens37) - ๋‚ด๋ถ€๋ง ๊ฒŒ์ดํŠธ์›จ์ด
nftables ๋ฐฉํ™”๋ฒฝ (FORWARD ๋กœ๊น… ํฌํ•จ)
Suricata IPS 8.0.4 (DetectionOnly ๋ชจ๋“œ, 65,394 ๊ทœ์น™)
Wazuh Agent 4.7.5

3. Web (Target) - 192.168.193.130 / 10.10.10.80

ํ•ญ๋ชฉ ๋‚ด์šฉ
OS Ubuntu 22.04.5 LTS
์—ญํ•  WAF + ์ทจ์•ฝ ์›น์‚ฌ์ดํŠธ ์šด์˜
SSH ssh web@192.168.193.130 (pw: web)
๋‚ด๋ถ€ IP 10.10.10.80 (ens37)
Apache + ModSecurity WAF (DetectionOnly ๋ชจ๋“œ, OWASP CRS)
OWASP Juice Shop ์ทจ์•ฝ ์›น ์•ฑ (Docker, port 3000 โ†’ Apache proxy)
Wazuh Agent 4.7.5

4. SIEM - 192.168.193.132 / 10.10.10.50

ํ•ญ๋ชฉ ๋‚ด์šฉ
OS Ubuntu 22.04.5 LTS
์—ญํ•  ๋กœ๊ทธ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„, XDR ์šด์˜
SSH ssh siem@192.168.193.132 (pw: siem)
๋‚ด๋ถ€ IP 10.10.10.50 (ens37)
Wazuh Manager + Indexer + Dashboard 4.7.5
Dashboard https://192.168.193.132/

์„œ๋น„์Šค ์ ‘์† ์ •๋ณด

OWASP Juice Shop (์ทจ์•ฝ ์›น์‚ฌ์ดํŠธ)

URL: http://192.168.193.130/
๋‚ด๋ถ€: http://10.10.10.80/
  • OWASP Top 10 ์ทจ์•ฝ์  ํฌํ•จ
  • XSS, SQL Injection, IDOR, CSRF ๋“ฑ ์‹ค์Šต ๊ฐ€๋Šฅ

Wazuh SIEM Dashboard

URL:      https://192.168.193.132/
Username: admin
Password: (์„ค์น˜ ์‹œ ์ž๋™ ์ƒ์„ฑ - /tmp/wazuh-passwords.txt ์ฐธ์กฐ)
API:      https://192.168.193.132:55000/

๋กœ๊ทธ ์ˆ˜์ง‘ ๊ตฌ์กฐ

[Security VM]
  /var/log/suricata/eve.json     โ† Suricata ์ด๋ฒคํŠธ (JSON)
  /var/log/suricata/fast.log     โ† Suricata ์•Œ๋žŒ
  /var/log/nftables.log          โ† nftables ๋ฐฉํ™”๋ฒฝ ๋กœ๊ทธ
        โ”‚
        โ””โ”€โ”€โ†’ Wazuh Agent โ”€โ”€โ†’ SIEM (10.10.10.50:1514)

[Web VM]
  /var/log/apache2/modsec_audit.log      โ† ModSecurity WAF ๊ฐ์‚ฌ ๋กœ๊ทธ
  /var/log/apache2/juiceshop_access.log  โ† Apache ์ ‘๊ทผ ๋กœ๊ทธ
  /var/log/apache2/error.log             โ† Apache ์—๋Ÿฌ ๋กœ๊ทธ
        โ”‚
        โ””โ”€โ”€โ†’ Wazuh Agent โ”€โ”€โ†’ SIEM (10.10.10.50:1514)

[SIEM]
  Wazuh Manager (ํฌํŠธ 1514)  โ† ์—์ด์ „ํŠธ ๋กœ๊ทธ ์ˆ˜์‹ 
  Wazuh Indexer  (ํฌํŠธ 9200) โ† ๋กœ๊ทธ ์ €์žฅ (OpenSearch)
  Wazuh Dashboard (ํฌํŠธ 443) โ† ์‹œ๊ฐํ™” ๋ฐ ๋ถ„์„
  Syslog (ํฌํŠธ 514 UDP)      โ† ์ง์ ‘ syslog ์ˆ˜์‹ 

๋„คํŠธ์›Œํฌ ์„ค์ •

๋‚ด๋ถ€๋ง IP ์„ค์ • (๋ชจ๋“  VM - /etc/netplan/99-internal.yaml)

Security (๊ฒŒ์ดํŠธ์›จ์ด)

network:
  version: 2
  ethernets:
    ens37:
      addresses:
        - 10.10.10.1/24

Agent / Web / SIEM (๋ผ์šฐํŒ… ํฌํ•จ)

network:
  version: 2
  ethernets:
    ens37:
      addresses:
        - 10.10.10.X/24
      routes:
        - to: 10.10.10.0/24
          via: 10.10.10.1
          metric: 100

IP Forwarding (Security)

net.ipv4.ip_forward=1
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.ens37.send_redirects=0

์„ค์น˜๋œ ์†Œํ”„ํŠธ์›จ์–ด

Security VM

# Suricata ์„ค์น˜
add-apt-repository ppa:oisf/suricata-stable
apt-get install -y suricata nftables

# ๊ทœ์น™ ์—…๋ฐ์ดํŠธ
suricata-update

Web VM

# Apache + ModSecurity ์„ค์น˜
apt-get install -y apache2 libapache2-mod-security2 modsecurity-crs docker.io

# Apache ๋ชจ๋“ˆ ํ™œ์„ฑํ™”
a2enmod security2 proxy proxy_http headers

# Juice Shop (Docker)
docker run -d --name juiceshop --restart unless-stopped -p 3000:3000 bkimminich/juice-shop

SIEM VM

# Wazuh ์˜ฌ์ธ์› ์„ค์น˜ (Manager + Indexer + Dashboard)
curl -sO https://packages.wazuh.com/4.7/wazuh-install.sh
bash wazuh-install.sh -a -i

Agent ๋“ฑ๋ก (Security/Web VM)

# Wazuh ์—์ด์ „ํŠธ ์„ค์น˜
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --dearmor > /usr/share/keyrings/wazuh.gpg
echo 'deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main' > /etc/apt/sources.list.d/wazuh.list
WAZUH_MANAGER=10.10.10.50 apt-get install -y wazuh-agent=4.7.5-1

# ์—์ด์ „ํŠธ ๋“ฑ๋ก
/var/ossec/bin/agent-auth -m 10.10.10.50 -A <agent-name>
systemctl enable --now wazuh-agent

์„ค์ • ํŒŒ์ผ ์œ„์น˜

์„œ๋น„์Šค ์„ค์ • ํŒŒ์ผ
Suricata /etc/suricata/suricata.yaml
Suricata ๊ทœ์น™ /var/lib/suricata/rules/suricata.rules
nftables /etc/nftables.conf
ModSecurity /etc/modsecurity/modsecurity.conf
ModSecurity CRS /etc/modsecurity/crs/crs-setup.conf
Apache VHost /etc/apache2/sites-available/juiceshop.conf
Wazuh Manager /var/ossec/etc/ossec.conf
Wazuh Agent /var/ossec/etc/ossec.conf

๋ชจ์˜ ํ•ดํ‚น ์‹ค์Šต ๊ฐ€์ด๋“œ

1. ๊ณต๊ฒฉ ๋Œ€์ƒ ํ™•์ธ

# Agent VM์—์„œ Juice Shop ์ ‘๊ทผ
curl http://10.10.10.80/

2. ๊ธฐ๋ณธ ์ทจ์•ฝ์  ํ…Œ์ŠคํŠธ

SQL Injection

curl "http://10.10.10.80/rest/products/search?q=')) OR 1=1--"

XSS (Cross-Site Scripting)

curl "http://10.10.10.80/?q=<script>alert('XSS')</script>"

Path Traversal

curl "http://10.10.10.80/../../../../etc/passwd"

3. ํƒ์ง€ ํ™•์ธ (SIEM)

  • Wazuh ๋Œ€์‹œ๋ณด๋“œ: https://192.168.193.132/
  • Security Events โ†’ ์‹ค์‹œ๊ฐ„ ์•Œ๋žŒ ํ™•์ธ
  • Suricata ํƒ์ง€: cat /var/log/suricata/fast.log
  • ModSecurity ํƒ์ง€: cat /var/log/apache2/modsec_audit.log

4. Nmap ์Šค์บ๋‹

# Agent VM์—์„œ ์‹คํ–‰
sudo apt install -y nmap
nmap -sV -O 10.10.10.80

์šด์˜ ๋ชจ๋“œ ๋ณ€๊ฒฝ

Suricata - ์ฐจ๋‹จ ๋ชจ๋“œ ํ™œ์„ฑํ™” (NFQUEUE)

# /etc/suricata/suricata.yaml์—์„œ ๋ณ€๊ฒฝ
# nfq ์„น์…˜ ํ™œ์„ฑํ™” ํ›„ ์žฌ์‹œ์ž‘
# nftables์—์„œ NFQUEUE๋กœ ์ „๋‹ฌ ์„ค์ • ํ•„์š”

ModSecurity - ์ฐจ๋‹จ ๋ชจ๋“œ ํ™œ์„ฑํ™”

# /etc/modsecurity/modsecurity.conf ์ˆ˜์ •
sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/modsecurity/modsecurity.conf
systemctl restart apache2

ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

Suricata ์ƒํƒœ ํ™•์ธ

ssh security@192.168.193.131
sudo systemctl status suricata
sudo tail -f /var/log/suricata/suricata.log
sudo tail -f /var/log/suricata/fast.log

Wazuh ์—์ด์ „ํŠธ ์—ฐ๊ฒฐ ํ™•์ธ

# SIEM์—์„œ ์—์ด์ „ํŠธ ๋ชฉ๋ก
ssh siem@192.168.193.132
sudo /var/ossec/bin/agent_control -l

# ์—์ด์ „ํŠธ์—์„œ ์—ฐ๊ฒฐ ์ƒํƒœ
sudo grep -i "connected" /var/ossec/logs/ossec.log | tail -5

nftables ๋กœ๊ทธ ํ™•์ธ

ssh security@192.168.193.131
sudo tail -f /var/log/nftables.log
sudo nft list ruleset

Juice Shop ์žฌ์‹œ์ž‘

ssh web@192.168.193.130
sudo docker restart juiceshop
sudo docker logs juiceshop --tail 20

์ฐธ๊ณ  ์ž๋ฃŒ


์ฃผ์˜์‚ฌํ•ญ

์ด ํ™˜๊ฒฝ์€ ๊ต์œก ์ „์šฉ์ž…๋‹ˆ๋‹ค.
๋ชจ๋“  ๊ณต๊ฒฉ ๊ธฐ๋ฒ•์€ ์ด ๊ฒฉ๋ฆฌ๋œ ์‹ค์Šต ํ™˜๊ฒฝ ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.
ํ—ˆ๊ฐ€๋˜์ง€ ์•Š์€ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ณต๊ฒฉ์€ ๋ถˆ๋ฒ•์ž…๋‹ˆ๋‹ค.

About

Security Test Platform

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages