WriteUpTHM - Anonymous
wr3dmast3r|RAВсем привет! С вами wr3dmast3r, и сегодня мы взломаем анонимусов на трайхакми.

Начнём со сканирования с помощью nmap:

Результат сканирования показывает нам, что открыто 4 порта: 21, 22, 139 и 445.
Начнём с SMB.

Делаем вывод, что анонимный доступ к SMB возможен, есть общий ресурс с именем "pics". Это так же может быть интересно, попробуем посмотреть, что там внутри:

Кажется, есть две фотографии, расположенные в папке с фотографиями :)
Я попытался проверить эти картинки на наличие в них какой-либо информации, но ничего не нашел, идём дальше - FTP.

Анонимный вход по FTP так же возможен, проверим, что есть здесь.

Есть каталог с именем scripts, и внутри него лежат 3 файла, все они представляют интерес для нас, попробуем их скачать и изучить:

Начнём с файла to_do.txt.

В файле находится данное сообщение, идём дальше, clean.sh.

Здесь мы видим следующее:
- Изначально в этом bash-скрипте есть переменная "tmp_files", и ее значение равно 0.
- Скрипт проверяет, равно ли значение "tmp_files" 0. Если это так, то он выводит сообщение типа: “Running cleanup script: nothing to delete” в файл "removed_files.log". Это интересно. Посмотрим на файл remove_files.log, вдруг мы сможем найти ценную информацию.
- И, наконец, когда значение "tmp_files" не равно 0, он удаляет файл и печатает другое сообщение.
Идём дальше, "removed_files.log"

Интересного мало. При дальнейшем изучении мы можем увидеть, что может быть установлен cronjob для выполнения clean.sh. Можем попробовать поместить туда reverse-shell и получить доступ к машине. Попробуем создать полезную нагрузку на своей машине и перезаписать тот файл что находится на FTP-сервере. Это возможно, так как у нас есть разрешение на запись по анонимному подключению в общую папку FTP:

Создадим полезную нагрузку:

Попробуем загрузить её на наш сервер:

Здесь первый файл clean.sh представляет собой тот, что мы создали, а второй clean.sh является тем, который находится в общей папке FTP. После файл заменяется на наш. Попробуем получить reverse-shell, запускаем прослушиватель:

Вы можете заметить, что я использовал префикс "rlwrap" перед командой. Сделано это потому, что при обычном использовании оболочка не позволяет нам использовать клавиши со стрелками или кнопку прокрутки мыши. C "rlwrap" мы можем это сделать.
Обратим внимание, что cronjob выполняется каждые x0 и x5, что означает каждые 5 минут. Ждём ответа на прослушиваемый порт :)

Теперь, когда у нас есть shell доступ, мы попробуем найти user.txt:

Это было легко, теперь для повышения привилегий загрузим linPEAS с помощью python server и запустим его.

Повышение привилегий, скорее всего, будет через разрешения SUID, идём на GTFOBins:

Попробуем использовать тот, что для SUID:

Получилось! Root флаг вы сможете прочитать самостоятельно, если попробуете решить задачу :)
До новых встреч, с любовью от RESOLUTE ATTACK!