假如我是一个黑客,哈哈

假如我是一个黑客,哈哈

黑客资讯hacker2015-11-10 8:16:357584A+A-

我攻破了美国海军网站
  软件开发部和网络部的战争

一、题记

这篇小说还是挺有娱乐性的,我不想否定别人的劳动成果。但做为一个 IT 专业人员,看不出那些是虚构,那些是写实,那些是胡扯,就有点说不过去了。

本文的原则是这样的:夸大和虚构是允许的,着重指出在 HACKING 逻辑和方法上的胡扯。说错的时候,受到嘲笑在所难免。大伙有砖就砸吧。

二、“我是一个黑客”和“我攻破了美军海军网站”两章

在前两章中,“我”展现了两次黑客手段,攻破了同事的一台 Windows 2000 Professional 和一个美军的海军网站。仔细推敲,都有漏洞。

先说 W2K Pro 的HACKING。

》我开始操作了。我开始开动扫描器扫我们单位内部网。我的计算机所在的子网段254个地址只有10多个人用了。所以其他地址我都可以用,我前面说我有个c类地址就是因为这个。当然,我在我们的出口路由器上动了手脚。呵呵,但是我不会搞任何破坏。兔子还不吃窝边草呢,我比兔子强吧?
》根据我的经验,我们内部网的菜鸟很多。而且都是用的windows系统。我开的扫描器就是大家都知道的流光。这个东西对付菜鸟的机器非常有用。果然,一会儿,3个网段扫完,找到十几台有漏洞的机器。小敏安静的看着,尽管茫然,但是还是很期待的样子。
》“找到了。”,我看中了一个计算机名字叫ZCW的计算机,2000专业版本。他的密码居然就是计算机的名字。呵呵,别笑,很多人犯这个错误。


步骤正确。任何 HACKING 的第一步都是扫描对方的端口和 OS 类型,而且主人对口令很大意。再看“我”如何攻进去。

》当然现在我已经有100%的把握了。现在就是上传程序,启动他的 telnet service。然后远程连接,放了个屏幕监视软件上去。然后启动客户端,我的机器上出现了对方的屏幕。


这一段就含混其词了。如何上传程序?

只好假设对方在一台 W2K Pro 上运行了 IIS 并且 FTP enabled, 而且这个叫 ZCW 的GROUP 权限在 ADMINISTRATORS 以上; 而且装了 RAS, 使得“我”可以远程登录和运行程序来启动 telnet service。而此时 ZCW 正在前台玩游戏而对 Task Tray 上弹出的提示视而不见,当然这并不是不可能。

W2K Pro 是否允许同一个用户ZCW同时有两个 Login sessions?我不太肯定。

再说海军网站的 HACKING。“我”已经知道目标机的配置是 SCO Unixare7.0/Apache/PHP/vsftp1.2/,并且发现了一个叫 caption Tom 的管理员。

有必要插一句,早期黑客如 凯文·米特尼克 的 HACKING 方法主要是社工(Social Engineering) 和穷举(Password Enumeration)。

前者如给当事人打电话,用最甜密的嗓音告诉对方,你是当事人的电话公司或 ISP 公司的技术员,由于要检修线路需要暂时知道你的口令。一但你给出口令,黑客就会在当事人的户头留下后门(BACKDOOR),当事人随后改变口令也没用了。

后者是根据当事人的的生日电话号码等线索穷举口令,现在的黑客多用程序做了。

好吧,我们假设叫 caption Tom 的用户名就是 caption Tom,这是一步很大的跨越,然后“我”在自己的机器上运行一个破解密码的(PASSWORD BREAKING)程序并且真的得到了口令,记住,这是一个BBS程序的口令。

》我重新回到我的目标上来。我认真地进入那个网站,美国海军网站的总站。在它的那个bbs上一边闲逛,一边想如何进一步提升自己的权限。刚才我已经能上传一些php程序,但是我获得它的密码文件失败了。怎么办?我一边逛,一边想。我现在可以上传文件和下载它的的www server下的任何文件。
》改它的主页是没什么问题。但是这个不是我想要的,我需要的是root权限。为了不被他们的管理员发现,我马上写了个php程序,对它的 WWW 下可以访问的目录和文件进行了遍历,很快就找到了那个bbs的log文件,一个叫 的文件。立刻下读了其中的几句回来看了下,全部读回来,太慢,因为有 200MB 之大!
》看来这个bbs的管理员也满懒的,好久没清除了。一看,立刻认定是bbs的log文件,立刻写了代码把凡是有我的ip地址的记录全部删除,呵呵,文件立刻小了好多。


