• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья BMC/IPMI/IP-KVM: удобное управление сервером или "железный" бэкдор. [ОСТОРОЖНО, 25 МБ КАРТИНОК!]

Пожалуйста, обратите внимание, что пользователь заблокирован
Я просто подумал, можно же обеспечить круглосуточное видеонаблюдение за портами сервера. Тогда мы можем своевременно отреагировать на любую попытку физического доступа.

Можно, так и делают. Когда арендуешь пространство в датацентре под размещение своих стоек - всегда разрешают ставить свою систему видеонаблюдения.
 
Можно, так и делают. Когда арендуешь пространство в датацентре под размещение своих стоек - всегда разрешают ставить свою систему видеонаблюдения.
сначала для этого нужно дорасти до целой стойки, редкий бизнес размещает/арендует по сорок юнитов сразу.
 
Можно, так и делают. Когда арендуешь пространство в датацентре под размещение своих стоек - всегда разрешают ставить свою систему видеонаблюдения.

сначала для этого нужно дорасти до целой стойки, редкий бизнес размещает/арендует по сорок юнитов сразу.

Я не был в датацентрах, но разве не могу я воткнуть в своё оборудование веб-камеру в USB-порт?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я не был в датацентрах, но разве не могу я воткнуть в своё оборудование веб-камеру в USB-порт?

Воткнуть в usb можешь, но не везде тебе дадут ее прикрутить снаружи стойки. Обосновывают тем что твоя камера может наблюдать за действиями на соседних серверах, которые не принадлежат тебе.
Разве что сделать какой-то девайс похожий на флешку, чтобы он внешне не выглядел как камера - тогда всем пофиг.

Но тут тоже куча моментов есть, если твой сервер находится в одной стойке с чужими, то ты его обслуживать можешь только в присутствии сотрудника дц.

Вопрос - а зачем вообще аренда места в дц, не проще снять на левые доки квартиру с хорошим интернетом, и поставить оборудование там? Гигабитная оптика сейчас есть много где.
 
Вопрос - а зачем вообще аренда места в дц, не проще снять на левые доки квартиру с хорошим интернетом, и поставить оборудование там? Гигабитная оптика сейчас есть много где.
а, кстати, здравая мысль.
однако при размещении штучных серверов датацентр выходит в 5-10 раз дешевле, вот если больше десяти серверов ставить - то квартира выигрывает.
 
Воткнуть в usb можешь, но не везде тебе дадут ее прикрутить снаружи стойки. Обосновывают тем что твоя камера может наблюдать за действиями на соседних серверах, которые не принадлежат тебе.
Разве что сделать какой-то девайс похожий на флешку, чтобы он внешне не выглядел как камера - тогда всем пофиг.

Но тут тоже куча моментов есть, если твой сервер находится в одной стойке с чужими, то ты его обслуживать можешь только в присутствии сотрудника дц.

Вопрос - а зачем вообще аренда места в дц, не проще снять на левые доки квартиру с хорошим интернетом, и поставить оборудование там? Гигабитная оптика сейчас есть много где.

Как флешку, при современных технологиях, вполне думаю для рукастых сделать IP-камеру.
 
Интересно, как работает PCH на перепаянных китайских материнках под старые ксеоны, по типу Хуанана? Они тоже просто с сервера перепаяны или китайцы что-то своё вставляют? У кого есть доступ на хуанан - у амеров или у китайцев?
 
Интересно, как работает PCH на перепаянных китайских материнках под старые ксеоны, по типу Хуанана? Они тоже просто с сервера перепаяны или китайцы что-то своё вставляют? У кого есть доступ на хуанан - у амеров или у китайцев?
я не знаю точно, как работает PCH, но думаю, что примерно так:
в самом чипе есть неизменяемый, однократно записанный на заводе код, который содержит в себе загрузчик Intel ME и функции проверки цифровой подписи (для проверки, что прошивка Intel ME не подменена, плюс для всяких дополнительных возможностей типа "Intel Boot Guard"). этот чип грузит Intel ME, который в свою очередь грузит остальную систему. прошивка ME записана на том же чипе, что и BIOS/UEFI (обычно на том же, но на некоторых материнках это отдельный чип), и вот её уже можно изменить.
для безопасности лучше считать, что у китайцев есть доступ к исходным кодам Intel ME и к приватным ключам для подписи прошивки, поэтому они могут "вставить что-то своё" в биосы своих материнских плат, и поэтому "железные бэкдоры" на китайских материнках доступны не только американцам, но и китайцам.

пинганите @matrosov или кого-нибудь из Positive Technologies, они знают лучше.
 
я не знаю точно, как работает PCH, но думаю, что примерно так:
в самом чипе есть неизменяемый, однократно записанный на заводе код, который содержит в себе загрузчик Intel ME и функции проверки цифровой подписи (для проверки, что прошивка Intel ME не подменена, плюс для всяких дополнительных возможностей типа "Intel Boot Guard"). этот чип грузит Intel ME, который в свою очередь грузит остальную систему. прошивка ME записана на том же чипе, что и BIOS/UEFI (обычно на том же, но на некоторых материнках это отдельный чип), и вот её уже можно изменить.
для безопасности лучше считать, что у китайцев есть доступ к исходным кодам Intel ME и к приватным ключам для подписи прошивки, поэтому они могут "вставить что-то своё" в биосы своих материнских плат, и поэтому "железные бэкдоры" на китайских материнках доступны не только американцам, но и китайцам.

пинганите @matrosov или кого-нибудь из Positive Technologies, они знают лучше.
Поясни , пож , за PCH . C BMC все ясно , даже экспы есть интересные . Как я понимаю , PCH с точки зрения именно удаленной атаки не несет интереса , только бэкдоры?
 
Поясни , пож , за PCH . C BMC все ясно , даже экспы есть интересные . Как я понимаю , PCH с точки зрения именно удаленной атаки не несет интереса , только бэкдоры?
к сожалению, несёт.
в ноутбуках "бизнес-класса" или компьютерах класса "workstation" ставят связку процессор+чипсет с поддержкой "Intel AMT": https://en.wikipedia.org/wiki/Intel_Active_Management_Technology
эта технология предоставляет удалённый доступ к домашнему компьютеру точно так же, как BMC в сервере: позволяет управлять клавиатурой и мышью удалённо, а также монтировать iso файлы как "виртуальную USB флешку": https://virtualizationreview.com/articles/2020/01/13/configuring-intel-amt.aspx

другое название у этой технологии - "Intel vPro". можно проверить, поддерживается ли оно вашим процессором, в базе данных интела: https://ark.intel.com
вот пример: https://ark.intel.com/content/www/u...77600u-processor-4m-cache-up-to-3-90-ghz.html



vpro.png



и есть ещё один нюанс: 6 лет назад исследователи обнаружили, что AMT встроено во все процессоры (по крайней мере старые) и его можно включить даже у тех моделей, у которых на сайте ark.intel.com написано, что vPro якобы не поддерживается: https://www.blackhat.com/docs/us-17/thursday/us-17-Evdokimov-Intel-AMT-Stealth-Breakthrough.pdf
 
к сожалению, несёт.
в ноутбуках "бизнес-класса" или компьютерах класса "workstation" ставят связку процессор+чипсет с поддержкой "Intel AMT": https://en.wikipedia.org/wiki/Intel_Active_Management_Technology
эта технология предоставляет удалённый доступ к домашнему компьютеру точно так же, как BMC в сервере: позволяет управлять клавиатурой и мышью удалённо, а также монтировать iso файлы как "виртуальную USB флешку": https://virtualizationreview.com/articles/2020/01/13/configuring-intel-amt.aspx

другое название у этой технологии - "Intel vPro". можно проверить, поддерживается ли оно вашим процессором, в базе данных интела: https://ark.intel.com
вот пример: https://ark.intel.com/content/www/u...77600u-processor-4m-cache-up-to-3-90-ghz.html



Посмотреть вложение 64576


и есть ещё один нюанс: 6 лет назад исследователи обнаружили, что AMT встроено во все процессоры (по крайней мере старые) и его можно включить даже у тех моделей, у которых на сайте ark.intel.com написано, что vPro якобы не поддерживается: https://www.blackhat.com/docs/us-17/thursday/us-17-Evdokimov-Intel-AMT-Stealth-Breakthrough.pdf
Первая же статья в гугле об отключении https://habr.com/ru/companies/dsec/articles/282546/ . Это конечно элегантнее чем китайские бэкдоры которые зашиты в прошивку без задней мысли.
Ну и эксп басоте скинули https://habr.com/ru/articles/328232/
 
Последнее редактирование:
Первая же статья в гугле об отключении https://habr.com/ru/companies/dsec/articles/282546/ .
2016 год :)
современных процах ME полностью выключить невозможно, только вырезать не критическую часть прошивки. если полностью очистить прошивку, то компьютер или не будет включаться вообще, или будет принудительно выключаться через 40 минут.
вот более актуальный софт, от 2018го: https://github.com/corna/me_cleaner

