0% found this document useful (0 votes)
23 views61 pages

Translated Copy of Linuxbasicsforhackers

Uploaded by

ahmadbash09878
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views61 pages

Translated Copy of Linuxbasicsforhackers

Uploaded by

ahmadbash09878
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 61

‫مبانی لینوکس‬

‫مبانی لینوکس‍‍برای‬
‫هکرها‬
‫برای هکرها‬
‫اسکریپتین جی‪ ،‬وامنیت‍‍در کالی‪NETWORKIN G،‬شروع با‬

‫‪OCCUPYTHEWEB‬‬
‫مبانی لینوکس برای هکرها‬

‫‪LINUXBASI‬‬
‫برای هکرها ‪C S‬‬
‫‪GetingStartedwithN‬‬
‫‪e t w o r k i n g ، Sc r i p t i n g‬‬
‫و امنیت در کالی‬
‫‪ OccupyTheWeb‬توسط‬

‫سانفرانسیسکو‬
‫‪ OccupyTheWeb.‬مبانی لینوکس برای هکرها‪.‬حق چاپ © ‪ 2019‬توسط‬

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

‫‪ISBN-10: 1-59327-855-1‬‬
‫‪ISBN-13: 978-1-59327-855-7‬‬

‫ناشر‪ :‬ویلیام پوالک‬


‫سردبیران تولید‪ :‬سرنا یانگ و مگ اسنیرینگر‬
‫تصویر روی جلد‪ :‬جاش الینگسون‬
‫‪: Octopod Studios‬طراحی داخلی‬
‫ویراستار توسعه‪ :‬لیز چادویک‬
‫داور فنی‪ :‬کلیف جانزن‬
‫ویرایشگر‪ :‬بارتون دی‪ .‬رید‬
‫‪ Meg Sneeringer‬و ‪: Serena Yang‬آهنگساز‬
‫تصحیح کننده‪ :‬پائوال ال فلمینگ‬
‫نمایه ساز‪ :‬جوآن بورک‬

‫‪: No Starch‬تماس بگیرید ‪ No Starch Press, Inc.‬برای اطالعات در مورد توزیع‪ ،‬ترجمه‪ ،‬یا فروش عمده‪ ،‬لطفا ً مستقیما ً با‬
‫‪Press, Inc.‬‬
‫‪245 8th Street, San Francisco, CA 94103‬‬
‫‪; [email protected]‬تلفن‪1.415.863.9900 :‬‬
‫‪www.nostarch.com‬‬

‫داده های فهرست نویسی در انتشارات کتابخانه کنگره‬

‫‪.‬نویسنده ‪: OccupyTheWeb،‬نام ها‬


‫‪ Kali / OccupyTheWeb.‬عنوان‪ :‬اصول لینوکس برای هکرها‪ :‬شروع به کار با شبکه‪ ،‬اسکریپت نویسی و امنیت در‬
‫‪: LCCN 2018030544‬شناسه ‪: No Starch Press, Inc., [2018].‬توضیحات‪ :‬چاپ اول‪ | .‬سانفرانسیسکو‬
‫شابک | )‪) | LCCN 2018032646 (ebook‬چاپ(‬
‫شابک ‪( 9781593278557‬چاپ) | شابک | )‪9781593278564 (epub) | ISBN 159327856X (epub‬‬
‫)کتاب الکترونیکی( ‪( 1593278551) | ISBN 9781593278564 (ebook) | ISBN 159327856X‬چاپ‬
‫| ‪.‬تست نفوذ (امنیت کامپیوتری) | کالی لینوکس ‪: LCSH:‬موضوع‬
‫)هکرها | سیستم عامل (کامپیوتر‬
‫‪) | DDC‬چاپ( ‪: LCC QA76.9.A25 (ebook) | LCC QA76.9.A25 O325 2018‬طبقه بندی‬
‫‪005.8--dc23‬‬
‫موجود است ‪ https://lccn.loc.gov/2018030544‬در ‪ LC‬رکورد‬

‫هستند‪ .‬سایر نام های محصول و ‪ No Starch Press, Inc‬عالئم تجاری ثبت شده ‪ No Starch Press‬و لوگوی ‪No Starch Press‬‬
‫شرکت ذکر شده در اینجا ممکن است عالئم تجاری صاحبان مربوطه باشند‪ .‬به‌جای استفاده از نماد عالمت تجاری برای هر نام تجاری‪ ،‬ما از نام‌ها‬
‫‪.‬فقط به صورت سرمقاله و به نفع مالک عالمت تجاری استفاده می‌کنیم‪ ،‬بدون اینکه قصد نقض عالمت تجاری را داشته باشیم‬

‫اطالعات این کتاب بر اساس «همانطور که هست»‪ ،‬بدون ضمانت توزیع شده است‪ .‬در حالی که تمام اقدامات احتیاطی در تهیه این اثر انجام شده‬
‫هیچ مسئولیتی در قبال هیچ شخص یا نهادی در قبال هرگونه ضرر یا خسارت ناشی یا ادعا ‪ No Starch Press, Inc.‬است‪ ،‬نه نویسنده و نه‬
‫شده که به طور مستقیم یا غیرمستقیم توسط اطالعات موجود در آن‬
‫من این کتاب را به سه دختر باورنکردنی خود تقدیم می کنم‪ .‬برام یه دنیا‬
‫‪.‬می ارزی‬
‫درباره نویسنده‬
‫نام مستعار بنیانگذار و نویسنده اصلی وب سایت آموزش هکرها و )‪OccupyTheWeb (OTW‬‬
‫او استاد سابق کالج است و بیش از ‪ 20‬سال ‪.https://www.hackers aise.com/.‬پنتسترها است‬
‫تجربه در صنعت فناوری اطالعات دارد‪ .‬او هکرها را در سراسر ایاالت متحده آموزش داده است‪ ،‬از‬
‫جمله شاخه های ارتش ایاالت متحده (ارتش‪ ،‬نیروی هوایی‪ ،‬و نیروی دریایی) و جامعه اطالعاتی‬
‫او همچنین یک دوچرخه‌سوار کوهستانی و برف‌روی مشتاق ‪ DNI).‬و ‪، NSA،‬ایاالت متحده (سیا‬
‫‪.‬است‬

‫درباره داور فنی‬


‫فناوری همراه همیشگی (و گاهی اوقات یک ‪ VIC-20،‬و ‪ Commodore PET‬از روزهای اولیه‬
‫وسواس!) برای کلیف جانزن بوده است‪ .‬کلیف اشتیاق شغلی خود را زمانی کشف کرد که در سال‬
‫‪ 2008‬پس از یک دهه فعالیت در حوزه فناوری اطالعات به سمت امنیت اطالعات رفت‪ .‬از آن‬
‫زمان‪ ،‬کلیف این ثروت بزرگ را داشته است که با برخی از بهترین افراد در صنعت از جمله‬
‫در طول تولید این کتاب کار کند و از آنها یاد ‪ No Starch‬و افراد خوب ‪OccupyTheWeb‬‬
‫بگیرد‪ .‬او با خوشحالی به عنوان مشاور امنیتی مشغول به کار است و همه کارها را از بررسی خط‬
‫مشی گرفته تا تست های نفوذ انجام می دهد‪ .‬او احساس خوشبختی می کند که شغلی دارد که سرگرمی‬
‫‪.‬مورد عالقه اش است و همسری که از او حمایت می کند‬
‫مطالب مختصر‬

‫‪ . . . . . . . . . .‬مقدمه ‪ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix‬قدردانی ها‬

‫فصل ‪ :1‬شروع به کار با اصول‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi . . . . . . .‬‬

‫‪ 1 . . . . . . . . . . . . . . . . . . . . . . . . . .‬فصل ‪​​:2‬دستکاری متن‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪ 19 . . . . . . . . . .‬فصل ‪ :3‬تجزیه و تحلیل و مدیریت شبکه ها‪ 29 . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬فصل‬

‫‪ :4‬اضافه کردن و حذف نرم افزار‪ 39 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬فصل ‪ :5‬کنترل مجوزهای فایل‬

‫و دایرکتوری‪ 49 . . . . . . . . . . . . . . . . . . . . . . . . .‬فصل ‪ :6‬مدیریت فرآیند‪. . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪ 61 . . . . . . . . . . . . . . . .‬فصل ‪ :7‬مدیریت متغیرهای محیط کاربر‪71 . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪ Bash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81‬فصل ‪ :8‬برنامه نویسی‬

‫فصل ‪ :9‬فشرده سازی و آرشیو‪ 93 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬فصل ‪ :10‬مدیریت سیستم فایل‬

‫و دستگاه ذخیره سازی‪ 101 . . . . . . . . . . . . . . . . . . . . .‬فصل ‪ :11‬سیستم ثبت ‪. . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪ 111 . . . . . . . . . . . . . . . .‬فصل ‪ :12‬استفاده و سوء استفاده از خدمات‪. . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬


‫‪ 121 . . . .‬فصل ‪ :13‬ایمن و ناشناس شدن‪ 139 . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬فصل ‪ :14‬درک و‬

‫بازرسی شبکه های بی سیم‪ 153 . . . . . . . . . . . . . . . . .‬فصل ‪ :15‬مدیریت هسته لینوکس و ماژول های هسته قابل‬

‫بارگیری‪ 165 . . . . . . . . . . .‬فصل ‪ :16‬خودکارسازی وظایف با برنامه ریزی شغلی‪. . . . . . . . . . . . . . . . . . . . .‬‬

‫‪ 173 . . . .‬فصل ‪ :17‬مبانی اسکریپت نویسی پایتون برای هکرها‪183 . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫فهرست ‪205 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫مطالب به تفصیل‬

‫‪ xix‬تشکر و قدردانی‬

‫‪ xxi‬مقدمه‬
‫هک ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii‬آنچه در این کتاب آمده است‬
‫‪ . . . . . . . . . .‬تست نفوذ ‪ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii‬اخالقی چیست؟‬
‫‪ . . . . . . . . . . . . . . . . . . . . . . . . . .‬نظامی و جاسوسی ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii‬‬
‫‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬چرا هکرها از لینوکس استفاده می کنند ‪. . . . . . . . . . . . xxiii‬‬
‫‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv‬لینوکس منبع باز است ‪. . . . . . . . . . xxiv‬‬
‫لینوکس کنترل دانه ای را ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv‬لینوکس شفاف است‬
‫اکثر ابزارهای هک برای لینوکس نوشته شده ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv‬ارائه می دهد‬
‫‪. . . . . . . . . . . . . . . . . . . . .‬آینده متعلق به لینوکس‪/‬یونیکس است ‪. . . . . . . . . . . . . . . . . . . . . . . . . xxiv‬اند‬
‫دانلود کالی لینوکس‪. . . . . . . . . . xxiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫نصب ‪ xxv. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi‬ماشین های مجازی‬
‫‪. .‬راه اندازی ماشین مجازی شما ‪VirtualBox. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi‬‬
‫‪ VM. . . . . . . . . . . . . . . . . . . . . . . . . . .‬در ‪ Kali‬نصب ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii‬‬
‫‪ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬راه اندازی کالی ‪. . . . . . . . . . xxix‬‬
‫‪. xxxi‬‬

‫‪1‬‬
‫شروع با اصول اولیه ‪1‬‬
‫اصطالحات و مفاهیم مقدماتی‪ 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تور کالی ‪. . . . . . . .‬‬
‫‪ 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬ترمینال‪. . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 4 . . . . . . . . . . . . . . . . . . . . . . . . . . .‬سیستم فایل لینوکس‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 4 . . . . . . . . . .‬دستور اساسی در لینوکس ‪5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫بررسی ورود خود با ‪ pwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6‬پیدا کردن خود با‬
‫پیمایش در سیستم فایل لینوکس‪whoami. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 . . . . . . . . . . . . . . .‬‬
‫‪ 6 . . . . . . . . . . . . . . . . . . .‬دریافت کمک ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 8 . . . .‬ارجاع به صفحات کتابچه راهنمای کاربر با مرد‪ 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬یافتن‬
‫مطالب ‪ 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬جستجو با مکان ‪. . . .‬‬
‫‪ 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Whereis . . . . . . . . . . . . .‬پیدا کردن باینری ها با‬
‫که با آن ‪ PATH . . . . . . . . . . . . . . . . . . . . .‬یافتن باینری ها در متغیر ‪. . . . . . . . . . . . . . . . . . . . . . 10‬‬
‫‪ grep . . . . . . . . . .‬فیلتر کردن با ‪ 10 find. . . . . . . . . . . . . . . . . . . . . . . . 11‬انجام جستجوهای قدرتمندتر با‬
‫تغییر فایل ها و دایرکتوری ها‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 13 . . . . . . . . . . . . . . . . . . . . .‬ایجاد فایل‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 13 . . .‬ایجاد دایرکتوری ‪ 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬کپی کردن یک فایل ‪. .‬‬
‫‪15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫تغییر نام یک فایل ‪ 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬حذف یک‬
‫فایل ‪ 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬حذف یک فهرست ‪. . . . .‬‬
‫‪16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫برو بازی کن! ‪ 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین‪. . . . .‬‬
‫‪17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪2‬‬
‫دستکاری متن ‪19‬‬
‫مشاهده فایل ها ‪ 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬پیدا کردن سر‬
‫‪ 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬یافتن دم ‪. . . . . . . . . . . . . .‬‬
‫‪ 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬شماره گذاری خطوط‪. . . . . . . . . . . . . . . . . . .‬‬
‫‪22 . . . . . . . . . . . . . . . . . . . . . .‬‬
‫چالش هکر‪ grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 :‬فیلتر کردن متن با‬
‫برای یافتن و جایگزینی‪ sed . . . .‬استفاده از ‪ head. . . . . . . . . . . . . . . . . . . . . 23‬و ‪ grep، nl، tail‬استفاده از‬
‫‪ 23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬مشاهده فایل ها با تعداد بیشتر و کمتر‪. . . . . . . . . . .‬‬
‫‪ 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬کنترل صفحه نمایش با موارد بیشتر ‪. . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 25 . . . . . . . . . . .‬نمایش و فیلتر کردن با کمتر ‪ 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬خالصه ‪. . .‬‬
‫‪ 26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین‪. . . . . . . . . . . . . .‬‬
‫‪27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪3‬‬
‫تجزیه و تحلیل و مدیریت شبکه ها ‪29‬‬
‫بررسی دستگاه ‪ ifconfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29‬تجزیه و تحلیل شبکه ها با‬
‫تغییر اطالعات شبکه شما ‪ iwconfig. . . . . . . . . . . . . . . . . . . . . . . . . . 30 . . . . . . . . . .‬های شبکه بی سیم با‬
‫‪31 . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫شما ‪ 31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تغییر ماسک شبکه و ‪ IP‬تغییر آدرس‬
‫شما ‪ MAC . . . . . . . . . . . . . . . . . . . . . . . .‬آدرس پخش‪ 32 . . . . . . . . . . . . . . . . .‬جعل آدرس‬
‫‪ DHCP. . . . . . . . . . . . . . . . . . . 32‬جدید از سرور ‪ 32 . . . . . . . . . . . IP‬اختصاص آدرس های‬
‫‪ dig . . . . . . . .‬با ‪ DNS‬دستکاری سیستم نام دامنه ‪ 33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬بررسی‬
‫‪ DNS ................................... 34‬تغییر سرور ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33‬‬
‫خودتان ‪ IP 36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬نگاشت آدرس های‬
‫خالصه ‪ 37 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین‪. . . . . .‬‬
‫‪37 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪4‬‬
‫افزودن و حذف نرم افزار ‪39‬‬
‫جستجو ‪ apt to Handle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40‬استفاده از نرم افزار‬
‫برای یک بسته‪ 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬افزودن نرم افزار ‪. . . . .‬‬
‫‪ 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬حذف نرم افزار ‪. . . . . . . . . . . . . .‬‬
‫‪ 41 . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬بسته های به روز رسانی ‪. . . . . . . . . . . . . . . . . . .‬‬
‫‪ 42 . . . . . . . . . . . . . . . . . . . . . .‬بسته ارتقاء ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪43 . . . . . . . .‬‬
‫شما‪ 43 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬استفاده از نصب کننده ‪ sources.list‬افزودن مخازن به فایل‬
‫مبتنی بر رابط کاربری گرافیکی ‪ 45 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬نصب نرم‬
‫خالصه ‪ git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 . . . . . . . . . . . . . .‬افزار با‬
‫‪ 47 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین‪. . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪47 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫مطالب به تفصیل‪xii‬‬
‫‪5‬‬
‫کنترل مجوزهای فایل و دایرکتوری ‪49‬‬
‫انواع مختلف کاربران ‪ 50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬اعطای مجوز‪. . . . .‬‬
‫‪ 50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬اعطای مالکیت به یک کاربر انفرادی ‪. . . . . .‬‬
‫‪ 50 . . . . . . . . . . . . . . . . . . . .‬اعطای مالکیت به یک گروه ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪51‬‬
‫بررسی مجوزها ‪ 51 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تغییر مجوزها ‪. . . . .‬‬
‫‪ 52 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تغییر مجوزها با نماد اعشاری‪. . . . . . . . . . .‬‬
‫دادن مجوز ‪ 52 . . . . . . . . . . . . . UGO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54‬تغییر مجوزها با‬
‫در ابزار جدید‪ 55 . . . . . . . . . . . . . . . . . . . . . .‬تنظیم مجوزهای پیش فرض ایمن بیشتر با ماسک ها‪ Root .‬اجرای‬
‫‪ 56 . . . . . . . . . . . . . . . . . . . . . . . .‬مجوزهای ویژه ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫اعطای مجوزهای ‪ 57 . . . . . . . . . . . SUID. . . . . . . . . . . . . . . . . . . . . . 57‬اعطای مجوزهای ریشه موقت با‬
‫بیت چسبنده منسوخ شده‪ SGID. . . . . . . . . . . . . . . . . . . . . 58 . . . . . . . . . . . . . . . . . . . .‬گروه کاربر ریشه‬
‫‪ 58 . . . . . . . . . . . . . . . . . .‬مجوزهای ویژه‪ ،‬افزایش امتیازات و هکر‪ 58 . . . . . . . . . . . . . . .‬خالصه ‪. . . . .‬‬
‫‪ 60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین‪. . . . . . . . . . . . . . . .‬‬
‫‪60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪6‬‬
‫مدیریت فرآیند ‪61‬‬
‫مشاهده فرآیندها ‪ 62 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬فیلتر کردن بر اساس‬
‫نام فرآیند‪ 63 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬پیدا کردن حریص ترین فرآیندها با‬
‫باال ‪64 . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫مدیریت فرآیندها ‪ 64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تغییر اولویت فرآیند با‬
‫فرآیند کشتار‪nice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 66 . . . . . . . . . . . . . . . . . . . . . . . .‬فرآیندهای در حال اجرا در پس زمینه‪. . . . . . . . . . . . . . . . .‬‬
‫‪ 68 . . . . . . . . . . . .‬انتقال یک فرآیند به پیش زمینه‪69 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫فرآیندهای برنامه ریزی ‪ 69 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬خالصه ‪. . . . .‬‬
‫‪ 70 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین‪. . . . . . . . . . . . . . . .‬‬
‫‪70 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪7‬‬
‫مدیریت متغیرهای محیط کاربر ‪71‬‬
‫مشاهده و اصالح متغیرهای محیطی ‪ 72 . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬مشاهده همه متغیرهای محیطی ‪. .‬‬
‫‪ 72 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬فیلتر کردن برای متغیرهای خاص‪. . . . . . . . . . . . . .‬‬
‫‪ 73 . . . . . . . . . . . . . . . . . . .‬تغییر مقادیر متغیر برای یک جلسه ‪. . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 73 . . . .‬دائمی کردن تغییرات ارزش متغیر‪74 . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫تغییر درخواست پوسته ‪ 75 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تغییر مسیر ‪. . . . . . . .‬‬
‫‪ 76 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PATH . . . . . . . . . . . . . . . . .‬افزودن به متغیر‬
‫اضافه نکنیم‪ PATH 77 . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬چگونه به متغیر ‪. . . . . . . . . . . . . . . . . . 76‬‬
‫ایجاد یک متغیر تعریف شده توسط کاربر‪ 77 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬خالصه ‪. .‬‬
‫‪ 78 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین ‪. . . . . . . . . . . . .‬‬
‫‪79 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪xiii‬مطالب به تفصیل‬
‫‪8‬‬
‫‪BASH SCRIPTING 81‬‬
‫اولین ‪ Bash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82‬یک دوره تصادف در‬
‫اسکریپت شما‪" :‬سالم‪ ،‬هکرها برخیز!" ‪ 82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تنظیم مجوزهای‬
‫‪ HelloHackersArise. . . . . . . . . . . .‬اجرا‪ 83 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬اجرای‬
‫افزودن عملکرد با متغیرها و ورودی کاربر‪. . . . . . . . . . . . . . . . . . . . . . . . 84 . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 84‬اولین اسکریپت هکر شما‪ :‬درگاه‌های باز را اسکن کنید‪ 86 . . . . . . . . . . . . . . . . . . . . . . . . . . .‬وظیفه ما‪. . . .‬‬
‫‪ 86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬یک اسکنر ساده ‪. . . . . . . . . . . . . . .‬‬
‫‪ 87 . . . . . . . . . . . . . . . . . . . . . . . . . . . MySQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬بهبود اسکنر‬
‫داخلی معمولی‪ 90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬خالصه ‪ Bash . .‬دستور ‪. . . . . 88‬‬
‫‪ 91 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین ‪. . . . . . . . . . . . .‬‬
‫‪91 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪9‬‬
‫فشرده سازی و آرشیو ‪93‬‬
‫فشرده سازی چیست؟ ‪ 93 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تارینگ فایل ها با‬
‫هم ‪ 94 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬فشرده سازی فایل ها‪. . . . . . . . .‬‬
‫‪96 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫فشرده سازی با ‪ gzip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96‬فشرده سازی با‬
‫فشرده سازی با کمپرس ‪bzip2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 . . . . . .‬‬
‫‪97 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫ایجاد نسخه های بیت به بیت یا فیزیکی از دستگاه های ذخیره سازی‪ 98 . . . . . . . . . . . . . . . . . . . . . .‬خالصه ‪. . . .‬‬
‫‪ 99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین ‪. . . . . . . . . . . . . . .‬‬
‫‪99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪10‬‬
‫مدیریت فایل سیستم و دستگاه ذخیره سازی ‪101‬‬
‫چگونه لینوکس ‪ /dev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102‬دایرکتوری دستگاه‬
‫دستگاه های ذخیره سازی را نشان می دهد‪ 103 . . . . . . . . . . . . . . . . . . . . . . . . . . .‬پارتیشن‬
‫درایو‪ 103 ................................................‬کاراکتر و مسدود کردن دستگاه ها ‪. . . . . . . . . . . . .‬‬
‫‪ 105 . . . . . . . . . . . . . . . . . . . . lsblk. . . . . . . . . . . .‬لیست مسدود کردن دستگاه ها و اطالعات با‬
‫‪. . . . . . . . . . . . 105‬‬
‫نصب و جداسازی ‪ 106 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬دستگاه های ذخیره سازی‬
‫‪ umount . . . . .‬را خودتان نصب کنید‪ 106 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬جدا کردن با‬
‫‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107‬‬
‫نظارت بر فایل سیستم ها ‪ 107 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬دریافت‬
‫اطالعات در مورد دیسک های نصب شده‪ 107 . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬بررسی خطاها‬
‫‪108 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫خالصه ‪ 109 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین ‪. . . . . .‬‬
‫‪109 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪11‬‬
‫‪ logging 111‬سیستم‬
‫فایل ‪rsyslog Logging Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112‬‬
‫‪ rsyslog. . .‬قوانین ثبت ‪ rsyslog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112‬پیکربندی‬
‫‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113‬‬

‫مطالب به تفصیل‪xiv‬‬
‫مخفی ماندن ‪ logrotate. . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 . . . . . . .‬پاک کردن خودکار گزارش ها با‬
‫‪ 117 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬حذف شواهد ‪. . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 117 . . . . . . . . . . . . . . . . . . . . .‬غیرفعال کردن ورود به سیستم‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 118 . . . . . . . . . . . .‬خالصه ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 119 . .‬تمرین ‪119 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪12‬‬
‫استفاده و سوء استفاده از خدمات ‪121‬‬
‫با وب سرور ‪ HTTP‬راه‌اندازی‪ ،‬توقف‪ ،‬و راه‌اندازی مجدد سرویس‌ها‪ 122 ..............................‬ایجاد یک وب سرور‬
‫آپاچی‪ 122 . . . . . . . . . . . . . . . . . . .‬شروع با آپاچی‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫افزودن مقداری ‪ 123 . . . index.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124‬ویرایش فایل‬
‫دیدن آنچه اتفاق می افتد ‪HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 . . . . . . . . .‬‬
‫‪ Raspberry Spy Pi. . . . . . . . . . . . . . . .‬و ‪125 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OpenSSH‬‬
‫‪ Raspberry Pi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬راه اندازی ‪. . . . . . . . . . . . . . . . . . . . 125‬‬
‫پیکربندی ‪ Raspberry Spy Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126‬ساخت ‪. . . . 126‬‬
‫دوربین ‪ 127 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬شروع به جاسوسی ‪. . . . . . . . . . . . . . . .‬‬
‫‪ 129 . . . . . . . . . . . . . . . . . . . . . . . . . . . . MySQL/MariaDB. . . . . . . . . . . . . .‬استخراج اطالعات از‬
‫‪ MariaDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬یا ‪ MySQL‬شروع ‪. . . . . . . . . . . . . . . 130‬‬
‫تنظیم رمز عبور ‪ SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 . . . . .‬تعامل با ‪. 130‬‬
‫‪ 131 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬دسترسی به پایگاه داده از راه دور‪. . . . . . . . . . . . .‬‬
‫‪ 132 . . . . . . . . . . . . . . . . . . . .‬اتصال به پایگاه داده ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 133‬جداول پایگاه داده ‪ 134 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬بررسی داده ها ‪. . .‬‬
‫‪ Metasploit. . . . . . . . . . .‬با ‪135 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PostgreSQL‬‬
‫خالصه ‪. . . . . . . . . . . . . . . . . . . . . . . . 135 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 137 . . . . . . . . . . . . . .‬تمرین ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪138 . . . .‬‬

‫‪13‬‬
‫ایمن و ناشناس شدن ‪139‬‬
‫چگونه اینترنت ما را از دست می دهد‪ 140 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬سیستم روتر‬
‫چگونه کار می کند‪ Tor . . . . . . . . .‬پیاز ‪141 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 141 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬نگرانی های امنیتی ‪. . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 142 . . . . . . . . . . . . . . . . . . .‬سرور پروکسی‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 143 . . . . . . . . . . .‬تنظیم پراکسی ها در فایل پیکربندی ‪144 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫چند گزینه جالب دیگر‪ 146 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬نگرانی های امنیتی ‪. . . . . . . . . . .‬‬
‫‪ 148 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬شبکه های خصوصی مجازی ‪. . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 148 . . . . . . . . . . . . . . . . . . . . . . . .‬ایمیل رمزگذاری شده ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 150 . . . . . . . . . . . . . . . . .‬خالصه ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 151 . . . . . . .‬تمرین ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪151‬‬

‫‪xv‬مطالب به تفصیل‬
‫‪14‬‬
‫درک و بازرسی‬
‫شبکه های بی سیم ‪153‬‬
‫شبکه های وای فای ‪ 154 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬فرمان اصلی‬
‫‪ Wi-Fi Recon with‬بی سیم‪154 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪aircrack-ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157‬‬
‫شناسایی و اتصال به بلوتوث ‪ 159 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬چگونه بلوتوث کار می کند‪. . .‬‬
‫‪ 160 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬اسکن و شناسایی بلوتوث‪. . . . . . . . . . .‬‬
‫‪160 . . . . . . . . . . . . . . .‬‬
‫خالصه ‪ 164 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین ‪. . . . . .‬‬
‫‪164 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪15‬‬
‫مدیریت کرنل لینوکس‬
‫و ماژول های کرنل قابل بارگذاری ‪165‬‬
‫ماژول کرنل چیست؟ ‪ 166 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬بررسی نسخه هسته‪. .‬‬
‫‪ 167 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sysctl. . . . . . . . . . . . . . . . .‬تنظیم هسته با‬
‫مدیریت ماژول های هسته‪. . . . . . . . . . . . . . . . . . . . . . . . . . . 167 . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪169 . . . . . . . . . . . . . . .‬‬
‫اضافه کردن و حذف ‪ modinfo. . . . . . . . . . . . . . . . . . . . . . . . . . . 170‬یافتن اطالعات بیشتر با‬
‫درج و حذف یک ماژول هسته‪ modprobe. . . . . . . . . . . . . . . . . . . . . 170 . . . . . . .‬ماژول ها با‬
‫‪171 . . . . . . . . . . . . . . . . . . .‬‬
‫خالصه ‪ 171 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین ‪. . . . . .‬‬
‫‪172 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪16‬‬
‫خودکارسازی وظایف با برنامه ریزی شغلی ‪173‬‬
‫برنامه ریزی یک رویداد یا کار برای اجرای خودکار‪ 174 . . . . . . . . . . . . . . . . . . . .‬برنامه ریزی یک کار پشتیبان‬
‫برای برنامه ‪ crontab‬گیری ‪ 176 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬استفاده از‬
‫‪ crontab . . . . . . . . . . . . . .‬میانبر ‪ MySQLscanner. . . . . . . . . . . . . . . . . . . . . 177‬ریزی‬
‫‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . 178‬‬
‫برای اجرای مشاغل در راه اندازی‪ rc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬استفاده از اسکریپت های‬
‫‪ 178‬سطح اجرا لینوکس‪179 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ rc.d...................................... 179‬افزودن خدمات به‬
‫افزودن خدمات به بوت آپ از طریق رابط کاربری گرافیکی ‪180 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫خالصه ‪ 181 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬تمرین ‪. . . . . .‬‬
‫‪181 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪17‬‬
‫اصول اسکریپت نویسی پایتون برای هکرها ‪183‬‬
‫اضافه کردن ماژول های پایتون ‪ 184 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬با استفاده‬
‫از پیپ‪ 184 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬نصب ماژول‬
‫های شخص ثالث‪185 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫شروع اسکریپت نویسی با پایتون‪ 186 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬متغیر‪. . . . . . . . . . .‬‬
‫‪ 187 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬نظر‪. . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 190 . . . . . . . . . . . . . . . . . . . . . . . . .‬توابع‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪190 . . . . . . . . . . . . . . .‬‬

‫مطالب به تفصیل‪xvi‬‬
‫لیست ها ‪ 191 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬ماژول‪. .‬‬
‫‪ 192 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬برنامه نویسی شی گرا‬
‫ارتباطات شبکه در پایتون‪(OOP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 . . . . . . . . . . . . .‬‬
‫‪194 . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ TCP. . .‬ایجاد یک شنونده ‪ TCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194‬ساخت مشتری‬
‫دیکشنری ها‪ ،‬حلقه ها و بیانیه های کنترل‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 . . . . . . . . . .‬‬
‫‪ 197 . . . . . . . . . . . . . . . . . . . .‬لغت نامه‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 197 . . .‬بیانیه های کنترل ‪ 197 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬حلقه‪. . . . . . . .‬‬
‫‪ 198 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬بهبود اسکریپت های هک ما‪. . . . . . . . .‬‬
‫‪ 199 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬استثناها و کرکرهای رمز عبور‪. . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 201 . . . . . . . . . . . . . . . .‬خالصه ‪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬
‫‪ 203 . . . . . .‬تمرین ‪203 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .‬‬

‫‪INDEX 205‬‬
‫‪xvii‬مطالب به تفصیل‬

‫قدردانی‬

‫‪.‬این کتاب بدون همکاری چند نفر کلیدی نمی توانست نوشته شود‬
‫ابتدا‪ ،‬می‌خواهم از لیز چادویک برای پیشنهاد این کتاب و ویراستار اصلی محتوای آن تشکر و‬
‫‪.‬قدردانی کنم‪ .‬پشتکار و فداکاری او این کتاب را ممکن ساخته است‬
‫به خاطر اعتقاد و حمایت از این کتاب ‪ No Starch Press،‬دوم‪ ،‬می‌خواهم از بیل پوالک‪ ،‬ناشر‬
‫‪.‬تشکر کنم‬
‫سوم‪ ،‬می‌خواهم از تالش‌های مجدانه منتقد فنی خود‪ ،‬کلیف جانزن‪ ،‬برای اطمینان از صحت‬
‫‪.‬محتوای فنی این کتاب قدردانی کنم‬
‫‪.‬هر گونه خطا یا حذف باقی مانده تنها تقصیر من است‬
‫برای تالش‌هایشان برای ‪ No Starch Press‬در نهایت‪ ،‬می‌خواهم از همه متخصصان متعهد‬
‫‪.‬تکمیل کتاب و عرضه به بازار تشکر و قدردانی کنم‪ .‬متشکرم‬
‫معرفی‬

‫هک کردن مهمترین مجموعه مهارت قرن بیست و یکم‬


‫است! من آن حالت را نمی سازم‬
‫به آرامی فکر کنید به نظر می‌رسد رویدادهای سال‌های اخیر‬
‫این بیانیه را با تیتر هر صبح تأیید می‌کنند‪ .‬ملت ها از یکدیگر جاسوسی‬
‫می کنند تا سود ببرنداسرار‪ ،‬مجرمان سایبری میلیاردها دالر سرقت می‌کنند‪ ،‬کرم‌های دیجیتالی‬
‫که باج می‌خواهند آزاد می‌شوند‪ ،‬دشمنان بر انتخابات یکدیگر تأثیر می‌گذارند‪ ،‬و مبارزان خدمات‬
‫همدیگر را از بین می‌برند‪ .‬اینها همه کار هکرها است و تأثیر آنها بر دنیای دیجیتالی ما تازه شروع به‬
‫‪.‬احساس می شود‬
‫‪ Null-Byte‬من تصمیم گرفتم این کتاب را بعد از کار با ده ها هزار هکر مشتاق از طریق‬
‫و تقریبا ً تمام شاخه های ارتش و سازمان های‪.https://www.hackers-arise.com/‬بنویسم‬
‫این تجربیات به من آموخته است که بسیاری از ‪ FBI).‬و ‪ (NSA، DIA، CIA،‬اطالعاتی ایاالت متحده‬
‫هکرهای مشتاق تجربه کمی با لینوکس داشته اند یا اصالً تجربه نداشته اند‪ ،‬و این عدم تجربه مانع اصلی‬
‫آنها برای شروع سفر به سمت تبدیل شدن به هکرهای حرفه ای است‪ .‬تقریبا ً تمام بهترین ابزارهای هکر‬
‫در لینوکس نوشته شده اند‪ ،‬بنابراین برخی از مهارت های پایه لینوکس پیش نیاز تبدیل شدن به یک هکر‬
‫‪.‬حرفه ای است‪ .‬من این کتاب را برای کمک به هکرهای مشتاق برای عبور از این مانع نوشته ام‬
‫هک کردن یک حرفه نخبه در حوزه فناوری اطالعات است‪ .‬به این ترتیب‪ ،‬نیاز به درک گسترده و‬
‫دارد‪ .‬در اساسی ترین سطح‪ ،‬لینوکس یک نیاز است‪ .‬اگر می‌خواهید ‪ IT‬دقیق از مفاهیم و فناوری های‬
‫هک و امنیت اطالعات را شغل خود کنید‪ ،‬قویا ً به شما پیشنهاد می‌کنم زمان و انرژی خود را برای‬
‫‪.‬استفاده و درک آن صرف کنید‬
‫این کتاب برای هکر باتجربه یا مدیر مجرب لینوکس در نظر گرفته نشده است‪ .‬در عوض‪ ،‬برای‬
‫کسانی در نظر گرفته شده است که می‌خواهند در مسیر هیجان‌انگیز هک‪ ،‬امنیت سایبری و پنستینگ‬
‫شروع کنند‪ .‬همچنین به عنوان یک رساله کامل در مورد لینوکس یا هک نیست‪ ،‬بلکه یک نقطه شروع‬
‫است‬
‫‪ bash‬به این دنیاها این با ملزومات لینوکس شروع می شود و به برخی از اسکریپت نویسی اولیه در‬
‫گسترش می یابد‪ .‬هر جا که مناسب باشد‪ ،‬سعی کرده ام از نمونه هایی از دنیای هک برای ‪ Python‬و‬
‫‪.‬آموزش اصول لینوکس استفاده کنم‬
‫در این مقدمه‪ ،‬ما رشد هک اخالقی برای امنیت اطالعات را بررسی خواهیم کرد و من شما را با‬
‫فرآیند نصب یک ماشین مجازی آشنا می‌کنیم تا بتوانید کالی لینوکس را بر روی سیستم خود نصب کنید‬
‫بدون اینکه سیستم عاملی که در حال حاضر هستید را مختل کنید‪ .‬در حال اجرا‬

‫آنچه در این کتاب آمده است‬


‫در اولین مجموعه از فصل ها‪ ،‬با اصول لینوکس راحت خواهید شد‪.‬فصل ‪1‬شما را به سیستم فایل و‬
‫ترمینال عادت می دهد و چند دستور اساسی به شما می دهد‪.‬فصل ‪2‬به شما نشان می دهد که چگونه می‬
‫‪.‬توانید متن را برای یافتن‪ ،‬بررسی و تغییر نرم افزار و فایل ها دستکاری کنید‬
‫که درفصل ‪3‬شما شبکه ها را مدیریت خواهید کرد شما شبکه‌ها را اسکن می‌کنید‪ ،‬اطالعات مربوط‬
‫‪.‬خود را پنهان می‌کنید ‪ DNS‬به اتصاالت را پیدا می‌کنید و با پوشاندن اطالعات شبکه و‬
‫فصل ‪4‬به شما می آموزد که نرم افزار را اضافه‪ ،‬حذف و به روز کنید و چگونه سیستم خود را‬
‫ساده نگه دارید‪ .‬که درفصل ‪ ،5‬مجوزهای فایل و دایرکتوری را دستکاری می کنید تا کنترل کنید چه‬
‫کسی می تواند به چه چیزی دسترسی داشته باشد‪ .‬همچنین برخی از تکنیک های افزایش امتیاز را یاد‬
‫‪.‬خواهید گرفت‬
‫فصل ‪6‬به شما می آموزد که چگونه خدمات را مدیریت کنید‪ ،‬از جمله شروع و توقف فرآیندها و‬
‫تخصیص منابع برای کنترل بیشتر شما‪ .‬که درفصل ‪7‬شما متغیرهای محیطی را برای عملکرد بهینه‪،‬‬
‫‪ PATH‬راحتی و حتی پنهان کاری مدیریت خواهید کرد‪ .‬متغیرها را پیدا کرده و فیلتر می‌کنید‪ ،‬متغیر‬
‫‪.‬خود را تغییر می‌دهید و متغیرهای محیطی جدیدی ایجاد می‌کنید‬
‫آشنا می کند‪ ،‬یک عنصر اصلی برای هر هکر جدی‪ .‬شما ‪ bash‬فصل ‪8‬شما را با اسکریپت‬
‫را یاد خواهید گرفت و یک اسکریپت برای اسکن پورت های هدفی که ممکن ‪ bash‬اصول اولیه‬
‫‪.‬است بعداً به آنها نفوذ کنید بسازید‬
‫فصل ‪ 9‬و ‪10‬برخی از مهارت های ضروری مدیریت فایل سیستم را به شما می دهد‪ ،‬به شما نشان می‬
‫دهد که چگونه فایل ها را فشرده و بایگانی کنید تا سیستم خود را تمیز نگه دارید‪ ،‬کل دستگاه های ذخیره‬
‫‪.‬سازی را کپی کنید‪ ،‬و اطالعات فایل ها و دیسک های متصل را دریافت کنید‬
‫فصل های آخر بیشتر به موضوعات هک می پردازند‪ .‬که درفصل ‪11‬شما از سیستم ثبت گزارش‬
‫استفاده کرده و آن را دستکاری می کنید تا اطالعاتی در مورد فعالیت یک هدف بدست آورید و‬
‫مسیرهای خود را پوشش دهید‪.‬فصل ‪12‬به شما نشان می دهد که چگونه از سه سرویس اصلی لینوکس‬
‫شما ‪ MySQL.‬و ‪، OpenSSH‬استفاده و سوء استفاده کنید‪ :‬وب سرور آپاچی‬
‫یک وب سرور ایجاد کنید‪ ،‬یک جاسوس ویدئویی از راه دور بسازید و در مورد پایگاه های داده و‬
‫آسیب پذیری های آنها اطالعات کسب کنید‪.‬فصل ‪13‬به شما نشان خواهد داد که چگونه با سرورهای‬
‫‪.‬ها و ایمیل های رمزگذاری شده ایمن و ناشناس موس بمانید ‪ Tor، VPN‬پراکسی‪ ،‬شبکه‬

‫معرفی‪xxii‬‬
‫فصل ‪14‬با شبکه های بی سیم سروکار دارد‪ .‬دستورات اولیه شبکه را یاد خواهید گرفت‪ ،‬سپس‬
‫‪.‬را شکسته و سیگنال های بلوتوث را شناسایی کرده و به آن متصل خواهید شد ‪ Wi-Fi‬نقاط دسترسی‬
‫فصل ‪15‬به عمق خود لینوکس می پردازد و دید سطح باالیی از نحوه عملکرد هسته و نحوه سوء‬
‫استفاده از درایورهای آن برای ارائه نرم افزارهای مخرب دارد‪ .‬که درفصل ‪16‬شما مهارت های‬
‫برنامه ریزی ضروری را به منظور خودکارسازی اسکریپت های هک خود یاد خواهید گرفت‪.‬فصل‬
‫‪17‬مفاهیم اصلی پایتون را به شما آموزش می دهد و شما دو ابزار هک را اسکریپت خواهید کرد‪ :‬یک‬
‫‪.‬و یک رمز عبور ساده ‪ TCP/IP‬اسکنر برای جاسوسی از اتصاالت‬

‫هک اخالقی چیست؟‬


‫با رشد حوزه امنیت اطالعات در سال‌های اخیر‪ ،‬رشد چشمگیری در زمینه هک اخالقی که به آن نیز‬
‫معروف است‪ ،‬رخ داده است‪.‬کاله سفید(مرد خوب) هک کردن‪ .‬هک اخالقی عبارت است از تالش برای‬
‫نفوذ و بهره برداری از یک سیستم به منظور کشف نقاط ضعف آن و ایمن سازی بهتر آن‪ .‬من حوزه‬
‫هک اخالقی را به دو جزء اصلی تقسیم می‌کنم‪ :‬تست نفوذ برای یک شرکت امنیتی اطالعات قانونی و‬
‫کار برای ارتش یا سازمان‌های اطالعاتی کشور شما‪ .‬هر دو منطقه به سرعت در حال رشد هستند و‬
‫‪.‬تقاضا قوی است‬

‫تست نفوذ‬
‫از آنجایی که سازمان ها به طور فزاینده ای از امنیت آگاه می شوند و هزینه نقض های امنیتی به‬
‫طور تصاعدی افزایش می یابد‪ ،‬بسیاری از سازمان های بزرگ شروع به عقد قرارداد خدمات امنیتی‬
‫می کنند‪ .‬یکی از این سرویس های امنیتی کلیدی‪ ،‬تست نفوذ است‪ .‬آتست نفوذاساسا ً یک هک قانونی و‬
‫‪.‬سفارشی برای نشان دادن آسیب پذیری شبکه و سیستم های یک شرکت است‬
‫به طور کلی‪ ،‬سازمان‌ها ابتدا ارزیابی آسیب‌پذیری را برای یافتن آسیب‌پذیری‌های بالقوه در شبکه‪،‬‬
‫سیستم‌عامل و خدمات خود انجام می‌دهند‪ .‬تاکید می کنم‍‍پتانسیل‪ ،‬زیرا این اسکن آسیب پذیری شامل تعداد‬
‫قابل توجهی از موارد مثبت کاذب است (چیزهایی که به عنوان آسیب پذیری شناسایی شده اند که واقعا ً‬
‫نیستند)‪ .‬این است‬
‫نقش تستر نفوذ در تالش برای هک کردن یا نفوذ به این آسیب پذیری ها‪ .‬تنها در این صورت است که‬
‫سازمان می تواند بفهمد که آسیب پذیری واقعی است یا خیر و تصمیم بگیرد که زمان و پول خود را برای‬
‫‪.‬بستن آسیب پذیری سرمایه گذاری کند‬

‫نظامی و جاسوسی‬
‫تقریبا ً همه کشورهای روی زمین در حال حاضر درگیر جاسوسی سایبری و هزینه جنگ سایبری‬
‫هستند‪ .‬فقط کافی است سرفصل ها را اسکن کنید تا متوجه شوید که فعالیت های سایبری روش انتخابی‬
‫‪.‬برای جاسوسی و حمله به سیستم های نظامی و صنعتی است‬
‫هک نقش مهمی در این فعالیت‌های نظامی و جمع‌آوری اطالعات ایفا می‌کند و این موضوع با‬
‫گذشت زمان بیشتر صادق خواهد بود‪ .‬جنگی در آینده را تصور کنید که در آن هکرها می توانند به نقشه‬
‫های جنگی دشمن خود دسترسی پیدا کنند و شبکه برق‪ ،‬پاالیشگاه های نفت و سیستم های آب آنها را نابود‬
‫کنند‪ .‬این فعالیت ها هر روز در حال انجام است‪ .‬بنابراین هکر به یکی از اجزای اصلی دفاع از کشور‬
‫‪.‬خود تبدیل می شود‬

‫‪xxiii‬معرفی‬

‫چرا هکرها از لینوکس استفاده می کنند‬


‫پس چرا هکرها از لینوکس نسبت به سایر سیستم عامل ها استفاده می کنند؟ بیشتر به این دلیل که‬
‫‪.‬لینوکس سطح بسیار باالتری از کنترل را از طریق چند روش مختلف ارائه می دهد‬

‫لینوکس منبع باز است‬


‫بر خالف ویندوز‪ ،‬لینوکس متن باز است‪ ،‬یعنی کد منبع سیستم عامل در دسترس شماست‪ .‬به این ترتیب‪،‬‬
‫شما می توانید آن را به دلخواه تغییر دهید و دستکاری کنید‪ .‬اگر می‌خواهید سیستمی را طوری عملی‬
‫‪.‬کنید که در نظر گرفته نشده است‪ ،‬دستکاری کد منبع ضروری است‬

‫لینوکس شفاف است‬


‫برای هک موثر‪ ،‬باید سیستم عامل خود و تا حد زیادی سیستم عامل مورد حمله را بشناسید و درک کنید‪.‬‬
‫لینوکس کامالً شفاف است‪ ،‬به این معنی که ما می‌توانیم تمام بخش‌های کاری آن را ببینیم و دستکاری‬
‫‪.‬کنیم‬
‫در مورد ویندوز اینطور نیست‪ .‬مایکروسافت تالش زیادی می‌کند تا شناخت عملکردهای داخلی‬
‫سیستم‌عامل‌های خود را تا حد ممکن دشوار کند‪ ،‬بنابراین شما هرگز واقعا ً نمی‌دانید که در "زیر‬
‫سرپوش" چه می‌گذرد‪ ،‬در حالی که در لینوکس‪ ،‬شما مستقیما ً بر روی هر یک از اجزای آن می‌تابید‪.‬‬
‫‪.‬سیستم عامل این کار با لینوکس را موثرتر می کند‬

‫لینوکس کنترل گرانول را ارائه می دهد‬


‫لینوکس گرانول است‪ .‬این بدان معناست که شما کنترل تقریبا ً نامحدودی بر روی سیستم دارید‪ .‬در‬
‫ویندوز‪ ،‬شما فقط می توانید آنچه را که مایکروسافت به شما اجازه می دهد کنترل کنید‪ .‬در لینوکس‪ ،‬همه‬
‫چیز را می توان با ترمینال کنترل کرد‪ ،‬در کوچک ترین سطح یا کالن ترین سطح‪ .‬عالوه بر این‪،‬‬
‫‪.‬لینوکس اسکریپت نویسی را در هر یک از زبان های برنامه نویسی ساده و موثر می کند‬

‫اکثر ابزارهای هک برای لینوکس نوشته شده اند‬


‫بیش از ‪ 90‬درصد از تمام ابزارهای هک برای لینوکس نوشته شده اند‪ .‬البته استثناهایی مانند قابیل و‬
‫هابیل و ویکتو وجود دارد‪ ،‬اما این استثناها قاعده را ثابت می کند‪ .‬حتی زمانی که ابزارهای هک مانند‬
‫‪.‬برای ویندوز پورت می شوند‪ ،‬همه قابلیت ها از لینوکس منتقل نمی شوند ‪ nmap‬یا ‪Metasploit‬‬

‫آینده متعلق به لینوکس‪/‬یونیکس است‬


‫این ممکن است یک بیانیه رادیکال به نظر برسد‪ ،‬اما من کامالً معتقدم که آینده فناوری اطالعات متعلق به‬
‫سیستم های لینوکس و یونیکس است‪ .‬مایکروسافت در دهه های ‪ 1980‬و ‪ 1990‬روز خود را سپری‬
‫‪.‬کرد‪ ،‬اما رشد آن کند و راکد است‬
‫از زمان شروع اینترنت‪ ،‬لینوکس‪/‬یونیکس به دلیل پایداری‪ ،‬قابلیت اطمینان و استحکام‪ ،‬سیستم‬
‫عامل انتخابی برای سرورهای وب بوده است‪ .‬حتی امروزه‪ ،‬لینوکس‪/‬یونیکس در دو سوم سرورهای‬
‫وب استفاده می شود و بر بازار تسلط دارد‪ .‬سیستم های جاسازی شده در روترها‪ ،‬سوئیچ ها و سایر‬
‫دستگاه ها تقریبا ً همیشه از هسته لینوکس استفاده می کنند و دنیای مجازی سازی تحت سلطه لینوکس‬
‫‪.‬بر روی هسته لینوکس ساخته شده اند ‪ Citrix‬و هم ‪ VMware‬است که هم‬
‫یونیکس است ‪ (iOS‬بیش از ‪ 80‬درصد از دستگاه های تلفن همراه یونیکس یا لینوکس را اجرا می کنند‬
‫و اندروید لینوکس است)‪ ،‬بنابراین اگر فکر می کنید که آینده محاسبات نهفته است‬

‫معرفی‪xxiv‬‬
‫دستگاه‌های تلفن همراه مانند تبلت‌ها و تلفن‌ها (به سختی می‌توان بحث کرد)‪ ،‬پس آینده یونیکس‪/‬لینوکس‬
‫است‪ .‬مایکروسافت ویندوز تنها ‪ 7‬درصد از بازار دستگاه های تلفن همراه را در اختیار دارد‪ .‬آیا آن‬
‫واگنی است که می خواهید به آن وصل شوید؟‬

‫دانلود کالی لینوکس‬


‫قبل از شروع‪ ،‬باید کالی لینوکس را بر روی کامپیوتر خود دانلود و نصب کنید‪ .‬این توزیع لینوکس است‬
‫که در سراسر این کتاب با آن کار خواهیم کرد‪ .‬لینوکس برای اولین بار توسط لینوس توروالدز در سال‬
‫‪ 1991‬به عنوان یک جایگزین متن باز برای یونیکس توسعه یافت‪ .‬از آنجایی که منبع باز است‪ ،‬توسعه‬
‫دهندگان داوطلب هسته‪ ،‬برنامه های کاربردی و برنامه های کاربردی را کدگذاری می کنند‪ .‬این بدان‬
‫معناست که هیچ نهاد شرکتی مهمی وجود ندارد که بر توسعه نظارت کند و در نتیجه‪ ،‬معموالً قراردادها‬
‫‪.‬و استانداردسازی وجود ندارد‬
‫به عنوان یک سیستم عامل هک ساخته شده بر روی ‪ Offensive Security‬زمان‍‍لینوکس توسط‬
‫توسعه داده شد‪ .‬توزیع های زیادی از لینوکس وجود دارد و دبیان ‪ Debian‬توزیعی از لینوکس به نام‬
‫یکی از بهترین هاست‪ .‬احتماالً بیشتر با اوبونتو به عنوان یک توزیع دسکتاپ محبوب لینوکس آشنا‬
‫‪ Red Hat،‬هستید‪ .‬اوبونتو نیز بر روی دبیان ساخته شده است‪ .‬توزیع های دیگر عبارتند از‬
‫اگرچه همه آنها هسته لینوکس یکسانی دارند (قلب سیستم عاملی ‪ SUSE.‬و ‪CentOS، Mint، Arch‬‬
‫و غیره را کنترل می کند)‪ ،‬هر کدام دارای ابزارها‪ ،‬برنامه های کاربردی و انتخاب ‪ CPU، RAM‬که‬
‫و سایرین) برای موارد مختلف هستند‪ .‬اهداف در نتیجه‪ ،‬هر یک ‪ (GNOME، KDE،‬رابط گرافیکی‬
‫برای آزمایش‌کنندگان نفوذ و هکرها ‪. Kali‬از این توزیع‌های لینوکس کمی متفاوت به نظر می‌رسد‬
‫‪.‬طراحی شده است و دارای مکمل قابل توجهی از ابزارهای هک است‬
‫اکیداً توصیه می کنم از کالی برای این کتاب استفاده کنید‪ .‬اگرچه می‌توانید از توزیع دیگری استفاده‬
‫کنید‪ ،‬احتماالً باید ابزارهای مختلفی را که ما استفاده خواهیم کرد‪ ،‬دانلود و نصب کنید‪ ،‬که می‌تواند به‬
‫معنای ساعت‌ها دانلود و نصب ابزار باشد‪ .‬عالوه بر این‪ ،‬اگر آن توزیع بر روی دبیان ساخته نشده باشد‪،‬‬
‫را دانلود و نصب ‪ Kali‬ممکن است تفاوت های جزئی دیگری نیز وجود داشته باشد‪ .‬شما می توانید‬
‫‪https://www.kali.org/.‬کنید‬
‫از صفحه اصلی‪ ،‬نشانگر را روی آن ببریددانلودهادر باالی صفحه لینک کنید و کلیک کنیدکالی‬
‫لینوکس را دانلود کنید‪ .‬در صفحه دانلودها با چندین گزینه دانلود روبرو خواهید شد‪ .‬مهم است که دانلود‬
‫مناسب را انتخاب کنید‪ .‬در امتداد سمت چپ میز‪ ،‬شما را مشاهده خواهید کردنام تصویر‪ ،‬که نام نسخه‬
‫‪ Kali Linux 64 Bit‬ای است که لینک دانلود می کند‪ .‬به عنوان مثال‪ ،‬ممکن است نام تصویری به نام‬
‫را مشاهده کنید‪ ،‬به این معنی که این کالی لینوکس کامل است و برای سیستم‌های ‪ 64‬بیتی مناسب است –‬
‫استفاده می‌کنند‪ .‬برای تعیین اینکه چه ‪ AMD‬اکثر سیستم‌های مدرن از یک پردازنده ‪ 64‬بیتی اینتل یا‬
‫روی سیستم شما وجود دارد‪ ،‬به آدرس زیر برویدصفحه کنترل‪4‬سیستم و امنیت‪4‬سیستم‪ ،‬و ‪ CPU‬نوع‬
‫را دانلود و نصب کنید (نه ‪ Kali‬باید فهرست شود‪ .‬اگر سیستم شما ‪ 64‬بیتی است‪ ،‬نسخه ‪ 64‬بیتی کامل‬
‫‪).‬یا هر یک از گزینه های دیگر ‪ Lxde‬یا ‪Light‬‬
‫بیتی استفاده می کنید‪ ،‬باید نسخه ‪ 32‬بیتی را نصب کنید ‪ CPU 32‬اگر از یک رایانه قدیمی با‬
‫‪.‬که در پایین صفحه ظاهر می شود‬
‫مانند ‪، Kali‬را انتخاب کنید ‪ HTTP‬بارگیری کنید‪ .‬اگر ‪ Torrent‬یا ‪ HTTP‬شما می توانید از طریق‬
‫هر بارگیری مستقیما ً در سیستم شما دانلود می شود و در پوشه دانلودها قرار می گیرد‪ .‬دانلود تورنت‪،‬‬
‫دانلود همتا به همتا است که توسط بسیاری از سایت های اشتراک گذاری فایل استفاده می شود‪ .‬شما به‬
‫یک تورنت نیاز خواهید داشت‬
‫‪xxv‬معرفی‬
‫در پوشه ای که برنامه تورنت ‪ Kali‬برای انجام این کار‪ .‬سپس فایل ‪ BitTorrent‬اپلیکیشنی مانند‬
‫‪.‬بارگیری های خود را در آن ذخیره می کند بارگیری می شود‬
‫که در بسیاری از دستگاه‌های ‪ ARM‬نسخه‌های دیگری برای انواع دیگر پردازنده‌ها‪ ،‬مانند معماری‬
‫تبلت یا دستگاه تلفن همراه دیگری ‪ Raspberry Pi،‬تلفن همراه یافت می‌شود‪ ،‬وجود دارد‪ .‬اگر از‬
‫را ترجیح می‌دهند)‪ ،‬مطمئن شوید که نسخه ‪ Kali NetHunter‬استفاده می‌کنید (کاربران تلفن احتماالً‬
‫و کلیک روی ‪ ARM‬کالی را دانلود و نصب کرده‌اید با پایین رفتن برای دانلود تصاویر ‪ ARM‬معماری‬
‫‪ ARM.‬تصاویر کالی‪ing.‬‬
‫شما کالی را دانلود کرده اید‪ ،‬اما قبل از اینکه هر چیزی را نصب کنید‪ ،‬می خواهم کمی در مورد‬
‫در یک ماشین مجازی ‪ Kali‬ماشین های مجازی صحبت کنم‪ .‬به طور کلی‪ ،‬برای مبتدی‪ ،‬نصب‬
‫‪.‬بهترین راه حل برای یادگیری و تمرین است‬

‫ماشین های مجازی‬


‫به شما امکان می دهد چندین سیستم عامل را از یک قطعه سخت افزار )‪ (VM‬فناوری ماشین مجازی‬
‫مانند لپ تاپ یا دسکتاپ خود اجرا کنید‪ .‬این بدان معناست که شما می توانید به اجرای سیستم عامل‬
‫که با آن آشنایی دارید ادامه دهید و ماشین مجازی کالی لینوکس را اجرا کنید‪.‬داخل‍‍آن ‪ MacOS‬ویندوز یا‬
‫‪.‬سیستم عامل برای یادگیری لینوکس نیازی به بازنویسی سیستم عامل موجود خود ندارید‬
‫و سایر فروشندگان ‪ VMware، Oracle، Microsoft‬برنامه های ماشین مجازی متعددی از‬
‫را به شما ‪ Oracle‬در دسترس هستند‪ .‬همه عالی هستند‪ ،‬اما در اینجا نحوه دانلود و نصب رایگان‬
‫‪VirtualBox.‬نشان خواهم داد‬

‫‪ VirtualBox‬نصب‬
‫همانطور که در‪https://www.virtualbox.org/‬را در اینجا دانلود کنید ‪ VirtualBox‬می توانید‬
‫را برای ‪ VirtualBox‬شکل ‪ 1‬نشان داده شده است‍‍دانلودهادر منوی سمت چپ پیوند دهید و بسته‬
‫خواهد بود‪ .‬حتما آخرین ‪ VirtualBox VM‬سیستم عامل فعلی رایانه خود انتخاب کنید‪ ،‬که میزبان‬
‫‪.‬نسخه را دانلود کنید‬

‫‪ VirtualBox‬شکل ‪ :1‬صفحه اصلی‬

‫توجه داشته باشیداین دستورالعمل ها با در نظر گرفتن ویندوز نوشته شده اند‪ .‬اگر از مک استفاده می کنید‪ ،‬ممکن‬
‫‪.‬است روند کمی متفاوت باشد‪ ،‬اما همچنان باید بتوانید آن را دنبال کنید‬

‫معرفی‪xxvi‬‬
‫هنگامی که دانلود به پایان رسید‪ ،‬روی فایل راه اندازی کلیک کنید‪ ،‬و توسط یک جادوگر نصب‬
‫‪.‬آشنا‪ ،‬که در شکل ‪ 2‬نشان داده شده است‪ ،‬استقبال خواهید کرد‬

‫‪ Setup Wizard‬شکل ‪ :2‬گفتگوی‬

‫‪.‬کلیک‍‍بعد‪ ،‬و مانند شکل ‪ 3‬باید با صفحه تنظیمات سفارشی خوشامدگویی کنید‬

‫شکل ‪ :3‬گفتگوی تنظیمات سفارشی‬

‫از این صفحه‪ ،‬به سادگی کلیک کنیدبعد‪ .‬به کلیک کردن ادامه دهیدبعدتا زمانی که به صفحه هشدار‬
‫برسید و سپس کلیک کنیدآره‪ .‬کلیک‍‍نصب‍‍برای شروع فرآیند در طول این فرآیند‪Network Interfaces ،‬‬
‫احتماالً چندین بار در مورد نصب از شما خواسته می شودنرم افزار دستگاه‪ .‬اینها دستگاه های شبکه‬
‫‪.‬مجازی هستند که برای ارتباط ماشین های مجازی شما ضروری هستند‪ .‬کلیک‍‍نصب‍‍برای هر کدام‬
‫‪.‬وقتی نصب کامل شد‪ ،‬کلیک کنیدپایان‬

‫‪xxvii‬معرفی‬

‫راه اندازی ماشین مجازی‬


‫باید پس از نصب باز شود ‪. VirtualBox‬اکنون اجازه دهید شما را با ماشین مجازی خود شروع کنیم‬
‫‪ - VirtualBox‬اگر نه‪ ،‬آن را باز کنید ‪ -‬و همانطور که در شکل ‪ 4‬مشاهده می شود باید توسط‬
‫‪.‬استقبال کنید ‪Manager‬‬
‫‪ VirtualBox‬شکل ‪ :4‬مدیر‬

‫از آنجایی که ما یک ماشین مجازی جدید با کالی لینوکس ایجاد خواهیم کرد‪ ،‬کلیک کنیدجدیددر‬
‫نشان داده شده در شکل ‪ Create Virtual Machine 5‬گوشه سمت چپ باال با این کار کادر گفتگوی‬
‫‪.‬باز می شود‬
‫استفاده کردم) و ‪ Kali‬به دستگاه خود یک نام بدهید (هر نامی مشکلی ندارد‪ ،‬اما من به سادگی از‬
‫سپس انتخاب کنیدلینوکس‍‍ازتایپ کنیدفهرست کشویی‪ .‬در نهایت انتخاب کنیددبیان (‪ 64‬بیتی)از سومین‬
‫استفاده می کنید‪ ،‬در این صورت نسخه ‪ 32‬بیتی دبیان ‪ Kali‬منوی کشویی (مگر اینکه از نسخه ‪ 32‬بیتی‬
‫را انتخاب کنید)‪ .‬کلیک‍‍بعد‪ ،‬و صفحه ای مانند شکل ‪ 6‬را مشاهده خواهید کرد‪ .‬در اینجا‪ ،‬باید میزان‬
‫‪.‬را که می خواهید به این ماشین مجازی جدید اختصاص دهید‪ ،‬انتخاب کنید ‪RAM‬‬

‫شکل ‪ :6‬تخصیص حافظه ‪ Create Virtual Machine‬شکل ‪ :5‬گفتگوی‬


‫معرفی‪xxviii‬‬
‫سیستم خود را توصیه ‪ RAM‬به عنوان یک قاعده کلی‪ ،‬من استفاده از بیش از ‪ 25‬درصد از کل‬
‫نمی کنم‪ .‬یعنی اگر ‪ 4‬گیگابایت (یا ‪ 4096‬مگابایت) روی سیستم فیزیکی یا میزبان خود نصب کرده اید‪،‬‬
‫فقط ‪ 1‬گیگابایت را برای ماشین مجازی خود انتخاب کنید و اگر ‪ 16‬گیگابایت روی سیستم فیزیکی خود‬
‫دارید‪ 4 ،‬گیگابایت را انتخاب کنید‪ .‬هر چه رم بیشتری به ماشین مجازی خود بدهید‪ ،‬بهتر و سریع‌تر‬
‫اجرا می‌شود‪ ،‬اما همچنین باید حافظه رم کافی برای سیستم عامل میزبان خود و هر ماشین مجازی‬
‫دیگری که ممکن است بخواهید به طور همزمان اجرا شود‪ ،‬باقی بگذارید‪ .‬ماشین های مجازی شما وقتی‬
‫‪.‬از آنها استفاده نمی کنید از رم استفاده نمی کنند‪ ،‬اما از فضای هارد دیسک استفاده می کنند‬
‫کلیک‍‍بعد‪ ،‬و به صفحه هارد دیسک خواهید رسید‪ .‬انتخاب کنیدایجاد هارد دیسک مجازی‍‍و کلیک‬
‫کنیدايجاد كردن‪ .‬باید از شما سوال شود که از کدام نوع فایل هارد دیسک استفاده کنید‪ .‬پیش فرض‬
‫‪.‬را انتخاب کنید ‪ VDI‬پیشنهادی‬
‫در صفحه بعدی‪ ،‬می‌توانید تصمیم بگیرید که آیا می‌خواهید هارد دیسکی که ایجاد می‌کنید به صورت پویا‬
‫یا در اندازه ثابت تخصیص داده شود‪ .‬اگر انتخاب کنی‍‍به صورت پویا اختصاص داده شده است‪ ،‬سیستم‬
‫خواهد شدنه‍‍کل حداکثر اندازه ای را که برای هارد دیسک مجازی اختصاص می دهید تا زمانی که به آن‬
‫نیاز دارید‪ ،‬در نظر بگیرید و فضای هارد دیسک استفاده نشده بیشتری را برای سیستم میزبان خود‬
‫‪.‬ذخیره کنید‪ .‬پیشنهاد می کنم به صورت پویا تخصیص داده شده را انتخاب کنید‬
‫کلیک‍‍بعد‪ ،‬و مقدار فضای هارد دیسک را برای تخصیص به ماشین مجازی و مکان ماشین‬
‫‪).‬مجازی انتخاب می کنید (شکل ‪ 7‬را ببینید‬

‫شکل ‪ :7‬تخصیص فضای هارد‬

‫پیش فرض ‪ 8‬گیگابایت است‪ .‬من معموالً آن را کمی کوچک می دانم و توصیه می کنم حداقل ‪20‬‬
‫تا ‪ 25‬گیگابایت را اختصاص دهید‪ .‬به یاد داشته باشید‪ ،‬اگر فضای هارد دیسک را به صورت پویا‬
‫تخصیص دهید‪ ،‬تا زمانی که به آن نیاز نداشته باشید‪ ،‬از فضا استفاده نمی کند‪ ،‬و گسترش هارد دیسک‬
‫‪.‬پس از تخصیص آن می تواند مشکل باشد‪ ،‬بنابراین بهتر است در قسمت باال اشتباه کنید‬
‫!کلیک‍‍ايجاد كردن‪ ،‬و شما آماده رفتن هستید‬

‫‪ VM‬در ‪ Kali‬نصب‬
‫را نصب کنید‪ .‬توجه داشته باشید که ‪ Kali‬در این مرحله‪ ،‬باید صفحه‌ای مانند شکل ‪ 8‬ببینید‪ .‬اکنون باید‬
‫مشاهده کنید‪ .‬کلیک ‪ Kali VM‬باید نشانی از خاموش بودن ‪ VirtualBox Manager،‬در سمت چپ‬
‫‪).‬کنید بر روی‍‍شروع کنیددکمه (آیکون فلش سبز‬
‫‪xxix‬معرفی‬
‫‪ VirtualBox‬شکل ‪ :8‬صفحه خوش آمدگویی‬

‫از محل پیدا کردن دیسک راه‌اندازی می‌پرسد‪ .‬قبالً یک تصویر ‪ VirtualBox Manager‬سپس‬
‫که باید در شما باشددانلودهاپوشه (اگر از تورنت برای دانلود ‪iso،‬دیسک را با پسوند دانلود کرده اید‬
‫فایل دردانلودهاپوشه برنامه تورنت شما)‪ .‬روی نماد پوشه در سمت راست‪،iso‬استفاده کرده اید ‪Kali‬‬
‫‪).‬را انتخاب کنید (شکل ‪ 9‬را ببینید ‪ Kali‬کلیک کنید‪ ،‬به سمت راست برویددانلودهاپوشه‪ ،‬و فایل تصویر‬

‫شکل ‪ :9‬انتخاب دیسک راه اندازی‬

‫معرفی‪xxx‬‬
‫سپس کلیک کنیدشروع کنید‪ .‬تبریک می گوییم‪ ،‬شما به تازگی کالی لینوکس را روی یک ماشین‬
‫!مجازی نصب کرده اید‬

‫‪ Kali‬راه اندازی‬
‫اکنون صفحه ای مانند شکل ‪ 10‬را باز می کند و چندین گزینه راه اندازی را به شما ارائه می ‪Kali‬‬
‫دهد‪ .‬من پیشنهاد می کنم از نصب گرافیکی برای مبتدیان استفاده کنید‪ .‬از کلیدهای صفحه کلید خود‬
‫‪.‬برای پیمایش در منو استفاده کنید‬
‫خود با خطا مواجه شدید‪ ،‬احتماالً به این دلیل است که ‪ VirtualBox‬در ‪ Kali‬اگر هنگام نصب‬
‫مجازی‌سازی را در بایوس سیستم خود فعال نکرده‌اید‪ .‬هر سیستم و بایوس آن کمی متفاوت است‪،‬‬
‫بنابراین با سازنده خود مشورت کنید یا راه حل های مربوط به سیستم و بایوس خود را به صورت آنالین‬
‫جستجو کنید‪ .‬عالوه بر این‪ ،‬در سیستم های ویندوز‪ ،‬احتماالً باید هر نرم افزار مجازی سازی رقیب مانند‬
‫را غیرفعال کنید‪ .‬باز هم‪ ،‬جستجوی اینترنت برای سیستم شما باید شما را در انجام این کار ‪Hyper-V‬‬
‫‪.‬راهنمایی کند‬

‫شکل ‪ :10‬انتخاب روش نصب‬

‫سپس از شما خواسته می شود که زبان خود را انتخاب کنید‪ .‬اطمینان حاصل کنید که زبانی را که‬
‫راحت تر کار می کنید انتخاب کرده اید و سپس کلیک کنیدادامه هید‪ .‬بعد‪ ،‬مکان خود را انتخاب کنید‪،‬‬
‫‪.‬کلیک کنیدادامه هیدو سپس طرح بندی صفحه کلید خود را انتخاب کنید‬
‫فرآیند شناسایی سخت افزار و آداپتورهای ‪، VirtualBox‬کلیک می کنید ‪ Continue‬وقتی روی‬
‫شبکه شما را انجام می دهد‪ .‬فقط صبورانه صبر کنید تا این کار را انجام دهد‪ .‬در نهایت‪ ،‬با صفحه‌ای‬
‫‪.‬مواجه می‌شوید که از شما می‌خواهد مانند شکل ‪ ،11‬کار شبکه خود را پیکربندی کنید‬

‫‪xxxi‬معرفی‬
‫شکل ‪ :11‬وارد کردن نام میزبان‬

‫اولین موردی که درخواست می کند نام میزبان شما است‪ .‬شما می توانید آن را هر چیزی که‬
‫‪.‬گذاشتم "‪ "kali‬بخواهید نام گذاری کنید‪ ،‬اما من آن را با پیش فرض‬
‫در مرحله بعد‪ ،‬نام دامنه از شما خواسته می شود‪ .‬در اینجا الزم نیست چیزی وارد کنید‪.‬‬
‫کلیک‍‍ادامه هید‪ .‬صفحه بعدی که در شکل ‪ 12‬نشان داده شده است بسیار مهم است‪ .‬در اینجا از شما رمز‬
‫‪.‬عبوری که می خواهید برای آن استفاده کنید خواسته می شودریشه‍‍کاربر‬

‫شکل ‪ :12‬انتخاب رمز عبور‬

‫معرفی‪xxxii‬‬
‫کاربر اصلی در لینوکس‪ ،‬مدیر سیستم قدرتمند است‪ .‬شما می توانید از هر رمز عبوری که با آن‬
‫احساس امنیت می کنید استفاده کنید‪ .‬اگر این یک سیستم فیزیکی بود که ما در اینترنت از آن استفاده می‬
‫کردیم‪ ،‬پیشنهاد می کنم از یک رمز عبور بسیار طوالنی و پیچیده برای محدود کردن توانایی مهاجم برای‬
‫شکستن آن استفاده کنید‪ .‬از آنجایی که این یک ماشین مجازی است که افراد بدون دسترسی به سیستم‬
‫عامل میزبان شما نمی توانند به آن دسترسی داشته باشند‪ ،‬احراز هویت رمز عبور در این ماشین مجازی‬
‫‪.‬اهمیت کمتری دارد‪ ،‬اما همچنان باید عاقالنه انتخاب کنید‬
‫کلیک‍‍ادامه هید‪ ،‬و از شما خواسته می شود منطقه زمانی خود را تنظیم کنید‪ .‬این کار را انجام دهید‬
‫‪.‬و سپس ادامه دهید‬
‫صفحه بعدی در مورد دیسک های پارتیشن می پرسد (الف‍‍تقسیم بندی‍‍دقیقا ً همان چیزی است که به‬
‫نظر می رسد ‪ -‬یک بخش یا بخش از هارد دیسک شما)‪ .‬انتخاب کنیدهدایت شده ‪ -‬از کل دیسک‬
‫استفاده کنیدو کالی هارد دیسک های شما را شناسایی کرده و به طور خودکار یک پارتیشن را راه‬
‫‪.‬اندازی می کند‬
‫سپس کالی به شما هشدار می دهد که تمام داده های روی دیسکی که انتخاب کرده اید پاک می‬
‫شود‪ . . .‬اما نگران نباش! این یک دیسک مجازی است و دیسک جدید و خالی است‪ ،‬بنابراین در‬
‫‪.‬واقع هیچ کاری انجام نمی دهد‪ .‬کلیک‍‍ادامه هید‬
‫اکنون کالی از شما می پرسد که آیا همه فایل ها را در یک پارتیشن می خواهید یا می خواهید‬
‫پارتیشن های جداگانه داشته باشید‪ .‬اگر این یک سیستم تولیدی بود‪ ،‬احتماالً پارتیشن‌های جداگانه‌ای را‬
‫اما با توجه به اینکه ما از این به عنوان یک سیستم ‪/tmp،‬برای آن انتخاب می‌کردید‪/‬خانه‪/،‬بود‪ ،‬و‬
‫یادگیری در یک محیط مجازی استفاده خواهیم کرد‪ ،‬برای شما بی خطر است که به سادگی انتخاب‬
‫‪.‬کنید‪.‬همه فایل ها در یک پارتیشن‬
‫اکنون از شما سوال می شود که آیا تغییرات خود را روی دیسک بنویسید یا خیر‪ .‬انتخاب‬
‫کنیدپارتیشن بندی را تمام کنید و تغییرات را روی دیسک بنویسید‪ .‬کالی یک بار دیگر از شما می‬
‫خواهد که ببینید آیا می خواهید تغییرات را روی دیسک بنویسید یا خیر‪ .‬انتخاب کنیدآره‍‍و کلیک‬
‫‪).‬کنیدادامه هید(شکل ‪ 13‬را ببینید‬

‫شکل ‪ :13‬نوشتن تغییرات روی دیسک‬


‫‪xxxiii‬معرفی‬
‫اکنون کالی شروع به نصب سیستم عامل می کند‪ .‬این ممکن است کمی طول بکشد‪ ،‬پس صبور‬
‫‪.‬باشید‪ .‬اکنون زمان آن است که استراحت کنید و نوشیدنی مورد عالقه خود را دریافت کنید‬
‫پس از اتمام نصب‪ ،‬از شما خواسته می شود که آیا می خواهید از آینه شبکه استفاده کنید یا خیر‪.‬‬
‫از شما می خواهد که آیا می خواهید ‪ Kali‬این واقعا ضروری نیست‪ ،‬پس کلیک کنیدخیر‪ .‬سپس‬
‫را که در شکل ‪ 14‬نشان داده شده است نصب )‪GRUB (Grand Unified Bootloader‬‬
‫کنید‪.‬بوت لودرشما را قادر می سازد تا سیستم عامل های مختلفی را برای بوت انتخاب کنید‪ ،‬به این‬
‫یا سیستم عامل دیگری بوت ‪ Kali‬معنی که وقتی ماشین مجازی خود را بوت می کنید‪ ،‬می توانید به‬
‫‪.‬شوید‪ .‬انتخاب کنیدآره‍‍و کلیک کنیدادامه هید‬

‫‪ GRUB‬شکل ‪ :14‬نصب‬

‫را به صورت ‪ GRUB‬در صفحه بعدی‪ ،‬از شما خواسته می شود که آیا می خواهید بوت لودر‬
‫‪، Kali‬خودکار یا دستی نصب کنید‪ .‬به دالیلی که هنوز نامشخص است‪ ،‬اگر گزینه دوم را انتخاب کنید‬
‫تمایل دارد پس از نصب یک صفحه خالی را به حالت آویزان درآورد و نمایش دهد‪ .‬انتخاب کنیددستگاه‬
‫‪.‬را به صورت دستی وارد کنیدهمانطور که در شکل ‪ 15‬نشان داده شده است‬

‫معرفی‪xxxiv‬‬
‫شکل ‪ :15‬وارد کردن دستگاه خود به صورت دستی‬

‫باید در آن نصب شود (احتماال ‪ GRUB‬در صفحه زیر‪ ،‬درایوی را انتخاب کنید که بوت لودر‬
‫روی صفحه بعدی کلیک کنید‪ ،‬که باید به شما بگوید که نصب کامل شده ‪/dev/sda).‬چیزی شبیه به‬
‫‪.‬است‬
‫سعی می‌کند راه‌اندازی ‪. Kali‬را نصب کرده اید‪ .‬کلیک‍‍ادامه هید ‪ Kali‬تبریک می گویم! شما‬
‫مجدد شود‪ ،‬و تعدادی از خطوط کد را می‌بینید که در یک صفحه سیاه و سفید خالی می‌شوند‪،‬‬
‫‪.‬همانطور که در شکل ‪ 16‬نشان داده شده است‬

‫‪ Kali‬شکل ‪ :16‬صفحه ورود به سیستم‬

‫‪xxxv‬معرفی‬
‫به عنوان وارد شویدریشه‪ ،‬و از شما رمز عبور خواسته می شود‪ .‬رمز عبوری را که برای‬
‫‪.‬کاربر اصلی خود انتخاب کرده اید وارد کنید‬
‫‪.‬مانند شکل ‪ ،17‬با دسکتاپ لینوکس کالی مواجه خواهید شد ‪ root،‬پس از ورود به عنوان‬
‫شکل ‪ :17‬صفحه اصلی کالی‬

‫!شما اکنون آماده اید تا سفر خود را به حوزه هیجان انگیز هک آغاز کنید! خوش آمدی‬

‫معرفی‪xxxvi‬‬
‫‪GETTINGSTARTEDWITH‬‬
‫‪1‬‬
‫اصول اولیه‬

‫طبق ماهیت ما‪ ،‬هکرها عمل کننده هستند‪ .‬ما‬


‫می خواهید چیزها را لمس کنید و با آنها بازی کنید‪ .‬ما‬
‫همچنین می خواهند ایجاد کنند و‪ ،‬گاهی اوقات‪ ،‬بشکنند‬
‫چیزها تعداد کمی از ما می خواهیم کتاب های طوالنی را بخوانیم‬
‫تئوری فناوری اطالعات قبل از اینکه بتوانیم کاری را که بیشتر دوست‬
‫داریم انجام دهیم‪ :‬هک کردن‪ .‬با در نظر گرفتن این موضوع‪ ،‬این فصل به‬
‫گونه‌ای طراحی شده است که مهارت‌های اساسی را به شما بدهد تا شما را‬
‫!در کالی راه‌اندازی کند‪ . . .‬اکنون‬
‫در این فصل‪ ،‬ما به هیچ مفهومی با جزئیات زیاد نمی پردازیم ‪ -‬ما به اندازه کافی به شما اجازه بازی و‬
‫کاوش در سیستم عامل هکرها‪ :‬لینوکس را خواهیم داد‪ .‬ما بحث های عمیق تر را برای فصل های بعدی‬
‫‪.‬ذخیره خواهیم کرد‬

‫اصطالحات و مفاهیم مقدماتی‬


‫قبل از اینکه سفر خود را در دنیای شگفت انگیز آغاز کنیم‍‍اصول لینوکس برای هکرها‪ ،‬من می‬
‫‪.‬خواهم چند اصطالح را معرفی کنم که باید برخی از مفاهیم مورد بحث در این فصل را روشن کند‬
‫باینری هااین اصطالح به فایل هایی اطالق می شود که قابل اجرا هستند‪ ،‬مشابه فایل های‬
‫دایرکتوری و شامل ابزارهایی‪usr/sbin‬یا‪/usr/bin‬اجرایی در ویندوز‪ .‬باینری ها عموما ً در‬
‫ما در این فصل به هر چهار مورد از این موارد خواهیم پرداخت)(‪ifconfig‬و ‪،ls،‬گربه‪ps،‬مانند‬
‫)‪ (IDS‬و سیستم تشخیص نفوذ ‪ aircrack-ng‬و همچنین برنامه هایی مانند ابزار هک بی سیم‬
‫‪Snort.‬‬
‫حساسیت به حروف کوچک‍‍برخالف ویندوز‪ ،‬سیستم فایل لینوکس به حروف بزرگ و کوچک‬
‫حساس است‪ .‬این به این معنی است که‍‍دسکتاپ‍‍متفاوت است ازدسکتاپ‪ ،‬که متفاوت ازدسکتاپ‪ .‬هر‬
‫یک از اینها نام فایل یا دایرکتوری متفاوتی را نشان می دهد‪ .‬بسیاری از افرادی که از محیط‬
‫ویندوز می آیند می توانند این موضوع را ناامید کننده بدانند‪ .‬اگر با پیغام خطای «فایل یا‬
‫دایرکتوری یافت نشد» دریافت کردید و مطمئن هستید که فایل یا دایرکتوری وجود دارد‪ ،‬احتماالً‬
‫‪.‬باید مورد خود را بررسی کنید‬
‫فهرست راهنمااین همان پوشه در ویندوز است‪ .‬دایرکتوری راهی برای سازماندهی فایل ها‪،‬‬
‫‪.‬معموالً به صورت سلسله مراتبی ارائه می دهد‬
‫صفحه اصلی‍‍هر کاربر خود را دارد‪/‬خانه‍‍دایرکتوری‪ ،‬و به طور کلی این جایی است که فایل هایی‬
‫‪.‬که ایجاد می کنید به طور پیش فرض ذخیره می شوند‬
‫زمان‍‍کالی لینوکس توزیعی از لینوکس است که به طور خاص برای تست نفوذ طراحی شده است‪.‬‬
‫این دارای صدها ابزار از پیش نصب شده است‪ ،‬که باعث صرفه جویی در ساعت‌هایی که برای‬
‫در زمان نوشتن این مقاله ‪ Kali‬دانلود و نصب آن‌ها صرف می‌کنید‪ ،‬می‌شود‪ .‬من از آخرین نسخه‬
‫‪.‬اولین بار در آوریل ‪ 2018‬منتشر شد ‪: Kali 2018.2،‬استفاده خواهم کرد‬
‫ریشه‍‍مانند تقریبا ً هر سیستم عامل‪ ،‬لینوکس دارای یک حساب سرپرست یا ابرکاربر است که برای‬
‫استفاده توسط یک فرد قابل اعتماد طراحی شده است که می تواند تقریبا ً هر کاری را در سیستم‬
‫انجام دهد‪ .‬این شامل مواردی مانند پیکربندی مجدد سیستم‪ ،‬افزودن کاربران و تغییر رمزهای عبور‬
‫است‪ .‬در لینوکس‪ ،‬آن حساب نامیده می شودریشه‪ .‬به عنوان یک هکر یا پنتستر‪ ،‬شما اغلب از‬
‫استفاده می کنید تا کنترل سیستم را به خود بدهید‪ .‬در واقع‪ ،‬بسیاری از ‪ root‬حساب کاربری‬
‫‪.‬ابزارهای هکر نیاز به استفاده از حساب کاربری ریشه دارند‬
‫اسکریپت‍‍این یک سری دستورات است که در یک محیط تفسیری اجرا می شوند که هر خط را به کد‬
‫منبع تبدیل می کند‪ .‬بسیاری از ابزارهای هک به سادگی اسکریپت هستند‪ .‬اسکریپت ها را می توان‬
‫‪ Ruby‬یا ‪ Python، Perl‬یا هر یک از مفسرهای زبان برنامه نویسی دیگر مانند ‪ bash‬با مفسر‬
‫‪.‬اجرا کرد‬
‫‪.‬پایتون در حال حاضر محبوب ترین مفسر در بین هکرها است‬
‫پوسته‍‍این یک محیط و مفسر برای اجرای دستورات در لینوکس است‪ .‬پرمصرف ترین پوسته‬
‫دوباره پوسته‪ ،‬اما پوسته های محبوب دیگر شامل ‪Bourne‬است که مخفف آن است ‪bash‬‬
‫‪.‬به طور انحصاری در این کتاب استفاده خواهم کرد ‪ bash‬است‪ .‬من از پوسته ‪ Z‬و ‪ C‬پوسته‬
‫‪.‬است )‪ (CLI‬پایانه‍‍این یک رابط خط فرمان‬
‫با پشت سر گذاشتن این اصول اولیه‪ ،‬ما سعی خواهیم کرد مهارت‌های ضروری لینوکس را که برای‬
‫تبدیل شدن به یک هکر یا آزمایش‌کننده نفوذ به آن نیاز دارید‪ ،‬به طور روشمند توسعه دهیم‪ .‬در این‬
‫‪.‬فصل اول‪ ،‬شما را با شروع کار با لینوکس کالی آشنا خواهم کرد‬

‫فصل ‪21‬‬
‫تور کالی‬
‫را شروع کردید‪ ،‬همانطور که در شکل ‪ 1-1‬نشان داده شده است‪ ،‬با یک صفحه ‪ Kali‬هنگامی که‬
‫وارد شویدریشه‍‍و رمز عبور ‪ root‬ورود به سیستم مواجه خواهید شد‪ .‬با استفاده از نام کاربری اکانت‬
‫اگر رمز عبور را زودتر تغییر داده اید‪ ،‬از رمز عبور جدید خود در اینجا استفاده(‪toor‬پیش فرض‬
‫‪).‬کنید‬
‫با استفاده از حساب ریشه ‪ Kali‬شکل ‪ :1-1‬ورود به‬

‫خود دسترسی داشته باشید (شکل ‪ 2-1‬را ببینید)‪ .‬ما به سرعت به دو ‪ Kali‬اکنون باید به دسکتاپ‬
‫‪.‬مورد از اساسی ترین جنبه های دسکتاپ نگاه خواهیم کرد‪ :‬رابط ترمینال و ساختار فایل‬

‫‪ Kali‬شکل ‪ :2-1‬دسکتاپ‬

‫شروع کار با اصول‪3‬‬


‫پایانه‬
‫باز کردن آن است‍‍پایانه‪ ،‬که رابط خط فرمانی است که در این کتاب از آن ‪ Kali‬اولین قدم در استفاده از‬
‫استفاده خواهیم کرد‪ .‬در کالی لینوکس‪ ،‬نماد ترمینال را در سمت چپ دسکتاپ پیدا خواهید کرد‪ .‬روی‬
‫‪.‬این نماد کلیک کنید تا ترمینال باز شود‪ .‬ترمینال جدید شما باید مانند شکل ‪ 3-1‬باشد‬
‫شکل ‪ :3-1‬ترمینال کالی‬

‫شناخته می شودپوسته‪ ،‬که به شما امکان ‪ the‬این ترمینال محیط خط فرمان را باز می کند که با نام‬
‫می دهد دستورات را روی سیستم عامل های زیرین اجرا کنید و اسکریپت بنویسید‪ .‬اگرچه لینوکس دارای‬
‫و ‪ Kali‬است که پوسته پیش‌فرض در ‪ bash‬محیط‌های مختلف پوسته است‪ ،‬اما محبوب‌ترین آنها پوسته‬
‫‪.‬بسیاری دیگر از توزیع‌های لینوکس نیز هست‬
‫‪passwd.‬برای تغییر رمز عبور می توانید از دستور استفاده کنید‬

‫سیستم فایل لینوکس‬


‫ساختار فایل سیستم لینوکس تا حدودی با ویندوز متفاوت است‪ .‬لینوکس یک درایو فیزیکی ندارد‬
‫(مانندج‪:‬درایو) در پایه سیستم فایل قرار دارد اما به جای آن از یک فایل سیستم منطقی استفاده می کند‪.‬‬
‫در باالی ساختار فایل سیستم قرار دارد‪ ،/‬که اغلب به آن اشاره می شودریشه‍‍از سیستم فایل‪ ،‬گویی یک‬
‫درخت وارونه است (شکل ‪ 4-1‬را ببینید)‪ .‬به خاطر داشته باشید که این با کاربر اصلی متفاوت است‪.‬‬
‫این اصطالحات ممکن است در ابتدا گیج کننده به نظر برسند‪ ،‬اما زمانی که به لینوکس عادت کنید‪،‬‬
‫‪.‬تفکیک آنها آسان تر می شود‬

‫فصل ‪41‬‬
‫کاربر‬ ‫درونی؛ داخلی‬ ‫فایل های دستگاه‬ ‫بیشتر‬
‫دایرکتوری ها‬ ‫داده های هسته‬ ‫باینری ها‬
‫‪/‬‬
‫بوت‍‍تصویر هسته‪/‬‬ ‫‪/usr‬‬
‫‪/sbin‬‬
‫‪/proc‬‬ ‫‪/dev‬‬ ‫باینری ها‬
‫نمای از‬ ‫ویژه‬ ‫‪/sbin‬‬
‫خانه‪/‬‬
‫و غیره‪/‬‬ ‫‪/mnt‬‬ ‫نقطه سوار شدن‬ ‫‪ /lib‬نمای سخت افزار‬ ‫بیشتر‬ ‫بیشتر‬
‫ریشه‪/‬‬ ‫سیستم‬ ‫عمومی‬ ‫‪/sys‬‬ ‫صندوقچه‪/‬‬ ‫کتابخانه ها‬ ‫باینری ها‬ ‫کتابخانه ها‬
‫هدف فایل های پیکربندی خانه سوپرکاربر‬ ‫هسته‬ ‫باینری ها‬ ‫صندوقچه‪/‬‬ ‫‪/lib‬‬
‫فهرست راهنما‬
‫شکل ‪ :4-1‬سیستم فایل لینوکس‬

‫‪:‬ریشه (‪ )/‬سیستم فایل در باالی درخت قرار دارد و زیر شاخه های زیر مهم ترین آنها هستند‬
‫ریشه‍‍فهرست اصلی کاربر قدرتمند ریشه‪/‬‬
‫و غیره‍‍معموالً حاوی فایل‌های پیکربندی لینوکس است ‪ -‬فایل‌هایی که زمان و نحوه راه‌اندازی‪/‬‬
‫برنامه‌ها را کنترل می‌کنند‬
‫خانه‍‍فهرست اصلی کاربر‪/‬‬
‫جایی که فایل سیستم های دیگر به آن متصل یا نصب شده اند‪/mnt‬‬
‫فایل سیستم‬
‫معموالً به سیستم فایل متصل یا نصب می شوند ‪ USB‬و دستگاه های ‪ CD‬رسانه هاجایی که‪/‬‬
‫صندوقچه‍‍جایی که برنامه‍‍باینری ها(معادل فایل های اجرایی در‪/‬‬
‫وجود دارد )‪ macOS‬مایکروسافت ویندوز یا برنامه های کاربردی در‬
‫جایی که پیدا خواهید کردکتابخانه ها(برنامه های مشترکی که شبیه به‪/lib‬‬
‫)های ویندوز ‪DLL‬‬
‫ما در طول این کتاب زمان بیشتری را با این دایرکتوری های کلیدی سپری خواهیم کرد‪ .‬درک این‬
‫‪.‬دایرکتوری های سطح اول برای پیمایش در سیستم فایل از خط فرمان مهم است‬
‫همچنین مهم است که قبل از شروع بدانید که هنگام انجام کارهای معمولی نباید به عنوان روت‬
‫وارد سیستم شوید‪ ،‬زیرا هر کسی که سیستم شما را هک می کند (بله‪ ،‬گاهی اوقات هکرها هک می‬
‫شوند) هنگامی که شما به عنوان روت وارد می شوید‪ ،‬بالفاصله امتیازات روت دریافت می کند و‬
‫بنابراین سیستم خود را "مالک" کنید‪ .‬هنگام شروع برنامه های معمولی‪ ،‬مرور وب‪ ،‬اجرای ابزارهای‬
‫و غیره به عنوان یک کاربر معمولی وارد شوید‪ .‬برای تمرینی که در این ‪ Wireshark‬مانند ‪ning‬‬
‫‪.‬کتاب انجام خواهید داد‪ ،‬ورود به سیستم به‌عنوان روت خوب است‬

‫دستورات پایه در لینوکس‬


‫برای شروع‪ ،‬اجازه دهید به برخی از دستورات اساسی نگاه کنیم که به شما کمک می کند تا در‬
‫‪.‬لینوکس راه اندازی و اجرا کنید‬

‫شروع کار با اصول‪5‬‬


‫‪ pwd‬پیدا کردن خود با‬
‫کار می ‪ macOS‬مانند ویندوز یا )‪ (GUI‬برخالف زمانی که در یک محیط رابط کاربری گرافیکی‬
‫کنید‪ ،‬خط فرمان در لینوکس همیشه مشخص نمی کند که در حال حاضر در کدام دایرکتوری هستید‪.‬‬
‫برای پیمایش به یک فهرست جدید‪ ،‬معموالً نیاز دارید برای اینکه بدانید در حال حاضر کجا هستید‬
‫مکان شما را در ساختار دایرکتوری برمی ‪،pwd،‬رافهرست کاری موجود(یاچاپ فهرست کار) فرمان‬
‫‪.‬گرداند‬
‫‪:‬در ترمینال خود تا ببینید کجا هستید‪pwd‬وارد‬

‫‪ >pwd‬بار‬
‫ریشه‪/‬‬

‫در این مورد‪ ،‬لینوکس بازگشت‪/‬ریشه‪ ،‬به من می گوید که در دایرکتوری کاربر اصلی هستم‪ .‬و‬
‫نیز باشید‪ root ،‬وارد شده‌اید‪ ،‬باید در دایرکتوری کاربر ‪ root‬چون هنگام راه‌اندازی لینوکس به‌عنوان‬
‫‪ (/).‬که یک سطح پایین‌تر از باالی ساختار فایل سیستم است‬
‫‪.‬به جای آن نام دایرکتوری را برمی گرداند‪،pwd‬اگر در فهرست دیگری هستید‬
‫‪ whoami‬بررسی ورود خود با‬
‫نامیده می شود و تمام امتیازات سیستم ‪" root‬در لینوکس‪ ،‬یک ابرکاربر یا مدیر سیستم "کامالً قدرتمند‬
‫مورد نیاز برای افزودن کاربران‪ ،‬تغییر کلمات عبور‪ ،‬تغییر امتیازات و غیره را دارد‪ .‬بدیهی است که‬
‫شما نمی خواهید هر کسی توانایی ایجاد چنین تغییراتی را داشته باشد‪ .‬شما فردی را می خواهید که‬
‫بتوان به او اعتماد کرد و دانش مناسبی از سیستم عامل داشته باشد‪ .‬به عنوان یک هکر‪ ،‬معموالً برای‬
‫اجرای برنامه‌ها و دستورات مورد نیاز خود باید تمام آن امتیازات را داشته باشید (بسیاری از ابزارهای‬
‫‪.‬هکر کار نمی‌کنند مگر اینکه حقوق ریشه داشته باشید)‪ ،‬بنابراین می‌خواهید به عنوان روت وارد شوید‬
‫اگر فراموش کرده اید که به عنوان کاربر اصلی یا کاربر دیگری وارد شده اید‪ ،‬می توانید از آن‬
‫‪:‬استفاده کنیدمن کی هستم‍‍دستور برای مشاهده اینکه به عنوان کدام کاربری وارد شده اید‬

‫بار >من کی هستم‬


‫ریشه‬

‫اگر به عنوان کاربر دیگری مانند حساب شخصی خود وارد سیستم شده بودم‪،‬من کی‬
‫‪:‬هستم‍‍همانطور که در اینجا نشان داده شده است‪ ،‬در عوض نام کاربری من را برمی گرداندم‬

‫بار >من کی هستم‬


‫‪OTW‬‬

‫پیمایش در سیستم فایل لینوکس‬


‫پیمایش سیستم فایل از ترمینال یک مهارت ضروری لینوکس است‪ .‬برای انجام هر کاری‪ ،‬باید بتوانید‬
‫برای یافتن برنامه‌ها‪ ،‬فایل‌ها و فهرست‌های موجود در فهرست‌های دیگر حرکت کنید‪ .‬در یک سیستم‬
‫مبتنی بر رابط کاربری گرافیکی‪ ،‬می توانید دایرکتوری ها را به صورت بصری ببینید‪ ،‬اما زمانی که از‬
‫دستور استفاده می کنید‬

‫فصل ‪61‬‬
‫رابط خط‪ ،‬ساختار کامالً مبتنی بر متن است و پیمایش در سیستم فایل به معنای استفاده از برخی‬
‫‪.‬دستورات است‬

‫تغییر دایرکتوری ها با سی دی‬


‫برای تغییر دایرکتوری ها از ترمینال‪ ،‬ازدایرکتوری را تغییر دهیدفرمان‪،‬سی دی‪ .‬برای مثال‪ ،‬در اینجا‬
‫‪ configration:‬نحوه تغییر به‪/‬و غیره‍‍دایرکتوری مورد استفاده برای ذخیره فایل های‬

‫بار >سی دی ‪/‬و غیره‬


‫> ‪kali:/etc‬‬

‫و غیره‪ ،‬نشان می دهد که ما در‪/‬و غیره‍‍فهرست راهنما‪ .‬ما‪root@kali:/‬اعالن به تغییر می کند‬


‫‪pwd:‬می توانیم این را با وارد کردن تایید کنیم‬

‫‪kali:/etc >pwd‬‬
‫و غیره‪/‬‬

‫برای باال رفتن یک سطح در ساختار فایل (به سمت ریشه ساختار فایل‪ ،‬یا‪ ،)/‬ما استفاده می‬
‫‪:‬کنیم‍‍سی دی‍‍به دنبال آن دو نقطه (‪ )..‬همانطور که در اینجا نشان داده شده است‬

‫‪ ..‬سی دی> ‪kali:/etc‬‬


‫‪ >pwd‬بار‬
‫‪/‬‬
‫> بار‬

‫این ما را از یک سطح باالتر می برد‪/‬و غیره‍‍به‪/‬دایرکتوری ریشه‪ ،‬اما می توانید هر تعداد که نیاز‬
‫دارید به باال بروید‪ .‬فقط از همان تعداد جفت دو نقطه به تعداد سطوحی که می خواهید جابجا شوید‬
‫‪:‬استفاده کنید‬

‫شما استفاده می کنید‪..‬برای باال رفتن یک سطح•‬


‫شما استفاده می کنید‪../..‬برای باال رفتن دو سطح•‬
‫‪.‬شما استفاده می کنید‪../../..‬برای باال رفتن از سه سطح و غیره•‬

‫بنابراین‪ ،‬برای مثال‪ ،‬برای باال رفتن از دو سطح‪ ،‬وارد شویدسی دی‍‍به دنبال آن دو مجموعه از دو‬
‫‪:‬نقطه با یک اسالید رو به جلو در میان‬

‫‪ ../..‬بار >سی دی‬

‫همچنین می توانید با وارد کردن‪ ،‬از هر جایی به سطح ریشه در ساختار فایل برویدسی دی ‪،/‬‬
‫‪.‬جایی که‪/‬نشان دهنده ریشه سیستم فایل است‬

‫‪ ls‬فهرست کردن محتویات یک دایرکتوری با‬


‫فرمان (فهرست) این‪ls‬برای دیدن محتویات یک دایرکتوری (فایل ها و زیر شاخه ها) می توانیم از‬
‫بسیار شبیه به‍‍شمادستور در ویندوز‬

‫‪ >ls‬بار‬
‫‪bin initrd.img media run var‬‬

‫شروع کار با اصول‪7‬‬


‫‪ initrd.img.old mnt sbin vmlinuz‬بوت‬
‫‪dev lib opt srv vmlinuz.old etc lib64 proc tmp‬‬
‫‪ root usr‬خانه گم شد ‪ +‬پیدا شد‬

‫این دستور هم فایل ها و هم دایرکتوری های موجود در دایرکتوری را فهرست می کند‪ .‬شما‬
‫همچنین می توانید از این دستور در هر دایرکتوری خاصی استفاده کنید‪ ،‬نه فقط دایرکتوری که در حال‬
‫نشان می دهد که چه‪،ls / etc‬حاضر در آن هستید‪ ،‬با فهرست کردن نام دایرکتوری بعد از دستور‪ .‬مثال‬
‫‪.‬چیزی در‪/‬و غیره‍‍فهرست راهنما‬
‫برای دریافت اطالعات بیشتر در مورد فایل ها و دایرکتوری ها‪ ،‬مانند مجوزها‪ ،‬مالک‪ ،‬اندازه و‬
‫ل‍‍مخفف‍‍طوالنی)‪ .‬این اغلب به عنوان نامیده می(‪ls‬سوئیچ بعد از‪-l‬زمان آخرین تغییر آنها‪ ،‬می توانید‬
‫‪:‬شودفهرست طوالنی‪ .‬بیایید آن را در اینجا امتحان کنیم‬

‫‪ >ls -l‬بار‬
‫مجموعا ‪84‬‬
‫‪drw-r--r-- 1 root root 4096 Dec 5 11:15 bin drw-r--r-- 2 root root 4096 Dec 5‬‬
‫ریشه ‪ dev drw-r--r-- 18‬دسامبر ‪11:15 boot drw-r--r-- 3 root root 4096 9 13:10‬‬
‫‪--‬ریشه ‪ 4096‬دسامبر ‪ 13:43 9‬و غیره ‪--‬تکه تکه کردن‬
‫‪ var‬ریشه ریشه ‪ 4096‬دسامبر ‪drw-r--r-- 1 11:15 5‬‬

‫اطالعات بسیار بیشتری را در اختیار ما قرار می دهد‪ ،‬مانند اینکه آیا یک‪،ls -l‬همانطور که می بینید‬
‫شی یک فایل یا دایرکتوری است‪ ،‬تعداد پیوندها‪ ،‬مالک‪ ،‬گروه‪ ،‬اندازه آن‪ ،‬زمان ایجاد یا تغییر آن‪ ،‬و‬
‫‪.‬نام آن‬
‫هر زمان که فهرستی را در لینوکس انجام می‌دهید‪ ،‬تغییر دهید‪ ،‬اما‪-l‬من معموال اضافه می کنم‬
‫‪.‬در فصل ‪ls -l5‬هر کدام برای خودشان‪ .‬در مورد آن بیشتر صحبت خواهیم کرد‬
‫فرمان برای‪ls -l‬یا‪ls‬برخی از فایل‌ها در لینوکس مخفی هستند و با یک فایل ساده آشکار نمی‌شوند‬
‫‪:‬نمایش فایل های مخفی‪ ،‬یک حروف کوچک اضافه کنید‪-‬آسوئیچ‪ ،‬مانند‬

‫او ‪ >ls -‬بار‬

‫هنگام استفاده ‪flag‬باآ‪ls‬اگر فایلی را که انتظار دارید ببینید نمی بینید‪ ،‬ارزش امتحان کردن را دارد‬
‫‪-.‬از چندین پرچم‪ ،‬می توانید آنها را در یکی ترکیب کنید‪ ،‬همانطور که در اینجا انجام داده ایم‪-‬بجای‬

‫کمک گرفتن‬
‫تقریبا ً هر دستور‪ ،‬برنامه یا ابزاری یک فایل راهنمای اختصاصی در لینوکس دارد که راهنمایی‬
‫‪،‬برای استفاده از آن ارائه می‌کند‪ .‬برای مثال‪ ،‬اگر با استفاده از بهترین ابزار کرک بی‌سیم‬
‫فرمان به دنبال‪aircrack-ng‬به کمک نیاز داشتم‪ ،‬می‌توانم به سادگی تایپ کنم ‪aircrack-ng،‬‬
‫‪:‬آن‪--‬کمک‍‍دستور‬

‫کمک ‪ >aircrack-ng --‬بار‬

‫در اینجا به خط تیره دوتایی توجه کنید‪ .‬قرارداد در لینوکس استفاده از دو خط تیره (‪ )--‬قبل از‬
‫‪-h.‬گزینه های کلمه‪ ،‬مانندکمک‍‍و یک خط تیره (‪ )-‬قبل از گزینه های تک حرفی‪ ،‬مانند‬

‫فصل ‪81‬‬
‫هنگامی که این دستور را وارد می کنید‪ ،‬باید توضیحات کوتاهی از ابزار و راهنمایی در مورد‬
‫یا‪-‬؟برای رسیدن‪-h‬نحوه استفاده از آن را مشاهده کنید‪ .‬در برخی موارد‪ ،‬می توانید از هر دو استفاده کنید‬
‫به کمک ‪، nmap،‬به فایل راهنما به عنوان مثال‪ ،‬اگر برای استفاده از بهترین ابزار اسکن پورت هکر‬
‫‪:‬نیاز داشتم‪ ،‬موارد زیر را وارد می‌کردم‬

‫‪ >nmap -h‬بار‬

‫و‪-‬؟‪ ،‬هیچ تضمینی وجود ‪،-h،‬متأسفانه‪ ،‬اگرچه بسیاری از برنامه ها از هر سه گزینه (‪--‬کمک‬
‫ندارد که برنامه ای که از آن استفاده می کنید‪ ،‬خواهد بود‪ .‬بنابراین اگر یک گزینه کار نمی کند‪،‬‬
‫‪.‬گزینه دیگری را امتحان کنید‬

‫ارجاع به صفحات دستی با مرد‬


‫عالوه بر سوئیچ راهنما‪ ،‬اکثر دستورات و برنامه‌ها دارای یک صفحه دستی (مانند) با اطالعات بیشتر‪،‬‬
‫مانند توضیحات و هم‌اندیشی دستور یا برنامه هستند‪ .‬شما می توانید یک صفحه مرد را به سادگی با تایپ‬
‫برای ‪ man‬کردن مشاهده کنیدمردقبل از دستور‪ ،‬ابزار یا برنامه کاربردی‪ .‬برای مشاهده صفحه‬
‫‪:‬به عنوان مثال‪ ،‬باید موارد زیر را وارد کنید ‪aircrack-ng،‬‬

‫‪ aircrack-ng‬بار >مرد‬
‫نام‬
‫‪ WEP / WPA-PSK‬یک کلید کرکر ‪aircrack-ng - 802.11‬‬
‫خالصه‬
‫>‪) .ivs‬فایل(های ‪] <.cap /‬گزینه‌ها[ ‪aircrack-ng‬‬
‫شرح‬
‫برای شکستن کلید است‪ .‬هنگامی که بسته های ‪ WPA/WPA2-PSK‬و ‪ WEP‬یک برنامه ‪aircrack-ng 802.11‬‬
‫را بازیابی کند‪ .‬این قسمت از مجموعه ‪ WEP‬ضبط شدند‪ ،‬می تواند کلید ‪ airodump-ng‬رمزگذاری شده کافی با‬
‫‪ PTW‬را با استفاده از دو روش اساسی تعیین می کند‪ .‬روش اول از طریق رویکرد ‪ WEP‬کلید ‪aircrack-ng‬‬
‫این است که بسته های داده بسیار کمی برای ‪ PTW‬است‪ .‬مزیت اصلی رویکرد )‪(Pyshkin، Tews، Weinmann‬‬
‫حمالت آماری ‪ FMS/KoreK‬است‪ .‬روش ‪ FMS/KoreK‬مورد نیاز است‪ .‬روش دوم روش ‪ WEP‬شکستن کلید‬
‫ترکیب می‌کند و از آنها در ترکیب با اجبار بی‌رحمانه استفاده می‌کند‪ .‬عالوه بر این‪ WEP ،‬مختلفی را برای کشف کلید‬
‫ارائه می دهد‪ .‬برای شکستن کلیدهای از پیش مشترک ‪ WEP‬این برنامه یک روش فرهنگ لغت برای تعیین کلید‬
‫‪.‬استفاده شود ‪ airolib-ng‬یا )‪ stdin‬باید از فهرست کلمات (فایل یا ‪WPA/WPA2،‬‬
‫را باز می کند و اطالعات بیشتری را در اختیار شما قرار می دهد ‪ aircrack-ng‬این کتابچه راهنمای‬
‫اطالعات دقیق ازکمک‍‍صفحه نمایش می توانید با استفاده از این فایل دستی پیمایش کنیدواردکلید‪ ،‬یا می‬
‫وصفحه باالکلیدها به ترتیب؛ شما همچنین می توانید از‪pg dn‬توانید با استفاده از صفحه باال و پایین صفحه‬
‫برای خروج)‪ ،‬و شما به خط(‪q‬کلیدهای جهت دار استفاده کنید‪ .‬برای خروج‪ ،‬به سادگی وارد شوید‬
‫‪.‬فرمان باز خواهید گشت‬

‫پیدا کردن چیزها‬


‫تا زمانی که با لینوکس آشنا نشوید‪ ،‬یافتن راه خود می تواند ناامید کننده باشد‪ ،‬اما آگاهی از چند دستور و‬
‫تکنیک اساسی راه طوالنی را در جهت دوستانه تر کردن خط فرمان کمک می کند‪ .‬دستورات زیر به‬
‫‪.‬شما کمک می کند تا موارد را از ترمینال پیدا کنید‬

‫شروع کار با اصول‪9‬‬


‫جستجو با مکان‬
‫احتماالً ساده ترین دستور برای استفاده این است‍‍پیدا کردن‪ .‬به دنبال یک کلمه کلیدی که نشان می دهد آن‬
‫چیزی که می خواهید پیدا کنید‪ ،‬این دستور از کل سیستم فایل شما عبور می کند و هر اتفاقی از آن کلمه‬
‫‪.‬را پیدا می کند‬
‫‪:‬برای مثال‪ ،‬عبارت زیر را وارد کنید ‪ aircrack-ng،‬برای جستجوی‬

‫‪ aircrack-ng‬بار >پیدا کردن‬


‫‪/usr/bin/aircrack-ng‬‬
‫‪/usr/share/applications/kali-aircrack-ng.desktop‬‬
‫تکه تکه‪/usr/share/desktop-directories/05-1-01-aircrack-ng.directory --‬‬
‫‪--‬کردن‬
‫‪/var/lib/dpkg/info/aircrack-ng.md5sums‬‬

‫راپیدا کردن‍‍با این حال‪ ،‬فرمان کامل نیست‪ .‬گاهی اوقات نتایج‍‍پیدا کردن‍‍می تواند طاقت فرسا باشد و‬
‫اطالعات زیادی به شما بدهد‪ .‬همچنین‪،‬پیدا کردن‍‍از پایگاه داده ای استفاده می کند که معموالً فقط یک بار در‬
‫روز به روز می شود‪ ،‬بنابراین اگر چند دقیقه یا چند ساعت پیش یک فایل ایجاد کرده اید‪ ،‬ممکن است تا‬
‫روز بعد در این لیست ظاهر نشود‪ .‬ارزش دانستن معایب این دستورات اساسی را دارد تا بهتر بتوانید‬
‫‪.‬بهترین زمان استفاده از هر کدام را انتخاب کنید‬

‫‪ Whereis‬یافتن باینری ها با‬


‫اگر به دنبال یک فایل باینری هستید‪ ،‬می توانید از آن استفاده کنیدکجاست‍‍دستور پیدا کردن آن این‬
‫دستور نه تنها مکان باینری‪ ،‬بلکه منبع و صفحه مرد آن را نیز در صورت موجود بودن برمی‬
‫‪:‬گرداند‪ .‬در اینجا یک مثال است‬

‫است ‪ aircrack-ng‬بار >جایی که‬


‫‪aircarck-ng: /usr/bin/aircarck-ng /usr/share/man/man1/aircarck-ng.1.gz‬‬

‫را به جای هر کلمه ای که تکرار ‪ man‬و ‪ aircrack-ng‬در این مورد‪،‬کجاست‍‍فقط صفحه باینری‬
‫خیلی کارآمدتر و روشن تر‪ ،‬فکر نمی کنید؟ ‪aircrack-ng.‬می شود‪ ،‬بازگرداند‬

‫که با آن ‪ PATH‬یافتن باینری ها در متغیر‬


‫راکه‍‍دستور حتی دقیق‌تر است‪ :‬فقط مکان باینری‌ها را برمی‌گرداندمسیرمتغیر در لینوکس ما با دقت‬
‫بیشتری به‍‍مسیرمتغیر در فصل ‪ 7‬است‪ ،‬اما در حال حاضر دانستن آن کافی است‍‍مسیردایرکتوری هایی را‬
‫نگه می دارد که در آنها سیستم عامل به دنبال دستوراتی است که شما در خط فرمان اجرا می کنید‪.‬‬
‫در خط فرمان‪ ،‬سیستم عامل به نظر می رسدمسیرمتغیر برای دیدن‪aircrack-ng‬مثال وقتی وارد می شوم‬
‫‪:‬بگردد ‪ aircrack-ng‬اینکه در کدام دایرکتوری ها باید دنبال‬
‫‪ aircrack-ng‬بار >که‬
‫‪/usr/bin/aircrack-ng‬‬

‫اینجا‪،‬که‍‍توانست یک فایل باینری واحد را در فهرست های فهرست شده در فهرست پیدا‬
‫اما ممکن است شامل ‪/usr/bin،‬کندمسیرمتغیر‪ .‬حداقل‪ ،‬این دایرکتوری ها معموالً شامل می شوند‬
‫و شاید چند نفر دیگر‪/usr/sbin‬شود‬

‫فصل ‪101‬‬
‫‪ find‬انجام جستجوهای قدرتمندتر با‬
‫راپیدا کردن‍‍فرمان قدرتمندترین و منعطف ترین ابزار جستجو است‪ .‬این می تواند جستجوی شما را در هر‬
‫‪.‬دایرکتوری تعیین شده شروع کند و به دنبال تعدادی پارامتر مختلف از جمله فایل باشد‬
‫‪.‬نام و همچنین تاریخ ایجاد یا اصالح‪ ،‬مالک‪ ،‬گروه‪ ،‬مجوزها و اندازه‬
‫‪:‬در اینجا نحو اصلی برای‍‍پیدا کردن‬

‫پیدا کردن‍‍عبارت گزینه های دایرکتوری‬

‫بنابراین‪ ،‬اگر من می خواستم برای یک فایل با نام جستجو کنم‍‍آپاچی ‪(2‬یک وب سرور منبع باز)‬
‫‪:‬که از دایرکتوری ریشه شروع می شود‪ ،‬موارد زیر را وارد می کنم‬

‫❸‪ apache2‬نام‪ f❷-‬بار >پیدا کردن ‪-❶/‬نوع‬

‫در این مورد ابتدا دایرکتوری را که جستجو را در آن شروع می کنم‪ ،‬بیان می کنم‪ .❶/‬سپس‬
‫برای یک فایل معمولی❷‪ .‬در آخر‪ ،‬در‪f‬مشخص می کنم که در این مورد چه نوع فایلی را جستجو کنم‬
‫‪❸.‬این مورد‪ ،‬نام فایل مورد نظرم را می‌دهم‍‍آپاچی ‪2‬‬
‫‪:‬نتایج من برای این جستجو در اینجا نشان داده شده است‬

‫‪ >find / -type f -name apache2‬بار‬


‫‪/usr/lib/apache2/mpm-itk/apache2‬‬
‫‪/usr/lib/apache2/mpm-event/apache2‬‬
‫‪/usr/lib/apache2/mpm-worker/apache2‬‬
‫‪/usr/lib/apache2/mpm-prefork/apache2‬‬
‫‪/etc/cron.daily/apache2‬‬
‫‪/etc/logrotate.d/apache2‬‬
‫‪/etc/init.d/apache2‬‬
‫‪/etc/default/apache2‬‬

‫راپیدا کردن‍‍دستور شروع شده در باالی سیستم فایل (‪ ،)/‬از طریق هر دایرکتوری که به دنبال آن‬
‫‪.‬بودید رفت‍‍آپاچی ‪2‬در نام فایل‪ ،‬و سپس لیست تمام نمونه های یافت شده‬
‫همانطور که ممکن است تصور کنید‪ ،‬جستجویی که در هر دایرکتوری به نظر می رسد می تواند‬
‫کند باشد‪ .‬یکی از راه‌های افزایش سرعت این است که فقط در فهرستی که می‌خواهید فایل(های) مورد‬
‫هستیم‪ ،‬بنابراین ‪ configuration‬نیاز خود را پیدا کنید‪ ،‬جستجو کنید‪ .‬در این مورد‪ ،‬ما به دنبال یک فایل‬
‫می‌توانیم جستجو را در آن شروع کنیم‪/‬و غیره‍‍دایرکتوری‪ ،‬و لینوکس فقط تا زیر شاخه های خود جستجو‬
‫‪:‬می کند‪ .‬بیایید آن را امتحان کنیم‬

‫‪ f -name apache2‬را پیدا کنید ‪-‬نوع ‪ >/etc‬بار‬


‫‪/etc/init.d/apache2‬‬
‫‪/etc/logrotate.d/apache2‬‬
‫‪/etc/cron.daily/apache2‬‬
‫‪/etc/default/apache2‬‬

‫این جستجوی بسیار سریع‌تر تنها مواردی را یافت‍‍آپاچی ‪2‬در‪/‬و غیره‍‍دایرکتوری و زیر شاخه های آن‬
‫همچنین مهم است که توجه داشته باشید که برخالف برخی از دستورات جستجوی دیگر‪،‬پیدا کردن‍‍فقط‬
‫نمایش می دهددقیق‍‍مطابقت نام اگر‬

‫شروع کار با اصول‪11‬‬


‫جستجو خواهد شدنه‍‍یک مسابقه پیدا کنید ما می توانیم ‪apache2.conf،‬فایل‍‍آپاچی ‪2‬دارای پسوند‪ ،‬مانند‬
‫این محدودیت را با استفاده از آن برطرف کنیم‍‍حروف عام‪ ،‬که ما را قادر می سازد چندین کاراکتر را‬
‫‪[].‬مطابقت دهیم‪ .‬وایلدکارت ها به چند شکل مختلف می آیند‪، . *:‬و‬
‫بیایید نگاه کنیم‪/‬و غیره‍‍دایرکتوری برای همه فایل هایی که با آن شروع می شودآپاچی ‪2‬و هر‬
‫‪:‬گونه پسوندی داشته باشد‪ .‬برای این‪ ،‬ما می توانیم بنویسیم‍‍پیدا کردن‍‍دستور با استفاده از حروف عام زیر‬

‫*\‪ /etc -type f -name apache2.‬بار >پیدا کردن‬


‫‪/etc/apache2/apache2.conf‬‬

‫وقتی این دستور را اجرا می کنیم‪ ،‬متوجه می شویم که یک فایل در آن وجود دارد‪/‬و‬
‫غیره‍‍دایرکتوری که مناسب است‍‍آپاچی ‪*.2‬الگو‪ .‬وقتی از یک دوره به دنبال آن استفاده می کنیم*عالمت‬
‫عام‪ ،‬ترمینال هر پسوندی را بعد از نام فایل جستجو می کندآپاچی ‪ .2‬این می تواند یک تکنیک بسیار‬
‫‪.‬مفید برای یافتن فایل هایی باشد که پسوند فایل را نمی دانید‬
‫وقتی این دستور را اجرا می کنم‪ ،‬دو فایل پیدا می کنم که با آن شروع می شودآپاچی ‪2‬در‪/‬و‬
‫‪.‬فایل‪apache2.conf‬غیره‍‍دایرکتوری‪ ،‬از جمله‬

‫‪ WILDCARDS‬نگاهی سریع به‬

‫‪ wildcard‬فرض کنید در حال جستجو در فهرستی هستیم که فایل‌ها را داردگربه‪،‬دارد‪،‬چی‪ ،‬ویکی‪ .‬را?از‬
‫برای نشان دادن یک کاراکتر استفاده می شود‪ ،‬بنابراین جستجو برای?درپیدا خواهد کرددارد‪،‬گربه‪ ،‬ویکی‍‍اما‬
‫برای مطابقت با کاراکترهایی که ‪[]wildcard‬نه‍‍چی‪ ،‬زیرادردر این نام فایل قبل از دو حرف وجود دارد‪ .‬را‬
‫در داخل کروشه ظاهر می شوند استفاده می شود‪ .‬به عنوان مثال‪ ،‬جستجو برای[ج‪ ،‬ب] درمطابقت خواهد‬
‫داشت‍‍گربه‍‍ویکی‍‍اما نه‍‍داردیاچی‪ .‬از جمله پرکاربردترین حروف عام‪ ،‬ستاره (*) که با هر کاراکتر (های) با هر‬
‫طولی‪ ،‬از هیچ تا تعداد نامحدود کاراکتر مطابقت دارد‪ .‬جستجویی برای*دربه عنوان مثال‪ ،‬پیدا خواهد‬
‫‪.‬کردگربه‪،‬دارد‪،‬چی‪ ،‬ویکی‬

‫‪ grep‬فیلتر کردن با‬


‫اغلب هنگام استفاده از خط فرمان‪ ،‬می خواهید کلمه کلیدی خاصی را جستجو کنید‪ .‬برای این کار می‬
‫‪.‬توانید ازگرفتن‍‍دستور به عنوان فیلتر برای جستجوی کلمات کلیدی‬
‫راگرفتن‍‍فرمان اغلب زمانی استفاده می شود که خروجی از یک فرمان به دستور دیگر منتقل شود‪.‬‬
‫من لوله‌کشی را در فصل ‪ 2‬پوشش می‌دهم‪ ،‬اما در حال حاضر‪ ،‬کافی است بگوییم که لینوکس (و ویندوز‬
‫برای آن موضوع) به ما اجازه می‌دهد تاخروجی‍‍از یک دستور و ارسال آن به عنوان‍‍ورودی‍‍به دستور‬
‫دیگری به این می گویندلوله کشی‪ ،‬و ما از|دستور برای انجام آن (کلید | معموال باالی‍‍واردکلید روی صفحه‬
‫‪).‬کلید خود‬
‫دستور برای نمایش اطالعات مربوط به فرآیندهای در حال اجرا در دستگاه استفاده می شود‪ .‬ما این‪ps‬را‬
‫را با جزئیات بیشتری در فصل ‪ 6‬پوشش می دهیم‪ ،‬اما برای این‬

‫فصل ‪121‬‬
‫به عنوان مثال‪ ،‬فرض کنید من می خواهم تمام فرآیندهای در حال اجرا در سیستم لینوکس خود را ببینم‪.‬‬
‫فرآیندها) دستور به دنبال آن‍‍به‍‍سوئیچ می کند تا مشخص کند(‪ps‬در این مورد‪ ،‬من می توانم استفاده کنم‬
‫‪:‬کدام اطالعات فرآیند نمایش داده شود‪ ،‬مانند‬

‫به ‪ >ps‬بار‬
‫این به من فهرستی ازهمه‍‍فرآیندهای در حال اجرا در این سیستم ‪ -‬اما اگر من فقط بخواهم یک‬
‫فرآیند را پیدا کنم تا ببینم در حال اجرا است یا خیر؟ من می توانم این کار را با لوله گذاری خروجی‬
‫در حال ‪ apache2‬به‍‍گرفتن‍‍و جستجوی کلمه کلیدی به عنوان مثال‪ ،‬برای اینکه بفهمم آیا سرویس‪ps‬از‬
‫‪.‬اجرا است یا خیر‪ ،‬باید موارد زیر را وارد کنم‬

‫‪ | grep apache2‬به ‪ >ps‬بار‬


‫‪ ? Ss 10:14 0:00 /usr/sbin/apache2 -k start root 4906 0.0‬ریشه ‪7668 37548 0.7 0.2 4851‬‬
‫‪0.4 37572 4228 ? S 10:14 0:00 /usr/sbin/apache2 -k start root 4910 0.0 0.4 37572 4228‬‬
‫‪--‬تکه تکه کردن‪? Ss 10:14 0:00 /usr/sbin/apache2 -k start --‬‬

‫این دستور به لینوکس می گوید که تمام سرویس های من را نمایش دهد و سپس آن خروجی را به‬
‫آن ارسال کندگرفتن‪ ،‬که از طریق خروجی کلمه کلیدی را بررسی می کندآپاچی ‪2‬و سپس تنها خروجی‬
‫‪.‬مربوطه را نمایش می دهد‪ ،‬بنابراین در زمان قابل توجه و بینایی من صرفه جویی می شود‬

‫اصالح فایل ها و دایرکتوری ها‬


‫هنگامی که فایل ها و دایرکتوری های خود را پیدا کردید‪ ،‬می خواهید بتوانید اقداماتی را روی آنها‬
‫انجام دهید‪ .‬در این بخش به نحوه ایجاد فایل ها و دایرکتوری ها‪ ،‬کپی کردن فایل ها‪ ،‬تغییر نام فایل ها‬
‫‪.‬و حذف فایل ها و دایرکتوری ها می پردازیم‬

‫ایجاد فایل ها‬


‫راه های زیادی برای ایجاد فایل در لینوکس وجود دارد‪ ،‬اما در حال حاضر ما فقط به دو روش ساده‬
‫نگاه می کنیم‪ .‬اولی این است‍‍گربه‍‍که مخفف آن است‍‍به هم پیوستن‪ ،‬به معنای ترکیب قطعات با هم (نه اشاره‬
‫به گربه اهلی مورد عالقه شما)‪ .‬راگربه‍‍دستور عموما ً برای نمایش محتویات یک فایل استفاده می شود‪،‬‬
‫اما می توان از آن برای ایجاد فایل های کوچک نیز استفاده کرد‪ .‬برای ایجاد فایل های بزرگتر‪ ،‬بهتر‬
‫وارد کنید و ‪ kate‬یا ‪ vim، emacs، leafpad، gedit‬است کد را در یک ویرایشگر متنی مانند‬
‫‪.‬سپس آن را به عنوان فایل ذخیره کنید‬

‫الحاق با گربه‬
‫راگربه‍‍دستور به دنبال نام فایل محتویات آن فایل را نمایش می دهد‪ ،‬اما برای ایجاد یک فایل‪ ،‬از دستور‬
‫تغییر مسیر‪ ،‬نشان داده شده با>نماد و یک نام برای فایلی که می‪ a‬زیر پیروی می کنیم‍‍گربه‍‍فرمان با‬
‫‪:‬خواهیم ایجاد کنیم‪ .‬در اینجا یک مثال است‬

‫مهارت های هک کردن > ‪ >cat‬بار‬


‫!هک کردن با ارزش ترین مجموعه مهارت های قرن بیست و یکم است‬

‫شروع کار با اصول‪13‬‬


‫وقتی فشار می دهیدوارد‪ ،‬لینوکس وارد خواهد شدحالت تعاملی‍‍و منتظر بمانید تا محتوای فایل را‬
‫وارد کنید‪ .‬این می تواند گیج کننده باشد زیرا دستور ناپدید می شود‪ ،‬اما اگر به سادگی شروع به تایپ‬
‫کنید‪ ،‬هر چیزی که وارد کنید وارد فایل می شود (در این مورد‪،‬مهارت های هک)‪ .‬اینجا من وارد‬
‫شدم‍‍هک کردن با ارزش ترین مجموعه مهارت های قرن بیست و یکم است!‪ .‬برای خروج و بازگشت به فرمان‪،‬‬
‫دی سپس‪ ،‬وقتی می‌خواهم ببینم چه چیزی در فایل است‍‍مهارت های هک‪ ،‬موارد زیر‪ctrl-‬فشار می دهم‬
‫‪:‬را وارد می کنم‬

‫بار >مهارت های هک گربه‬


‫!هک کردن با ارزش ترین مجموعه مهارت های قرن بیست و یکم است‬

‫‪.‬اگر از نماد تغییر مسیر استفاده نکنید‪ ،‬لینوکس محتویات فایل شما را به عقب می اندازد‬
‫برای اضافه کردن‪ ،‬یاضمیمه‪ ،‬محتوای بیشتری را در یک فایل‪ ،‬می توانید استفاده کنیدگربه‍‍دستور با‬
‫تغییر مسیر دوگانه (>>) و به دنبال آن هر چیزی که می خواهید به انتهای فایل اضافه کنید‪ .‬در اینجا‬
‫‪:‬یک مثال است‬

‫هک مهارت >> ‪ >cat‬بار‬


‫همه باید هک کردن را یاد بگیرند‬

‫لینوکس بار دیگر وارد حالت تعاملی می شود و منتظر می ماند تا محتوا به فایل اضافه شود‪.‬‬
‫من به اعالن بازگردانده شدم‪ctrl-D، .‬وقتی وارد می شوم‍‍همه باید هک کردن را یاد بگیرندو فشار دهید‬
‫حاال وقتی محتویات اون فایل رو باگربه‪ ،‬می بینم که فایل به ضمیمه شده است‍‍همه باید هک کردن را یاد‬
‫‪:‬بگیرند‪ ،‬همانطور که در اینجا نشان داده شده است‬

‫بار >مهارت های هک گربه‬


‫هک کردن با ارزش ترین مجموعه مهارت های قرن بیست و یکم است! همه باید هک کردن را یاد بگیرند‬

‫اگر بخواهم‍‍زیاد نوشتن‍‍فایل با اطالعات جدید‪ ،‬من به سادگی می توانم از آن استفاده کنم‍‍گربه‍‍دستور‬
‫‪:‬با یک تغییر مسیر مجدد به صورت زیر‬

‫مهارت های هک > ‪ >cat‬بار‬


‫همه افراد در امنیت فناوری اطالعات بدون مهارت هک در تاریکی هستندمهارت های هک‬
‫گربه‬
‫همه افراد در امنیت فناوری اطالعات بدون مهارت هک در تاریکی هستند‬

‫همانطور که در اینجا می بینید‪ ،‬لینوکس به حالت تعاملی می رود‪ ،‬و من متن جدید را وارد می کنم‬
‫و سپس به اعالن خارج می شوم‪ .‬هنگامی که من یک بار دیگر استفاده کنیدگربه‍‍برای دیدن محتوای فایل‬
‫‪.‬می بینم که کلمات قبلی من با آخرین متن بازنویسی شده است‬

‫ساخت فایل با لمس‬


‫دستور دوم برای ایجاد فایل است‍‍دست زدن به‪ .‬این دستور در ابتدا توسعه داده شد تا کاربر بتواند به‬
‫سادگی‍‍دست زدن به‍‍یک فایل برای تغییر برخی از جزئیات آن‪ ،‬مانند تاریخ ایجاد یا تغییر آن‪ .‬با این‬
‫‪.‬حال‪ ،‬اگر فایل از قبل وجود نداشته باشد‪ ،‬این دستور آن فایل را به طور پیش فرض ایجاد می کند‬

‫فصل ‪141‬‬
‫‪:‬بیایید ایجاد کنیم‍‍فایل جدیدبادست زدن به‬

‫بار >فایل جدید را لمس کنید‬

‫برای دیدن لیست طوالنی دایرکتوری‪ ،‬می‪ls -l‬در حال حاضر زمانی که من پس از آن استفاده کنید‬
‫بینم که یک فایل جدید به نام ایجاد شده است‍‍فایل جدید‪ .‬توجه داشته باشید که اندازه آن است‪0‬زیرا محتوایی‬
‫‪.‬در آن وجود نداردفایل جدید‬

‫ایجاد دایرکتوری‬
‫انقباض ازساخت دایرکتوری‪ .‬برای ایجاد دایرکتوری ‪mkdir،‬دستور ایجاد دایرکتوری در لینوکس است‬
‫‪:‬با نام‍‍دایرکتوری جدید‪ ،‬دستور زیر را وارد کنید‬

‫‪ >mkdir newdirectory‬بار‬

‫برای رفتن به این دایرکتوری که به تازگی ایجاد شده است‪ ،‬به سادگی این را وارد‬
‫‪ >cd newdirectory‬کنید‪:‬بار‬

‫کپی کردن یک فایل‬


‫فرمان با این کار یک فایل تکراری در مکان جدید ایجاد می شود و فایل قبلی در‪cp‬برای کپی فایل ها از‬
‫‪.‬جای خود باقی می ماند‬
‫در اینجا‪ ،‬ما فایل را ایجاد می کنیم‍‍فایل قدیمی‍‍در دایرکتوری ریشه بادست زدن به‍‍و آن را در آن‬
‫در این فرآیند نام آن را تغییر داده و اصلی را ترک کنیدفایل ‪/root/newdirectory،‬کپی کنید‬
‫‪:‬قدیمی‍‍درجا‬

‫بار >فایل قدیمی را لمس کنید‬


‫‪ >cp oldfile /root/newdirectory/newfile‬بار‬

‫تغییر نام فایل اختیاری است و به سادگی با افزودن نامی که می خواهید به آن در انتهای مسیر‬
‫دایرکتوری بدهید انجام می شود‪ .‬اگر هنگام کپی کردن فایل‪ ،‬نام آن را تغییر ندهید‪ ،‬فایل به طور پیش‬
‫‪.‬فرض نام اصلی را حفظ می کند‬
‫زمانی که ما سپس به‍‍دایرکتوری جدید‪ ،‬می بینیم که یک کپی دقیق از وجود داردفایل‬
‫‪:‬قدیمی‍‍تماس گرفت‍‍فایل جدید‬

‫‪ >cd newdirectory‬بار‬
‫‪ >ls‬بار‬

‫‪newfile oldfile‬‬

‫تغییر نام یک فایل‬


‫متأسفانه‪ ،‬لینوکس مانند ویندوز و برخی از سیستم عامل های دیگر‪ ،‬دستوری برای تغییر نام فایل ندارد‪،‬‬
‫‪.‬حرکت) فرمان(‪.mv‬اما این دستور را دارد‬

‫شروع کار با اصول‪15‬‬


‫دستور را می توان برای انتقال یک فایل یا دایرکتوری به یک مکان جدید یا به سادگی‪mv‬را‬
‫شما ‪newfile2،‬برای دادن یک نام جدید به یک فایل موجود استفاده کرد‪ .‬برای تغییر نام‍‍فایل جدیدبه‬
‫‪:‬باید موارد زیر را وارد کنید‬

‫‪ >mv newfile newfile2‬بار‬


‫‪ >ls‬بار‬
‫‪ newfile2‬فایل قدیمی‬

‫اما نه‍‍فایل جدید‪ ،‬زیرا نام‪newfile2‬آن دایرکتوری را می بینید )‪ (ls‬حاال وقتی لیست می کنید‬
‫‪.‬آن تغییر کرده است‪ .‬شما می توانید همین کار را با دایرکتوری ها انجام دهید‬

‫حذف یک فایل‬
‫دستور‪ ،‬مانند این‪:‬بار‪rm‬برای حذف یک فایل‪ ،‬به سادگی می توانید از آن استفاده کنید‬

‫‪>rm newfile2‬‬

‫اگر اکنون فهرست طوالنی را در دایرکتوری انجام می دهید‪ ،‬می توانید تأیید کنید که فایل حذف‬
‫‪.‬شده است‬
‫حذف یک دایرکتوری‬
‫دستور حذف فایل ها اما باشما(برای فهرست) پیوست‪rm‬دستور حذف دایرکتوری مشابه دستور است‬
‫‪:‬شده است‪ ،‬مانند‬

‫‪ rmdir‬بار >دایرکتوری جدید‬


‫دایرکتوری خالی نیست ‪rmdir:failed to remove 'newdirectory':‬‬

‫است‍‍دایرکتوری خالی را حذف نمی کند‪ ،‬اما به شما پیام هشداری ‪rm‬توجه به این نکته ضروری است‬
‫مبنی بر اینکه "دایرکتوری خالی نیست" می دهد‪ ،‬همانطور که در این مثال می بینید‪ .‬ابتدا باید تمام‬
‫محتویات دایرکتوری را قبل از حذف آن حذف کنید‪ .‬این برای جلوگیری از حذف تصادفی اشیایی است که‬
‫‪.‬قصد حذف آنها را نداشتید‬
‫اگر می خواهید یک دایرکتوری و محتوای آن را یکجا حذف کنید‪ ،‬می توانید از آن استفاده‬
‫‪:‬مانند ‪rm،‬سوئیچ بعد از‪-r‬کنید‬

‫‪ rm -r‬بار >دایرکتوری جدید‬

‫حداقل در ابتدا‪ ،‬زیرا حذف ‪rm،‬گزینه با‪-r‬با این حال‪ ،‬فقط یک کلمه احتیاط‪ :‬مراقب استفاده از آن باشید‬
‫به عنوان مثال‪ ،‬در‪rm -r‬اشتباهی فایل ها و دایرکتوری های ارزشمند بسیار آسان است‪ .‬استفاده كردن‬
‫فهرست اصلی شما‪ ،‬همه فایل ها و دایرکتوری های موجود در آن را حذف می کند ‪ -‬احتماالً آن چیزی‬
‫‪.‬نیست که شما قصد دارید‬

‫فصل ‪161‬‬
‫!برو بازی کن‬
‫اکنون که چند مهارت اولیه برای پیمایش در سیستم فایل دارید‪ ،‬می توانید قبل از پیشرفت کمی با سیستم‬
‫لینوکس خود بازی کنید‪ .‬بهترین راه برای راحت شدن با استفاده از ترمینال این است که همین االن‬
‫مهارت های تازه یافته خود را امتحان کنید‪ .‬در فصل‌های بعدی‪ ،‬ما دورتر و عمیق‌تر در زمین بازی‬
‫‪.‬هکر خود کاوش خواهیم کرد‬

‫تمرینات‬

‫قبل از اینکه به فصل ‪ 2‬بروید‪ ،‬مهارت هایی را که از این فصل آموخته اید با انجام تمرین های زیر امتحان‬
‫‪:‬کنید‬

‫دستور از ریشه (‪ )/‬دایرکتوری برای کاوش دایرکتوری‪ls‬استفاده کنید ‪1.‬‬


‫ساختار لینوکس حرکت به هر یک از دایرکتوری ها باسی دی‍‍فرمان‬
‫‪.‬برای بررسی اینکه کجا در ساختار دایرکتوری هستید‪pwd‬و اجرا‬
‫‪.‬ازمن کی هستم‍‍فرمان برای بررسی اینکه به عنوان کدام کاربری وارد شده اید ‪2.‬‬
‫‪.‬ازپیدا کردن‍‍دستور پیدا کردن لیست های کلماتی که می توانند برای شکستن رمز عبور استفاده شوند ‪3.‬‬
‫‪.‬ازگربه‍‍دستور ایجاد یک فایل جدید و سپس اضافه کردن به آن فایل ‪4.‬‬
‫‪.‬به خاطر داشته باشید که>ورودی را به یک فایل هدایت می کند و>>به یک فایل اضافه می شود‬
‫یک دایرکتوری جدید به نام ایجاد کنیددایرکتوری هکرو یک فایل جدید ایجاد کنید ‪5.‬‬
‫آن دایرکتوری نامگذاری شده است‍‍فایل هک شده‪ .‬حاال آن فایل را در خود کپی کنید‪/‬ریشه‍‍فهرست راهنما‬
‫‪.‬و نام آن را تغییر دهیدفایل مخفی‬

‫شروع کار با اصول‪17‬‬

‫‪2‬‬
‫‪TEX T MANIPUL ATION‬‬

‫در لینوکس‪ ،‬تقریبا ً هر چیزی که مستقیما ً با آن سروکار دارید‪،‬‬


‫یک فایل است و اغلب اینها فایل‌های متنی هستند‪ .‬به عنوان‬
‫مثال‪ ،‬تمام فایل های پیکربندی در لینوکس فایل های متنی‬
‫هستند‪ .‬بنابراین برای پیکربندی مجدد‬
‫یک برنامه‪ ،‬شما به سادگی فایل پیکربندی را باز می کنید‪ ،‬متن را‬
‫تغییر می دهید‪ ،‬فایل را ذخیره می کنید‪ ،‬و سپس برنامه را مجددا راه‬
‫‪.‬اندازی می کنید — پیکربندی مجدد شما کامل شده است‬
‫با تعداد زیادی فایل متنی‪ ،‬دستکاری متن در مدیریت برنامه های لینوکس و لینوکس بسیار مهم‬
‫می شود‪ .‬در این فصل‪ ،‬از چندین دستور و تکنیک برای دستکاری متن در لینوکس استفاده خواهید‬
‫‪.‬کرد‬
‫‪ (NIDS)، Snort‬برای اهداف توضیحی‪ ،‬از فایل‌های بهترین سیستم تشخیص نفوذ شبکه‬
‫‪.‬توسعه داده شد و اکنون متعلق به سیسکو است ‪ Marty Roesch‬استفاده می‌کنم که ابتدا توسط‬
‫ها معموالً برای تشخیص نفوذ هکرها استفاده می شوند‪ ،‬بنابراین اگر می خواهید یک هکر ‪NIDS‬‬
‫ها می توانند از حمالت جلوگیری کنند و روش هایی که ‪ NIDS‬موفق باشید‪ ،‬باید با روش هایی که‬
‫‪.‬می توانید از آنها سوء استفاده کنید برای جلوگیری از شناسایی آشنا باشید‬
‫از پیش نصب نشده است‪ ،‬می‌توانید با وارد ‪ Snort‬توجه داشته باشیداگر نسخه کالی لینوکس مورد استفاده شما با‬
‫‪.apt-get install snort.‬کردن فایل‌ها را از مخزن کالی دانلود کنید‬

‫مشاهده فایل ها‬


‫همانطور که در فصل ‪ 1‬نشان داده شد‪ ،‬احتماالً ابتدایی ترین دستور نمایش متن است‍‍گربه‪ ،‬اما‬
‫موجود )‪.conf‬خروپف( ‪ Snort‬محدودیت هایی دارد‪ .‬استفاده کنیدگربه‍‍برای نمایش فایل پیکربندی‬
‫‪).‬لیست ‪ 1-2‬را ببینید(‪/etc/snort‬در‬

‫‪ >cat /etc/snort/snort.conf‬بار‬

‫در پنجره ترمینال‪.conf‬لیست ‪ :1-2‬نمایش داده می شودخروپف‬

‫فایلی که تا انتهای فایل پخش می شود و باید‪.conf‬اکنون صفحه شما باید کل را نشان دهدخروپف‬
‫چیزی شبیه به کد زیر باشد‪ .‬این راحت ترین یا کاربردی ترین راه برای مشاهده و کار با این فایل‬
‫‪.‬نیست‬

‫‪#-----------------------------------------------‬‬
‫‪ VRT Snort.conf‬بسته های قانون ‪#‬‬
‫‪#‬‬
‫‪:‬برای اطالعات بیشتر به ما مراجعه کنید ‪#‬‬
‫‪--‬تکه تکه کردن‪ Snort --‬وب سایت ‪# HYPERLINK "http://www.snort.org/" http://www.snort.org‬‬
‫‪...‬دستورات آستانه یا سرکوب رویداد ‪#‬‬
‫> بار‬

‫که دو روش برای نمایش تنها ‪ com‬در دو بخش بعدی به شما نشان خواهم دادسرودم‍‍دستورات‬
‫‪.‬بخشی از محتوای یک فایل به منظور مشاهده آسانتر محتوای کلیدی هستند‬

‫پیدا کردن سر‬


‫به ‪ com‬اگر فقط می خواهید ابتدای یک فایل را مشاهده کنید‪ ،‬می توانید از آن استفاده کنیدسردستور‬
‫طور پیش فرض‪ ،‬این دستور ‪ 10‬خط اول یک فایل را نمایش می دهد‪ .‬برای مثال دستور زیر ‪10‬‬
‫‪.conf:‬خط اول را به شما نشان می دهدخروپف‬

‫‪ >head /etc/snort/snort.conf‬بار‬
‫‪#-----------------------------------------------‬‬
‫‪ VRT Snort.conf‬بسته های قانون ‪#‬‬
‫‪#‬‬
‫‪:‬برای اطالعات بیشتر به ما مراجعه کنید ‪#‬‬
‫‪--‬تکه تکه کردن‪--‬‬
‫‪:[email protected]‬اشکاالت خروپف ‪#‬‬

‫اگر می خواهید بیشتر یا کمتر از ‪ 10‬خط پیش فرض ببینید‪ ،‬مقدار مورد نظر خود را با خط تیره‬
‫وارد کنید (‪ )-‬بعد از تماس به تغییر دهیدسرو قبل از نام فایل به عنوان مثال‪ ،‬اگر می خواهید ‪ 20‬خط‬
‫‪.‬اول فایل را ببینید‪ ،‬دستور نشان داده شده در باالی لیست ‪ 2-2‬را وارد کنید‬

‫فصل ‪202‬‬
‫‪ >head -20 /etc/snort/snort.conf‬بار‬

‫‪#-----------------------------------------------‬‬
‫‪ VRT Snort.conf‬بسته های قانون ‪#‬‬
‫‪#‬‬
‫‪:‬برای اطالعات بیشتر به ما مراجعه کنید ‪#‬‬
‫‪--‬تکه تکه کردن‪--‬‬

‫‪: --enable-gre --enable-mpls --enable-targetbased --enable-ppm‬گزینه ها ‪#‬‬


‫‪--enable-perfprofiling enable-zlib --enable-act live-response‬‬
‫‪--enable-normalizer --enable-reload - -enable-react‬‬

‫در پنجره ترمینال‪.conf‬لیست ‪ :2-2‬نمایش ‪ 20‬خط اول‍‍خروپف‬

‫در پنجره ترمینال شما نمایش داده می‪.conf‬شما باید فقط ‪ 20‬خط اول را ببینیدخروپف‬
‫‪.‬شود‬

‫پیدا کردن دم‬


‫رادم‍‍دستور مشابه است‍‍سردستور‪ ،‬اما برای مشاهده آخرین خطوط یک فایل استفاده می شود‪ .‬از آن استفاده‬
‫‪.conf:‬کنیم‍‍خروپف‬

‫‪ >tail /etc/snort/snort.conf‬بار‬
‫‪#include $SO_RULE_PATH/smtp.rules‬‬
‫‪#include $SO_RULE_PATH/specific-threats.rules‬‬
‫‪#include $SO_RULE_PATH/web-activex.rules‬‬
‫‪#include $SO_RULE_PATH/web-client.rules‬‬
‫‪#include $SO_RULE_PATH/web-iis.rules‬‬
‫‪#include $SO_RULE_PATH/web-miscp.rules‬‬

‫مراجعه کنید ‪ threshold.conf‬دستورات آستانه و سرکوب رویداد‪ .‬به‬

‫توجه داشته باشید که این دستور تعدادی از آخرین ها را نمایش می دهدعبارتند ازخطوط‬
‫ازقوانین‍‍فایل ها‪ ،‬اما نه همه آنها‪ ،‬زیرا شبیه به‍‍سر‪ ،‬پیش فرض برای‍‍دم‍‍برای نشان دادن ‪ 10‬خط است‪ .‬با‬
‫همانطور که باسرفرمان‪.conf. ،‬گرفتن ‪ 20‬خط آخر می توانید خطوط بیشتری را نمایش دهیدخروپف‬
‫می توانید بگوییددم‍‍چند خط با وارد کردن خط تیره نمایش داده شود (‪ )-‬و سپس تعداد خطوط بین دستور‬
‫‪.‬و نام فایل‪ ،‬همانطور که در لیست ‪ 3-2‬نشان داده شده است‬

‫‪ >tail -20 /etc/snort/snort.conf‬بار‬


‫‪#include $SO_RULE_PATH/chat.rules‬‬
‫‪#include $SO_RULE_PATH/dos.rules‬‬
‫‪#include $SO_RULE_PATH/exploit.rules‬‬
‫‪--‬تکه تکه کردن‪--‬‬
‫مراجعه کنید ‪ theshold.conf‬دستورات آستانه یا سرکوب رویداد‪ .‬به‬

‫در پنجره ترمینال‪.conf‬لیست ‪ :3-2‬نمایش ‪ 20‬خط آخرخروپف‬

‫اکنون می توانیم تقریبا ً همه موارد را مشاهده کنیم‍‍عبارتند ازخطوط ازقوانین‍‍فایل ها روی یک‬
‫صفحه نمایش‬

‫دستکاری متن‪21‬‬
‫شماره گذاری خطوط‬
‫گاهی اوقات ‪ -‬به خصوص با فایل های بسیار طوالنی ‪ -‬ممکن است بخواهیم فایل شماره خطوط را‬
‫بیش از ‪ 600‬خط دارد‪ ،‬شماره خطوط در اینجا مفید خواهد بود‪.conf.‬نمایش دهد‪ .‬از آنجا که‍‍خروپف‬
‫‪.‬این امر ارجاع به تغییرات و بازگشت به همان مکان درون فایل را آسان تر می کند‬
‫خطوط اعداد) فرمان(‪nl‬برای نمایش یک فایل با شماره خطوط‪ ،‬از عبارت استفاده می کنیم‬
‫‪.‬فرمان‪ .‬به سادگی دستور نشان داده شده در لیست ‪ 4-2‬را وارد کنید‬

‫‪ >nl /etc/snort/snort.conf‬بار‬
‫‪612 ###############################################‬‬
‫قوانین کتابخانه پویا‪################ 613 #‬‬
‫‪614 #include $SO_RULE_PATH/bad-traffic.rules‬‬
‫‪615 #include $SO_RULE_PATH/chat.rules‬‬
‫‪--‬تکه تکه کردن‪--‬‬
‫‪630 #include $SO_RULE_PATH/web-iis.rules‬‬
‫‪631 #include $SO_RULE_PATH/web-misc.rules‬‬
‫مراجعه کنید ‪ threshold.conf‬آستانه یا سرکوب رویداد‪ .‬به‪632 #‬‬
‫‪ threshold.conf‬شامل ‪633‬‬

‫لیست ‪ :4-2‬نمایش شماره خطوط در خروجی ترمینال‬

‫اکنون هر خط دارای یک عدد است که ارجاع دادن به آن را بسیار آسان‌تر می‌کند‪ .‬توجه داشته‬
‫‪.‬باشید که این دستور از شماره گذاری خطوط خالی صرف نظر می کند‬

‫‪ grep‬فیلتر کردن متن با‬


‫دستورگرفتن‍‍احتماالً پرکاربردترین دستور دستکاری متن است‪ .‬به شما امکان می دهد محتوای یک فایل‬
‫را برای نمایش فیلتر کنید‪ .‬به عنوان مثال‪ ،‬اگر می خواهید تمام خطوطی را که شامل کلمه هستند‪،‬‬
‫فایل‪ ،‬می توانید استفاده کنیدگربه‍‍و از آن بخواهید که فقط آن خطوط را‪.conf‬ببینیدخروجی‍‍در شماخروپف‬
‫‪).‬نمایش دهد (به فهرست ‪ 5-2‬مراجعه کنید‬

‫‪ grep‬خروجی | ‪ >cat /etc/snort/snort.conf‬بار‬


‫پالگین های خروجی را پیکربندی کنید )‪# 6‬‬
‫مرحله ‪ :6#‬پالگین های خروجی را پیکربندی کنید ‪#‬‬
‫‪، nostamp، mpls_event_types،‬محدودیت ‪ merged.log، 128‬نام فایل ‪ unified2:‬خروجی ‪#‬‬
‫‪vlan_event_types‬‬
‫‪ merged.log، limit 128، nostamp، mpls_event_types،‬نام فایل ‪ unified2:‬خروجی‬
‫‪vlan_event_types‬‬
‫‪ merged.log، limit 128، nostamp‬نام فایل ‪# output alert_unified2:‬‬
‫‪، nostamp‬محدودیت ‪ merged.log، 128‬نام فایل ‪ log_unified2:‬خروجی ‪#‬‬
‫‪ alert_syslog: LOG_AUTH LOG_ALERT‬خروجی ‪#‬‬
‫‪ log_tcpdump: tcpdump.log‬خروجی ‪#‬‬

‫‪ grep‬لیست ‪ :5-2‬نمایش خطوط با نمونه هایی از کلمه کلیدی یا عبارت مشخص شده توسط‬
‫و سپس از یک لوله (|) برای ارسال آن به‍‍گرفتن‪ ،‬که‪.conf‬این دستور ابتدا مشاهده خواهد شدخروپف‬
‫فایل را به عنوان ورودی می گیرد‪ ،‬به دنبال خطوطی با وقوع کلمه بگردیدخروجی‍‍و فقط آن خطوط را‬
‫یک دستور بسیار قدرتمند و ضروری برای کار در لینوکس است‪command ،‬نمایش دهید‪ .‬راگرفتن‬
‫‪.‬زیرا می تواند ساعت ها در جستجوی هر کلمه یا دستوری در یک فایل صرفه جویی کند‬

‫فصل ‪222‬‬
‫‪ head‬و ‪ grep، nl، tail‬چالش هکر‪ :‬استفاده از‬
‫فرض کنید می خواهید پنج خط را بالفاصله قبل از خطی که می گوید نمایش دهید‪ #‬مرحله ‪ :6#‬پالگین های‬
‫خروجی را پیکربندی کنیدبا استفاده از حداقل چهار دستوری که به تازگی یاد گرفته اید‪ .‬چگونه آن را انجام‬
‫می دهید؟ (نکته‪ :‬گزینه های بسیار بیشتری برای این دستورات نسبت به مواردی که در مورد آن‬
‫صحبت کردیم وجود دارد‪ .‬می توانید با استفاده از دستور داخلی لینوکس دستورات بیشتری را‬
‫)‪.‬بیاموزید‪.‬مرد‪ .‬مثال‪،‬دم مردفایل راهنما را برای‍‍دم‍‍فرمان‬
‫راه های زیادی برای حل این چالش وجود دارد‪ .‬در اینجا‪ ،‬من به شما نشان می دهم که کدام‬
‫خطوط را تغییر دهید تا این کار را به یک روش انجام دهید‪ ،‬و وظیفه شما یافتن روش دیگری‬
‫‪.‬است‬

‫مرحله ‪1‬‬

‫‪ grep‬خروجی | ‪ >nl /etc/snort/snort.conf‬بار‬


‫پالگین های خروجی را پیکربندی کنید )‪34 # 6‬‬
‫مرحله ‪ :6‬پالگین های خروجی را پیکربندی کنید ‪512 #‬‬
‫‪ merged.log، limit 128، nostamp،‬نام فایل ‪ unified2:‬خروجی ‪518 #‬‬
‫‪mpls_event_types، vlan_event_types‬‬
‫‪ snort.log، limit 128، nostamp، mpls_event_types،‬نام فایل ‪ unified2:‬خروجی ‪520 #‬‬
‫‪vlan_event_types‬‬
‫‪521 # output alert_unified2: filename snort.alert, limit 128, nostamp 522 # output‬‬
‫‪log_unified2: filename snort.log, limit 128, nostamp 525 # output alert_syslog:‬‬
‫‪LOG_AUTH LOG_ALERT‬‬
‫‪ log_tcpdump: tcpdump.log‬خروجی ‪528 #‬‬

‫فایل به روز می شود‪.conf‬توجه داشته باشیدممکن است شماره خطوط شما کمی متفاوت باشدخروپف‬

‫ما می توانیم آن خط را ببینیم‪ #‬مرحله ‪ :6#‬پالگین های خروجی را پیکربندی کنیدخط ‪ 512‬است‪ ،‬و می‬
‫دانیم که پنج خط قبل از خط ‪ 512‬و همچنین خود خط ‪( 512‬یعنی خطوط ‪ 507‬تا ‪ )512‬را می‬
‫‪.‬خواهیم‬

‫گام ‪2‬‬

‫‪ >tail -n+507 /etc/snort/snort.conf | head -n 6‬بار‬


‫\ ‪،‬داخلی ‪nested_ip‬‬
‫\ ‪ $WHITE_LIST_PATH/white_list.rules،‬لیست سفید‬
‫‪ $BLACK_LIST_PATH/black_list.rules‬لیست سیاه‬

‫‪############################################### #‬‬
‫مرحله ‪ :6#‬پالگین های خروجی را پیکربندی کنید ‪#‬‬

‫در اینجا‪ ،‬ما استفاده می کنیم‍‍دم‍‍برای شروع از خط ‪ 507‬و سپس خروجی به‍‍سر‪ ،‬و فقط شش خط‬
‫‪.‬باال را برمی گردانیم و پنج خط قبل را به ما می دهیم‍‍مرحله شماره ‪6‬خط‪ ،‬با آن خط گنجانده شده است‬

‫برای یافتن و جایگزینی ‪ sed‬استفاده از‬


‫راولی‍‍دستور به شما امکان می‌دهد تا وقوع یک کلمه یا یک الگوی متن را جستجو کنید و سپس‬
‫اقداماتی را روی آن انجام دهید‪ .‬نام دستور‬

‫دستکاری متن‪23‬‬
‫در ‪ Find and Replace‬انقباض است‍‍ویرایشگر جریان‪ .‬در ابتدایی ترین شکل خود‪،‬ولی‍‍مانند تابع‬
‫‪.‬ویندوز عمل می کند‬
‫‪:‬فایل با استفاده ازگرفتن‪ ،‬مانند‪.conf‬درخروپف‪mysql‬کلمه را جستجو کنید‬

‫‪ >cat /etc/snort/snort.conf | grep mysql‬بار‬


‫‪ $RULE_PATH/mysql.rules‬شامل‬
‫‪#include $RULE_PATH/server-mysql.rules‬‬

‫بیایید بگوییم می خواهیدولی‍‍برای جایگزینی هر ‪mysql.‬باید ببینید که‍‍گرفتن‍‍فرمان دو مورد از‬


‫به یاد داشته باشید‪ ،‬اکثر لینوکس ها به حروف کوچک و بزرگ حساس(‪MySQL‬با‪mysql‬اتفاقی از‬
‫می توانید این کار را با وارد کردن ‪snort2.conf.‬هستند) و سپس فایل جدید را در آن ذخیره کنید‬
‫‪.‬دستور نشان داده شده در لیست ‪ 6-2‬انجام دهید‬

‫‪ >sed s/mysql/MySQL/g /etc/snort/snort.conf > snort2.conf‬بار‬

‫برای یافتن و جایگزینی کلمات یا عبارات کلیدی ‪ sed‬فهرست ‪ :6-2‬استفاده از‬

‫و سپس )‪ (mysql‬راس‍‍دستور جایگزینی را انجام می دهد‪ :‬ابتدا عبارتی را که جستجو می کنید‬


‫که با یک اسلش از هم جدا شده اند (‪ (MySQL) .)/‬عبارتی که می خواهید آن را جایگزین کنید‬
‫به لینوکس می‌گوید که می‌خواهید جایگزینی در سطح جهانی انجام شود‪ .‬سپس نتیجه در فایل ‪gflag‬را‬
‫‪snort2.conf.‬جدیدی به نام ذخیره می شود‬
‫خواهید دید که هیچ ‪mysql،‬برای جستجو‪snort2.conf‬حاال وقتی استفاده می کنیدگرفتن‍‍با‬
‫دو مورد را مشاهده خواهید ‪MySQL،‬نمونه ای پیدا نشد‪ ،‬اما زمانی که آن را جستجو می کنید‬
‫‪.‬کرد‬

‫‪ snort2.conf | grep MySQL‬بار >گربه‬


‫‪ $RULE_PATH/MySQL.rules‬شامل‬
‫‪#include $RULE_PATH/server-MySQL.rules‬‬

‫شما دنباله رو کنار می ‪mysql،‬اگر می‌خواهید فقط اولین اتفاق این اصطالح را جایگزین کنید‬
‫‪.‬گزینه‪g‬گذارید‬

‫‪ >sed s/mysql/MySQL/ snort.conf > snort2.conf‬بار‬

‫شما همچنین می توانید استفاده کنیدولی‍‍دستور پیدا کردن و جایگزین کردن هر کدام‍‍خاص‍‍به جای همه‬
‫رخدادها یا فقط اولین اتفاق‪ ،‬تکرار یک کلمه رخ می دهد‪ .‬به عنوان مثال‪ ،‬اگر می‌خواهید فقط کلمه دوم‬
‫‪:‬به سادگی شماره وقوع (در این مورد‪ )2 ،‬را در انتهای دستور قرار دهید ‪mysql،‬را جایگزین کنید‬

‫‪ >sed s/mysql/MySQL/2 snort.conf > snort2.conf‬بار‬

‫‪mysql.‬این دستور تنها روی وقوع دوم تأثیر می گذارد‬

‫فصل ‪242‬‬
‫مشاهده فایل ها با کمتر و بیشتر‬
‫با اينكه‍‍گربه‍‍یک ابزار خوب برای نمایش فایل ها و ایجاد فایل های کوچک است‪ ،‬مطمئنا در نمایش فایل‬
‫فایل در هر صفحه پیمایش ‪.conf،‬های حجیم محدودیت هایی دارد‪ .‬وقتی استفاده می کنیدگربه‍‍باخروپف‬
‫‪.‬می کند تا به آخر برسد که اگر بخواهید اطالعاتی از آن جمع آوری کنید چندان کاربردی نیست‬
‫‪.‬برای کار با فایل های بزرگتر‪ ،‬ما دو ابزار مشاهده دیگر داریم‪:‬بیشتروکمتر‬

‫کنترل صفحه نمایش با موارد بیشتر‬


‫رابیشتردستور یک صفحه از یک فایل را در یک زمان نمایش می دهد و به شما امکان می دهد با استفاده‬
‫‪.‬بابیشتردستور‪ ،‬همانطور که در فهرست ‪ 7-2‬نشان داده شده است‪.conf‬ازواردکلید باز کن‍‍خروپف‬

‫‪ /etc/snort/snort.conf‬بار >بیشتر‬
‫‪--‬تکه تکه کردن‪--‬‬
‫‪ Snort:‬گزینه های ساخت ‪#‬‬
‫‪: --enable-gre --enable-mpls --enable-targetbased‬گزینه ها ‪#‬‬
‫‪--enable-ppm --enable-perfprofiling enable-zlib --enable-active‬‬
‫‪-response -enable-normalizer -enable-reload -enable-react‬‬
‫‪--enable-flexresp3‬‬
‫‪#‬‬
‫)‪%‬بیشتر‪--2(--‬‬

‫فهرست ‪ :7-2‬استفاده از موارد بیشتر برای نمایش خروجی ترمینال یک صفحه در یک زمان‬

‫توجه کنید که‍‍بیشترفقط صفحه اول را نمایش می دهد و سپس متوقف می شود و در گوشه پایین سمت چپ‬
‫به ما می گوید چه مقدار از فایل نشان داده شده است (در این مورد ‪ 2‬درصد)‪ .‬برای دیدن خطوط یا‬
‫‪).‬برای‍‍ترک کردن(‪q‬صفحات اضافی‪ ،‬را فشار دهیدوارد‪ .‬خارج شدن‍‍بیشتر‪ ،‬وارد‬

‫نمایش و فیلتر کردن با کمتر‬


‫راکمتردستور بسیار شبیه است‍‍بیشتر‪ ،‬اما با عملکردهای اضافی ‪ -‬از این رو‪ ،‬کنایه رایج طرفداران لینوکس‪،‬‬
‫"کمتر‪ ،‬بیشتر است‪ ".‬باکمتر‪ ،‬شما نه تنها می توانید در اوقات فراغت خود در یک فایل پیمایش کنید‪ ،‬بلکه‬
‫‪.‬باکمتر‪.conf‬می توانید آن را برای شرایط فیلتر کنید‪ .‬همانطور که در فهرست ‪ ،8-2‬باز کنیدخروپف‬

‫‪ /etc/snort/snort.conf‬بار >کمتر‬
‫‪--‬تکه تکه کردن‪--‬‬
‫‪ Snort:‬گزینه های ساخت ‪#‬‬
‫‪: --enable-gre --enable-mpls --enable-targetbased‬گزینه ها ‪#‬‬
‫‪--enable-ppm --enable-perfprofiling enable-zlib --enable-active‬‬
‫‪-response -enable-normalizer -enable-reload -enable-react‬‬
‫‪/etc/snort/snort.conf‬‬

‫فهرست ‪ :8-2‬استفاده از مقدار کمتر برای نمایش خروجی ترمینال در یک صفحه و فیلتر کردن نتایج‬

‫دستکاری متن‪25‬‬
‫در سمت چپ پایین صفحه توجه کنید که‍‍کمترمسیر فایل را هایالیت کرده است‪ .‬اگر اسلش رو به‬
‫جلو را فشار دهید (‪ )/‬کلید‪،‬کمتربه شما امکان می دهد عبارات موجود در فایل را جستجو کنید‪ .‬به‬
‫را راه اندازی می کنید‪ ،‬باید تعیین کنید که چگونه و ‪ Snort‬عنوان مثال‪ ،‬هنگامی که برای اولین بار‬
‫کجا می خواهید خروجی هشدار نفوذ خود را ارسال کنید‪ .‬برای یافتن آن بخش از فایل پیکربندی‪،‬‬
‫‪:‬می‌توانید به سادگی آن را جستجو کنیدخروجی‪ ،‬مانند‬
‫‪ Snort:‬گزینه های ساخت ‪#‬‬
‫‪: --enable-gre --enable-mpls --enable-targetbased‬گزینه ها ‪#‬‬
‫‪--enable-ppm --enable-perfprofiling enable-zlib --enable-active‬‬
‫‪-response -enable-normalizer -enable-reload -enable-react‬‬
‫خروجی‪/‬‬

‫این بالفاصله شما را به اولین رخداد می بردخروجی‍‍و آن را برجسته کنید‪ .‬سپس می توانید به‬
‫‪).‬برای‍‍بعد(‪n‬دنبال وقوع بعدی باشیدخروجی‍‍با تایپ کردن‬

‫مرحله ‪ :6#‬پالگین های خروجی را پیکربندی کنید ‪#‬‬


‫ماژول های خروجی را ببینید ‪ Snort -‬پیکربندی ‪ Snort،‬برای اطالعات بیشتر‪ ،‬راهنمای ‪#‬‬
‫‪#############################################################‬‬
‫‪################################‬‬

‫یکپارچه‪#2‬‬
‫برای اکثر نصب ها توصیه می شود ‪#‬‬
‫‪، nostamp، mpls_event_types،‬محدودیت ‪ merged.log، 128‬نام فایل ‪ unified2:‬خروجی ‪#‬‬
‫‪vlan_event_types‬‬
‫‪، nostamp، mpls_event_types،‬محدودیت ‪ snort.log، 128‬نام فایل ‪ unified2:‬خروجی‬
‫‪vlan_event_types‬‬

‫پیکربندی اضافی برای انواع خاصی از نصب ‪#‬‬


‫‪ snort.alert, limit 128, nostamp‬نام فایل ‪# output alert_unified2:‬‬
‫‪، nostamp‬محدودیت ‪ snort.log، 128‬نام فایل ‪ log_unified2:‬خروجی ‪#‬‬

‫‪# syslog‬‬
‫‪ alert_syslog: LOG_AUTH LOG_ALERT‬خروجی ‪#‬‬
‫‪:‬‬

‫همانطور که می بینید‪،‬کمترشما را به اتفاق بعدی کلمه بردخروجی‍‍و تمام عبارات جستجو را برجسته‬
‫!رفت‪ .‬چقدر راحت ‪ Snort‬کرد‪ .‬در این مورد‪ ،‬مستقیما ً به بخش خروجی‬

‫خالصه‬
‫لینوکس راه های متعددی برای دستکاری متن دارد و هر روشی نقاط قوت و ضعف خود را دارد‪ .‬ما‬
‫در این فصل به چند مورد از پرکاربردترین روش‌ها اشاره کرده‌ایم‪ ،‬اما پیشنهاد می‌کنم هر کدام را‬
‫امتحان کنید و احساس و ترجیحات خود را توسعه دهید‪ .‬مثال فکر می کنم‍‍گرفتن‍‍ضروری است‪ ،‬و من‬
‫‪.‬استفاده می کنم‍‍کمتربه طور گسترده‪ ،‬اما ممکن است احساس متفاوتی داشته باشید‬

‫فصل ‪262‬‬
‫تمرینات‬

‫قبل از اینکه به فصل ‪ 3‬بروید‪ ،‬مهارت هایی را که از این فصل آموخته اید با انجام تمرین های زیر امتحان‬
‫‪:‬کنید‬

‫این فهرست فهرست‌های لغت ‪/usr/share/metasploit-framework/data/wordlists.‬به ‪1.‬‬


‫متعددی است که می‌توان از آن برای استفاده از رمزهای عبور بی‌رحمانه در دستگاه‌های محافظت‬
‫محبوب‌ترین چارچوب پنتستینگ و هک ‪ Metasploit،‬شده با رمز عبور مختلف با استفاده از‬
‫‪.‬استفاده کرد‬
‫ازبیشتردستور نمایش ‪password.lst. 3.‬ازگربه‍‍دستور مشاهده محتویات فایل ‪2.‬‬
‫‪password.lst.‬فایل‬
‫‪password.lst.‬ازکمتردستور مشاهده فایل ‪4.‬‬
‫باید ‪password.lst.‬دستور برای قرار دادن شماره خطوط روی رمزهای عبور در‪nl‬حاال از ‪5.‬‬
‫‪.‬حدود ‪ 88396‬کلمه عبور وجود داشته باشد‬
‫‪password.lst.‬ازدم‍‍دستور دیدن ‪ 20‬رمز عبور آخر را در ‪6.‬‬
‫و آن را لوله کنید تا تمام رمزهای عبور موجود را پیدا‪password.lst‬ازگربه‍‍فرمان برای نمایش ‪7.‬‬
‫‪.‬کنید‪123‬‬

‫دستکاری متن‪27‬‬

‫‪3‬‬
‫‪A N A LY Z I N G A N D M A N A G I N G‬‬
‫شبکه های‬

‫درک شبکه برای آن بسیار مهم است‬


‫‪،‬هر هکر مشتاق در بسیاری از شرایط‬
‫‪،‬شما چیزی را از طریق یک شبکه هک خواهید کرد‬
‫و یک هکر خوب باید بداند چگونه فریب دهد‬
‫با آن شبکه ارتباط برقرار کرده و با آن تعامل داشته باشید‪ .‬برای مثال‪،‬‬
‫ممکن است الزم باشد با دستگاه خود به رایانه متصل شویدآدرس پروتکل‬
‫از دید پنهان است‪ ،‬یا ممکن است نیاز داشته باشید که پرس و جوهای سیستم نام دامنه )‪ (IP‬اینترنت‬
‫هدف را به سیستم خود تغییر دهید‪ .‬این نوع کارها نسبتا ً ساده هستند اما نیاز به دانش کمی در )‪(DNS‬‬
‫شبکه لینوکس دارند‪ .‬این فصل برخی از ابزارهای ضروری لینوکس را برای تجزیه و تحلیل و‬
‫‪.‬مدیریت شبکه ها در طول ماجراجویی های هک شبکه به شما نشان می دهد‬

‫‪ ifconfig‬تجزیه و تحلیل شبکه ها با‬


‫دستور یکی از اساسی ترین ابزارها برای بررسی و تعامل با رابط های فعال شبکه‪ifconfig‬را‬
‫است‪ .‬شما می توانید از آن برای پرس و جو اتصاالت شبکه فعال خود به سادگی با وارد کردن‬
‫در ترمینال خودتان آن را امتحان کنید‪ ،‬و باید خروجی مشابه لیست ‪ 1-3‬را‪ifconfig‬استفاده کنید‬
‫‪.‬ببینید‬
‫‪ >ifconfig‬بار‬
‫‪❶eth0: flags=4163<UP، Broadcast، RUNNING، MULTICAST> mtu 1500‬‬
‫‪❷inet adr:192.168.181.131 netmask 255.255.255.0‬‬
‫پخش‪❸192.168.181.255 :‬‬
‫‪--‬تکه تکه کردن‪--‬‬
‫‪❹lo Linkencap: Loopback Local‬‬
‫‪inet adr:127.0.0.1 Mask:255.0.0.0‬‬
‫‪--‬تکه تکه کردن‪--‬‬
‫بله ‪ : EthernetHWaddr 00 : c0 : ca : 3f : 02 :‬محفظه پیوند ‪❺wlan0‬‬

‫برای دریافت اطالعات شبکه ‪ ifconfig‬لیست ‪ :1-3‬استفاده از‬

‫اطالعات مفیدی را نشان می دهد‪ifconfig‬همانطور که می بینید‪ ،‬دستور‬


‫در مورد رابط های شبکه فعال در سیستم‪ .‬در باالی خروجی نام اولین رابط شناسایی شده‬
‫است (لینوکس شمارش را از ‪ 0‬به جای ‪ 1‬شروع می کند)‪ .‬این ‪ Ethernet0‬که مخفف ‪،eth0❶،‬است‬
‫اولین اتصال شبکه سیمی است‪ .‬اگر رابط های اترنت سیمی بیشتری وجود داشت‪ ،‬با همان فرمت در‬
‫‪).‬و غیره ‪ (eth1،eth2،‬خروجی نشان داده می شد‬
‫نوع شبکه مورد استفاده (شبکه محلی کابلی) در ادامه و به دنبال آن فهرست شده است‍‍هوادرو یک‬
‫آدرس؛ این آدرس منحصربه‌فرد جهانی است که روی هر قطعه سخت‌افزار شبکه مهر شده است ‪ -‬در‬
‫)‪ (MAC‬که معموالً به عنوان آدرس کنترل دسترسی رسانه )‪ (NIC‬این مورد‪ ،‬کارت رابط شبکه‬
‫‪.‬شناخته می‌شود‬
‫در حال حاضر است ‪ IP‬خط دوم حاوی اطالعات مربوط به آدرس‬
‫‪Bcast❸،‬به آن رابط شبکه اختصاص داده شده است (در این مورد‪ )❷192.168.181.131 ،‬را‬
‫های زیر شبکه استفاده می شود‪ .‬و ‪ IP‬یاآدرس پخش‪ ،‬که آدرسی است که برای ارسال اطالعات به تمام‬
‫به شبکه محلی متصل ‪ IP‬در نهایت‍‍ماسک شبکه(ماسک شبکه) که برای تعیین اینکه چه بخشی از آدرس‬
‫است استفاده می شود‪ .‬همچنین اطالعات فنی بیشتری را در این بخش از خروجی خواهید یافت‪ ،‬اما این‬
‫‪.‬اطالعات فراتر از محدوده این فصل اصول شبکه لینوکس است‬
‫بخش بعدی خروجی اتصال شبکه دیگری را نشان می دهد‬
‫تماس گرفت‍‍آی تی❹که مخفف آن است‍‍آدرس حلقه بک‍‍و گاهی نامیده می شودمیزبان محلی‪ .‬این یک آدرس‬
‫نرم افزار ویژه است که شما را به سیستم خودتان متصل می کند‪ .‬نرم افزار و سرویس هایی که روی‬
‫سیستم شما اجرا نمی شوند نمی توانند از آن استفاده کنند‪ .‬شما استفاده می کنیدآی تی‍‍برای آزمایش چیزی‬
‫نشان ‪ IP 127.0.0.1‬بر روی سیستم خود‪ ،‬مانند وب سرور خود‪ .‬لوکال هاست به طور کلی با آدرس‬
‫‪.‬داده می شود‬
‫این فقط در صورتی ظاهر می شود که رابط یا آداپتور بی سیم ‪wlan0❺.‬اتصال سوم رابط است‬
‫آن دستگاه را ‪ MAC‬داشته باشید‪ ،‬همانطور که من در اینجا انجام می دهم‪ .‬توجه داشته باشید که آدرس‬
‫‪).‬نیز نمایش می دهد (هوادر‬
‫خود را که یک )‪ (LAN‬شما را قادر می سازد تا تنظیمات شبکه محلی‪ifconfig‬این اطالعات از‬
‫‪.‬مهارت ضروری برای هک است‪ ،‬متصل کنید و آن را با تاخیر انجام دهید‬

‫‪ iwconfig‬بررسی دستگاه های شبکه بی سیم با‬


‫دستور جمع آوری اطالعات مهم برای‪iwconfig‬خارجی دارید‪ ،‬می توانید از آن استفاده کنید ‪ USB‬اگر‬
‫آن‪ ،‬حالتی که در آن قرار دارد و موارد دیگر‪ MAC .‬آداپتور‪ ،‬آدرس ‪ IP‬هک بی سیم مانند آدرس‬
‫استفاده می کنید‪ ،‬اطالعاتی که می توانید از ‪ aircrack-ng‬زمانی که از ابزارهای هک بی سیم مانند‬
‫‪.‬این دستور به دست آورید بسیار مهم است‬

‫فصل ‪303‬‬
‫لیست(‪iwconfig‬با استفاده از ترمینال‪ ،‬بیایید نگاهی به برخی از دستگاه های بی سیم با آن بیاندازیم‬
‫‪ 2-3).‬را ببینید‬

‫‪ >iwconfig‬بار‬
‫خاموش‪/‬هر کدام‪wlan0 IEEE 802.11bg ESSID:‬‬
‫مرتبط نیست ‪: Tx-Power=20 dBm‬حالت‪ :‬نقطه دسترسی مدیریت شده‬
‫‪--‬تکه تکه کردن‪--‬‬
‫بدون پسوند بی سیم‬

‫بدون پسوند بی سیم ‪eth0‬‬

‫برای دریافت اطالعات در مورد آداپتورهای بی سیم ‪ iwconfig‬فهرست ‪ :2-3‬استفاده از‬

‫چیزی است ‪wlan0،‬خروجی اینجا به ما می گوید که تنها رابط شبکه با پسوندهای بی سیم است‬
‫‪.‬دارای هر گونه پسوند بی سیم است‪eth0‬که ما انتظار داریم‪ .‬هیچ کدام‍‍آی تی‍‍نه‬
‫‪ IEEE 802.11‬می آموزیم که دستگاه ما قادر به انجام چه استانداردهای بی سیم ‪wlan0،‬برای‬
‫دو استاندارد ارتباط بی سیم اولیه‪ .‬در حال حاضر اکثر دستگاه‌های دارای سیم کمتر ‪g،‬است‪:‬ب‍‍و‬
‫‪).‬آخرین استاندارد است‪ (n‬همچنین‪n‬هستند‬
‫حالت پسوند بی سیم (در این مورد‪،‬حالت‪ :‬مدیریت شده‪ ،‬بر خالف حالت مانیتور یا‪iwconfig‬ما نیز از‬
‫‪.‬بی بند و باری)‪ .‬برای شکستن گذرواژه‌های بی‌سیم به حالت بی‌قاعده نیاز داریم‬
‫و قدرت آن ‪ (AP) 20‬بعد‪ ،‬می بینیم که آداپتور بی سیم متصل نیست (مرتبط نیست) به یک نقطه دسترسی‬
‫است که نشان دهنده قدرت سیگنال است‪ .‬ما زمان بیشتری را با این اطالعات در فصل ‪dBm 14‬‬
‫‪.‬صرف خواهیم کرد‬

‫تغییر اطالعات شبکه شما‬


‫و سایر اطالعات شبکه یک مهارت مفید است زیرا به شما کمک می کند به ‪ IP‬توانایی تغییر آدرس‬
‫شبکه های دیگر دسترسی داشته باشید در حالی که به عنوان یک دستگاه قابل اعتماد در آن شبکه ها‬
‫ظاهر می شوید‪ .‬به عنوان مثال‪ ،‬در یک انکار خدمات‬
‫خود را جعل کنید تا به نظر برسد که حمله از منبع دیگری آمده است‪ IP ،‬شما می توانید ‪ (DoS)،‬حمله‬
‫جلوگیری کنید‪ .‬این ‪ IP‬بنابراین به شما کمک می کند در طول تجزیه و تحلیل پزشکی قانونی از گرفتن‬
‫فرمان‪ifconfig‬یک کار نسبتا ساده در لینوکس است و با این کار انجام می شود‬

‫شما ‪ IP‬تغییر آدرس‬


‫پس از آن رابطی که می خواهید مجدداً اختصاص دهید و‪ifconfig‬خود وارد کنید ‪ IP‬برای تغییر آدرس‬
‫جدیدی که می خواهید به آن رابط اختصاص داده شود‪ .‬به عنوان مثال‪ ،‬برای اختصاص آدرس ‪ IP‬آدرس‬
‫‪:‬شما باید موارد زیر را وارد کنید ‪eth0،‬به رابط ‪IP 192.168.181.115‬‬

‫‪ >ifconfig eth0 192.168.181.115‬بار‬


‫> بار‬

‫وقتی این کار را به درستی انجام دهید‪ ،‬لینوکس به سادگی خط فرمان را برمی گرداند و‬
‫!چیزی نمی گوید‪ .‬این چیز خوبیه‬

‫تجزیه و تحلیل و مدیریت شبکه ها‪31‬‬


‫شما به ‪ IP‬باید ببینید که آدرس ‪ifconfig،‬سپس‪ ،‬هنگامی که دوباره اتصاالت شبکه خود را با‬
‫‪.‬جدیدی که به تازگی اختصاص داده اید تغییر کرده است ‪ IP‬آدرس‬

‫تغییر ماسک شبکه و آدرس پخش‬


‫فرمان‪ifconfig‬همچنین می توانید ماسک شبکه (نقاب شبکه) و آدرس پخش خود را با این تغییر دهید‬
‫واسط با نت ماسک ‪ 255.255.0.0‬و‪eth0‬به عنوان مثال‪ ،‬اگر می خواهید همان را اختصاص دهید‬
‫‪:‬آدرس پخش ‪ ،192.168.1.255‬شما باید موارد زیر را وارد کنید‬

‫> پخش ‪192.168.1.255‬بار ‪ >ifconfig eth0 192.168.181.115 netmask 255.255.0.0‬بار‬

‫یک بار دیگر‪ ،‬اگر همه چیز را به درستی انجام داده باشید‪ ،‬لینوکس با یک خط فرمان جدید پاسخ‬
‫دوباره بررسی کنید که هر یک از پارامترها مطابق با آن تغییر کرده‪ifconfig‬می دهد‪ .‬حاال وارد شوید‬
‫‪.‬است‬

‫شما ‪ MAC‬جعل آدرس‬


‫در سطح ‪ MAC‬خود (یاهوادر)‪ .‬آدرس ‪ MAC‬برای تغییر آدرس‪ifconfig‬همچنین می توانید استفاده کنید‬
‫جهانی منحصر به فرد است و اغلب به عنوان یک اقدام امنیتی برای دور نگه داشتن هکرها از شبکه یا‬
‫دیگر تقریبا ً بی ‪ MAC‬خود برای جعل یک آدرس ‪ MAC‬ردیابی آنها استفاده می شود‪ .‬تغییر آدرس‬
‫اهمیت است و این اقدامات امنیتی را خنثی می کند‪ .‬بنابراین‪ ،‬این یک تکنیک بسیار مفید برای دور‬
‫‪.‬زدن کنترل های دسترسی شبکه است‬
‫دستورات‍‍پایین‍‍گزینه حذف رابط‪ifconfig‬خود‪ ،‬به سادگی از آن استفاده کنید ‪ MAC‬برای جعل آدرس‬
‫برای سخت افزار‪،‬اتربرای‪ (hw‬دستور به دنبال نام رابط‪ifconfig‬در این مورد)‪ .‬سپس وارد کنید‪(eth0‬‬
‫اترنت) و مک آدرس جعلی جدید‪ .‬در نهایت‪ ،‬رابط را باباالگزینه ای برای انجام تغییر در اینجا یک مثال‬
‫‪:‬است‬

‫پایین ‪ >ifconfig eth0‬بار‬


‫‪ >ifconfig eth0 hw ether 00:11:22:33:44:55‬بار‬
‫‪ >ifconfig eth0 up‬بار‬
‫جعلی جدید شما ‪ IP‬باید آن را ببینیدهوادربه آدرس ‪ifconfig،‬حاال‪ ،‬وقتی تنظیمات خود را با‬
‫!تغییر کرده است‬

‫‪ DHCP‬جدید از سرور ‪ IP‬تخصیص آدرس های‬


‫را اجرا می کنداهریمن‪ a ،‬دارد که )‪ (DHCP‬لینوکس یک سرور پروتکل پیکربندی میزبان پویا‬
‫‪ DHCP‬سرور ‪ dhcp.‬یادیمون ‪dhcpd،‬دیو‪-‬فرآیندی که در پس‌زمینه اجرا می‌شود‪ -‬نامیده می‌شود‬
‫آنها ‪ IP‬را به تمام سیستم‌های زیرشبکه اختصاص می‌دهد و فایل‌های گزارشی را که آدرس ‪ IP‬آدرس‌های‬
‫در هر زمان به کدام دستگاه اختصاص داده شده است را نگه می‌دارد‪ .‬این آن را به منبعی عالی برای‬
‫تحلیلگران پزشکی قانونی تبدیل می کند تا هکرها را پس از حمله ردیابی کنند‪ .‬به همین دلیل‪ ،‬درک نحوه‬
‫‪.‬مفید است ‪ DHCP‬عملکرد سرور‬
‫داشته باشید‪ DHCP .‬اختصاص داده شده به ‪ IP‬باید ‪ LAN،‬معموالً برای اتصال به اینترنت از‬
‫ثابت‪ ،‬باید و ‪ IP‬بنابراین پس از تنظیم یک آدرس‬
‫فصل ‪323‬‬
‫دریافت کنید‪ .‬برای انجام این کار‪ ،‬همیشه می ‪ DHCP‬جدید اختصاص داده شده توسط ‪ IP‬یک آدرس‬
‫جدید ‪ DHCP‬توانید سیستم خود را راه اندازی مجدد کنید‪ ،‬اما من به شما نشان می دهم که چگونه یک‬
‫‪.‬را بدون نیاز به خاموش کردن سیستم خود و راه اندازی مجدد آن بازیابی کنید‬
‫تماس ‪ DHCP‬به سادگی با این دستور با سرور ‪ DHCP،‬از ‪ IP‬برای درخواست یک آدرس‬
‫پس از آن رابطی که می خواهید آدرس به آن اختصاص داده شود‪ .‬توزیع‌های مختلف‪dhclient‬بگیرید‬
‫ساخته شده است ‪ Debian‬بر روی ‪ Kali‬استفاده می‌کنند‪ ،‬اما ‪ DHCP‬لینوکس از کالینت‌های مختلف‬
‫‪:‬بنابراین‪ ،‬شما می توانید یک آدرس جدید مانند زیر اختصاص دهید ‪dhclient.‬که از آن استفاده می‌کند‬

‫‪ >dhclient eth0‬بار‬

‫درخواست از رابط شبکه مشخص شده (در‪DHCPDISCOVER‬را می فرستد ‪ a‬فرمان‪dhclient‬را‬


‫در این مورد( ‪ DHCP‬از سرور )‪ (DHCPOFFER‬سپس یک پیشنهاد دریافت می کند ‪،eth0).‬اینجا‬
‫‪.‬تأیید می کند ‪ dhcp‬را با درخواست ‪ DHCP‬به سرور ‪ )192.168.181.131 IP‬و انتساب‬

‫‪ >ifconfig‬بار‬
‫‪eth0Linkencap:EthernetHWaddr 00:0c:29:ba:82:0f‬‬
‫‪inet adr:192.168.181.131 Bcast:192.168.181.131 Mask:255.255.255.0‬‬

‫اختصاص داده شده در هر مورد ممکن است ‪ IP‬آدرس ‪ DHCP،‬بسته به پیکربندی سرور‬
‫‪.‬متفاوت باشد‬
‫جدید‪ ،‬یک آدرس ‪ IP‬یک آدرس ‪ DHCP‬باید ببینید که سرور ‪ifconfig،‬حاال وقتی وارد می شوید‬
‫‪.eth0.‬پخش جدید و یک نقاب شبکه جدید به رابط شبکه شما اختصاص داده است‬

‫دستکاری سیستم نام دامنه‬


‫‪.‬آن پیدا کنند )‪ (DNS‬هکرها می توانند گنجینه ای از اطالعات یک هدف را در سیستم نام دامنه‬
‫طراحی شده ‪ IP‬یک جزء حیاتی اینترنت است و اگرچه برای ترجمه نام دامنه به آدرس های ‪DNS‬‬
‫‪.‬است‪ ،‬یک هکر می تواند از آن برای جمع آوری اطالعات در مورد هدف استفاده کند‬

‫‪ dig‬با ‪ DNS‬بررسی‬
‫‪ IP‬به آدرس‪hackers-arise.com‬سرویسی است که یک نام دامنه را ترجمه می کند ‪DNS‬‬
‫همه ما باید هزاران ‪ DNS،‬مناسب؛ به این ترتیب‪ ،‬سیستم شما می داند که چگونه به آن برسد‪ .‬بدون‬
‫را برای وب‌سایت‌های مورد عالقه‌مان به خاطر بسپاریم—حتی برای یک متخصص کار ‪ IP‬آدرس‬
‫‪.‬کوچکی نیست‬
‫یکی از مفیدترین دستورات برای هکرهای مشتاق این است‍‍شما‪ ،‬که راهی برای جمع آوری اطالعات‬
‫می تواند یک قطعه کلیدی از ‪ DNS‬در مورد دامنه هدف ارائه می دهد‪ .‬اطالعات ذخیره شده ‪DNS‬‬
‫سرور نام ‪ IP‬شناسایی اولیه برای به دست آوردن قبل از حمله باشد‪ .‬این اطالعات می‌تواند شامل آدرس‬
‫ترجمه می‌کند)‪ ،‬سرور ایمیل هدف‪ ،‬و احتماالً هر زیردامنه ‪ IP‬هدف (سروری که نام هدف را به آدرس‬
‫‪.‬باشد ‪ IP‬و آدرس‬
‫گزینه (مخفف‍‍سرور نام)‪ns.‬و اضافه کنید‪ hackers-arise.com‬به عنوان مثال‪ ،‬وارد کنیدشما‬
‫‪.‬در نمایش داده می شودبخش پاسخ‍‍از فهرست ‪hackers-arise.com3-3‬سرور نام برای‬

‫تجزیه و تحلیل و مدیریت شبکه ها‪33‬‬


‫‪ hackers-arise.com ns‬بار >شما‬
‫‪--‬تکه تکه کردن‪--‬‬
‫‪:‬بخش سوال ;;‬
‫‪ NS‬در ‪;hackers-arise.com.‬‬

‫‪:‬بخش پاسخ ;;‬


‫‪ NS ns7.wixdns.net.‬در ‪hackers-arise.com. 5‬‬
‫‪ NS ns6.wixdns.net.‬در ‪hackers-arise.com. 5‬‬

‫‪:‬بخش اضافی ;;‬


‫اینچ ‪ns6.wixdns.net. 5 216.239.32.100‬‬
‫‪--‬تکه تکه کردن‪--‬‬

‫آن برای دریافت اطالعات در سرور نام دامنه ‪ ns‬و ‪ dig‬لیست ‪ :3-3‬استفاده از گزینه‬

‫‪ DNS‬سرویس دهنده )‪ IP (216.239.32.100‬همچنین دربخش اضافی‍‍که این‍‍شماپرس و جو آدرس‬


‫این بخش ممکن است در سیستم شما کمی متفاوت به نظر ‪hackers-arise.com.‬را نشان می دهد‬
‫‪.‬برسد یا اصالً نشان داده نشود‬
‫شما همچنین می توانید استفاده کنیدشمادستور دریافت اطالعات سرورهای ایمیل متصل به دامنه با‬
‫کوتاه است برای‍‍سرور تبادل پست الکترونیکی)‪ .‬این اطالعات برای‪ (mx‬گزینه‪mx‬افزودن عبارت‬
‫حمالت به سیستم ایمیل حیاتی است‬
‫سرورهای ایمیل در نشان داده‪www.hackers-arise.com‬تم‪ .‬به عنوان مثال‪ ،‬اطالعات در مورد‬
‫‪.‬شده است‍‍بخش اقتداراز فهرست ‪4-3‬‬

‫‪ hackers-arise.com mx‬بار >شما‬


‫‪--‬تکه تکه کردن‪--‬‬
‫‪:‬بخش سوال ;;‬
‫‪ MX‬در ‪;hackers-arise.com.‬‬

‫‪:‬بخش اقتدار ;;‬


‫‪ SOA ns6.wixdns.net. support.wix.com 2016052216 10800‬در ‪hackers-arise.com. 5‬‬
‫‪3600 604 800 3600‬‬
‫‪--‬تکه تکه کردن‪--‬‬

‫آن برای دریافت اطالعات در سرور تبادل پست الکترونیکی دامنه ‪ mx‬و گزینه ‪ dig‬لیست ‪ :4-3‬استفاده از‬

‫است‪ .‬در برخی موارد‪ (BIND) ،‬لینوکس‪ ،‬دامنه نام اینترنتی برکلی ‪ DNS‬رایج ترین سرور‬
‫هر دو ‪ BIND‬و ‪: DNS‬اشاره می کنند‪ ،‬اما اشتباه نگیرید ‪ BIND‬به عنوان ‪ DNS‬کاربران لینوکس به‬
‫‪.‬نشان می دهند ‪ IP‬نام دامنه های فردی را به آدرس های‬

‫‪ DNS‬تغییر سرور‬
‫دیگری استفاده کنید‪ .‬برای انجام این کار‪ ،‬یک ‪ DNS‬در برخی موارد‪ ،‬ممکن است بخواهید از سرور‬
‫روی سیستم آن فایل را در یک ویرایشگر‪/etc/resolv.conf‬فایل متن ساده به نام را ویرایش می کنید‬
‫استفاده می کنم‪ .‬سپس در خط فرمان خود‪ ،‬نام دقیق ویرایشگر خود را ‪ Leafpad‬متن باز کنید ‪ -‬من از‬
‫‪،‬وارد کنید و سپس محل فایل و نام فایل را وارد کنید‪ .‬مثال‬
‫‪ >leafpad /etc/resolv.conf‬بار‬

‫فصل ‪343‬‬
‫فایل در‪/‬و غیره‍‍دایرکتوری در ویرایشگر متن گرافیکی مشخص‪resolv.conf‬را باز خواهد کرد‬
‫‪.‬فایل باید چیزی شبیه به شکل ‪ 1-3‬باشد ‪، Leafpad.‬شده من‬

‫فایل در یک ویرایشگر متن‪resolv.conf‬شکل ‪ :1-3‬یک نمونه‬

‫محلی در ‪ DNS‬همانطور که در خط ‪ 3‬مشاهده می کنید‪ ،‬سرور نام من روی یک سرور‬


‫را با ‪ 192.168.181.2 DNS‬تنظیم شده است‪ .‬این به خوبی کار می کند‪ ،‬اما اگر بخواهم آن سرور‬
‫در ‪ 8.8.8.8‬جایگزین کنم‪ ،‬می توانم خط زیر را در این قسمت قرار ‪ Google‬عمومی ‪ DNS‬سرور‬
‫‪:‬فایل برای تعیین نام سرور‪./etc/resolv.conf‬دهم‬

‫سرور نام ‪8.8.8.8‬‬

‫سپس من فقط باید فایل را ذخیره کنم‪ .‬با این حال‪ ،‬می توانید با وارد کردن موارد زیر به همان‬
‫‪:‬نتیجه منحصراً از خط فرمان دست پیدا کنید‬

‫‪ >echo "nameserver 8.8.8.8"> /etc/resolv.conf‬بار‬

‫این دستور رشته را بازتاب می دهدسرور نام ‪8.8.8.8‬و آن را تغییر مسیر می دهد (>) به‬
‫اکنون فایل باید مانند‪/etc/resolv.conf‬جایگزین محتوای فعلی می شود‪ .‬شما ‪/etc/resolv.conf،‬فایل‬
‫‪.‬شکل ‪ 2-3‬باشد‬

‫گوگل ‪ DNS‬فایل برای تعیین سرور‪resolv.conf‬شکل ‪ :2-3‬تغییر دادن‬

‫را ‪ DNS‬اکنون فایل را ثبت کنید‪ ،‬باید ببینید که درخواست های‪/etc/resolv.conf‬اگر باز کنید‬
‫گوگل هدایت می کند‪ .‬سیستم شما اکنون به ‪ DNS‬محلی شما به سمت سرور ‪ DNS‬به جای سرور‬
‫حل کند‪ .‬این می تواند به این ‪ IP‬می رود تا نام دامنه را به آدرس های ‪ Google‬عمومی ‪ DNS‬سرور‬
‫معنی باشد که حل شدن نام های دامنه کمی بیشتر طول می کشد (احتماالً میلی ثانیه)‪ .‬بنابراین‪ ،‬برای حفظ‬
‫محلی را ‪ DNS‬سرعت و حفظ گزینه استفاده از سرور عمومی‪ ،‬ممکن است بخواهید سرور‬
‫‪ DNS‬عمومی دنبال کنید‪ .‬سیستم عامل هر سرور ‪ DNS‬فایل و آن را با یک سرور‪resolv.conf‬در‬
‫بنابراین سیستم ‪/etc/resolv.conf،‬فهرست شده را به ترتیبی که ظاهر می شود پرس و جو می کند‬
‫محلی یافت ‪ DNS‬عمومی ارجاع می دهد که نام دامنه در سرور ‪ DNS‬تنها در صورتی به سرور‬
‫‪.‬نشود‬

‫را ارائه می دهد‪ DNS ،‬تنظیمات ‪ DHCP‬استفاده می کنید و سرور ‪ DHCP‬توجه داشته باشیداگر از یک آدرس‬
‫‪.‬محتویات فایل را جایگزین می کند ‪ DHCP‬با تجدید آدرس ‪ DHCP‬سرور‬
‫تجزیه و تحلیل و مدیریت شبکه ها‪35‬‬
‫خودتان ‪ IP‬نگاشت آدرس های‬
‫را انجام ‪ IP‬میزبان هافایل همچنین ترجمه نام دامنه – آدرس‪ the‬یک فایل خاص در سیستم شما به نام‬
‫نام‪ IP-‬می توانید از آن برای تعیین نقشه آدرس ‪ DNS،‬و مانند‪/etc/hosts‬می دهد‪ .‬رامیزبان هافایل در‬
‫دامنه خود استفاده کنید‪ .‬به عبارت دیگر‪ ،‬شما می توانید تعیین کنید که مرورگر شما هنگام وارد کردن به‬
‫یا هر دامنه دیگری) به مرورگر‪ ،‬به جای اینکه اجازه(‪www.microsoft.com‬برود ‪ IP‬کدام آدرس‬
‫در ‪ TCP‬تصمیم بگیرد‪ .‬به عنوان یک هکر‪ ،‬این می تواند برای ربودن یک اتصال ‪ DNS‬دهید سرور‬
‫‪dnsspoof.‬شبکه محلی شما برای هدایت ترافیک به یک وب سرور مخرب با ابزاری مانند‬
‫از خط فرمان‪ ،‬دستور زیر را تایپ کنید (می توانید ویرایشگر متن دلخواه خود را جایگزین‬
‫‪):‬کنیدصفحه برگ‬

‫‪ /etc/hosts‬بار >برگه‬

‫‪.‬اکنون باید خود را ببینیدمیزبان هافایلی که چیزی شبیه به شکل ‪ 3-3‬خواهد بود‬

‫شکل ‪ :3-3‬یک لینوکس پیش فرض کالی‍‍میزبان هافایل‬

‫به طور پیش فرض‪،‬میزبان هافایل فقط شامل یک نقشه برای لوکال هاست شما‪ ،‬در ‪،127.0.0.1‬‬
‫را ‪ IP‬در ‪ )127.0.1.1‬است‪ .‬اما می توانید هر آدرس ‪، Kali،‬و نام میزبان سیستم شما (در این مورد‬
‫که به هر دامنه ای که می خواهید اضافه کنید‪ .‬به عنوان مثالی از نحوه استفاده از این‪ ،‬می توانید نقشه‬
‫‪.‬به وب سایت محلی خود‪ ،‬در ‪www.bankofamerica.com192.168.181.131‬برداری کنید‬

‫لوکال هاست ‪127.0.0.1‬‬


‫بار ‪127.0.1.1‬‬
‫‪192.168.181.131 bankofamerica.com‬‬

‫مطلوب است ‪ IPv6‬خطوط زیر برای میزبان های دارای ‪#‬‬


‫‪:: 1 localhost ip6-localhost ip6-loopback‬‬
‫‪ff02::1 ip6-allnodes‬‬
‫‪ff02::2 ip6-allrouters‬‬

‫‪.‬و کلید دامنه ‪ -‬نه فاصله ‪ IP‬مطمئن شوید که فشار می دهیدبرگه‍‍بین آدرس‬
‫و‪dnsspoof‬همانطور که بیشتر درگیر تالش های هک خود می شوید و در مورد ابزارهایی مانند‬
‫می‌توانید از آن استفاده کنیدمیزبان هافایلی برای هدایت هر ترافیکی در شبکه محلی شما که ‪Ettercap،‬‬
‫‪.‬به وب سرور خود در ‪www.bankofamerica.com192.168.181.131‬بازدید می کند‬
‫خیلی آسان است‪ ،‬درست است؟‬

‫فصل ‪363‬‬
‫خالصه‬
‫هر هکری برای اتصال‪ ،‬تجزیه و تحلیل و مدیریت شبکه‌ها به مهارت‌های اولیه شبکه لینوکس نیاز‬
‫دارد‪ .‬با پیشرفت‪ ،‬این مهارت ها برای انجام شناسایی‪ ،‬جعل و اتصال به سیستم های هدف بیشتر و‬
‫‪.‬بیشتر مفید خواهند بود‬

‫تمرینات‬

‫قبل از اینکه به فصل ‪ 4‬بروید‪ ،‬مهارت هایی را که از این فصل آموخته اید با انجام تمرین های زیر امتحان‬
‫‪:‬کنید‬

‫‪.‬اطالعات رابط های شبکه فعال خود را بیابید ‪1.‬‬


‫‪.‬به ‪eth0192.168.1.1‬را روشن کنید ‪ IP‬آدرس ‪2.‬‬
‫‪eth0.‬آدرس سخت افزار خود را تغییر دهید ‪3.‬‬
‫‪.‬بررسی کنید که آیا رابط های بی سیم موجود فعال دارید یا خیر ‪4.‬‬
‫‪.‬بازنشانی کنید ‪ DHCP‬خود را به یک آدرس اختصاص داده شده توسط ‪ IP‬آدرس ‪5.‬‬
‫‪.‬نام سرور و سرور ایمیل وب سایت مورد عالقه خود را پیدا کنید ‪6.‬‬
‫فایل تا سیستم شما‪/etc/resolv.conf‬را به خود اضافه کنید ‪ DNS Google‬سرور ‪7.‬‬
‫زمانی که نتواند پرس و جوی نام دامنه را با آن حل کند به آن سرور اشاره می کند‬
‫محلی شما ‪ DNS‬سرور‬

‫تجزیه و تحلیل و مدیریت شبکه ها‪37‬‬


‫‪ADDINGANDREMOVING‬‬
‫‪4‬‬
‫نرم افزار‬

‫یکی از اساسی ترین وظایف در‬


‫لینوکس یا هر سیستم عامل دیگری در حال افزودن و‬
‫حذف نرم افزار است‪ .‬شما اغلب‬
‫باید نرم افزاری را نصب کنید که همراه با توزیع شما نیست یا‬
‫نرم افزارهای ناخواسته را حذف کنید تا فضای هارد دیسک را اشغال‬
‫‪.‬نکند‬
‫برخی از نرم‌افزارها برای اجرا به نرم‌افزار دیگری نیاز دارند‪ ،‬و گاهی اوقات متوجه می‌شوید که‬
‫می‌توانید همه چیزهایی را که نیاز دارید به‌صورت یکجا دانلود کنیدبسته نرم افزاری‪ ،‬که گروهی از‬
‫فایل‌ها است ‪ -‬معموالً کتابخانه‌ها و سایر وابستگی‌ها ‪ -‬که برای اجرای موفقیت‌آمیز یک نرم‌افزار به‬
‫آن‌ها نیاز دارید‪ .‬هنگامی که یک بسته را نصب می کنید‪ ،‬تمام فایل های داخل آن همراه با یک اسکریپت‬
‫‪.‬نصب می شوند تا بارگذاری نرم افزار ساده تر شود‬
‫در این فصل‪ ،‬سه روش کلیدی برای افزودن نرم‌افزار جدید را بررسی می‌کنیم‪ :‬مدیر بسته‬
‫‪ git.‬مدیران نصب مبتنی بر رابط کاربری گرافیکی و ‪apt،‬‬
‫‪ apt to Handle‬استفاده از نرم افزار‬
‫در توزیع‌های لینوکس مبتنی بر دبیان‪ ،‬که شامل کالی و اوبونتو می‌شود‪ ،‬مدیر نرم‌افزار پیش‌فرض‬
‫در ساده ترین و ‪.apt-get.‬است که دستور اصلی آن است ‪ apt‬یا ‪Advanced Packaging Tool‬‬
‫برای دانلود و نصب بسته‌های نرم‌افزاری جدید‪apt-get،‬رایج ترین شکل آن می توانید استفاده کنید‬
‫‪.‬می‌توانید نرم‌افزار را نیز با آن به‌روزرسانی و ارتقا دهید‬

‫آنها از بسیاری ‪apt-get.‬فرمان دادن‪apt‬توجه داشته باشیدبسیاری از کاربران لینوکس ترجیح می دهند از آن استفاده کنند‬
‫‪.‬عملکرد بیشتری دارد و به نظر من ارزش یادگیری را دارد‪apt-get‬جهات شبیه هستند‪ ،‬اما‬

‫جستجو برای یک بسته‬


‫قبل از دانلود بسته نرم افزاری‪ ،‬می توانید بررسی کنید که آیا بسته مورد نیاز شما در دسترس است یا‬
‫یک تابع ‪ apt‬خیرمخزن‪ ،‬جایی است که سیستم عامل شما اطالعات را در آن ذخیره می کند‪ .‬ابزار‬
‫‪:‬جستجو دارد که می تواند بررسی کند که آیا بسته در دسترس است یا خیر‪ .‬نحو ساده است‬

‫کلمه کلیدی‪ apt-cache‬جستجوی‬

‫یا مکانی که نام بسته ها ‪ apt‬دستور جستجو در حافظه پنهان‪apt-cache‬توجه داشته باشید که ما از‬
‫را جستجو می‌کردید‪ ،‬دستور ‪ Snort‬را ذخیره می کند‪ .‬بنابراین اگر برای مثال سیستم تشخیص نفوذ‬
‫‪.‬نشان داده شده در لیست ‪ 1-4‬را وارد می‌کنید‬

‫‪ apt-cache‬بار >خروپف جستجوی‬


‫‪ Snort-to-iptables‬مترجم قوانین ‪fwsnort -‬‬
‫‪ IP‬الگر پروتکل های ‪ippl -‬‬
‫‪ --‬برش ‪--‬‬
‫خروپف ‪ -‬سیستم تشخیص نفوذ شبکه انعطاف پذیر‬
‫‪ --‬سیستم تشخیص نفوذ شبکه انعطاف پذیر ‪ -‬فایل های رایج‪ --‬برش ‪snort-common -‬‬

‫‪ Snort‬برای ‪ apt-cache‬فهرست ‪ :1-4‬جستجوی سیستم با‬

‫همانطور که می بینید‪ ،‬بسیاری از فایل ها دارای کلمه کلیدی هستندخرخر کردن‍‍در آنها‪ ،‬اما نزدیک‬
‫به وسط خروجی ما می بینیم‍‍خروپف ‪ -‬سیستم تشخیص نفوذ شبکه انعطاف پذیر‪ .‬این چیزی است که ما به دنبال‬
‫!آن هستیم‬

‫افزودن نرم افزار‬


‫برای‪apt-get‬در مخزن شما وجود دارد‪ ،‬می توانید از آن استفاده کنید ‪ snort‬اکنون که می دانید بسته‬
‫دانلود نرم افزار‬
‫برای نصب یک نرم افزار از پیش فرض سیستم عامل خود‬
‫دستور و به دنبال آن کلمه کلیدی‍‍نصب‍‍و سپس نام بسته ای که می‪apt-get‬مخزن در ترمینال‪ ،‬استفاده کنید‬
‫‪:‬خواهید نصب کنید‪ .‬نحو به این صورت است‬

‫نصب کنیدنام بسته ‪apt-get‬‬

‫فصل ‪404‬‬
‫به‪apt-get install snort‬در سیستم خود امتحان کنیم‪ .‬وارد ‪ Snort‬بیایید این را با نصب‬
‫‪.‬عنوان یک دستور‪ ،‬همانطور که در لیست ‪ 2-4‬نشان داده شده است‬

‫‪ >apt-get install snort‬بار‬


‫خواندن لیست بسته ها‪ ...‬انجام شد‬
‫درخت وابستگی ساختمان‬
‫خواندن اطالعات ایالت‪ ...‬انجام شد‬
‫‪:‬بسته های پیشنهادی‬
‫خروپف‪-‬دکتر‬
‫‪:‬بسته های جدید زیر نصب خواهند شد‬
‫خرخر کردن‬
‫‪--‬تکه تکه کردن‪--‬‬
‫نصب کنید؟ ]‪ [Y/n‬این بسته‌ها را بدون تأیید‬

‫‪ apt-get‬با نصب ‪ Snort‬فهرست ‪ :2-4‬نصب‬

‫خروجی که مشاهده می کنید به شما می گوید که چه چیزی در حال نصب است‪ .‬اگر همه چیز‬
‫درست به نظر می رسد‪ ،‬ادامه دهید و وارد شویدوهنگامی که از شما خواسته شد‪ ،‬نصب نرم افزار شما‬
‫‪.‬ادامه خواهد یافت‬
‫حذف نرم افزار‬
‫بابرداشتن‍‍گزینه‪ ،‬به دنبال آن نام نرم افزاری که باید حذف شود‪apt-get‬هنگام حذف نرم افزار‪ ،‬استفاده کنید‬
‫‪().‬به فهرست ‪ 3-4‬مراجعه کنید‬

‫حذف خروپف ‪ >apt-get‬بار‬


‫خواندن لیست بسته ها‪ ...‬انجام شد‬
‫درخت وابستگی ساختمان‬
‫خواندن اطالعات ایالت‪ ...‬انجام شد‬
‫‪:‬بسته های زیر به طور خودکار نصب شدند و دیگر مورد نیاز نیستند‬
‫تکه تکه‪-common-libraries snort-rules-default‬خروپف ‪libdaq0 libprelude2 oinkmaster‬‬
‫‪--‬کردن‬
‫را ادامه دهید؟ ]‪ [Y/n‬آیا می‌خواهید‬

‫‪ apt-get‬با حذف ‪ Snort‬فهرست ‪ :3-4‬حذف‬

‫مجدداً مشاهده خواهید کرد که وظایف در زمان واقعی انجام می شود و از شما پرسیده می شود که‬
‫‪ Snort‬آیا می خواهید ادامه دهید‪ .‬می توانید وارد شویدوبرای حذف نصب کنید‪ ،‬اما ممکن است بخواهید‬
‫را نگه دارید زیرا ما دوباره از آن استفاده خواهیم کرد‪ .‬رابرداشتن‍‍دستور فایل های پیکربندی را حذف نمی‬
‫‪.‬کند‪ ،‬به این معنی که می توانید همان بسته را در آینده بدون پیکربندی مجدد دوباره نصب کنید‬
‫اگر می خواهید فایل های پیکربندی را همزمان با بسته حذف کنید‪ ،‬می توانید از آن استفاده‬
‫‪.‬کنیدپاکسازی‍‍گزینه‪ ،‬همانطور که در فهرست ‪ 4-4‬نشان داده شده است‬

‫خرخره ‪ >apt-get purge‬بار‬


‫خواندن لیست بسته ها‪ ...‬انجام شد‬
‫درخت وابستگی ساختمان‬
‫خواندن اطالعات ایالت‪ ...‬انجام شد‬
‫‪: libdaq0 libprelude2 oinkmaster‬بسته های زیر به طور خودکار نصب شدند و دیگر مورد نیاز نیستند‬
‫‪snort-common-libraries snort-rules-default‬‬

‫افزودن و حذف نرم افزار‪41‬‬


‫‪--‬تکه تکه کردن‪--‬‬
‫را ادامه دهید؟ ]‪ [Y/n‬آیا می‌خواهید‬

‫‪ apt-get‬و فایل های پیکربندی همراه با پاکسازی ‪ Snort‬فهرست ‪ :4-4‬حذف‬

‫به سادگی وارد شویدودر اعالن برای ادامه پاکسازی نرم افزار‬
‫بسته و فایل های پیکربندی‬
‫ممکن است متوجه این خط شده باشیدبسته های زیر به صورت خودکار نصب شدند و دیگر مورد نیاز نیستنددر‬
‫خروجی برای کوچک و ماژوالر نگه داشتن چیزها‪ ،‬بسیاری از بسته های لینوکس به واحدهای نرم‬
‫را نصب ‪ Snort‬افزاری تقسیم می شوند که برنامه های مختلف ممکن است از آنها استفاده کنند‪ .‬وقتی‬
‫برای اجرا به آن نیاز دارد‪ .‬اکنون ‪ Snort‬کردید‪ ،‬چندین وابستگی یا کتابخانه را با آن نصب کردید که‬
‫هستید‪ ،‬دیگر به کتابخانه‌ها یا وابستگی‌های دیگر نیازی نیست‪ ،‬بنابراین ‪ Snort‬که در حال حذف‬
‫‪.apt autoremove.‬می‌توان با اجرا کردن آن‌ها را حذف کرد‬

‫‪kali > apt autoremove snort‬‬


‫خواندن لیست های بسته‪...‬تمام شد‬
‫درخت وابستگی ساختمان‬
‫خواندن اطالعات وضعیت ‪ ...‬انجام شد‬
‫‪--‬تکه تکه کردن‪--‬‬
‫‪ snort-common-libaries (2.9.7.0-5)...‬حذف‬
‫…)‪ libdaq2 (2.04-3+b1‬در حال حذف‬
‫)‪ oikmaster (2.0-4‬حذف‬
‫‪--‬تکه تکه کردن‪--‬‬

‫به روز رسانی بسته ها‬


‫مخازن نرم افزار به صورت دوره ای با نرم افزار جدید یا نسخه های جدید نرم افزار موجود به روز‬
‫می شوند‪ .‬این به‌روزرسانی‌ها به‌طور خودکار به دست شما نمی‌رسند‪ ،‬بنابراین باید آنها را درخواست‬
‫کنید تا این به‌روزرسانی‌ها را در سیستم خود اعمال کنید‪.‬در حال بروز رسانی‍‍یکسان نیست‍‍ارتقاء‪ :‬به روز‬
‫رسانی به سادگی لیست بسته های موجود برای دانلود از مخزن را به روز می کند‪ ،‬در حالی که ارتقاء‬
‫‪.‬بسته را به آخرین نسخه موجود در مخزن ارتقا می دهد‬
‫دستور به دنبال کلمه‪apt-get‬شما می توانید سیستم فردی خود را با وارد کردن به روز رسانی کنید‬
‫کلیدی‍‍به روز رسانی‪ .‬با این کار تمام بسته‌های موجود در سیستم شما جستجو می‌شود و بررسی می‌کند که آیا‬
‫به‌روزرسانی‌ها در دسترس هستند یا خیر‪ .‬اگر چنین است‪ ،‬به‌روزرسانی‌ها دانلود می‌شوند (به فهرست‬
‫‪ 5-4).‬مراجعه کنید‬

‫‪ apt-get‬بار >آپدیت‬
‫‪Get:1 http://mirrors.ocf.berkeley.edu/kali kali-rolling InRelease [30.5kb] Get:2‬‬
‫‪http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 Packages [14.9MB ] Get:3‬‬
‫‪http://mirrors.ocf.berkeley.edu/kali kali-rolling non-free Packages amd64 [163kb] Get:4‬‬
‫بسته‌ها [‪ 107‬کیلوبایت] ‪ 15.2‬مگابایت در ‪ 1‬دقیقه ‪http://mirrors.ocf.berkeley.edu/kali kali-rolling/contrib amd64‬‬
‫‪ 4‬ثانیه (‪ 236‬کیلوبایت بر ثانیه) واکشی شدند‬
‫خواندن لیست بسته ها‪ ...‬انجام شد‬

‫‪ apt-get‬لیست ‪ :5-4‬به روز رسانی تمام بسته های قدیمی با آپدیت‬

‫لیست نرم افزارهای موجود در مخزن سیستم شما خواهد بود‬


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

‫فصل ‪424‬‬

You might also like