
shellcode를 ✨ 다양한 ✨ 형식으로 변환하세요!
Bluffy는 셸코드를 실제처럼 보이는 데이터 형식으로 포맷팅하여 안티바이러스 제품을 (정적으로) 우회하는 실험에 사용된 유틸리티입니다.
0xBoku의 Ninja_UUID_Runner와 ChoiSG의 UuidShellcodeExec 같은 개념 증명 도구들이 Bluffy의 초기 아이디어에 영감을 주었습니다.
현재까지 구현된 기능:
$ python3 bluffy.py -h
⣇⣿⠘⣿⣿⣿⡿⡿⣟⣟⢟⢟⢝⠵⡝⣿⡿⢂⣼⣿⣷⣌⠩⡫⡻⣝⠹⢿⣿⣷
⡆⣿⣆⠱⣝⡵⣝⢅⠙⣿⢕⢕⢕⢕⢝⣥⢒⠅⣿⣿⣿⡿⣳⣌⠪⡪⣡⢑⢝⣇
⡆⣿⣿⣦⠹⣳⣳⣕⢅⠈⢗⢕⢕⢕⢕⢕⢈⢆⠟⠋⠉⠁⠉⠉⠁⠈⠼⢐⢕⢽
⡗⢰⣶⣶⣦⣝⢝⢕⢕⠅⡆⢕⢕⢕⢕⢕⣴⠏⣠⡶⠛⡉⡉⡛⢶⣦⡀⠐⣕⢕
⡝⡄⢻⢟⣿⣿⣷⣕⣕⣅⣿⣔⣕⣵⣵⣿⣿⢠⣿⢠⣮⡈⣌⠨⠅⠹⣷⡀⢱⢕
⡝⡵⠟⠈⢀⣀⣀⡀⠉⢿⣿⣿⣿⣿⣿⣿⣿⣼⣿⢈⡋⠴⢿⡟⣡⡇⣿⡇⡀⢕
⡝⠁⣠⣾⠟⡉⡉⡉⠻⣦⣻⣿⣿⣿⣿⣿⣿⣿⣿⣧⠸⣿⣦⣥⣿⡇⡿⣰⢗⢄
⠁⢰⣿⡏⣴⣌⠈⣌⠡⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣬⣉⣉⣁⣄⢖⢕⢕⢕
⡀⢻⣿⡇⢙⠁⠴⢿⡟⣡⡆⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣵⣵⣿
⡻⣄⣻⣿⣌⠘⢿⣷⣥⣿⠇⣿⣿⣿⣿⣿⣿⠛⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣷⢄⠻⣿⣟⠿⠦⠍⠉⣡⣾⣿⣿⣿⣿⣿⣿⢸⣿⣦⠙⣿⣿⣿⣿⣿⣿⣿⣿⠟
⡕⡑⣑⣈⣻⢗⢟⢞⢝⣻⣿⣿⣿⣿⣿⣿⣿⠸⣿⠿⠃⣿⣿⣿⣿⣿⣿⡿⠁⣠
⡝⡵⡈⢟⢕⢕⢕⢕⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠋⣀⣈⠙
⡝⡵⡕⡀⠑⠳⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⢉⡠⡲⡫⡪⡪⡣
셸코드를 ✨ 다양한 ✨ 형식으로 변환하세요!
제작:
~ Mez0
~ Michael Ranaldo
사용법: Bluffy [-h] -b -o -m
선택 인자:
-h, --help 이 도움말 메시지를 표시하고 종료합니다
-b , --bin 로드할 bin 파일 지정
-m , --mask 셸코드에 적용할 마스크 지정
-x , --xor 페이로드에 XOR 연산 수행
-p , --preview 생성된 형식 미리보기
-pp, --payload_preview C 형식으로 변환하기 전 페이로드 미리보기
--list 사용 가능한 모든 마스크 나열
제작:
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
헤더 및 라이브러리 파일을 얻기 위해 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.bin은 개념 증명으로 calc.exe를 로드하는 파일입니다. Bluffy는 스테가노그래피를 통해 바이너리를 무해한 파일 내에 숨겨 정적 분석을 회피하는 데만 목적이 있으므로, 페이로드가 동적 탐지도 회피하도록 하려면 추가 연구가 필요합니다.
원하는 마스크를 선택하고 .bin 파일을 제공하여 bluffy를 실행하세요:
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"를 사용하여 Windows 실행 파일을 빌드합니다. 이를 실행하여 확인하세요. calc.bin을 사용했다면 새 Calc 창이 열리는 것을 볼 수 있습니다. 축하합니다!
Bluffy 사용에 대한 자세한 내용과 작동 방식 및 출력 예제에 대한 안내는 저희 블로그를 확인하세요.
전체 예제는 다음과 같습니다:
