这个靶机和DC-1一样,一共5个flag。全部拿到通关。

root@kali:/home/kali# nmap -sP 192.168.1.*

先扫一下靶机的IP地址,拿到靶机的地址为192.168.1.3。

再详细的对靶机进行扫描,尽可能多的获取靶机的信息。信息收集对于渗透测试非常重要,能否挖到漏洞往往取决于目标信息是否尽可能多的被收集。

root@kali:/home/kali# nmap -sS -Pn -A -p- -n 192.168.1.9
//-n/-R: -n表示不对目标最DNS解析,-R表示进行DNS解析,缺省为必要时候进行DNS解析
//-Pn:跳过主机发现,视所有主机都在线
//-A:使用系统探测、版本检测、脚本扫描、路由追踪

这里被坑了一下,在拿到端口的时候却无法访问,看WP才知道是域名解析的问题,在访问IP地址时会自动跳转到http://dc-2,其实在扫描的时候就有说到dc-2没有被写入,奈何太simple,忽略了。



将192.168.1.9 dc-2写入到hosts文件中,windows下的hosts文件的路径是

c:\windows\system32\drivers\etc\hosts

从我们扫描的结果来看这个站用的是WordPress,这是一个PHP语言和MySQL开发的博客平台。暴出过不少的漏洞。我们可以利用他的一些漏洞来getshell。

在成功访问目标的80端口的时候我们也拿到了第一个flag。意思大概就是使用一般的字典可能不管用,可能需要用到cewl,字典包含的密码多总是好的,但是不可能包含所有的,登录可以看到下一个flag。



cewl是一个字典生成工具。详情参考 https://www.freebuf.com/articles/network/190128.html

从第一个flag给的提示来看,应该是用cewl生成这个网站的字典然后登陆。

root@kali:/home/kali# cewl -w dc-2-password http://dc-2/
root@kali:/home/kali# cat dc-2-password



生成了字典,但是网站并没有直接给后台的入口,那么我们可以扫这个网站的目录。

这里用到WpSan这款工具,WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞,

详情参考 https://www.freebuf.com/sectool/174663.html

root@kali:/home/kali# wpscan --url http://dc-2 --enumerate u
//–enumerate选项来扫描并发现关于目标站点主题、插件和用户名信息



获取到的信息:网站的几个目录,WordPress的版本,WordPress采用的主题,三个用户admin,jerry,tom。那么我们可以将拿到的三个用户写入字典当成用户名爆破

root@kali:/home/kali# touch dc-2-username
root@kali:/home/kali# vim dc-2-username //将三个用户名写进去
root@kali:/home/kali# cat dc-2-username
admin
jerry
tom

然后爆破

root@kali:/home/kali# wpscan --url http://dc-2 -U dc-2-username -P dc-2-password

拿到jerry和tom的用户密码:adipiscing和parturient



但是我们并没有拿到网站的后台路径,常规思路扫后台。这里用dirb工具

root@kali:/home/kali# dirb http://dc-2

拿到后台的路径



用得到的两个用户名和密码登录。在jerry的账号里面拿到第二个flag,第二的flag的意思是如果你无法找到利用WordPress的捷径,还有另外一种方法,希望你能找到另一种方法。



做到这好像思路就断了,flag2没给什么有用的提示呀。在nmao扫描的时候还有一个点没用上,开放了7744端口ssh。我们用ssh连接DC-2主机试下。jerry账号连接显示权限限制,tom账号可以连接上。

root@kali:/home/kali# ssh tom@192.168.1.9 -p 7744



查看当前目录下的文件,拿到flag3.txt,单纯的我一开始以为这个就是flag3的内容,再看一眼这好像是报错信息吧。不懂就谷歌,rbash就是受限制的bash,一般管理员会限制很多命令,显然这里cat命令无法使用。



那查看可用的命令有哪些。



可以使用的命令有less、ls、scp、vi。这里涉及到了rbash逃逸(啥呀,待会去瞅瞅)

使用less绕过:$less test 然后!'sh'

使用ls绕过:$man ls 然后!'sh'

使用vi绕过:$vi test 然后:!/bin/sh 或者 :!/bin/bash

还可以用 BASH_CMDS[a]=/bin/sh;a 直接绕过

tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a	//切换shell
$ export PATH=$PATH:/bin/ //添加$PATH,cat和su都在/bin下
$ export PATH=$PATH:/usr/bin //sudo在/usr/bin下
$ cat flag3.txt

拿到flag3的内容。意思是可怜的Tom总是在追逐jerry,为jerry给他造成的压力他需要切换用户。



这里切换成jerry用户拿到flag4。

$ su jerry  //切换用户
Password:

切换到jerry的用户目录拿到flag4。意思到了最后一步我们需要拿到最后的Flag。最后一句提示要用到git。



这里用git提权,原理是git存在缓冲区溢出漏洞,在使用sudo git -p help时,不需要输入root密码即可以root权限执行这条命令。

jerry@DC-2:~$ sudo git -p help



进入到root目录下,拿到最后的flag。

总结这个靶机涉及到的点:

1、linux下的hosts文件路径

/etc/hosts

2、cewl工具

CeWL是一款以爬虫模式在指定URL上收集单词的工具,可以将它收集到的单词纳入密码字典,以提高密码破解工具的成功率。

cewl http://www.ignitetechnologies.in/  //默认方法
cewl http://www.ignitetechnologies.in/ -w dict.txt //-w
cewl http://www.ignitetechnologies.in/ -m 9 //生成长度至少为9的密码 -m
cewl http://www.ignitetechnologies.in/ -n -e //从网站中获取Email -e
cewl http://www.ignitetechnologies.in/ -c //计算网站字典中重复的单词数量 -c
cewl http://www.ignitetechnologies.in/ -d 3 //增加爬虫的爬取深度以生成更大的字典文件 -d
cewl http://www.ignitetechnologies.in/ --debug //提取调试信息 -debug

