HackTheBox:Cronos笔记

这篇博客详细记录了作者在HackTheBox平台针对Cronos靶机进行渗透测试的过程。首先,通过NMAP扫描发现53端口的DNS服务器,并使用dig和nslookup进行DNS区域传送,揭示了Laravel框架的站点。接着,作者尝试利用Laravel的APP_KEY获取RCE,但因版本不符未能成功。然后,利用DNS域传送漏洞找到了一个后台入口并获得了命令注入的权限。尽管无法直接执行RCE,但作者通过读取文件和密码,尝试反弹shell。最后,文章讨论了提权策略,包括查找suid文件和定时任务,最终成功获取了交互式shell。
摘要由CSDN通过智能技术生成

HackTheBox:Cronos笔记

信息收集

在这里插入图片描述

NMAP

# nmap -sV -sC -Pn -p-  --min-rate 1000 -oA scans\alltcp 10.10.10.13
Nmap scan report for 10.10.10.13
Host is up (1.0s latency).
Not shown: 65532 filtered ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.1 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|_  256 1a:e6:06:a6:05:0b:bb:41:92:b0:28:bf:7f:e5:96:3b (ECDSA)
53/tcp open  domain  ISC BIND 9.10.3-P4 (Ubuntu Linux)
| dns-nsid: 
|_  bind.version: 9.10.3-P4-Ubuntu
80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

80端口没东西。。。

在这里插入图片描述

53端口:获得域名

看到有dns服务器,就百度了dig的用法。果然有惊喜,查到了10.10.10.13绑定的域名,绑host后即可访问

# dig @10.10.10.13 -x 10.10.10.13

; <<>> DiG 9.11.5-P4-5.1-Debian <<>> @10.10.10.13 -x 10.10.10.13
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60138
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;13.10.10.10.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
13.10.10.10.in-addr.arpa. 604800 IN	PTR	ns1.cronos.htb.

;; AUTHORITY SECTION:
10.10.10.in-addr.arpa.	604800	IN	NS	ns1.cronos.htb.

;; ADDITIONAL SECTION:
ns1.cronos.htb.		604800	IN	A	10.10.10.13

;; Query time: 1149 msec
;; SERVER: 10.10.10.13#53(10.10.10.13)
;; WHEN: 六 418 23:46:32 UTC 2020
;; MSG SIZE  rcvd: 111

上面dig的命令参数,做一下说明

  • @10.10.10.13 :从指定DNS 服务器10.10.10.13上查询
  • -x 10.10.10.13 : 反向查询 IP 地址10.10.10.13对应的域名
  • 还可以在后面追加+short获得精简的结果

根据经验,带ns1的二级域名不太可能是靶机的服务,直接绑定cronos.htb到靶机ip,访问之,图就不放了。

echo "10.10.10.13 cronos.htb" >> /etc/hosts

80端口:Laravel -> DNS Zone Transfer -> Admin

从返回的cookie是laravel_session和页面内容可知,是个用了Laravel框架的PHP站
搜索可用漏洞,找到一个unix/http/laravel_token_unserialize_exec

msf5 exploit(unix/http/laravel_token_unserialize_exec) > show info
Basic options:
  Name       Current Setting  Required  Description
  ----       ---------------  --------  -----------
  APP_KEY                     no        The base64 encoded APP_KEY string from the .env file
Description:
  This module exploits a vulnerability in the PHP Laravel Framework 
  for versions 5.5.40, 5.6.x <= 5.6.29. Remote Command Execution is 
  possible via a correctly formatted HTTP X-XSRF-TOKEN header, 
  ... Authentication is not required, 
  however exploitation requires knowledge of the Laravel APP_KEY. 
  ...
  In some cases the APP_KEY is leaked which allows for discovery and exploitation.

果不其然,不填APP_KEY,打失败了,那么最关键的应该是这句话

however exploitation requires knowledge of the Laravel APP_KEY.

猜测流程就是要读取到Laravel的配置文件.env,得到APP_KEY,进而打RCE拿shell的过程
好吧,我尝试爆目录、爆文件泄漏,浏览一个小时无果。。。
结果一看表哥们的过关wp:域传送漏洞。(其实我看到53端口就想到这个漏洞了,只不过记不住命令(懒得搜),就没验证

域传送漏洞

在windows下使用nslookup指令
在kali下使用dig指令
在kali或者是BT5下使用nmap,dnswalk,dnsenum这三种工具

dig

dig @10.10.10.13 -t AXFR cronos.htb 

; <<>> DiG 9.11.5-P4-5.1-Debian <<>> @10.10.10.13 -t AXFR cronos.htb
; (<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值