|
![]() | 作者: nightcolor [nightcolor]
![]() |
登录 |
1.UNIX的一些基础知识: 1#UNIX系统具有如下特点: 分级树形文件结构、文件、目录表和外部设备作为文件统一管理、提供功能完备的命令程序语言"Shell语言"、提供了各种程序设计语言和大量的程序设计子系统、系统核心和外部程序大部分采用C语言编写、采用进程映像对换技术、系统效率高。 2#主流UNIX系统及制造商: 386BSD----------------Internet免费 AIX------------------IBM A/UX------------------Apple BSD-------------------Univ.of Califonia ar Berkeley FreeBSD-----------------Internet 免费 HP-UX------------------HP UNIXWare----------------Novell SunOS------------------Sun Microsystems UNIX System V--------------AT&T Solaris------------------Sun Microsystems 3#基础UNIX指令: 下边是UNIX指令和MS-DOS指令的一个对比,相信我不用多说,使用过DOS的朋友,都能够进行一些基本的操作了! CD = cd CD.. = cd.. DIR/W = ls DIR = ls -l DIR/AH = ls -al AH=(hidden) -al=(include hidden files as well as regular) RENAME = mv ATTRIB = chmod MD = mkdir RD = rmdir DEL = rm COPY = cp 4#一些对入侵者可能有帮助的指令及文件: 命令:uname -a 用途:显示系统版本 对入侵者的用途:了解系统版本情况,对症小药。 命令:ps 用途:查看系统进程 对入侵者的用途:比如查看到ROOT启动了HTTPD,而WEB目录又任意用户可写的话,那本地用户可以写一个CGI,以ROOT的身份来调用系统命令,发达啦! 命令:w 用途:查看当前系统中的用户及其正在操作的命令对入侵者的用途:看看是不是有其它人在系统上呀,如果有就最好别下手了 命令:su 用途:改变当前用户在系统中的身份 对入侵者的用途:su root,不用说了吧! 命令:ln 用途:建立文件连接 对入侵者的用途:我前天发现了SunOS的一个文件链接漏洞,可以通过ln命令来改变文件的属主,属性,内容:) 命令:rlogin 用法:rlogin -l username hostname 用途:远程登陆其它主机 对入侵者的用途:我们可以用它在登陆到其它的主机上,就是所谓的跳板吧 ! 命令:gcc 用法:gcc rootshell.c -o rootshell 用途:编译C程序 对入侵者的用途:不用我说了吧! 文件:$HOME/.histroy 用途:历史记录文件 对入侵者的用途:用来记录你的命令,当然也可能是别人的命令,有两个作用如果这个系统已经被别人入侵了,而且是使用你这个用户名进行的,呵呵,看看history说不定能帮你找到他留下的后门,第二点是你成功获得ROOT后,一定要清除这个文件哦。 文件:.bashrc 用途:Bash Shell的个性化配置文件 对入侵者的用途:这个文件在启动Bash Shell的时候运行,它可以包含任何合法的命令及复杂的脚本指令,你想想在root的目录中放个这会有什么好处?(每一种Shell都有这样的文件哦) 文件:/etc/passwd 用途:用户密码文件 对入侵者的用途:看看系统有那些用户也好呀,或者当下来配合下边要提到的shadow进行密码破解也是一种办法哦。 文件:/etc/shadow 用途:用户密码文件 对入侵这的用途:其实用户真正的密码是在这里,如果可以的话把它和/etc/passwd一起下载到本地,然后john跑用户密码 文件:/etc/inetd.conf 用途:系统配置文件 对入侵者的用途:more /etc/indtd.conf看看系统到底开放了那些服务。当然我们也可以利用它做后门,这以后再谈。 文件:.rhosts 用途:rlogin和rsh通过它做简单的认证 对入侵者的用途:"+ +"的后门你一定听说过吧? 文件:login.c 用途:用户登陆程序的源代码 对入侵者的用途:修改源代码,放个后门在里边。 文件:wtmp,utmp,message,lastlog 用途:日志文件 对入侵者的用途:清除你在系统中留下的影子 (第二章) 1.UNIX Shell: 命令解释程序Shell处在内核(Kernel)与外层软件之间,具有非常重要的地位及作用,Shell的作用是逐条的解释用户输入的命令,并给出回答及提示,它用于协调用户及系统的一致性,在用户及系统中进行交互。当用户进入系统,就开始和Shell命令解释程序的主控程序进行通信,每引用一次解释程序就调用一个Shell,读入并执行用户键入的指令。Shell还包括一些后台处理、输入输出改向、管道、过滤程序和文件名生成等功能。 Shell中提供了与程序设计语言C、Java等类似的控制结构,可以方便的数据和文件执行一组命令或根据执行的条件而选择不同的命令来执行。 1#Shell变量赋值: Shell的变量可以是数值也可以是字符串: num=1 str="hello world" 当你要使用这些变量的时候需要在变量前加上"$"符号,下边我们来输出变量num: echo $num 将会在屏幕上输出"1" 2#与用户交互: Shell程序允许和用户进行交互,也就是可以接收用户键盘的输入,我用一个简单的Java程序例子和Shell的接受用户输入做一个比较: -----------Java Input------------- import java.io.*; class UserName{ public static void main(String args[]){ DataInputStream DIS=null; String str=""; System.out.println("What's your name?"); try{ DIS=new DataInputStream(System.in); try{ str=DIS.readLine(); System.out.println("Hello "+str); }catch(Exception e){ System.out.println(e); System.exit(1); } }catch(IOException e){ System.out.println(e); System.exit(1); } } } //程序的运行结果: 程序输出:"What's your name?" 等待用户输入:lovehacker[enter] 程序输出:Hello lovehacker 程序结束 --------------cut here---------------- ---------Input.sh--------------------- #!/bin/sh echo What's your name? read yourname echo Hello $yourname ----------cut here-------------------- 多么简单? 3#case结构: Shell的case结构有几个重点需要注意: 1.case语句开始的表示方法是:case 变量 in 2.每一个开关需要使用";;"来结束:k) killall -HUP httpd 3.需要用esac来结束case语句。 ---------AuthHacker.sh---------------- #!/bin/sh #程序将严正用户名,如果是lovehacker输出欢迎词并输出/etc/passwd,如 果不是输出who are you?并退出 echo "Please Input your name" echo "name": read name case $name in lovehacker) echo "Welcome lovehacker"; more /etc/passwd;; *) echo "who are you?"; exit;; esac -------------cut here----------------- 哎,我讲的是入侵教学呀,怎么快被我搞成了编程教学了,呵呵!耐心的等待,一会儿就会进入正题的,我只是希望你多学点东西而已 4#for循环: 在Shell中使用for循环可以按指定的次数执行一组指令,它的基本格式如下: for var in word1 word2 word3 wordn do command command ... done do和done中的命令为循环体,执行它们的次数由关键字"in"后边的单词来决 定的。 看一个比较简单的列子 --------------for.sh------------------- for name in lovehacker bigshrimp jonak jack shellbash ... do echo $name echo $name >>cnsl.txt done ---------------cut here---------------- 好啦,好啦!估计你们也看烦了,那就结束这章吧,编程需要自己多动手,好在Shell编程很简单,你可以多找些好的例子看看,以后可以写自己的Exploits了。下一章我们开始进入正题Hacking Unix System。 如果你对Shell编程有兴趣的话,可以到以下链接,系统的学习一下: http://xyqdy.533.net/shell.html (shell编程) http://www.cniti.com/~twoboy/unix/unix_shell/shell1.html (介绍shell编程) |
地主 发表时间: 04/01 15:39 |
![]() | 回复: coody [coody] ![]() |
登录 |
老兄: 说实话,我挺佩服你的 知道几种操作系统,我想你对linux也比较熟悉吧。 能不能教教我这个对电脑技术痴迷,但是刚开始的小弟呢? 谢谢! 我的QQ号是21721832 加我好吗 |
B1层 发表时间: 04/01 16:07 |
![]() | 回复: nightcolor [nightcolor] ![]() |
登录 |
UNIX我可是才学,WINDOWS比较了解,linux我可是完全没有学过 |
B2层 发表时间: 04/01 19:46 |
![]() | 回复: vishx [vishx] ![]() |
登录 |
UNIX可以下吗?????请问 |
B3层 发表时间: 05/14 16:56 |
![]() | 回复: yy [yy] ![]() |
登录 |
linux 是一种unix unix有很多版本 |
B4层 发表时间: 05/14 18:41 |
![]() | 回复: nightcolor [nightcolor] ![]() |
登录 |
linux是变种,,,呵呵 |
B5层 发表时间: 05/14 20:42 |
![]() | 回复: top [top] ![]() |
登录 |
夜哥``! 又是转的? 看都看不动! |
B6层 发表时间: 05/15 09:55 |
![]() | 回复: nightcolor [nightcolor] ![]() |
登录 |
UNIX不能不学啊,呵呵.... |
B7层 发表时间: 05/15 12:39 |
![]() | 回复: xiaojun [xiaojun] ![]() |
登录 |
有点长了,但却是好东东。 |
B8层 发表时间: 05/15 14:36 |
![]() | 回复: vishx [vishx] ![]() |
登录 |
给我张UNIX图片好吗 |
B9层 发表时间: 12/29 19:37 |
![]() | 回复: ypy [ypy] ![]() |
登录 |
记得这篇文章应该叫《unix入侵基础》 |
B10层 发表时间: 12/29 19:40 |
![]() | 回复: ypy [ypy] ![]() |
登录 |
linux不难学 不过用惯windows的兄弟需要一点概念的转变 听说rh8.0的KDE界面不比windows差多少了 我还没用过rh8.0 |
B11层 发表时间: 12/29 19:44 |
![]() | 回复: vishx [vishx] ![]() |
登录 |
RH就是Red Hat |
B12层 发表时间: 12/30 16:55 |
![]() | 回复: netax [netax] ![]() |
登录 |
我也刚开始学linux,安了个rh linux 7.3 personal 希望有人告诉我哪个软件可以宽带网拔号 |
B13层 发表时间: 01/04 11:40 |
![]() | 回复: ac [ac] ![]() |
登录 |
bsd,solaris等 |
B14层 发表时间: 01/24 23:07 |
![]() | 回复: cut_cx [cut_cx] ![]() |
登录 |
有收获! |
B15层 发表时间: 02/07 15:30 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号