3、WPScan工具

转载两篇大佬的文章,写得挺详细的

https://www.freebuf.com/sectool/88653.html 如何使用WPScan辅助渗透WordPress网站

https://xz.aliyun.com/t/2794#toc-0 WPScan使用完整教程之记一次对WordPress的渗透过程

4、linux的环境变量

PATH变量:设定解释器搜索所执行的的命令的路径。

export命令可以吧一般变量转换成全局变量

5、rbash逃逸

https://xz.aliyun.com/t/7642 rbash逃逸大全

6、git提权

sudo git help config
!/bin/bash或者!'sh'完成提权
sudo git -p help
!/bin/bash

靶机DC-2 rbash绕过+git提权的更多相关文章

  1. 多平台密码绕过及提权工具Kon-Boot的使用与防范

    在单用户的机器上密码可能没那么重要,但是一旦有多个用户可以使用这台机器,密码就显得十分必要了(比如有儿童账户的电脑).所以说为你的电脑增设一条防线的最常用,最简单的方法就是用密码将你的电脑保护起来,但 ...

  2. linux提权方法(不断总结更新)

    目录 1.suid提权 2.rbash绕过 3.git提权 4.Linux Kernel 4.4.x (Ubuntu 16.04) - 'double-fdput()' bpf(BPF_PROG_LO ...

  3. Cobalt Strike系列教程第七章:提权与横向移动

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  4. Windows提权总结

    当以低权用户进去一个陌生的windows机器后,无论是提权还是后续做什么,第一步肯定要尽可能的搜集信息.知己知彼,才百战不殆. 常规信息搜集 systeminfo 查询系统信息 hostname 主机 ...

  5. Windows提权小结

    摸鱼的时候,想想内网这部分还有什么地方适合水一下,翻翻往期,开始填坑 总结一下Windows提权的部分,以后有时间再补一下Linux提权 这仍然是一篇思路总结类的随笔,具体细节内容不展开,也展开不了. ...

  6. vulnhub靶机之DC6实战(wordpress+nmap提权)

    0x00环境 dc6靶机下载地址:https://download.vulnhub.com/dc/DC-6.zip dc6以nat模式在vmware上打开 kali2019以nat模式启动,ip地址为 ...

  7. 从getwebshell到绕过安全狗云锁提权再到利用matasploit进服务器

    本文作者:i春秋签约作家——酷帥王子 一. 利用getwebshell篇 首先对目标站进行扫描,发现是asp的,直接扫出网站后台和默认数据库,下载解密登陆如图: 下面进后台发现有fckeditor,而 ...

  8. 一次绕过防火墙获取RCE以及提权到root权限的渗透过程

    本文是关于Apache struts2 CVE-2013-2251是由于导致执行远程命令的影响而被高度利用的漏洞.简而言之, 通过操纵以“action:”/”redirect:”/”redirectA ...

  9. 21. 从一道CTF靶机来学习mysql-udf提权

    这次测试的靶机为 Raven: 2 这里是CTF解题视频地址:https://www.youtube.com/watch?v=KbUUn3SDqaU 此次靶机主要学习 PHPMailer 跟 mymq ...

随机推荐

  1. C、C++、python、Java、php、C#六种编程语言大PK 哪个好学习?

    作为程序员吃饭的工具,编程语言之间也形成了某种鄙视链,各大论坛里弥漫着剑拔弩张的气氛,众口难调.也难怪有很多初学者会有疑惑,为什么会有这么多编程语言,我到底应该学什么语言? 其实各种语言都各有千秋.接 ...

  2. 一QT获取当前时间和日期

    获取日期和时间使用QDateTime类,该类中有一个静态成员函数可以返回当前的时间信息 我们可以直接调用这个静态函数获取当前时间 QDateTime time = QDateTime::current ...

  3. C++ nullptr 和 NULL 的使用区别

    1. 为什么会有nullptr的出现 目的:nullptr的出现主要是为了替代NULL. 那么,为什么要替代NULL呢? 在NULL的定义中存在会有2种方式,有的编译器会将NULL定义成0,有的编译器 ...

  4. UVA 10689 Yet another Number Sequence 矩阵快速幂 水呀水

    #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...

  5. 7 shell 数学运算

    shell中数学运算的易错点: 1.在 Bash Shell 中,如果不特别指明,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储.即使是将整数和小数赋值给变量,它 ...

  6. 『心善渊』Selenium3.0基础 — 23、Selenium元素等待

    目录 1.什么是元素等待 2.为什么要设置元素等待 3.Selenium中常用的等待方式 4.强制等待 5.隐式等待 (1)隐式等待介绍 (2)示例 6.显式等待 (1)显式等待介绍 (2)语法 (3 ...

  7. HCNA Routing&Switching之RIP防环机制

    前文我们了解了RIP的基础概念.RIP的特点.RIP报文格式.RIP度量以及RIP配置认证等相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/150085 ...

  8. Java异常情况

    从网上了解了这些Java异常,遇到过一些,大部分还没遇到: 1. SQLException:操作数据库异常类. 2. ClassCastException:数据类型转换异常. 3. NumberFor ...

  9. lucene 入门简介

    Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能.Lucene 目前是 Apache Jakarta 家族中的一个开源项目. ...

  10. robotframework - PO设计

    1.添加新建好的资源 2.测试用例原始代码如下(未做任何分离的数据) *** Settings ***Library SeleniumLibraryResource UI分层一.txtResource ...