2018-08-09
Nebula练习
这是练习的地址:https://exploit-exercises.com/ ,第一次写这种文档,并且也就是菜鸟一枚,请各位看官多多指教,有哪里理解有问题,希望能够严厉指出,直击痛处。
因为技术能力有限,所以就写了对Nebula模块的理解以及实操。首先进https://drive.google.com/drive/folders/0B9RbZkKdRR8qLWZBcVBvanlLb1U下载Nebula的环境,然后安装到虚拟机上。说明:每个level对应levelXX账号,密码和账号名相同。首先根据每关用户和密码登录系统,与题目相关的信息都在/home/flagxx下,每关的源码也会在页面提供。
1.level00
首先一进来,一脸懵,因为没有任何提示,连代码都没有,因此上网查找资料,说是要提权,上网查找linux提权操作:
感觉要让flag00用户找到SetUID的程序,因此用了find –perm为了搜索文件为SetUID因为构造了-u=s和-4000直到文件中包含/bin/../flag00,即执行即可成功。
find / –perm –u=s –type f –user flag00 >flag.txt
find / -perm -4000 –type f –user flag00> flag.txt
2.level01
源代码:
从源代码得知,关键入口在于/usr/bin/env,查找资料得知说是SetUID和SetGID执行环境变量指定的echo文件,and now what?应该为参数,因此找到当前的环境变量得到路径即可。
Ln –s /bin/getflag echo
PATH=/home/level01:$PATH
Cd /home/flag01
./flag01
3.level02
源代码:
此题于上题相近,但是环境变量变为了USER,因此要让USER得到更高的执行权限。
Cd /home/flag02
USER=”;/bin/getflag;”
./flag02
USER=”;bash;”
./flag02
Getflag
4.level03
提示说是,有个crontab任务(定时任务)每两分钟执行一次,通过目录得知,wriable.sh的存在,编写getflag,执行命令。
5.level04
源代码:得知要寻求token值。
由于权限的问题,所以需要调用flag04读取token,但是可以看出也是受限制的,上网查资料说是可以软连接。
6.level05
提示可知:/home/flag05下有两个weak directory ,进去之后发现有.ssh 和.backup,进到backup目录下,解压文件,看到了ssh,因此可以利用私钥登录。
7.level06
上网查找资料得知,关键点在/etc/passwd下,结果flag06密码加密,所以使用kali解密。
Kali:
得知密码为hello。
8.level07
源代码:由代码得知,这是perl语言,凑合着理解,感觉是host参数比较重要,可以当做一个切入点。
得知在7007端口
虽然能够Ping,但是浏览器无法访问,后续在研究。
9.leve08
进入flag08 有个capture.pcap,分析得知,密码可能是backd00Rmate
现在暂时写到这里,未完待续。。。。其余的我还得慢慢学习。。。