۱۰ کاری که پس از نصب کالی لینوکس باید انجام دهید | به همراه ویدئو

دانلود دوره Forensics With Kali Linux

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

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

1) نصب Git

Git یک نرم‌افزار متن باز برای کنترل نسخه (Version Control) است. از این نرم‌افزار می‌توان برای اشتراک و ویرایش کد به صورت مشارکتی استفاده کرد، ولی در راهنماهای ما معمولا به عنوان ابزار اصلی کپی (یا clone کردن) مخازن کدی استفاده می‌شود که بر روی GitHub یافت می‌شوند. برای متخصصان تست نفوذی که به دنبال گسترش مجموعه ابزارهای خود فراتر از ابزارهای موجود در مخازن پیش‌فرض کالی هستند، Git یک ابزار ضروری است.

با دستور apt-get زیر می‌توان Git را نصب کرد.

~apt-get install git

برای ثبت نام و شرکت در دوره PWK (تست نفوذ با کالی) روی لینک زیر کلیک کنید

2) پیکربندی نام‌های مستعار Bash (یا Bash Aliases) 

Aliasهای Bash برای ایجاد دستورات میانبر شخصی‌سازی‌شده عالی هستند. برای مثال می‌توانیم کاربرد دستور ls را به گونه‌ای تغییر دهیم که به طور خودکار آرگومان‌های پراستفاده‌ی ما را استفاده کند. در زیر مثالی از خروجی دستور ls در حالت عادی را می‌بینید.

ls

 androidbins.txt                                      folder-pictures.png     smtp.cracked         text-x-generic.png
 bogus_gmail.creds                                    folder.png              smtp.list            Windows-10
 dumpzilla-b3075d1960874ce82ea76a5be9f58602afb61c39   package-x-generic.png   text-x-generic.ico  'Windows 10 Icons'


در زیر همین خروجی را پس از ایجاد Alias برای ls می‌بینید.

ls

total 220K
-rw-------  1 root root  15K Aug 24  2015  folder-pictures.png
-rw-------  1 root root 8.7K Aug 24  2015  folder.png
-rw-------  1 root root  11K Aug 24  2015  package-x-generic.png
-rw-------  1 root root 5.5K Sep  3  2015  text-x-generic.png
drwxr-xr-x 12 root root 4.0K May 31 00:44 'Windows 10 Icons'/
drwxr-xr-x 18 root root 4.0K May 31 00:44  Windows-10/
-rwxr-x---  1 root root 103K May 31 00:49  text-x-generic.ico*
drwxr-xr-x  5 root root 4.0K Jun 11 21:57  dumpzilla-b3075d1960874ce82ea76a5be9f58602afb61c39/
-rw-r--r--  1 root root   52 Jul  5 18:13  bogus_gmail.creds
-rw-r--r--  1 root root  15K Jul  5 18:28  smtp.list
-rw-r--r--  1 root root  181 Jul  5 18:43  smtp.cracked
-rw-r--r--  1 root root  23K Jul 23 18:18  androidbins.txt
drwxr-xr-x  5 root root 4.0K Jul 23 19:22  ./
drwxr-xr-x 23 root root 4.0K Aug  9 04:25  ../

همان‌طور که می‌بینید خروجی خیلی طولانی‌تری گرفتیم. دستور ls اکنون به طور خودکار از آرگومان‌های –l، -a، -t، -h و –r استفاده می‌کند. این آرگومان‌ها به ls فرمان می‌دهند که از قالب لیست استفاده کند (-l)، تمام فایل‌ها را لیست کند (-a) – که شامل فایل‌های مخفی (hidden) هم می‌شود- و اندازه‌ی تمام فایل‌ها را در قالبی که برای انسان قابل خواندن باشد چاپ کند (-h).

Alias تنظیم‌شده در این مثال خروجی را بر اساس زمان آخرین تغییرات فایل (-t) نیز مرتب کرده و ترتیب لیست را برعکس می‌کند (-r) تا فایلی که زمان کمتری از تغییر آن گذشته در پایین ترمینال ظاهر شود. این مجموعه‌ی آرگومان‌ها تنظیمات شخصی من برای ls است، ولی شما می‌توانید تنظیمات متفاوتی برای آن در نظر بگیرید.

