■■■حمله Internal Monologue Attack چیست ؟  ■■■

شاید شما هم مانند خیلی از افرادی که پا به دنیای تست و نفوذ میزارن اسم حملاتی رو میشنوید که براتون عجیب هست یا به خوبی انها رو نمیتونید درک کنید.
امروز ما تصمیم گرفتیم راجب یکی از حمله های جالب صحبت کنیم که به آن مرحله “internal monologue attack” گویند این تکنیک توسط Elad Shamir به نام “internal monologue attack” نام گذاری شده است. در مقاله بررسی حملات Internal monolouge attack با ما همراه باشید.

Internal Monologue Attack چیست ؟

پیش از پاسخ به این سوال بزارید راجب گذشته صحبت کنیم. راجب زمانی که در طول فعالیت‌های آزمایش تست و نفوذ در زیرساخت های داخلی (Internal infrastructure penetration testing میشد اطلاعات رو از host memory به صورت آسان تر از الان بیرون کشید و هچنین میتوانستیم از برنامه ای معروفی مثل Mimikatz استفاده کنیم که در زمان خودش بسیار کاربردی تر از الان بود و همینطور میشد این حملات را به صورت remotely (از راه دور) از memory اجرا کرد به اتمام رسیده.

بخاطر سد های دفاعی داخلی ویندوز و سد های دفاعی جدید محصولات های امنیتی. روش های جدیدی برای بدست آوردن
این اطلاعات کاربر نیاز داریم که internal monologue attack یکی از آنهاست؛ همان طور که در بالا گفتیم “internal monologue attack” توسط Elad Shamir کشف شد. اگر بخواهیم به زبان ساده راجب مفهموم این حمله صحبت کنیم.

حمله Internal Monologue Attack چیست ؟

به زبان ساده میتوان گفت :

باید بگیم این حمله به هکر اجازه میدهد که NTLMv1 challenge response hashes از سیستم قربانی دریافت کنید.
موردی که این حمله را جالب میکنه این هست که شما بدون تزریق کد در memory یا تعامل با سرویس های محافظت شده شده مانند Local Security Authority Subsystem Service (LSASS) میتوانید hashes ها را دریافت کنید و سپس این هش ها می توانند کرک شوند یا متعاقباً در یک حمله Pass-The-Hash (PTH) استفاده شوند.

بزارید به نوع دیگری هم این حمله را توضیح دهیم

این تکنیک به شدت خلاقانه است که به هکر اجازه می دهد تا بدون دست زدن به فرآیند LSASS، اطلاعات را بدست آورد.
این حمله از پروتکل NetNTLMv1 challenge-response استفاده میکند زیرا پروتکل NetNTLMv1 به نوعی challenge-response را محاسبه می‌ کند مشکل دارد و بهتر بگیم امن نیست و به مهاجم اجازه می‌دهد تا با شکستن (cracking) آسان پاسخ، هش NTLM را retrieve کند یا بهتر بگیم بازیابی کند.

مراحل Internal monologue attack را توضیح دهید ؟

برای پاسخ به این سوال باید گفت شما باید از (impersonated user privilege) استفاده کنید که در آن هکر باید یک local procedure call
به بسته احراز هویت NTLM به نام MSV1_0 فراخوانی کند که در حقیقت برای encrypt یا بهتر بگیم رمزگذاری یک چالش شناخته شده (known challenge) با استفاده از (SSPI – secure single sign-on) در ویندوز است.

  • در ادامه این یک NetNTLMv1 response برای آن چالش با استفاده از هش NTLM کاربر جعل شده
    (impersonated user’s) به عنوان یک کلید ایجاد می کند و بعد به دلیل ضعف در NetNTLMv1 challenge-response protocol ، هکر می تواند به راحتی با کرک کردن این response، هش NTLM را استخراج کرده و یک حمله �Pass the Hash� را انجام دهد.

اکنون، به دلیل ضعف در پروتکل چالش-پاسخ NetNTLMv1، تستر می تواند به راحتی با کرک کردن این پاسخ، هش NTLM را استخراج کرده و یک حمله �Pass the Hash� را انجام دهد.

NetNTLM Downgrading را توضیح دهید ؟

یکی از موارد مهمی که باید درباره ش صحبت کنیم NetNTLM Downgrading است.

  • سیستم‌های مدرن به‌طوری پیکربندی شده‌اند به صورت (پیش‌فرض) تا از استفاده NetNTLMv1 جلوگیری شود به علت این که زیرا فردی که مورد حمله قرار میگیرد یک local administrator است

یک حمله Downgrade NetNTLM می تواند برای فعال کردن (enable) این طرح احراز هویت ضعیف تر (weaker authentication scheme) انجام شود. در نتیجه این کار کنترل های پیشگیرانه را برای NetNTLMv1 غیرفعال (disable) می کند. در نتیجه هکر می‌تواند non-network logon tokens را از فرآیندهای در حال اجرا بازیابی کند و هویت کاربر مرتبط را جعل کند.

نتیجه ای که Internal monologue attack را توضیح دهید ؟

مزیت اصلی این حمله این است که می توان آن را برای فرار از شناسایی شدن استفاده کرد زیرا هیچ تعاملی با هیچ فرآیند
محافظت شده (protected process) وجود ندارد و ترافیک شبکه ایجاد نمی شود. از این تکنیک میشود برای به دست آوردن domain user hashes در طول فرایند تست نفوذ داخلی (internal penetration test) بدون شناسایی یا مسدود شدن استفاده کرد.

نکته : این حمله نیاز به registry modification در هنگام انجام NTLM downgrade attack دار

■■■دیتا بیس شاردینگ چیست وچه معایب و محاسنی دارد.Database sharding■■■

شاردینگ چیست؟

شاردینگ (Sharding) یک الگوی طراحی پایگاه داده است که در آن داده‌ها در قالب چند جدول و پایگاه داده شکسته می‌شوند تا مدیریت کوئری‌ها به‌شکل ساده‌تری انجام شود. امروزه، بانک‌های اطلاعاتی بزرگ به اشکال مختلفی از این تکنیک پشتیبانی می‌کنند. به‌طور مثال، در سیستم مدیریت پایگاه داده اوراکل، Oracle Sharding بخش‌هایی از یک مجموعه داده را در پایگاه‌های داده‌‌ای (شاردها) که در کامپیوترهای مختلف یا در ابر میزبانی می‌شوند، توزیع می‌کند.

در این‌جا مفهوم مهمی به‌نام تقسیم‌بندی وجود دارد که خود شامل دو واژه «افقی» و «عمودی» است. در پارتیشن‌بندی افقی (Horizontal Partitioning) رکوردهایی که قرار است در جدول ذخیره‌سازی شوند، به‌شکل گروهی به یک جدول وارد می‌شوند که در این‌جا به‌عنوان پارتیشن شناخته می‌شوند. در این حالت، جداول طرح‌واره (Schema) و ستون‌های مشابهی دارند، اما داده‌های ذخیره‌‌شده در آن‌ها متفاوت و منحصر‌به‌فرد هستند؛ به عبارتی، هیچ جدولی شامل داده‌های یکسان نیست.

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

نکته مهمی که باید در این زمینه به آن دقت کنید، نحوه برقراری ارتباط پارتیشن‌بندی افقی با پارتیشن‌بندی عمودی است. در یک جدول عمودی پارتیشن‌بندی‌شده، ستون‌ها از یک‌دیگر جدا شده و در جداول جدید و مجزا قرار می‌گیرند. داده‌هایی که در یک پارتیشن عمودی نگه‌داری می‌شوند، مستقل از داده‌های دیگر پارتیشن‌ها هستند و هر کدام ردیف‌ها و ستون‌های مجزا و خاص خود را دارند. شکل ۱ نشان می‌دهد که چگونه یک جدول را می‌توان به‌صورت افقی و عمودی پارتیشن‌بندی کرد.

تفاوت‌های پارتیشن‌بندی افقی و عمودی

در پارتیشن‌‌بندی عمودی (Vertical Partitioning)، ستون‌های خاصی در جداول ساخته می‌شوند. داده‌‌های ذخیره ‌شده در این جداول نیز منحصربه‌فرد هستند؛ به عبارتی، هیچ دو جدول (پارتیشن) را نمی‌توان پیدا کرد که شامل ساختار و داده‌های یکسانی باشند.

اکنون به این پرسش می‌رسیم که پارتیشن‌‌بندی افقی و عمودی چه تفاوت‌هایی دارند؟ در پارتیشن‌بندی افقی تنها داده‌های جداول منحصربه‌‌فرد هستند، در حالی که در پارتیشن‌‌بندی عمودی علاوه بر داده‌ها، ستون‌های جداول نیز با یک‌دیگر فرق دارند. در شکل ۱، جدول Original Table را داریم که وقتی آن را به‌صورت افقی پارتیشن‌بندی کنیم، دو جدول به نام‌های HP1 و HP2 خواهیم داشت که هر دو طرح‌واره یا ساختار بانک اطلاعاتی یکسانی دارند، اما شامل داده‌های متفاوتی هستند. با این‌حال، زمانی که این جدول را به‌صورت عمودی پارتیشن‌بندی می‌کنیم، دو جدول به نا‌م‌های VP1 و VP2 داریم که طرح‌واره آن‌ها با یک‌دیگر فرق دارد. علاوه بر این، هر کدام مسئول ذخیره‌سازی داده‌‌های خاصی هستند.

با این توضیحات، باید بگوییم شاردینگ به فرآیند شکستن داده‌ها به واحدهای کوچکی که هر کدام در جدول خاصی ذخیره‌ می‌شوند، اشاره دارد. در این حالت، با کنار هم قرار گرفتن تک‌تک جداول و داده‌ها در کنار یک‌دیگر، یک پایگاه داده کامل خواهیم داشت.

شکل 1

معماری شاردینگ چه مزایایی ارائه می‌دهد؟

شاردینگ، دست توسعه‌دهندگان در زمینه طراحی پایگاه داده را باز می‌گذارد تا بتوانند فرآیند طراحی را بر مبنای الگوی شکستن افقی (Horizontal Scaling) انجام دهند. در این حالت، این امکان وجود دارد تا بار را روی سرورها و با هدف افزایش سرعت پردازش داده‌ها و کوئری‌ها پخش کرد و به‌شکل بهینه‌ای از پایگاه‌های داده مختلف استفاده کرد. فرآیند مقیاس‌پذیری عمودی (Vertical Scaling) به تیم‌های فناوری اطلاعات اجازه می‌دهد با هدف پاسخ‌گویی بهتر به کوئری‌های کاربران، منابع پردازشی مثل پردازنده مرکزی یا حافظه اصلی سرورها را ارتقاء دهند تا عملکرد پایگاه داده و وب‌سایت‌ها کاهش پیدا نکند.

هنگامی که صحبت از توسعه‌‌ عمودی به میان می‌آید، این امکان وجود دارد تا بتوان زیرساخت سخت‌افزاری را ارتقاء داد تا همزمان با گسترش فعالیت‌های تجاری و افزایش تعداد کاربران، سرور همچون گذشته به درخواست‌ها پاسخ دهد. با این‌حال، به خاطر داشته باشید که مقیاس‌پذیری سخت‌افزاری تا حد مشخصی امکان‌پذیر است، زیرا در بلندمدت هزینه‌های زیادی را به سازمان تحمیل می‌کند.

هنگامی که یک محاوره‌ عادی برای یک پایگاه داده ارسال می‌کنیم، اگر در یک جدول خاص میلیون‌ها رکورد ثبت شده باشد، حتا اگر شاخص‌گذاری به‌شکل درستی انجام شده باشد، زمان پاسخ‌گویی سریع نخواهد بود. در حالی که بر مبنای معماری شاردینگ، یک جدول به چند جدول مجزا شکسته می‌شود تا کوئری واردشده در میان رکوردهای کمتری جست‌وجو شود. در این حالت، سرعت دسترسی به داده‌ها به‌شکل قابل توجهی افزایش پیدا می‌کند.

علاوه بر این، شاردینگ تضمین می‌کند در زمان غیرقابل دسترس شدن پایگاه داده یا هنگامی که مشکلی برای سرور به‌وجود می‌آید، برنامه کاربردی عملکرد پایدار خود را برای مدت زمان مشخصی حفظ می‌کند، زیرا داده‌های پرکاربرد کش می‌شوند و برنامه می‌تواند از این اطلاعات استفاده کند. یک برنامه وب‌محور که عملکردش بر پایه یک پایگاه داده عادی (Unsharded Database)

است، اگر با مشکلی از بابت سرور پایگاه داده روبه‌رو شود، عملکردش دچار اختلال می‌شود. تقریبا طیف گسترده‌ای از وب‌سایت‌های ایرانی با چنین مشکلی روبه‌رو هستند. این در حالی است که اگر چنین مشکلی برای یک برنامه وب‌محور مبتنی بر معماری Sharded Database رخ دهد، تنها یک شارد (جدولی در پایگاه داده) با اختلال روبه‌رو می‌شود و برنامه می‌تواند پایداری خود را حفظ کند. در این حالت، تنها بخش‌هایی از برنامه به‌شکل موقت قادر به سرویس‌دهی به کاربران نخواهند بود.

معماری شاردینگ چه معایبی دارد؟

درست است که معماری فوق پایداری و عملکرد بهتری برای برنامه‌های وب‌محور ارائه می‌کند، اما معایبی نیز دارد. یکی از معایب بزرگ معماری فوق، پیچیدگی بیش‌ازحد پایگاه‌های داده است. به عبارت دیگر، اگر چرخه شاردینگ به‌شکل درستی انجام نشود، این امکان وجود دارد تا داده‌ها با یک‌دیگر تداخل پیدا کنند، عملیات نوشتن در جداول به‌درستی انجام نشود یا یکپارچگی جداول از دست برود.

مشکل دیگر معماری شاردینگ، برهم خوردن تعادل بین پارتیشن‌های مختلف است. برای درک بهتر این موضوع، فرض کنید دو جدول داریم که در یکی از آن‌ها اسامی کاربرانی را که نام‌شان با حروف a تا s آغاز می‌شود ذخیره می‌کنیم و دیگری داده‌های کاربرانی را که نام‌‌شان o تا z است ذخیره‌سازی می‌کند. به‌طور معمول، ممکن است کاربرانی که اسم آن‌ها با حرف B شروع می‌شود بیشتر از سایر حروف الفبا باشد. در چنین شرایطی، جدولی که مسئول ذخیره‌‌سازی حروف a تا s است، بیش‌ازاندازه بزرگ می‌شود که باعث می‌شود سرعت فراخوانی داده‌ها از میان حجم انبوهی از رکوردها زیاد شود.

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

معماری شاردینگ به چه صورتی کار می‌کند؟

فرض کنید بر مبنای الزامات کاری نیاز به پارتیشن‌بندی پایگاه داده خود داریم، اکنون سوال این است که برای شروع باید چه کاری انجام دهیم؟ به‌عنوان یک قانون کلی، باید این نکته را مد نظر داشته باشید که وقتی قصد دارید به چند پایگاه داده یا جدول مختلف کوئری بزنید،‌ باید دقیقا بدانید که کوئری موردنظر قرار است برای چه پارتیشن یا جدولی ارسال شود، در غیر این صورت، با نتایجی اشتباه و گاهی از‌دست‌دادن داده‌ها روبه‌رو می‌شوید. برای درک بهتر معماری فوق، باید با روش‌های مختلف پیاده‌‌سازی معماری فوق با هدف پخش کردن داده‌ها در میان پارتیشن‌های مختلف آشنا شویم.

  • Key Based Sharding: در معماری فوق، وقتی داده‌های جدیدی در پایگاه داده ذخیره‌سازی می‌شوند، کلیدی مرتبط با آن داده‌ها در نظر گرفته می‌شود. به‌طور مثال، اگر مشتری جدیدی در فروشگاه آنلاینی ثبت‌نام می‌کند، customer_id به‌عنوان کلید در نظر گرفته می‌شود. در ادامه، این کلید در اختیار تابعی قرار می‌گیرد که بسته به ورودی‌ای که دریافت می‌کند، مشخص می‌کند داده‌ها باید روی چه پارتیشنی ذخیره‌سازی شوند. به‌منظور حصول اطمینان از این‌که داده‌ها روی پارتیشن‌های مناسبی ذخیره می‌شوند، نیاز است تا مقادیری که وارد چنین تابعی می‌شوند، به‌عنوان Hash Function شناخته شوند تا ماهیتی منحصربه‌فرد پیدا کنند. برای درک بهتر این موضوع، می‌توان Primary Key را به‌عنوان چنین داده‌ای در نظر گرفت که در معماری فوق به‌عنوان Shard Key شناخته می‌شود. نکته ظریفی که باید در این زمینه به آن دقت کنید این است که کلید فوق نباید در طول زمان دست‌خوش تغییر شود، زیرا یکپارچگی داده‌ها از دست خواهد رفت و حتا اگر مشکلی برای یکپارچگی داده‌ها به وجود نیاید، فرآیند پردازشی و محاسباتی زیادی برای به‌روزرسانی پارتیشن‌های مربوطه نیاز خواهد بود.

یکی از چالش‌های کار با معماری Key Based Sharding این است که در صورت نیاز به افزودن سرورهای جدید یا کم کردن تعداد سرورهای موجود، ممکن است با مشکل روبه‌رو شویم. به این صورت که وقتی سرور جدیدی به خوشه‌ای اضافه می‌کنیم، هر سرور نیاز به مقدار هش (Hash Value) دارد تا در زمان ثبت‌ داده‌های جدید مورد استفاده قرار گیرد. در این حالت، اگر در نظر داشته باشیم داده‌های موجود روی سرور فعلی را انتقال دهیم، نیاز داریم مقدار هش مرتبط با داده‌ها نیز به‌روزرسانی شود که فرآیند هزینه‌بری است.

  • Range Based Sharding: پارتیشن‌بندی مبتنی بر محدوده، شامل به اشتراک‌گذاری داده‌ها بر اساس بازه‌ای از مقادیر مشخص است. برای درک بهتر الگوی فوق، فرض کنید در یک فروشگاه آنلاین پایگاه داده‌ای دارید که داده‌های مرتبط با تمامی محصولات در آن ذخیره شده است. به‌منظور پارتیشن‌بندی این پایگاه داده می‌توان از پایگاه‌های داده یا جداول مختلفی بر اساس قیمت محصولات استفاده کرد. یکی از مزایای پیاده‌سازی این معماری، سهولت در استفاده است، به طوری‌که طرح‌واره تمامی پارتیشن‌ها یکسان است. در چنین شرایطی، وقتی در نظر داشته باشید تغییری در سطح برنامه کاربردی اعمال کنیم تا مشخص کنیم داده‌ها‌ی جدید در کدام پارتیشن باید ذخیره‌سازی شوند، تنها کاری که باید انجام دهیم این است که به بازه قیمتی آن دقت کنیم و بر مبنای آن، پارتیشن مناسب را انتخاب کنیم. البته، مشابه با حالت قبل و مثالی که در مورد حروف الفبا ارائه کردیم، در این نوع معماری نیز ممکن است تعادل به‌هم بخورد، به طوری‌که این احتمال وجود دارد تا محصولاتی که در بازه ده هزار تا یک میلیون تومان هستند، زیاد باشند و پارتیشن بیش‌از‌اندازه میزبان رکوردهای اطلاعاتی شود.
  • Directory Based Sharding: همان‌طور که در شکل ۲ مشاهده می‌کنید، در این معماری به مولفه‌ای که Lookup Table نام دارد، نیاز داریم. این مولفه وظیفه ذخیره‌سازی Shard Key را بر عهده دارد تا بر مبنای آن مشخص شود چه پارتیشنی چه نوع داده‌ای را باید ذخیره‌سازی کند. به عبارت دیگر، این جدول مثل فهرست واژگان انتهای کتاب‌ها است که از آن طریق مشخص می‌شود کدام اصطلاح در کدام بخش یا کدام صفحه استفاده شده است.

همان‌طور که در شکل ۲ مشاهده می‌کنید، ستون Delivery Zone به‌عنوان Shard Key در نظر گرفته شده است. در ادامه، داده‌ها بر مبنای این ستون در Lookup Table ثبت می‌شوند. در این حالت، مشخص می‌شود هر کلید مرتبط با کدام پارتیشن است. در مقایسه با معماری قبلی (Range Based Sharding)، در مواقعی که مهم نباشد برای ذخیره‌سازی داده‌ها از کدام پارتیشن باید استفاده شود، Directory Based Sharding عملکرد بهتری نسبت به نمونه قبل دارد. یکی از مزایای معماری فوق انعطاف‌پذیری زیادی است که ارائه می‌کند. در این حالت، توسعه‌دهندگان می‌توانند از الگوریتم اختصاصی خودشان برای توزیع داده‌ها بین پارتیشن‌های مختلف استفاده کنند. علاوه بر این، افزودن پارتیشن‌های جدید به‌شکل پویا ساده خواهد بود. تنها نقطه ضعف معماری فوق این است که اگر Lookup Table که نقطه شروع کوئری است، به هر دلیلی با مشکل روبه‌رو شود، عملکرد کل برنامه یا حداقل بخش‌های زیادی از آن از کار خواهند افتاد.

شکل 2

کلام آخر

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

اکنون به این پرسش مهم می‌رسیم که باید از شارد استفاده کنیم؟ این‌که باید یک پایگاه داده را بر مبنای معماری پارتیشن‌بندی پیاده‌سازی کنیم یا خیر، یکی از مباحث داغ دنیای توسعه برنامه‌های کاربردی دسکتاپی و وب‌محور است. برخی به‌دلیل پیچیدگی عملیاتی که این معماری به طراحی اضافه می‌کند، شاردینگ را تنها زمانی مورد استفاده قرار می‌دهند که اطمینان دارند پایگاه داده یک کسب‌وکار قرار است در آینده بزرگ شود و گسترش‌پذیری آن اجتناب‌ناپذیر است. به همین دلیل پیشنهاد می‌کنند تنها در شرایطی که پارتیشن‌بندی یک پایگاه داده ضروری است، باید از معماری فوق استفاده کرد. به‌طور کلی، اگر در پروژه‌های نرم‌افزاری که قصد توسعه آن‌ها را دارید با سناریوهای زیر روبه‌رو شدید، شاردینگ باید مورد استفاده قرار گیرد:

  • مقدار داده‌های برنامه از ظرفیت ذخیره‌سازی یک گره پایگاه داده فراتر می‌رود.
  • حجم عملیات نوشتن/خواندن‌ در پایگاه داده از آن‌چه یک گره منفرد می‌تواند انجام دهد، فراتر می‌رود و در نتیجه زمان پاسخ‌دهی یا انجام تراکنش‌ها طولانی می‌شود. در این حالت باید از شاردینگ استفاده کرد تا تاخیر در دسترسی به اطلاعات به کمترین میزان ممکن برسد.
  • پهنای باند شبکه از پهنای باند مورد نیاز یک گره پایگاه داده و برنامه کاربردی کمتر است که منجر به طولانی شدن زمان پاسخ‌گویی یا وقفه‌های طولانی‌مدت می‌شود.

■■■خطبه ۲۱۶ نهج البلآغه■■■

دعای زیبای حضرت علی (ع)

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

منبع:خطبه 216نهج البلاغه

■■■روش مخفی سازی عکسها در گوشی های اندروید■■■

نحوه پنهان کردن تصاویر شخصی در گوشی‌های اندروید

در این مطلب، روش‌های مختلف پنهان کردن تصاویر گالری از گوشی اندروید را به شما آموزش می‌دهیم.

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

در ادامه می‌توانید با این برنامه‌ها آشنا شوید.

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

استفاده از هر دو روش آسان است و در کوتاه‌ترین زمان می‌توان عکس‌ها را به کمک آن‌ها پنهان ساخت.

پنهان کردن عکس‌ها در برنامه Photos گوگل

برنامه Photos گوگل یکی از محبوب‌ترین برنامه‌های گالری روی دستگاه‌های اندرویدی به شمار می‌رود. خوشبختانه این اپ از یک ابزار داخلی با نام Locked Folder بهره می‌برد که امکان پنهان کردن عکس‌ها و ویدیو‌ها را به روش زیر فراهم می‌سازد.

ابتدا وارد برنامه Photos گوگل روی گوشی یا تبلت خود شوید. به تب Library در پایین صفحه مراجعه کنید و سپس منوی Utilities را انتخاب کنید. اکنون گزینه Set up Locked Folder را در صفحه جدید پیدا کنید و روی عبارت Get started در پایین آن بزنید.

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

برای انتقال تصاویر مورد نظر به فولدر گفته شده، به تب Photos در داخل اپ مراجعه کرده و سپس انگشت خود را روی عکس مورد نظر نگه دارید. حالا می‌توانید یک یا چندین فایل را روی حالت انتخاب شده بگذارید.

بعد از انتخاب عکس‌ها و ویدئو‌های مورد نظر، روی آیکن سه نقطه در گوشه بالایی صفحه بزنید.

از منوی باز شده گزینه Move to Locked Folder را انتخاب کنید و در پنجره بعدی گزینه تایید را بزنید.

در روشی جایگزین می‌توانید ابتدا تصویر مورد نظر را لمس کرده تا به حالت تمام صفحه تبدیل شود.

به بالا سوایپ کرده و سپس گزینه Move to Locked Folder را انتخاب کنید.

این روش برای انتقال تکی هر فایل به فولدر قفل شده کاربرد دارد.

پنهان کردن تصاویر

با رفتن به اپلیکیشن دوربین در گوشی‌های پیکسل ۳ و نسل‌های جدیدتر، می‌توان تصاویر ثبت شده را به صورت مستقیم درون Locked Folder ذخیره کرد.

درون برنامه دوربین روی آیکن گالری در گوشه بالایی صفحه بزنید و سپس از منوی Save to گزینه Locked Folder را انتخاب کنید.

به کمک روش‌های اشاره شده در بالا می‌توان تصاویر را به فولدر قفل شده برنامه Photos گوگل منتقل یا آن‌ها را به صورت مستقیم درون آن ذخیره کرد. حالا اگر بخواهید به این فولدر دسترسی داشته باشید، می‌توانید از مسیر زیر اقدام کنید.

برنامه Photos گوگل را باز کنید و سپس به تب Library مراجعه کنید.

قسمت Utilities را در تب گفته شده باز کنید.

اکنون می‌توانید گزینه Locked Folder را در پایین منوی Organize your library مشاهده کنید.

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

پنهان کردن تصاویر در گوشی‌های اندروید

توجه داشته باشید که Locked Folder قسمتی آفلاین از اپلیکیشن Photos گوگل محسوب می‌شود؛ در نتیجه عکس‌ها و ویدیو‌های قرار گرفته در آن با گوگل درایو همگام‌سازی نخواهد شد.

ابزار‌های ویرایش و به اشتراک‌گذاری تصویر برای فایل‌های درون این فولدر در دسترس قرار ندارند. در نهایت اگر اقدام به پاک کردن برنامه فوتوز کنید، تمامی اطلاعات قرار گرفته درون فولدر قفل شده نیز حذف می‌شوند.

مخفی کردن عکس در گالری سامسونگ

گوشی‌ها و تبلت‌های سامسونگ از قابلیتی با نام Secure Folder بهره می‌برند که امکانات مختلفی در زمینه پنهان کردن فا‌یل‌های مختلف را فراهم می‌سازد. برای فعال‌سازی قابلیت گفته شده و مخفی کردن عکس در محصولات سامسونگ به کمک آن، از طریق روش زیر عمل کنید.

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

روی آیکن سه نقطه در گوشه بالایی صفحه بزنید و سپس گزینه Edit buttons را انتخاب کنید.

حالا آیکن Secure Folder را به این منو منتقل کنید.

با لمس Secure Folder آن را فعال کنید. در صورتی که نمی‌خواهید آیکن برنامه در لیست اپلیکیشن‌ها نمایش داده شود، پس از طی کردن مراحل بعدی، می‌توانید دوباره آن را غیر فعال کنید.

به قسمت اپلیکیشن‌های دستگاه بروید و برنامه Secure Folder را پیدا کنید.

برنامه Secure Folder را باز و یک رمز عبور برای آن تعریف کنید.

اکنون از Secure Folder خارج شوید و به اپلیکیشن گالری بروید.

فایل‌های مورد نظر را انتخاب کرده و سپس با لمس گزینه منو در گوشه صفحه، گزینه Move to Secure Folder را انتخاب کنید. اکنون تصاویر و ویدیو‌های انتخاب شده از گالری اصلی پنهان می‌شوند و تنها در Secure Folder قابل دسترس خواهند بود.

برای خارج کردن فایل‌ها از Secure Folder ابتدا وارد برنامه آن شوید.

رمز عبور یا اثر انگشت خود را وارد کرده و سپس به گالری مراجعه کنید.

فایل‌های مورد نظر را انتخاب کرده و پس از لمس گزینه More در گوشه صفحه، گزینه Move out of Secure Folder را بزنید.

توجه داشته باشید که هنگام خارج کردن فایل‌ها از Secure Folder، در صورتی که در گذشته روی کارت حافظه ذخیره شده باشند، به یک فولدر جدید در گالری که روی حافظه داخلی قرار دارد منتقل خواهند شد.

پنهان کردن فایل‌ها به کمک اپلیکیشن‌های اختصاصی

برنامه‌های مختلفی برای مخفی کردن عکس در دستگاه‌های اندرویدی توسعه یافته‌اند که امکانات بیشتری را در مقایسه با ابزار‌های داخلی ارائه می‌کنند. اپلیکیشن Keepsafe یکی از همین عناوین است که توانسته به محبوبیت بالایی دست پیدا کند و امتیاز مناسبی هم در گوگل پلی دارد.

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

■■■نسخه جدید کالی لینوکس منتشر شد■■■

امروزه اکثرا سوال میپرسند که کالی لینوکس چیست و چرا در تست نفوذ و هک کاربرد دارد؟ لینوکس یک سیستم عامل کامپیوتری می باشد که به سبب قابلیت های فراوانی که دارد به عنوان یکی از محبوب ترین سیستم عامل ها شناخته می شود. این سیستم عامل به سبب خاصیت متن باز بودن دارای توسعه ها و نسخه های فراوانی می باشد که هر کدام از این نسخه ها برای کاربرد و هدف خاصی طراحی و توسعه داده شده اند.

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

لینوکس چیست؟

لینوکس در ابتدا یک سیستم عامل نبود و در واقع هسته ای برای به اشتراک گذاری کدها بین برنامه نویس ها بود تا اینکه بلاخره در سال ۱۹۹۳ اولین نسخه از سیستم عامل لینوکس منتشر و به عرضه عمومی گذاشته شد.

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

از سال ۱۹۹۳ تا کنون توزیع های متفاوتی از لینوکس ارائه شده است که هر کدام ویژگی خاص خود را داشته و برای هدف خاصی توسعه داده شده اند. اما باید این نکته را نیز متذکر شد که توزیع های متفاوت لینوکس از لحاظ قدرت تفاوت آنچنانی با یکدیگر نداشته و در نهایت این شما هستید که باید انتخاب کنید با توجه به نیازهای خود باید از چه توزیعی استفاده نمایید.

کالی لینوکس چیست؟

تا کنون بیش از صدها توزیع مختلف برای لینوکس توسط افراد و شرکت های مختلف ارائه شده است که هر کدام ویژگی های خاص خود را دارند.

کالی لینوکس چیست؟ دانلود کالی لینوکس

سیستم عامل هایی نظیر اوبونتو ، اوپن سوزه، فدورا، بک ترک و بسیاری دیگر که در این مطلب بیشتر تمرکز خود را معطوف سیستم عامل کالی لینوکس خواهیم نمود.

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

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

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

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

در حقیقت کالی لینوکس هم برای هکرها دارای ابزار فوق العاده ای بوده تا بتوانند به راحتی با استفاده از آن به سیستم های دیگر نفوذ کنند و هم برای متخصصین امنیت تا با استفاده از این ابزارها نقاط آسیب پذیری را شناسایی و برای رفع آن تلاش نمایند.

ابزارهای مختلف کالی لینوکس

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

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

 

کالی لینوکس چیست؟ دانلود کالی لینوکس

از جمله مهمترین ابزار تست نفوذ و هک که در کالی لینوکس به Top 10 tools معروف می باشد، عبارتند از:

  • Aircrack-ng : ابزاری جهت شنود و شکستن کلمه عبور در ارتباطات وایرلس
  • Burp Suite : ابزاری جهت نفوذ به سیستم های مبتنی بر وب که از پروتکل HTTP استفاده می کنند
  • Wireshark : ابزاری جهت تحلیل و آنالیز بسته ها در پروتکل های شبکه
  • Sqlmap : ابزاری برای تست نفوذ از طریق تزریق کد sql
  • Owasp Zap : شناسایی آسیب پذیری ابزارهای مبتنی بر وب
  • Metasploit : محیطی برای کد نویسی و ساخت ابزار هک
  • Nmap : ابزار جستجو و بررسی شبکه و شناسایی همه گره های فعال در شبکه
  • Maltego : ابزاری جهت شناسایی و جمع آوری اطلاعات قبل از انجام نفوذ
  • John the Ripper : ابزاری برای شکستن کلمه های عبور
  • THC Hydra : جهت انجام حملات بروت فورس

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

  • Information Gathering : شامل مجموعه ابزاری جهت جمع آوری اطلاعات
  • Web Application : شامل مجموعه ابزاری جهت تست نفوذ به برنامه های کاربردی مبتنی بر وب
  • Reporting Tools : ابزارهایی جهت گزارش گیری و جمع آوری اطلاعات
  • Hardware Hacking : ابزاری برای هک اندروید و Arduino
  • Stress Testing : مجموعه ابزاری برای آورلود کردن و تست بار سیستم
  • Reverse Engineering : مجموعه ابزاری جهت انجام مهندسی معکوس در سیستم ها
  • Sniffing/Spoofing : مجموعه ابزاری جهت انجام شنود و انجام حملات جعل هویت
  • Exploitation Tools : ابزاری جهت اجرای کدهای هک و نفوذ و Exploit
  • Wireless Attacks : مجموعه ابزاری جهت حمله به تاسیسات و شبکه های وایرلس
  • Password Attacks : ابزار شکستن کلمات عبور و پسوردها
  • Vulnerability Analysis : آنالیز و تحلیل نقاط آسیب پذیری سیستم و جمع آوری اطلاعات

کالی لینوکس قوی ترین ابزار هک و نفوذ

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

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

البته جدای از بحث دانش امنیتی باید به این نکته نیز اشاره کرد که به طور کلی عمل هک دیگران یک موضوع غیر اخلاقی بوده و حتی پیگرد قانونی نیز دارد.

اما با این حال یک متخصص امنیت و حتی یک توسعه دهنده وب یا اپلیکیشن، باید به اندازه کافی با این سیتم عامل و روش های نفوذ آن آشنایی داشته باشد و حتی خود با استفاده از این سیستم عامل یا برنامه های مشابه به تست برنامه ها و پروژه هایی که طراحی کرده است بپردازد تا نقاط آسیب پذیری آن را شناسایی و نسبت به رفع آن ها اقدام نماید.

دانلود فایل ایزو کالی لینوکس(Kali Linux 2022.1 iso)

  • دانلود – Kali Linux 64 Bit (2022.1) (پیشنهاد کالی بویز)
  • دانلود – Kali Linux 32 Bit (2022.1) (پیشنهاد کالی بویز)

دانلود فایل ایزو نسخه وی ام ور( Kali Linux 2022.1 VMware iso)

دانلود فایل ایزو نسخه ویرچوال باکس( Kali Linux 2022.1 VirtualBox iso)

دانلود فایل ایزو نسخه Kali Linux 2022.1 Live

دانلود فایل ایزو نسخه Kali Linux 2022.1 NetInstaller

موفق باشید.

■■■آموزش اجرای لینوکس روی اندروید■■■

اجرای لینوکس روی اندروید

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

 

آیا اندروید همان لینوکس است؟

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

با گذشت زمان، کلمه “لینوکس” به طور مترادف به توصیف هسته و همچنین سیستم عامل های مختلف تبدیل شده است. برخی از این هسته ها که بر پایه لینوکس هستند و معمولا توزیع لینوکس نامیده می شوند، عبارتند از کالی لینوکس، اوبونتو، Zorin و غیره که هر کدام برای هدف های خاصی طراحی شده اند.

چرا لینوکس را روی اندروید نصب کنیم؟ این موضوع می تواند برای هر شخص دلیل متفاوتی داشته باشد، برای مثال یک مهندس امنیت برای آنکه بتواند تمامی ابزارهای تست نفوذ را که برای کار خود نیاز دارید به همراه داشته باشد، لازم است که سیستم عامل کالی لینوکس را به همراه داشته باشد.

آیا گوشی یا تبلت من می تواند لینوکس را اجرا کند؟

برای اجرای لینوکس در اندروید، چندین راه وجود دارد که بستگی به روت بودن یا نبودن دیوایس اندرویدی شما دارد. حال روت بودن گوشی چیست؟ همانطور که در لینوکس یوزر ریشه (root) داریم که تمامی مجوزهای لازم برای انجام هر کاری را دارد، در گوشی های اندرویدی نیز به دلیل استفاده از هسته لینوکس در آن، میتوانیم این دسترسی ها را به یوزر خود بدهیم که اصطلاحا به این کار روت کردن گوشی می گویند.

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

برای نصب لینوکس در اندروید و بدون روت بودن دیوایس، می توانید از برنامه های زیر استفاده کنید:

  • Debian Noroot
  • Andronix
  • UserLAND

همچنین برای نصب لینوکس روی دستگاه اندروید روت شده می توانید از Linux Deploy استفاده کنید.

اجرای لینوکس با Debian Noroot در اندروید

بهترین راه برای اجرا کردن لینوکس بر روی دیوایس اندرویدی خود، استفاده از Debian Noroot است. مزیت این برنامه این است که Debian Buster را با یک لایه سازگاری بر روی گوشی شما نصب می کند که به شما امکان اجرای برنامه های Debian را بدون نیاز به روت کردن اندروید می دهد.

استفاده از UserLAND برای نصب لینوکس

برنامه دیگر برای اجرای لینوکس روی اندروید، UserLAND می باشد که جایگزین خوبی هم برای Debian Noroot است. این برنامه علاوه بر توزیع های Alpine، آرچ لینوکس، دبین، کالی و اوبونتو که دارد، به شما امکان نصب برنامه ها را هم می دهد.

قبل از نصب لینوکس، می‌توانید ابزارهایی مانند GIMP، Firefox و LibreOffice را نصب کنید. برای شروع نصب ابتدا برنامه را اجرا کرده و با شرایط و مقررات موافقت کنید. سپس یک گزینه را برای نصب انتخاب کنید.

نصب لینوکس در اندروید با استفاده از AndroNix

برنامه AndroNix دارای 8 توزیع مختلف لینوکس است که شامل اوبونتو، دبیان، مانجارو، فدورا، کالی، خالی، آلپاین و قوس می باشد. در میان آن ها، Ubuntu XFCE، Debian XFCE، Ubuntu KDE و Manjaro XFCE دارای نسخه‌های مود شده برای دستگاه‌های اندرویدی با چیپست‌های ARMv8 و نسخه‌های جدیدتر هستند. این نسخه‌های مود شده برای اجرا بر روی گوشی هوشمند شما بهینه‌سازی شده‌اند و مودهای آن به شما این امکان را می‌دهند از لینوکس (به‌ویژه اوبونتو) در اندروید نهایت لذت را ببرید.

برای نصب لینوکس در اندروید با Andronix، کافی است درون برنامه روی لینک مورد نظر ضربه زده و سپس Install را بزنید. برای تمام کردن فرایند باید با کپی کردن فرمان در ترمینال برنامه Termux و همچنین انتخاب یک محیط دسکتاپ، مراحل را دنبال کنید. فقط مطمئن شوید که Termux و یک برنامه مشاهده VNC (مانند VNC Viewer) نصب شده باشد. برای استفاده از محیط دسکتاپ لینوکس موردنظر خود، به VNC نیاز دارید.

روش هایی دیگر برای اجرای لینوکس در اندروید بدون نیاز به روت

آموزش نصب انواع توزیع های لینوکس روی اندروید روت شده و بدون روت

در حالی که تا اینجای مطلب چند روش خوب برای اجرای لینوکس در دستگاه اندرویدی را برای شما ارائه داده ایم، اما روش های دیگری نیز برای انجام این کار در دسترس هستند که عبارتند از:

  1. DeX: اگر دستگاه اندرویدی سامسونگ جدید دارید، می توانید سخت افزار خود را با DeX به حالت دسکتاپ تغییر دهید. اگرچه دقیقاً یک سیستم عامل لینوکس نیست، اما یک محیط دسکتاپ با هسته لینوکس است.
  2. به صورت ریموت: با استفاده از برنامه ای مانند Splashtop وصل شدن به سیستمی که لینوکس را اجرا می کند.
  3. Termux: برنامه ای مستقل، که بر اساس خط فرمان، به شما امکان اجرای برنامه های لینوکس در اندروید را می دهد.

بیشتر بخوانید: ابزارهای تست نفوذ در ترموکس اندروید

نصب لینوکس روی اندروید روت شده

برای کاربرانی که گوشی خود را روت کرده اند، نصب لینوکس ساده تر و سریعتر می باشد. اگر دستگاه روت شده دارید، می توانید نسخه های مختلف لینوکس را با استفاده از ابزار Linux Deploy بر روی اندروید نصب کنید.

ابتدا با نصب BusyBox شروع کنید که برخی از قابلیت‌های روت پیشرفته را ارائه می‌کند. سپس Linux Deploy را نصب کنید. در اولین اجرای برنامه، روی Start بزنید تا مطمئن شوید که مجوزهای root فعال هستند، سپس روی تنظیمات برنامه در گوشه پایین سمت راست کلیک کنید.

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

 

آموزش نصب انواع توزیع های لینوکس روی اندروید روت شده و بدون روت

برای مشاهده دسکتاپ لینوکس در گوشی خود، باید کادر Enable را در زیر رابط کاربری گرافیکی فعال کنید. همچنین مطمئن شوید که VNC برای زیرسیستم Graphics انتخاب شده است. سپس رزولوشن صفحه را در تنظیمات رابط کاربری گرافیکی به سلیقه خود تنظیم کنید.

در نهایت، از این منو خارج شده و سپس روی سه نقطه در گوشه بالا سمت راست بزنید و Install و سپس OK را انتخاب کنید.

پس از انجام این کار، VNC Viewer را نصب کنید. در Linux Deploy، روی Start بزنید تا لینوکس اجرا شود. سپس VNC Viewer را باز کرده و به localhost:5900 متصل شوید تا دسکتاپ لینوکس خود را با مشخصاتی که قبلا وارد کرده اید مشاهده کنید.

آموزش نصب انواع توزیع های لینوکس روی اندروید روت شده و بدون روت

پس از راه اندازی، می توانید نرم افزارهای سیستم عامل لینوکس را با استفاده از ترمینال به روش معمول نصب کنید

■■■کاربرد پایتون در هک وامنیت چیست■■■

 

.:: کاربرد پایتون در هک و امنیت ::.

 

 

» بررسی کاربرد پایتون در هک و امنیت پایتون یک زبان همه منظوره
سطح بالا، شیءگرا، اِسکریپتی و متن باز است ! که این قدرت را به برنامه نویسان میدهد تا در اکثر زمینه ها بتوانند کد نویسی کنند.

 

درمورد زبان برنامه نویسی پایتون ( Python )  ؟

» پایتون یک زبان همه منظوره، سطح بالا، شیءگرا، اِسکریپتی و متن باز است !

-» که توسط خیدو فان روسوم در سال ۱۹۹۱ در کشور هلند طراحی شد
فلسفهٔ ایجاد آن تأکید بر دو هدف اصلی خوانایی بالای برنامه‌های نوشته شده و کوتاهی و بازدهی نسبی بالای آن است، کلمات کلیدی و اصلی این زبان به صورت حداقلی تهیه شده‌اند و در مقابل کتابخانه‌ هایی که در اختیار کاربر است بسیار وسیع هستند، بر خلاف برخی زبان‌های برنامه‌نویسی رایج دیگر که بلاک‌های کد در آکولاد تعریف می‌شوند ( به‌ ویژه زبان‌هایی که از گرامر زبان سی پیروی می‌کنند ) در زبان پایتون از نویسه فاصله و جلو بردن متن برنامه برای مشخص کردن بلاک‌های کد استفاده می‌شود. به این معنی که تعدادی یکسان از نویسه فاصله در ابتدای سطرهای هر بلاک قرار می‌گیرند، و این تعداد در بلاک‌های کد درونی‌ تر افزایش می‌یابد. بدین ترتیب بلاک‌ های کد به صورت خودکار ظاهری مرتب دارند [ wiki ] !

 

 ویژگی های این زبان برنامه نویسی

  1. یادگیری آسان
  2. کتابخانه های فراوان در زمینه های مختلف از آنالیز تصویر و صدا تا کتابخانه های حوزه شبکه و تست نفوذ
  3. توسعه پذیری عالی
  4. خوانایی بالا و نزدیک به زبان انگلیسی (زبان انسان)
  5. دارای محیط کنسول و گرافیکی
  6. قابل استفاده در طراحی وبسایتهای بسیار قدرتمند
  7. توان همبستگی با زبان های C و ++C و COM و ActiveX و Java

 

 

کاربرد پایتون در هک و امنیت

» در کاربرد پایتون در هک و امنیت پایتون با توجه به داشتن کتابخانه های بیشمار در زمینه هک و امنیت این کمک را به افراد میکند
تا به راحتی کدهای جالب و  مفیدی در زمینه هک و امنیت را سورس نویسی کنند کتابخانه هایی در زمینه تروجان نویسی و حملات دیداس و بروت فورس و.. را می توان نام برد

 

ایجاد کانکشن و ارسال و دریافت متن و فایل

» پایتون کتابخانه ای به اسم Socket دارد که این کتابخانه به افراد اجازه میدهد
تا یک ارتباط دو طرفه را ایجاد کنند و برای یکدیگر فایل یا متن ارسال کنند ، حال با کمی خلاقیت می توان یک ابزار تروجان یا همان رت را برای خود کد نویسی کرد

 

مانیتورنیگ کیبرد و موس

» پایتون کتابخانه های متفاوتی در زمینه مانیتوزینگ موس و کیبرد دارد که یکی از محبوب ترین کتابخانه ها کتابخانه Pynput است که با این کتابخانه قادر هستید تمام رخداد های موس و کیبرد را مشاهده و ذخیره کنید و با کمی خلاقیت می توان یک ابزار KeyLogger را برای خود ایجاد کرد.

 

رمزنگاری متن ها و فایل ها

» پایتون کتابخانه های مختلفی در زمینه رمزنگاری و رمزگشایی دارد که می توان برای مثال به کتابخانه cryptography اشاره کرد که با استفاده از این کتابخانه و یا کتابخانه های مشابه می توان متن ها و فایل ها ی خود را رمزنگاری کرد و با کمی خلاقیت می توان ابزار هایی چون باج افزار (Ransomware) را ایجاد کرد !

 

اکسپلویت نویسی با پایتون

» پایتون یکی از زبان های قدرتمند در زمینه اکسپلویت نویسی به شمار می رود
مثلا شما با استفاده ار کتابخانه Requests می توانید ده ها اکسپلویت برای آسیب پذیری های تحت وب کد نویسی کنید و از آنها استفاده کنید.

■■■آموزش کشف XXSدر دنیای واقعی■■■

در این قسمت قصد داریم با استفاده از یکی از اکسپلویت های ثبت شده در سیستم مدیریت محتوا  Lifary ، آسیب پذیری Xss رو که در یکی از وبسایت های دانشگاهی رخ داده است را بررسی کنیم.

 

 

این آسیب پذیری در سال ۲۰۱۲ کشف شده است اما متاسفانه چون دوستان علاقه ای به آپدیت CMS های خودشان ندارند بسیاری از سایت های ایرانی همچنان درگیر این آسیب پذیری هستند. وبسایتی که قصد دارم تا با استفاده از آن این آسیب پذیری را را برای شما شرح دهم وبسایت دانشگاه آزاد اسلامی واحد شیراز می باشد.

 

 

همانطور که مشاهده می کنید این وبسایت از CMS ، Liferay استفاده می کند. در قسمت توضیحات داده شده در اکسپلویت ثبت شده نوشته شده است که این آسیب پذیری در قسمت /=html/portal/upload_progress_poller.jsp?uploadProgressId رخ داده است.

 

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

 

 

در ابتدا پارامتری مانند پارامتر را به آن تزریق می کنیم.

 

 

 

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

 

 

 

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

 

 

حال تنها یک مشکل بر سر راه ماست آن هم این است که توانایی چاپ متن را نداریم که آن را می توانیم با استفاده از تابع String.fromCharCode بایپس کنیم.

 

■■■10ترفند درسیستم عامل مک(MAC)■■■

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

فرقی نمی کند از MacOS Catalina یا نسخه های قبلی مک استفاده می کنید( البته به دلایل مختلف باید MacOS Catalina را بارگیری کرده و از آن استفاده کنید) شما می توانید میانبرهای ساده را برای آسان و سریع تر کردن کارهای خود استفاده کنید.

1. پوشه های دسکتاپ خود را به ایموجی تبدیل کنید

10 ترفند جالب سیستم عامل مک

تبدیل شکل پوشه ها به ایموجی

با تبدیل آیکون پوشه های دسکتاپ به ایموجی می توانید رابط گرافیکی سرگرم کننده ای برای خود درست کنید:

  1. در دسکتاپ خود با استفاده از مسیر File > New folder یک پوشه ایجاد کنید.
  2. با جستجو در گوگل ایموجی مورد نظر خود را پیدا کنید( به عنوان مثال ایموجی یک قلب یا یک ستاره… )
  3. تصویری را که انتخاب کردید با استفاده از درگ اند دراپ روی دسکتاپ خود رها کنید.
  4. روی تصویر دوبار کلیک کنید تا preview باز شود.
  5. برای شفاف سازی تصویر نماد نشانه گذاری را فشار دهید( مثل یک عصای جادویی به نظر می رسد) بر روی پس زمینه عکس کلیک کنید تا یک طرح متحرک بر روی آن ظاهر شود و سپس مسیر زیر را دنبال کنید Edit > Cut.
  6. دوباره بر روی نماد نشانه گذاری کلیک کرده و یک کادر را در اطراف ایموجی خود قرار دهید.
  7. بر روی گزینه edit کلیک کرده و همه را انتخاب کنید و Command + C را فشار دهید.
  8. به پوشه اصلی که در دسکتاپ خود ایجاد کرده اید برگردید و روی آن راست کلیک کنید.
  9. بر روی گزینه Get Info کلیک کنید.
  10. در صفحه نمایش داده شده، روی نماد پوشه آبی کلیک کنید و Command + V را فشار دهید در این صورت باید ایموجی شما ظاهر می شود.

2. دور زدن و ریست کردن گذرواژه و تنظیم مجدد آن در مک

10 ترفند جالب سیستم عامل مک

ریست کردن گذرواژه در مک

اگر رمز عبور سیستم مک خود را فراموش کرده اید نگران نباشید این سیستم دارای دو روش آسان برای ورود به سیستم در صورت فراموشی گذرواژه است.

حالت بازیابی:

  1. سیستم مک را خاموش کنید.
  2. Command + R را فشار داده و نگه دارید سپس دکمه روشن و خاموش را فشار دهید، Command + R را نگه دارید تا یک نوار پیشرفت در زیر لوگو اپل روی صفحه نمایش ببینید، در این حالت مک شما در حالت ریکاوری است.
  3. در نوار منو بر روی Utilities > Terminal کلیک کنید. یک پنجره ظاهر خواهد شد، در آن عبارت “resetpassword” را تایپ کنید و سپس بازگشت را فشار دهید.
  4. پنجره های ترمینال را ببندید و ابزار Reset Password Tool را پیدا کنید.
    اکنون شما لیستی از تمام حساب های کاربری در مک خود خواهید دید. اگر رمز عبور را برای حساب خود تنظیم مجدد کنید باید برای هر کاربر دیگر یک حساب جدید تنظیم کنید.

Apple ID:

  1. بعد از وارد کردن چندین بار گذرواژه اشتباه ممکن است از شما سوال شود که آیا می خواهید آن را با اپل ID خود تنظیم مجدد کنید یا می توانید بر روی آیکون علامت سوال در قسمت رمز عبور و پس از آن آیکون arrive کلیک کنید تا همان روند و مسیر را پیش بروید.
  2. آدرس ایمیل و رمز عبور Apple ID خود را وارد کنید. هشدار پاپ آپ به شما اطلاع می دهد که یک صفحه جدید که گذرواژه های شما را ذخیره می کند ایجاد می شود، در اینجا باید ورود به آن صفحه را تایید کنید.
  3. برای ایجاد رمز عبور جدید برای حساب کاربری خود بقیه اعلان ها را با توجه به راهنمایی سیستم دنبال کنید.

3. محاسبات و تبدیل واحد پول در Spotlight

10 ترفند جالب سیستم عامل مک

ابزار spotlight در مک (معرفی 10 ترفند سیستم عامل مک)

Spotlight یکی از ویژگی های کم ارزش مک است، اما وقتی بدانید که چگونه از آن استفاده کنید بسیار به سرعت عمل شما کمک خواهد کرد به عنوان مثال شما می توانید از آن به عنوان یک ماشین حساب برای تبدیل ارز استفاده کنید.

برای باز کردن Spotlight روی نماد ذره بین در سمت چپ بالای نوار منو کلیک کنید یا روی صفحه کلید خود Command + Space را فشار دهید برای استفاده از آن به عنوان یک ماشین حساب کافی است آنچه را که می خواهید در نوار جست و جو محاسبه کنید تایپ کنید( به عنوان مثال “919+1246/2”) و جواب آن به صورت نتیجه یک جست و جو ظاهر می شود.

برای استفاده از Spotlight به عنوان مبدل ارز کافی است مبلغ مورد نظر را با نماد ارز آن (به عنوان مثال $100 یا £100) تایپ کنید و نتایج جست و جو با داده های تهیه شده از یاهو نرخ تبدیل ارز را برای شما مشخص می کند.

4. اسناد را در برنامه Preview یا Mail امضا کنید

اگر ایمیلی برای شما ارسال شده باشد و قرار باشد شما آن را امضا کنید دیگر نیازی نیست مراحل خسته کننده چاپ  و امضا و اسکن دوباره آن را انجام دهید مک به شما این اجازه را می دهد که اسناد را مستقیما در دستگاه خود در پیش نمایش امضا کنید.

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

5. تایپ ایموجی با استفاده از صفحه کلید

ایموجی فقط برای متن های تلفن همراه شما نیست. تقریبا در هر صفحه وب یا برنامه (از جمله Google Docs  و  Microsoft Word) می توانید به نوار منو بروید و بر روی Edit > Emoji & Symbols کلیک کنید، اکنون جعبه ای با ایموجی برای شما باز می شود و می توانید هر صفحه ای را که روی آن کار می کنید به آن اضافه کنید یا اینکه می توانید از میانبر صفحه کلید زیر استفاده کنید: Control + Command + Space.

6. استفاده از Split View برای کار کردن همزمان با دو برنامه

10 ترفند جالب سیستم عامل مک

split view در مک (معرفی 10 ترفند سیستم عامل مک)

با مک و با استفاده از ابزار Split View می توانید بدون تغییر اندازه و ایجاد اختلال در استفاده از برنامه های دیگر، در دو برنامه در کنار هم و به صورت همزمان کار کنید.

  1. در MacOS Catalina به گوشه سمت چپ بالای یک پنجره بروید و روی دکمه سبز رنگ کلیک کرده و نگه دارید.
  2. روی دکمه سبز رنگ بالای صفحه کلیک کرده و نگه دارید و پنجره را به سمت چپ یا راست بکشید و به دیواره بغل صفحه بزنید تا کاشی کاری و ترتیب برنامه ها درست شود.
  3. برای خارج شدن از صفحه نمایش اسپلیت می توانید کلید Esc از صفحه کلید خود را فشار دهید.

7. ایجاد میانبر

احتمالا با میانبرهای صفحه کلید مک مانند Command+C برای کپی کردن و Command+V برای پیست کردن آشنا هستید. اما باز هم می توانید میانبرهای مخصوص خودتان در صفحه کلید ایجاد کنید تا به هر چیزی از منو که دوست دارید دسترسی پیدا کنید.

  1. مسیر زیر را دنبال کنید System Preferences > Keyboard > Shortcuts > App Shortcuts و سپس بر روی نماد + کلیک کنید.
  2. با کلیک کردن بر روی + جعبه ای نمایش داده می شود که به شما این امکان را می دهد، برنامه مورد نظر، نام دستور منو و میانبر صفحه کلید خود را انتخاب کنید.
  3. پس از اتمام کار بر روی Add ضربه بزنید.

8. تنظیم صدا با سرعت کمتر

گاهی اوقات تفاوت بین هر مرحله از صدا در مک شما بیشتر از آن چیزی است که فکر می کنید به عنوان مثال برای زیاد کردن صدای یک پادکست یا یک ویدیو ممکن است صدا در طول بازه های طولانی ای زیاد شود.( به صورت ناگهانی از صدای کم به صدای زیاد برسد) اگر میخواد بازه های افزایش صدای سیستم را کوچک تر کنید، همانطور که کلید کاهش یا افزایش صدا را فشار می دهید کلید + همراه با پیکان رو به بالا نگه دارید.
در این صورت جعبه Sound برای شما به نمایش در می آید و این امکان را دارید که صدا را به بازه های کوچکتری تقسیم کنید.

9. تغییر نام گروهی پرونده ها

لازم نیست یک دسته از فایل ها یا عکس ها را به صورت تکی در مک خود تغییر نام دهید بلکه فقط کافی است به Finder بروید، با انتخاب یکی و نگه داشتن شیفت و کلیک کردن روی گروه عکس ها یا اسنادی را که می خواهید تغییر نام دهید انتخاب کنید و راست کلیک کرده و بر روی گزینه ای شبیه Rename X کلیک کنید.

یا اینکه می توانید بعد از انتخاب موارد دلخواه بر روی نماد cog کلیک کرده و گزینه Rename X را از آن جا انتخاب کنید، در آخر می توانید متن را جایگزین کنید.

10. تنظیم یا پنهان کردن نوار منو

اگر نمی خواهید نوار منو را در صفحه خود داشته باشید کافی است مسیر زیر را دنبال کنید System Preferences > General و سپس بر روی Automatically hide کلیک کنید.

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

■■■ 10زبان اصلی برنامه نویسان وهکرها■■■

 

 

1. پایتون در زبان برنامه نویسی هکر ها :

 

زبان برنامه نویسی هکر ها 1

 

» پایتون یکی از بهترین زبان برنامه نویسی برای مباحث هک است هکرهای !
اغلب از این زبان برنامه نویسی پویا برای اسکریپت نویسی برنامه های هک درخواستی
خود استفاده می کنند. از تست نفود به  سرورهای گرفته تا گوشی ها ، پایتون به شما امکان می دهد در صورت استفاده از راه درست تقریباً هر کاری انجام دهید.

 

  • ماهیت تعبیر شده پایتون به آن اجازه می دهد بدون نیاز به تألیف اجرا شود.
  • زبانی با خواندن آسان که برای شروع عالی هست.
  • دارای ماژول های فراوان در اکثر زمینه ها
  • یکی از بهترین زبان برنامه نویسی برای هک شدن در سرورهای وب
  • اسکریپت نویسی آسان
  • پایتون به شما امکان می دهد یک جستجوی سریع شبکه هدف را انجام داده و نمونه سازی را بسیار سریعتر انجام دهید

 

2. SQL

 

زبان برنامه نویسی هکر ها

 

» SQL مخفف Structured Query Language است و یکی از محبوب ترین زبان برنامه نویسی !
برای هکرها هست. این زبان برنامه نویسی برای پرس و جو و واکشی اطلاعات از پایگاه داده ها استفاده می شود. از آنجا که بیشتر نرم افزارهای مبتنی بر وب اطلاعات ارزشمندی مانند اعتبار کاربر را به نوعی از بانک اطلاعاتی ذخیره می کنند ، SQL بهترین زبان برنامه نویسی برای هک کردن  پایگاه داده است. بدون درک کامل SQL ، شما قادر به مقابله با حملات پایگاه داده نخواهید بود.

 

  • پایگاه داده های محبوب SQL شامل MySQL ، MS SQL و PostgreSQL است.
  • SQL اغلب توسط هکرها برای به دست آوردن رمزهای غیرمجاز برای اجرای نمایش داده های غیر مجاز استفاده می شود.
  • هکرهای کلاه سیاه از این زبان برای حملات SQL استفاده میکنند
  • SQL یک زبان برنامه نویسی سنتی نیست و فقط برای برقراری ارتباط با بانکهای داده استفاده می شود.

 

3. C

 

زبان برنامه نویسی هکر ها

 

» سطح پایین C در مقایسه با سایر زبانهایی که برای برنامه نویسی هک مورد استفاده قرار می گیرند !
هنگام دستیابی به اجزای سخت افزاری سطح پایین مانند RAM ، حاشیه ای ایجاد می کند. متخصصان امنیت اکثراً هنگام نیاز به دستکاری در سخت افزار و منابع سیستم در سطح پایین ، از این زبان استفاده می کنند. C همچنین امکان نوشتن اسکریپت های برنامه نویسی سریع سوکت را به  نفوذگرها  می دهد.

 

  • C یک زبان برنامه نویسی سریع سطح پایین است.
  • بیشتر سیستم های مدرن از جمله Windows و Unix با استفاده از C ساخته شده اند ، بنابراین اگر می خواهید این سیستم ها را بطور کامل درک کنید ، تسلط بر این زبان ضروری است.
  • C اغلب برای دستیابی به سطح پایین به حافظه و فرآیندهای سیستم پس از به خطر انداختن سیستم مورد استفاده قرار می گیرد.
  • متخصصان امنیتی کهنه کار اغلب از C برای شبیه سازی library highjacking attack استفاده می کنند.

 

4. JavaScript

 

کاربرد جاوا اسکریپت در هک

 

» جاوا اسکریپت مکمل زبان PHP هست بنابراین ، آن به بهترین زبان برنامه نویسی !
برای هک کردن برنامه های تحت وب تبدیل شده است. متخصصان امنیتی غالباً از روش هکرهای
کلاه سیاه برای نوشتن اسکریپت های متقابل در جاوا اسکریپت تقلید می کنند و به یک زبان خوب برای هک کردن برنامه های وب پیچیده تبدیل شده است

 

  • یکی از زبان های مهم برای ساخت اسکریپت XSS
  • جاوا اسکریپت می تواند DOM مرورگر را بسیار آسان دستکاری کند ، بنابراین آن را به یک راه حل مناسب برای ساخت کرم های اینترنتی تبدیل می کند.
  • این می تواند برای تقلید از حملات نه تنها در سمت سرور بلکه در سمت کلاینت نیز مورد استفاده قرار گیرد
  • جاوا اسکریپت یک زبان واضح برای ایجاد برنامه های هک تبلیغاتی مزاحم است که در زمان های اخیر به طور فزاینده ای افزایش می یابد

 

5. PHP

 

زبان برنامه نویسی مهم هکر ها

 

» PHP مخفف Hypertext PreProcessor است ، یک زبان برنامه نویسی
پویا که روی آن CMS امروزی مانند WordPress و Drupal ساخته شده است.
از آنجا که بیشتر وب سایتهای شخصی که در اینترنت مشاهده می کنید مبتنی بر این CMS ها است ، دانش عمیق از PHP ضروری برای به خطر انداختن چنین شبکه هایی است. بنابراین ، اگر هک کردن وب طاقچه شماست ، مطمئناً توصیه می کنیم مهارت های PHP خود را تیزتر کنید.

 

  • PHP در اسکریپت نویسی سمت سرور بسیار مورد استفاده قرار می گیرد،
    بنابراین اگر می خواهید برنامه های هک کردن سرور را توسعه دهید ، دانش این زبان برنامه نویسی هک ضروری است.
  • وب سایت های قدیمی تر PHP معمولاً حاوی اسکریپت های deprecated scripts هستند ، با دستکاری آنها می توان دسترسی آسان به سرورها را فراهم کرد.
  • PHP بدون شک یکی از بهترین زبان برنامه نویسی برای هک کردن وب سایت های شخصی است

 

6. ++C

زبان برنامه نویسی هکر ها

 

» در زبان برنامه نویسی هکر ها این زبان احتمالاً یکی از بهترین زبان برنامه نویسی برای هک کردن نرم افزارهای شرکتی است !
از آنجا که بیشتر نرم افزارهای شرکتی تحت مجوز اختصاصی قرار می گیرند و غالباً نیاز به فعال سازی پولی دارند ، هکرها معمولاً برای دور زدن این کار نیاز به انجام مهندسی معکوس دارند. ++C سطح دسترسی کم لازم برای تجزیه و تحلیل کد دستگاه و دور زدن چنین طرح های فعال سازی را فراهم می کند. بنابراین ، اگر می خواهید نرم افزارهای سازمانی را خراب کنید یا برنامه های هک کردن اختصاصی را خودتان بسازید ، تسلط بر ++C باید اولویت اصلی شما باشد.

 

  • ماهیت شی گرا ++C به هکرها امکان می دهد برنامه های هک سریع و کارآمد امروزی را بنویسند.
  • ++C به صورت استاتیک تایپ می شود ، به این معنی که می توانید در زمان کامپایل از بسیاری از اشکالات پیش پا افتاده جلوگیری کنید.
  • امکان دسترسی به اجزای سیستم سطح پایین باعث می شود هکرها بتوانند به راحتی نرم افزار مهندس شرکت را با این زبان برنامه نویسی معکوس کنند.

 

7. JAVA

 

زبان برنامه نویسی هکر ها 7

 

» جاوا پرکاربردترین زبان برنامه نویسی در صنعت است.
بسیاری از وب سرورهای مدرن مانند Apache Tomcat و Spring MVC را قدرت می دهد.
علاوه بر این ، با شروع اندروید ، اکنون کد جاوا بیش از 3 میلیارد دستگاه تلفن همراه دارد. بنابراین ، این زبان علی رغم آنچه بسیاری ممکن است باور کنند ، هنوز هم مرتبط است. اگر به دنبال بهترین زبان برنامه نویسی برای هک شدن در دستگاه های تلفن همراه هستید ، جاوا زبان شماست.

 

  • درست مانند ++C ، جاوا نیز توسط هکرها مورد استفاده قرار می گیرد تا بتواند نرم افزارهای پرداخت شده توسط مهندس را معکوس کند.
  • این زبان بسیار زیاد توسط نفوذگران حرفه ای برای مدیریت سرورهای مقیاس پذیر برای ارائه بارهای بار استفاده می شود.
  • جاوا امکان توسعه برنامه های هک را برای هکرهای اخلاقی حرفه ای امکان پذیر می سازد

 

8. Ruby

زبان برنامه نویسی هکر ها 8

 

» یکی از بهترین زبان های برنامه نویسی برای هک کردن !
سیستم های شرکتی چند منظوره، Ruby از لحاظ نحوی بسیار شبیه پایتون است.
اگرچه هر دو زبان در اتوماسیون برنامه های هک معمول عالی هستند ، روبی بسیار متمرکز بر وب است. به دلیل قابلیت انعطاف پذیری برتر که هنگام نوشتن سوءاستفاده از آن استفاده می کند، مسلماً یکی از بهترین زبان های برنامه نویسی برای هک کردن است. به همین دلیل است که Metasploit ، معروف ترین چارچوب تست نفوذ ، Ruby را به عنوان زبان اصلی خود برگزید.

 

  • یکی از بهترین زبانها برای اکسپلوت نویسی
  • روبی اغلب توسط هکرهای کهنه کار برای نوشتن اسکریپت های CGI پس از به خطر انداختن شبکه استفاده می شود.

 

9- Perl

 

زبان برنامه نویسی هکر ها 9

 

» علیرغم آنچه ممکن است فکر کنید، بانکهای اطلاعاتی پرل هنوز بخش بزرگی
از ابزارهای شرکت را در اختیار دارند. اگرچه این زبان برنامه نویسی هک مدت ها است
که جذابیت خود را از دست داده است ، اما بسیاری از سیستم های قدیمی هنوز از Perl استفاده می کنند. همانطور که راه حل go-to راه برای ساختن نرم افزار میراث یونیکس بود ، این زبان هنوز هم یکی از بهترین زبان های برنامه نویسی برای هک کردن در چنین دستگاه های قدیمی است. یک هکر چند زبانه از Perl برای تهیه بخش های مختلف برنامه های هک کردن خود استفاده می کند – از بهره برداری از ساختمان گرفته تا ساخت payloads و بک دورها.

 

  • Perl هنوز هم بهترین زبان در دسترس برای دستکاری پرونده های متنی در سیستم های یونیکس است.
  • ماهیت گسترده پرل به هکرها اجازه می دهد تا با این زبان طیف گسترده ای از برنامه های هک را ایجاد کنند
  • Perl با رایج ترین سیستم ها بسته بندی شده است ، بنابراین به اسکریپت های Perl اجازه می دهد تا با طیف گسترده ای از سیستم ها اجرا شوند.

 

10. Assembly

 

زبان برنامه نویسی هکر ها 10

 

» به نظر می رسد اسمبلی بهترین زبان برنامه نویسی برای هک کردن سیستم هاست !
،یکی از قدرتمندترین و در عین حال دشوار برای یادگیری هک کردن کد نویسی است. آنچه اسمبلی را برای تهیه برنامه های هک سریع و کارآمد مناسب می کند ، توانایی آن در دستکاری فرآیندهای سیستم سطح پایین با سهولت است. همچنین مناسب ترین زبان برنامه نویسی برای ساختن نرم افزارهای مخرب مانند ویروس ها و تروجان ها است. بنابراین ، اگر بتوانید در برابر منحنی یادگیری شیب آن مقاومت کنید ، نتیجه خوشایند خواهد بود.

 

  • زبان اسمبلی به هکرها امکان دستکاری سیستم ها به طور مستقیم در سطح معماری را می دهد.
  • شما به راحتی می توانید دسترسی پردازنده را تغییر داده و دستورالعمل سیستم های مصالحه را با اسمبلی اجرا کنید.
  • شما به راحتی می توانید برنامه های پیچیده هک ایجاد کنید