home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / zines / phrack2 / p50_03.txt < prev    next >
Encoding:
Text File  |  2003-06-11  |  25.7 KB  |  596 lines

  1.                                 .oO Phrack 50 Oo.
  2.  
  3.                             Volume Seven, Issue Fifty
  4.  
  5.                                      3 of 16
  6.  
  7.  
  8.                              //   //  /\   //   ====
  9.                             //   //  //\\ //   ====
  10.                            ==== //  //  \\/   ====
  11.  
  12.                        /\   //  // \\    //  /===   ====
  13.                       //\\ //  //   //  //   \=\   ====
  14.                      //  \\/    \\ //  //   ===/  ====
  15.  
  16. ------------------------------------------------------------------------------
  17.  
  18.                                 ----<>----
  19.  
  20.  
  21.                             =--=--=--=--=--=--=--=
  22.                              Portable BBS Hacking
  23.                                   by: Khelbin
  24.                             =--=--=--=--=--=--=--=
  25.  
  26.  
  27.      This hack basically has little to do with the BBS software itself but
  28. with the archiver which is being used.  I've used this technique on a 
  29. mock Renegade setup and with pkzip/pkunzip as the archiver.  I'm sure
  30. that this same type of technique will be successful on many other BBS
  31. platforms and with other archivers as well.  While explaining this, I will
  32. use Renegade and pkzip/pkunzip as my example.
  33.  
  34.     A Renegade setup is most likely vulnerable if it will pkunzip any user
  35. supplied zipfile.  This is because Renegade's default command to unzip files
  36. is "pkunzip -do <filename>".  The -d flag unzips the file retaining any
  37. directories which were included into the zip file and the -o flag will 
  38. automatically overwrite any file. 
  39.  
  40.     Suppose the remote system is also setup in a normal Renegade fashion.
  41. Let's use this file tree as an example:
  42.  
  43.      C:\RENEGADE\
  44.      C:\RENEGADE\TEMP\
  45.      C:\RENEGADE\DATA\            
  46.  
  47.     The other subdirectories are unimportant for our discussion.  Suppose 
  48. that C:\TEMP is where our uploaded file will go for it to be unzipped and
  49. then scanned for viruses.  C:\RENEGADE\DATA\ is where the USERS.DAT file 
  50. is stored, containing all the users login information.  
  51.  
  52.      Wouldn't it be nice if we could put our own USERS.DAT in there instead?
  53. To do this, you must first generate a USERS.DAT file.  This is easy enough.
  54. Just download a copy of Renegade which is the same version as the target
  55. machine and then use the user editor to make a "SYSOP" account with the 
  56. password "SYSOP" (this should be the default anyway on the USERS.DAT file).
  57.  
  58.      Here's how we prepare the zipfile on our own machine:
  59.  
  60.          C:\>md tmp
  61.          C:\>md c:\tmp\ddsdata
  62.          C:\>copy c:\renegade\data\users.dat c:\tmp\ddsdata
  63.          C:\>cd tmp
  64.          C:\TMP>pkzip -pr evil.zip
  65.  
  66.      Now we get out our trusty hex editor and edit evil.zip.  Change every
  67. occurrence of "ddsdata" in evil.zip to read "../data" and make sure that the
  68. slash is a forward-slash and not a back-slash.  Now when you upload
  69. evil.zip to this particular BBS, it will expand to "../data/users.dat"
  70. and your USERS.DAT file will overwrite their USERS.DAT file since the -od
  71. flag is default on Renegade.  
  72.  
  73.      Now you can login as SYSOP with a password SYSOP and do as you please. 
  74. You could also overwrite virtually any file on a BBS like this and believe 
  75. me,  many do have this vulnerability or something very close to it.  You are 
  76. only limited in how much you can traverse up and down directories by DOS's 
  77. maximum file length of 12 (8 plus "." plus 3 = 12).  I quickly tried 
  78. inserting a few blocks into the zipfile in order to produce a limitless 
  79. amount of traversing which but it seemed to corrupt the file for some 
  80. reason.
  81.  
  82.      Removing the -o flag is not a fix for this bug.  Without the -o flag,
  83. you can "hang" the system in a denial of service attack.  By again hex 
  84. editing the names of the files within your evil.zip, you can make it have 
  85. two files with the same name.  When it tries to unzip the second file, it 
  86. will prompt locally whether to overwrite the file or not and "hang" the 
  87. board.  Instead, the -d flag is what should be removed.
  88.  
  89.      This is just an example as I'm sure many other BBS systems do this same
  90. type of uncompressing.  I'd also bet that arj, lha, and several others, can
  91. also be hex edited and yield similar results.  Either way, it's either take
  92. out the "restore/create directories within archive" option or pay the price.
  93.  
  94.  
  95.                                 ----<>----
  96.  
  97.  
  98.  German Hacker "Luzifer" convicted   by SevenUp / sec@sec.de
  99.  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  100.  
  101. SYNOPSIS
  102. ========
  103. On February 5th, 1997, Wilfried Hafner aka "Luzifer" was sentenced to
  104. three years incarceration - no parole, no probation.  I've got the story
  105. for you right from the courtroom in Munich, Germany.  This is one of the
  106. first ever cases in which a hacker in Germany actually gets convicted, so
  107. it's particularly interesting. (Although the court and I use the term
  108. "hacking", this is actually a case of unethical electronic fraud.)
  109.  
  110.  
  111. LUZIFER
  112. =======
  113. Wilfried Hafner (Luzifer) was born on April 6, 1972, in Breschau Italy.
  114. According to his own circulum vitae, which he quoted in court himself,
  115. he's been a pretty smart guy: He started programming at 8 years,and cracked
  116. about 600 Commodore programs, at 14, got a modem and then started a BBS.
  117. In 1990 he was blueboxing to some overseas partylines to communicate with
  118. others.  But he didn't seem to use any other "elite" chat systems like x.25 
  119. or IRC, so most people (including myself) didn't know him that well.  In
  120. 1992 he moved to South Germany to goto school.
  121.  
  122.  
  123. WHAT HE DID
  124. ===========
  125. Luzifer set up some overseas partylines in the Dominican Republic,
  126. Indonesia, The Philippines, and Israel.  Some lines included live chat,
  127. but most were just sex recordings.  Then he used a local company PBX (a
  128. Siemens Hicom 200 model), from his homeline, which was only "protected"
  129. by a one digit code, to dialout to his partylines and his girlfriend in
  130. Chile.  He also was blueboxing (which the prosecution calls "C5-hacking")
  131. from five lines simultaneously, mostly via China.  To trick the partyline
  132. provider and overseas telcos (who are aware of computer-generated calls)
  133. he wrote a little program that would randomize aspects of the calls
  134. (different calling intervals and different durations for the calls).
  135.  
  136. He got arrested the first time on 03/29/95, but was released again after 
  137. 13 days.  Unfortunately he restarted the phreaking right away.  If he'd 
  138. had stopped then, he would just have gotten 1 year probation.  However, he
  139. was arrested again in January 1996, and has been in prison since.
  140.  
  141. Here are some numbers (shouts to Harper(tm)'s Index):
  142. - Number of logged single phone connections:       18393
  143. - Profit he makes for 1 min. partyline calls:      US$ 0.35 - 0.50
  144. - Total Damage (= lost profit of telco):           US$ 1.15 Million
  145. - Money that Luzifer got from the partylines:      US$ 254,000
  146. - Paragraph in German Law that covers this fraud:  263a StG
  147. - Duration of all calls, if made sequentially:     140 days
  148.  
  149.  
  150. THE TRIAL
  151. =========
  152. This trial was far less spectacular than OJ's.  While 7 days had been
  153. scheduled, the trial was over after the second day.  The first day went 
  154. quite quick: The court didn't have enough judges available (two were present, 
  155. but three required), so it had to be postponed after some minutes.
  156.  
  157. At the second day, both, the prosecution and Luzifers two lawyers, made
  158. a deal and plead guilty for three years prison (but no financial punitive). 
  159. In Germany, all sentences over two years cannot be carried out on probation.
  160. But he has been allowed the use of a notebook computer.  Rumor has it that
  161. he might be get an "open" execution, meaning that he has to sleep in the 
  162. prison at night, but can work or study during the day.
  163.  
  164. The deal looked like the prosecution dropped all counts (including 
  165. the one abusing the PBX in the first place) but two: one for the blueboxing 
  166. before getting arrested, and one count for blueboxing afterwards.  They don't 
  167. treat all 18393 connections as a separate count, but just each start of the 
  168. "auto-call-program".
  169.  
  170.  
  171. QUOTES
  172. ======
  173. Here are some interesting and funny quotes from the trial:
  174. "Just for fun and technical curiosity" - Defendant
  175. "Wouldn't one line be enough for technical experience"? - Judge
  176. "I ordered 21 lines, but just got 5" - Defendant
  177. "Lots of criminal energy" - Prosecutor
  178. "He's obsessed and primarily competing with other hackers" - Lawyer
  179. "A generation of run down computer kids" - Prosecutor
  180. "He may keep the touchtone dialer, but we cannot return his laser fax,
  181.  because the company's PBX number is stored in its speedial" - Prosecutor
  182. "Myself and the Telekom have learned a lot" - Prosecutor
  183. "New cables must be installed, new satelites have to be shot into the air" 
  184.   - Prosecutor about the consequences of used up trunks and intl. lines
  185. "The German Telekom is distributing pornography with big profits" - Lawyer
  186.  
  187.  
  188.                                 ----<>----
  189.  
  190.  
  191.         Yet another Lin(s)ux bug!
  192.     By: Xarthon
  193.  
  194.         IP_MASQ is a commonly used new method of traffic forwarding which
  195. may be enabled in newer Linux kernel versions.  I have been doing some
  196. research into this new feature.
  197.  
  198.         IP_MASQ fails to check to make sure that a packet is in the non
  199. routable range.  If you are able to get any packet to its destination, the
  200. header of that packet is rewritten.
  201.  
  202.         Because of the lack of non-routable ip checking, the same tactics
  203. that would be used a gateway machine, may also be used on a machine that
  204. uses ip_masq.
  205.  
  206.         So in conclusion, you are able to spoof as if you are on the
  207. inside network, from the outside.  But hey, what can you expect from
  208. Linux?
  209.  
  210.  
  211.                                 ----<>----
  212.  
  213.                                  11.22.96
  214.  
  215.         daemon9 and w0zz's adventure into warez-pup land... 
  216.  
  217.  
  218.  
  219. *W|ZaRD* u there?
  220. -> *W|ZaRD* yes?
  221. <w0zz> d9
  222. <d9> hi w0zz
  223. *W|ZaRD* r u the prez of BREED?
  224. *** |COBRA| invites you to channel #supreme
  225. <d9> I am hungry
  226. -> *W|ZaRD* yup
  227. *_e|f_* hi there - you got a minute?
  228. *W|ZaRD* alright.. i got a question for u...
  229. *** d9 (plugHead@onyx.infonexus.com) has joined channel #supreme
  230. *** Topic for #supreme: [SpR] Still in discussion phase! [SpR]
  231. *** #supreme _e|f_ 848703589
  232. *** Users on #supreme: d9 @{Imagine} @BL|ZZaRD @W|ZaRD @|COBRA| @_e|f_ 
  233. <_e|f_> re d9
  234. *** Mode change "+o d9" on channel #supreme by _e|f_
  235. <|COBRA|> today is going to be a bad day :(
  236. *W|ZaRD* would you be interested in merging with like 4-6 other groups to become 1 group.??
  237. *W|ZaRD* i mean. all the other groups have like 11 sitez and 8-10 suppliers like NGP
  238. *W|ZaRD* and if we merge we could be up there with Prestige, and Razor
  239. <_e|f_:#supreme> hello d9
  240. <d9> *W|ZaRD* i mean. all the other groups have like 11 sitez and 8-10 suppliers like NGP
  241. -> *W|ZaRD* hmm
  242. *** Inviting w0zz to channel #supreme
  243. <_e|f_> we got a discussion going on here for big plans for a lot of us "smaller" groups (smaller as
  244.         compared to razor, prestige etc) :)
  245. <d9> ah
  246. *** Mystic12 (NONE@wheat-53.nb.net) has joined channel #supreme
  247. <_e|f_> this is all still in discussion stages
  248. <w0zz:#!r00t> hahahaha
  249. *** Mode change "+o Mystic12" on channel #supreme by W|ZaRD
  250. <_e|f_:#supreme> but would you be interested in a joint venture between a few of us smaller release groups
  251.                  to combine into one large release group - to challenge razor and prestige?
  252. <d9> w0zz
  253. <w0zz> you've been sucked into warez kiddie conspiracies
  254. <d9> join me
  255. <w0zz:#!r00t> where are you?
  256. *** Inviting w0zz to channel #supreme
  257. *** w0zz (wozz@big.wookie.net) has joined channel #supreme
  258. <d9> well...
  259. *** Mode change "+o w0zz" on channel #supreme by d9
  260. <w0zz> werd
  261. <_e|f_> re wozz
  262. <d9> hi w0zz
  263. <w0zz> hi there
  264. <_e|f_> i can send u a log to flesh out a few more details if you like
  265. <w0zz> i've got mackin' warez
  266. <d9> hmm
  267. <d9> sure
  268. *w0zz* you recording this for line noise ?
  269. *w0zz* ;)
  270. -> *w0zz* indeed...;)
  271. *w0zz* heh
  272. <d9> the thing is, I have all this porn I want to unload...
  273. <w0zz> yah, i got da mackin porn too
  274. <d9> but, no good place to distro it...
  275. *** ^DRiFTeR^ (~Drifter@203.30.237.48) has joined channel #supreme
  276. *** Mode change "+o ^DRiFTeR^" on channel #supreme by _e|f_
  277. <_e|f_> hey drifter
  278. <d9> I was using this panix account, but all that SYN flooding stopped that cold...
  279. <_e|f_> drifter is muh vp :)
  280. <RAgent:#!r00t> do you even know what BREED is, route?
  281. <d9> warez pups?
  282. <_e|f_:#supreme> drifter: d9 and wozz are from breed
  283. <_e|f_:#supreme> blizzard and wizard are from NGP
  284. <^DRiFTeR^:#supreme> k
  285. <d9:#!r00t> HAHAHAhahahaha
  286. <Mystic12:#supreme> I am also from NGP
  287. *** Signoff: Mystic12 (Leaving)
  288. <W|ZaRD:#supreme> so is Mystic12
  289. <RAgent:#!r00t> well, looks like it.  just wondered if you knew them at all
  290. <d9> w0zz... you get the new shit I send you?
  291. *** Mystic12 (NONE@wheat-53.nb.net) has joined channel #supreme
  292. <w0zz:#supreme> yah
  293. <_e|f_:#supreme> sorry mystic - didnt see yew there
  294. <d9:#!r00t> nope!
  295. *** Mode change "+o Mystic12" on channel #supreme by W|ZaRD
  296. <w0zz> indexed and everything
  297. <RAgent:#!r00t> hahaha
  298. <w0zz> i spanked my monkey for hours
  299. <RAgent:#!r00t> whee
  300. <d9> werd.
  301. <d9:#!r00t> AAAAAHAHAHahahhahaha WOZZ!
  302. <_e|f_> brb
  303. <d9> hmm
  304. #supreme   Mystic12  H@  NONE@wheat-53.nb.net (CCINC)
  305. #supreme   ^DRiFTeR^ H@  ~Drifter@203.30.237.48 (ReaLMS oF Da NiTe - HrD)
  306. #supreme   w0zz      H@  wozz@big.wookie.net (w0zz)
  307. #supreme   d9        H@  plugHead@onyx.infonexus.com (Built Demon Tough)
  308. #supreme   {Imagine} H@  BOB@199.190.110.99 (.:tORn f#E?h:. v1.45 by SLaG)
  309. #supreme   BL|ZZaRD  H@  blizzard@ip222.tol.primenet.com (hehe)
  310. #supreme   W|ZaRD    H@  m3ntal@ip201.tol.primenet.com (M3NTaL)
  311. #supreme   |COBRA|   H@  cobra@slbri3p24.ozemail.com.au (100% ReVpOwEr)
  312. #supreme   _e|f_     H@  _e|f_@203.26.197.12 (blah)
  313. <w0zz:#!r00t> werd
  314. *** Mode change "-ooo _e|f_ |COBRA| W|ZaRD" on channel #supreme by d9
  315. *** Mode change "-ooo BL|ZZaRD w0zz ^DRiFTeR^" on channel #supreme by d9
  316. *** Mode change "-o Mystic12" on channel #supreme by d9
  317. <W|ZaRD> hehe
  318. *** Mode change "+o w0zz" on channel #supreme by d9
  319. <_e|f_> sigh
  320. <W|ZaRD> what would the new group name be.. if this happened?
  321. <d9> the new name?
  322. <W|ZaRD> hmm. nice takeover
  323. <W|ZaRD> hehe
  324. <w0zz> werd
  325. <d9> w0zz, what do you think?
  326. <W|ZaRD> new group name
  327. <_e|f_> d9: ops plz
  328. <d9> r00t?  guild?
  329. <d9> wait
  330. <_e|f_> this is only a temp channel neway d9
  331. <W|ZaRD> guild wuz already used
  332. <d9> those are taken...
  333. <_e|f_> so its a waste to do a takeover
  334. <w0zz> i like r00t
  335. <w0zz> oh
  336. <w0zz> yeah
  337. <w0zz> those guys are eleet
  338. <d9> yah
  339. <d9> I hear r00t has this 10 year old that can break into .mil sites...
  340. *** d9 is now known as daemon9
  341. <w0zz> duod, he's like D.A.R.Y.L.
  342. <W|ZaRD> hehe
  343. <daemon9> yah..
  344. <_e|f_> d9: i take it by this yew aint interested?
  345. <_e|f_> :\
  346. <daemon9> anyway, bak to pr0n.
  347. <W|ZaRD> anywayz.. op me d00d
  348. <w0zz> me too
  349. <w0zz> must have m0re pr0n
  350. *** Mode change "+m" on channel #supreme by daemon9
  351. <daemon9> yes
  352. *** w0zz has left channel #supreme
  353. <daemon9> more pr0n
  354. <w0zz:#!r00t> werd
  355. <w0zz:#!r00t> that rooled
  356. <daemon9> mega-pr0n
  357. <W|ZaRD> porn
  358. <W|ZaRD> hehe
  359. <daemon9> kiddie-pr0n 
  360. <W|ZaRD> op me plz
  361. <daemon9> wizard, you are fine the way you are.
  362. *** w0zz is now known as [w0zzz]
  363. *** daemon9 has left channel #supreme
  364. *** daemon9 is now known as r0ute
  365. <r0ute> hahaha
  366. <[w0zzz]> heh
  367. <r0ute> that was fun.
  368. <r0ute> good way to wake up from a nap
  369.  
  370.  
  371.  
  372.                                 ----<>----
  373.  
  374.  
  375.  
  376.             Large Packet Attacks
  377.             (AKA Ping of Death)
  378.            ---------------------------------
  379.  
  380.  
  381.     [ Introduction ]
  382.  
  383.     Recently, the Internet has seen a large surge in denial of service
  384. attacks.  A denial of service attack in this case is simply an action of some 
  385. kind that prevents the normal functionality of the network.  It denies service.
  386. This trend began a few months back with TCP SYN flooding and continues with the
  387. "large packet attack".  In comparison with SYN flooding, the large packet attack 
  388. is a much more simple attack in both concept (explained below) and execution 
  389. (the attack can be carried out by anyone with access to a Windows 95 machine).  
  390. TCP SYN flooding is more complex in nature and does not exploit a flaw so much 
  391. as it exploits an implementation weakness.  
  392.     The large packet attack is also much more devastating then TCP SYN 
  393. flooding.  It can quite simply cause a machine to crash, whereas SYN flooding 
  394. may just deny access to mail or web services of a machine for the duration of 
  395. the attack.  For more information on TCP SYN flooding see Phrack 49, article 13.
  396. (NOTE:  The large packet attack is somewhat misleadingly referred to as 'Ping of 
  397. Death` because it is often delivered as a ping packet.  Ping is a program that 
  398. is used to test a machine for reachablity to see if it alive and accepting 
  399. network requests.  Ping also happens to be a convenient way of sending the 
  400. large packet over to the target.)
  401.     The large packet attack has caused no end of problems to countless 
  402. machines across the Internet.  Since its discovery, *dozens* of operating 
  403. system kernels have been found vulnerable, along with many routers, terminal 
  404. servers, X-terminals, printers, etc.  Anything with a TCP/IP stack is in fact,
  405. potentially vulnerable.  The effects of the attack range from mild to 
  406. devastating.  Some vulnerable machines will hang for a relatively short period
  407. time then recover, some hang indefinitely, others dump core (writing a huge 
  408. file of current memory contents, often followed by a crash), some lose 
  409. all network connectivity, many rebooted or simply gave up the ghost.
  410.     
  411.     [ Relevant IP Basics ]    
  412.  
  413.     Contrary to popular belief, the problem has nothing to do with the
  414. `ping` program.  The problem lies in the IP module.  More specifically,
  415. the problem lies the in the fragmentation/reassembly portion of the IP module.
  416. This is portion of the IP protocol where the packets are broken into smaller 
  417. pieces for transit, and also where they are reassembled for processing.  An IP
  418. packet has a maximum size constrained by a 16-bit header field (a header is a 
  419. portion of a packet that contains information about the packet, including
  420. where it came from and where it is going).  The maximum size of an IP packet 
  421. is 65,535 (2^16-1) bytes.  The IP header itself is usually 20 bytes so this 
  422. leaves us with 65,515 bytes to stuff our data into.  The underlying link layer
  423. (the link layer is the network logically under IP, often ethernet) can seldom 
  424. handle packets this large (ethernet for example, can only handle packets up to 
  425. 1500 bytes in size).  So, in order for the link layer to be able to digest a 
  426. large packet, the IP module must fragment (break down into smaller pieces) 
  427. each packet it sends to down to the link layer for transmission on the network.
  428. Each individual fragment is a portion of the original packet, with its own 
  429. header containing information on exactly how the receiving end should put it 
  430. back together.  This putting the individual packets back together is called 
  431. reassembly.  When the receiving end has all of the fragments, it reassembles 
  432. them into the original IP packet, and then processes it.
  433.  
  434.     [ The attack ]
  435.  
  436.     The large packet attack is quite simple in concept.  A malicious user  
  437. constructs a large packet and sends it off.  If the destination host is
  438. vulnerable, something bad happens (see above).  The problem lies in the
  439. reassembly of these large packets.  Recall that we have 65,515 bytes of space 
  440. in which to stuff data into.  As it happens, a few misbehaved applications
  441. (and some specially crafted evil ones) will allow one to place slightly more 
  442. data into the payload (say 65,520 bytes).  This, along with a 20 byte IP
  443. header, violates the maximum packet size of 65,535 bytes.  The IP module will 
  444. then simply break this oversized packet into fragments and eschew them to 
  445. their intended destination (target).  The receiving host will queue all of the 
  446. fragments until the last one arrives, then begin the process of reassembly.  
  447. The problem will surface when the IP module finds that the packet is in
  448. fact larger than the maximum allowable size as an internal buffer is 
  449. overflowed.  This is where something bad happens (see above).
  450.     
  451.     [ Vulnerability Testing and Patching ]
  452.  
  453.     Testing to see if a network device is vulnerable is quite easy. 
  454. Windows NT and Windows 95 will allow construction of these oversized
  455. packets without complaining.  Simply type: `ping -l 65508 targethost`.  In
  456. this case, we are delivering an oversized IP packet inside of a ping packet, 
  457. which has a header size of 8 bytes.  If you add up the totals, 20 bytes of IP 
  458. header + 8 bytes of ping header + 65,508 bytes of data, you get a 65,536 byte 
  459. IP packet.  This is enough to cause affected systems to have problems.
  460.     Defense is preventative.  The only way to really be safe from this
  461. attack is to either ensure your system is patched, or unplug its network tap.
  462. There are patches available for just about every vulnerable system.  For
  463. a copious list of vulnerable systems and patches, check out a 'Ping of Death'
  464. webpage near you.
  465.  
  466.             daemon9
  467.             Editor, Phrack Magazine
  468.             (daemon9@netcom.com)
  469.  
  470.  
  471.  
  472. ---------------------------------------------------------------------------
  473.  
  474. To: route@onyx.infonexus.com
  475. From: xxxx xxxxxxxxxxx <xxxx@xxxxxxxxxx.com>
  476. Subject: Re: ?
  477. Status: RO
  478.  
  479. Actually, hang on. I've looked your story up and down looking for ways to
  480.  make it more interesting and I can't. I think it's actually just too
  481.  technical for us and lacks a newsworthiness that was evident in the SYN
  482.  article. I mean, you never tell us why we should care about this, and
  483.  frankly, I don't know why we should. So, you're welcome to take another
  484.  pass at it, otherwise, I'll give you the kill fee of $100.
  485.  
  486. xxxx
  487.  
  488. [ Too techinical?  Any less techincal and I would have to make everything
  489.   rhyme so people wouldn't fall asleep. ]
  490.  
  491. ---------------------------------------------------------------------------
  492.  
  493.  
  494.                                 ----<>----
  495.  
  496.  
  497.                        Netware Insecurities
  498.                               Tonto
  499.  
  500.                             [the rant]
  501.         
  502.         I realize that to most security professionals and
  503.         system administrators who will see this magazine,
  504.         the term "NetWare security" is a punchline.  That
  505.         unfortunately does not change the fact that many 
  506.         people in the field, myself included, must deal
  507.         with it daily.  Really, honestly, I do agree with
  508.         you.  Please don't write me to tell me about how
  509.         futile it is.  I already know.
  510.  
  511.         Since its release, not much security news has really 
  512.         surfaced surrounding Novell NetWare 4.  A lot of the 
  513.         security flaws that were present in 3.1x were 'fixed'
  514.         in 4.x since Novell pretty much redesigned the way
  515.         the user/resource database worked, was referenced, 
  516.         and stored.  Some flaws remained, although fixes for
  517.         them are well-known, and easily applied.  However,
  518.         NetWare 4 came with its own batch of new security
  519.         flaws, and Novell has done a poor job of addressing
  520.         them, hoping that consumer-end ignorance and the
  521.         client/server software's proprietary design will hide 
  522.         these holes.  You'd figure they would know better by 
  523.         now.  
  524.         
  525.         The ability to use a packet sniffer to snag RCONSOLE
  526.         passwords still exists;  NetWare 4 institutes client-end
  527.         authentication to implement its auto-reconnect feature;
  528.         the list goes on.  Below are just a couple of examples
  529.         of such bugs and how to deal with them.  As new Novell
  530.         products bring many existing LANs out onto the Internet,
  531.         I think you will see more of this sort of thing coming 
  532.         to the surface.  I hope that when it does, Novell decides 
  533.         to take a more responsible role in security support for
  534.         its products.  I'd hate for such a widely used product
  535.         to become the next HP/UX.
  536.  
  537.  
  538.                            [the exploits]
  539.  
  540. [BUG #1]
  541.  
  542. This bug is known to affect NetWare 4.10.  It's probably present in 4.01 
  543. and other versions that support Directory Services, but I haven't 
  544. verified this.  I'm only a CNA, so I tried to verify this bug by talking 
  545. to a group of CNEs and nobody had heard of this, although there are 
  546. apparently other bugs in previous versions of LOGIN.EXE.  
  547.  
  548. The bug is a combination of some weak code in LOGIN-4.12 
  549. (SYS:\LOGIN\LOGIN.EXE) and a default User object in NDS - the user template 
  550. USER_TEMPLATE. LOGIN allows input fields to be passed directly, instead 
  551. of filtered, if they are passed to LOGIN correctly -- by specifying an 
  552. object's context explicitly (as opposed to implicitly by using CX) and 
  553. putting the User object's name in quotes.
  554.  
  555. F:\PUBLIC>LOGIN SVR1/"USER_TEMPLATE"
  556.  
  557. For Server object SVR1 in an appropriate context, this would probably work
  558. and give a generic level of user access, perhaps to other volumes, 
  559. programs, etc.  That will vary depending on the setup of the server.
  560.  
  561. The fix is simple.  Load SYS:\PUBLIC\NWADMIN.EXE and disable the user 
  562. template's login.  But from now on, you will have to manually enable
  563. login for any new User objects created in your tree.
  564.  
  565.  
  566. [BUG #2]
  567.  
  568. This isn't a bug as much as a failed attempt to add security to a DOS file
  569. system.  But since Novell touts (and teaches) it as a file system security
  570. tool, it is worth addressing.
  571.  
  572. NetWare comes with a tool called FLAG, which is supposed to be the NetWare
  573. equivalent of UNIX's chmod(), in that it controls file attributes for files
  574. on local and NetWare file systems.  The problem lies in that Novell  
  575. thought it would be neat to incorporate its tool into the world of DOS file 
  576. attributes as well.  So they made FLAG alter DOS file attributes 
  577. automatically to correspond with the new attributes installed by FLAG.  
  578. This would've been cool, except that DOS's ATTRIB.EXE can also be used to 
  579. change the DOS-supported file attributes set by FLAG.  (Archive, Read-only, 
  580.  Hidden, and System, respectively)  And since ATTRIB doesn't reference NDS 
  581. in any way, the problem is obvious;  A file that was marked Read-only by 
  582. its owner, using FLAG, could be compromised by a user other than its owner,
  583. with ATTRIB, and then altered or deleted.
  584.  
  585. There isn't an easy fix for something that is this broken, so it is 
  586. simply recommended that you use IRFs (carefully) to designate file rights 
  587. on your server.
  588.  
  589.  
  590. [ 01-07-97 - Tont0 ]
  591.  
  592.  
  593.                                 ----<>----
  594. EOF
  595.               
  596.