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

~~^Shad0w __ Just1ce^~~

~^_Wired FaLc❍n_^~
ELEET
19.10.2016
699
2 350
DarkSide
www.youtube.com
#1
Глава 3
Предыдущая глава
Следующая глава
Оглавление

tl10.png
Приветствую вас колеги)
Сегодня продолжим наше завлекательно путешествие в корпоративной сети тестовой лаборатории и возьмем очередной токен от SSH машины.
Напомню вам что в предыдущих статьях я описывал атаки с внешнего периметра.

https://codeby.net/forum/threads/la...10-za-granju-xakerskix-vozmozhnostej-1.58573/
https://codeby.net/forum/threads/la...10-za-granju-xakerskix-vozmozhnostej-2.58591/

Сегодня мы уже с вами будем работать внутри корпоративной сети.
И так получил логин и пароль через SQL инъекцию,мы воспользовавшись логикой и предположили что человек может использовать одинаковые пароли(что весьма актуально в наше время,очень небольшой процент населения использует рандомные или разные пароли к разным ресурсам)
Подключились под этим логином и паролем к ссш машине немножко давайте погуляем по ней,посмотрим что к чему. 2.PNG
В кронтабе (/etc/crontab) увы ничего ценного нету..
А вот папка /data вызывает интерес,так по умолчанию такой паки в корне нету...
1.PNG

Так же может нам быть интересна папка /home
В которой содержатся домашние каталоги пользователей.
Также всех возможных пользователей можно посмотреть в /etc/passwd
С помощью команды:
Код:
cat /etc/passwd | grep bash | cut -d ':' -f 1
5.PNG
Немного покопаясь в этих папках мы замечаем что у двух пользователей есть папки .ssh ,где наверняка могут лежать ssh ключи.Но доступ к ним увы ограничен.Эти пользователи a.modlin и rross.
3.PNG 4.PNG
Брут по ssh протоколу этих учеток увы не дал положительных результатов.
Повышение привилегий так же не получилось - машина пропатчина.
Перебор пароля от рута также безрезультатно.
Вспоминаем интересную нам папку /data
И идем туда...
Видим там папку users, зайти мы туда можем,но вывести содержимое увы нет... 6.PNG

Но опять же таки,давайте подумаем посидим что это за папка такая с пользователями?
Возможно стоит предположить что те самые пользователи,которые есть на машине могут быть в этой папке? А почему бы и нет,какие еще юзеры как не эти...Проверил свою интуицию видим что мы были правы:
7.PNG
Мы можем заходить в папки,но ничего не можем вывести... Как слепые котята...Хм...
Но если мы можем ходить по папкам внутри этой папки,но не знаем какие там есть папки на ум приходит брут директорий. В качестве словаря отлично подойдет common.txt из дирба(
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
- утилита для перебора папок и файлов на веб-сайтах ).
Но готовых программ под нашу ситуацию я пока не встречал,да и не особо нужно так как для этого мне пригодились мои базовые знание программирования на Python.
Набросал пару строчек кода,я написал простенький скриптец,который перебирает в цикле пути к файлам или папкам,и если путь существует то выведет его на экран.
Выглядит мой скрипт так:

Python:
#!/usr/bin/env python
import os

path = '/data/users/'
users=['e.lindsey','a.modlin','s.locklear','g.leone','m.howard','rross']
with open('common.txt','r') as fs:
  for x in fs.readlines():
    for user in users:
      curpath=path+user+'/'+x.strip()
      if (os.path.exists(curpath)):
        print  curpath

8.PNG

path -- известная нам часть пути(/data/users/)
users -- массив возможных пользователей
common.txt -- наш словарик для брута директорий
скрипт просто в цикле добавляет к известному нам пути /data/users/ имя пользователя из массива и потом добавляет построчно слово из словаря. Затем выполняется проверка пути,в случаи если путь существует выводить полный путь.

Передать словарь на ссш машину можно с помощью команды
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
:
9.PNG

Дальше запускаем наш скриптик и видем результат:
10.PNG

Потыкая по папкам ,со временем замечаем что в одной папке пользователя rross-а есть возможность выполнить команду ls -la (просмотр содержание директории)
Там же находим наш токен от SSH-машины.
11.PNG

