思路

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. 机器学习-随机梯度下降(Stochastic gradient descent)

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  2. collections 模块之Counter

    Counter字典的子类,用于统计哈希对象 from collections import Counter users = ["body1","body11", ...

  3. vue基础篇---vue组件《2》

    定义全局组件 我们通过Vue的component方法来定义一个全局组件. <div id="app"> <!--使用定义好的全局组件--> <coun ...

  4. 能使 Oracle 索引失效的六大限制条件【转】

    . 引用自: http://www.cnblogs.com/orientsun/archive/2012/07/05/2577351.html  总结得非常到位 Oracle 索引的目标是避免全表扫描 ...

  5. javaScript ES5常考面试题总结

    js的六种原始值 boolean null undefined number string symbol 坑1: 首先原始类型存储的都是值,是没有函数可以调用的,比如 undefined.toStri ...

  6. java运维: 一次线上问题排查所引发的思考

    本文转载自 crossoverJie 的b博客 https://www.cnblogs.com/crossoverJie/p/9282065.html 前言 之前或多或少分享过一些内存模型.对象创建之 ...

  7. static 和 final 关键字 对实例变量赋初始值的影响

    static 和 final 关键字 对实例变量赋初始值的影响 最近一直在看<深入理解Java虚拟机>,在看完了对象内存分配.Class文件格式之后,想深扒一下实例变量是如何被赋上初始值的 ...

  8. 指定so动态链接库连接器

    在学习x86_64汇编时, 发现一旦使用glibc库函数, 如printf时, 一般是需要使用为ld传递命令行参数-lc来动态连接libc.so的, 但是, 生成的可执行文件却无法运行: 气煞我也! ...

  9. ms sql 导出单个表数据

    然后都是下一步操作

  10. phpcms中set_config和get_sysinfo函数

    /** * 设置config文件 * @param $config 配属信息 * @param $filename 要配置的文件名称 */ function set_config($config, $ ...