OSCP43靶场——ACCESS(Proving Grounds Practice靶场)
文章详细描述了攻击链过程中的信息收集、端口扫描、目录遍历等步骤,并介绍了如何利用Kerberoasting攻击获取Hash值进行爆破。同时展示了使用nmap、dirsearch和gobuster工具进行漏洞挖掘,并编写Python脚本自动化处理Dirsearch结果以提高效率。 2025-9-19 13:23:58 Author: www.freebuf.com(查看原文) 阅读量:2 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

攻击链

信息收集、访问80端口----文件上传,突破边界----域信息收集,发现注册SPN服务的账户,进行Kerberoasting攻击----获取hash值,爆破,平移至下一用户----搜集信息发现SeManageVolumePrivilege权限----Google搜索提权方式,利用、提权

知识点

.htaccess的用途

kerberoast攻击

SeManageVolume权限激活

dll劫持

过程

信息收集

收集端口服务信息

ports=$(nmap -p- --min-rate=1000  -T4 192.168.141.187 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//) && nmap -A  -p$ports 192.168.141.187  > n1.txt

1758249451_68ccc1eb65d7f1cca6c0a.png!small?1758249452484

开了80端口,进行目录遍历,俩工具同时进行。

dirsearch -u   http://192.168.141.187

gobuster dir -u http://192.168.141.187 -w  /usr/share/dirb/wordlists/common.txt

结果整理如下:

awk '!/^#/ && ($1 == 200 || $1 == 301) {print $3}'   9.19.txt  | sed 's/ ->.*$//'

1758250718_68ccc6de745026b6944af.png!small?1758250718442

写了一个自动化脚本。

用法:python3 dirsearch_processor.py filename.txt

import webbrowser
import time
import re
import subprocess
import sys
import os

def process_dirsearch_output(input_file):
"""处理 Dirsearch 输出文件,提取状态码为 200 或 301 的网址"""
valid_urls = []

try:
with open(input_file, 'r') as file:
for line in file:
# 跳过注释行和空行
if line.startswith('#') or not line.strip():
continue

# 使用正则表达式匹配状态码和URL
match = re.match(r'^(\d+)\s+\d+[BKM]?\s+(\S+)(?:\s+->.*)?', line)
if match:
status_code = match.group(1)
url = match.group(2)

# 只保留状态码为200或301的URL
if status_code in ['200', '301']:
# 处理重定向URL(去掉" -> REDIRECTS TO:"之后的部分)
if ' -> REDIRECTS TO:' in line:
url = url.split(' -> REDIRECTS TO:')[0].strip()

valid_urls.append(url)

except FileNotFoundError:
print(f"错误: 找不到文件 {input_file}")
return []
except Exception as e:
print(f"处理文件时出错: {str(e)}")
return []

return valid_urls

def open_urls(url_list, delay=1):
"""打开URL列表中的所有网址"""
if not url_list:
print("没有找到符合条件的网址")
return

print(f"准备打开 {len(url_list)} 个有效网址...")

for i, url in enumerate(url_list, 1):
print(f"正在打开网址 ({i}/{len(url_list)}): {url}")
webbrowser.open_new_tab(url)
time.sleep(delay)  # 添加延迟避免浏览器崩溃

def main():
# 检查命令行参数
if len(sys.argv) != 2:
print("用法: python3 dirsearch_processor.py <dirsearch_output_file>")
sys.exit(1)

input_file =

已在FreeBuf发表 0 篇文章

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/system/449572.html
如有侵权请联系:admin#unsafe.sh