Пишу шеллкодец для пентеста линуксовых систем. Прямо из шелла мне нужно сделать HTTPS запрос. Не спрашивайте зачем, это сложно. Могу ли я безопасно предположить, что на любой линуксовой системе будет установлена, скажем, libcurl? Той или иной версии. Или может есть какая-то другая библиотека, которая позволит мне сделать HTTPS запрос и будет более вероятно, что она установлена на линуксовой системе?
лучше явно проверить, ну и питон как правило в линуксах всегда есть. какой-нить urllib оттуда. --- Сообщение объединено, 25 июл 2020 --- странно, что на шеллшторме или експлойт-дб не нашел основу для бысрой переделки. Да и на гите много подобного. Встречалось, что курл надо было ставить, а юм или апт дергали wget.
Rel, curl сейчас и на десятке есть по дефолту, насчет никсов хз, кроме курл и вгет ничего не помню, мб UbIvItS или еще кто умный подскажет. з.ы. петон не нужен, он же не сам по себе хттпс отправляет, а тоже юзает поди обертки вокруг какого-нибудь опенссл.
чекай на системе sudo apt install or sudo zypper install ... ежли система столь идиотски настроена, то поставишь тудЫ что угодно
не скажи, иногда секьбрно много че выкл в системе, а питон оставлен. А если на минималках, то проще на форум фасма забежать в поисках примера хттпс реквеста. --- Сообщение объединено, 26 июл 2020 --- socat ставь
q2e74, если система реально секурно настроена, то фиг там что просто так запустишь и дело совсем не в наборе установленных либ. --- Сообщение объединено, 26 июл 2020 --- и?
он курл может дернуть, значит и просто строку на порт через /dev/tcp. Тут всякие если - пройденный этап. Вилел системы где бит исполнения под запретом, выпилены либы, а питон как жена цезаря, вне подрзрений. Тупо он сейчас везде, и админам удобен.
Питон использует libssl (часть OpenSSL), но он может быть и статически слинкован с ней. Да и в принципе libssl не достаточно, нужен HTTPS клиент, а что он там использует для реализации TSL/SSL не особо важно. Да понятно, что я могу запустить Питон или Вгет, мне желательно сделать это из самого шелла, то есть загрузить некую либу и дернуть оттуда несколько функций. Вопрос в том, какая из этих либ будет наиболлее вероятно установлена на рандомной Линуксовой системе? Возможно в шелл влезет кодец для нескольких либ, которые будут вызываться в зависимости от их наличия, но нужно определить список наиболее вероятно установленных.
Не самому же его кодить, тем более в ШК, вы представляете сколько это кода? Я на винде пробовал как то сделать на криптоапи + винсок, году так в 2013, забил (что это был "белый" код).
Да, для реализации HTTPS помимо самого клиента, который формирует и обрабатывает HTTP-заголовки, нужно сделать как минимум реализации AES и RSA (включая ЕЦП), а для RSA нужно как минимум сделать реализацию больших чисел. Это очень много кода, тем более для шелла.
Ты представляешь размер этого убожества? Я же просто говорил, про то, что бы дернуть сискол execve с переданной строкой, и пусть питон штатно всё выполняет. Натрави strace на wget, или ldd /usr/bin/wget и увидишь типичные либы. Curl в многих дистрибах надо доставлять. В докеровой линухе и этого может не быть, но там зато сразу рут. Это же пентест, там много сочинять не надо, надо тупо и просто. Сделай слепок своей посылки да сразу заряди ее в /dev/tcp . Делов то. Времени вроде много прошло, наверно это уже не актуально.
Я сделал в итоге через libcurl. --- Сообщение объединено, 31 июл 2020 --- Любопытная вещь кстати: wget использует gnutls, а curl использует openssl. В то время как на всех моих линуксовых системах питон статически слинкован.