解說 NTcmd 的工作方式

pipe-cmd.txt pipe-cmd,使用管道对cmd命令行进行交互,作为一个实例程序使用参考i。 立即下载
当大家用流光发现一个空口令的administrator账户时,自然马上就会用 
流光带的NTCMD.EXE在远程机器上执行命令。但是,大家有没有想过,到底 
我们是怎样在远程机器上执行口令的呢?NTCMD.EXE都作了什么? 
NTCMD.EXE是一个console程序,执行的语法如下: 
ntcmd //IP -U:username -P:password 
但其实ntcmd只是一个前台程序,他所作的是以如下格式: 
pipecmd.exe //IP -U:username -P:password commadn-you-inputed 
去执行程序pipecmd.exe来完成具体的任务.每次我们在 ntcmd>提示符 
下输入一个命令(除了exit,bye),ntcmd.exe都会执行pipecmd.exe一次。 
那么pipecmd.exe是怎么在远程机器上执行一条命令的呢?是不是NT下有一种 
机制,你在登陆后可以向远程NT系统发一条命令,对方NT就会执行这条命令,然后 
将结果反馈给你。我不知道NT下是否有这样一种方法,但pipecmd.exe不是 
这么实现的。那么,pipecmd.exe使用什么方法在远程机器上执行命令的呢? 
pipecmd.exe启动后,首先用用户输入的IP地址,用户名和口令调用 
函数WNetAddConnection2 来和 //IP/ADMIN$ 资源建立连接,然后再用 
同样的方法和 //IP/IPC$ 建立连接。如果失败的话,就报错退出。 
我们知道//IP/ADMIN$ 代表对方机器的 /WINNT 目录,而//IP/IPC$是一种 
远程登陆机制,当和//IP/IPC$建立连接后,就可以对远程机器做一些事了。 
在成功连接 /IPC$和/ADMIN$后,pipecmd.exe就会调用函数 
WaitNamedPipe 尝试和 //IP/pipe/PipeCmd_communicaton 这个远程机器 
上的命名管道建立连接。这里要问了,远程机器怎么会有这个命名管道 
等着你来连接的呢?现在我们假设无法和//IP/pipe/PipeCmd_communicaton 
建立连接,这是后pipecmd.exe该怎么办呢,当然不是报错退出了。 
pipecmd.exe会调用FindResource, LoadResource等一系列WIN32的资源 
管理函数去读取他的一个名为"PipeCmdSrv"的二进制资源。这个资源是什么? 
他就是我们在远程机器上执行命令的幕后英雄阿。他其实是一个console 
程序,它不同于一般的console程序的是,他是一个 SERVICE 程序。 
大家可以用VC把pipecmd.exe里的PipeCmdSrv资源export为pipecmdsrv.exe 
然后执行他,他会报告"This is a service executable! couldn't start directly!" 
pipecmd.exe在读取了piepcmdsrv资源后,会调用函数CreateFile 
在远程机器上创建文件://IP/ADMIN$/System32/PipeCmdSrv.exe 
然后调用一系列Win32的SERVICE控制函数,在远程机器上安装和启动服务 
PipeCmdSrv,说白了就是在远程机器上执行PipeCmdSrv.exe(虽然不太准确)。 
而PipeCmdSrv服务就会在远程机器上创建 
//IP/pipe/PipeCmd_communicaton 
//IP/pipe/PipeCmd_stdoutXXXYYY 
//IP/pipe/PipeCmd_stdinXXXYYY 
//IP/pipe/PipeCmd_stderrXXXXYYY 
四个命名管道。这里XXX是你的机器的名字,YYY是一个数字。呵呵,原来你的机器 
名字也随着PipeCmdSrv到对方机器了,这可不太安全阿。 
好了,现在pipecmd.exe再次和//IP/pipe/PipeCmd_communicaton连接,连上后 
就将用户输入的命令原封不动(比如 dir c:/)通过这个管道发给对方机器上的PipeCmdSrv服务。PipeCmdSrv服务收到这条命令后就会在对方机器上执行这条命令。我想 
PipeCmdSrv可能是通过一个重定向输入输出cmd.exe来执行这条命令的。 
执行后,PipeCmd可以通过管道//IP/pipe/PipeCmd_stdoutXXXYYY来 
读取输出,如果这个命令是交互式的话,比如telnet xxx.xxx.xxx.xxx 
PipeCmd.exe还会通过//IP/pipe/PipeCmd_stdinXXXYYY来将用户的输入 
发给PipeCmdSrv,我想一定是重定向给cmd.exe的。这就是 
ntcmd.exe -> pipecmd.exe <--> pipecmdsrv.exe在远程机器上执行 
命令的秘密。
Dromara MaxKey单点登录认证系统是业界领先的IAM-IDaas身份管理和认证产品,寓意它能够像一把万能钥匙(最大钥匙)一样,解锁复杂的企业安全需求,提供简洁而高效的解决方案 单点登录认证系统是业界领先的IAM-IDaas身份管理和认证产品,遵循Apache-2.0开源免费,支持OAuth2.x、OpenID Connect、SAML2.0、CAS、JWT、SCIM等SSO标准协议,基于RBAC统一权限控制,实现用户生命周期管理,开源、安全、合规、自主可控 立即下载

相关推荐

usb设备的定位信息获取

一个usb hub有20个口,每个口有一个标号,那么如果一个为X的标号插入了一个android设备,如何通过函数,得到这个X,代码实现如下,获取了location, 得到类似 Port_#0002.Hub_#0003 的字符串,然后,要对应一个表。

babytiger的专栏 2107

各类服务密码爆破

口令(密码)就相当于进入家门的钥匙,当他人有一把可以进入你家的钥匙,想想你的安全、你的财务、你的隐私、害怕了吧。如果能通过比较合理的条件,筛选或者过滤掉一些全字符组合的内容,就会大幅降低爆破的成本。这是最原始,粗暴的破解方法,根据运算能力,如果能够承受的起时间成本的话,最终一定会爆破出密码。人们在设置密码的时候,往往为了便于记忆,密码的内容和组合会与个人信息有关,比如常见的密码组合“名字+生日”。下图为,根据提供的用户信息,使用亦思社会工程学字典生成器生成的用户可能使用的密码,通过此字典进行密码破解。

m0_62207482的博客 1379

ESP32连接PDM麦克风操作指南:新手入门必看

手把手教你如何将ESP32与PDM麦克风连接,采集音频数据并用于音频分类应用。内容涵盖硬件接线、代码配置及实际调试技巧,适合初学者快速上手esp32在声音识别场景中的使用。

weixin_42590539的博客 1329

网络管理命令大全

网络管理命令大全 Nbtstat:显示统计数据 〖功能〗 该诊断命令使用NBT(TCP/IP上的NetBIOS)显示协议统计数据和当前TCP/IP连接。该命令只有在安装了TCP/IP协议之后才可用。 〖格式〗 nbtstat [-a remotename] [-A IP

Cashey1991的专栏 1633

mysql笔记:23. 在Mac上安装与卸载MySQL

MySQL对Mac电脑的适配十分强大,再加上Mac本身就是Unix操作系统演化而来的,所以在Mac上安装MySQL的方式有多种。常见的方法有如下三种:DMG、brew、TAR。介绍这些方法前,我们先了解下MySQL安装文件的下载。

斌斌(Java) 2250

构建Jetson AGX Xavier高精度时间同步网络:从GPS/PPS授时到PTP局域网分发

本文详细介绍了如何在Jetson AGX Xavier平台上构建高精度时间同步网络。通过GPS/PPS信号进行高精度授时,并利用NTP服务校准系统时钟,最终通过PTP协议在局域网内分发亚微秒级同步时间,为机器人、自动驾驶等多传感器融合系统提供统一的时间基准。

weixin_29191761的博客 274

E xx: xxxx:xx ERR thread 0x536753929472 setscheduler failed Operation not permitted

Android 线程优先级设定

furongwei123的博客 1343

SAP CO模块实战:成本中心会计分割结构配置全流程(OKES事务码详解)

本文详细解析了SAP CO模块中成本中心会计分割结构的配置全流程,重点讲解了OKES事务码的实战操作。内容涵盖分割结构的概念理解、配置前的次级成本要素与作业类型主数据准备,并通过步骤拆解演示了如何定义分割结构、规则与版本,以及如何将配置关联到成本中心并执行分割。最后提供了常见问题排查与优化建议,旨在帮助顾问及财务人员掌握成本精确分摊的关键配置,确保期末成本核算的准确性。

embedding5hiker的博客 807

简易CMDSHELL源码

#include#include #pragma comment (lib, "Ws2_32.lib")int port=1983;DWORD WINAPI ClientThread(LPVOID lpParam);void Help(){printf("     /***************************************///n");printf("     |This S

digwtx的专栏 1035

【Zephyr存储专题】09_LittleFs文件系统操作

本文档旨在为开发者介绍Zephyr下Littlef's文件系统相关配置使用指南

zero的博客 3246

Coze 上 OpenClaw 完整使用攻略(零代码 + 24 小时在线 + 飞书 / 微信接入)

Coze(扣子)是目前国内零门槛部署 OpenClaw 最友好的平台,无需服务器、不用命令行,5 分钟即可拥有可执行本地 / 云端任务的 AI 助手,还能一键发布到飞书、微信、钉钉等 IM。

hy行者勇哥的博客 2926

c++通过管道pipe获取cmd输出的字符

#include <stdio.h>#include<iostream>#include<string>using namespace std; // 描述:execmd函数执行命令,并将结果存储到result字符串数组中 // 参数:cmd表示要执行的命令// result是执行的结果存储的字符串数组// 函数执行成功返回1,失败返回0 int ...

didongkui0265的博客 2168

MinerU 系列教程 | 第二课:快速上手 -- 安装与第一次解析

本篇教程作为的第二课,将带你从零完成 MinerU 的环境搭建、模型下载,并成功运行第一次文档解析。上一课我们从宏观视角认识了 MinerU,本课开始正式动手实践。

weixin_43674738的博客 304

利用pipe执行远程机器命令的分析

标题:流光附带工具实现分析lcx    作者: Nemesis  当大家用流光发现一个空口令的administrator账户时,自然马上就会用 流光带的NTCMD.EXE在远程机器上执行命令。但是,大家有没有想过,到底 我们是怎样在远程机器上执行口令的呢?NTCMD.EXE都作了什么? NTCMD.EXE是一个console程序,执行的语法如下:  ntcmd //IP -U:username -

liswa 电脑备忘录 2990

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

(ping、tennet、ssh、netstat)

1、ping ping命令工作在OSI参考模型的第三层-网络层。 ping命令会发送一个数据包到目的主机,然后等待从目的主机接收回复数据包,当目的主机接收到这个数据包时,为源主机发送回复数据包,这个测试命令可以帮助网络管理者测试到达目的主机的网络是否连接。 ping无法检查系统端口是否开放。 2、telnet Telnet是位于OSI模型的第7层---应用层上的一种协议,是一个通过创建虚

vallenlsl的专栏 797

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

windowNT cmd 常用命令

查看端口占用进程 netstat -abo 查看启动的全部服务 net start 查看全部进程 WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption,Commandline,Processid 弹出窗口(Terminal Services) Msg * "insert your message here" M...

运斤成风 435

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

accounting.js技术架构与React集成:现代前端货币格式化解决方案

在当今数字化金融应用开发中,**货币格式化**、**数字精度处理**和**国际化本地化**构成了前端开发的核心挑战。我们建议技术架构师关注accounting.js这一轻量级JavaScript库,它为React等现代前端框架提供了专业的财务数据处理解决方案。研究表明,零依赖的4KB库在性能敏感型金融应用中具有显著优势。 ## 技术挑战:金融应用中的数据格式化复杂性 金融科技应用面临多重技术挑

gitblog_00100的博客 475

CentOS如何更改root用户名

例:修改root用户名为“sec”(在已登录root下进行操作)输入 hostnamectl set-hostname sec。

WhiteGufan的博客 1782

pipe-cmd.exe

 #include #include #include #pragma comment(lib,"Ws2_32")int main(){    WSADATA ws;    SOCKET listenFD;    char Buff[1024];    int ret;    //初始化wsa    WSAStartup(MAKEWORD(2,2),&ws);    //建立socket    l

H2SO2的专栏 1015

no rule to process file "xxxxxxxxx" of type XXXXXX.h for architecture i386解决办法

1.每次遇到黄色警告就头疼,一方面log一大堆,不想看.二来解决麻烦. 2直接说解决办法 TARGET →Build Phases →  Compile  Source→ 删除报错的xxxxx.h文件 → clean工程→编译(OK,解决),你要没解决我也没办法

duoduo_333的专栏 2万+

rad studio 2007 up3安装手记

rad studio 2007 网络下载点:http://bbs.hnhyxy.com/bcb/CodeGear.RAD.Studio.2007.rarhttp://andy.jgknet.de/blog/archives/69-Inofficial-RAD-Studio-patch.html 补丁,可以修补右键菜单的问题。 http://andy.jgknet.de/radpatch

4266

通过管道执行cmd命令

string ExeCmd(const char * pszCmd) { //创建匿名管道 SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE}; HANDLE hRead, hWrite; if (!CreatePipe(&hRead, &hWrite, &sa, 0)) {

zhangyan_HSW的博客 1016

[Syteline]Syteline ERP 跑MRP需要注意事项

每次跑MRP时都存在这样那样的问题。 根据这段时间的分析总结。在跑系统前应该总结一些事项。 1、物料 1.1无为G的单位 1.2物料几乎都为采购料;成品/半成品为制造物料; 1.3成品/需购买的物料不可为虚拟物料;半成品HS3*S和HB*S不为虚拟物料,其它都是 1.4不用“MPS”标志 1.5“接收需求”和“传递需求”都必须使用 1.6物料需有固定提前期有需求时,还为0提示 1

德仔 3515
上一篇: shellcode的一种ascii编码方法
下一篇: ipc$,smb的一些基本材料
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值