Sentry 1.0
==========

 First Public Release - Version 1.0 (22-6-03)
 ----------------------------------

  - No real changes from Beta RC 6+, just that it is public :)
  
  I decided to leave the Beta Readme as a part of the real readme, because this way you can see how Sentry grew and
  you might understand some more of the options by looking chronologically how they have been added.

========================================================================================================================

 Beta (RC 6+)
 ------------

  - Fixed very bad bug with retrieving IP Externally.  It didn't clear the source from the array which meant if you
    tried to do a proxycheck afterwards, the source from that webpage would be appended to the source of your first          proxy, making it appear not anonymous when infact it very well could be anonymous.  
  - Launch Base Site in Browser (the globe icon next to the site combobox) now supports (http://members.somesite.com).
  - Fixed bad bug with History (List out of bounds error). Was an error in the proxy setting routine.

 Beta (RC 6) (14-6-03)
 -----------

  - Added an option to get External IP on startup.  (I'm now behind a router ;) )
  - Minor stuff not worth mentioning.
  - New Splash Picture. (Thanks Maxi)
  - Fixed bad bug in HTTP Debugger.  It didn't work right because of a upgrade I did to the abort section last version.
  - Added Tooltips.
  - If use History Key Phrase is checked, GET Request method is now automatically used during History Checking. 
  - Fixed bug if you click the Get External IP twice before it finishes.
  - Added Proxy Filter for proxy analyzer, now only good proxies will get though.


 Beta (RC 5) (Thanks DaBest :) ) (07-6-03)
 -----------

  - Added option to Check Hits x times using the same proxy it got the hit with.
  - Changed Edit Wordlist in Auto-Pilot to Open Dialog Box.
  - Added load Proxies to My List option. Proxies are compared against Blacklist and then loaded to My List.
  - Fixed 2 bugs regarding the AutoPilot popup menu. If no jobs in list, then gave a exception error.
  - Fixed bug when loading Sentry, wordlist position didn't load right.
  - Fixed bug with Wordlist from disk, you can now set a start position using the wordlist position slider.
  - Very bad bug in GET Engine, with failure key phrase used and content-length not checked. No hits were
    recorded.
  - More fixes on Read Wordlist From Disk.
  - Fixed a bug with adding proxies to the proxy analyzer. Some bad ports slipped through.
  - Fixed cosmetic bug with Internal ProxyJudge panel. There was a way you can make it not dissapear and it
    was not checked.
  - Added option to save a list of URLs in Auto-Pilot.
  - Added option to load a list of URLs with "Regular Settings" and your Current Wordlist in Auto-Pilot.

 Beta (RC 4) (ThanksR@nge for all your input and help) (04-6-03)
 -----------

  - Added an Auto-Pilot system. See Below.
  - Added a Control Panel Section. Includes Loading and Saving of Snap Shots, and Send Site To AutoPilot. 
  - Tightened up the GET Engine. Should see a small speed increase when using GET Request Method.
  - Upgraded all Key Phrase parsing with the code I used to parse the Headers.
  - Added Retrying with History Checker on Abnormal Replies.
  - Added Save History menu item in the History Popup Menu.
  - Added option to Retrieve Proxy From IE for HTTP Debugger.
  - Fixed bug with Test Specific Site CheckBox. If it is checked and Internal Server is running. It shuts the
    Server down and takes priority.
  - Fixed bug during a test it was possible to change the site you were testing. I disabled the Site ComboBox
    while running a test.
  - Added Header Parsing. See Below.
  - Fixed bug with removing bad proxies. Redirects from the Internal Server weren't deleted.
  - Added option to write Debug Information on Hits. This information includes the Header Response which was
    received from the server, the source of the page (if HEAD was used then this will be blank).
  - Added Snap Shots. See Below.
  - Changed KeyPhrase CheckListBoxes to ListBoxes. Reason for doing this was it clashed with my Snap Shot code.
  - Added Paste Sites To History from clipboard button.
  - Sentry will only reset its initializing variables when the main ComboBox for Site is changed. For example
    the Hit ListBox, Responses, etc.
  - Added option to customize Hit Responses. Now 404, 403, or 302's can be considered hits along with any other
    HTTP Response. Do Not use for 200, because a lot of fake protection won't be used.
  - Added Sound on Abort and Hits.
  - Added option to only use a specified single proxy without deleting your My List.
  - Added an option to retrieve External IP.
  - Added Redirect detection to History Checker.
  - Rewrote a lot of the Redirect code. Now handles redirects more effectively.
  - Removed the Docking Windows to make the form maximize efficiently.
  - Fixed bug with pasting proxies from clipboard to the analyzer.
  - Fixed Read Wordlist From Disk bug. Didn't work because I implemented it during the early dev. of RC3
    and it got changed while I was doing another feature.
  - Fixed bad bug in the refreshing of the blacklist. If a combolist wasn't loaded, the blacklist didn't refresh
    past item 1. This was due to a bad copy/paste mistake.

 Beta (RC 3) (Special Thanks to Wolfman for his various inputs. Your help is greatly appreciated :) (27-5-03)
 -----------

  - Added an option to reactivate all proxies when the active proxies equal or go below x amount.
  - Added an Internal ProxyJudge. Works the same as Proxyrama except for HTTPS and Country Locator.
    See below for more information. (Thanks Gaa Moa for your Open Source)
  - Fixed Bug with Delete Gateway. If Gateway was blank, the proxy was deleted.
  - History now saves on the fly to a file called "Logfile.log".
  - Added a use No Proxy Option. This Option does not save.
  - Fixed Bug with removing duplicates when a new wordlist is added to Wordlist History.
  - Added a Proxy Blacklist. This is used to compare whether a proxy should be loaded into My List when you
    click Update My List.
  - Added a Page Viewer in the HTTP Debugger. It simply just displays in HTML the source which the debugger
    returned.
  - Fixed HTTP Debugger when posting data. It didn't work correctly and caused an error most of the time.
  - Fixed bad bug with "Ban Proxy on 200 Reply". It banned all proxies because I misplaced it in an if/then
    statement.
  - Fixed bug with calculating attempts when aborting. It missed the aborted attempts.
  - Fixed division by zero bug on very slow starting tests.
  - Fixed Bad bug when aborting a test. Was a bug in the retry engine when test was aborted and combos
    that were going to be retried were passed as hits.
  - Added an AboutBox Page
  - Added a randomize function under Proxy Analyzer (Randomize them and then send them to MyList)
  - Added simple manipulation features.
  - Changing wordlist position can now be done on the fly. (I though this was already implemented until
    I realized I forgot to do it when recoding some things for the wordlist from disk option).
  - Added Read wordlist from disk to save memory for big wordlists.
  - Added a button that extracts proxies from clipboard to the analyzer.
  - Added a reset button on the wordlist position panel.
  - Sentry now automatically uses Get request method if you are using a fake prevention that
    requires this request method.

 Beta (RC 2) (All that I can remember) (07-5-03)
 -----------

  - Fixed the bad bug with the comboboxes. They now work.
  - Added an option "Ban Proxy on 200 Reply" under Fake Tab. This was talked about in one of the 
    forums to not use proxies after they returned a hit.
  - Fixed how the Http Debugger displays the source. It now is more easily readable. (Thanks tbscope) 
  - Added Statistics under the Progression tab.  Includes Speed, Elapsed Time, Time Remaining etc.
  - Split the cracking engine into two separate procedures.  Get and Head.  This should quicken
    the code for each, especially Head.
  - Added a QuickLaunch Menu and Editor. This option enables you to quickly run your favorite
    programs easily from within Sentry.
  - Fixed problem with proxy loading for the analyzer. It now verifies the ports to see
    if the proxy is ok to load. (Thanks slysnake)

 Beta (RC 1)   (Date: 25-4-03)
 -----------

  - First release ever.


===================================================================================================
 Some Help and pointers of how to use this tool effectively:

 How to Leech Proxies using Sentry:
   - Download APL
   - Add APL to the QuickStart menu
   - Launch APL and use it to leech
   - Copy proxies to clipboard using APL (or save to file if memory is insufficient)
   - Paste them in Sentry's Analyzer (or load saved proxies from file)

 
 Auto-Pilot
 ----------

  And Auto-Pilot system is an engine that runs a certain amount of jobs, which the user specifies. The
  entire engine is built on using Snap Shots.

   - If a Snap Shot exists for the site added, you can decide to use it. If one does not exist or you decide
     not to use the Snap Shot, the settings of what is currently being used are used for this job. Saved as
     AutoPilot.sss, so essentially you just created a Snap-Shot for that site of the settings you just had.
     This Snap Shot will be used for all the sites that you didn't specify a Snap Shot for.
   - Sleep between jobs is a good way for letting your connections reset (lettings slow connections finish).
   - Auto-Pilot reports a summary at the beginning and end of each job.
   - Use the abort button in the Auto-Pilot Section.
   - You cannot use a wordlist from disk when using Auto-Pilot.


 Header Parsing
 --------------

  Header Parsing is a brand new type of fake protection. Basically, you now can specify keyphrases in the
  header response sent to you by the server. Why is this useful?

   - No more relying on responses to determine if a combo is a hit or not. Some sites like to send out
     different/abnormal HTTP Response codes to fool bruteforce programs. Time to come up with a new method :)
  
   - I should not have put this option in here, but too many people would wonder why it this method is still
     spitting out fakes: 503 and 502 responses are automatically disregarded when using this method.
     If you are still getting fakes, use the Debug Header Response option and add additional Key Phrases.

   - In theory, this method is flawless against certain sites; however, some proxies like to give you a 
     different header than what is actually the correct HTTP Header. That is why Retry Hits x Times works
     within this method. This is only for failure key phrases as successful key phrases don't need a 
     verification.

   - Success Key Phrase parsing only needs to find one of the listed key phrases to be considered a hit.

   - This method, in conjunction with the Debug Option, and a little thought can be very powerful.
 
 Snap Shots 
 ----------

  Snap Shots is a feature that will save you time.

  A Snap Shot is basically what its name describes it as. When you test a site for the first time, a Snap
  Shot is created. What this file contains is all the essential details in Main and Fake tabs.

  Wordlist, Wordlist Position, and Proxy Information do not save.

  Here is a list of the options that are saved:
    - Site's member URL
    - Bots
    - Length Filter
    - Timeout
    - Request Method
    - Ban Proxy On KeyPhrase
    - Ban Proxy On 200
    - Success KeyPhrases
    - ContentLength
    - CheckHits
    - CustomHitResponse 

  The engine is built even so you can use shortcuts once a Snap Shot exists. For instance, you open up Sentry
  and decide to run http://somesite.com/members/index.html

  If you have a Snap Shot of that site, you can even enter somesite.com in the Site ComboBox. Sentry will            automatically detect that you have a Snap Shot of that site and will ask you to load it.

  In the above case, if you load it, the Site ComboBox will now be replaced with the Member's URL saved for
  that site. If you choose not to load it, be prepared for a lot of 200 responses :)


 Internal ProxyJudge
 -------------------

  An Internal ProxyJudge is simple. Your computer acts like an HTTP Server and it connects back to it with
  the proxies in the list. If your IP is found in the Header Data (X_FORWARDED) field, then the proxy is
  not anonymous.
  
  401 determines if the proxy supports a Basic Authentication. Almost all proxies do, so this field should
  almost always have a "YES". The proxy connects to the HTTP Server and receives the Header of a Basic
  Authentication Page. If the response by the Proxy is a 401, than the proxy supports this.

  All pages are created virtually; so you don't really have a proxyjudge.html, etc. on your computer anywhere.

  Locations:

    ProxyJudge: http://<YOUR_IP>:<SERVER_PORT>/proxyjudge.html
    Basic Authentication Page: http://<YOUR_IP>:<SERVER_PORT>/secure/fuck/sex/boobs/xxx/index.html

    Bad words in the Basic Authentication path will filter out proxies that sensor sites.

  Note: Changing the Server Port will not allow some proxies to work. Some proxies can only connect to
        port 80 and changing this port may cause some perfectly legit proxies not to work.


 QuickLaunch Menu (upper right corner, button with the exe icon) is a way to start your favorite programs
  through Sentry. Just open a Path to Exe file using the open button in the editor. The name is filled in
  by Sentry of the program you chose according to the filname of the program. The icon is ripped from the
  Exe file to better identify your programs. Then hit the Add button to add the program to the QuickStart
  menu. Close the QuickLaunch Editor and click the QuickStart Menu to see the program you added. Everything
  is editable, except for the icon.

 Proxy Rotation is set to 1. This is unchangeable. 

 Agent = Browser sent to the site.

 Referer = Customizable, or use one of the predefined variables like <BASE>.'

 Wordlist Position keeps track of where Sentry's position is with your wordlist at any given time. If
  a test ends or you abort a test early, you'll need to reset the wordlist position as well.

 My List = These are the proxies that are being used during your test.

 If your IP comes up wrong in Proxy -> Options, you can change it by Double Clicking the Panel that displays
  your IP.

 Site List and Wordlist History keep track of the sites you've tested and the wordlists you've used.

 Ban Proxy on Bad Keyphrase = If a failure keyphrase is found, the proxy is banned.

 Ban Proxy on 200 Reply = Ban proxy if it returns a 200 response.

 The GET Method 
 --------------

 It is recommended to use the HEAD request method whenever possible because it is the fastest. However,
  the GET request method is a lot more powerful, in terms of fake prevention. The following can only be
  used during GET request method:

   - Check Hits x Times still works with this method, although it should never be used. This option only
     works if you do not specify any fake protection except for this option.
   
   - Content-Length Checker will check the returned source to see if it is greater than x amount of bytes. If
     it is, then a hit is recorded. If less than x amount, proxy is banned.

   - Define Failure Keyphrases. If a keyphrase is found in the source of a returned 200 response, then it
     is marked as bad. If keyphrase is not found, reply is returned as a hit. Extremely useful for sites
     that like to spit fakes. Sentry was built with this in mind.

   - Define Success Keyphrase. If a keyphrase is known on the members page, you can use this option to increase
     the amount of hits on a site. For example, if you get a hit, you can scan through the source of the webpage
     (i.e. members.html) and pick out a distinctive keyphrase (<title>Welcome to My Members Area</title>). Every
     200 reply's source is scanned for these good keyphrases. If one is found, then returned as hit. Everything
     else is a failure. This method also scans redirects for keyphrases. This method can elimanates fake replies.

 Http Debugger sends requests to a given site using various options. Follows Redirects to completion which can
  be very useful for spoofing.

 Progression Tab shows what is happening during the test. Replies Tab has statistics of the current test in
  progress.
 
Feedback is encouraged. Thank you for using my tool.

Sentinel