برای ایجاد Aliasها، با استفاده از یک نرم‌افزار ویرایش متن مانند nano یا نرم‌افزاری مشابه آن فایل /root/.bash_aliases را باز کنید. برای ایجاد Alias خط زیر را به این فایل اضافه کنید.

alias ls='ls --color=always -rthla'

هم‌چنین می‌توان پا را یک قدم جلوتر گذاشت و توابع پیچیده‌تری را به فایل .bash_aliases اضافه کرد. در کد زیر یک مثال ساده از تابعی می‌بینید که برای این طراحی شده که کالی لینوکس را کاملا به‌روز نگه دارد.

function apt-updater {
	apt-get update &&
	apt-get dist-upgrade -Vy &&
	apt-get autoremove -y &&
	apt-get autoclean &&
	apt-get clean &&
	reboot
	}

بعد از ذخیره‌ی تغییرات ایجادشده در فایل .bash_aliases، باید یک پنجره‌ی ترمینال جدید باز کنید تا تغییرات اثر کنند. اجرای این تابع جدید apt-updater مجموعه‌ای از فرمان‌های apt-get را اجرا می‌کند که به طور خودکار سیستم شما را به‌روزرسانی می‌کنند. عملگر منطقی and (&&) تضمین می‌کند که اگر اجرای یک دستور موفقیت‌آمیز نبود، تابع سراغ اجرای دستور بعدی نرود.

apt-updater

برای مشاهده‌ی آموزش ویدئویی به پایین صفحه مراجعه کنید. 

3) ایجاد یک کاربر جدید با اختیارات محدود

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

4) نصب یک مالتی‌پلکسر ترمینال

مالتی‌پلکسر یک شبیه‌ساز ترمینال است که ترمینال را به چند بخش یا کاشی (tile) تقسیم کرده و امکان بازکردن چندین سشن ترمینال در یک پنجره را به وجود می‌آورد. مزیت اصلی این کار این است که می‌توانیم تمام سشن‌های باز ترمینال را در یک جا ببینیم و چندین پنجره را روی هم باز نمی‌کنیم. در تصویر زیر مثالی از یک مالتی‌پلکسر را می‌بینید.

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

Tilix در مخازن APT کالی لینوکس موجود است و می‌توان آن را با دستور زیر نصب کرد.

apt-get install tilix

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libgtkd-3-0 libphobos2-ldc-shared78 libvted-3-0 tilix-common
Suggested packages:
  python-nautilus
The following NEW packages will be installed:
  libgtkd-3-0 libphobos2-ldc-shared78 libvted-3-0 tilix tilix-common
0 upgraded, 5 newly installed, 0 to remove and 466 not upgraded.
Need to get 10.7 MB of archives.
After this operation, 49.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

5) ابزارهای هک محبوب خود را نصب کنید

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

  • Aircrack-ng: امکانات کرک پروتکل‌های WEP/WPA وایرلس
  • BeEF: چارچوب اکسپلویت مرورگر از طریق برنامه‌های تحت وب.
  • Burp Suite: نرم‌افزار گرافیکی طراحی‌شده برای امنیت برنامه‌های تحت وب.
  • Hydra: ابزار حمله‌ی Brute-Force برای به‌دست‌آوردن رمز عبور.
  • Nikto: اسکنر تحت وب امنیت سرور
  • Maltego: ابزار متن باز برای فارنزیک و جمع‌آوری اطلاعات.
  • Nmap: ابزار اسکنر پورت و Network Mapping.
  • Wireshark: نرم‌افزار گرافیکی برای تحلیل ترافیک شبکه.

این ابزارها را می‌توان با استفاده از دستور زیر نصب کرد.

با ابزارهای برتر تست نفوذ 2020 آشنا شوید

