Статья была ранее размещена на форуме “Античат” 20.10.2013г.
Ссылка: https://forum.antichat.ru/threads/397144/
Всем привет!
Решил поделится со всеми одной достаточно вкусной багой администрирования, которая, на мой взгляд, была незаслуженно забыта, либо просто не так часто упоминается, несмотря на то, что она есть в паблике!
Сразу скажу, что в администрировании я не мастер, да и вообще в целом новичок, но кое-что смогу вам рассказать. Если что-то скажу не так, или будет, что добавить – пишите в комментариях!
Итак, поехали…
Мало кто знает, что доступ ко всем доменам на сервере можно получить не только с помощью рута, но и с помощью просто кривых рук админа (криво выставленных прав на пользователя). Как, например, в случаях, приведенных ниже.
На этом скриншоте мы видим пользователя nobody. На практике еще может встретиться www-data, apache, что означает этот пользователь общий, а не конкретный (например admin).
Дальше одного домена выйти не получается. Но что будет, если ввести в консоль cat /etc/passwd ?
Мы увидим соседние акки, о которых мы и не догадывались, но которые есть на сервере. В данном случае их не так много, поэтому я открыто и безжалостно вам их палю. Но бывают и вкусные серваки.
Идем далее….. Вбиваем всё в ту же консоль ls -la путь до аккаунта. В нашем случае это будет выглядеть вот так ls -la /home/sendekaz/public_html/
Как мы видим, у нас есть доступ к просмотру этого аккаунта. Смотрим, где есть права на запись… В любом случае, для вас не должно быть проблемой ориентироваться в правах на запись. Если для вас это всё же проблемно, то просто ориентируйтесь по черточкам. Если нет черточек, как, например, здесь – drwxrwxrwx (папка backup со скрина), то значит, есть права на запись.
Теперь нам нужно скопировать наш залитый шелл с домена, на который мы заливались, на нужный нам аккаунт, который мы смогли посмотреть через консоль. Делается это вот так:
cp [наш-шелл.php] [путь-куда-копируем/наш-шелл.php]
То есть в нашем случае это будет выглядеть вот так:
cp shell.php /home/sendekaz/public_html/ backup/shell.php
Вуаля! Шелл скопировался! И теперь по адресу site/ backup/shell.php мы имеем доступ к соседнему домену на сервере. И так можно делать с любым нужным нам доменом, где мы имеем общего юзера. В принципе, по словам наших сенсеев, бывает, что и из под конкретного (не общего типа apache или www-data) пользователя можно проделать тоже самое, но лично я такого пока не встречал.
Так же есть еще два нюанса, которые стоит учесть.
Первый. Может быть такое, что на сервере есть папка с доменом, но сам домен переехал. Поэтому советую заранее посмотреть, какие домены работают на сервере, а уже потом в них заливаться таким способом. Для тех кто не знает, делается это вот так: заходим на сайт http://www.bing.com и вбиваем айпи сервера в поисковик таким образом – ip:00.000.00.000 (где заместо нулей реальные цифры айпишника сервака, который можно узнать через шелл или любой сервис, например http://2ip.ru/ ).
И второй нюанс….
На домене, куда вы копируете шелл таким образом, в папке может быть .htaccess, который любит блокировать выполнение пхп кода(шелла), из-за чего ваш скопированный шелл может не запуститься. Этот вопрос решается достаточно легко, нам всего навсего надо переименовать хтач в какую-нибудь фигню (достаточно заменить в нем одну букву). Делается это следующим образом:
rename(“путь-до-папки-с-хтачем/.htaccess”,”.htacc”);
.htacc – то во что я переименовываю, вы же можете переименовать во что угодно.
После проделанных манипуляций, шелл должен работать, если вы всё правильно сделали. Только не забывайте переименовать хтач обратно, дабы ваш шелл не потерли и подобные баги не прикрыли.
Ну, на этом собственно всё. Пусть народ подтягивается и видит, что тут действительно есть что-то интересное. А то надоело сидеть без дела .
P.S: Из тех, у кого из вас есть сайт или шеллы, имеет смысл проверить на подобную багу. Лично знаю, что есть некие продавцы шеллов, которые продают по подобному методу, а некие, которые продают и не знают что продали один шелл с доступом ко всем сайтам. Говорят, на BSS гуру ее засрали, посмотрим что будет тут)))