注意 由于Mac现在开始使用`Apple Silicon CPU`,所以本文的适用机器是Arm架构的MacBook、Mac mini等

参考资料:

快速开始

上手验机

  1. 查序列号。官网查询
  2. 开箱。检查外观
  3. 开机
  • 点击左上角的苹果按钮,点击关于本机
  • 点击系统报告
  • 核对型号参数
  • 点击电源,核对效能信息中的循环计数 10次以下为正常
  • 自检硬件(可选)
    • 关机,断开其他连接设备
    • 长按开机键,直到出现选项
    • 长按command+d
    • 选择语言
    • 选择我同意

在线屏幕检测

系统设置

基本设置

取消 4 位数密码限制

pwpolicy -clearaccountpolicies

程序坞自动隐藏加速

# 设置启动坞动画时间设置为 0.5 秒 
defaults write com.apple.dock autohide-time-modifier -float 0.5 && killall Dock

# 设置启动坞响应时间最短
defaults write com.apple.dock autohide-delay -int 0 && killall Dock

# 恢复启动坞默认动画时间
defaults delete com.apple.dock autohide-time-modifier && killall Dock

# 恢复默认启动坞响应时间
defaults delete com.apple.Dock autohide-delay && killall Dock

启动台自定义行和列

# 设置列数
defaults write com.apple.dock springboard-columns -int 7

# 设置行数
defaults write com.apple.dock springboard-rows -int 6

# 重启 Dock 生效
killall Dock

# 恢复默认的列数和行数
defaults write com.apple.dock springboard-rows Default
defaults write com.apple.dock springboard-columns Default

# 重启 Dock 生效
killall Dock

 键盘设置

触控板设置

光标响应

  1. 打开系统偏好设置->触控板→光标与点按
  2. 勾选✔轻点来点按
  3. 跟踪速度移动到最快

三指拖移

  • 打开系统偏好设置->辅助功能→指针控制

日常软件

前置工作

允许安装任意来源的 App

sudo spctl --master-disable

然后前往系统偏好设置->安全性与隐私→点击左下角的小锁

安装 Xcode Command Line Tools

工具依赖

xcode-select --install

HomeBrew

安装

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

国内环境安装命令

/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"

安装完成后根据提示,运行下面的命令

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

安装一下cask便于后面软件的安装

brew install cask

常用命令

更新Homebrew

brew update

搜索相关包

brew search keyword

卸载软件

brew uninstall keyword

查看已安装的软件

brew list

软件商店

防火墙

首先要安装的就是防火墙,Mac自带的防火墙只能防御进入Mac的流量,但是遇到流氓软件向服务器上传我们的隐私数据就防御不了。同时也可以过滤广告哦。
我们可以选择两个软件,二选一即可

Little Snitch(许可证一次收费)

官网下载地址

许可证可以在淘宝进行购买,按需购入。

LuLu(开源,免费)

LuLu是一个开源的防火墙工具

安装也很简单

brew install --cask lulu

保持默认选项

有程序发起请求时,会跳出弹窗,我们只需要选择放行或者阻止即可,设置过一次或者配置好规则就可以一劳永逸。

附上常见的阻止🚫规则 blockyouxlist,勾选然后粘贴链接即可

1Password

非常值得入手的密码管理工具,只需要记住一个密码就可以自动保存、保存填写网站、SSH密钥、加密钱包等密码
淘宝购入年费会员也不贵,安全性也不错,全平台通用

brew install --cask 1password

官网链接

Raycast

Raycast是一个启动器,可以高效打开文件、软件、网站并执行各种便捷操作,可以代替Mac 自带的 「焦点(Spotlight)」同样brew安装

brew install --cask raycast

也可以官网下载dmg文件。官网下载地址

插件

以下是一些推荐的插件

Battery

一个开源的电池保护工具

brew install --cask battery

使用方法:电池充到80停止

battery maintain 80

Keka

压缩解压工具

brew install --cask keka

官网下载

IINA

视频播放器

brew install --cask iina

shottr

纯净的截屏工具

长截图,ocr,智能打码,贴图,取色等功能

brew install --cask shottr

官网下载

ishot

国产多功能截屏工具

长截图,录音,录屏,ocr,贴图,取色等功能

官方下载

Bob or TTime

两款都是优秀的翻译软件,可以划词翻译和截图翻译

Bob TTime

Bob是老牌mac工具,目前在Appstore可以下载,而github版本已停止维护

可以下载免费的bob插件使用

TTime是新晋的开源工具,可以自己配置ocr和翻译的api,可以申请大厂的api接口,都有免费额度,足够个人使用了

Qspace

一款多窗口布局的文件管理工具

官方下载

免费版与专业版的区别

Rectangle

快捷键分屏

brew install --cask rectangle

Obsidian

优秀的笔记工具。可以更改主题,安装各种插件。

同步可以用github。官网下载

KeyboardHolder

有些时候我们会遇到总是频繁切换中英文输入法,或者标点的场景。

使用这款工具就可以记住场景,自动切换

brew install --cask keyboardholder

Motrix

开源的下载器,支持HTTP, FTP, BitTorrent, Magnet等

brew install --cask motrix

PDF Expert

Mac上非常优秀的Pdf编辑、查看、管理工具

官网

PDFGear

免费的PDF编辑、阅读工具

自带AI阅读PDF,OCR识别

官网

Wechat微信

AppStore下载

官网下载

Telegram

brew install --cask telegram

Discord

brew install --cask discord

NetNewsWire

RSS阅读器

brew install --cask netnewswire

鼠须管Squirrel输入法

Rime输入法

开源,高度自定义

brew install --cask squirrel

配置

自动化配置脚本👉https://github.com/Mark24Code/rime-auto-deploy/tree/main

安装依赖 ruby3

brew install ruby

执行下面的代码

git clone --depth=1 https://github.com/Mark24Code/rime-auto-deploy.git --branch latest
cd rime-auto-deploy
./installer.rb

开发配置

iTerm2

没有一个好看的终端怎么行

brew install --cask iterm2

美化

美化可以使用Starship

brew install starship
echo 'eval "$(starship init zsh)"' >> ~/.zshrc

卸载sharship

  1. 删除 shell 配置中~/.zshrc。用于初始化 Starship 的所有行
  2. 删除 Starship

Tmux

安装

终端复用神器

brew install tmux

教程

Tmux 使用教程- 阮一峰的网络日志

Tmux使用手册

配置文件

nano ~/.tmux.conf
#tmux attach 如果无分离终端则新建
new-session
# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind ' " '
unbind %
bind -r k select-pane -U # 绑定k为↑
bind -r j select-pane -D # 绑定j为↓
bind -r h select-pane -L # 绑定h为←
bind -r l select-pane -R # 绑定l为→
# reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf; display-message "Config reloaded.."
bind V source-file ~/.tmux/layout1
mkdir ~/.tmux
nano ~/.tmux/layout1
selectp -t 0 # select the first (0) pane
splitw -v -p 50 # split it into two halves
selectp -t 1 # select the new, second (1) pane
splitw -h -p 50 # split it into two halves
selectp -t 0 # go back to the first pane

完成后

source ~/.zshrc

之后使用的话,在终端输入 tmux

然后 Ctrl + B 再按 Shift + V就可以分屏了

常用命令

最大化【Ctrl+b z】