apt-get install maltego metasploit-framework burpsuite wireshark aircrack-ng hydra nmap beef-xss nikto

Reading package lists... Done
Building dependency tree
Reading state information... Done
hydra is already the newest version (8.6-1kali1).

The following NEW packages will be installed:
  beef-xss binfmt-support burpsuite fastjar fonts-droid-fallback fonts-lato
  fonts-noto-mono ghostscript gsfonts imagemagick imagemagick-6-common
  imagemagick-6.q16 jarwrapper java-wrappers javascript-common libc-ares2
  libcupsfilters1 libcupsimage2 libdjvulibre-text libdjvulibre21 libdouble-conversion1
  libfftw3-double3 libgmp-dev libgmpxx4ldbl libgs9 libgs9-common libhttp-parser2.8
  libijs-0.35 libilmbase23 libjbig2dec0 libjs-jquery libjs-jquery-easing
  libjs-jquery-fancybox libjs-jquery-mousewheel libjs-jquery-ui libjs-source-map
  libjs-uglify libjxr-tools libjxr0 liblqr-1-0 liblua5.2-0 libmagickcore-6.q16-6
  libmagickcore-6.q16-6-extra libmagickwand-6.q16-6 libnetpbm10 libnl-route-3-200
  libopenexr23 libpaper-utils libpaper1 libpcre2-16-0 libqt5core5a libqt5dbus5
  libqt5gui5 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediagsttools5
  libqt5multimediawidgets5 libqt5network5 libqt5opengl5 libqt5printsupport5 libqt5svg5
  libqt5widgets5 libruby2.5 libsbc1 libsmi2ldbl libspandsp2 libssh-gcrypt-4 libuv1
  libwhisker2-perl libwireshark-data libwireshark11 libwiretap8 libwmf0.2-7
  libwscodecs2 libwsutil9 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0
  libxcb-render-util0 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0 libyaml-0-2
  maltego netpbm nikto nodejs nodejs-doc openjdk-8-jre openjdk-8-jre-headless
  qt5-gtk-platformtheme qttranslations5-l10n rake ruby ruby-addressable ruby-ansi
  ruby-atomic ruby-buftok ruby-celluloid ruby-celluloid-io ruby-daemons
  ruby-dataobjects ruby-dataobjects-mysql ruby-dataobjects-postgres
  ruby-dataobjects-sqlite3 ruby-dev ruby-did-you-mean ruby-diff-lcs ruby-dm-core
  ruby-dm-do-adapter ruby-dm-migrations ruby-dm-serializer ruby-dm-sqlite-adapter
  ruby-docile ruby-domain-name ruby-em-websocket ruby-equalizer ruby-erubis
  ruby-eventmachine ruby-execjs ruby-faraday ruby-geoip ruby-hitimes ruby-http
  ruby-http-cookie ruby-http-form-data ruby-http-parser.rb ruby-json ruby-librex
  ruby-libv8 ruby-memoizable ruby-mime-types ruby-mime-types-data ruby-minitest
  ruby-mojo-magick ruby-msfrpc-client ruby-msgpack ruby-multi-json ruby-multipart-post
  ruby-naught ruby-net-telnet ruby-nio4r ruby-oj ruby-parseconfig ruby-power-assert
  ruby-public-suffix ruby-qr4r ruby-rack ruby-rack-protection ruby-ref ruby-rqrcode
  ruby-rspec-expectations ruby-rspec-support ruby-rubydns ruby-simple-oauth
  ruby-simplecov ruby-simplecov-html ruby-sinatra ruby-sqlite3 ruby-term-ansicolor
  ruby-test-unit ruby-therubyracer ruby-thread-safe ruby-tilt ruby-timers ruby-tins
  ruby-twitter ruby-uglifier ruby-unf ruby-unf-ext ruby-xmlrpc ruby-zip ruby2.5
  ruby2.5-dev ruby2.5-doc rubygems-integration thin wireshark wireshark-common
  wireshark-qt zip
The following packages will be upgraded:
  aircrack-ng libcups2 libnl-3-200 libnl-genl-3-200 libxkbcommon0 metasploit-framework
  nmap nmap-common
8 upgraded, 182 newly installed, 0 to remove and 458 not upgraded.
Need to get 381 MB of archives.
After this operation, 616 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

6) نصب آخرین نسخه‌ی Tor

Tor به صورت مستقیم در مخازن کالی لینوکس موجود است، ولی نرم‌افزار مخصوص ناشناس‌ماندن را باید مستقیما از وبسایت مرجع (torproject.org) دریافت کرد. علاوه‌ بر این، نسخه‌ی موجود از Tor روی کالی لینوکس به صورت مرتب پشتیبانی و به‌روزرسانی نمی‌شود. این یعنی ممکن است به‌روزرسانی‌های حیاتی برای پایداری و امنیت را از دست بدهیم.

مخازن Tor Project را به لیست مخازن APT خود اضافه کنید.

echo 'deb https://deb.torproject.org/torproject.org stretch main
deb-src https://deb.torproject.org/torproject.org stretch main' > /etc/apt/sources.list.d/tor.list

سپس Tor Project package signing key را دانلود کرده و آن را در APT keyring وارد کنید.

wget -O- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | sudo apt-key add -

--2019-02-18 19:28:23--  https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc
Resolving deb.torproject.org (deb.torproject.org)... 138.201.14.197
Connecting to deb.torproject.org (deb.torproject.org)|138.201.14.197|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 19665 (19K) [text/plain]
Saving to: ‘STDOUT’

-                                              100%[=================================================================================================>]  19.20K  47.5KB/s    in 0.4s

2019-02-18 19:28:25 (47.5 KB/s) - written to stdout [19665/19665]

OK

وقتی signing key به keyring اضافه شود خروجی OK را می‌بینید. سپس با استفاده از دستور apt-get زیر، APT را به‌روزرسانی کنید.

apt-get update

Hit:1 http://downloads.metasploit.com/data/releases/metasploit-framework/apt lucid InRelease
Get:2 https://deb.torproject.org/torproject.org stretch InRelease [4,965 B]
Get:4 https://deb.torproject.org/torproject.org stretch/main Sources [1,169 B]
Get:5 https://deb.torproject.org/torproject.org stretch/main amd64 Packages [2,400 B]
Hit:3 http://archive-3.kali.org/kali kali-rolling InRelease
Fetched 8,534 B in 8s (1,091 B/s)
Reading package lists... Done

حالا کافی است با استفاده از دستور زیر Tor را نصب کنید.

apt-get install tor deb.torproject.org-keyring

Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  mixmaster torbrowser-launcher socat tor-arm apparmor-utils obfs4proxy
The following NEW packages will be installed:
  deb.torproject.org-keyring
The following packages will be upgraded:
  tor

7) پیکربندی اشتراک‌گذاری فایل با کمک Syncthing

Syncthing که توسط جیکوب بورگ ساخته شده است، یک جایگزین چندبستره، خصوصی و سبک برای Dropbox جهت هم‌گام‌سازی فایل‌ها است. انتقال لاگ‌های کلیدهای فشرده‌شده (Keystroke Logs)، اسکرین‌شات‌ها، تصاویر ضبط‌شده از وبکم و فایل‌های loot حساس بین سرورهای مجازی خصوصی و ماشین‌های کالی محلی می‌تواند برای یک متخصص تست نفوذ کاری طاقت‌فرسا باشد. هم‌گام‌سازی فایل‌ها باعث می‌شود به راحتی بتوان فایل‌ها را با امنیت کامل به اشتراک گذاشت.

8) نصب یک ویرایشگر کد

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

برای نصب Atom، وارد وبسایت آن شده و آخرین نسخه‌ی فایل نصب مخصوص دبیان را دانلود کنید. سپس یک پنجره ترمینال باز کرده و پیش‌نیازهای لازم را با استفاده از دستور apt-get زیر نصب کنید.

