19 марта, 2024

Что можно сделать на чужом ПК при помощи SSH

Содержание:

Если вы хотите кому-либо доказать, что у вас есть удаленный доступ к устройству, или просто вы хотите убедить кого-то, что их компьютер уязвим, можно использовать SSH.

Действия на расстоянии

Если для вас факт того, что ПК может быть взломан понятен и очевиден, то для среднестатистического пользователя — нет. Он, скорее, склонен приписывать странное поведение своего компьютера ошибкам, сбоям или другим причинам, не зависящим от злоумышленников. Хотя с помощью SSH-доступа хакер может легко создавать фейковые алерты и всячески маскировать свою активность.

Что можно сделать через SSH-доступ

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

Затем мы можем начать «шуметь». Можно использовать динамики, подключенные к компьютеру. Если жертва думает, что она одна дома, то неожиданно включенный звук из компьютера может сильно ее напугать. То же самое можно сказать и о компьютере, который начинает яростно пищать, как будто он вот-вот взорвется.

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

Что вам понадобится

Вам понадобится уже готовый SSH- доступ к какому-либо компьютеру. Мы разберем пример для Ubuntu, но вы можете управлять большинством компьютеров, включая MacOS, используя те же команды.

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

Шаг 1 — Настройка доступа и запуск базовых приложений

Для начала нужно прописать команду, чтобы все, что мы делаем, появлялось на удаленном компьютере, на который мы вошли через SSH, а не на локальном компьютере, на котором мы вошли в систему. Настроим путь отображения с помощью следующей команды:

export DISPLAY=:0.0

Теперь, написав простую команду firefox через SSH, вы откроете окно браузера Firefox на удаленном компьютере.

Но для нашего первого примера давайте откроем окно xterm, с отображением сетевых данных, которые выглядят довольно тревожно для новичка. Чтобы сделать ситуацию еще хуже, мы сделаем это 10 раз. Соответственно, открытых окон будет 10.

Чтобы это сделать, мы выполним команду в цикле:

for i in {1..10}; do sudo xterm -maximize -e sudo tcpdump; done

В этом случае мы открываем окно терминала максимального размера, а команда -e означает, что мы выполняем sudo tcpdump в окне xterm, которое мы запускаем.

Шаг 2 — Звонки, свист и речь

Прежде чем мы сможем воспроизводить какой-либо шум, нам нужно выполнить следующую команду, чтобы получить возможность управлять динамиками удаленно.

sudo modprobe pcspkr

Теперь у нас есть много вариантов! Во-первых, мы можем произнести любую фразу через компьютер с помощью команды say или espeak.

say "I am a canadian randomware, I have not encrypted any files but would appreciate some change"
espeak "please give me quarters sorry to bother you"

Мы можем запланировать подобные сообщения, чтобы они периодически уходили в chrontab.

Читать также:  Что такое видеокарта и для чего она нужна

Мы можем использовать звуковой сигнал, чтобы свести пользователя с ума. Чтобы использовать beep, установите его с помощью apt install beep.

После установки посмотрите в мануал с помощью man beep, чтобы оценить его возможности:

BEEP(1)               General Commands Manual               BEEP(1)

NAME
       beep - beep the pc speaker any number of ways

SYNOPSIS
       beep [--verbose | --debug] [-e device | --device device] [-f
       N] [-l N] [-r N] [-d N] [-D N] [-s] [-c]

       beep [ OPTIONS ] [-n] [--new] [ OPTIONS ]

       beep [-h] [--help]

       beep [-v] [-V] [--version]

DESCRIPTION
       beep allows the user to control the pc-speaker  with  preci‐
       sion,   allowing  different  sounds  to  indicate  different
       events.  While it can be run quite happily  on  the  command
       line,  it's intended place of residence is within shell/perl
       scripts,  notifying  the  user  when  something  interesting
       occurs.   Of course, it has no notion of what's interesting,
       but it's real good at that notifying part.

       All options have default values, meaning  that  just  typing
       'beep'  will work.  If an option is specified more than once
       on the command line, subsequent options override their  pre‐
       decessors.  So 'beep -f 200 -f 300' will beep at 300Hz.

