一、概要
攻击机:192.168.60.128
靶机:192.168.60.129
靶机下载地址:https://download.vulnhub.com/noob/Noob.ova
二、主机发现
arp-scan扫描网段内主机,找到靶机ip
三、信息收集
nmap扫描一下获得端口开放信息
靶机开放了21、80和55077三个端口
分别为ftp、http、ssh服务
这里根据nmap脚本扫描的结果可以看到,ftp服务是可以进行匿名访问的,而且还发现了两个文件
四、渗透测试
1、ftp服务相关
ftp连接一下靶机
查看一下cred.txt文件的内容
是一串字符串,明显的base64加密
解码的内容是一对账号密码
champ:password
另一个welcome文件的内容
没有什么用
2、http服务相关
看一下http服务
一个简单的登录页面
这里是一个登录页面,可以拿刚才解码得到的账号密码尝试一下
点击about us会下载一个压缩包,里面有三个文件
3、杂项相关
sudo这个文件提示我们注意一下文件名
两个图片用steghide查看一下
bmp的图片有密码
jpg的文件可以直接进行提取
根据帮助提取其中的隐藏文件
steghide extract -sf funny.jpg
提取出来的hint.py的内容为
根据这个提示显示,这并非一个python脚本,尝试把信息进行rotate,猜测就是rot13解密
另一个bmp文件
用文件名sudo 尝试,发现密码正确
提取bmp文件的隐藏内容
4、rot13解密
提取出来一串字符串
解码看上去应该是成功的
给出了一个wtf的提示
应该还是一对账号密码
wtf
this one is a simple one
web服务登陆不上去
用前面发现的一个另类端口的ssh服务试试
5、ssh服务相关
由于端口不是默认端口,所以直接连接是不行的,要指定端口
登录成功
查看一下当前目录下的文件夹
这几个文件夹中共有三个文件
先查看一下flag-1.txt文件的内容
明显的base64编码
解码,提示字符串本身就是flag
查看一下back.sh文件的内容
里面有一对账户名密码
这里注意#是注释符
n00b
aw3s0m3p@$$w0rd
最后那个echo.sh并没有什么信息
6、切换n00b用户
切换到n00b用户
目录下也没有什么有用的信息了
查看一下当前账户权限
7、nano提权
发现可以无密码使用root权限的nano
这里的话那就是nano提权了
nano允许二进制文件以root权限运行sudo,它不会放弃提升的权限
根据这个特性我们就可以使用nano进行提权
nano提权步骤
1、sudo nano //回车
2、ctrl+r ctrl+x //这里不要回车,输完下面的再回车
3、reset;sh 1>&0 2>&0 //回车完没有什么变化,直接输入whoami验证一下就可以了
拿到flag
五、新知识总结
1、steghide简单使用
steghide info 目标文件 //查看隐藏信息
steghide extract -sf 目标文件 //提取隐藏的文件
steghide embed -cf 隐藏信息的文件 -ef 隐藏的信息/文件 //隐藏信息/文件
2、nano提权
nano允许二进制文件以root权限运行sudo,它不会放弃提升的权限
根据这个可以使用nano进行提权
提权步骤
1、sudo nano //回车
2、ctrl+r ctrl+x //这里不要回车,输完下面的再回车
3、reset;sh 1>&0 2>&0 //回车完没有什么变化,直接输入whoami验证一下就可以了
本次靶机比较简单,没有什么很绕的思路
主要就是工具利用——steghide和base64解码
和一个新的提权方式——nano提权