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

Gera78214

Интересующийся
Интересующийся
G

Gera78214

Интересующийся
Интересующийся
Сообщения
46
Реакции
28
Если вы хотите кому-либо доказать, что у вас есть удаленный доступ к устройству, или просто вы хотите убедить кого-то, что их компьютер уязвим, можно использовать 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 — Устрашающие сообщения об ошибках
Запутанные или тревожные сообщения об ошибках – это весело, поскольку пользователи обычно верят им, пока они не станут слишком абсурдными. Такие сообщения могут быть совершенно разными.
Мы можем вызывать маленькие сообщения с помощью команды 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
Вы можете заменить его своим собственным сообщением, вот как оно будет выглядеть.

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


Шаг 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 для завершения верхнего запущенного процесса.
Шаг 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 "
"; done
SSH доступ позволяет вам делать всё, что угодно
Причинение какого-либо вреда через SSH или запугивание – это не то, что вы будете использовать ежедневно, но знание этих процессов очень полезно для социальной инженерии. Не стоит злоупотреблять полученными знаниями так, как жертва может действительно очень испугаться. Не законно получать доступ к чужому компьютеру!
 
  • Like
Реакции: Bug

Сверху Снизу