Использование уязвимости Webmin для получения максимальных привелегий.
Здравствуй уважаемый ачатовец, да и гостю привет!
Сегодня я хочу рассказать вам про хороший способ получить рута в системе.
Хех скажите вы, слышали уже байки.. Мда. я тоже слышал, не спорю, хватает "способов получения рута".
Но я хочу рассказать о своем способе. Этим способом я порутал не очень много серверов (штук 8), но и этого оказалось достаточно.
Ведь серваки были не простые, а на фре. И крутилась на них порнуха, в промышленных масштабах.
Так что может кому этот способ и пригодиться=).
Далее буду краток..
Описание уязвимости
Сервис Webmin крутиться на 10000 порту по умолчанию.
Крутиться с правами суперпользователя.=)
Есть 2 режима работы протокола обмена этой системы удаленного администрирования с пользователем - http и https.
Cоответственно в сплоите предусмотрено 2 параметра для этих режимов. Рассмотрим его (сплоит) поподробнее.
Exploit - вот сам эксплоит, позволяющий добиться чтения файлов на уязвимой машине с правами Webmin.
Стоит так же добавить, что помимо использования сплоита можно добиться нужного эффекта и руками
https://solun.de:10000/unauthenticated/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/etc/passwd - вот пример ручной эксплуатации дыры
Использование
В случае с ручным использованием, я думаю, все ясно. НО ручной способ не всегда работает.
Рассмотрим использование сплоита.
Usage: webmin.pl <url> <port> <filename> <target>
TARGETS are
0 - > HTTP
1 - > HTTPS
Define full path with file name
Example: ./webmin.pl blah.com 10000 /etc/passwd
Что мы тут имеем?
<url> - тут все, я думаю, понятно. Вводим URL или IP.
<port> - как я уже говорил, смело ставь 10000 порт. Его очень редко меняют.
<filename> - Вот тут вся соль. Сплоит позволяет читать файлы уязвимой машины с правами root. Неплохо. да?
<target> - как описано выше, Webmin работает в 2 режимах. Соответственно ставим 1 для https и 0 для http.
Собственно уже можно догадаться, что это сплоит позволяет нам очень многое, но я уточню для самых маленьких что именно=)
Ставим в параметр <filename> например такой файл /etc/shadow для Linux или /etc/master.passwd для FreeBSD и у нас сами знаете что..
Теперь примеры того что СТОИТ читать в первую очередь:
1. /etc/shadow, /etc/master.passwd
2. /root/.bash_history, /root/mysql_history, /root/.history, /home/user какой нить/.bash_history
3. Конфиги апача. Не буду делать BAYAN, читайте http://forum.antichat.ru/thread22832-httpd.conf.html.
4. Файлы конфигурации Webmin. Если вдмин не маньяк то могут лежать в двух разных местах
a) /usr/local/etc/webmin/miniserv.conf
/usr/local/etc/webmin/miniserv.users
б)/etc/webmin/miniserv.conf
/etc/webmin/miniserv.users
Если рут маньяк, то вам и рутовая читалка не поможет=).
Поиск уязвимых машин
Отдельно хочеться отметить такой вопрос, как поиск уязвимых машин.
Как вы уже наверно догадались, можно искать с поможью nmap.
Вот так: nmap -sT x.x.x.* -p 10000.
Но можно искать и с помощью Google.
Вот так inurl:"de:10000" Login to Webmin. Так что простор ниипаца какой.
Как получить рута.
Теперь методика получения рута.
Все просто.
Рекомендую заносить все найденные незашифрованный пароли в отдельный файл.
А после того как поиски закончены, запустить Ивана-потрошителя вот так: ./john-mmx shadow -wordlist=файл с найденными пассами.
Причем вместо shadow можно ставить master.passwd.
ВНИМАНИЕ
Найденный нами файл miniserv.users. Его конечно тоже на перебор. В нем пассы или DES или Unix md5. . Это как повезет.
Кстати иногда в нем можно встретить запись вроде root:0. Это значит что аутентификация идет по теневому файлу.
Еще хочу обратить внимание аудитории на то, что пароль root в miniserv.users НЕ ВСЕГДА совпадает с паролем root в shadow.
Так что перебирайте miniserv.users обязательно. Таким образом, даже если тебе и не удасться взять рута с ходу, можно получить права юзера и, при должном умении, залить веб-шелл.
Что дальше???
Теперь несколько пунктов о том "А что же делать дальше".
Если вы получили рута, то читайте кучу статей на ачате, например отличный вариант
http://forum.antichat.ru/thread37187.html
Неплохо троянить Su, но не всегда катит.
Можно давать шелл системному юзеру. Тоже не всегда катит.
Иначе дела обстоят, если ты получил доступ в панель Webmin. Тут куча вариантов. Если есть возможность выполнения команды, то см. способы закрепления в системе. статей хватает.
Иногда таких прав нет. Тогда приходиться изворачиваться. Тут каждый сам себе трактор.
ЛОГИ Webmin
Как вы наверно уже догадались, ни один запрос к вебмину не проходит незамеченно.
Все строго логируеться.
Логи в Webmin, при неманьяковых админах храняться тут
/var/log/webmin/
Их там несколько. Перечислять не буду,найдете все сами.
Про другие логи читайте например
http://forum.antichat.ru/thread26232...%E3%EE%E2.html
З.Ы. Конструктивная критика будет учтена.
Если кому что не нравиться то сами АПСТЕНКУ=)
И самое главное, что
этой уязвимостью файл приинклудить нельзя и команды системы из сплоита не выполняються
Greets to Kot777, Crilaz,X-treem, Elekt, ShadOS.