Adam Toscher
5 min readJun 14, 2018

--

Third party developer certificate information is not made clearly visible.

Empire

Abusing PackageMaker to backdoor applications

# pkgutil --expand 1Password-7.0.4.pkg 1Password-expanded/
# pushd 1Password-expanded/
# ls
Bom PackageInfo Payload Scripts
# tar xvf Payload |cpio -id# -- snip --x ./1Password 7.app/Contents/Frameworks/OnePasswordUI.framework/Versions/A/Resources/Info.plist
x ./1Password 7.app/Contents/Frameworks/OnePasswordUI.framework/Versions/A/Modules
x ./1Password 7.app/Contents/Frameworks/OnePasswordUI.framework/Versions/A/Modules/OnePasswordUI.swiftmodule
x ./1Password 7.app/Contents/Frameworks/OnePasswordUI.framework/Versions/A/Modules/OnePasswordUI.swiftmodule/x86_64.swiftdoc
x ./1Password 7.app/Contents/Frameworks/OnePasswordUI.framework/Versions/A/Modules/OnePasswordUI.swiftmodule/x86_64.swiftmodule
x ./1Password 7.app/Contents/Frameworks/OnePasswordUI.framework/Versions/A/Modules/module.modulemap
x ./1Password 7.app/Contents/Frameworks/OnePasswordUI.framework/Versions/Current
x ./1Password 7.app/Contents/Frameworks/OnePasswordUI.framework/Modules
x ./1Password 7.app/Contents/Frameworks/libswiftsimd.dylib
x ./1Password 7.app/Contents/Info.plist
x ./1Password 7.app/Contents/PkgInfo
-- snip --# ls
1Password 7.app Bom PackageInfo Payload Scripts
PackageMaker allows you to easily select the Developer ID Installer certificate
For demonstration purposes I did not hide the Payload
You have the option to hide the Package Name in PackageMaker
Apple Inc.

Remediation

https://objective-see.com/products/taskexplorer.html
Make sure you’re very careful when you execute an app from “identified developers”

--

--

Adam Toscher

Adam is a offensive security engineer and red team operator with over 20 years of experience in IT