主頁 >  其他 > 【T1543.003】利用 ACL 隱藏惡意 Windows 服務

【T1543.003】利用 ACL 隱藏惡意 Windows 服務

2020-11-10 23:50:21 其他

看到一篇文章講述了通過設定 DACL 隱藏 Windows 服務資訊,便做一下總結,

技術原理

系統中每個 Service 在 Windows 中屬于都一種物件(Object),用戶在訪問物件時的權限會被和物件系結的安全描述資訊(Security Descriptors)所限定,例如 修改、洗掉、讀寫等權限,

既然 Service 也是一種物件,那么也可以通過某種方式對服務的安全描述資訊進行適當的修改,使某一類用戶無法查看、修改該服務的資訊以及停止洗掉服務,

安全描述資訊結構與設定方式

經 MSDN 描述可知,一個安全描述資訊結構體包括如下資訊:

  • SIDs: 該物件的擁有者以及所屬組資訊
  • DACL: 用于允許、拒絕指定用戶/組對該物件的訪問權限
  • SACL: 為試圖訪問物件的訪問型別生成審計日志
  • 一組控制位: 用于限定安全描述符或其單個成員的含義,

對應的結構體定義 SECURITY_DESCRIPTOR :

typedef struct _SECURITY_DESCRIPTOR {
  BYTE                        Revision;
  BYTE                        Sbz1;
  SECURITY_DESCRIPTOR_CONTROL Control;
  PSID                        Owner;
  PSID                        Group;
  PACL                        Sacl;
  PACL                        Dacl;
} SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;

但是程式或用戶并不能直接控制這些資訊,必須通過 Windows 提供的 API 進行設定或查詢,

這就導致由于物件種類的不同,設定這些安全描述資訊的方式上可能各有不同:

  • 有的可以直接通過 UI 界面進行設定,例如檔案物件,
  • 有的需要通過 Windows 內置的命令進行設定,例如服務物件,
  • 有的則必須使用系統 API 完成相關作業,例如行程、執行緒,

對于這些安全描述資訊,Windows 單獨提供了一種簡單的字串表述形式,官方稱其為 “安全描述符定義語言”(SDDL),下面著重總結一下 SDDL 的東西,

安全描述符定義語言(SDDL)

參考 MSDN 可知,SDDL 和 SECURITY_DESCRIPTOR 結構體之間的轉換是通過兩個 API 進行互轉的:

  • ConvertSecurityDescriptorToStringSecurityDescriptor
  • ConvertStringSecurityDescriptorToSecurityDescriptor

所以,這為安全描述符的設定提供了很大的便利,下面先了解一些基本概念,

基本概念

  • Securable Object: 安全物件,是擁有 SD (安全描述符)的 Windows 的物件,所有的被命名的 Windows 的物件都是安全物件,但是一些沒有命名的物件是安全物件,如:行程和執行緒,也有安全描述符 SD,
  • SID: 每個用戶/組 SID, 用于標識用戶/組,
  • ACL: 訪問控制鏈表,該鏈表其實有兩個表組成:DACL 和 SACL,
  • DACL: 自由訪問控制鏈表,用于允許、拒絕指定用戶/組對該物件的訪問權限,
  • SACL: 系統訪問控制鏈表,為試圖訪問物件的訪問型別生成審計日志,
  • ACE: 訪問控制項,是構成訪問控制鏈表的最小單元,
  • SDDL: 安全描述符定義語言,一種利用字串表示安全描述資訊的格式語言,

ACE

ACE 構成了 DACL 和 SACL,可以理解為 SD(安全描述符)的最小存盤單元,他的格式如下:

ace_type;ace_flags;rights;object_guid;inherit_object_guid;account_sid;(resource_attribute)

為空代表不限制,常見的策略組合可能是這樣的:

ace_type;;rights;;;account_sid;

ace_type

ace_type 有很多,參見 MSDN,該欄位可以表示對這條規則應用的策略型別,例如:

