vulnhub--DC2

环境:kali、DC2靶机

DC2靶机默认桥接模式,开启前改成net模式,保证kali和DC2在同一局域网中。(也可都是桥接模式,我比较习惯net模式)

ifconfig查看kaliIP地址:192.168.44.131

vulnhub--DC2_第1张图片

查看C段,准备C段扫描,在虚拟机编辑--虚拟网络编辑器中,

vulnhub--DC2_第2张图片

得知网段192.168.44.0/24,使用nmap扫描存活主机

nmap -sP 192.168.44.0/24    #扫描IP段的所有IP地址

vulnhub--DC2_第3张图片

 一般都会扫描出5个存活主机,出去较大的,较小的,得知DC2的IP为192.168.44.142(或者还有一种方法判断192.168.44.142就是DC2主机IP,就是把DC2关机扫描一次,开机扫描一次)

端口扫描,

nmap -A -p1-65535 -T4 192.168.44.142     #扫描开放端口及对应服务

vulnhub--DC2_第4张图片

 开放了80和7744端口,分别对应http服务和ssh服务。

既然开放80端口,直接访问http服务。直接在地址栏输入IP地址即可,

输入访问ip,发现无法访问返回到dc-2路径,需要修改/etc/host文件

vulnhub--DC2_第5张图片

 进入/etc目录,vim打开hosts文件,添加 192.168.44.142   dc-2.保存退出

vulnhub--DC2_第6张图片

 vulnhub--DC2_第7张图片

再次访问web服务,即可成功访问,并且看到cms是wordpress(WordPress是一种使用PHP语言和MySQL数据库开发的博客平台

vulnhub--DC2_第8张图片

 点击flag,出现提示

vulnhub--DC2_第9张图片

 

看不懂,翻译

vulnhub--DC2_第10张图片

 提示用cewl工具破解密码,登陆后才可以查看下一个flag

(Cewl是一款采用Ruby开发的应用程序,可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,然后可以用于密码破解。)

既然需要登录,使用dirb扫描网站目录,寻找可登录网站

vulnhub--DC2_第11张图片

看到wp-admin,访问

vulnhub--DC2_第12张图片 

成功访问,看到登录界面,前面又提示需要cwel(cwel生成的字典是用来爆破密码的),尝试用户枚举,然后利用枚举到的用户爆破密码

wpscan --url http://dc-2/wp-admin/ -e u

vulnhub--DC2_第13张图片

 

vulnhub--DC2_第14张图片

wpscan --url http://dc-2/wp-admin/ -e u这个命令可以爆出3个用户名,

  1. admin

  2. tom

  3. jerry

(如果wpscan运行时报错,

Unable to get https://data.wpscan.org/metadata.json.sha512 ......等等报错,大概意思呢就是访问不到这个更新源;网上很多教程,大概意思就是下载最新压缩包,放到本地更新。我是直接换了一个kali源,既然找不到更新源,就换掉用其他的。kali源网上很多,我换了阿里云的就能正常更新了。)

接着使用cewl生成与url相关的密码,

vim user.txt   #先把用户名放到一个txt中

cewl http://dc-2/ -w passwd.txt     #生成字典

vulnhub--DC2_第15张图片

 用wpscan进行爆破密码。需要两个文件,一个user.txt–内容就是3个用户名。一个是cewl生成的字典文件passwd.txt。

wpscan --url http://dc-2 -U user.txt -P passwd.txt  #爆破密码

vulnhub--DC2_第16张图片

这里只爆破出两个,admin没有爆出。

 vulnhub--DC2_第17张图片

 用户名密码都拿到手,登录后台,

vulnhub--DC2_第18张图片

 成功进入,随便点点,

vulnhub--DC2_第19张图片

 这里看到flag2,提示出现,还是看不懂,

vulnhub--DC2_第20张图片

 百度翻译

09a1c92bcaf6477d9bb405b6be6001b8.png

 提示说如果不能利用wordpress,也就是80端口,web服务,还有另外一种方法,前面端口扫描时,扫出来了两个服务,另一个是7744端口,ssh服务。尝试连接吧

ssh [email protected],142 -p 7744 

vulnhub--DC2_第21张图片

jerry不能登录,但是tom登录上了,ls一下,直接看到flag3.txt,想都不用想,直接cat,结果,它早有预防,tom登录后rbash限制,各种命令执行不通,但是vi可以用,

vulnhub--DC2_第22张图片

但是vi可以用,

 174b57c307fb4d90a352612e103e22f3.png

 继续百度翻译

78d6a16d44244ae09db20b57485d3a0d.png

 什么意思,百度说是要切换用户的意思,

fb9c7a26d212415994d108aa17b93ef7.png

 rbash是Restricted Shell,即受限的shell,它与一般标准shell的区别在于会限制执行一些行为。
怎么做可以绕过shell限制?

tom@DC-2:~$ su jerry
-rbash: su: command not found
tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a
$ /bin/bash
tom@DC-2:~$ export PATH=$PATH:/bin/
tom@DC-2:~$ export PATH=$PATH:/usr/bin
tom@DC-2:~$ su jerry
Password: 
jerry@DC-2:/home/tom$ 

 什么意思,我不知道,反正是切换成功了,不知道的交给百度吧

 切换用户后,在jerry的家目录看到flag4.txt

vulnhub--DC2_第23张图片

vulnhub--DC2_第24张图片

 终于,剩最后一个了,

flag4提示可以用git,使用git提权,sudo -l看到不需要root权限。

vulnhub--DC2_第25张图片 

利用SUID进行提权,SUID可以让调用者以文件拥有者的身份运行该文件

已知可用来提权的linux文件: Nmap Vim find Bash More Less Nano

查找系统上运行的所有SUID可执行文件

find / -user root -perm -4000 -print 2>/dev/null

find / -perm -u=s -type f 2>/dev/null

find / -user root -perm -4000 -exec ls -ldb {} \;
(可不输这几条)
输入sudo git -p –help

a667e5ebc403493b88d2f18f690c364d.png

 

 输入!/bin/bash 获得root权限,在roo目录下找到最终flag。

vulnhub--DC2_第26张图片

 

 

你可能感兴趣的:(安全,web安全)