Ну вот,токен взят) Я вас поздравляю)))
Но на этом мы не останавливаемся.Нужно двигаться дальше.
А как же нам атаковать остальные машины??? Помните я в первой части говорил что ssh машина представляет особый интерес ,так ее можно использовать как тунель во внутреннюю сеть.
Конечно же можно использовать proxychains для атаки на хосты внутри сети,но лично мое мнение - это не совсем удобно,и мне гораздо удобнее использовать локальный проброс портов.
Прежде чем я начну - я всем настоятельно рекомендую посмотреть видео одного и разработчиков тестовой лаборатории Александра Дмитренка (aka Sinister) о возможностях и тунелях SSH

После просмотра все станет ясным)
И так следующей комбинацией клавиш вызовем меню тунелей ssh:
SHIFT+~+C
Знакомимся со справкой: 12.PNG

Напоминаю что наша SSH машина имеет IP адрес 172.16.0.8 в топологии сети: 13.PNG TL10_map.png

Давайте просканируем какуе нибудь машину на открытые порты:
К счастью на нашей машине есть установленный nmap и мы спокойно ним можем сканировать порты и полностью его использовать,но бывают ситуации когда нам нужно просканировать порты ,а nmap-а нету.Тогда в таких ситуациях можно легко обойтись NetCat-ом,и так же легко просканировать ним на открытые порты.
И так давайте просканим что то,например Hall-Of-Fame(зал славы):
14.PNG 15.PNG
Как видите результаты сканирования одинаковые как у нмапа так и у нетката)
Теперь все же вернемся к пробросам,давайте пробросим 80 порт от зала славы к себе на локалхост:
16.PNG
формат проброса следующий:
-L Наш_Локальный_Порт:Айпи_Адрес_Удаленной_Машины:Порт_Удаленной_Машины
Дальше идем к себе на
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
и проверяем: 17.PNG

На этом пока все) Приятной работы)


Предыдущая глава
Следующая глава
Оглавление
 
Последнее редактирование:

~~^Shad0w __ Just1ce^~~

~^_Wired FaLc❍n_^~
ELEET
19.10.2016
699
2 350
DarkSide
www.youtube.com
#7
А как с помощью утилиты поиска find определить папку куда мой пользователь может записать файл.(Или другим скриптом):)
самый простой способ:
Код:
find / -type d -maxdepth 2 -writable
-type d -- указать искать директории
-maxdepth 2 -- глубина поиска,для рекурсивного поиска
-writeable -- искать папки которые имеют права на запись
или так еще как вариант:
Код:
find / -type d -perm -o+w  -exec ls -adl {} \;
Ну в любом случае всегда для записи доступны две папки:
/tmp/
/var/tmp/
 

faust

Member
11.12.2016
5
1
#8
самый простой способ:
Код:
find / -type d -maxdepth 2 -writable
-type d -- указать искать директории
-maxdepth 2 -- глубина поиска,для рекурсивного поиска
-writeable -- искать папки которые имеют права на запись
или так еще как вариант:
Код:
find / -type d -perm -o+w  -exec ls -adl {} \;
Ну в любом случае всегда для записи доступны две папки:
/tmp/
/var/tmp/
Спасибо. :)
 
11.12.2016
8
11
#9
Хм, как-то проглядел возможности утилиты NetCat
Надо приглядеться к ней
Спасибо!
 

~~^Shad0w __ Just1ce^~~

~^_Wired FaLc❍n_^~
ELEET
19.10.2016
699
2 350
DarkSide
www.youtube.com
#11
e.lindsey@tl10-ssh:~$ ssh> -L 8080:192.168.0.8:80
-bash: -L: Permission denied
что делаю не так, не подскажите?
1)Попробуйте запустить ssh сессию от рута или через sudo (Отпишите в случае решение или не решение проблемы)

2)Еще возможно порт 8080 уже используется каким то другим процессом. ( В таком случае пришлите вывод команды "от рута" netstat -natlp)
 
15.09.2016
5
4
#12
1)Попробуйте запустить ssh сессию от рута или через sudo (Отпишите в случае решение или не решение проблемы)

2)Еще возможно порт 8080 уже используется каким то другим процессом. ( В таком случае пришлите вывод команды "от рута" netstat -natlp)
1) не решился
2) вот скрин
Screenshot from 2016-12-18 10-22-16.png
 
15.09.2016
5
4
#14
Последнее редактирование модератором:

SooLFaa

Инквизитор
ELEET
15.07.2016
562
868
25
#17
Бл*****ть, зачем я прочитал эту тему?! Зарекся же в твои топики с лабой не заходить. Уже 2 хинта знаю.