OPTIONS
       --verbose, --debug
              enable  debug  output. This option prints a line like
              the following before each beep:

              [DEBUG] 5 times 200 ms beeps (100  delay  between,  0
              delay after) @ 1000.00 Hz

       -e device, --device device
              use device as event device. If the switch isn't used,
              /dev/tty0 and /dev/vc/0 are tried in turn.

       -f N   beep at N Hz, where 0 < N  <  20000.   As  a  general
              ballpark,  the regular terminal beep is around 750Hz.
              N is not, incidentally, restricted to whole numbers.

       -l N   beep for N milliseconds.

       -r N   specify the number of repetitions (defaults to 1).

       -d N, -D N
              specify a delay of  N  milliseconds  between  repeti‐
              tions.   Use  of  -d specifies that this delay should
              only occur between beeps,  that  is,  it  should  not
              occur  after  the last repetition.  -D indicates that
              the  delay  should  occur  after  every   repetition,
              including  the  last.  Normally, -d is what you want,
              but if, for example, you are stringing  several  beep
              commands  together  to play the star wars anthem, you
              may want control over every delay.

       -n, --new
              this option allows you to break the command  line  up
              into  specifying  multiple  beeps.   Each  time  this
              option is used,  beep  starts  treating  all  further
              arguments as though they were for a new beep.  So for
              example:

              beep -f 1000 -n -f 2000 -n -f 1500

              would produce a sequence of three  beeps,  the  first
              with  a  frequency  of  1000Hz (and otherwise default
              values), then a  second  beep  with  a  frequency  of
              2000Hz  (again, with things like delay and reps being
              set to their defaults), then a third beep, at 1500Hz.
              This  is  different from specifying a -r value, since
              -r repeats the same beep multiple times,  whereas  -n
              allows  you  to specify different beeps.  After a -n,
              the new beep is created with all the default  values,
              and  any  of  these can be specified without altering
              values for preceding (or later) beeps.  See the EXAM‐
              PLES section if this managed to confuse you.

       -s, -c these  options  put  beep into input-processing mode.
              -s tells beep to read from stdin, and beep after each
              newline, and -c tells it to do so after every charac‐
              ter.  In both cases, the program will also  echo  the
              input back out to stdout, which makes it easy to slip
              beep into a text-processing pipeline, see  the  EXAM‐
              PLES section.

       -h, --help
              display usage info and exit

       -v, -V, --version
              display version information and exit

Мы можем сгенерировать почти любой шум с Beep. Следующая таблица с частотами вам может пригодится:

Note      Frequency
       C         261.6
       C#        277.2
       D         293.7
       D#        311.1
       E         329.6
       F         349.2
       F#        370.0
       G         392.0
       G#        415.3
       A         440.0
       A#        466.2
       B         493.9
       C         523.2

В нашем случае мы собираемся сделать что-то ужасное для конечного пользователя. Флаг-f устанавливает частоту на 4000 кГц, флаг-d устанавливает длительность задержки между звуковыми сигналами на 500 мс, а флаг-l устанавливает длину звукового сигнала в секунду. Наконец, флаг-r повторяет этот ужасный шум 10 раз.

beep -f 4000 -D 500 -l 1000 -r 10

Шаг 3 — Устрашающие сообщения об ошибках

Запутанные или тревожные сообщения об ошибках – это весело, поскольку пользователи обычно верят им, пока они не станут слишком абсурдными. Такие сообщения могут быть совершенно разными.

Читать также:  Как избавится от смс троянцев WinLock (Блокиратор Windows)

Мы можем вызывать маленькие сообщения с помощью команды notify-send, с заголовком и телом сообщения.

notify-send 'WARNING' 'I AM CALLING THE INTERNET POLICE'

Это сообщение всплывет в углу. Как-то скучно. Вместо этого мы можем отобразить большое жирное тревожное сообщение с помощью команды whiptail и запустить его в полноэкранном окне.

