
macOS 지속성 메커니즘을 적용 및 제거하기 위한 CLI 도구로, 위협 에뮬레이션 및 레드 팀 운영을 위해 설계되었습니다. LaunchAgents, Cron, LoginHooks를 포함한 17가지 기술을 지원합니다.
macOS에서 다양한 지속성 메커니즘 기법을 수행하기 위한 명령줄 도구입니다. 이 도구는 위협 헌터가 사이버 위협 에뮬레이션 목적으로 사용할 수 있도록 설계되었습니다.
다음과 같이 설치합니다:
$ pip3 install poisonapple --user
참고: PoisonApple은 Python 3.9에서 작성 및 테스트되었으며, Python 3.6 이상에서 작동해야 합니다.
PoisonApple 스위치 옵션 보기 (--help):
$ poisonapple --help
usage: poisonapple [-h] [-l] [-t TECHNIQUE] [-n NAME] [-c COMMAND] [-r]
macOS에서 다양한 지속성 메커니즘 기법을 수행하는 명령줄 도구입니다.
선택적 인수:
-h, --help 도움말 메시지를 표시하고 종료합니다.
-l, --list 사용 가능한 지속성 메커니즘 기법을 나열합니다.
-t TECHNIQUE, --technique TECHNIQUE
사용할 지속성 메커니즘 기법
-n NAME, --name NAME 지속성에 사용할 파일 또는 레이블 이름
-c COMMAND, --command COMMAND
지속성을 위해 실행할 명령어
-r, --remove 지속성 메커니즘 제거
사용 가능한 기법 목록:
$ poisonapple --list
, _______ __
.-.:|.-. | _ .-----|__|-----.-----.-----.
.' '. |. | | | | |__ --| | | | |
'-."~". .-' |. ____|_____|__|_____|_____|__|__|
} ` } { |: | _______ __
} } } { |::.| | _ .-----.-----| |-----.
} ` } { `---' |. | | | | | | | -__|
.-'"~" '-. |. _ | __| __|__|_____|
'. .' |: | |__| |__|
'-_.._-' |::.|:. |
`--- ---' v0.2.3
+--------------------+
| AtJob |
+--------------------+
| Bashrc |
+--------------------+
| Cron |
+--------------------+
| CronRoot |
+--------------------+
| Emond |
+--------------------+
| Iterm2 |
+--------------------+
| LaunchAgent |
+--------------------+
| LaunchAgentUser |
+--------------------+
| LaunchDaemon |
+--------------------+
| LoginHook |
+--------------------+
| LoginHookUser |
+--------------------+
| LoginItem |
+--------------------+
| LogoutHook |
+--------------------+
| LogoutHookUser |
+--------------------+
| Periodic |
+--------------------+
| Reopen |
+--------------------+
| Zshrc |
+--------------------+
지속성 메커니즘 적용:
$ poisonapple -t LaunchAgentUser -n testing
, _______ __
.-.:|.-. | _ .-----|__|-----.-----.-----.
.' '. |. | | | | |__ --| | | | |
'-."~". .-' |. ____|_____|__|_____|_____|__|__|
} ` } { |: | _______ __
} } } { |::.| | _ .-----.-----| |-----.
} ` } { `---' |. | | | | | | | -__|
.-'"~" '-. |. _ | __| __|__|_____|
'. .' |: | |__| |__|
'-_.._-' |::.|:. |
`--- ---' v0.2.3
[+] 성공! 지속성 메커니즘 작업이 성공했습니다: LaunchAgentUser
명령어를 지정하지 않으면(-c) 기본 트리거 명령어가 사용되며, 지속성 메커니즘이 트리거될 때마다 바탕화면에 파일을 작성합니다:
$ cat ~/Desktop/PoisonApple-LaunchAgentUser
Triggered @ Tue Mar 23 17:46:02 CDT 2021
Triggered @ Tue Mar 23 17:46:13 CDT 2021
Triggered @ Tue Mar 23 17:46:23 CDT 2021
Triggered @ Tue Mar 23 17:46:33 CDT 2021
Triggered @ Tue Mar 23 17:46:43 CDT 2021
Triggered @ Tue Mar 23 17:46:53 CDT 2021
Triggered @ Tue Mar 23 17:47:03 CDT 2021
Triggered @ Tue Mar 23 17:47:13 CDT 2021
Triggered @ Tue Mar 23 17:48:05 CDT 2021
Triggered @ Tue Mar 23 17:48:15 CDT 2021
지속성 메커니즘 제거:
$ poisonapple -t LaunchAgentUser -n testing -r
...
사용자 정의 명령어 사용:
$ poisonapple -t LaunchAgentUser -n foo -c "echo foo >> /Users/user/Desktop/foo"
...