🔍 Velociraptor یک ابزار open source و سبک برای انجام تحلیلهای پیشرفته در حوزه Digital Forensics و Threat Hunting در سیستمعاملهای ویندوز، لینوکس و مک است. این ابزار با زبان اختصاصی خود به نام VQL (Velociraptor Query Language) امکان جمعآوری دقیق دادهها، اجرا از راه دور و پیادهسازی سیاستهای سفارشی را فراهم میکند.
در این مقاله از سلام دیجی، نحوه نصب، راهاندازی و اجرای کوئریهای پایهای Velociraptor را مرحلهبهمرحله آموزش میدهیم.
فهرست مطالب
- Velociraptor چیست و چه کاربردی دارد؟
- مزایای Velociraptor در مقایسه با ابزارهای مشابه
- نصب و راهاندازی سرور و کلاینت
- استفاده از GUI Velociraptor
- اجرای کوئریهای آماده
- ساخت کوئری سفارشی با VQL
- بخش پیشرفته Velociraptor : ساخت Artifact سفارشی و اجرای Mass Query
- جمعبندی
1. Velociraptor چیست؟
Velociraptor یک ابزار open source و قدرتمند برای Digital Forensics and Incident Response (DFIR) است که توسط جامعه امنیتی طراحی شده تا تحلیلگران بتوانند بهصورت مقیاسپذیر، سریع و دقیق دادههای حیاتی را از سیستمهای کلاینت جمعآوری، تحلیل و روی آنها اقدام کنند. این ابزار از یک زبان کوئری اختصاصی به نام VQL (Velociraptor Query Language) استفاده میکند که انعطاف بالایی برای ساخت کوئریهای سفارشی فراهم میسازد.
🦖 چرا نام این ابزار Velociraptor است؟
نام Velociraptor از یکی از دایناسورهای چابک و باهوش دوره کرتاسه گرفته شده است؛ دایناسوری با سرعت بالا، دقت در شکار، و استراتژی حمله گروهی. این انتخاب کاملاً با فلسفه عملکرد ابزار همراستا است:
✔️ چابک و سریع:
Velociraptor در جمعآوری داده از صدها یا هزاران میزبان در زمان کوتاه، عملکردی بینظیر دارد. مثل همان دایناسور که با سرعت بالا به شکار حمله میکرد.
✔️ دقیق و هدفمند:
تحلیل دادهها با زبان اختصاصی VQL و ساخت artifactهای سفارشی، به شما اجازه میدهد حملات سایبری را با دقت جراحی تحلیل و مهار کنید.
✔️ قابلیت کار گروهی در مقیاس وسیع:
درست مثل شکار گروهی رپتورها، Velociraptor برای کار در محیطهای توزیعشده طراحی شده و میتواند با سرور مرکزی و کلاینتهای متعدد تعامل مؤثر برقرار کند.
📌 این نام، استعارهای هوشمندانه است برای نشان دادن قدرت، چابکی و دقت این ابزار در عرصهی مقابله با تهدیدات سایبری.
امکانات کلیدی:
✅ ۱. جمعآوری اطلاعات حساس از Endpoint ها
با Velociraptor میتوان دادههایی مانند زیر را بهصورت دقیق و سریع از سیستم هدف جمعآوری کرد:
✔️ پروسههای فعال (با جزئیات مسیر اجرای فایل، امضا، PID و والد آن)
✔️ اتصالات شبکه فعال (برای شناسایی ارتباطات مشکوک یا ارتباط با C2)
✔️ محتوای Registry و Event Logs (برای تحلیل فعالیتهای گذشته)
✔️ فایلهای اجرایی اخیر یا اسکریپتهای مشکوک
📌 مثال: فرض کنید میخواهید بدانید آیا یک ابزار dumping حافظه مثل mimikatz
روی یکی از سیستمها اجرا شده است یا خیر. میتوانید از کوئری زیر در VQL استفاده کنید:
vql
CopyEdit
SELECT * FROM pslist() WHERE Lower(name) LIKE "%mimikatz%"
✅ ۲. شناسایی فعالیتهای مشکوک در لحظه
Velociraptor به شما اجازه میدهد با نوشتن کوئریهای فعال، رفتارهای مشکوک مانند موارد زیر را تشخیص دهید:
✔️ اجرای فایلهای PowerShell با پارامترهای رمزگذاریشده
✔️ دسترسی غیرمجاز به فایلهای سیستمی مانند SAM
یا ntds.dit
✔️ تغییرات در Registry مرتبط با persistence
📌 مثال: بررسی اینکه آیا فایل ntds.dit
توسط پردازشی باز شده:
vql
CopyEdit
SELECT pid, name, handle_type, handle_name
FROM handles()
WHERE handle_type = "File" AND Lower(handle_name) LIKE "%\\ntds.dit"
✅ ۳. پاسخ به حادثه سریع و هدفمند
در یک سناریوی واقعی، شما ممکن است با هشدار یک ابزار SIEM (مثلاً Splunk) مواجه شوید که نشاندهنده فعالیت مشکوک از یک سیستم خاص است. به جای ورود دستی به آن سیستم، میتوانید بهصورت متمرکز از طریق Velociraptor اقدامات زیر را انجام دهید:
✔️ اجرای artifact سفارشی برای بررسی کامل سیستم
✔️ جمعآوری حافظه و لاگها برای تحلیل عمیق آفلاین
✔️ محدود کردن یا مانیتور دقیقتر فعالیت سیستم مشکوک
📌 مثال سناریو پاسخ سریع:
SIEM نشان میدهد که سیستم با IP 192.168.100.55
با یک IP خارجی در حال ارسال داده است. شما با Velociraptor این سیستم را target کرده و artifact مربوط به اتصالات شبکه را اجرا میکنید. سپس متوجه میشوید که پروسهای ناشناس در حال ارسال داده روی پورت 443 است. با اجرای artifactهای اضافی متوجه میشوید که این فایل یک backdoor رمزگذاریشده است که از طریق یک اسکریپت Batch اجرا شده. شما بلافاصله سیستم را ایزوله میکنید و با استفاده از Velociraptor تمام مسیر نفوذ را استخراج میکنید.
آموزش های مرتبط: دوره آموزشی Threat Hunting با Splunk و Sysmon ابوالفضل رضی پور
2 . چرا Velociraptor؟
برخی از ویژگیهای کلیدی که Velociraptor را از سایر ابزارها متمایز میکند:
✔️ سبک بودن (Lightweight)
✔️ پشتیبانی از اجرا بر بستر شبکه
✔️ زبان کوئری اختصاصی و بسیار منعطف (VQL)
✔️ قابلیت اجرای هزاران کوئری همزمان روی کلاینتها
✔️ پشتیبانی از ویندوز، لینوکس و مک
✅ Velociraptor مناسب برای چه افرادی و تیمهایی است؟
Velociraptor بهویژه برای تیمها و متخصصینی طراحی شده که نیاز به مانیتورینگ فعال، تحلیل دقیق و واکنش سریع در برابر تهدیدات سایبری دارند:
🎯 تیمهای مرکز عملیات امنیت (SOC) :
برای اجرای جستوجوی تهدید (Threat Hunting)، تحلیل رفتار میزبانها، و جمعآوری دادههای دقیق در پاسخ به هشدارهای SIEM. Velociraptor میتواند مکمل بسیار قدرتمندی برای ابزارهایی مانند Splunk، QRadar یا ELK باشد.
🧠 تحلیلگران جرمشناسی دیجیتال و پاسخ به حادثه (DFIR) :
افرادی که به دنبال جمعآوری شواهد قانونی (Forensic Evidence)، بررسی فعالیتهای مخرب و بازسازی تایملاین حمله هستند. Velociraptor این امکان را فراهم میکند تا بدون نیاز به دسترسی فیزیکی، حافظه، رجیستری، لاگها و پروسهها را از راه دور جمعآوری و تحلیل کنید.
🛡️ واحدهای امنیت اطلاعات و تیمهای پاسخ سریع در سازمانها:
برای ارزیابی سریع تأثیر حملات سایبری، اجرای Playbookهای پاسخ، و استخراج اطلاعات حیاتی از صدها یا هزاران سیستم در لحظه، بدون ایجاد اختلال در عملیات سازمان.
مقایسه با ابزار THOR :
ویژگی |
Velociraptor |
THOR |
نوع ابزار |
Live Forensics / Threat Hunting |
IOC Scanner |
پشتیبانی شبکه |
دارد |
ندارد |
زبان کوئری |
VQL |
ندارد |
حالت سرویسگیرنده/سرور |
دارد |
ندارد |
هدف اصلی |
جمعآوری داده سفارشی |
اسکن IOCs و TTPs |
3 . نصب و راهاندازی Velociraptor
📥 دانلود ابزار
به صفحه رسمی Velociraptor Releases بروید و نسخه مناسب سیستمعامل خود را دریافت کنید.
wget https://github.com/Velocidex/velociraptor/releases/download/v0.X.X/velociraptor-v0.X.X-linux-amd64
chmod +x velociraptor-v0.X.X-linux-amd64
mv velociraptor-v0.X.X-linux-amd64 /usr/local/bin/velociraptor
⚙️ تنظیمات اولیه سرور
velociraptor config generate > server.config.yaml
velociraptor --config server.config.yaml frontend
🖥️ اجرای کلاینت (Agent)
در سیستم هدف:
velociraptor config client > client.config.yaml
velociraptor --config client.config.yaml client
(حتماً پورت و آدرس سرور را در فایل config تنظیم کنید)
4 . رابط گرافیکی Velociraptor
بعد از اجرای frontend، میتوانید از طریق مرورگر وارد پنل مدیریتی شوید:
https://<server-ip>:8889
✔️ نام کاربری پیشفرض: admin
✔️ رمز عبور: هنگام ساخت config تعریف میشود.
5 . اجرای کوئریهای آماده
در رابط کاربری GUI، به بخش Notebooks بروید.
چند نمونه کوئری آماده:
بررسی فرآیندهای مشکوک:
SELECT * FROM pslist()
WHERE Lower(name) LIKE "%powershell%" OR Lower(cmdline) LIKE "%download%"
دریافت فهرست رجیستری Run :
SELECT * FROM artifact.Windows.Registry.RunKeys
6 . ساخت کوئری سفارشی با VQL
VQL زبان کوئری اختصاصی Velociraptor است که به شما اجازه میدهد دقیقاً مشخص کنید چه دادهای را میخواهید و چگونه آن را فیلتر یا استخراج کنید.
نمونه کوئری:
SELECT name, pid, ppid, cmdline
FROM pslist()
WHERE Lower(cmdline) LIKE "%rundll32%"
ایجاد Artifact سفارشی:
به بخش Artifacts > New Artifact بروید و یک Artifact جدید با زبان VQL بنویسید و آن را Deploy کنید.
🔧 7. بخش پیشرفته Velociraptor : ساخت Artifact سفارشی و اجرای Mass Query
1 . ساخت Artifact سفارشی با VQL
برای مواقعی که کوئریهای آماده نیاز شما را برآورده نمیکنند، میتوانید یک Artifact سفارشی بسازید که دقیقاً مطابق با نیاز تحلیل شما عمل کند.
🧪 سناریو: بررسی دسترسی به فایلهای حساس
میخواهیم بررسی کنیم که آیا فایلهایی مانند ntds.dit
یا SAM
توسط پردازش خاصی باز شدهاند یا خیر.
مرحله 1: ساخت Artifact
- وارد پنل شوید.
- به مسیر Artifacts > New Artifact بروید.
- یک نام مثل
Custom.Windows.FileHandleCheck
انتخاب کنید. - کد VQL زیر را وارد کنید:
vql
CopyEdit
name: Custom.Windows.FileHandleCheck
type: CLIENT
sources:
- query: |
SELECT pid, name, handle_type, handle_name
FROM handles()
WHERE handle_type = "File" AND
(Lower(handle_name) LIKE "%\\sam" OR
Lower(handle_name) LIKE "%\\ntds.dit")
- ذخیره کنید و Deploy بزنید.
2 .اجرای Mass Query روی تمام کلاینتها
اگر میخواهید یک کوئری خاص را بهصورت همزمان روی تعداد زیادی از کلاینتها اجرا کنید:
- از منوی سمت چپ، وارد Hunts شوید.
- گزینه New Hunt را انتخاب کنید.
- نام، توضیح، و Artifact مورد نظر را انتخاب کنید.
- فیلتر انتخاب کلاینتها را بر اساس سیستمعامل، برچسب یا IP تعریف کنید.
- Hunt را اجرا کرده و نتایج را در پنل Results بررسی کنید.
🧩 ارتباط Velociraptor با Splunk یا ELK
Velociraptor قابلیت ارسال دادهها به سایر ابزارهای تحلیل SIEM مثل Splunk یا ELK را از طریق API یا export دارد.
نمونه سناریو:
- خروجی کوئریها را به JSON یا CSV استخراج کنید.
- با کمک Filebeat یا Script سفارشی، خروجیها را به ELK یا Splunk ارسال کنید.
- داشبوردهای سفارشی برای نمایش فعالیتهای مشکوک بسازید.
🔄 آپدیت اتوماتیک کلاینتها
Velociraptor امکان ساخت کلاینتهای self-updating را هم دارد:
✔️ در فایل کانفیگ هنگام ساخت، میتوان پارامتر update_url
را تنظیم کرد.
✔️ میتوانید نسخه جدید Agent را در سرور خود قرار دهید تا کلاینتها آن را بهصورت خودکار دریافت کنند.
✅ چکلیست شکار تهدید با Velociraptor
مرحله |
توضیح |
1 . شناسایی رفتار مشکوک |
با استفاده از VQL، رفتارهایی مثل اجرای PowerShell، دسترسی به فایلهای امنیتی و... را بررسی کنید. |
2 . ایجاد Artifact |
اگر نیاز خاصی دارید، با VQL یک Artifact سفارشی بسازید. |
3 . اجرای Hunt |
Artifact را روی همه کلاینتها اجرا کنید. |
4 . تحلیل نتایج |
از GUI یا خروجی JSON/CSV برای بررسی دقیق استفاده کنید. |
5 . ارجاع به SIEM |
نتایج را به Splunk یا ELK ارسال کنید برای تحلیل تکمیلی و هشداردهی. |
✍️ نتیجهگیری نهایی
Velociraptor تنها یک ابزار نیست، بلکه یک پلتفرم کامل برای جمعآوری، تحلیل و شناسایی تهدیدها در محیطهای پیچیده است. استفاده از VQL و قدرت اجرای توزیعشده آن، این ابزار را به یکی از مهمترین انتخابها برای تیمهای SOC و پاسخ به حادثه تبدیل کرده است.