The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Обходной способ запуска программ, скрытых в блочном устройстве
Предположим у нас нет программы super_mega_ls, а на компьютере нет доступа на
установку ПО и запись файлов, но программой воспользоваться нужно. Wget не
работает, curl огорожен, Flash-накопители монтировать прав нет.

Допустим, у нас есть неформатированная флешка. На своём компьютере запишем
нужную программу в "raw-режиме", не создавая файловую систему и разделы:

   dd if=/bin/ls of=/dev/sdb

Приходим на целевую машину, на которой нужно запустить программу. Помним про
версию ведра/ядра/libc/статическую сборку.
Вставляем флешку. И далее в зависимости от версии системы творим зло. В Debian
Jessie это будет выглядеть так:

   /lib64/ld-2.13.so /dev/sdb

Далее происходит магия (см. исходники exec). Много думаем...
 
15.01.2016 , Автор: 赤熊
Ключи: linux, exec, flash, loader / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Файлы, копирование, архивация

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, _KUL, 07:03, 18/01/2016 [ответить] [смотреть все]
  • +/
    Про raw не знал, - жуть ... Когда линукс займёт доминирующее место, данная фича загрузчика либ может неплохо помочь злодеям.
     
     
  • 2.5, Аноним, 10:20, 18/01/2016 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Вопрос к читателям А всякими там аппарморами и прочими селинуксами как огородит... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.12, 3619629066, 18:35, 18/01/2016 [^] [ответить] [смотреть все]  
  • +/
    активируешь модуль ведра строкой в грубе https wiki debian org AppArmor HowTo... весь текст скрыт [показать]
     
     
  • 4.18, анонимус, 23:15, 20/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Про скайп я ни слова не говорил А про тох, это да Надо прикручивать к домена... весь текст скрыт [показать]
     
     
  • 5.24, Аноним, 22:46, 24/01/2016 [^] [ответить] [смотреть все]  
  • +/
    DNS управляется централизовано, там всегда могут разделегировать твой домен без ... весь текст скрыт [показать]
     
  • 1.2, Аноним, 08:02, 18/01/2016 [ответить] [смотреть все]  
  • +/
    но запуститься то должно с правами васи пупкина, а не рута
     
     
  • 2.6, _KUL, 10:37, 18/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    И такая инициирует tcp сессию с злодейским сервером или в резолвном dns ответе о... весь текст скрыт [показать] [показать ветку]
     
  • 1.3, 11, 08:06, 18/01/2016 [ответить] [смотреть все]  
  • +/
    > dd if=/bin/ls of=/dev/sdb

    и линукс нам такой пишет:
    dd: failed to open /dev/sdb: Operation not permitted

     
     
  • 2.4, JohnL3mon, 08:22, 18/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А теперь внимательно читаем, что написано НА СВОЁМ компьютере , потом собираем п... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.13, ананим.orig, 19:00, 18/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    это там тоже написано зыж фактически сделать cat исполняемый_file другой_file... весь текст скрыт [показать]
     
     
  • 4.15, 3619629066, 19:10, 18/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Флешка от этого становится только крепче и возможно получает силу земли ... весь текст скрыт [показать]
     
  • 1.7, PnDx, 11:50, 18/01/2016 [ответить] [смотреть все]  
  • +1 +/
    Если есть доступ хотя бы к /tmp (без noexec) и возможность запустить tar|cpio|pax, проблем притащить что нужно с любого читаемого блочного устройства нет в принципе.

    Метода выше — скорее для обхода noexec? ** Но: если вгрузит, это сразу CVE-*. Так что максимум, это отсутствие бита "x" и невозможность его выставить.
      Вот так примерно должно быть в случае noexec:
    /lib64/ld-2.18.so /mnt/ls
    /mnt/ls: error while loading shared libraries: /mnt/ls: failed to map segment from shared object: Operation not permitted

     
     
  • 2.14, 3619629066, 19:03, 18/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    noexec Do not allow direct execution of any binaries on the mounted filesyste... весь текст скрыт [показать] [показать ветку]
     
  • 1.8, Онаним, 11:53, 18/01/2016 [ответить] [смотреть все]  
  • +/
    >    /lib64/ld-2.13.so /dev/sdb
    > Далее происходит магия (см. исходники exec). Много думаем...

    "Грешно издеваться над больными людьми" (С)

    funky@funky:/tmp$ /lib/x86_64-linux-gnu/ld-2.19.so /dev/sdb
    /dev/sdb: error while loading shared libraries: /dev/sdb: cannot open shared object file: Permission denied

    funky@funky:/tmp$ sudo /lib/x86_64-linux-gnu/ld-2.19.so /dev/sdb
    config-err-gvTJhW  unity_support_test.0

     
     
  • 2.10, x0r, 16:49, 18/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    там же написано: собрать статически
     
     
  • 3.19, Онаним, 17:27, 21/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Прикалываетесь что ли Несмешно funky funky cat dev sdb dev null cat ... весь текст скрыт [показать]
     
  • 1.9, Аноним, 16:01, 18/01/2016 [ответить] [смотреть все]  
  • +1 +/
    Еще один чукча-писатель открыл для себя ld.so
     
     
  • 2.11, Crazy Alex, 17:46, 18/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Скоро узнает, что есть sh, perl и python
     
     
  • 3.17, Пользователь Debian, 20:10, 18/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Это случилось http www opennet ru tips 2935_database_field_obfuscator_hash_pe... весь текст скрыт [показать]
     
  • 1.16, Аноним, 20:10, 18/01/2016 [ответить] [смотреть все]  
  • +1 +/
    Ага, рядовой пользователь имеет право чтения файла dev sdb На огороженном комп... весь текст скрыт [показать]
     
  • 1.20, kirill, 00:37, 24/01/2016 [ответить] [смотреть все]  
  • +1 +/
    cat /dev/sdb > /dev/null
    cat: /dev/sdb: Отказано в доступе
     
  • 1.21, anonymous, 13:40, 24/01/2016 [ответить] [смотреть все]  
  • +/
    Вы на "целевом компьютере" забыли на обычного пользователя переключиться
    и сделали "/lib64/ld-2.13.so /dev/sdb" под рутом.
     
  • 1.22, 3619629066, 21:30, 24/01/2016 [ответить] [смотреть все]  
  • +/
    test@nnn-book:~$ id
    uid=1000(test) gid=100(users) группы=100(users)
     
  • 1.23, Аноним, 22:40, 24/01/2016 [ответить] [смотреть все]  
  • +1 +/
    Да ты хакер А почему у админа с такими закрутами гаек устройство подключается и... весь текст скрыт [показать]
     
     
  • 2.25, Аноним, 07:08, 28/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    потому что gnome kde что там еще хочет монтировать вставленную флэшку мы же не... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.27, Аноним, 08:26, 05/02/2016 [^] [ответить] [смотреть все]  
  • +/
    У рядового юзера программы в системе запускаются и без креатива с ld so А еще п... весь текст скрыт [показать]
     
  • 1.26, Павел Самсонов, 21:54, 30/01/2016 [ответить] [смотреть все]  
  • –1 +/
    >[оверквотинг удален]
    > работает, curl огорожен, Flash-накопители монтировать прав нет.
    > Допустим, у нас есть неформатированная флешка. На своём компьютере запишем нужную программу
    > в "raw-режиме", не создавая файловую систему и разделы:
    >    dd if=/bin/ls of=/dev/sdb
    > Приходим на целевую машину, на которой нужно запустить программу. Помним про версию
    > ведра/ядра/libc/статическую сборку.
    > Вставляем флешку. И далее в зависимости от версии системы творим зло. В
    > Debian Jessie это будет выглядеть так:
    >    /lib64/ld-2.13.so /dev/sdb
    > Далее происходит магия (см. исходники exec). Много думаем...

    Нм, вобщем то /dev это tmpfs. Попробуйте тоже самое, предварительно выполнив mount /dev -o remount,noexec.

    > URL:
    > Обсуждается: http://www.opennet.ru/tips/info/2934.shtml

     
     
  • 2.28, Аноним, 08:28, 05/02/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > Нм, вобщем то /dev это tmpfs.

    Совершенно не обязательно. Хотя и возможно.

     
  • 1.29, narical, 20:03, 12/02/2016 [ответить] [смотреть все]  
  • +/
    Придётся корзину флешек держать, с подписанными маркером названиями команд, по одной на флешку.
     
     
  • 2.30, vodz, 12:00, 15/02/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Да не, положите busybox
     
  • 1.31, freehck, 15:26, 03/11/2016 [ответить] [смотреть все]  
  • +/
    Мне очень интересно, ничего ли автора не смущает вот в этом:

    % ll /dev/sd{a,b}
    brw-rw---- 1 root disk 8,  0 май 24 15:51 /dev/sda
    brw-rw---- 1 root disk 8, 16 май 24 15:51 /dev/sdb
    % groups
    sudo users wireshark lpadmin scanner docker hashman

    Ну запущу я ld.so с этими правами. Но чтобы выполнить программу на /dev/sdb, я должен открыть это блочное устройство на чтение. А у юзера в 99.9% случаев таких прав нету.

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor