一、配置靶机环境
以往的靶机,本人是在virtual box中,去配置,和vm上的kali进行联动,但是这个靶机需要DHCP,以往的方式可能不太行了,或者可以在virtual box中桥接成统一网卡。下面介绍下本人最有用的方法:
靶机地址:Vulnhub
下载好后,利用vm导入,导入期间存在报错 ,无需理会,直接重试,即可导入成功。
下一步,在编辑该靶机设置的时候会出现错误,导致虚拟机整体错误,直接退出。这是因为虚拟机版本太高导致,仅需将该靶机右键打开管理,修改兼容度,即可正常访问编辑设置。
向下兼容到16.x,就可以修改靶机配置,将靶机设置为NAT模式,并且在高级选项中,按照靶机要求修改MAC地址:08:00:27:A5:A6:76
然后开启靶机,即可正常出现如下图的ip地址,接着就可以开始本次渗透之旅了。
二、渗透过程
信息收集
因为已经知道该靶机的ip地址,这边可以直接用nmap进行端口探测,或者利用arp-scan,namp检测同网段存活的主机。具体命令,如果不清楚,请看之前的工具试用介绍。
kali ip:192.168.44.188 靶机ip为:192.168.44.132
扫描发现只有80端口,存在web端服务,对其进行目录爆破,发现了/images/、/robots.txt目录
访问ip,发现了主页,查看源代码没什么发现
查看robots.txt发现了三个小目录,分别打开后都是同一张图片,将图片下载到本地,猜测可能存在图片隐写之类的,利用strings 该图片,发现并没有什么有用的信息
返回主页后,一筹莫展,在主页上,它的标语,keep calm and drink fristi,意思是保持冷静和喝fristi,有点奇怪,浅浅的试了下fristi,发现了登录界面。
查看源代码后,在注释中看到了by eezeepz,这应该是用户名
在底下有一大串的base64的字符串,将其复制到本地,进行解码
发现是个png文件,于是将其解码后,变为png文件。
查看文件发现是个keKkeKKeKKeKkEkkEk,这应该是密码(吐槽一句,什么鬼密码!)
得,登陆成功,发现了个上传文件的按钮
2、web渗透
这就很明显了,这是要利用文件上传漏洞来获取shell,那就先随便传一个看看有没有什么限制
果然,只让传png,jpg,gif图片类型的文件。下面就好办了,利用burp抓包,将事先准备好的马,上传,拦截后,发送到重发中,修改后缀尝试下,上传成功!那就直接在包里修改,上传。ok!
上传后,显示了上传的文件夹,然后在kali本地新开终端利用nc进行监听,在网页访问刚才上传的文件,即可反弹shell
提权
搜索了一圈,也没有什么有用的信息,在/home中发现了3个用户,经过尝试只能进入eezeepz用户中,同时发现了个notes.txt文件
查看一下:
我让你可以做一些自动检查,但是我只允许你访问/usr/bin/*系统二进制文件。我所做的
然而,复制一些额外的经常需要的命令到我的Homedir: chmod df cat echo ps grep egrep你可以使用这些从/home/admin/
不要忘记为每个二进制文件指定完整路径!
只需在/tmp/中放入一个名为“runthis”的文件,每行一个命令输出到/tmp/目录下的“cronresult”文件。它应该用我的账户权限每分钟运行一次。
大致意思是,在/tmp/下建立一个runthis文件,然后利用chmod命令进行授权,它会自动运行。
touch runthis
echo "/usr/bin/chmod -R 777 /home/admin"> /tmp/runthis
发现可以列举出/home/admin中的文件,并且出现了两个txt文件
过一分钟多后,可以进入admin的文件夹中,这里有个加密的python脚本,结合刚才两个文件夹的内容,可以联想到应该是利用加密脚本将明文加密成了现在的密文。查看脚本
那就浅浅的写个解密的脚本
import base64, codecs, sys
def decodeString(str):
decod = codecs.decode(str[::-1], 'rot13')
return base64.b64decode(decod)
cryptResult = decodeString(sys.argv[1])
print cryptResult
or
import base64,codecs,sys
def decodeString(str):
string = str[::-1]
string = string.encode('rot13')
return base64.b64decode(string)
print decodeString(sys.argv[1])
运行后得到:
thisisalsopw123,LetThereBeFristi!
之前在home中还存在着第三个用户,这两个难道就是那个用户名的密码?浅浅的一试,切换到了fristigod用户
利用sudo -l查一下看看存在什么提权:
发现了个二进制运行文件doCom,进入文件夹后输入sudo -u fristi ./doCom su -
直接切换到root,清清爽爽提权成功,获取flag
三、总结
本次靶机渗透,前期的环境配置着实有点坑,花费了点小时间,因为习惯了virtual box运行靶机,vm运行kali,这样将kali的一个网卡设置为桥接,直接桥接到virtual box的本地网,运行起来比较稳定。
再加上兼容的问题,在环境配置方面有一丢丢小麻烦,不过just小麻烦。最终还是开启了渗透之旅。
该靶机利用web端文件上传漏洞,反弹shell,在shell中的信息收集,获取了靶机的各类信息,同时发现了加密脚本,利用加密脚本写出破解脚本,解密密文,最后切换到具有提权的用户,成功提权。难度适中,可以巩固操作,加深印象!后续会继续更新!
每天学习一丢丢,进步一丢丢!