Атака на користувачів Linux або як зібрати ботнет руками адмінів

Для чистоти експерименту пропоную перейти посилання й виконати зазначеної інструкції «встановлення корисних пакетів». Інструкція для власників Ubuntu.
За посиланням всього лише «демонстрація» даного виду атаки, але в будь-якому разі ці дії краще робити на полігоні виртуалке.
Нижче опис того, що сталося, в тому випадку, якщо ви не полінувалися провести вказані вище дії.

Не велика передмова: часто буває що працюючи з мануалами по налаштуванню сервера лінь вписувати всі команди вручну, особливо довгі. Так само більшість додатків для роботи в консолі ігнорують вставку переведення рядка і просто моментально виконують код.
Якщо при копіюванні на сторінці коду підмінити його таким чином, що б при вставці в консоль — автоматично справдилися потрібні команди і нюанс становить лише те, яким чином приховати від очей користувача поганий код.

У результаті прийшла така думка:
1. Просимо користувача підвищити привілеї до рута, що як би цілком логічно, враховуючи подальшу установку пакетів.
2. Пишемо довгу команду, змушуючи тим самим користувача скопіювати (саме скопіювати а не ввести код руками).
3. При копіюванні — буфер обміну підміняється зв'язкою потрібних для проведення атаки команд. А саме:
set +o history && echo 'echo you hacked!' > /tmp/test.sh && chmod +x /tmp/test.sh && /tmp/test.sh && printf "\033c" && set -o history
sudo su
apt-get update && apt-get install mc && apt-get install vim && apt-get install htop && apt-get install man


Розбір першого рядка:
1. Відключаємо історію введених команд
set +o history

2. Власне створення і виконання шкідливого коду
echo 'echo you hacked!' > /tmp/test.sh && chmod +x /tmp/test.sh && /tmp/test.sh

3. Очищення консольного екрану (можна і clear)
printf "\033c"

4. Включаємо назад історію
set -o history


Другий рядок — запис в історію введеної раніше команди.
І власне код корисного навантаження.
У результаті (залежить від використовуваної консолі), при вставки скопійованого коду безпосередньо в консоль — виконаються небажані команди, які не відображаються в історії і на екрані.

Загалом використовуйте термінали які попереджають про вставки коду з перекладами рядків і не вставляйте бездумно код з неперевірених джерел.
Для Windows є ConEmu який попереджає про вставлення подібного коду.

P. S Наведений вище приклад — всього лише мої здогади про можливу проблему. На практиці з таким не стикався.
Стаття написана тільки з метою застерегти користувачів про таке, цілком можливий вектор атаки.


UPD. Спасибі ValdikSS за наводку thejh.net/misc/website-terminal-copy-paste. Оновив приклад.

Хотілося б почути думку користувачів, на скільки реальна загроза на практиці. І чи помітили ви виконання коду після вставки скопійованої команди в консолі.

Помітили ви виконання коду після вставки команди в консоль?

/>
/>


<input type=«radio» id=«vv70911»
class=«radio js-field-data»
name=«variant[]»
value=«70911» />
Так
<input type=«radio» id=«vv70913»
class=«radio js-field-data»
name=«variant[]»
value=«70913» />
Немає
<input type=«radio» id=«vv70915»
class=«radio js-field-data»
name=«variant[]»
value=«70915» />
Код не спрацював (якщо так, хотілося б почути в коментарях з якої причини)
<input type=«radio» id=«vv70917»
class=«radio js-field-data»
name=«variant[]»
value=«70917» />
Не тестував

Проголосувало 65 осіб. Утрималося 42 людини.


Тільки зареєстровані користувачі можуть брати участь в опитуванні. Увійдіть, будь ласка.


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.