
शेलकोड को ✨ विभिन्न ✨ प्रारूपों में बदलें!
Bluffy एक उपयोगिता है जिसका उपयोग प्रयोगों में एंटी-वायरस उत्पादों को (स्थैतिक रूप से) बायपास करने के लिए किया गया था, जिसमें शेलकोड को यथार्थवादी दिखने वाले डेटा प्रारूपों में स्वरूपित किया जाता था।
प्रूफ-ऑफ-कॉन्सेप्ट टूल्स, जैसे कि 0xBoku का Ninja_UUID_Runner और ChoiSG का UuidShellcodeExec, ने Bluffy की प्रारंभिक अवधारणा को प्रेरित किया।
अब तक, हमने निम्नलिखित लागू किए हैं:
$ python3 bluffy.py -h
⣇⣿⠘⣿⣿⣿⡿⡿⣟⣟⢟⢟⢝⠵⡝⣿⡿⢂⣼⣿⣷⣌⠩⡫⡻⣝⠹⢿⣿⣷
⡆⣿⣆⠱⣝⡵⣝⢅⠙⣿⢕⢕⢕⢕⢝⣥⢒⠅⣿⣿⣿⡿⣳⣌⠪⡪⣡⢑⢝⣇
⡆⣿⣿⣦⠹⣳⣳⣕⢅⠈⢗⢕⢕⢕⢕⢕⢈⢆⠟⠋⠉⠁⠉⠉⠁⠈⠼⢐⢕⢽
⡗⢰⣶⣶⣦⣝⢝⢕⢕⠅⡆⢕⢕⢕⢕⢕⣴⠏⣠⡶⠛⡉⡉⡛⢶⣦⡀⠐⣕⢕
⡝⡄⢻⢟⣿⣿⣷⣕⣕⣅⣿⣔⣕⣵⣵⣿⣿⢠⣿⢠⣮⡈⣌⠨⠅⠹⣷⡀⢱⢕
⡝⡵⠟⠈⢀⣀⣀⡀⠉⢿⣿⣿⣿⣿⣿⣿⣿⣼⣿⢈⡋⠴⢿⡟⣡⡇⣿⡇⡀⢕
⡝⠁⣠⣾⠟⡉⡉⡉⠻⣦⣻⣿⣿⣿⣿⣿⣿⣿⣿⣧⠸⣿⣦⣥⣿⡇⡿⣰⢗⢄
⠁⢰⣿⡏⣴⣌⠈⣌⠡⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣬⣉⣉⣁⣄⢖⢕⢕⢕
⡀⢻⣿⡇⢙⠁⠴⢿⡟⣡⡆⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣵⣵⣿
⡻⣄⣻⣿⣌⠘⢿⣷⣥⣿⠇⣿⣿⣿⣿⣿⣿⠛⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣷⢄⠻⣿⣟⠿⠦⠍⠉⣡⣾⣿⣿⣿⣿⣿⣿⢸⣿⣦⠙⣿⣿⣿⣿⣿⣿⣿⣿⠟
⡕⡑⣑⣈⣻⢗⢟⢞⢝⣻⣿⣿⣿⣿⣿⣿⣿⠸⣿⠿⠃⣿⣿⣿⣿⣿⣿⡿⠁⣠
⡝⡵⡈⢟⢕⢕⢕⢕⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠋⣀⣈⠙
⡝⡵⡕⡀⠑⠳⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⢉⡠⡲⡫⡪⡪⡣
Convert shellcode into ✨ different ✨ formats!
Written by:
~ Mez0
~ Michael Ranaldo
usage: Bluffy [-h] -b -o -m
optional arguments:
-h, --help show this help message and exit
-b , --bin Specify bin file to load
-m , --mask Specify the mask for the shellcode
-x , --xor XOR the payload
-p , --preview Preview the created format
-pp, --payload_preview Preview the payload prior to C formatting
--list List all the available masks
द्वारा लिखित:
Bluffy का उपयोग करने से पहले निम्नलिखित चीज़ें स्थापित होनी चाहिए:
sudo apt install python3.9
sudo pip3 install rich
यह निर्भर करता है कि इसे Kali, Ubuntu 18, 19, 20 आदि पर चलाया जाना है, pcre2.8 प्राप्त करने और बनाने की प्रक्रिया भिन्न हो सकती है।
हमारे लिए Ubuntu पर, इसे विकसित किया गया था:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 21.04
Release: 21.04
Codename: hirsute
libpcre2-8.a को लिंक करने के लिए, .a फ़ाइल को निम्नलिखित में शामिल करना था:
/usr/lib/gcc/x86_64-w64-mingw32/10-win32
हेडर और lib फ़ाइलें प्राप्त करने के लिए, MSYS2 का उपयोग किया गया। लेकिन अगर आप हमसे ज़्यादा समझदार हैं, तो Mingw64 के लिए स्रोत से करें: https://pcre.org/।
इस प्रकार प्राप्त करने और स्थापित करने का सबसे सरल तरीका निम्नलिखित कमांड चलाना है (अपनी आर्किटेक्चर आदि की दोबारा जाँच करने के बाद):
sudo apt install mingw-64
sudo wget https://packages.msys2.org/package/mingw-w64-x86_64-pcre2?repo=mingw64 -P /usr/lib/gcc/x86_64-w64-mingw32/10-win32
पेलोड बनाने के लिए, अपनी बाइनरी फ़ाइल प्राप्त करें। इस उदाहरण के लिए, हमने calc.bin का उपयोग किया, जो प्रूफ ऑफ कॉन्सेप्ट के रूप में केवल calc.exe लोड करता है। चूँकि Bluffy केवल स्टेग्नोग्राफी का उपयोग करके स्थैतिक विश्लेषण से बचने का प्रयास करता है, बाइनरी को एक अन्यथा हानिरहित फ़ाइल में छिपाकर, आपको यह सुनिश्चित करने के लिए और अधिक शोध करने की आवश्यकता होगी कि आपका पेलोड गतिशील पहचान से भी बचे।
bluffy चलाएँ, अपनी पसंद का मास्क चुनें और अपनी .bin फ़ाइल प्रदान करें:
python ./bluffy.py -b calc.bin -m css -x
अपने पेलोड की जाँच करें, फिर इसे बनाएँ। अपना पेलोड बनाने के लिए, bluffy द्वारा बनाई गई .h फ़ाइल को कॉपी करें, इसका नाम बदलकर css.c करें, इसे एक्ज़ीक्यूटेबल बनाने के लिए make चलाएँ, फिर शामिल examples निर्देशिका का उपयोग करके परीक्षण करें:
mv css.h examples/css/css.h
cd examples/css
make
यह शामिल "main.c" का उपयोग करके एक विंडोज एक्ज़ीक्यूटेबल बनाएगा। इसकी पुष्टि के लिए परीक्षण करें। यदि आपने भी calc.bin का उपयोग किया है, तो आपको एक नई Calc विंडो खुलती हुई दिखाई देनी चाहिए। यदि ऐसा है, तो बधाई हो!
Bluffy का उपयोग करने और यह कैसे काम करता है तथा आउटपुट कैसा दिखता है, इसके बारे में अधिक जानकारी के लिए, हमारा ब्लॉग देखें।
यहाँ एक पूर्ण उदाहरण है:
