基本信息

靶机下载:https://download.vulnhub.com/noob/Noob.ova

攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)

靶机:192.168.20.0/24

目标:获取2个flag+root权限

具体流程

信息收集

老样子首先使用arp-scan -l对主机进行探活,发现主机IP为192.168.20.151

image-20241023194532106

之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.151,结果如下所示

image-20241023194736070

这里开放了218055077端口,其中21端口提供ftp服务,55077端口提供ssh服务,我们首先访问80端口,如下所示

image-20241023195331086

查看了一下源码,并未发现什么有价值的信息,我们首先扫描一下是否存在后门路径

image-20241023202624820

并未发现什么有价值的信息,我们尝试从ftp服务入手,看看能否获得有价值的信息,在这里我们选择匿名账户登录,21端口运行我们以匿名账户的形式登录

image-20241023203054210

登录进去后我们可以发现有两个提示性文件,cred.txtwelcome

image-20241023203147784

我们传输到我们的本机上来,看看这两个文件是什么,其中cred.txt里面写的是Y2hhbXA6cGFzc3dvcmQ=,我们拿去解密一下,即champ:password,看起来像是web登录的账号密码,我们再看看welcome文件

image-20241024090952683

我们去登录一下web界面,如下所示

image-20241024091345982

我们点击右上角About Us的时候,会自动下载一个压缩包,我们下载下来看看里面的东西,里面只有两张图片文件和一个sudo文件。sudo文件里写着

image-20241024091836799

提示着我们要从文件名出发,说明这可能是个提权文件,而且这两个图片肯定隐藏了东西,我们首先下载一个查看隐写的工具

apt-get install steghide

然后使用这个工具去尝试查看隐写的两张图片

image-20241024093432829

我们分离出了两个文件hint.pyuser.txt,其中密码为sudo,即sudo文件提示我们的,我们尝试去读取这两个文件

image-20241024093722455

根据提示文件,这一看就是凯撒加密,我们尝试去解密这个文件,解密结果

wtf:this one is a simple one

SSH远程登录

看起来像是密码,我们试着ssh登录一下,成功登录进去,这里要注意的是端口号是55077,不是常见的22端口

image-20241024094543511

进去之后浏览一下文件,我们在Documents下发现了一个sh文件,我们尝试打开,看看里面有什么东西

131dc2ee14767739bd2ee4f6df9ff4f9

这里好像有另一个用户的账号和密码,我们尝试登录这个用户,如下所示

image-20241024100312540

成功登录,我们还是先执行sudo -l看看能不能进行sudo提权

权限提升

image-20241024100440380

我们发现使用nano可以直接切换为root模式,而且不需要密码,我们执行以下语句

sudo nano
ctrl+r ctrl+x
reset; sh 1>&0 2>&0

image-20241024101041128

成功获得root权限,我们接下来去寻找两个flag

image-20241024101202603

image-20241024101348521

拿去base64解密一下即可,本题到此结束

总结

本题难道较为简单,主要涉及信息隐藏的方向,难度不大,算是熟悉挖掘有用信息了吧,同时ftp21端口是可以匿名登陆的,这点是值得注意的,以后遇到21端口也不会没有思路了,可以先尝试匿名登录一波。