参考链接:https://www.five86.com/dc-2.html
步骤流程图
工具使用:
nmap
cewl
wpscan(wordpress 扫描)
find 提权
1.下载DC-1靶机 2.将DC-2.ova导入到VMware中(具体流程:略) 3.用ip addr查看本机IP
自己Kali作为攻击工具主机地址为:192.168.33.110
(因为从Vulnhub中下载得到的DC-2靶机,通过DHCP获取得到地址)
root@kali:~# nmap -sP 192.168.33.0/24
通过对比分析得到,DC-2靶机的地址IP为:192.168.33.129
(探测靶机开放的端口和对应的服务)
root@kali:~# nmap -sS -sC -sV -p-192.168.33.129
从扫描的结果可知,80端口开放,默认ssh的22端口被更改为7744
访问 http://192.168.33.129
没想到竟然访问不通。但此时仔细观察我们访问http://192.168.33.129,重定向到了http://dc-2
所以我们通过vim 编辑 /etc/hosts添加主机解析
再次再浏览器上输入http://dc-2可以进行正常访问,打开之后看到是使用wordpress的cms框架搭建的主页。主页上面有Flag字样,点击进入内容如下:
Flag1内容大概意思是:常用的字典列表不好使了,需要使用cewl一下;密码越多越好,但是你不可能得到所有的密码;登录来看看下一个提示。
按照提示,使用cewl(是一个字典生成工具,能爬取指定页面生成密码字典)。
使用cewl -h 获取帮助得知参数意义
使用命令:
root@kali:~#cewl -w dc2_passwd.txt http://dc-2/
现在有了密码字典,但是还不知道用户名,这个时候搜索一下看看kali针对wordpress 的cms有没有什么扫描器
搜索结果得知,可以使用wpscan来实现扫描功能。 使用命令
root@kali:~# wpscan --url http://dc-2/ -e u
(-e u是枚举用户名,默认从1-10)
从扫描的结果来看,可以得到wordpress版本:4.7.10;wordpress的主题:twentyseventeen;有三个用户admin jerry tom
现在确定了已知的用户名和密码范围的密码文件,下面肯定也知道我要做什么了!没错就是暴力猜解。 从wpscan的帮助可看到可以实现上述功能,从而继续使用该工具。
把3个用户名保存dc2_username.txt之中
暴力猜解使用命令: root@kali:~# wpscan —url http://dc-2/ -Udc2_username.txt -P dc2_passwd.txt
通过枚举发现 jerry 和 tom的密码。
进一步寻找后台登录页面进行登录 使用dirb 目录遍历工具进行遍历 使用命令:
root@kali:~# dirb http://dc-2
从扫描结果可知地址:http://dc-2/wp-admin/可以进行利用。使用jerry用户和密码进行登录
点击后台各个页面,发现了一个flag2页面
大概意思是:如果你没有办法从wordpress突入,那么需要找到另外一个入口点
这时回想还有一个ssh 7744端口处于开放状态,些许还可以利用。话不多说,直接连接开干。
使用jerry用户名并不能ssh登录,使用tom用户再次尝试,成功进入。
查看机器中有哪些文件,ls当前有一个flag3.txt使用cat more命令查看均报错
再更换常用查看命令less ,成功查看。
大致意思是:可怜的老汤姆总是在追求杰瑞。也许他应该为他所造成的压力而道歉。 这里是不是看不明白了。这里如果翻译就失去了提示的意义。flag3.txt的提示目的是下一步进入jerry。
但很明显此时的shell是rbash,所以 shell被限制了。这里就一个疑问还有可以允许哪些命令查看。翻看查看得到usr目录下得知。
可使用less ls scp vi等命令。 查看各位表哥绕过的方式可以通过尝试从vi切换到bash。(留下了没有技术的眼泪) 输入 vi 之后:
:set shell=/bin/bash
:shell
``
查看此时环境变量PATH,得知只有当前usr下的bin文件,所以还需设置环境变量
tom@DC-2:~$ export PATH=/bin:/usr/bin:$PATH
tom@DC-2:~$ export SHELL=/bin/bash:$SHELL
这时我们发现可以使用的命令不再没那么局限。
尝试使用su jerry 进行用户切换。
成功进入。查看jerry用户下有哪些文件。 ls 提示没有权限发现在tom的家目录下
执行cd /home/jerry家目录下,查看得到flag4.txt
flag4.txt文件内容大概意思是:很高兴看到你已经走了这么远,但你还没有到家。您仍然需要获得最后的标志(惟一真正有意义的标志!!)。这里没有提示——你现在只能靠自己了。
最后还有一句 go on – git 可知提示下面是关于git的相关操作
现在都在非root权限下,目前首要问题要来点高权限可执行操作才行。 这里试试find提权,尝试找到具有root权限的suid
执行命令:
jerry@DC-2:~$ find / -perm -u=s -print2>/dev/null
发现有sudo 可以进行利用,再结合提示给的git,可以进行搜索利用方式了。
得知执行sudo git help status,加上 ! /bin/bash便可提权
此时可以看到我们已经成功提权,成为root用户身份。 根据前几个flag存放的位置都是都在相应用户的家目录,所以我们直接到root家目录直接寻找flag文件即可。