關于Token提權,你又了解多少?

Tokek 顧名思義:即 "令牌" 的意思,所以它本身并不是什么權限,它只是個方法,具體你要提權到什么用戶、權限,完全由你!

在合法的系統(tǒng)中,Token提權是非常常見的,因為每個應用都要向系統(tǒng)獲得更多的權限,以給自己使用,但是,這時UAC已經(jīng)明確告訴你,當前用戶為普通,或者Guest(來賓賬戶),權限肯定不夠,更別提任務管理器、注冊表,這時就要用到 TokenW 這個API進行提權
提權流程
程序一般會動用一下DLL
kernel32.dll? ? ntdll.dll? ? user32.dll? ?shell32.dll? ..................N
那么這些被引用的DLL被加載到內(nèi)存,使用程序用一個方法即可調(diào)用
例如C#家族
[DllImports"ntdll.dll"]
Void TokenW(string username,bool uac,bool ntkernel,int kernelf)
{
token function (NtQuaryProcess)=&CH310 0x00000000&;
.............然后是初始化token的所在用戶名
}
實際上
調(diào)用簡單到
Token("SYSTEM",true,true,0);
之后
ntdll.dll接到通知,指向自身地址,進入ring0,將當前程序用戶名改為SYSTEM,這樣在用這個程序新建一個用戶,那個用戶就會繼承SYSTEM用戶的權限,隨后關閉進程,注入結束
基本流程就是這樣 并沒有多難,C#基礎差點也能明白

順便說一下
SystemKernel-APIs Gen3.1來啦
準備好你的電腦吧!迎接真正的硬件破壞病毒
標簽: