
Bella는 macOS용 순수 파이썬 포스트 익스플로잇 데이터 마이닝 도구 및 원격 관리 도구입니다. 🍎💻
Bella는 macOS용 순수 파이썬 기반의 사후 침투 데이터 마이닝 도구 및 원격 관리 도구입니다. 🍎 💻
Bella는 강력한 순수 파이썬 기반의 macOS 사후 침투 및 원격 관리 도구입니다.
Bella는 일명 서버로, macOS 10.6 이상을 실행하는 모든 시스템에 배포할 수 있는 SSL/TLS 암호화 리버스 셸입니다. Bella는 다음과 같은 기능을 제공합니다:
SSH 인스턴스를 에뮬레이트하는 의사 TTY [대부분의 함수에 대한 Ctrl+C 지원, 스트리밍 출력, 인라인 bash 스크립팅 완전 지원, 탭 완성, 명령어 기록 등].
자동 설치 프로그램! 바이너리를 실행하기만 하면 Bella가 나머지를 처리합니다 - 하드 드라이브의 숨겨진 위치에 영구적인 리버스 셸을 생성하며, 안티바이러스에 탐지되지 않습니다.
파일 업로드/다운로드
리버스 VNC 연결.
컴퓨터 마이크 입력 스트리밍 및 저장.
시스템 프롬프트를 통한 로그인/키체인 비밀번호 피싱.
iTunes 프롬프트를 통한 Apple ID 비밀번호 피싱.
iCloud 토큰 추출.
추출된 토큰이나 비밀번호를 통해 사용자의 모든 iCloud 서비스에 접근.
여기에는 iCloud 연락처, 나의 iPhone 찾기, 나의 친구 찾기, iOS 백업이 포함됩니다.
Google Chrome 비밀번호 추출.
Chrome 및 Safari 방문 기록 추출.
키체인 비밀번호 발견 시 자동 키체인 복호화.
macOS 채팅 기록.
iTunes iOS 백업 열거.
모든 Bella 활동 및 다운로드 파일에 대한 광범위한 로깅.
매우 포괄적인 데이터 저장. Bella가 발견한 모든 정보 [토큰, 비밀번호 등]는 Bella가 실행 중인 컴퓨터의 암호화된 SQL 데이터베이스에 저장됩니다. 이 정보는 더 빠른 함수 실행과 더 "똑똑한" 리버스 셸을 위해 사용됩니다.
다른 많은 훌륭한 기능들! 직접 사용해 보세요.
이것들은 사용자 영역에 있을 때 사용할 수 있는 기능들 중 일부입니다. 이 셸은 사용자가 인터넷에 연결되어 있을 때(로그인 상태이고 컴퓨터가 절전 모드가 아닐 때) 언제든지 접근할 수 있습니다.
루트 권한을 획득하면 Bella의 기능이 크게 확장됩니다.
메터프리터 셸의 getsystem 함수와 유사하게, Bella는 get_root 함수를 가지고 있으며, 피싱된 사용자 비밀번호 및/또는 시스템이 취약한 경우 로컬 권한 상승 익스플로잇을 포함한 다양한 방법을 통해 루트 접근을 시도합니다.
루트 접근을 획득하면 Bella는 /Library의 숨겨진 디렉토리로 이동하여 자신을 LaunchDaemon으로 로드합니다. 이제 컴퓨터가 네트워크에 연결되어 있는 한 항상 Bella 인스턴스에 원격으로 접근할 수 있습니다. 일단 루트를 획득하면 다음을 수행할 수 있습니다:
다중 사용자 지원! Bella는 컴퓨터의 모든 활성 사용자 정보를 포괄적인 데이터베이스에 추적하고, 자동으로 활성 컴퓨터 사용자로 전환합니다. 앞서 언급한 모든 데이터 추출 기술을 이제 기기의 모든 사용자에 대해 사용할 수 있습니다.
모든 TLS/SSL 트래픽 복호화 및 제어 센터를 통해 리디렉션! [멋진 능동적 MITM 공격]
키보드 및/또는 마우스 비활성화/활성화.
사용자가 노트북을 닫아도 연결을 유지하기 위해 Insomnia KEXT 로드.
iCloud 토큰 및 Chrome 비밀번호 자동 덤프 [SIP가 비활성화된 경우 keychaindump 및 chainbreaker 활용]
많은 백그라운드 자동화.
Bella의 강점은 사후 침투 시나리오에서 직면하는 대부분의 까다로운 작업을 높은 수준으로 자동화하는 데 있습니다. 설정 및 사용이 매우 쉽고, 대상에 대한 사전 구성이 필요하지 않으며, 제어 센터에서의 구성도 거의 필요하지 않습니다. macOS와 Python의 놀라운 백그라운드 성능을 활용하여 원활한 사후 침투 경험을 제공합니다.
이 저장소를 다운로드/클론합니다.
./BUILDER를 실행하고 적절한 정보를 입력합니다.
끝입니다! Bella가 준비되었습니다. macOS 대상에 Bella를 업로드하고 실행하기만 하면 됩니다.
이제 macOS 제어 센터에서 Control Center.py를 실행합니다. 의존성이 필요 없습니다 [MITM을 원하는 경우 mitmproxy 제외]. 자동 구성이 수행되며, 몇 초 후에 다음과 같은 화면이 나타납니다.
제어 센터는 최대 128개의 개별 컴퓨터에 대해 이 선택을 지속적으로 업데이트합니다.
Ctrl-C를 눌러 선택 항목에서 선택한 다음 원하는 컴퓨터 번호를 입력합니다. 그러면 다음과 같은 화면이 나타납니다.
명령어 실행을 시작하세요! bella_info가 좋은 예입니다. manual을 실행하면 모든 명령어의 전체 매뉴얼을 볼 수 있습니다. 또한 탭을 두 번 누르면 사용 가능한 명령어 목록을 볼 수 있습니다.
참고 사항: 약간의 구성만 하면 Bella를 인터넷을 통해 사용할 수 있습니다. 방화벽을 구성하여 Bella의 포트를 제어 센터로 전달하세요. 전달해야 할 다른 중요한 포트: 1) VNC - 5500. 2) 마이크 - 2897. 3) MITM - 8081
이 프로젝트는 적극적으로 유지 관리되고 있습니다. 버그 보고, 질문, 기능 요청 또는 관련 정보를 모두 제출해 주세요.
Bella는 base64로 인코딩된 C 바이너리를 Bella 서버/대상으로 전송하여 keychaindump, VNC, 마이크 스트리밍 등을 활용합니다. Payloads/payloads.txt 파일에 미리 컴파일 및 인코딩된 파일을 포함시켰습니다. 이러한 페이로드의 자체 버전을 컴파일하려면 컴파일 후 다음을 수행하세요:
base64로 인코딩하여 payloads.txt에 다음 순서로 각각 새 줄로 구분하여 넣으세요.
vnc, keychaindump, microphone, rootshell, insomnia, lock_icon, chainbreaker.
Payloads 디렉토리의 payload_generator가 도움이 될 것입니다.
문제가 있으면 알려주세요.
https://github.com/juuso/keychaindump
https://github.com/n0fate/chainbreaker
https://github.com/richardkiss/speakerpipe-osx
https://github.com/semaja2/InsomniaX
https://github.com/stweil/OSXvnc
Linux용 제어 센터 지원 [많은 조정이 필요하지 않을 것입니다]
서버를 통해 트래픽을 터널링하는 리버스 SOCKS 프록시.
Firefox 비밀번호 복호화/추출
읽기 쉬운 출력이 가능한 키스트로크 로깅 [80% 완료]
블록을 유발하는 모든 프로그램 감지 및 종료 [85% 완료]
ptty 모듈을 통해 완전한 대화형 tty를 제공하는 interactive_shell 명령어. 현재 이 기능의 유일한 단점은 사전 프로그래밍된 함수를 실행할 수 없다는 것입니다. [95% 완료, 사전 프로그래밍된 함수를 위한 통합 작업 중]
앞서 언급했듯이, Bella는 의사 TTY입니다. 즉, Bella의 기본 소켓 및 원격 코드 실행 처리는 매우 간단한 요청-응답 소켓의 상당히 추상화된 버전입니다. Bella는 서버로부터 명령어를 수신합니다. 명령어가 사전 프로그래밍된 함수(예: chrome 기록 덤프)와 일치하면 해당 함수를 수행하고 응답을 클라이언트로 보냅니다. 그러면 클라이언트는 동일한 방식으로 응답을 처리합니다. 응답을 처리한 후 클라이언트에게 보낼 다른 명령어를 입력하라는 프롬프트가 표시됩니다.
저수준 소켓의 문제는 많으며, 다음에 국한되지 않습니다: 3. 파이프를 차단하고 대기시키는 프로그램 실행(sudo, nano, ftp)으로 인해 출력이 오지 않음 4. socket.recv() 호출에서 예상해야 할 데이터 양을 알 수 없음. 5. Ctrl+C, Ctrl+Z 및 유사한 명령어를 보낼 수 없음. 6. 명령어 기록 없음 7. 충돌하는 프로그램이 셸을 종료할 수 있음. 8. 일대일 응답 및 요청.
Bella는 위 문제를 다음과 같이 해결합니다: 4. 메시지 길이를 직렬화하고 그에 따라 응답/요청을 반복하는 recv() 및 send() 함수. 5. Ctrl+C 지원, 명령어 기록 및 탭 완성을 포함하여 더 'tty' 같은 느낌을 주는 Readline 통합. 6. 차단하는 프로그램 감지 및 종료 베타 7. 클라이언트가 추가 입력을 요청하지 않고 한 번에 여러 메시지를 보낼 수 있음 (ping, tree 및 실시간 업데이트가 있는 기타 명령어에 유용).
사전 프로그래밍된 함수에 대한 전체 정보는 서버에 연결된 상태에서 manual 명령어를 실행하세요.
--