很好!比如 Apache 是以 nobody/nobody 的身份运行的,它产生的 的 Owner 也是 nobody/nobody,当然可以运行一个“我”上传的 PHP 程序,同样以 nobody/nobody 的身份来修改 .

》我知道了那个 caption tom 的上传帐号。突然灵光一闪,不知他的vsftp用的是虚拟帐号,还是系统帐号?如果是系统帐号,呵呵,你就麻烦了。脑子里面闪念之间,手上已经启动了ssh连接客户端。输入ip,敲入 caption tom 的 ftp帐号,回车。。。。。。


又是一个巧合的假设。姑且听之。

》下面的问题就是把自己变成root啦,这方面unix是绝对的吃亏。只要 unix 能获得它的普通帐号,并且能上传文件,能执行文件,那遇到高手,这个 unix 就挂定了。我已经具备了两个条件,马上看看能否执行程序。马上用 C 写了一个最简单的 hello world 程序。使用 GCC一编译。

》哈哈,没有报错,gcc 可用,我在这个 caption tom 的帐号下拥有所有权限。我心情已经轻松了许多,我已经感到胜利就在眼前。。。。。。下面就是使用溢出大法,只要溢出,就可看到 # 号了。呵呵,其实web页这个东西是漏洞最多的地方。从他入手,一般都能找到缺口。现在直接从系统入手已经不怎么好用了。

》先使用我上传了一个unix的溢出程序,编译,执行,笑着等待出现那个 # 号,但是,我的笑容凝固了。# 没有出现,而且我的ssh也被中止连接了!

》shit!看来肯定是溢出程序出问题了。立刻重新连接,还好,unxi 就是稳定,还没死机。一切正常。用 w 命令看了一下,还好,管理员不在。现在的目标就是想办法让它溢出。


.....

》那些写文章的人写的都很潇洒,要么是故作潇洒,要么就是根本就没有自己真正去破译过什么。其实完全不是那么回事。已经不知道试了多少次了,看看时间,已经凌晨3点了。我倒了杯水,喝了一口,继续敲击键盘。突然,在我正准备进行下一次尝试的时候。连接没有中断,那个#符号出来了。我停住那已经都有惯性的手指。长输了一口气,掩饰不住心里的狂喜,在笔记本记下溢出地址。下次如果再遇到这样的系统,不用这么辛苦了。

这就不太可信了。我敢说作者并不真的理解“溢出大法”。Buffer Overflow Hacking 是 Cornell 大学的学生 Robert Morris Jr.在1988年发明的,当时全世界的网站几乎全 DOWN 掉了。

其原理很简单:比如分配一个10 bytes 的变量 buffer,那么在内存中紧跟着 buffer 必然是堆栈指针 sfp 和返回指针 ret:

  1. buffer sfp ret

  2. [BBBBBBBBBB][xxxx][xxxx]

复制代码

如下代码将使得

  1. char bsdshell[] = "\x1\x2\x3\x4\x5\x6\x7\x8\x9\xa"

  2. "\x1\x2\x3\x4"

  3. "\xff\xff\xff\xff";


  4. strcpy(buffer, bsdshell);

复制代码


ret 的值变为 "\xff\xff\xff\xff"。原理就是如此,可用以下两步使程序给出 root 的 sh, 既弹出“#”号。

1。使用 execl 调用一个权限为 root 的程序,叫它 vulnerable
2。vulnerable 将 ret 的地址改为调用 /bin/sh 的地址。

换句话说,只有 root 有权力把 vulnerable 的所有权改为 root,然后才能使用“溢出大法”得到“#”。用户 caption Tom 不可能运行自己的程序而得到“#”。 作者混淆了鸡和蛋的逻辑关系。

当年 Robert Morris Jr.发现已属于 root 系统程序 finger 存在 Buffer Overflow 的问题,才使他的 WORM 传遍了全球。而现在,这个漏洞已经堵上了。

三、软件开发部和网络部的战争

作者说他 DEBUG 时能从 assembly 码看出 DES 算法就算他行吧,能用一台AMD1600一天一夜猜出一个12bytes的密码也没什么。但逻辑和方法的错误就是误导了。

从这章的文字中,很容易看出作者的知识深度和广度。虽然写的很热闹,从行家的眼光看,这个极不可能发生,原因很简单,SWITCH 和 ROUTER 在作者眼里根本视若无物。

》管他的,先想办法上网再说。财务部和我们软件部连接的是同一个交换机。这个交换机再连接到同一个路由器上。他们网络工作正常。说明凡是软件部的ip肯定都被过滤掉了。网络部的机器都是通过一个交换机直接连接到总出口路由器上的。因为胡队长对全单位的机器都作了 ip 和网卡绑定,所以 ip 没办法改的,否则,改个财务部的 ip 就可以上网了。


从小说中看,作者所在的公司的网络拓扑结构上,至少有以下特点。

1。总出口路由器(ROUTER), 华为 R262X 型。被作者反编译后发现的万能口令(?!吹吧)
2。网络部的的机器都是通过一个交换机(SWITCH)直接连接到总出口路由器
3。财务部与软件开发部共用一个交换机(SWITCH),这个交换机再连接到同一个路由器上

》那个胡队长(我们软件部的人都这么叫他)什么也不是,而且是学化学的,因为业余爱好计算机,玩计算机也不错,也就成了其它部门心中的高手。由于当时用flash作了一个我们单位的宣传材料,深得上层人士的欢心。当时,还没有软件部,单位建设网络部的时候,没有其他的人选,于是这位“高手”就坐上了网络部主任的宝座。当然这些我也是听其他元老级人物说的。我也是后来才来的。


但作者又说:

》胡队长是和我们的网络建设一起成长起来的,虽然其它方面他不行,但是他在网络方面配置的熟练程度,这不是吹的。在路由器或者防火墙方面搞点小手脚。还不是小菜一碟?根本不需要其他人代劳。


现在胡队长在 ROUTER 上给作者的软件开发部下了药,而作者要把这些配置神不知鬼不觉地改过来,这可能吗?

小说中一系列令人眼花燎乱的 HACKING 是这样的:

1。先从软件开发部 ping 财务部的一台机器,确定共用的 SWITCH 没问题。
2。从软件开发部攻入财务部的一台机器。
3。再通过一台相连的 ROUTER 攻入总出口路由器
4。在财务处 server 上安装了个软件路由器。
5。然后进入我们的总路由器,在路由表中加了一条规则,把胡队长的计算机的数据全部转发到财务处的软件路由器上,
6。然后通过财务处的路由器再转向那个出口路由器。接着在财务处的路由器上安装了我自己写的包过滤软件。
7。查看胡队长使用 TELNET 时的口令。

从1。就不太可能。安装 SWITCH 的目地是为了设置 VLAN (Virtual Local Network). 财务部与软件开发部共用一个交换机,并不意味着它们在同一个VLAN。把它们设在不同的VLAN才是正常的,这样的话根本 ping 不通,别说攻入了。

再说3和5,如何攻入一个 ROUTER。重要的 ROUTER 一般通过 Rollover cable 与 PC 的 COM: 口相联,根本不给 Hacker 任何可乘之机。

当然 ROUTER 一多,管理员必然会设置 Ethernet 的连通,设置 ROUTER 的 VTY 口令,以实现远程管理。一般情况下,必然同时设置 access lists 来限制来防者。胡队长给软件开发部下了药就是通过设置一条 access list,却不对 ROUTER 的 LOGIN 设置任何 cess lists,这合理吗?

就算作者能攻入,他大概不知道 ROUTER 有一条 show history 命令,或胡队长比马文才还要傻,才会不漏馅:-)

虽说小说中使用华为 R262 XROUTER, 华为 SWITCH(?)。但从华为和 CISCO 的官司看,它们使用了同样的 CLI(Command Line Interface)。估计其它概念都是一样的,故有此疑。


点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 4条评论
  • 寻妄梦息2022-05-28 14:16:37
  • lists,这合理吗?就算作者能攻入,他大概不知道 ROUTER 有一条 show history 命令,或胡队长比马文才还要傻,才会不漏馅:-)虽说小说中使用华为 R262 XROUTER, 华为 SWITCH(?)。但从华为和 CISCO 的官司看,它们使用了同样的 CLI(
  • 野欢海夕2022-05-28 13:41:34
  • TER 在作者眼里根本视若无物。》管他的,先想办法上网再说。财务部和我们软件部连接的是同一个交换机。这个交换机再连接到同一个路由器上。他们网络工作正常。说明凡是软件部的ip肯定都被过滤掉了。网络部的机器
  • 离鸢野梦2022-05-28 15:23:29
  • 这个 caption tom 的帐号下拥有所有权限。我心情已经轻松了许多,我已经感到胜利就在眼前。。。。。。下面就是使用溢出大法,只要溢出,就可看到 # 号了。呵呵,
  • 萌懂辞忧2022-05-28 11:38:43
  • 原理就是如此,可用以下两步使程序给出 root 的 sh, 既弹出“#”号。1。使用 execl 调用一个权限为 root 的程序,叫它 vulnerable2。vulnerable 将 ret 的地址改为调用 /bin/sh 的地址。换句话说,只有 root 有权力把 vulnera

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理