"A"	SDDL_ACCESS_ALLOWED	ACCESS_ALLOWED_ACE_TYPE
"D"	SDDL_ACCESS_DENIED	ACCESS_DENIED_ACE_TYPE

rights

根據 MSDN 可看出,針對不同型別的物件,權限常量的名字不是很統一,Wayne Martin 在他的文章中給出了一部分 ADS、SCM、Service、value、SDDL 的映射關系:

"CC"  ADS_RIGHT_DS_CREATE_CHILD          = 0x1,    SC_MANAGER_CONNECT, SERVICE_QUERY_CONFIG
"DC"  ADS_RIGHT_DS_DELETE_CHILD          = 0x2,    SC_MANAGER_CREATE_SERVICE, SERVICE_CHANGE_CONFIG
"LC"  ADS_RIGHT_ACTRL_DS_LIST            = 0x4,    SC_MANAGER_ENUMERATE_SERVICE, SERVICE_QUERY_STATUS
"SW"  ADS_RIGHT_DS_SELF                  = 0x8,    SC_MANAGER_LOCK, SERVICE_ENUMERATE_DEPENDENTS
"RP"  ADS_RIGHT_DS_READ_PROP             = 0x10,   SC_MANAGER_QUERY_LOCK_STATUS, SERVICE_START, 
"WP"  ADS_RIGHT_DS_WRITE_PROP            = 0x20,   SC_MANAGER_MODIFY_BOOT_CONFIG, SERVICE_STOP
"DT"  ADS_RIGHT_DS_DELETE_TREE           = 0x40,   SERVICE_PAUSE_CONTINUE
"LO"  ADS_RIGHT_DS_LIST_OBJECT           = 0x80,   SERVICE_INTERROGATE
"CR"  ADS_RIGHT_DS_CONTROL_ACCESS        = 0x100   SERVICE_USER_DEFINED_CONTROL
"RC"  READ_CONTROL                       = 0x20000 READ_CONTROL
"SD"  ADS_RIGHT_DELETE                   = 0x10000 DELETE

SCM 和 Servcie 的權限描述符,來自 Service Security and Access Rights - MSDN :

SERVICE_QUERY_CONFIG (0x0001) Required to call the QueryServiceConfig and QueryServiceConfig2 functions to query the service configuration. 
SERVICE_CHANGE_CONFIG (0x0002) Required to call the ChangeServiceConfig or ChangeServiceConfig2 function to change the service configuration. Because this grants the caller the right to change the executable file that the system runs, it should be granted only to administrators.  
SERVICE_QUERY_STATUS (0x0004) Required to call the QueryServiceStatusEx function to ask the service control manager about the status of the service. 
SERVICE_ENUMERATE_DEPENDENTS (0x0008) Required to call the EnumDependentServices function to enumerate all the services dependent on the service. 
SERVICE_START (0x0010) Required to call the StartService function to start the service. 
SERVICE_STOP (0x0020) Required to call the ControlService function to stop the service. 
SERVICE_PAUSE_CONTINUE (0x0040) Required to call the ControlService function to pause or continue the service. 
SERVICE_INTERROGATE (0x0080) Required to call the ControlService function to ask the service to report its status immediately. 
SERVICE_USER_DEFINED_CONTROL(0x0100) Required to call the ControlService function to specify a user-defined control code. 
SERVICE_ALL_ACCESS (0xF01FF) Includes STANDARD_RIGHTS_REQUIRED in addition to all access rights in this table. 
READ_CONTROL Required to call the QueryServiceObjectSecurity function to query the security descriptor of the service object. 

SC_MANAGER_CONNECT (0x0001) Required to connect to the service control manager. 
SC_MANAGER_CREATE_SERVICE (0x0002) Required to call the CreateService function to create a service object and add it to the database. 
SC_MANAGER_ENUMERATE_SERVICE (0x0004) Required to call the EnumServicesStatusEx function to list the services that are in the database. 
SC_MANAGER_LOCK (0x0008) Required to call the LockServiceDatabase function to acquire a lock on the database. 
SC_MANAGER_QUERY_LOCK_STATUS (0x0010) 
SC_MANAGER_MODIFY_BOOT_CONFIG (0x0020) Required to call the NotifyBootConfigStatus function. 
SC_MANAGER_ALL_ACCESS (0xF003F) Includes STANDARD_RIGHTS_REQUIRED, in addition to all access rights in this table. 

SDDL 和 ADS 關系映射,來自 ACE Strings - MSDN :

"RC"  SDDL_READ_CONTROL  READ_CONTROL 
"RP"  SDDL_READ_PROPERTY  ADS_RIGHT_DS_READ_PROP  
"WP"  SDDL_WRITE_PROPERTY  ADS_RIGHT_DS_WRITE_PROP  
"CC"  SDDL_CREATE_CHILD  ADS_RIGHT_DS_CREATE_CHILD  
"DC"  SDDL_DELETE_CHILD  ADS_RIGHT_DS_DELETE_CHILD  
"LC"  SDDL_LIST_CHILDREN  ADS_RIGHT_ACTRL_DS_LIST  
"SW"  SDDL_SELF_WRITE  ADS_RIGHT_DS_SELF  
"LO"  SDDL_LIST_OBJECT  ADS_RIGHT_DS_LIST_OBJECT  
"DT"  SDDL_DELETE_TREE  ADS_RIGHT_DS_DELETE_TREE  
"CR"  SDDL_CONTROL_ACCESS  ADS_RIGHT_DS_CONTROL_ACCESS  

ADS 的列舉項值,來自 ads_rights_enum - systemmanager:

typedef enum 
{
  ADS_RIGHT_DELETE = 0x10000, 
  ADS_RIGHT_READ_CONTROL = 0x20000, 
  ADS_RIGHT_WRITE_DAC = 0x40000, 
  ADS_RIGHT_WRITE_OWNER = 0x80000, 
  ADS_RIGHT_SYNCHRONIZE = 0x100000, 
  ADS_RIGHT_ACCESS_SYSTEM_SECURITY = 0x1000000, 
  ADS_RIGHT_GENERIC_READ = 0x80000000, 
  ADS_RIGHT_GENERIC_WRITE = 0x40000000, 
  ADS_RIGHT_GENERIC_EXECUTE = 0x20000000, 
  ADS_RIGHT_GENERIC_ALL = 0x10000000, 
  ADS_RIGHT_DS_CREATE_CHILD = 0x1, 
  ADS_RIGHT_DS_DELETE_CHILD = 0x2, 
  ADS_RIGHT_ACTRL_DS_LIST = 0x4, 
  ADS_RIGHT_DS_SELF = 0x8, 
  ADS_RIGHT_DS_READ_PROP = 0x10, 
  ADS_RIGHT_DS_WRITE_PROP = 0x20, 
  ADS_RIGHT_DS_DELETE_TREE = 0x40, 
  ADS_RIGHT_DS_LIST_OBJECT = 0x80, 
  ADS_RIGHT_DS_CONTROL_ACCESS = 0x100
} ADS_RIGHTS_ENUM;

account_sid

SID 用于標識 擁有者 或 所屬組,在 ACE 中的 account_sid 可以是一個 SID(S-R-I-S-S)或者在 Sddl.h 中定義的字串常量,這些字串常量又稱 “周知 SID”:

"AN"    SDDL_ANONYMOUS                  Anonymous logon. The corresponding RID is SECURITY_ANONYMOUS_LOGON_RID.
"AO"    SDDL_ACCOUNT_OPERATORS          Account operators. The corresponding RID is DOMAIN_ALIAS_RID_ACCOUNT_OPS.
"AU"    SDDL_AUTHENTICATED_USERS        Authenticated users. The corresponding RID is SECURITY_AUTHENTICATED_USER_RID.
"BA"    SDDL_BUILTIN_ADMINISTRATORS     Built-in administrators. The corresponding RID is DOMAIN_ALIAS_RID_ADMINS.
"BG"    SDDL_BUILTIN_GUESTS             Built-in guests. The corresponding RID is DOMAIN_ALIAS_RID_GUESTS.
"BO"    SDDL_BACKUP_OPERATORS           Backup operators. The corresponding RID is DOMAIN_ALIAS_RID_BACKUP_OPS.
"BU"    SDDL_BUILTIN_USERS              Built-in users. The corresponding RID is DOMAIN_ALIAS_RID_USERS.
"CA"    SDDL_CERT_SERV_ADMINISTRATORS   Certificate publishers. The corresponding RID is DOMAIN_GROUP_RID_CERT_ADMINS.
"CD"    SDDL_CERTSVC_DCOM_ACCESS        Users who can connect to certification authorities using Distributed Component Object Model (DCOM). The corresponding RID is DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP.
"CG"    SDDL_CREATOR_GROUP              Creator group. The corresponding RID is SECURITY_CREATOR_GROUP_RID.
"CO"    SDDL_CREATOR_OWNER              Creator owner. The corresponding RID is SECURITY_CREATOR_OWNER_RID.
"DA"    SDDL_DOMAIN_ADMINISTRATORS      Domain administrators. The corresponding RID is DOMAIN_GROUP_RID_ADMINS.
"DC"    SDDL_DOMAIN_COMPUTERS           Domain computers. The corresponding RID is DOMAIN_GROUP_RID_COMPUTERS.
"DD"    SDDL_DOMAIN_DOMAIN_CONTROLLERS  Domain controllers. The corresponding RID is DOMAIN_GROUP_RID_CONTROLLERS.
"DG"    SDDL_DOMAIN_GUESTS              Domain guests. The corresponding RID is DOMAIN_GROUP_RID_GUESTS.
"DU"    SDDL_DOMAIN_USERS               Domain users. The corresponding RID is DOMAIN_GROUP_RID_USERS.
"EA"    SDDL_ENTERPRISE_ADMINS              Enterprise administrators. The corresponding RID is DOMAIN_GROUP_RID_ENTERPRISE_ADMINS.
"ED"    SDDL_ENTERPRISE_DOMAIN_CONTROLLERS  Enterprise domain controllers. The corresponding RID is SECURITY_SERVER_LOGON_RID.
"HI"    SDDL_ML_HIGH                    High integrity level. The corresponding RID is SECURITY_MANDATORY_HIGH_RID.
"IU"    SDDL_INTERACTIVE                Interactively logged-on user. This is a group identifier added to the token of a process when it was logged on interactively. The corresponding logon type is LOGON32_LOGON_INTERACTIVE. The corresponding RID is SECURITY_INTERACTIVE_RID.
"LA"    SDDL_LOCAL_ADMIN                Local administrator. The corresponding RID is DOMAIN_USER_RID_ADMIN.
"LG"    SDDL_LOCAL_GUEST                Local guest. The corresponding RID is DOMAIN_USER_RID_GUEST.
"LS"    SDDL_LOCAL_SERVICE              Local service account. The corresponding RID is SECURITY_LOCAL_SERVICE_RID.
"LW"    SDDL_ML_LOW Low                 integrity level. The corresponding RID is SECURITY_MANDATORY_LOW_RID.
"ME"    SDDL_MLMEDIUM                   Medium integrity level. The corresponding RID is SECURITY_MANDATORY_MEDIUM_RID.
"MU"    SDDL_PERFMON_USERS              Performance Monitor users.
"NO"    SDDL_NETWORK_CONFIGURATION_OPS  Network configuration operators. The corresponding RID is DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS.
"NS"    SDDL_NETWORK_SERVICE            Network service account. The corresponding RID is SECURITY_NETWORK_SERVICE_RID.
"NU"    SDDL_NETWORK                    Network logon user. This is a group identifier added to the token of a process when it was logged on across a network. The corresponding logon type is LOGON32_LOGON_NETWORK. The corresponding RID is SECURITY_NETWORK_RID.
"PA"    SDDL_GROUP_POLICY_ADMINS        Group Policy administrators. The corresponding RID is DOMAIN_GROUP_RID_POLICY_ADMINS.
"PO"    SDDL_PRINTER_OPERATORS          Printer operators. The corresponding RID is DOMAIN_ALIAS_RID_PRINT_OPS.
"PS"    SDDL_PERSONAL_SELF              Principal self. The corresponding RID is SECURITY_PRINCIPAL_SELF_RID.
"PU"    SDDL_POWER_USERS                Power users. The corresponding RID is DOMAIN_ALIAS_RID_POWER_USERS.
"RC"    SDDL_RESTRICTED_CODE            Restricted code. This is a restricted token created using the CreateRestrictedToken function. The corresponding RID is SECURITY_RESTRICTED_CODE_RID.
"RD"    SDDL_REMOTE_DESKTOP             Terminal server users. The corresponding RID is DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS.
"RE"    SDDL_REPLICATOR                 Replicator. The corresponding RID is DOMAIN_ALIAS_RID_REPLICATOR.
"RO"    SDDL_ENTERPRISE_RO_DCs          Enterprise Read-only domain controllers. The corresponding RID is DOMAIN_GROUP_RID_ENTERPRISE_READONLY_DOMAIN_CONTROLLERS.
"RS"    SDDL_RAS_SERVERS                RAS servers group. The corresponding RID is DOMAIN_ALIAS_RID_RAS_SERVERS.
"RU"    SDDL_ALIAS_PREW2KCOMPACC        Alias to grant permissions to accounts that use applications compatible with operating systems previous to Windows 2000. The corresponding RID is DOMAIN_ALIAS_RID_PREW2KCOMPACCESS.
"SA"    SDDL_SCHEMA_ADMINISTRATORS      Schema administrators. The corresponding RID is DOMAIN_GROUP_RID_SCHEMA_ADMINS.
"SI"    SDDL_ML_SYSTEM                  System integrity level. The corresponding RID is SECURITY_MANDATORY_SYSTEM_RID.
"SO"    SDDL_SERVER_OPERATORS           Server operators. The corresponding RID is DOMAIN_ALIAS_RID_SYSTEM_OPS.
"SU"    SDDL_SERVICE                    Service logon user. This is a group identifier added to the token of a process when it was logged as a service. The corresponding logon type is LOGON32_LOGON_SERVICE. The corresponding RID is SECURITY_SERVICE_RID.
"SY"    SDDL_LOCAL_SYSTEM               Local system. The corresponding RID is SECURITY_LOCAL_SYSTEM_RID.
"WD"    SDDL_EVERYONE                   Everyone. The corresponding RID is SECURITY_WORLD_RID.

ACL 繼承

暫略,

利用 SDDL 設定隱藏服務

對于正常添加的普通服務,使用 powershell 或 sc.exe 可以直接查看該服務的資訊:

PS C:\WINDOWS\system32> Get-Service -Name SWCUEngine

Status   Name               DisplayName
------   ----               -----------
Running  SWCUEngine         SWCUEngine

通過修改服務的 SD 之后,查詢該服務資訊將報錯 ”ObjectNotFound“,以此達到隱藏的目的:

PS C:\WINDOWS\system32> & $env:SystemRoot\System32\sc.exe sdset SWCUEngine "D:(D;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU)(D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
[SC] SetServiceObjectSecurity SUCCESS
PS C:\WINDOWS\system32> Get-Service -Name SWCUEngine
Get-Service : Cannot find any service with service name 'SWCUEngine'.
At line:1 char:1
+ Get-Service -Name SWCUEngine
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (SWCUEngine:String) [Get-Service], ServiceCommandException
    + FullyQualifiedErrorId : NoServiceFoundForGivenName,Microsoft.PowerShell.Commands.GetServiceCommand

看一下其中設定的 ACE,“D:”表示 DACL 表,多個 ACE 之間以分號小括號分割

“D;;DCLCWPDTSD;;;IU”:拒絕互動式用戶以下權限:

  • DC: SERVICE_CHANGE_CONFIG 修改服務配置
  • LC: SERVICE_QUERY_STATUS 查詢服務狀態
  • WP: SERVICE_STOP 停止服務
  • DT: SERVICE_PAUSE_CONTINUE 暫停和啟動服務
  • SD: DELETE 洗掉服務

