A&D: первым делом
1. Как подключиться к VPN
Linux — apt install openvpn, openvpn --config config.ovpn
Windows — openvpn.net, Community, Downloads
Mac — Tunnelblick
ifconfig — посмотреть, какой IP-адрес у вас на VPN route -n — посмотреть, докуда можно достучаться через VPN
2. Подключение к образу через SSH
Windows— PuTTY
Linux и Mac— ssh [email protected]
3. Как глянуть какие сервисы запущены?
ps (от англ. process status) — программа в UNIX, Unix-подобных и других POSIX-совместимых операционных системах, выводящая отчёт о работающих процессах.
ps auxf — процессы в виде дерева, обратить внимание на пользователя (в атак-дефенсе часто сервисы под своими пользователями)
netstat (network statistics) — утилита командной строки выводящая на дисплей состояние TCP-соединений (как входящих, так и исходящих), таблицы маршрутизации, число сетевых интерфейсов и сетевую статистику по протоколам.
netstat -tunlp — слушающие порты, обратить внимание на PID процессов; отличать то что торчит наружу (сервисы) от того, что доступно локально (вспомогательные демоны)
С помощью утилиты grep удобно искать и выводить только нужные процессы, например
ps ax | grep 2320
Как узнать, где файлы процесса:
/proc/.../exe — бинарник /proc/.../cwd — в какой папке сейчас работает /proc/.../fd/ — открытые файлы
Два варианта, какой процесс будет слушать на порту:
1. У сервиса есть самописный процесс, и он и слушает — тогда в
/proc/.../exe
будет как раз то, что надо "курить"
2. Сервис пользуется сторонним демоном,который слушает за него (xinetd, apache/nginx, systemd) — тогда нужно "курить" конфигурации этого демона
cd /etc ls -la | grep xinetd cd /etc/xinetd.d ls -la cat имя_сервиса
Ещё запасной вариант как найти сервисы — места автозагрузки в Linux:
/etc/rc.local — скрипт, который выполняется один раз при загрузке /etc/init.d/ — директория с описаниями сервисов для SysV Init (старый стандарт) /etc/systemd/system/ (вероятней), /lib/systemd/system/ (менее) — директории с сервисами для SystemD (новый стандарт)
4. Как общаться с сервисами
netcat (англ. net сеть + cat) — утилита Unix, позволяющая устанавливать соединения TCP и UDP, принимать оттуда данные и передавать их.
nc -nv 7.1.1.1 16404 — на tcp nc -nvu 7.1.1.1 5417 — на udp, обратить внимание что по UDP сервис не знает, что соединение "открыто", надо ему что-нибудь послать openssl s_client -connect 7.1.1.1:8443 — под SSL, если вывело инфу о сертификате, значит успешно установило с сервисом SSL-сессию curl -v http://7.1.1.1:8100 — по HTTP, -v нужен чтобы видеть заголовки (по HTTPS curl -vk https://7.1.1.1:8443)
Стоит пробовать посылать сервисам help, ? и так далее, смотреть, что они отвечают, искать в Google (вдруг известный протокол)
5. Как передавать файлы с образа
scp -r [email protected]:/home /tmp/ — удобно, когда скопировал путь sftp [email protected] — когда хочешь иметь возможность делать cd, ls
FileZilla — это свободный многоязычный FTP-клиент с открытым исходным кодом для Microsoft Windows, Mac OS X и Linux. Поддержка FTP, FTP через SSL/TLS (FTPS) и SSH File Transfer Protocol (SFTP)
WinSCP— это графический клиент SFTP (SSH File Transfer Protocol) для Windows с открытым исходным кодом.