Старый 26.06.2012, 20:25   #1
Specialist
 
Регистрация: 13.06.2012
Сообщений: 25
Репутация: 20
По умолчанию Палим ламерские LKM

Заметил, что в большинстве паблик руткитов для Linux сокрытие модуля ограничивается удалением его из связного списка через list_del_init(&__this_module.list). Он исчезает из /proc/modules, но отлично виден в sysfs по пути /sys/module/rootkit/. Понятно, что решение тривиальное - либо освободить kobject модуля руткита, дабы он исчез из sysfs, либо просто скрыть /sys/module/rootkit через перехват сискола.
Таким образом, родился простенький скрипт, детектирующий простые руткиты сравнением содержимого procfs и sysfs.

PHP код:
#!/bin/bash
# simple hidden LKM checker by The Specialist
# coded just for phun & because i haven't seen any public LKM, hiding from sysfs
# CONFIG_SYSFS should be `y` [that's ok an all modern distros]

PROCFS_PATH="/proc/modules"
SYSFS_PATH="/sys/module"

PROCFS_MODULES=`cat $PROCFS_PATH | cut -d' ' -f1 | sort -d`
SYSFS_MODULES=`find $SYSFS_PATH -name initstate | cut -d'/' -f4 | sort -d`

VISIBLE_CNT=`echo $PROCFS_MODULES | wc -w`
if [ 
"$VISIBLE_CNT"0" ]; then
    
echo " - Error getting $PROCFS_PATH, check for procfs support"
    
exit
fi

SYSFS_CNT
=`echo $SYSFS_MODULES | wc -w
if [ 
"$SYSFS_CNT"0" ]; then
    
echo " - Error getting $SYSFS_PATH/*, check for sysfs support"
    
exit
fi

if [ "$VISIBLE_CNT!= "$SYSFS_CNT]; then
    
echo " * WARNING ! Hidden LKM detected"
    
echo "   Visible module count: $VISIBLE_CNT"
    
echo "   Sysfs module count: $SYSFS_CNT"
    
echo "   Hidden module list: "
    
echo $SYSFS_MODULES tr ' ' '\n' > /tmp/sys_mod.$$
    echo 
$PROCFS_MODULES tr ' ' '\n' > /tmp/proc_mod.$$
    
HIDDEN=`diff /tmp/sys_mod.$$ /tmp/proc_mod.$$`
    echo 
"    *"`echo $HIDDEN | cut -d'<' -f2`
    
rm -/tmp/{sys_mod,proc_mod}.$$
else
    echo 
" Everything seems to be ok!"
    
echo " [Do not trust, rtk can easily hook sysfs stuff !]"
fi 
Specialist вне форума   Ответить с цитированием
Старый 10.07.2012, 10:36   #2
mandy
 
Регистрация: 10.07.2012
Сообщений: 2
Репутация: 0
По умолчанию

спасибо за скрипт. переписан под python.. но походу там полно ложных срабатываний
чекалось на CentOS 5.X

ну допустим найден реальный LKM. везде подпапка parameters, в ней ничего интересного. что с этим делать? =)
mandy вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot