October 20, 2018

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

WindowsPuTTY

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 WindowsMac OS X и Linux. Поддержка FTP, FTP через SSL/TLS (FTPS) и SSH File Transfer Protocol (SFTP)

WinSCP— это графический клиент SFTP (SSH File Transfer Protocol) для Windows с открытым исходным кодом.