برنامه نویسی

خودکار گرفتن بسته شبکه برای یک ربات هک اخلاقی

در آخرین مقاله من ، TCPDump & Python ، ما با استفاده از tcpdump فرمان برای گرفتن ترافیک شبکه محلی. اما برای ربات اخلاقی هک کردن من ، باید یک قدم جلوتر را بردارم. به جای اینکه فقط بسته های یک دستگاه واحد را ضبط کنم ، می خواهم کل زیر شبکه ای را که ربات به آن دسترسی دارد نظارت کنم.

هدف نهایی؟ یک روز ، این روبات باید بتواند شبکه های مستقل را اسکن کند و بدون مداخله انسانی ترافیک را تجزیه و تحلیل کند. اما قبل از اینکه از خودمان جلو برویم ، یک سوال مهم وجود دارد: مجوز چطور؟

برای اطمینان از اینکه ربات در حال ضبط داده های غیرمجاز نیست ، من یک حفاظت ساده را پیاده سازی کرده ام – قبل از شروع یک پرونده مجوز را بررسی می کند tcpdumpبشر اگر پرونده وجود داشته باشد ، ربات فرض می کند که اجازه اسکن را دارد. در غیر این صورت ، بسته ای را که بی سر و صدا ضبط می کند خاموش می کند. با این کار ، بیایید به این موضوع بپردازیم که چگونه ربات در واقع بسته ها را ضبط می کند.

فیلمنامه ضبط

برای خودکار سازی ضبط بسته ، من یک اسکریپت Bash به نام ایجاد کردم pcap-capture.shبشر این اسکریپت چند کار مهم انجام می دهد:

1. بررسی اجازه

قبل از انجام هر کار دیگری ، اسکریپت تأیید می کند که آیا یک پرونده مجوز وجود دارد یا خیر. اگر این کار را نکند ، اسکریپت بلافاصله خارج می شود.

# Check permission file
if [[ ! -f "$PERMISSION_FILE" ]]; then
    echo "Permission file not found! Exiting."
    exit 1
fi
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2. بارگذاری متغیرهای پیکربندی

اسکریپت یک فایل پیکربندی را برای تنظیم متغیرهای مهم مانند دایرکتوری های خروجی و تنظیمات ضبط می خواند.

# Load config
CONFIG_FILE="/etc/pcap-capture.conf"
if [[ ! -f "$CONFIG_FILE" ]]; then
    echo "Config file $CONFIG_FILE not found!"
    exit 1
fi
source "$CONFIG_FILE"
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3. تهیه فهرست خروجی

برای سازماندهی امور ، اسکریپت تضمین می کند که یک فهرست خروجی وجود داشته باشد ، مجوزهای صحیح را تنظیم کرده و هر قدیمی را پاک می کند .pcap پرونده ها قبل از شروع یک جلسه ضبط جدید.

# Ensure output directory exists
mkdir -p "$OUTPUT_DIR"

# Set proper permissions for output directory (owned by root but accessible)
chmod 777 "$OUTPUT_DIR"

# Remove old .pcap files before starting a new capture session
echo "Clearing previous capture files in $OUTPUT_DIR..."
find "$OUTPUT_DIR" -name "*.pcap" -type f -delete
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

4. شناسایی زیر شبکه شبکه

این روبات باید قبل از ضبط ترافیک به کدام زیر شبکه دسترسی داشته باشد. یک تابع در اسکریپت برای یافتن این اطلاعات به صورت پویا گنجانده شده است.

# Function to get subnet for an interface
get_subnet() { 
   # Implementation to determine the network range
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

5. شروع ضبط بسته

پس از شناسایی زیر شبکه ، فیلمنامه راه اندازی می شود tcpdump برای هر رابط شبکه برای گرفتن ترافیک. این بسته های ضبط شده را به پرونده ها می نویسد و آنها را بر اساس محدوده اندازه و زمان می چرخاند.

echo "tcpdump -i "$IFACE" net "$SUBNET" -w "$FILE" -C "$FILE_SIZE_MB" -G "$ROTATE_SECONDS" -z gzip"
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

کد کامل را اینجا ببینید

با آماده سازی فیلمنامه ، مرحله بعدی اطمینان از اجرای خودکار هر زمان که روبات شروع شود ، انجام می شود.

اجرای اسکریپت هنگام راه اندازی با SystemD

برای اینکه مطمئن شوید ضبط بسته از بوت شروع می شود ، من ایجاد کردم سیستم خدماتی که اجرا می شود pcap-capture.sh به عنوان یک فرایند پس زمینه.

[Service]
Type=forking
ExecStart=/usr/local/bin/pcap-capture.sh
Restart=always
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

پس از تعریف سرویس ، من آن را فعال می کنم:

systemctl daemon-reload
systemctl enable pcap-capture.service
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اکنون ، هر زمان که روبات شروع به کار کند ، مجوز را بررسی می کند و در صورت مجاز بودن ، به طور خودکار بسته ها را شروع می کند. در آینده ، من قصد دارم اضافه کنم محرک های شبکه به طوری که ربات فقط در صورت تغییر شبکه شروع به گرفتن بسته ها می کند.

چرا ترافیک شبکه را ضبط می کنیم؟

بنابراین ، چرا ربات نیاز به ضبط ترافیک شبکه دارد؟ چند دلیل خوب وجود دارد:

  1. نظارت بر امنیت – با تجزیه و تحلیل ترافیک شبکه ، این روبات می تواند به شبکه های حسابرسی کمک کند فعالیت غیرمعمول یا مشکوکبشر
  2. کاوش در هک کردن – از منظر هک شدن اخلاقی ، گرفتن بسته ها می توانند به کشف کمک کنند دستگاه های فعال و الگوهای ارتباطی آنهابشر
  3. تخمین ذخیره سازی – برخلاف netstat یا nmapبا tcpdump تولید می کند مقدار گسترده داده هابا توجه به اینکه TCPDump می تواند حجم گسترده ای از داده ها را ایجاد کند ، باید تعیین کنم که این ربات در ساخت نهایی خود به چه میزان نیاز دارد.

اگر در حال ساخت a بود ربات هک کردن، اولین کاری که می خواهید انجام دهید چیست؟ به من اطلاع دهید – من همیشه به دنبال ایده های خلاق هستم! 🚀

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا