先nmap以下:

 

 

 发现在1337端口开放了ssh服务,在31337端口开放了http服务,那么还是从http服务入手,但是没有dirb到什么内容:

直接浏览器访问,提示是有什么东西隐藏了起来,还标红了h1dd3n:

 

 

 在网站的源码中获得了信息:

 

 

 访问http://192.168.190.160:31337/key_is_h1dd3n.jpg 发现了这么个图片,应该是图片隐写:

 

 

 steghide是一个隐写术软件,可以在图片、音频等文件里隐藏数据。steghide extract -sf [filename] 用于提取文件信息:

发现要输入密码,使用之前网页中的h1dd3n成功,并将提取的文件写入h1dd3n.txt中:

 

 

 搜索了一下确认是brainfuck编码,直接在网上解码(https://www.splitbrain.org/services/ook),解码结果如下:ud64:1M!#64@ud,也就是用户名:密码

直接使用ssh登录,因为不在22端口开放,所以用-p指定端口:

 

 

 发现是一个rbash,尝试直接运行/bin/sh,凡是/被禁用;尝试把/bin/bash拷贝到当前目录,发现cp被禁用:

发现vi可以使用,那么通过vi的命令模式绕过rbash:https://www.freebuf.com/articles/system/188989.html

 

 

 

看看有哪些命令可以用:

导入环境变量,成功绕过限制:

 

 

还有一种绕过限制的方法:

 先使用msf生成一个反弹shell,为shell附加可执行权限,并通过scp命令上传到/home/ud64/prog(之前$PATH显示的)下:

 

 

 打开metasploit监听反弹shell并在靶机上执行shell即可:

 

 

进入到bash shell

 

回到之前的继续,再使用sudo -l,发现可以执行/usr/bin/sysud64

 

 

 /usr/bin/sysud64 -h 看一下命令帮助发现这应该就是一个strace,

那么直接sudo /usr/bin/sysud64 ls /root

 

 

 sudo /usr/bin/sysud64 cat /root/flag.txt

 

当然也可以直接提升到root权限:sudo /usr/bin/sysud64 -o /dev/null /bin/bash

-o用于将strce的输出写入指定文件

结束。

 

参考:

https://zhuanlan.zhihu.com/p/107127126