Size: a a a

2021 March 08

КП

Котеечко Пухнастиньк... in SPbCTF
а если я скажу как сделать такой typedef() что бы потом можно было объявить такую функцию в которую можно передать сколько хочешь аргуентов и компилятор не будет крыть матом?
источник

КП

Котеечко Пухнастиньк... in SPbCTF
тогда разрешишь повыпендриваться?
источник

КП

Котеечко Пухнастиньк... in SPbCTF
ну Влад!
источник

DA

Danil Augustovich in SPbCTF
может он отошел)
источник

КП

Котеечко Пухнастиньк... in SPbCTF
typedef asmlinkage u_int64_t volatile (*func)(void *, ...);

int my_init(void) {
   func1 lookup = (void *)0xCafeBabeD0A7Bead;
   func printk = NULL;
   if ( (u_int16_t)((u_int64_t)lookup >> 48) != 0xffff )
       return -228;

   printk = lookup("printk");
   if ( !printk )
       return -229;
   printk("R3fl3ct1v3 w0rld %#llx\n", printk);
}

в примере выше 0xCafeBabeD0A7Bead патчится в рантайме до загрузки модуля в ядро, на реальный адрес. но это уже оффтоп.
new *(u_int64_t *)kallsyms_lookup_name = 0xffffffff96f61860
Try to inject with finit_module syscall
finit_module(); ret = -1; errno = 8
finit_syscall return errno 8... fallback to init_modulemodule_layout not found, try as is
[   33.855389] driver: loading out-of-tree module taints kernel.
[   33.855992] driver: module license 'unspecified' taints kernel.
[   33.856609] Disabling lock debugging due to kernel taint
[   33.857171] driver: module verification failed: signature and/or required key missing - tainting kernel
[   33.859638] R3fl3ct1v3 w0rld
источник

КП

Котеечко Пухнастиньк... in SPbCTF
ну все, теперь я точно выпендрился
источник

КП

Котеечко Пухнастиньк... in SPbCTF
как только мог
источник

КП

Котеечко Пухнастиньк... in SPbCTF
и тихоничко уебую в свою берлогу
источник

КП

Котеечко Пухнастиньк... in SPbCTF
всем хорошего вечера
источник

y

y0urR1ddle6 in SPbCTF
@p1r0t3xn1k 😂👍👍👍
источник

R

Reffi_4 in SPbCTF
"но ты же сам позвонил..."
источник

КП

Котеечко Пухнастиньк... in SPbCTF
Reffi_4
"но ты же сам позвонил..."
кому куда?
источник

VR

Vlad Roskov in SPbCTF
Котеечко Пухнастиньке
objcopy -R .gnu_debuglink ./data/libc-2.23.so ⇒ удалить запись об отладочных символах из либы
mv ./data/data/libc-2.23.so ./data/libc-2.23.so.debug ⇒ копируем файл отладочных символов от библиотеки соответствующей версии в папку с кастомной библиотекой.
objcopy --add-gnu-debuglink=libc-2.23.so.debug ./libc-2.23.so ⇒ пишем в сегмет отладочных символов ссылку на файл где отладочные символы
patchelf --set-interpreter ld-2.23.so ./binary  ⇒ патчим эльф на новый либц
patchelf --replace-needed libc.so.6 `pwd`/libc-2.23.so ./binary

LD_PRELOAD=./libc-2.31.so ./crap   ⇒ запускаемся с новым либц
set exec-wrapper env 'LD_PRELOAD=./libc-2.31.so' ⇒ запускаемся с новым либц под дебаггером
о, вот это круть 👍🏾 ценно

но выпендриваться всё равно нельзя)
источник

КП

Котеечко Пухнастиньк... in SPbCTF
то есть рефлективный вызов функции в ядре с кастомным набором аргументов - это чисто рутина?))
источник

КП

Котеечко Пухнастиньк... in SPbCTF
а вот патч либы - это ценно
источник

КП

Котеечко Пухнастиньк... in SPbCTF
да я не выпендривался блин
источник

КП

Котеечко Пухнастиньк... in SPbCTF
хз, мб так выглядело
источник

КП

Котеечко Пухнастиньк... in SPbCTF
сори
источник

pl

peach lasagna in SPbCTF
Lex
Как спастись от смс бомбера?) уже минут 5 долбят со всевозможных сервисов
ало, ну что там с пингами?
источник

VR

Vlad Roskov in SPbCTF
немного странно работает, я щас поигрался, проканало старую либсу подсосать в новом линухе, а новую в старом WSLе почему-то нет
источник