| | 692 | |
|---|
| | 693 | # Insert Compromised Fingerprint into DB. |
|---|
| | 694 | # XXX: For now, we do a blanket insert; eventually, we'll need to |
|---|
| | 695 | # check if this fingerprint already exists in the DB. |
|---|
| | 696 | my (@Files, @RegKeys, @Procs); |
|---|
| | 697 | |
|---|
| | 698 | push @Files, { |
|---|
| | 699 | path => 'c:\windows\system32', |
|---|
| | 700 | name => 'calc.exe', |
|---|
| | 701 | content => { |
|---|
| | 702 | md5 => '82da9a561687f841a61e752e401471d2', |
|---|
| | 703 | sha1 => '7552ad083713e6d6b79539b64d598d4dcadfba35', |
|---|
| | 704 | size => 114688, |
|---|
| | 705 | type => 'MS-DOS executable (EXE), OS/2 or MS Windows' |
|---|
| | 706 | } |
|---|
| | 707 | }; |
|---|
| | 708 | push @Files, { |
|---|
| | 709 | path => 'c:\windows\system32', |
|---|
| | 710 | name => 'msgina.dll', |
|---|
| | 711 | content => { |
|---|
| | 712 | md5 => 'bab513fc028515389eb6b2ad16e35ad2', |
|---|
| | 713 | sha1 => 'c5597928b22d2c49a41510d6ab11d8f19bfab0af', |
|---|
| | 714 | size => 994304, |
|---|
| | 715 | type => 'MS-DOS executable (EXE), OS/2 or MS Windows' |
|---|
| | 716 | } |
|---|
| | 717 | }; |
|---|
| | 718 | push @Files, { |
|---|
| | 719 | path => 'c:\windows\system32', |
|---|
| | 720 | name => 'drwatson.exe', |
|---|
| | 721 | content => { |
|---|
| | 722 | md5 => '37564f065866fa7215453e72f1264f4b', |
|---|
| | 723 | sha1 => '7144ee8b57f3fcae6870f452b140365f75b5265c', |
|---|
| | 724 | size => 28112, |
|---|
| | 725 | type => 'MS-DOS executable (EXE), OS/2 or MS Windows' |
|---|
| | 726 | } |
|---|
| | 727 | }; |
|---|
| | 728 | push @RegKeys, { |
|---|
| | 729 | key_name => 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run', |
|---|
| | 730 | status => 1, |
|---|
| | 731 | entries => [ |
|---|
| | 732 | { |
|---|
| | 733 | name => 'QuickTime Task', |
|---|
| | 734 | new_val => '"C:\Program Files\QuickTime\qttask.exe" -atboottime' |
|---|
| | 735 | } |
|---|
| | 736 | ] |
|---|
| | 737 | }; |
|---|
| | 738 | push @Procs, { |
|---|
| | 739 | name => 'calc' |
|---|
| | 740 | }; |
|---|
| | 741 | push @Procs, { |
|---|
| | 742 | name => 'drwatson' |
|---|
| | 743 | }; |
|---|
| | 744 | |
|---|
| | 745 | my $exploit1 = { |
|---|
| | 746 | Files => \@Files, |
|---|
| | 747 | RegKeys => \@RegKeys, |
|---|
| | 748 | Procs => \@Procs |
|---|
| | 749 | }; |
|---|
| | 750 | $exploit1->{vmid} = 'VMTest1'; |
|---|
| | 751 | my $exploit2 = { |
|---|
| | 752 | Files => [ $Files[0],$Files[1] ], |
|---|
| | 753 | RegKeys => \@RegKeys, |
|---|
| | 754 | Procs => [ $Procs[0] ] |
|---|
| | 755 | }; |
|---|
| | 756 | |
|---|
| | 757 | if ($DB->Insert($exploit1,'Fingerprints')) { |
|---|
| | 758 | print "Database insert successful.\n"; |
|---|
| | 759 | } |
|---|
| | 760 | |
|---|