「实战」攻防中钓鱼上线MAC终端(下)

简介: 「实战」攻防中钓鱼上线MAC终端

0x03 封装app


此时实现了上线马的制作,可以命令或者执行可执行文件上线。但是对于钓鱼来说,可信度是远远不够的,为了制作一个完整的mac应用程序,我们先将上线命令封装成app


制作app


打开mac自带应用程序


选择新建文稿,点击应用程序

然后选择左侧选择运行shell脚本,然后把上线命令复制进去

然后command+s保存到应用程序中,app就制作结束了

这里可以换一个图标制作更逼真,点开应用程序,找到对应app右键显示简介,将icns图拖到图标处


0x04 dmg马


只有一个app是不够的,正常的mac安装程序是dmg或者pkg,首先制作dmg。

准备

一个.app,一张背景图(可选)以及安装路径的快捷方式

制作

应用程序处制作一个替身


磁盘工具,新建一个空白映像

之后桌面会生成demo.dmg和宗卷,打开宗卷编辑,把制作的app,应用程序文件夹,背景图拖到宗卷中,背景图可以右键显示选项拖动布置,之后删除即可。

编辑好后,就可以推出这个卷宗,进行最后一步转换,转换成一个不可修改的卷宗

选择磁盘工具,选择 映像-->转换,然后选择temp.dmg,打开后,重新命名就好了

这个转换之后的dmg就可以用作钓鱼的木马,受害者双击app或者安装点击之后,就会执行上线命令上线。


0x05 pkg马


如果用dmg去钓鱼,最后上线只是当前登录用户去点击,也就是普通用户权限,加上mac提权基本知识盲区,不容易做权限维持,这里可以制作pkg,设置管理员权限安装,就能上线root权限。


工具


pakeages 下载:http://s.sudre.free.fr/Software/Packages/about.html

Packages是一款开源的安装包制作工具,主要有两种模式:

Distribution(分布模式):这种模式下,安装包中可以包含多个组件,可以分别安装到指定的位置;

Raw Package(原始模式):只适用于只有一个安装组件(安装内容)的情况,一个组件(package)就是一个具备特定安装属性的部分,是对需要安装的程序的一个逻辑划分。比如一个安装包中包含两部分,一部分需要安装到系统目录,一部分安装到用户目录。从逻辑上就可以划分为两个组件(package),分别为它们指定不同的安装属性。


制作


选择第一种模式

创建之后进入设置界面,首先是全局设置,默认是settings

然后第二个可以设置一些描述话语,或者背景图


设置全局之后设置包,第一个框是安装完之后要执行的,下面是安装的条件,第一个一定要选,安装时需要密码。这样才能确保root上线。


把我们要安装的app拖到路径下,也可以自己创建目录

某些应用在安装时可能需要做一些额外的操作,可以执行脚本,分为安装前和安装后执行,这里把安装前的preinstall.sh和安装后的postinstall.sh全部变成上线命令。

编辑完成之后,就可以直接build生成,可以看到执行时需要输入密码到高权限

安装结束之后,会执行两次脚本,也就会上线两次root,非常的nice

当然如果为了不被发现,也可以在制作pkg时放一个正常的app进去,只是安装时执行上线命令。


0x06 邮件发送


钓鱼邮件发送,如果为了方便可以参考横戈团队的工具:


https://github.com/SkewwG/henggeFish

但是工具中是写死163,只能用163账号发,可以自己改脚本,或者利用swaks批量发。

如果用swaks批量脚本发送,有可能会遇到spf校验,ip封禁,进垃圾箱等问题,不同的邮服策略也不同,有机会再写一篇钓鱼邮件批量发送。


0x07 参考


http://www.str1am.top/wordpress/?p=533
https://www.sqlsec.com/2020/07/cobaltstrike.html
https://www.jianshu.com/p/58be258a4465
https://blog.csdn.net/HeroGuo_JP/article/details/78049964
相关文章
|
6月前
|
Web App开发 iOS开发 MacOS
关于MAC-OS 10.13.6 升级到10.15的实战
关于MAC-OS 10.13.6 升级到10.15的实战
312 6
|
6月前
|
存储 Shell
Mac终端工具Terminal (3):在Mac上的终端中执行命令和运行工具
Mac终端工具Terminal (3):在Mac上的终端中执行命令和运行工具
383 0
|
3月前
|
数据安全/隐私保护 iOS开发 MacOS
Mac终端出现 brew command not found 解决
Mac终端出现 brew command not found 解决
99 3
|
5月前
|
网络协议 安全 Linux
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
|
6月前
|
Shell 测试技术 Python
在Mac上用Python调用终端执行命令
在Mac上用Python调用终端执行命令
269 1
|
6月前
使用mac电脑的终端登陆服务器
使用mac电脑的终端登陆服务器
55 0
|
6月前
|
存储 搜索推荐 Shell
mac下终端命令提示补全
mac下终端命令提示补全
311 0
|
6月前
|
人工智能 Rust 运维
这一款 Mac 系统终端工具,已经用的爱不释手了!
这一款 Mac 系统终端工具,已经用的爱不释手了!
129 0
|
6月前
|
iOS开发 MacOS
Mac终端工具Terminal (4):在Mac上的终端中指定文件和文件夹
Mac终端工具Terminal (4):在Mac上的终端中指定文件和文件夹
215 1
|
6月前
|
Shell Docker 容器
mac终端命令补全设置(docker 命令补全)
mac终端命令补全设置(docker 命令补全)
137 0