Salam hər vaxtınız xeyir dəyərli oxucular, bu gün İrəli səviyyə Enumeration başlığı altında CI&CD protokollarının ətraflı bir Enumeration yerinə yetirəcəyik.Əvvəlcə nəzəri sonra isə Metasploitable maşının köməyi ilə əməliyyatları praktiki olaraq görəcəyik.
Telegram kanalına qoşularaq bu və digər mövzular üzrə quizlərdə iştirak edə bilərsiniz!
Telegram (Kanal): https://t.me/xakeraz_official
CI&CD Nədir?
CI (Continuous Integration) və CD (Continuous Delivery / Deployment) birlikdə adətən CI/CD Pipeline və ya sadəcə CI/CD kimi adlandırılır.
CI (Continuous Integration – Davamlı İntegrasiya)
- Kodu tez-tez birləşdirmək və test etmək üçün avtomatlaşdırılmış sistemdir.
- Kod dəyişiklikləri Git repoya push edildikdə avtomatik testlər və build prosesləri baş verir.
- Məsələn: GitHub Actions, Jenkins, GitLab CI/CD.
CD (Continuous Delivery / Continuous Deployment – Davamlı Çatdırılma / Yayım)
- CI-dən sonra kodun avtomatik olaraq testdən keçərək deploy edilməsinə imkan yaradır.
- Continuous Delivery: İnsan təsdiqi tələb edir.
- Continuous Deployment: Kod uğurla testlərdən keçdikdən sonra avtomatik olaraq serverə yerləşdirilir.
CI&CD Protokolları
Cİ və CD barədə məlumat əldə etdikdən sonra bunun DevOps ilə sıx əlaqədə olduğunu başa düşürük.Bu başlıq altında biz əsas CI&CD alətlərini öyrənəcəyik.Bunlar aşağıdakılardır:
- Docker
- Jenkins
Docker (Port 2375)
Docker barəsində müəyyən testlər və enumeration yerinə yetirməzdən əvvəl məsləhətdirki Dockerin nə olduğunu biləsiniz və araşdırasınız.Əgər müyyən qədər Dockerdən istifadə etmisinizsə və ya biliyiniz varsa başlaya bilərik.
Dockerin quraşdırıldığı kompüter və ya host sizin üçün şəffaf və gözə görünməz olacaqdır.Docker konteynerləri ayrı şəbəkələrdə işləyir və istifadəçilər isə bu portları açıb açmamağı özü seçir.Bəzi “mütəxəsislər” Dockeri buluda yükləyirlər və portları internetə açırlar.Məhz bizədə bu lazımdır ki penetration testimizi yerinə yetirək!
Bəzəndə DevOps əməkdaşları sərhədləri açaraq Docker üçün əsas port olan 2375 portunuda (daemon) aktivləşdirirlər. Əgər bu baş verərsə o deməkdir ki biz Docker ilə uzaqdan konteyner yarada və digər işlər görə bilərik.
Aha indi isə skan işinə başlayaq və birinci olaraq daemon portu qapallı olan hədəfin skanını yerinə yetirək. Bizim hədəf sistemimiz Linuxdur və Dockerdən istifadə edir.
┌──(root㉿kali)-[~]
└─# nmap -T4 -sV -sC 192.168.0.109
Starting Nmap 7.95 ( https://nmap.org ) at 2025-03-28 22:10 +04
Nmap scan report for 192.168.0.109
Host is up (0.00021s latency).
Not shown: 995 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.12 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 80:14:7a:6c:12:e1:e8:ca:25:bc:0b:55:52:eb:92:a2 (RSA)
| 256 64:3e:be:58:23:2b:13:9f:dd:53:ef:cf:55:d1:45:69 (ECDSA)
|_ 256 4a:85:dc:87:0e:bc:04:a1:42:ad:6c:91:60:e4:f1:e6 (ED25519)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.41 (Ubuntu)
8080/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-open-proxy: Proxy might be redirecting requests
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.41 (Ubuntu)
Nmap skanı nəticəsindən biz bu hostda dockerdən istifadə edildiyini deyə bilmərik.Burada görünür ki hostda docker yox məhz apache serverləri qoşulub.
İndiki skanda isə hədəf hostda 2375 docker portu açıqdır.Ümumi olaraq docker quraşdırılıb və Jenkins konteyneri başladılıb.
└─# nmap -T4 -sV -sC -p2375 192.168.0.109
Starting Nmap 7.95 ( https://nmap.org ) at 2025-03-28 22:11 +04
WARNING: Service 192.168.0.109:2375 had already soft-matched http, but now soft-matched docker; ignoring second value
Nmap scan report for 192.168.0.109
Host is up (0.00051s latency).
PORT STATE SERVICE VERSION
2375/tcp open docker Docker 28.0.4 (API 1.48)
| docker-version:
| KernelVersion: 5.4.0-92-generic
| GoVersion: go1.23.7
| BuildTime: 2025-03-25T15:07:17.000000000+00:00
| Platform:
| Name: Docker Engine - Community
| ApiVersion: 1.48
| Arch: amd64
| Version: 28.0.4
| MinAPIVersion: 1.24
| Components:
Məhz bunu gördükdən sonra nmap ilə həmin port 2375 portuna Nmap ilə docker aid olan bütün skriptlərdən istifadə edək.Daha real exploit edilmə üsulu gələcək paylaşımlarda öz yerinə alacaqdır.
└─# nmap -T4 -sV --script=docker* -p2375 192.168.0.109
Starting Nmap 7.95 ( https://nmap.org ) at 2025-03-28 22:25 +04
WARNING: Service 192.168.0.109:2375 had already soft-matched http, but now soft-matched docker; ignoring second value
Nmap scan report for 192.168.0.109
Host is up (0.00082s latency).
PORT STATE SERVICE VERSION
2375/tcp open docker Docker 28.0.4 (API 1.48)
| docker-version:
| Platform:
| Name: Docker Engine - Community
| ApiVersion: 1.48
| KernelVersion: 5.4.0-92-generic
| Os: linux
| Arch: amd64
| BuildTime: 2025-03-25T15:07:17.000000000+00:00
| MinAPIVersion: 1.24
| Components:
Ümidvaram faydalı olmuşdur.Təşəkkürlər!
Bizi izləyin:
Telegram (Kanal): https://t.me/xakeraz_official
Paylaşımların səliqəli yığılmış halı: https://t.me/xakerazgroup
Fikir və şərhləriniz : https://t.me/xakerazchat