Network security: сетевые атаки (kali, yersinia, arpspoof, dns2proxy, mitmproxy, aircrack, etc)

Kali linux
  • Легко запускается в virtualbox/vmware
    • Скачать можно тут.
    • kali/kali default username/password
  • Можно поставить и life образ на flash, например, используя rufus.
  • Образ для QEMU, пригодится для GNS3 (доступ через vnc для GUI, ssh для CLI, но нужно включать).
# on KALI
sudo systemctl start ssh # sudo service ssh start
sudo systemctl enable ssh

# on remote
ssh root@172.16.208.130
    • default password toor (-> root)
  • Если есть проблема в работе NetworkManager в Kali Linux (нет апплета, не применяются настройки, падает интерфейс и проч) – лучше всего его снести (застопить, в конфиге /etc/NetworkManager/NetworkManager.conf


Читать дальше

Linux: Docker

Basics
  • Docker уже есть даже на сетевых устройствах, таких как Cisco Catalyst, Cisco ASR. В контейнере можно запустить много всего – например, Minecraft 🙂 Если серьезно – потенциально такой подход позволяет реализовывать CDN.
As an example, why not host your computer game servers directly on the switch instead of connecting to any dedicated server far away – it’s closer locally.


Читать дальше

VRF: базовая настройка в Linux и на сетевых устройствах Cisco, Huawei

Linux
  • База на xgu
  • При настройке VRF в linux свой интерфейс в vrf не пингуется – это ок. Интерфейс в другом vrf при этом будет отвечать нашему. Можно интерфейсы соединить кабелем напрямую (в одной подсети, но разных vrf) или через промежуточный роутер (в разных подсетях) – без разницы.


Читать дальше

Network/Linux: Impairment. Ограничение полосы пропускания (Linux: tc, wondershaper; Network: Cisco, Mellanox), внесение задержек и потерь в сетевой трафик

Network devices
Пример работы полсера

Шейпер (по факту полсер) на mellanox сделан по baud rate, а не througput. Потери начинаются примерно ровно в 50% baud rate (как и настроено на девайсе), независимо от фактического размера payload.

Framesize Rx Throughput (% Line Rate) Rx Throughput (Mbps)
1472      50.1853004         49512.5752044
1408      50.1913476         49488.3875923
1344      50.1979646         49461.9240503
1280      50.2052332         49432.8450123
1216      50.2132581         49400.7458045
1152      50.2221625         49365.1289785
1088      50.2321001         49325.3834443
1024      50.2432680         49280.7533005
960         50.2558900         49230.2596314
832         50.2868496         49106.4070830
768         50.3061164         49029.3114288
704         50.3288090         48938.5104262
576         50.3889325         48698.0287265
384         50.5512663         48048.7284116
256         50.7868002         47106.5973284
192         51.0132740         46200.7009995
74           49.0080371         38580.7951303
74           49.0080360         38580.7943359
Config
Cisco 3850
3850(config)#policy-map policer-bw
3850(config-pmap)#class class-default
3850(config-pmap-c)#shape average percent 30
3850(config-if)#service-policy output policer-bw

3850(config-pmap-c)#shape average ?


Читать дальше

Linux: работа с интерфейсами (ifconfig, ip, ethtool, interfaces – lspci network, lshw network)

BASIC

ip link или ifconfig -a – показывает все интерфейсы. В том числе те, которые не подняты. Мне помогло при дебаге неподнимания secondary ipif на виртуалке VirtualBox. Косяк оказался в том, что я неправильно в конфиге /etc/network/interfaces указал название интерфейса 🙂

# ip netns exec VRF1 ip -d link show enp3s0f0
20: enp3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 100 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:e0:ed:96:da:4a brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 9710 numtxqueues 64 numrxqueues 64 gso_max_size 65536 gso_max_segs 65535

ip a add 1.1.1.1/32 dev enp2s0 или ifconfig eth1 1.1.1.1/32 up – конфигурируем IP на интерфейсе.

Читать дальше

iperf

Official page

Безусловно средство не идеально и местами глючит (особенно мобильная версия), но есть мифы о совсем “дикой плохости” iperf от разных вендоров (привет, Ixia и прочие), немного развенчаю:

  • тест можно запустить более чем на 20 минут (проверял два часа с нагрузкой 700мбит – полет успешный)
  • и на клиенте и на сервере (без разницы будет reverse тест или прямой) требуются относительно небольшие ресурсы CPU ~ 10-30% CPU (intel i3/7) на гигабит однопоточного TCP трафика (проверял)
  • у iperf безусловно есть погрешность т.к.


Читать дальше

Linux: работа с утилитой grep (egrep, zgrep)

word

-w/–word-regexp – удобная опция, ищем конкретное слово. Очень удобно, если есть уникальные слова в каждой строке (напр. ID).

 -w, --word-regexp
The expression is searched for as a word (as if surrounded by
`[[:<:]]' and `[[:>:]]'; see re_format(7)).

$ cat sw
1 -- xxx
2 -- yyy
3 -- zzz
4 -- kkk
5 -- zzz

$ cat sw | grep -w 2
2 -- yyy

$ cat sw | grep -w yyy
2 -- yyy

or/and

OR – ищем любой из двух.

Читать дальше

Поднимаем FTP сервер на CentOS 7

Пошаговый гайд, аналог статьи про TFTP

0) Отключаем SELinux если раньше это не сделали и перезагружаем сервер (если уверены что он нам не нужен или не умеем с ним работать). Если без отключения для заливки файлов должны помочь строки “setsebool -P ftp_home_dir on” и “setsebool -P allow_ftpd_full_access on”

sudo vi /etc/selinux/config
SELINUX=disabled
1) Устанавливаем сервер, кладем в папку по умолчанию /var/ftp необходимые файлы
sudo yum -y install vsftpd
cp test_file /var/ftp/
2) Добавляем сервис FTP как разрешенный в файрволл и перезагружаем его (мягко для применения правил без разрыва существующих коннектов)
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
3) Запускаем FTP сервис, смотрим его состояние, добавляем сервис в автозагрузку
sudo systemctl start vsftpd
sudo systemctl status vsftpd
sudo systemctl enable vsftpd
4) Проверяем работу сервиса через обычный браузер
ftp://192.168.1.22/

Удаление

sudo firewall-cmd --permanent --remove-service=ftp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
sudo yum -y remove vsftpd


Читать дальше

Linux: работа с числами (bc, dc, expr)

http://www.basicallytech.com/blog/?/archives/23-command-line-calculations-using-bc.html  – примеры расчета простых выражений с помощью bc.

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

EXPR
$ expr 6 + 2
8

$ expr 6 - 2
4

$ expr 6 \* 2
12

$ expr 6 / 2
3

$ expr 6 / 5
1

LET
let "b = $a * 2"
let "b = $a - 2"

bc (basic calculator) — интерактивный интерпретатор Си-подобного языка, позволяет выполнять вычисления с произвольно заданной точностью.

Читать дальше

Linux: программирование в bash (полезные скрипты, функции, условия, циклы, case)

Пользовательский ввод

Bash read user input

read -p "Enter var: " var
echo "$varv"
Условия

Сравнение строк.

Нулевая строка.

if [[ $var == "" ]]; then
echo "choto"
fi

Сравнение численных в bash:

https://stackoverflow.com/questions/18668556/comparing-numbers-in-bash
if (( $delay > 900 )); then
echo "lol"
fi

if [[ "$delay" -gt "900" ]]; then
echo "lol"
fi
CASE

Пример из configure netmap (автоселект ОС):

#!


Читать дальше