WgelCTF打靶条记(2)

打印 上一主题 下一主题

主题 913|帖子 913|积分 2739

参考视频:https://www.bilibili.com/video/BV1itwgeHEEk/?spm_id_from=333.1387.upload.video_card.click&vd_source=e948147c25027ef3216b5c376b31fc96
扫描


dirb:

发现.ssh

有一个id_rsa文件,即ssh连接私钥,右键下载到本地
ssh私钥:
SSH:用于安全的连接到远程服务器
1、私钥(Private Key):生存在你的本地设备上,必须严格保密(相当于你的数字身份证)。
2、公钥(Public Key):可自由分享,需上传到你要连接的远程服务器上(相当于公开展示的“锁”)。

在连接的过程中,还必要指定用户名
这里补充ssh的根本用法:
远程登录服务器

ssh 用户名@远程主机
比方:ssh root@192.168.1.100
默认情况下,ssh运行在22端口,如果要指定端口,可以用-p
比方:ssh -p 2222 用户名@远程主机
利用私钥登录
如果服务器启用了公钥认证,必要利用 SSH 私钥:
ssh -i ~/.ssh/id_rsa 用户名@远程主机
1、-i:指定私钥文件(默认是 ~/.ssh/id_rsa)。如许不利用密码也可以利用了
回到这道题本身,我们必要知道目的服务器的用户名,这里是在网页ctrl+u中得到的信息的

可以猜测得出用户名

显示私钥文件的权限有问题,我们一样平常要设置成600,400才能利用
原因:
我们可以看到图中告诫私钥文件的权限为644,too open
如果权限太开放,如644或者777,ssh连接时会报错
600:文件全部者可读可写
400:文件全部者可读,也就是说即使你是文件的全部者也不能修改它
644:全部人可读。 那么全部人都可以读取私钥,攻击者可能会盗取私钥并伪装成你登录服务器。
所以这里我们修改文件权限

这里的用户名居然只能是小写,这是大佬的履历试出的吗
那我们就连接到服务器了
查看flag可以用find下令,昨天提到过
find / -name *flag.txt 2>/dev/null
下令解释:
/:从根目录开始查找 ,意味着搜索范围覆盖整个文件系统。
*flag.txt:指名字以flag.txt为结尾的文件
2:尺度错误流文件描述符
2>/dev/null:这里把尺度错误的输出重定向到虚空,就是不显示错误信息的意思

提权

拿到普通用户flag,接下来开始提权
开始罗列
还是先来一个sudo -l
大佬先容一个项目可以利用这个下令
GTFOBins
go awayBins 是一个精选的 Unix 二进制文件列表,可用于绕过设置错误的系统中的本地安全限定。
这不是一个漏洞利用的列表它本身依赖于管理员做的错误设置
可以通过系统上本身有的工具,来实现我们必要的一些目的,比比如find提权和nmap 提权
这里查询wget

利用文件上传只拿flag


我们现在的目的是拿到root的flag,根据普通用户的flag可以猜测,root的flag文件名大概叫root_flag.txt

攻击机:

如许就拿到了root的flag
利用文件上传和文件下载真正提权

现在再试试真正的提权
这里我们的思路是:
1、利用文件上传发送敏感文件到攻击机
敏感文件比如说sudoers,etc/passwd,etc/shadow

2、攻击机担当敏感文件后修改文件
3、目的机利用文件下载功能担当修改后的文件并覆盖

-O(注意是大写字母 O)背面跟随你渴望生存下载内容的目的文件名。比方:
  1. wget http://example.com/sample.txt -O myfile.txt
复制代码
这条下令会把 http://example.com/sample.txt 下载下来的内容生存到当前目录下的 myfile.txt 文件中。
4、目的机的权限成功被修改
具体操作

攻击机:

在本地创建sudoers,把内容粘贴进去

修改权限

python -m SimpleHTTPServer 是一个下令,用于利用 Python 内置的模块启动一个简朴的 HTTP 服务器,将当前目录的文件通过 HTTP 协议共享出去。下面具体解释一下:
1、**python -m**
利用 -m 选项表示以模块方式运行 Python 的尺度库模块,而不是直接执行某个脚本文件。这答应你直接调用内置模块作为独立程序。
2、**SimpleHTTPServer**
这是 Python 2.x 中内置的模块,提供了一个简朴的 HTTP 服务器。它可以将当前目录(即你运行下令时地点的目录)作为根目录,通过 HTTP 协议将目录中的文件提供给远程访问者。

细节:为什么在目的机接收时的下令的url中sudoers放在的ip目录的下面?
答:利用浅易http服务器时,比如这里的python -m SimpleHTTPServer, 如果你在某个目录下启动服务器,该目录就成为了 HTTP 的根路径,里面的文件直接对应 URL 路径。
所以这里root就成了根路径
利用 Python 浅易服务器
如果你在 /home/user/myfiles 目录下执行:
python -m SimpleHTTPServer
那么 Web 服务器的“文档根目录”就是 /home/user/myfiles。
如果这个目录下有一个文件 example.txt,则访问 http://IP:8000/example.txt 就能下载或查看该文件。
提权成功

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

麻花痒

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表