目录
信息搜集
扫描网段
扫描端口
这边么没有发现http服务所以就不扫目录了,没有意义。当然也不用去浏览器查看网站了。
搜索中间件漏洞
ftp中间件
emmmm 拒绝服务 还是算了,我们的目的是进去拿到我们想要的flag而不是搞破坏所以还是算了
换msf再试试,匹配正好的版本没有。不要版本匹配出来的又差距太大几乎可以忽略
ssh中间件
中间件这边是感觉是没戏了,转换思路!
发现漏洞
注意看这一行是有登录的一些信息的
尝试登录ftp
直接我就进来了,那你可能会问我怎么会知道用户名和密码呢?是这样我之前做过一个靶场这个ftp扫出来的信息跟那个一摸一样,而之前那个用户名和密码也都是Anonymous。一试就进来了。所以经验还是挺重要的平时要多动手,注重经验的积累。
查看文件
就是翻了翻都有什么文件,我找来找去好像就这一个目录而且下面只有id_rsa这一个文件并且没有查看的权限
getshell
id_rsa
简单介绍一下:id_rsa是一个私钥文件。我把id_rsa理解为一个类似通行证的东西,如果你有这个文件就可以不用密码登录对方的ssh服务。我这解释稍微有点野,大家要是没学过的还是去看一下官方文档,或者百度一下。
https://blog.csdn.net/liangtaox8/article/details/98090777这篇文章也不错可以参考一下
下载id_rsa到本地
登录ssh
这个用户名我承认我是看大佬的文章才知道的,其实说实话我觉得这个用户名我应该是可以猜到的,之前做了那么多靶场了,也好多以靶场名命名的,其实耐着性子多试几次也就试出来了
找到普通用户下的flag
提权
find / -perm -u=s -type f 2>/dev/null
######
还是熟悉的配方,熟悉的味道
巧妙的方法
cpulimit命令本身是为进程预设一个cpu占用率门限,这边我们用来提权了。其实主要还是-f参数,-f参数的意思在前台启动目标进程并等待退出,而在启动的时候是具有root权限的。但是这种方法虽然比较巧妙但是还是有一些限制,比如说如果不知道具体的文件路径或者文件名那不就没办法看到找到flag了吗?但是我想说的是这个命令不仅仅是让我们找到flag而实给我们提供一种思路,你都有root权限了,你还看什么flag,那不是已经为所欲为了么,这种时候就需要尽情的发挥自己的想象力了
常规方法
说常规方法不是说low而是说这种方法属于一步一步来,比较扎实,也更容易理解
尝试直接启动一个shell
好像不太好使,这个shell出来仍然是普通用户,显然这并不是我们想要的
既然/bin/bash直接出来不是root权限,那我们就帮帮它,把uid和gid都设置为0那不就是root了么
在kali上创建一个abc.c文件写入以下代码(代码是我借鉴的(抄的)文章链接放在最下面了)
gcc编译.c文件
在kali上起一个http服务
下载该文件
给执行权限
我这里是因为之前下载过一次了,然后又没改名字所以是abc.1
提权成功,拿到flag
运行脚本,拿到root权限,找到txt文件,拿到最后一个flag一气呵成
总结
信息搜集阶段最重要的还是要细心,所谓胆大心细嘛。然后后续的操作一个就是id_rsa拿到私钥可以无密码登录ssh,最后就是cpulimit提权了。最后这个cpulimit提权最后做完就感觉还可以也没有那么难,但是在刚碰到这个指令的时候确实是一脸懵,还是自己知识面太窄了,不过也没有关系,这不今天就又积累了一个重要知识点么。每天进步亿点点 ,加油
参考文章
https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=58585