🍬 写在前面
👨🎓 博主介绍:大家好,我是 vortex5 ,很高兴认识大家 ➤ 主页传送门
✨主攻领域:【网络安全】【渗透领域】【SRC挖掘】【靶场复现】 📝欢迎大家关注我的 vx 公.众.号:飓风瞭望 🎉如果本文对您有所帮助,请点赞➕评论➕收藏 一键三连😋 🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步 🙏作者水平有限,欢迎各位大佬指点,相互学习进步呀~

简化和自动化重复命令
除了我的自动化 脚本,我还根据需要自定义了我的 .zshrc 文件,加入了一些关键设置,这些设置为我节省了大量时间,并使我的黑客工作流程更加直观。我已经在下面的 GitHub 仓库中发布了它们,但在此我想详细解释每个设置的作用。

终端历史
这些设置优化了我的终端历史记录,最小化了重新输入命令的次数,并且能够在不输入额外命令或离开当前工作终端的情况下,快速过滤历史记录。
setopt inc_append_history
bindkey "^[OA" history-beginning-search-backward
bindkey "^[OB" history-beginning-search-forward
bindkey '^[OM' end-of-line
第一个选项设置终端将所有打开的会话/标签页中的命令实时追加到历史文件中(而不是会话结束时才写入)。这防止了会话之间相互覆盖彼此的历史记录(这也是我在启用这些设置之前,历史记录缺失的一部分原因)。终端只会访问它们启动时的历史记录文件,但任何之后启动的新终端将继承所有其他终端的历史记录。虽然这听起来很复杂,但实际上非常直观;试试看。结果是,多个终端不会互相污染历史记录,但新的终端会获取到之前所有终端中输入的命令。例如,如果你在一个标签页运行 nmap 扫描,在另一个标签页运行 dirbuster 扫描,当你在 dirbuster 标签页向上滚动历史记录时,你就不需要再翻找 nmap 的命令,反之亦然。这种行为是默认设置,但新增加的终端标签页会立即获取 nmap 和 dirbuster 标签页中的所有输入命令。如果你希望标签页之间的历史记录实时共享,可以尝试注释掉的 share history 设置。
第二部分设置修改了箭头键在历史搜索中的功能,创建了一个基于历史记录的自动补全功能,可以动态过滤。默认情况下,上下箭头键会遍历终端历史记录中的所有命令,每次替换掉上一个命令。我的设置是,如果你输入一个命令的开头,按上或下箭头键,历史记录会自动补全剩余部分,保持光标左侧的内容不变。你可以继续向右移动光标,并通过上下箭头进一步过滤搜索,或者使用退格键来扩大过滤范围。此设置的一个副作用是,当新的历史记录条目加载到当前行时,光标不会自动移到行尾。
最后一个设置通过重新绑定 shift+enter 来将光标移动到行尾。这在你回忆起想执行的命令时,想在其末尾添加内容再执行时非常有用。如果你的键盘有 end 键,当然也能实现同样的效果,但我觉得 shift+enter 更快捷、更流畅。
注意:这些设置可能与 Oh My Zsh 冲突。我选择不使用 OMZ,以便保留对终端的更细粒度控制,因为我发现它的大多数功能更适合软件开发者,对命令行黑客工作并不十分有用。Kali 默认的
zsh配置足够满足我的需求,并且不会与这些设置冲突。
自定义变量
在这里,我从 tun0 获取 VPN IP,并通过 $myip 变量在命令中方便地使用它。它还构建了一个地址字符串,用于下一节中定义的 smbserver 函数。
myip=$(ip addr show tun0 | grep -oP 'inet \K[\d.]+')
smbAddress="\\\\${myip}\\share"
函数与别名
导航
alias lla='ls -lah'
alias oscp='cd ~/Documents/OSCP'
function mkcd() { mkdir -p "$1" && cd "$1"; }
lla 只是将隐藏文件添加到常用的 ll 别名中。某些 shell 默认这样做,但 Kali 的 .zshrc 默认没有此设置。
oscp 只是简单地打开我的 OSCP 文件夹目录。
mkcd 结合了 mkdir 和 cd,创建一个目录并立即进入。这是大多数第三方 shell 框架和自定义功能中非常常见的功能,但 Kali 默认没有这个功能。
find 别名
alias f='function _myfind() { root="${2:-/}"; find "$root" -iname "*$1*" 2>/dev/null; }; _myfind'
alias ff='function _myfind2() { root="${2:-/}"; find "$root" -iname "$1" 2>/dev/null; }; _myfind2'
这些使用 find 执行一个基本的不区分大小写的搜索,并过滤掉输出中的错误。第一个位置参数是你的搜索词,第二个可选参数是要搜索的目录,如果没有指定,则默认为根目录(/)。f 是一个模糊搜索,它会将搜索词两侧加上星号(*search_term*),而 ff 是一个严格搜索,仅返回完全匹配的项。
经验丰富的 shell 用户可能注意到,bash 自带的 locate 提供了相同的功能,且速度更快,但有一个重要区别 —— locate 依赖于一个文件系统的索引,该索引由 cron 定期更新,并且必须手动运行 sudo updatedb 才能确保它是最新的。在处理大量新文件或临时文件(如下载公共漏洞脚本或目标主机的系统日志)时,使用 find 比 locate 更加高效且灵活。
反向 Shell 监听器
ketch() { nc -lvnp "${1:-443}"; }
rketch() { rlwrap nc -lvnp "${1:-443}"; }
wketch() { stty raw -echo; (stty size; cat) | nc -lvnp "${1:-443}"; }
alias pse='rlwrap impacket-psexec'
这些命令接受一个端口号作为可选参数(如果没有指定,默认使用 443),并为你启动一个监听器。
ketch 只是一个经典的 netcat 反向 Shell 监听器,用来接收一个 Shell。当目标安装了 python 或其他工具时,它可以帮助你进一步生成一个完整的 tty,以实现完全的交互式访问和键盘控制(请查看我的 命令备忘单 了解更多信息)。
rketch 与 ketch 功能相同,但它通过 rlwrap 包装命令,以便在原始 Shell 中实现键盘交互。如果你不能升级你的 Shell 为 tty,这个功能会非常有用。它可以去除按箭头键时出现的那些麻烦的 ^[[C^[[D^[[A^[[B 转义码,并允许你使用 Bash 历史记录。不过,它不支持 Tab 补全。
wketch 用于在从 Windows 主机捕获反向 Shell 时使用 InvokeConPtyShell。如果你还没有尝试过 InvokeConPtyShell,建议你试试,它会带给你类似 SSH 的命令行性能,适用于 Windows 的 Shell。你也可以在 Kali 中预安装的 /nishang 文件夹中找到它。
pse 虽然不是一个反向 Shell,但它的功能非常类似,简单地将 PsExec 的 Shell 包装在 rlwrap 中,以便支持键盘交互。按常规方式传递参数给 impacket-psexec 即可。
自动 SMB 服务器
alias smbserver='echo -ne "\033]0;SMBserv\007"; echo "net use x: $smbAddress /user:sender password"; impacket-smbserver share . -username sender -password password -smb2support'
smbserver 启动一个 SMB 服务器,其功能类似于我之前发布的 权限提升服务器脚本,但这里的版本更简化、更轻量。它为你提供了一个包含当前 VPN IP 的命令,可以直接复制粘贴到任何 Windows Shell 中,连接到该服务器。
SMB 服务器为你提供了一个非常实用且方便的文件传输方式,尤其在你获得 Windows 目标的初步访问权限后,使用 SMB 进行文件传输会非常有帮助。如果你还不熟悉如何运行 SMB 服务器进行文件传输,建议你学习一下,尤其是在进行 OSCP 认证时,涉及到 Windows 目标和 Active Directory 部分时,它会对你有很大帮助。
Hashcat 快捷方式
function hc() { hashcat $1 /usr/share/wordlists/rockyou.txt $@ -O }
最后,hc 会接收一个哈希和其他 hashcat 参数,并使用 Kali 中包含的 rockyou.txt 字典运行它,并设置优化的内核选项 -O 来提高破解速度和效率。
尝试一下!
所有这些可以在我的 hackbook 仓库中的 /aliases 文件夹中找到,还有许多其他有用的工具。我一直在更新它,所以请随时回来查看更多的技巧、窍门和帮助我 第一次通过 OSCP 的经验!
声明: 本文为对原文的翻译和整理,原文来自 My OSCP efficiency aliases and functions。所有内容仅用于学习和交流目的。如有任何问题,请参考原文。
原文 https://blog.csdn.net/2301_79518550/article/details/144933885