Ну и эксп басоте скинули https://habr.com/ru/articles/328232/
а это вообще топ, удалённый доступ с пустым паролем. не баг, а фича ©
 
Материала в интернете мало, а в рунете еще меньше, чем мало. Полноценный ресерч. Dread Pirate Roberts, аплодирую.
Полностью поддерживаю!

Dread Pirate Roberts, ты случайно не экспортировал девайс-трее блоб?

Как уже сказали выше, информации очень мало. Мне очень интересно, как различные вендоры прописываю mtd разделы в девайс-трее блобах.
 
Dread Pirate Roberts, ты случайно не экспортировал девайс-трее блоб?
нет, если скажешь, как это сделать - попробую.
я пытался запустить qemu даже с опубликованными mtd, но так и не осилил.
 
appreciates author --> top research
Полностью поддерживаю!

Dread Pirate Roberts, ты случайно не экспортировал девайс-трее блоб?

Как уже сказали выше, информации очень мало. Мне очень интересно, как различные вендоры прописываю mtd разделы в девайс-трее блобах.
for example such nxp/freescale --> 'fsl, ifc-nand' --> nand controller
for example i immediately remember such --> texas instruments --> OMAP4 series chip mmc
Код:
mmc@4809c000 {
    compatible = "ti,omap4-hsmmc";
    ti,hwmods = "mmc1";
};

also some interesting things i found dabble with some exynos + raspberry pi + TI beaglebone -->
pin multiplexing --> pinctrl --> pin --> GPIO inside one configuration + SPI data inside another
Код:
pinmux_uart {
pins = "pin1", "pin2";
function = "uart";      // for example UART mode
};

pinmux_gpio {
pins = "pin3", "pin4";
function = "gpio";      // gpio
};

best example i will think such raspberry pi --> platforms with feature --> dynamically add hardware --> from my knowledge --> raspberry pi make this popular --> there are such device tree overlays --> fragments of device tree --> he can be dynamically loaded to modify active device tree

Код:
/dts-v1/ /plugin/;
/ {
    compatible = "drpalpatine-enterprises-top-board";

    fragment@0 {
        target-path = "/";  // base DT root
        __overlay__ {
            new_device: device@... {   // "...": new device addr
                compatible = "vendor,device-type";
                status = "okay";
            };
        };
    };
};

with clock bindings --> everything --> have clocks. there are such interesting handling mechanisms --> for example a node define his required clocks --> reference another node --> where clock details are defining
Код:
clocks {
    main_osc: oscillator@... {
        compatible = "generic,oscillator";
        #clock-cells = <0>;
        clock-frequency = <13333337>;
    };

    pll: pll@... {
        compatible = "generic,pll";
        #clock-cells = <0>;
        clocks = <&main_osc>;
        clock-frequency = <600000000>; // pll out
    };
};
 
affere drpalpatine где вообще этот девайс три искать и как примерно оно выглядит?
в логе загрузки UBoot по "mtd" грепается только такое:

Код:
Creating 7 MTD partitions on "spi0.0":
0x00000000-0x00100000 : "bootloader"
0x00100000-0x00400000 : "nvram"
0x00400000-0x01400000 : "rootFS"
0x01400000-0x01700000 : "kernel"
0x01700000-0x01f40000 : "webpage"
0x00000000-0x01fc0000 : "all_part"
0x01fc0000-0x01fd0000 : "uboot_env"
 
affere drpalpatine где вообще этот девайс три искать и как примерно оно выглядит?
в логе загрузки UBoot по "mtd" грепается только такое:

Код:
Creating 7 MTD partitions on "spi0.0":
0x00000000-0x00100000 : "bootloader"
0x00100000-0x00400000 : "nvram"
0x00400000-0x01400000 : "rootFS"
0x01400000-0x01700000 : "kernel"
0x01700000-0x01f40000 : "webpage"
0x00000000-0x01fc0000 : "all_part"
0x01fc0000-0x01fd0000 : "uboot_env"
first look for the .dts + .dtsi--> inside dts, find such spi node --> some named similar to 'spi0.0' --> inside this node --> there such definition for spi flash + mtd partitions. eat through for such labels --> "bootloader" + "nvram" ... to match what you see inside U-Boot log
also sometimes --> especially with such bastard configurations --> mtd can be defined other places --> for example inside bootloader-specific config --> .config + .h + ... --> or bastard is even passed as kernel cmd line args --> look for such line in your boot log beginning 'bootargs' or something + something like 'mtdparts' inside this line --> MTD partitioning))++
 
Пожалуйста, обратите внимание, что пользователь заблокирован
сначала для этого нужно дорасти до целой стойки, редкий бизнес размещает/арендует по сорок юнитов сразу.
Есть в этом смысл? Если условно получили некий ip адрес злоумышленника и повели цепочку дальше - вышли на ip сервера в дата центре, поняли что это очередное промежуточное звено, запросили логи входящих-исходящих ip на сервере у оператора связи и пошли дальше. Зачем им физический доступ к серверу?
 
first look for the .dts + .dtsi--> inside dts, find such spi node --> some named similar to 'spi0.0' --> inside this node --> there such definition for spi flash + mtd partitions. eat through for such labels --> "bootloader" + "nvram" ... to match what you see inside U-Boot log
also sometimes --> especially with such bastard configurations --> mtd can be defined other places --> for example inside bootloader-specific config --> .config + .h + ... --> or bastard is even passed as kernel cmd line args --> look for such line in your boot log beginning 'bootargs' or something + something like 'mtdparts' inside this line --> MTD partitioning))++
there are the following files in Supermicro's published archive "x11_release_20200413.tar.gz"

Код:
BootLoader/Host/AST2500/u-boot-2013.01$ find . -iname "*dts*"
./dts
./drivers/net/fm/dtsec.c
./board/toradex/dts
./board/toradex/dts/tegra20-colibri_t20_iris.dts
./board/samsung/dts
./board/samsung/dts/exynos5250-smdk5250.dts
./board/compulab/dts
./board/compulab/dts/tegra20-trimslice.dts
./board/compal/dts
./board/compal/dts/tegra20-paz00.dts
./board/xilinx/dts
./board/xilinx/dts/microblaze.dts
./board/xilinx/microblaze-generic/dts
./board/xilinx/microblaze-generic/dts/microblaze.dts
./board/avionic-design/dts
./board/avionic-design/dts/tegra20-medcom-wide.dts
./board/avionic-design/dts/tegra20-tec.dts
./board/avionic-design/dts/tegra20-plutux.dts
./board/nvidia/dts
./board/nvidia/dts/tegra20-ventana.dts
./board/nvidia/dts/tegra20-harmony.dts
./board/nvidia/dts/tegra20-seaboard.dts
./board/nvidia/dts/tegra20-whistler.dts
./board/chromebook-x86/dts
./board/chromebook-x86/dts/link.dts
./board/chromebook-x86/dts/alex.dts
./arch/powerpc/include/asm/fsl_dtsec.h
./arch/arm/dts
./arch/arm/dts/tegra20.dtsi
./arch/arm/dts/exynos5250.dtsi
./arch/arm/dts/skeleton.dtsi
./arch/x86/dts
./arch/x86/dts/skeleton.dtsi
./arch/x86/dts/coreboot.dtsi
but no .dts for the ASPEED CPU used on Supermicro boards.

Код:
BootLoader/Host/AST2500/u-boot-2013.01$ tree -h board/aspeed/
board/aspeed/
├── [  60]  ast1500
│   └── [ 16K]  platform.S
├── [  60]  ast2050
│   └── [ 10K]  platform.S
├── [  60]  ast2100
│   └── [ 13K]  platform.S
├── [  60]  ast2150
│   └── [ 16K]  platform.S
├── [ 100]  ast-g3
│   ├── [2.2K]  ast2300.c
│   ├── [1023]  Makefile
│   └── [ 85K]  platform.S
├── [ 120]  ast-g4
│   ├── [7.8K]  ast-g4.c
│   ├── [1.1K]  Makefile
│   ├── [7.6K]  platform_fpga.S
│   └── [ 85K]  platform.S
├── [ 380]  ast-g5
│   ├── [ 21K]  ast_aes.c
│   ├── [ 12K]  ast_crypto.c
│   ├── [1001]  ast_crypto.h
│   ├── [3.6K]  ast-g5.c
│   ├── [ 15K]  ast_gpio.c
│   ├── [1.2K]  ast_gpio.h
│   ├── [ 27K]  ast-kcs.c
│   ├── [ 15K]  ast_pwm.c
│   ├── [8.3K]  ast_pwm.h
│   ├── [ 687]  ast_uart.c
│   ├── [ 116]  ast_uart.h
│   ├── [1.7K]  Makefile
│   ├── [9.3K]  platform_armsim2.S
│   ├── [ 23K]  platform_fpga_ecc.S
│   ├── [ 22K]  platform_fpga.S
│   ├── [ 72K]  platform.S
│   └── [7.4K]  smci-espi.c
└── [  80]  common
    ├── [4.5K]  fpga1_platform.S
    └── [7.5K]  fpga2_platform.S

8 directories, 30 files

will search further.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх