রবিবার, ১৯ অক্টোবর, ২০১৪

Ethical Hacking Course Basic-Part:6

আজকের বিষয় : Cryptography! the father of Information Security

একুশ শতকের দোরগোড়ায় এসে আমাদের দৈনন্দিন কাজ কর্মের সাথে ইন্টারনেট যেন ওতপ্রোতভাবে মিশে গেছে যেমন ক্রেডিট কার্ডের মাধ্যমে অনলাইন শপিং, অনলাইন ব্যাঙ্কিং, মেইলের মাধ্যমে বড় বড় বিজনেস ডিলিং ইত্যাদি |
এবার একবার ভাবুন আপনি কিন্তু উপরে উল্লিখিত সব কাজই করছেন পাবলিক নেটওয়ার্ক ব্যবহার করে আর এই পাবলিক নেটওয়ার্ক-এ বসে আছে আপনার আমার মত ভালো মানুষের পাশাপাশি কিছু খারাপ লোকও(হ্যাকার) বটে এখন আপনার ক্রেডিট কার্ড নম্বর এবং বিজনেস মেইল যদি ওই সব খারাপ লোকদের হাতে চলে যায় তাহলে বুঝতেই পারছেন আপনার বারোটা বাজতে আর বাকি থাকবে না বৈকি |এখন খারাপ লোক থাকবেই তাই বলে তো আর আপনি হাত-পা গুটিয়ে ঘরে বসে থাকতে পারেন না তাই আপনাকে এই পাবলিক নেটওয়ার্কই ব্যবহার করতে হবে এবং সেটা ওই খারাপ লোক গুলোর চোখে ধুলো দিয়ে | এখন প্রশ্ন হলো সেটা কিভাবে-Cryptography-এর মাধ্যমে |

Cryptography হলো এমন একটা বিজ্ঞান যার মাধ্যমে একটা human-readable টেক্সট বা data কে  human-unreadable ফরমেটে রূপান্তর করা হয় যাতে ওই সব খারাপ লোকগুলোর  সামনে দিয়ে বা তাদের হাতে পড়ে গেলেও ডাটার কোনো ক্ষতি করতে না পারে | 
এখন এই-
  • human-readable টেক্সট কে টেকনিক্যালি বলে-PlainText 
  • human-unreadable টেক্সট কে বলে-CipherText 
  • আর human-readable ফরমেট থেকে human-unreadable ফরমেটে রূপান্তর করাকে বলা হয়-Encryption 
  • আবার human-unreadable ফরমেট থেকে human-readable ফরমেটে রূপান্তর করাকে বলে-Decryption  
  • যে algorithm ব্যবহার করে এটা করা হয় তাকে বলে-Encryption-Decryption Algorithm or Cipher


এমন তিনটি Cryptographic algorithm হলো-
  • Symmetric Encryption Algorithm 
  • Asymmetric Encryption Algorithm
  • Hash Algorithm

Symmetric Encryption Algorithm-এর ক্ষেত্রে Sender এবং Recipient উভয়ই একই Key ব্যবহার করে data Encryption এবং Decryption জন্য যেটাকে বলা হয় Secret Key বা  Private Key | যেহেতু Secret বা  Private Key, তো বুঝতেই পারছেন এটা publicly ডিস্ট্রিবিউটেড না শুধুমাত্র sender এবং Recipient-ই জানবে |
বিষয়টা হলো এমন  যে একটা data-কে বাক্স বন্দি করে তাতে একটা তালা ঝুলিয়ে দেয়া এবং যার কাছে পাঠানো হচ্ছে তাকে ওই একই চাবি দিয়ে বাক্সটা খুলতে হবে যেটা দিয়ে Sender তালা দিয়েছিল তারমানে চাবিটাও Recipient-এর কাছে পৌছে দিতে হবে যেটা একটা ঝামেলার ব্যপার এবং সেটা আবার নেটওয়ার্কের ভিতর দিয়ে securely পাঠানোও tough কিন্তু এটা অনেক ফাস্ট Encryption Algorithm.


কিছু Symmetric Encryption Algorithm-এর  নাম-
  1. Data Encryption Standard (DES)
  2. Triple Data Encryption Standard (3DES)
  3. Advanced Encryption Standard (AES)
  4. Rivest Cipher (RC)-RC1, RC2, RC4,RC6
  5. International Data Encryption Algorithm (IDEA)
  6. Blowfish

 Asymmetric Encryption Algorithm-এর ক্ষেত্রে দুইটা key ব্যবহার করা হয় যার একটা কে Public Key আর অন্যটাকে বলে Private Key | Recipient-এর Public Key দিয়ে sender তার পাঠানোকৃত ডাটাকে Encrypt করে আর Recipient তার Private Key দিয়ে sender-এর পাঠানো ডাটাকে Decrypt করে |এখানে একটা কথা বলে রাখা দরকার যে, sender যে algorithm ব্যবহার করে তার পাঠানোকৃত ডাটাকে Encrypt করবে, সেই একই algorithm ব্যবহার করে Recipient ওই ডাটাকে ডিক্রিপ্ট করতে হবে |