复制模式 q退出 【Ctrl+b [】

窗口列表 【Ctrl+b w】

切换窗口 【Ctrl+b 0~9】

会话列表 【Ctrl+b s】

挂起 【Ctrl+b Ctrl+z】

Git

# 配置邮箱 
git config --global user.email "xxxxx@xxx.com"

# 配置用户名
git config --global user.name "xxx"

Python

在调试Python的时候可能遇到不同的环境问题,在这里先使用pyenv进行本地环境配置,后面如果做机器学习、深度学习等使用conda虚拟环境配置

brew install pyenv

配置shell环境

echo 'eval "$(pyenv init -)"' >> ~/.zshrc

查看可安装的版本

pyenv install -l

安装与卸载

pyenv install 具体版本
pyenv uninstall 具体版本

查看已安装的版本

#当前版本
pyenv version
#查看已经安装的Python版本
pyenv versions

版本切换

# shell 会话设置 只影响当前的shell会话
pyenv shell <python版本>
# 取消 shell 会话的设置
pyenv shell --unset
# local 本地设置 只影响所在文件夹
pyenv local <python版本>
# global 全局设置 一般不建议改变全局设置
pyenv global <python版本>
注意pyenv 的 global、local、shell 的优先级关系是:shell > local > global

JAVA

下载安装之后。再安装 jenv 便于切换环境

brew instal jenv

配置zshrc环境

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc

安装完成后

#查看当前的 Java 版本
jenv version
#列出目前 jenv 所有可切换管理的版本
jenv versions

#手动添加本地的 Java Home 路径
jenv add /Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home/
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/
jenv add /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home/

#global 全局设置 一般不建议改变全局设置
jenv global <java 版本>

#shell 会话设置 只影响当前的shell会话
jenv shell <java 版本>
#取消 shell 会话的设置
jenv shell --unset

#local 本地设置 只影响所在文件夹
jenv local <java 版本>

Docker

brew install --cask docker

OrbStack

OrbStack 是一种在 macOS 上运行 Docker 容器和 Linux 机器的快速、轻便且简单的方法。可以将其视为强大的 WSL 和 Docker Desktop 替代方案,全部集成在一个易于使用的应用程序中

brew install orbstack

Docker切换OrbStack

docker context use orbstack

在设置中可以进行换源

{
    "ipv6": true,
      "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://registry.docker-cn.com",
        "https://mirror.baidubce.com",
        "https://kn77wnbv.mirror.aliyuncs.com",
        "https://y0qd3iq.mirror.aliyuncs.com",
        "https://6kx4zyno.mirror.aliyuncs.com",
        "https://0dj0t5fb.mirror.aliyuncs.com",
        "https://docker.nju.edu.cn",
        "https://kuamavit.mirror.aliyuncs.com",
        "https://y0qd3iq.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn"
  ]
}

Parallels Desktop

Mac上性能最好的虚拟化工具

UTM

UTM 是一个功能齐全的系统模拟器和虚拟机主机,适用于 iOS 和 macOS。它基于 QEMU。所以可以模拟x86、ARM64 和 RISC-V。

brew install --cask utm

Vulnhub

kali攻击机上官网下载iso文件导入即可

官网下载

然后到vulnhub查找自己想要练习的靶机,并下载ova

vulnhub vulnhub国内镜像

cd Downloads
tar xvf xxx.ova

解压完成后安装一下 qemu

brew install qemu

转换成qcow2格式

qemu-img convert -O qcow2 xxx-disk001.vmdk xxx.qcow2

打开UTM,选择左上角➕,新建选择模拟->其他→勾选跳过 ISO 启动->选择内存等->继续->填写名字→保存

在主页面能看到新建的机器->右击编辑->选择QEMU→取消勾选UEFI启动

右击IDE Drive删除

再点击驱动器下方的新建->导入->选择刚刚生成的qcow2文件即可

x86

在网上下载你想要模拟的x86系统的iso文件

打开UTM->左上角➕->选择模拟->linux(或者windows)->调整内存->驱动器大小->名字→完成

之后就可以正常打开使用了

VirtualBox

Virtualbox是一个开源的虚拟机工具

可以在官网下载安装。官网下载

Virtualbox更加适用于打靶机的情况,比如 hackmyvm 靶场中大部分的靶机都是适配Virtualbox的

Vmware Fusion

Vmware是除了PD以外非常优秀的虚拟机工具,如果觉得PD收费太高,那么可以选择 Vmware

官网下载

4C21U-2KK9Q-M8130-4V2QH-CF810

Firefox

开源浏览器

brew install --cask firefox

Arc

非常好看的浏览器,垂直标签栏能更好的保存网站分类

brew install --cask arc
注意需要加入愿望单,获取名额

Electerm

支持ssh/sftp的客户端

支持github,gitee同步

brew install --cask electerm

Vscode

brew install --cask visual-studio-code

官网下载

Miniconda

安装

下载安装包

官方链接 清华镜像

curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
sh Miniconda3-latest-MacOSX-arm64.sh

在安装的最后会出现

Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no]
[yes] >>>

输入yes

此时安装包会向当前 SHELL 的配置文件(~/.zshrc)中写入 conda 初始化语句

查看conda版本,检查是否安装成功

conda -V

配置

取消激活base环境

因为我们之前已经配置了本地python环境,为了区分用途[pyenv管理的python用于python开发等,conda用于机器学习、深度学习等]。

以上是我个人的习惯,如果只有单方面需求,使用对应的python配置方法即可。安装Miniconda 后,打开终端默认会激活 base 环境

所以通过命令取消掉

conda config --set auto_activate_base False

想要在终端激活conda中的虚拟环境的时候

conda activate base[虚拟环境名]

想要恢复默认激活base环境

conda config --set auto_activate_base True

conda-forge

conda-forge 是一个由社区维护的大量 Python 包的通道。 为 conda 增加 conda-forge 通道,可以安装更多的软件包

conda config --add channels conda-forge

设置通道优先级为 strict。当一个包同时位于 conda-forge 和 main 通道时,总是使用 conda-forge 提供的包

conda config --set channel_priority true

显示通道 URL

conda config --set show_channel_urls true

conda换源

conda config --add default_channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --set 'custom_channels.conda-forge' https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

设置 conda 使用更快的 libmamab solver

conda install -n base conda-libmamba-solver
conda config --set solver libmamba

conda虚拟环境

创建虚拟环境

conda create -n py38 python=3.8

激活虚拟环境

conda activate py38

查看已创建的虚拟环境

conda env list

 退出当前环境

deactivate 环境名字

删除环境

conda remove -n 环境名字 --all

删除环境钟的某个包

conda remove -n 环境名字 包名

 TensorFlow

安装

conda install -c apple tensorflow-deps
pip install tensorflow-macos
pip install tensorflow-metal

测试

conda activate py38
python
import tensorflow as tf
print("tf version",tf.__version__)
print("tf gpu",tf.test.is_gpu_available())

Pytorch

安装

Anaconda

conda install pytorch torchvision torchaudio -c pytorch-nightly

pip

pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu

Building from source

测试

import torch
if torch.backends.mps.is_available():
    mps_device = torch.device("mps")
    x = torch.ones(1, device=mps_device)
    print (x)
else:
    print ("MPS device not found.")
Copy
The output should show:

tensor([1.], device='mps:0')

安装一些常用的库

pip install pandas matplotlib glob2 tqdm opencv-python scipy scikit-learn mlx

Adobe全家桶

https://www.yuque.com/yihulaojiu-gsfg9/zz2qv5/vixkf6

渗透工具

注意因为渗透测试考虑到安全性,工具配置在虚拟机中更加合适,所以本文只介绍少数工具,详细信息请在 Kali 的 wiki 中查看

主机探测

brew install nmap
brew install arp-scan

抓包工具

Burpsuite

首先官网下载

点开dmg文件安装,将注册jar将其放入到 BP Jar 包的同级目录下:

注册jar下载