xterm -maximized -fullscreen -fa 'Monospace' -fs 19.31 -e whiptail --title "CRITICAL: ACTION CANNOT BE UNDONE" --msgbox "UNAUTHORIZED LOGIN! DATA SAFEGUARD SYSTEM WILL DESTROY THIS TERMINAL IN 10 SECONDS, STAY 30 FEET CLEAR TO AVOID BLAST" --topleft 23 79

Вы можете заменить его своим собственным сообщением, вот как оно будет выглядеть.

Шаг 4 — Сron-задачи «из ада»

Теперь мы можем начать комбинировать задачи и планировать их автоматический запуск. Мы можем проверить, есть ли какие-либо существующие задания в crontab с флагом-l, а затем добавить новое задание с флагом-e.

crontab -l
crontab -e

В открывшемся окне конфигурации можно добавить задание для выполнения каждые 60 секунд по следующей формуле.

* * * * * (your code here)

Чтобы компьютер издавал звуковой сигнал каждые 60 секунд, мы можем добавить эту запись, а затем нажать ctrl x и y, чтобы сохранить файл.

* * * * * beep -f 300.7 -r 10 -d 50 -l 400

Как только файл будет сохранен, компьютер будет издавать звуковой сигнал с заданными параметрами каждые 60 секунд.

Шаг 5 — Завершение пользовательских задач

Если у вас есть доступ к чужому компьютеру при помощи SSH, вы можете отключить любой выполняемый процесс. Это приведет к внезапной остановке используемого приложения, а соответственно, пользователь не сможет эффективно пользоваться компьютером.
Чтобы найти идентификатор процесса, мы можем использовать команды top или htop. Если у вас не установлен htop, вы можете сделать это с помощью команды, указанной ниже.

apt install htop
top
Tasks: 219 total,   1 running, 178 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.0 us,  0.4 sy,  0.0 ni, 95.6 id,  0.9 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  4968836 total,  1431244 free,  1104324 used,  2433268 buff/cache
KiB Swap:  5138428 total,  5138428 free,        0 used.  3367804 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
31906 root      20   0       0      0      0 I   6.2  0.0   0:00.59 kworker/u16:1
32560 toor      20   0   41928   3880   3192 R   6.2  0.1   0:00.02 top
    1 root      20   0  160212   9592   6816 S   0.0  0.2   0:02.35 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd
    4 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/0:0H
    6 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 mm_percpu_wq
    7 root      20   0       0      0      0 S   0.0  0.0   0:01.33 ksoftirqd/0
    8 root      20   0       0      0      0 I   0.0  0.0   0:09.13 rcu_sched
    9 root      20   0       0      0      0 I   0.0  0.0   0:00.00 rcu_bh
   10 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/0
   11 root      rt   0       0      0      0 S   0.0  0.0   0:00.03 watchdog/0
   12 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/0
   13 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/1
   14 root      rt   0       0      0      0 S   0.0  0.0   0:00.03 watchdog/1

Если я хочу убить процесс сверху, я просто беру PID и запускаю следующую команду.

kill PID#

В приведенном выше примере я бы запустил kill 32560 для завершения верхнего запущенного процесса.

Читать также:  Как автоматизировать брутфорс атаки для Nmap

Шаг 6 — Собираем все вместе

Теперь давайте объединим все, что мы узнали, чтобы конечный пользователя получил «яркие впечатления» от пользования своим ПК. Возьмем случайный звуковой сигнал и объединим его с некоторыми командами bash, чтобы создать много окон браузера Firefox, которые открываются каждые 60 секунд и переходят на «Never Gonna Give You Up.».

for i in {1..10}; do beep -f 4000 -D 500 -l 1000 -r 10 & firefox -new-window "https://www.youtube.com/watch?v=dQw4w9WgXcQ"; done

SSH доступ позволяет вам делать всё, что угодно

Причинение какого-либо вреда через SSH или запугивание – это не то, что вы будете использовать ежедневно, но знание этих процессов очень полезно для социальной инженерии. Не стоит злоупотреблять полученными знаниями так, как жертва может действительно очень испугаться. Не законно получать доступ к чужому компьютеру!

Добавить комментарий