apt-get install gvfs gvfs-common gvfs-daemons gvfs-libs gconf-service gconf2 gconf2-common gvfs-bin psmisc

Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following NEW packages will be installed:
   gconf-service (3.2.6-4.1)
   gconf2 (3.2.6-4.1)
   gconf2-common (3.2.6-4.1)
   gvfs-bin (1.36.2-1)
   libgconf-2-4 (3.2.6-4.1)
   psmisc (23.1-1+b1)
The following packages will be upgraded:
   gvfs (1.36.1-1 => 1.36.2-1)
   gvfs-common (1.36.1-1 => 1.36.2-1)
   gvfs-daemons (1.36.1-1 => 1.36.2-1)
   gvfs-libs (1.36.1-1 => 1.36.2-1)
4 upgraded, 6 newly installed, 0 to remove and 462 not upgraded.
1 not fully installed or removed.
Need to get 3,317 kB of archives.
After this operation, 8,909 kB of additional disk space will be used.
Do you want to continue? [Y/n] y

در نهایت از دستور dpkg که یک مدیر پکیج مبتنی بر خط فرمان است، به همراه آرگومان نصب (-i) استفاده کنید.

dpkg -i ~/Downloads/atom-amd64.deb

(Reading database ... 191882 files and directories currently installed.)
Preparing to unpack atom-amd64.deb ...
Unpacking atom (1.29.0) over (1.29.0) ...
Setting up atom (1.29.0) ...
Processing triggers for desktop-file-utils (0.23-3) ...
Processing triggers for mime-support (3.60) ...

وقتی این کار تمام شد، Atom در منوی برنامه‌های شما در دسترس خواهد بود.

9) برنامه رمزگذار Rubber Ducky را Clone کنید

USB Rubber Ducky یکی از معروف‌ترین ابزارهای Keystroke Injection است. تولید Ducky Payload با استفاده از وبسایت DuckToolKit به راحتی قابل انجام است، ولی اگر یک متخصص تست نفوذ هستید، اشتراک‌گذاری اطلاعات مشتریان با یک وبسایت چندان کار ایمنی نیست. آپلودکردن محتوای Payloadها در یک وبسایت ثالث می‌تواند خطرناک باشد.

در عوض می‌توان از Git برای کلون‌کردن مخزن USB Rubber Ducky و رمزگذاری محلی Payloadها استفاده کرد.

git clone https://github.com/hak5darren/USB-Rubber-Ducky

Cloning into 'USB-Rubber-Ducky'...
remote: Counting objects: 1657, done.
remote: Total 1657 (delta 0), reused 0 (delta 0), pack-reused 1657
Receiving objects: 100% (1657/1657), 31.88 MiB | 162.00 KiB/s, done.
Resolving deltas: 100% (745/745), done.
Checking out files: 100% (1509/1509), done.

سپس دایرکتوری را –با استفاده از دستور cd– به USB-Rubber-Ducky/Encoder تغییر داده و از دستور جاوای زیر برای رمزگذاری Payloadهای Ducky بدون استفاده از وبسایت‌های ثالث استفاده کنید.

cd USB-Rubber-Ducky/Encoder/
java -jar encoder.jar -i input_payload.txt -o inject.bin

10) تغییر کلیدهای SSH و رمز عبور پیش‌فرض

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

برای تغییر کلیدهای SSH، ابتدا باید دایرکتوری را تغییر دهید. اجرای دو فرمان زیر کلیدهای SSH را از مقادیر پیش‌فرض تغییر می‌دهد.

cd /etc/ssh/
dpkg-reconfigure openssh-server

rescue-ssh.target is a disabled or a static unit, not starting it.

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

passwd root

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

اولین کاری که شما پس از نصب کالی لینوکس انجام می‌دهید چیست؟

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

۱ دیدگاه

  1. اون کدی که برای تغییر پسورد معرفی کردین همیشه کار نمی کنه (می زنه password changed successfully ولی پسورد عوض نمی شه) به جاش می شه از این کد هم استفاده کرد:
    sudo -i
    passwd username

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

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