cd /Applications/Burp\ Suite\ Professional.app/Contents/Resources/app && "/Applications/Burp Suite Professional.app/Contents/Resources/jre.bundle/Contents/Home/bin/java" \
"--add-opens=java.desktop/javax.swing=ALL-UNNAMED" "--add-opens=java.base/java.lang=ALL-UNNAMED" \
"--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED" "--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED" \
"--add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED" "-javaagent:BurpLoaderKeygen.jar"  "-jar"\
"/Applications/Burp Suite Professional.app/Contents/Resources/app/burpsuite_pro.jar"


显示激活窗口

另外打开一个终端

/Applications/Burp\ Suite\ Professional.app/Contents/Resources/jre.bundle/Contents/Home/bin/java \
 -jar /Applications/Burp\ Suite\ Professional.app/Contents/Resources/app/BurpLoaderKeygen.jar

再运行下面的命令

echo "--add-opens=java.desktop/javax.swing=ALL-UNNAMED" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txt
echo "--add-opens=java.base/java.lang=ALL-UNNAMED" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txt
echo "--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txt
echo "--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txt
echo "--add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txt
echo "-javaagent:BurpLoaderKeygen.jar" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txt
echo "-Xmx2048m" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txt

那么激活完成,可以在应用程序中直接打开

Yakit

Yakit官网

选择macOS (Apple Sillion)

Wireshark

网络数据包分析

官网下载

承影

一款安全工具箱,集成了目录扫描、JWT、Swagger 测试、编/解码、轻量级 BurpSuite、杀软辅助功能

Github下载

SQL注入

brew install sqlmap

文件分析

brew install binwalk
brew install exiftool

Hex Fiend

小巧的 Hex 文件查看器,支持自定义高亮选中展示

应用商店下载

Shambles

次世代嵌入式逆向工程神器

智能扫描漏洞,固件对比,环境模拟

官网

冰蝎

动态二进制加密网站(WebShell)管理客户端

Github下载

SiteSucker Pro

下载网站下载链接

Metasploit

下载最新版本的安装包:https://osx.metasploit.com/metasploitframework-latest.pkg

双击点开安装。安装路径为/opt/metasploit-framework/bin

配置环境变量

echo 'export PATH="$PATH:/opt/metasploit-framework/bin/"' >> ~/.zshrc

重新打开终端


msfconsole

# 输入 y 确定初始化一个新的数据库
Would you like to use and setup a new database (recommended)? y


Hashcat

密码破解神器

brew install hashcat

常见问题

xxx.app 已损坏,无法打开,你应该将它移到废纸篓/打不开 xxx,因为它来自身份不明的开发者解决方法

方法1 开启任何来源

先打开 系统偏好设置 -> 安全与隐私 -> 通用 选项卡,检查是否已经启用了 任何来源 选项。

如果没有这个选项,复制以下面的命令:

sudo spctl --master-disable

重新安装文件

方法2 应用签名

安装Command Line Tools 工具

打开终端工具输入如下命令:

xcode-select --install

打开终端工具输入并执行如下命令对应用签名:

sudo codesign --force --deep --sign - (应用路径)

应用路径:打开访达(Finder),点击左侧导航栏的 应用程序,找到相关应用,将它拖进终端命令- 的后面,然后按下回车即可,注意最后一个 - 后面有一个空格。

正常情况下只有一行提示,即成功:

/文件位置 : replacing existing signature

如遇如下错误:

/文件位置 : replacing existing signature /文件位置 : resource fork,Finder information,or similar detritus not allowed

先在终端执行:

xattr -cr /文件位置(直接将应用拖进去即可)

然后再次执行如下指令即可:

codesign --force --deep --sign - /文件位置(直接将应用拖进去即可)

绕过公证

打开终端,输入以下命令:

sudo xattr -rd com.apple.quarantine /Applications/xxxxxx.app

将上面的 xxxxxx.app 换成App名称,比如 Sketch.app

sudo xattr -rd com.apple.quarantine /Applications/Sketch.app

然后按键盘的回车键(return),输入密码,再按回车键,完成。

  • 无标签
写评论...