কিছু Asymmetric Encryption Algorithm-এর  নাম-
  1. Rivest Shamir Adleman (RSA)
  2. Elliptic Curve Cryptography (ECC)
  3. Diffie-Hellman Key Agreement 
  4. Digital Signature Algorithm (DSA)

Hash Algorithm-আমি একটা বাস্তব উদাহরণের মাধ্যমে বুঝানোর চেষ্টা করছি, আপনারা নিশ্চয় ATM কার্ডের মাধ্যমে ATM বুথ থেকে টাকা তুলেছেন ? সেখানে আসলে কি হয় ফার্স্ট আপনি বুথে ঢুকার পর ATM কার্ডটা টেলার মেশিনে ঢুকান then পিন নম্বরটা keypad-এ চাপ দেন তারপর আপনি আপনার চাহিদা মত টাকা তুলেন-তাই নয় কি? এখন প্রশ্ন হলো সে কিভাবে আপনাকে বা আপনার পিনটাকে authenticate করে এবং সেটা যদি আমরা বুঝতে পারি তাহলে Hash Algorithm টাও বুঝতে পারবো ইনশাহাল্লাহ | এবার আসি authentication টা কিভাবে হয় -

1. ব্যাঙ্ক থেকে সরবরাহকৃত পিনের Hash ভ্যালুটা store করা থাকে ATM কার্ডের ম্যাগনেটিক stripe-এ
2. টেলার মেশিনে কার্ডটা ঢুকিয়ে আপনার পিনটা দেয়ার সাথে সাথে টেলার মেশিন একটা Hash ভ্যালু তৈরি করে ওই পিনের জন্য
3. তারপর টেলার মেশিন দ্বারা  জেনারেটকৃত Hash ভালুটা কার্ডে storeকৃত Hash ভ্যালুর সাথে compare করে যদি মিলে যায় তাহলে আপনি authenticated ঠিক নিচের চিত্রের মত-

তাহলে Hash Algorithm হলো একটা ট্রান্সফরমেশন ছাড়া আসলে কিছুই না, সে একটা ডাটাকে ইনপুট হিসেবে নেয় এবং ফিক্সড সাইজের alphanumeric ভ্যালু জেনারেট করে |

Hash Algorithm যেটাকে ইনপুট হিসেবে নেয় তাকে বলে-Message আর 
যে আউটপুট বা ভ্যালু জেনারেট করে তাকে বলে-Message Digest or Digital Fingerprint or Checksum


Hash Algorithm-বৈশিষ্ট্য:
  1. Fixed Size - Hash Algorithm সব সময়ই ফিক্সড সাইজের Hash ভ্যালু (Message Digest) তৈরি করে ছোট-বড় যেকোন ইনপুটের জন্য | যেমন- 's' এবং 'I Love Bangladesh'-এর জন্য একই length-এর ভ্যালু জেনারেট করছে |


2. Unique - দুইটা ভিন্ন ধরনের ডাটার জন্য Hash ভ্যালু কখনোই একই হবে না |
3. Original - একটা plaintext কে Hash করার পর সেই  Hash ভ্যালু থেকে original plaintext-এ ফিরে যাওয়া প্রায় অসম্ভব |

কিছু Hash Algorithm-এর  নাম-
  1. Message Digest (MD5)
  2. Secure Hash Algorithm (SHA-1)
  3. Whirlpool

সোমবার, ৬ অক্টোবর, ২০১৪

Ethical Hacking Course with Kali Linux-Part:3

আজকের বিষয়: Kali Linux দিয়ে যা যা করা যায়

Kali Linux-এ রয়েছে ৩০০+ Penetration Testing টুলস যার দ্বারা একজন Ethical Hacker যা যা করতে পারবে টা  হলো-
  1. Information Gathering
  2. Vulnerability Analysis 
  3. Web Application Testing
  4. Password Attack
  5. Wireless Network Attack
  6. System Exploitation
  7. Sniffing and Spoofing
  8. Maintaining Access
  9. Reverse Engineering
  10. Stress Testing
  11. Hardware Hacking
  12. Forensics
  13. Reporting 
  14. System Services

শুক্রবার, ৩ অক্টোবর, ২০১৪

Ethical Hacking Course with Kali Linux-Part:2

বিষয়: Step By Step Kali Linux Installation in VMware:

এখন আমরা দেখব কিভাবে VMware-এ Kali Linux ইনস্টল করতে হয়,

Step1: VMware ওপেন করার পর Click on File===>New Virtual Machine

Step2: Then Select 'Typical' and Click on 'Next'-

Step3: Select Downloaded ISO from PC by Clicking 'Browse' option-

Step4: Select OS as 'Linux' and Version 'Debian 6' from drop-down list-

Step 5: এখন Virtual Machine-এর একটা নাম দিতে হবে এবং যে location-এ kali ইনস্টল করতে চান সেটা সিলেক্ট করে দিতে হবে 'browse' থেকে- 

Step 6: এখান থেকে Virtual machine-এর জন্য hard-disk-এর  কত হবে সেটা বলে দিতে হবে-

Step 7: এখান থেকে RAM সাইজ এবং NAT সিলেক্ট করে দিতে হবে-

Step 8: এখন ইনস্টলেশন শুরু হবে 'graphical installation' সিলেক্ট করুন-

Step 9:এখান থেকে ভাষা সিলেক্ট করুন

Step 10: Location or Country সিলেক্ট করুন-

Step 11: যে ভাষাতে কীবোর্ড চান সেটা সিলেক্ট করুন-

Step 12: এখানে host-name হিসেবে যে কোনো একটা নাম দিন-

Step 13: ডোমেইন নাম না থাকে blank রাখুন এন্ড continue-

Step 14: সিস্টেমের জন্য root password সেট করুন-

Step 15: এখান থেকে time-zone সিলেক্ট করুন-

Step 16: এখান থেকে partition method সিলেক্ট করুন-

Step 17: Partition-এর জন্য hard-disk টা সিলেক্ট করুন-

Step 18: Partition Scheme কেমন হবে সেটা বলে দিন-

Step 19: এখান থেকে  Partition status-টা দেখে নিন-
         
Step 20: Just সিলেক্ট 'Yes' এন্ড Continue-

Step 21: Network Mirror 'Yes' করুন পরবর্তীতে update-এর জন্য-

Step 22: HTTP Proxy use করতে না চাইলে blank রাখুন-

Step 23: GRUB boot loader 'Yes' করুন-

Step 24: Now ইনস্টলেশন finish just একবার reboot দিন-
 

বৃহস্পতিবার, ২ অক্টোবর, ২০১৪

Ethical Hacking Course Basic-Part:5

SYN Flood Attack কি:

SYN Flood Attack কি এটা জানার আগে আমাদের একটা Protocol সম্পর্কে ভালো ধারণা থাকা দরকার সেটা হলো Transmission Control Protocol(TCP). এটা এক প্রকার মোবাইলে কথা বলার মত-ধরুন আপনি আপনার ফ্রেন্ড-এর  সাথে কথা বলবেন over Mobile তাহলে কি করবেন প্রথমে মোবাইল থেকে নম্বর বের করে ডায়াল করবেন then আপনার ফ্রেন্ড-এর মোবাইলে রিং বাজবে এবং সে সেটা receive করার পর কথা বলা শুরু করবেন, তাই নয় কি ?

TCP-এর ক্ষেত্রেও  data-flow শুরু হওয়ার আগে TCP, Client এবং সার্ভার-এর মধ্যে আগে একটা কানেকশন তৈরি করে এজন্য আমরা TCP-কে আমরা Connection-Oriented Protocol বলি |

এবার আসুন TCP-Three-Way-Handshake Mechanism নিয়ে আলোচনা করা যাক-

  1.  Client প্রথমে Server-এর সাথে কানেকশন establishment-এর জন্য SYN (Synchronization) মেসেজ পাঠায়
  2. Server SYN + ACK(Acknowledgment SYN packet) মেসেজ দিয়ে response করে
  3.  Client আবার server-এর কাছে ACK(Acknowledgment) পাঠিয়ে কানেকশন establish করে 
Then data-flow শুরু হয় এবং এটাকেই বলা হয় Three-Way-Handshake Mechanism.

 এবার আসি SYN flood attack কি-
 SYN flood attack-এর ক্ষেত্রে attacker continuously অসংখ্য SYN মেসেজ পাঠায় টার্গেট সার্ভারে এবং সার্ভার প্রতিটা SYN মেসেজ-এর against-এ  SYN + ACK পাঠায় কানেকশন establish করার জন্য কিন্তু attacker SYN + ACK-এর against-এ কোনো response করে না যার ফলে সার্ভারটা fully overflowed হয়ে যায় ফলে সার্ভারটা Legitimate user-এর কাছে available থাকে না |