攻击链
信息收集、访问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
开了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/ ->.*$//'
写了一个自动化脚本。
用法:python3 dirsearch_processor.py filename.txt
import webbrowser
import time
import re
import subprocess
import sys
import osdef 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("没有找到符合条件的网址")
returnprint(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)