靶机下载链接
搭建好靶机之后,用攻击机进行扫描,得到相关信息(开放了ftp服务,web服务,nfs以及ssh)
先查看网页,只能得到这点信息
然后查看目录,得到几个目录进去查看
发现在mysite里面有一个文件。利用JSFUCK编码的,我们通过mysite/register.html文件发现里面包含有原来的文件。然后再浏览器里通过console打印出来
然后解码得到信息
根据后面的格式,有可能后面这一串字符为ssh登录的密码,但是不知道账户,查看一下nfs,获取目录列表
然后挂载,发现权限不够
但是发现这个目录名字为morris,根那个密码norris有点相似,然后根据页面的M和N的提示,可能norris的权限可以ssh登录,于是尝试用账户norris账户登录下
登陆成功,获取到第一个flag
第二个就需要提权,因为当前用户权限不够;利用getcap来查找可用命令
Linux内核从2.2版本开始,就加进的Capabilities的概念与机制,并随着版本升高逐步得到改进。在linux中,root权限被分割成一下29中能力:
CAP_CHOWN:修改文件属主的权限
CAP_DAC_OVERRIDE:忽略文件的DAC访问限制
CAP_DAC_READ_SEARCH:忽略文件读及目录搜索的DAC访问限制
CAP_FOWNER:忽略文件属主ID必须和进程用户ID相匹配的限制
CAP_FSETID:允许设置文件的setuid位
CAP_KILL:允许对不属于自己的进程发送信号
CAP_SETGID:允许改变进程的组ID
CAP_SETUID:允许改变进程的用户ID
CAP_SETPCAP:允许向其他进程转移能力以及删除其他进程的能力
CAP_LINUX_IMMUTABLE:允许修改文件的IMMUTABLE和APPEND属性标志
CAP_NET_BIND_SERVICE:允许绑定到小于1024的端口
CAP_NET_BROADCAST:允许网络广播和多播访问
CAP_NET_ADMIN:允许执行网络管理任务
CAP_NET_RAW:允许使用原始套接字
CAP_IPC_LOCK:允许锁定共享内存片段
CAP_IPC_OWNER:忽略IPC所有权检查
CAP_SYS_MODULE:允许插入和删除内核模块
CAP_SYS_RAWIO:允许直接访问/devport,/dev/mem,/dev/kmem及原始块设备
CAP_SYS_CHROOT:允许使用chroot()系统调用
CAP_SYS_PTRACE:允许跟踪任何进程
CAP_SYS_PACCT:允许执行进程的BSD式审计
CAP_SYS_ADMIN:允许执行系统管理任务,如加载或卸载文件系统、设置磁盘配额等
CAP_SYS_BOOT:允许重新启动系统
CAP_SYS_NICE:允许提升优先级及设置其他进程的优先级
CAP_SYS_RESOURCE:忽略资源限制
CAP_SYS_TIME:允许改变系统时钟
CAP_SYS_TTY_CONFIG:允许配置TTY设备
CAP_MKNOD:允许使用mknod()系统调用
CAP_LEASE:允许修改文件锁的FL_LEASE标志
通过getcap -r 查找setcap所设置的文件,发现有个tar
然后把root下的文件用tar打包
得到root.tar.gz文件后解压得到flag