首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

利用 AT 命令實現遠程程序執行的實戰技巧

     編輯:關於VC++

操作步驟

以在遠程主機 C 盤根目錄執行指定程序為例:

  1. 建立 IPC$ 連接: net use \\目標IP\c$ 密碼 /user:用戶名
  2. 複製程序: copy 程序.exe \\目標IP\c$\
  3. 獲取遠程時間: at \\目標IP
  4. 排程執行: at \\目標IP\c$\程序.exe 執行時間(時間需比遠程當前時間早 1 分鐘以上)

關鍵前提條件

  • 連接賬號必須擁有遠程主機寫入權限(通常需管理員權限)。
  • 目標主機必須開啟 ipc$ 共享(默認開啟)及對應磁盤共享(c$, admin$ 等)。

深度解析 IPC$

IPC$ (Internet Process Connection) 是命名管道共享資源,用於進程間通信。通過驗證用戶名/密碼可獲取相應權限,常用於遠程管理、查看共享資源。

  • 可建立「空連接」:net use \\IP\ipc$ "" /user:""(無需憑證),前提是目標開啟 ipc$。
  • 空連接下仍可枚舉用戶列表(除非策略禁止),配合字典工具可進行密碼爆破,獲取更高權限。

安全提示: IPC$ 並非漏洞,而是為方便管理員設計的功能。但默認共享所有邏輯盤(c$, d$...)與系統目錄(admin$)確實擴大了攻擊面。建議:
1. 禁用不必要的默認共享(註冊表 AutoShareServer/AutoShareWks);
2. 強制複雜密碼策略;
3. 限制匿名枚舉(RestrictAnonymous 註冊表值)。

完整批處理腳本示例

@echo off
set TARGET=192.168.1.100
set USER=admin
set PWD=StrongPass123
set EXE=MyTool.exe

net use \\%TARGET%\c$ %PWD% /user:%USER% || exit /b 1
copy %EXE% \\%TARGET%\c$\
for /f "tokens=3" %%t in ('at \\%TARGET% ^| find "Current"') do set RMT_TIME=%%t
rem 簡易時間加 1 分鐘邏輯(實際建議用 PowerShell 或專用工具計算)
at \\%TARGET%\c$\%EXE% %RMT_TIME:~0,2%:%RMT_TIME:~3,2%
net use \\%TARGET%\c$ /delete /y
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved