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

现在暂时写到这里,未完待续。。。。其余的我还得慢慢学习。。。

你可能感兴趣的:(2018-08-09)