HackTheBox:Cronos笔记
HackTheBox:Cronos Walkthrough
信息收集
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: 六 4月 18 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
; (<