“S:”表示 SACL 表,“AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD”表示任何人對該服務的失敗操作都進行審計記錄,

隱藏后,無論是 services.exe、Get-Service、sc query 或任何其它關于服務的控制工具均無法檢索出對應資訊,效果如下:

#以下三種查詢服務資訊的手段均無資訊
PS C:\WINDOWS\system32> Get-Service | Select-Object Name | Select-String -Pattern 'SWCUEngine'
PS C:\WINDOWS\system32> Get-WmiObject Win32_Service | Select-String -Pattern 'SWCUEngine'
PS C:\WINDOWS\system32> & $env:SystemRoot\System32\sc.exe query | Select-String -Pattern 'SWCUEngine'
PS C:\WINDOWS\system32

如果藍隊知道惡意服務的名稱的話,可以通過停止該服務的回顯進行判斷,例如:

# 停止不存在的JoshNoSuchService服務得到 InvalidOperationException 例外
PS C:\WINDOWS\system32> Set-Service -Name JoshNoSuchService -Status Stopped
Set-Service : Service JoshNoSuchService was not found on computer '.'.
At line:1 char:1
+ Set-Service -Name JoshNoSuchService -Status Stopped
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (.:String) [Set-Service], InvalidOperationException
    + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.SetServiceCommand

# 停止存在但被隱藏的SWCUEngine服務得到ServiceCommandException例外
PS C:\WINDOWS\system32> Set-Service -Name SWCUEngine -Status Stopped
Set-Service : Service 'SWCUEngine (SWCUEngine)' cannot be configured due to the following error: Access is denied
At line:1 char:1
+ Set-Service -Name SWCUEngine -Status Stopped
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (System.ServiceProcess.ServiceController:ServiceController) [Set-Service],
   ServiceCommandException
    + FullyQualifiedErrorId : CouldNotSetService,Microsoft.PowerShell.Commands.SetServiceCommand

判斷存在后,取消隱藏的方式也很簡單:

# 使用sc.exe修改目標服務的SDDL語法實作取消隱藏
PS C:\WINDOWS\system32> & $env:SystemRoot\System32\sc.exe sdset SWCUEngine "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
[SC] SetServiceObjectSecurity SUCCESS

# 現在使用 Get-Serice 指令可以查看到對應的服務資訊
PS C:\WINDOWS\system32> Get-Service -Name 'SWCUEngine'

Status   Name               DisplayName
------   ----               -----------
Running  SWCUEngine         SWCUEngine

參考

  • https://xz.aliyun.com/t/8420
  • https://www.sans.org/blog/red-team-tactics-hiding-windows-services/
  • http://waynes-world-it.blogspot.com/2009/10/service-control-manager-security-for.html
  • https://docs.microsoft.com/en-us/windows/win32/services/service-security-and-access-rights
  • https://docs.microsoft.com/zh-tw/windows/win32/secauthz/sid-strings
  • https://docs.microsoft.com/en-us/windows/win32/secauthz/ace-strings
  • https://docs.microsoft.com/en-us/windows/win32/api/sddl/nf-sddl-convertstringsecuritydescriptortosecuritydescriptora
  • https://www.installsetupconfig.com/win32programming/accesscontrollistacl4.pdf

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/209860.html

標籤:其他

上一篇:【Microstation】三維建模基礎及軟體入門到精通實驗教程目錄

下一篇:Metasploitable3學習筆記--永恒之藍漏洞復現

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more