이 기사를 읽고 나도 많은 기술자와 기업을 시작하는 사람들이 사용하는 맥 OS를 겨냥한 RAT(Remote Access Trojan)을 만들어 보고 싶었습니다. RAT는 사용자의 증명서(credential)를 획득할 수 있게 합니다. EvilOSX 같은 경우는 크롬 비밀번호 캐시 침투해 들어있는 정보 탈취를 가능하게 합니다.

자동으로 업데이트와 관리자가 필요 없는 맥북 시스템은 유저들을 보안에 무관심하게 했습니다. 보통 맥북 유저들은 시스템 권한 요청을 하는 프로그램을 윈도우 유저만큼 수상하게 보지 않습니다. 이러한 현상 때문에 맥OS는 의외로 쉽게 공격할 수 있습니다.

RAT에서 가장 중요한 점은 타깃에 확실히 침투시키는 것입니다. 일단 침투만 할 수 있다면 EvilOSX는 무긍무진한 가능성을 지닌 도구가 될 수 있습니다. EvilOSX는 파이썬(python)으로 만들어져있으며 맥 환경을 역이용해 공격을 자동으로 실행해 줍니다.

EvilOSX is A pure python, post-exploitation, RAT (Remote Administration Tool) for macOS / OSX.

EvilOSX는 순수 파이썬이며, 공격 후 툴로, 맥 OS를 겨냥한 RAT 도구 입니다

— Marten4n6

 

1

그러면 EvilOSX는 무엇을 할 수 있을까요? 간단하게 말하자면 맥과 관련된 서비스를 사용해서 권한을 급격하게 상승시킬 수 있습니다. 심지어 타깃의 GPS를 “Find my iPhone”을 통해서 알 수 있습니다. 이 외에도 EvilOSX는 다양하고 유능한 특징을 가지고 있습니다.

  • 터미널을 사용해서 타깃에 명령어를 실행시킬 수 있습니다.
  • 통신은 OpenSSL을 통한 CSR로 암호화되어있기 때문에 안전합니다
  • 파이썬 라이브러리 외에 따로 필요한 소프트웨어는 없습니다.
  • 메인 메모리 프로세스에 스스로 이동하기 때문에 초기의 터미널이 종료되더라도 살아남을 수 있습니다.
  • 크롬 비밀번호를 얻기
  • iCloud 연락처를 얻을 수 있습니다.
  • iCloud 비밀번호를 얻기 위한 피싱 공격을 할 수 있습니다.
  • 디스크에 있는 백업을 탈취할 수 있습니다.
  • 다운/업로드 파일이 가능합니다. 이를 통해 더 많은 바이러스 파일을 올릴 수 있습니다.
  • iphone 디바이스의 정보를 받아서 주인에 대해서 더 많이 알 수 있습니다
  • 자동화되어있으므로 EvilOSX가 설치되기만 하면 스스로 알아서 됩니다

준비물

파이썬

EvilOSX- 터미널에서 git clone https://github.com/Marten4n6/EvilOSX.git 을 입력합니다

 

1st EvilOSX payload 작성

일단 payload를 만emf려면 공격하는 컴퓨터의 ip주소를 알아야 합니다. 이는 ‘ip a’ (윈도우) / ‘ifconfig’ (맥)을 입력하면 됩니다. 만일 이 공격을 로컬 네트워크 밖에있는 컴퓨터를 공격하고 싶으면 고정 ip를 써야 합니다.

2

EvilOSX 폴더 안으로 들어가서 ‘ls’명령어로 안에 있는 내용을 확인합니다.

sudo ./BUILDER EvilOSX.py

를 입력합니다. 그러면 공격하는 컴퓨터의 ip를 물어봅니다. ip를 입력하면 포트 번호를 물어봅니다. 기본으로 되어있는 1337 포트를 사용합니다. 결과를 보면 “EvilOSX.py”라는 프로그램이 “Builds” 폴더 안에 있는 것을 확인할 수 있습니다.

3

이 프로그램을 USB로 옮기거나 dat 같은 것을 사용해서 타깃에게 설치합니다.

2nd EvilOSX서버 만들기

타깃 컴퓨터의 연결을 받기 위해 우리는 공격 컴퓨터에서 서버를 만들어야 합니다. EvilOSX디렉토리 안에 있는 상태로

sudo python Server.py

명령어를 시작합니다.

그러면 프로그램이 어떤 포트로부터 연결을 받을 것이냐고 물을 때 전에 넣었던 포트 번호를 넣으면 됩니다.

4

3rd 타깃의 컴퓨터에 payload 실행하기

서버를 만들었으니 타깃 컴퓨터에서 payload를 실행하기만 하면 됩니다.

‘sudo 파일 위치/EvilOSX.py’

를 입력합니다

일단 payload가 실행되면 자기 자신을 메모리 스레드 안으로 옮겨서 발견될 위험을 줄이고 RAT가 지속될 수 있게 합니다. 이제 터미널을 닫고 서버로 돌아가면 됩니다.

5

4th 원격 조정하기

서버에서 우리는 ‘status’명령어로 현재 연결되어있는 클라이언트를 확인할 수 있습니다. 클라이언트의 ID를 알고 싶다면 ‘client’ 명령어를 입력하면 됩니다. 여기서는 probe가 0의 ID를 가지고 있다는 것을 알 수 있습니다.

6

그 클라이언트에 접속하기 위해서는 ‘connect 클라이언트 ID’를 입력합니다.

7

접속한 후 ‘help’명령어를 통해서 EvilOSX가 할 수 있는 것을 볼 수 있습니다. 일단 우리는 ‘get_info’를 사용해서 시스템의 정보를 획득합니다. 아래에 보시다시피 간단한 정보를 보내줍니다. 이제 좀 더 복잡한 모듈을 사용해서 공격해 보죠.

8

‘chrome_passwords’ 명령어를 실행합니다. 이 명령어는 피싱공격을 사용하는데 사용자를 속여서 크롬 키체인에 접근을 합니다.

9

만일 상대가 “Allow”버튼을 누르면 터미널에서 비밀번호 리스트를 볼 수 있을 것입니다.

5th 흔적 지우기

모든 것이 끝나면 ‘kill_server’명령어로 타깃에 있는 프로그램을 지워버립니다. 이 명령어를 할 경우 다시는 그 컴퓨터에 접근을 못 하니 정말로 다 끝났는지 확인하고 실행하기 바랍니다.

 

오타, 질문, 더 좋은 방법이 있으면 코멘트 남겨주세요. 읽어주셔서 감사합니다

원문: https://null-byte.wonderhowto.com/how-to/dump-macos-users-chrome-passwords-with-evilosx-0180512/