Qingmei靶场学习笔记
前言正文1、端口扫描2、匿名用户登录3、Bash 交互环境获取方法1修改bashrc方法2强制TTY登录4、Shell 环境逃逸5、用户提权方法1用户密码爆破方法2命令执行方法3nano漏洞利用方法4nano文件管理器内置快捷键登录前言本文围绕 Qingmei 靶场的实操过程展开详细记录从初始的端口扫描定位攻击面到突破匿名登录限制、获取 Bash 交互环境再到完成 Shell 环境逃逸与多维度用户提权的全流程。正文1、端口扫描nmap-sV-v-T4-A192.168.31.159发现开放22和80端口80端口访问后没啥有用信息2、匿名用户登录目光转到22端口上随机一个用户SSH远程登录上去试试ssha192.168.31.159有提示正确的用户名和密码通过用户名guest和密码guest进入web交互界面3、Bash 交互环境获取!bash发现没有回显且终端像卡了一样说明有些比赛题对用户的bash行为是限制的。 为什么是 ! 开头程序会过滤普通输入但对!开头的内容放行把后面的内容当成系统命令执行。当你输入!sh它就会执行os.system(sh)直接启动一个shell进程所以你能看到命令回显、可以执行系统命令了。方法1修改bashrc通过命令!sh进入shell交互界面tail命令默认查看文件的最后10行查看当前用户主目录下的.bashrc文件方法2强制TTY登录强制 SSH 给你分配一个伪终端sshguest192.168.31.159-tssh4、Shell 环境逃逸原来的流程SSH 登录 → 自动执行 .bashrc → less banner → exit → 会话直接关闭拿不到 Shell。修改后的流程SSH 登录 → 自动执行 .bashrc只剩系统默认配置没有自动退出代码 → 正常进入 Bash 交互环境拿到用户权限的 Shell。所以我们要删掉less banner两种删除法# 从倒数第2行到最后一行全部删除sed-i$d;$d.bashrc# 或者直接匹配删除这两行sed-i/less banner/d;/exit/d.bashrc重新ssh登录拿到guest用户权限5、用户提权进去之后发现有个morri用户方法1用户密码爆破hydra工具尝试爆破一下hydra-lmoir-Ppass.txt ssh://192.168.31.159-v-t1-ensr参数 / 部分作用说明hydraKali Linux 中常用的暴力破解工具支持 SSH、FTP、HTTP 等多种协议-l moir指定要破解的用户名moir小写 L-P pass.txt指定密码字典文件pass.txt大写 PHydra 会按文件里的每一行密码尝试登录ssh://192.168.31.159目标服务和地址SSH 协议IP 为192.168.31.159默认端口 22-v显示详细输出Verbose能看到每一次尝试的结果-t 1线程数设为 1每次只进行 1 次登录尝试避免触发目标的防暴力策略如 IP 锁定-e nsr附加测试模式包含 3 种特殊规则-n尝试空密码-s尝试用户名本身作为密码-r尝试用户名倒序作为密码如moir→riom爆破完发现密码就是用户名本身方法2命令执行进到/opt目录下发现有个morri_password执行程序/morri_password查看帮助-h拿到用户名权限当然也可以按照程序要求生成随机的字母Aperl-leprint Ax41部分作用说明perlPerl 编程语言的解释器很多 Linux 系统默认自带常用来快速执行一行脚本-le两个常用参数的组合--l自动在输出末尾加上换行符--e直接执行后面引号里的 Perl 代码print Ax41Perl 代码本体-print输出内容-Ax41Perl 里的字符串重复语法意思是把A这个字符重复 41 次进去后查看并执行可执行的权限进入后发现Nano编辑器里面有root.txt成功获取flagnano 常用操作快捷键作用Ctrl O保存文件Write OutCtrl X退出编辑器ExitCtrl K剪切当前行Ctrl U粘贴剪切的内容Ctrl W搜索文本Ctrl C显示当前光标位置方法3nano漏洞利用进入Nano编辑器后先依次输入CtrlR 、CTRLX然后输入命令reset;sh1020拿到root用户权限成功拿到flag。方法4nano文件管理器内置快捷键登录通过终端文件管理器nano的内置快捷键S功能进入shell