Реклама, вирусы и Google

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

Сегодня зашел на свой сайт и заметил интересную рекламку в блоке Google Adsense:

New 7-zip

The Ultimate in Compression! Get It Free Zip & Unzip Software

Нет, на сайте вирусов нет (т.е. они с сайта не загружаются и на сайт можно спокойно и безопасно зайти, там красиво). Там есть программа (инсталлятор), которая по-идее должна была бы быть новой версией известного архиватора 7-Zip. Чем она является на самом деле я не знаю, но пятая точка подсказывает, что там что-то нехорошее, а Virustotal это подтверждает.

Гео таргетинг

Второй прикол – вам наверняка не удастся скачать вирус программу, если вы зайдете с украинского IP. Вам будет предолжено отправить смску и получить код. Всего за каких-то символических 7.5$.

Мораль сей басни

Не забывайте нацюцюрнык проверять скачанные программы антивирусом 🙂

chmod – символьная и цифровая нотации

Символьная нотация chmod

Чьи права изменять Каким образом Какие именно права

u (владельца)
g (группы)
o (всех остальных)
a (всех трех категорий)

+ (добавить)
— (убрать)

r
w
x

= (сделать такими же)

u (как у владельца)
g (как у группы)
o (как у всех остальных)
u
g
+
s (SUID или SGID)
u

+

t (Sticky bit)

Примеры:

Добавить группе право на запись:
~> chmod g+w file
Убрать у прочих права на запись и исполнение:
~> chmod o-wx file
Добавить владельцу и группе права на чтение и запись:
~> chmod ug+rw file
Установить права прочих такими же, как у группы
~> chmod o=g file
Установить права прочих и группы такими же, как у владельца
~> chmod og=u file
Несколько изменений можно перечислять через запятую:
Добавить вдалеьцу право на исполнение, а у группы и прочих убрать право на запись:
~> chmod u+x,go-w file
Рекурсивно убрать у группы и у прочих права на чтение/запись/исполнение для каталога и файлов внутри:
~> chmod -R go-rwx directory

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

~> find . -type d -exec chmod 755 {} \;
~> find . -type f -exec chmod 644 {} \;
 
-type d – директории
-type f – файлы
Читать далее

Работа с архивами в UNIX-системах

При резервирном копировании, переносе данных и ротации логов, очень полезным было и остается архивирование. Стандартными для UNIX-систем де-факто были и остаются архиваторы tar, gzip и bzip (bzip2).

Краткий справочник, как ими управлять:

tar  cf file.tar files – создать tar-архив с именем file.tar содержащий files
tar  xf file.tar – распаковать file.tar
tar zcf file.tar.gz files – создать архив tar с сжатием Gzip
tar zxf file.tar.gz – распаковать tar с Gzip
tar jcf file.tar.bz2 – создать архив tar с сжатием Bzip2
tar jxf file.tar.bz2 – распаковать tar с Bzip2
gzip file – сжать file и переименовать в file.gz
gzip -k file – сжать file в file.gz и оставить file
gzip -d file.gz – разжать file.gz в file
gunzip file.gz – разжать file.gz в file
gzip -c file.gz - разжать файл и вывести в stdout
gzcat file.gz - разжать файл и вывести в stdout
на самом деле gunzip и gzcat - хардлинки на gzip,
~> ls -laio /usr/bin/gzcat /usr/bin/gunzip /usr/bin/gzip
47132 -r-xr-xr-x  4 root  wheel  - 28400 Mar  6  2008 /usr/bin/gunzip
47132 -r-xr-xr-x  4 root  wheel  - 28400 Mar  6  2008 /usr/bin/gzcat
47132 -r-xr-xr-x  4 root  wheel  - 28400 Mar  6  2008 /usr/bin/gzip
просто так проще, чтобы не запоминать ключи :)
с bzip2 все аналогично gzip:
bzip2 file – сжать file и переименовать в file.bz2
bzip2 -k file – сжать file в file.gz2 и оставить file
bunzip2 file.bz2 – разжать file.bz2 в file
bzcat file.bz2 - разжать файл и вывести в stdout

bzcat/gzcat очень полезно применять, когда нужно прочитать уже сротированный лог, например:

Читать далее

Оповещение о логине в ssh

В блоге itblog.suпопалась заметка об оповещении по почте о входе в консоль.

echo ‘ALERT — Root Shell Access on:’ `date` `who` | mail -s «Alert: Root Access from `who | awk ‘{print $6}’`» user@dom.dom

Вспомнил, что у меня давно используется такая штука. Ну, мало ли, вдруг найдется мегахацкер, который взломает сервер =). Только у меня немного не так:

echo «ALERT — Root Shell Access on: `date; echo; who | bwtail -1`» | mail -s «Root From: `who | bwtail -1`» root@domain.com

who может вывалить пакаван данных о логинах, но они мне не нужны, т.к. замысел в оповещении о последнем логине, поэтому я отрезаю одну строку с помощью tail.

Что такое bwtail? =) Это черно-белая версия tail (по сути просто хардлинк на tail), который у меня сделан цветным:

# from .cshrc
alias tail      /root/bin/coloredtail.sh

Вот так:

~> cat /root/bin/coloredtail.sh
#!/bin/sh

/usr/bin/tail $@ | /usr/local/bin/colorize

Чистка файлов от iframe вставок

По мотивам предыдущей заметки =)

Итак, если ваш сайт взломан или подобран пароль к вашему фтп-аккаунту и в некоторых (или во всех) файлах присутствует вражеский код iframe – самое время заняться чисткой.

Обнаружение противника

Для начала вражеский код нужно обнаружить. Самый безопасный и правильный подход – найти подозрительные участки кода в зараженных файлах и детерминировать их как вредоносные.

find . -name "*.php*" -or -name "*.*htm*" -exec grep "iframe" {} \; -print | less

В результате вы увидите код ифреймов и пути к зараженным файлам:

<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.htm
<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.shtml
<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.html

Если не хотите видеть путь к файлам (в принципе, на данном этапе он и не нужен), уберите ключ -print.

Читать далее

БигМир накручивает показы?

По всей видимости, в компанию СпутникМедиа пришел кризис – bigmir.net накручивает показы с помощью iframe. Эта тема сейчас активно обсуждается в листе рассылки Webman. Есть также версия, что это просто подстава, только кому она выгодна? А тем временем, на страницах сайтов можно найти коде ифрейма:

<iframe src=»hxxp://metanscript.com/s/in.cgi?4″ width=»0″ height=»0″ scrolling=»no» frameborder=»0″></iframe>

17:25 [220] ~ ~> wget —spider «hxxp://metanscript.com/s/in.cgi?4»
Spider mode enabled. Check if remote file exists.
—2009-08-19 17:25:45—  hxxp://metanscript.com/s/in.cgi?4
Resolving metanscript.com… 213.163.89.35
Connecting to metanscript.com|213.163.89.35|:80… connected.
HTTP request sent, awaiting response… 302 Found
Location: hxxp://www.bigmir.net/ [following]
Spider mode enabled. Check if remote file exists.
—2009-08-19 17:25:45—  hxxp://www.bigmir.net/
Resolving www.bigmir.net… 193.239.68.40
Connecting to www.bigmir.net|193.239.68.40|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: unspecified

[/text]


Remote file exists and could contain further links,
but recursion is disabled — not retrieving.


Читать далее