====== Interceraptor ====== {{template>infobox| name=EDITME| image=EDITME| sw=-| hw=-| founder=[[user:EDITME]]| interested=[[user:EDITME]]\\ [[user:EDITME]]| status=active }} ~> listener (1) -> intercept (2) -> filter (3) -> real server (4) <~ listener (8) <- intercept (7) <- filter (6) <- real server (5) Listeners: * socks * forwarding * custom routing table SSL: * generate SSL cert per host * for android emulator generate SSL cert according to the real target cert * select custom CA * accept HTTP and redirect to HTTP (arbitrary host via routing table (per host filter)) Intercept (all operations are bidirectional): * hand examination/modification * automatic data modification Filters: * (intercept is a special filter) * response normalization. custom rules that defines which request means that the file does (not) exists * cookie jar * active session maintaining * Throttle (max requests per time ...) * data parsing (nonce extraction. VIEWSTATE) * time analysis for request-response (show the delta) Vulnerability discovery: * http protocol fuzzing / content discovery (files, directories, http parameters) * inner protocol fuzzing (JSON, XML, REST, SOAP) Data manipulation: * base64 * hex/ascii * data validation (html-tidy, json validator, xml validator) ==== GUI ==== * HTML5 rest client ==== module ==== === dataflow === - c-s input match - c-s perform action (modify input / invoke external script or whatever) - c-s send data - s-c recieve data - s-c match output - s-c perform final action data flow direction: c-s -- client to server s-c -- server to client === module interconnection === * do it like they do it in apache mod_rewrite rules ===== roadplan ===== - accept HTTP connection, redirect to SLL service, rule match per HTTP.host - accept SSL connection, fake SLL.CommonName by the target service ===== performance ===== * multithread * fast backend without gui * ability to cancel pending request * each tab can be separated to standalone window * window plugin-like eclipse/netbeans/visalstudio... ===== scanner ===== * passive * active ===== schemas ===== {{ :project:img_20130223_181909.jpg?direct&900 |Thread schema}} {{ :project:img_20130302_163117.jpg?direct&900 |Rules outline}} {{ :project:img_20130302_170003.jpg?direct&900 |Core REST interface}} ===== references ===== * http://code.google.com/p/raft/ * http://www.youtube.com/watch?v=e7FYHaRztWw * https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project * http://portswigger.net/burp/proxy.html * http://www.youtube.com/watch?v=kDVIcW7TZVw * http://vimeo.com/43659037 * www.fiddler2.com * http://proxies.xhaus.com/java/