vulnhub靶机-DIGITALWORLD.LOCAL: SNAKEOIL

本文详述了一次网络安全渗透测试的过程,包括使用nmap扫描靶机端口,发现开放的22、80和8080端口,通过HTTP交互获取敏感信息,利用JWT令牌进行访问控制,最终通过命令注入尝试反弹shell,但由于某些命令被ban,转而通过上传恶意脚本并执行获取shell。此外,还涉及了sudo-l权限利用,通过密码破解获取root权限。
摘要由CSDN通过智能技术生成

1、找到靶机ip:192.168.162.133

nmap -sn 192.168.162.0/24

 2、扫描靶机端口,发现开放22、80和8080端口

┌──(root💀cracer)-[~/snakeoil]
└─# nmap -p- -A 192.168.162.133                                                                     3 ⚙
Starting Nmap 7.91 ( https://nmap.org )
Nmap scan report for 192.168.162.133
Host is up (0.00065s latency).
Not shown: 65532 closed ports
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 73:a4:8f:94:a2:20:68:50:5a:ae:e1:d3:60:8d:ff:55 (RSA)
|   256 f3:1b:d8:c3:0c:3f:5e:6b:ac:99:52:80:7b:d6:b6:e7 (ECDSA)
|_  256 ea:61:64:b6:3b:d3:84:01:50:d8:1a:ab:38:29:12:e1 (ED25519)
80/tcp   open  http    nginx 1.14.2
|_http-server-header: nginx/1.14.2
|_http-title: Welcome to SNAKEOIL!
8080/tcp open  http    nginx 1.14.2
|_http-open-proxy: Proxy might be redirecting requests
|_http-server-header: nginx/1.14.2
|_http-title:  Welcome to Good Tech Inc.'s Snake Oil Project 
MAC Address: 00:0C:29:05:FB:60 (VMware)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.65 ms 192.168.162.133

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 20.83 seconds

3、访问80端口,首页是一个默认页面,没什么有用信息,访问8080端口

三个链接的信息如下

 第三个给了个网址https://flask-jwt-extended.readthedocs.io/en/stable/options/,访问之后发现是flask和jwt的一些参数设置,暂时不知道有什么用,先放着,接着扫描目录

 4、(1)访问users目录,得到一个用户名和密文密码,反解不了,先放着 

(2)registration猜测是注册页面,访问registration路径,显示错误的访问方法

 改为post访问,提示缺少username

 加上username又提示缺少password

加上password提示注册成功,可以在users页面看到

(3)接着访问login页面进行登录,同样的操作,可以直接把上面那个包的registration改为login,提示登陆成功,并且返回了同样的access_token,这是一个类似于登录后cookie值用来认证的一个东西

 (4)访问secret路径提示Internal Server Error,先放着,访问run路径,也是要改成post,访问后提示要url参数

注意这里的请求体要用json格式,访问后提示要secret key

 这里猜测应该还是得访问到secret页面的东西,尝试登录之后访问,那就得带上之前的access_token值进行访问,在之前给的网址中找到一个cookie中的字段access_token_cookie用来保存access_token值

重复步骤(3)得到access_token值 

在请求包中加上Cookie,键值对为access_token_cookie和我们上面获得的access_token值,成功得到secret_key值

 然后再回到run页面,加上我们刚刚获得的secret_key,成功得到信息

 (5)拿这个开头的信息去查一下发现是curl执行的统计信息,尝试命令注入,发现成功返回信息

尝试使用bash和python等命令反弹shell时提示命令被ban了

于是查看app.py文件查看到底禁掉了哪些命令

关键代码如下:
    if "bash" in req_json["url"]:
        abort(400, description="Banned command!")

    if "python" in req_json["url"]:
        abort(400, description="Banned command!") 

    if "/dev/tcp" in req_json["url"]:
        abort(400, description="Banned command!")

    if "nc" in req_json["url"]:
        abort(400, description="Banned command!")

    if "mkfifo" in req_json["url"]:
        abort(400, description="Banned command!")

    if "php" in req_json["url"]:
        abort(400, description="Banned command!")

 

在本地新建一个shell.sh文件写入一句话,使用python3搭建个简易的web服务器,开启监听,然后使用wget下载到靶机上,给777权限,运行,成功反弹shell,python3提权到tty

  

 5、使用sudo -l发现可以使用root身份执行任意命令,但是需要patrick的密码,之前查看app.py文件的时候发现两个可疑的密码

 进行尝试,成功使用NOreasonableDOUBTthisPASSWORDisGOOD密码进行登录,获得root权限

6、最后补上两个flag

patrick家目录下的local.txt

 root家目录下的proof.txt

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值