思路

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

IPC$横向渗透代码实现的更多相关文章

  1. 攻击者利用的Windows命令、横向渗透工具分析结果列表

    横向渗透工具分析结果列表 https://jpcertcc.github.io/ToolAnalysisResultSheet/ 攻击者利用的Windows命令 https://blogs.jpcer ...

  2. 使用Sysmon和Splunk探测网络环境中横向渗透

    当前很难在网络中探测攻击者横向渗透,其中原因有很难获取必要的日志和区别正常与恶意行为.本篇文章介绍通过部署Sysmon并将日志发送到SIEM来探测横向渗透. 工具: Sysmon + Splunk l ...

  3. 如何检测Windows中的横向渗透攻击

    一.前言 横向渗透攻击技术是复杂网络攻击中广泛使用的一种技术,特别是在高级持续威胁(Advanced Persistent Threats,APT)中更加热衷于使用这种攻击方法.攻击者可以利用这些技术 ...

  4. 内网横向渗透 之 ATT&CK系列一 之 拿下域控制器

    信息收集 信息收集 域控制器的相关信息: 通过arp扫描发现域控制器的ip地址为:192.168.52.138,尝试使用msf的smb_login模块登录smb是否成功 1 search smb_lo ...

  5. 内网横向渗透 之 ATT&CK系列一 之 横向渗透域主机

    前言 上一篇文章中已获取了关于域的一些基本信息,在这里再整理一下,不知道信息收集的小伙伴可以看回上一篇文章哦 域:god.org 域控 windows server 2008:OWA,192.168. ...

  6. div+css+jQuery图片横向滚动代码(带左右点击按钮)

    首先感谢Blue老师的javascript教程,给了我很多的启发,这是我在看完10 - 定时器的使用 - 2这节视频后,自己试着用jQuery重新改写了一下代码,感觉至少比百度搜出来的那一坨靠谱多了, ...

  7. 内网横向渗透 之 ATT&CK系列一 win7的yxcms

    Yxcms渗透 前言 通过phpMyAdmin慢日志查询Getshell后,蚁剑连接,发现win7下面还有个cms靶场,于是就兴致勃勃的去打了一波. cms渗透 进入页面后,搜刮了页面所有可见信息,发 ...

  8. 内网横向渗透 之 ATT&CK系列一 之 信息收集

    前言 靶机下载地址:ATT&CK 拓扑图: 通过模拟真实环境搭建的漏洞靶场,完全模拟ATK&CK攻击链路进行搭建,形成完整个闭环.虚拟机默认密码为hongrisec@2019. 环境搭 ...

  9. 2017-2018-2 20155303『网络对抗技术』Exp4:恶意代码分析

    2017-2018-2 20155303『网络对抗技术』Exp4:恶意代码分析 --------CONTENTS-------- 一.原理与实践说明 1.实践目标 2.实践内容概述 3.基础问题回答 ...

随机推荐

  1. Redash 安装部署

    介绍 是一款开源的BI工具,提供了基于web的数据库查询和数据可视化功能. 官网:https://redash.io/ GitHub:https://github.com/getredash/reda ...

  2. mariadb-5.5安装

    mariadb-5.5 Windows10安装 1.官网下载:https://downloads.mariadb.org/ 2.解压mariadb-5.5.58-winx64.zip,目录C:\mar ...

  3. OS + CentOS 7 / firefox

    s 一.安装firefox二.缺少so依赖如下步骤操作 1.缺少so依赖:下载firefox依赖so文件:libgtk-3.so.0.1400.13.libgdk-3.so.0.1400.13.lib ...

  4. MyBatis-SqlSessionFactory的创建

    Main 方法,mybatis 版本为 3.5.0 解析配置文件的所有信息,保存在 Configuration 中,返回包含 Configuration 的 DefaultSqlSession Map ...

  5. JAVA核心技术I---JAVA基础知识(文件系统及java文件基本操作)

    一:文件概述 文件系统是由OS(操作系统)管理的 文件系统和Java进程是平行的,是两套系统 文件系统是由文件夹和文件递归组合而成 文件目录分隔符 –Linux/Unix 用/隔开 –Windows用 ...

  6. Linux学习笔记:【002】ARM指令流水线

    指令的处理 在CPU中,对于指令的处理一般分为: 1.取指令阶段 取指令(Instruction Fetch,IF)阶段是将一条指令从主存中取到指令寄存器的过程. 程序计数器PC中的数值,用来指示当前 ...

  7. python web 开发

    第一个 简单的 WSGI demo from wsgiref.simple_server import make_server def application(environ, start_respo ...

  8. 常用Java数据库连接池

    概述 在这里所谓的数据库连接是指通过网络协议与数据库服务之间建立的TCP连接.通常,与数据库服务进行通信的网络协议无需由应用程序本身实现,原因有三: 实现复杂度大,需要充分理解和掌握相应的通信协议. ...

  9. 酷狗.kgtemp文件加密算法逆向

    该帖转载于孤心浪子--http://www.cnblogs.com/KMBlog/p/6877752.html 酷狗音乐上的一些歌曲是不能免费下载的,然而用户仍然可以离线试听,这说明有缓存文件,并且极 ...

  10. Python中json一点小知识

    import json dic={ "name":"杨林" } ret=json.dumps(dic,ensure_ascii=False) #因为json.d ...