/*KiD*/'s profileiEDi MemoryPhotosBlogLists Tools Help

Blog


    February 16

    回顾:攻破机房计费系统

      学校二号楼的“电子阅览室”是我以前经常光顾的地方。进去的时候,首先需要在门口刷一次卡,然后用自己的卡号登陆系统。下机的时候,先在电脑上选择“注销”,然后出门刷卡付费。整个过程做得正儿八经的。

      登陆管理软件经查实是本大学自创的,一进去就缩小成一个黄色醒目标示的“IC”托盘图标,一看就不爽。我首先想到的就是:把XP的任务管理器抬上场!于是,我小心按下Ctrl-Alt-Del......当~~~说是管理员禁止了此项功能,想必肯定是管理员修改了注册表。运行regedit看看......当~~~又禁止了,我忍。看来人家从基层就提防着。不过没关系,我运行mmc,居然顺顺利利地进入了组策略管理,这让我高兴了许多,谁叫学校一用就是Professional版本呢?很快找到了“禁用Ctrl-Alt-Del”项,禁用该项过后,再试Ctrl ...熟悉的任务管理器立即浮现在眼前。从进程列表中一看就看到了醒目的黄色“IC”图标,进程是hrclient.exe。那么快就找到了攻击目标,单从这一点我就不看好这个软件。这时候,是人的都会冲动地按下“结束任务”按钮,IC立即就烟消云散了。可是没几秒钟,IC又重新出现在进程列表中~~~晕,这么老土的防御,我还指望它是立即关机以示抗议呢!本以为我可以不借助第三方工具的,可是没辙,只得去下了个Filemon再结束掉IC看看,很快掘出了地方保护组织。接下来,先端掉地方保护,再端掉hrclient。果然一命呜呼啦,皆大欢喜!!很明显事情没有这么简单:

      注意到我刷卡之后>>登陆>>端掉hrclient>>注销!#$%^^^。可没有hrclient,我怎么注销啊?我的钱还扣着呢^^^^^^不过这都不属于软件研究的范畴了,那个看门的软件那么容易就被攻破,显然保护没有到位。不过做事要做到底,我又支一招——让Windows开机不加载它。这样的话我就有空选择“注销”,然后和它说再见,重新启动计算机了。而且试验发现他们没有在硬盘还原上施招,这使得工作起来简便很多。

      为了禁止它自动启动,我到注册表的Run子项下把它连同它的地方保护组织,管它三七二十一一齐删掉。重新启动......就当快要胜利的时候我看见它又浮现出来了~~~倒!......好,我运行msconfig,把里面除微软的服务和启动项全部删除,重启.......我又看见了那熟悉的面孔!!再次设置msconfig,改为诊断性启动,连同微软的服务也一并抛弃掉,重启......天哪,又出现了,真是阴魂不散,这怎么可能?我使出我的绝招,在开机的时候抓住关键瞬间按下亲爱的F8,进入了保护模式。很快屏幕漆黑,就剩下左上角一个光标。信而硬盘灯狂闪,我的心也狂跳。许久,硬盘灯不怎么亮了,屏幕还是一片漆黑,怎么办?再许久,我只好重新启动,祈求天主保佑......完了,这次还没进Win XP就蓝屏死在那里了。看来我遇到了从来没有见过的高深莫测的保护技术,这下完蛋了,身边什么工具都没有。反复几次还是没指望,只好厚着脸皮去叫管理员叔叔。管理员叔叔和蔼地走过来帮我恢复了,此后由于风险原因我停止了研究。其实是由于好奇,而且我以为是那台计算机存在个体差异,于是尝试在其它机器上进入保护模式。结果由于我上一次故作诚实,没有偷看还原密码,又只好请管理员叔叔,管理员叔叔又和蔼地走过来。我看我都快被他认出了,而且事情一直没有什么进展,自己宣布攻击暂时告一段落。这件离奇的事情一直困扰着我,致使我的研究变简单为复杂,严重影响了我的逻辑。因此破解这个愚蠢的程序竟成为我有生以来最失败的作品。

      几个星期后,当我再次来到二号楼“电子阅览室”,心情都平静了。为达到同一目的,我开始着手试验B计划。谁知道,B计划实现起来是如此的容易,以至于它理所当然地成为了最终的破解方案。

    B计划:将功能核心hrclient.exe的代码给偷换掉,这个计划完全寄希望于hrclient.exe的“帮凶”比较愚蠢,启动了一个毫无功能的替代品自己却不知道。

      B计划的实现与优化:首先是试运行,都知道著名的notepad.exe。好,正常启动计算机后什么都别动,把%systemroot%\system32\hrclient.exe偷偷地更名换成hrclient.exe.bak,然后把%systemroot%\notepad.exe更名成hrclient.exe并复制到system32下。OK!注销,重新启动......很好,我很高兴地看到我们的记事本不断地从屏幕上涌出来,此时如果解决掉地方保护组织,它就不会不断跳出来了。这也暗中向我们揭示了地方保护程序的单纯性:每隔一定时间间隔,启动hrclient.exe。而hrclient.exe进程是启动互斥的,从而我们只看到有1个hrclient.exe在运行。虽然程序这样写很简单,但显而易见安全性很低。为了每次不那么麻烦,我使用VB只用独独几行语句实现窗体互斥,然后放个替身,搞定!

      详尽的时间测试表明,计费不像我原先想象的那么人性化,其实是自我第一次刷卡开始,第二次刷卡结束滴。根本与计算机上的那套软件系统毫无关系。那套软件系统仅仅起到防止小人不刷卡溜进来上机的作用。失望ing......当然,由于软件系统被攻破,我可以很方便地实现一卡上多台计算机。要偷税漏税也不是不可以,只是有点麻烦。不过你不要骗我去做那么不光彩的事情。嘿嘿~~~~~

      收获:经过后来的分析发现,为了实现比较隐蔽的自动启动,hrclient.exe修改了注册表HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell项。该项本应是字符串值"Explorer.exe",被修改为"Explorer.exe hrclient.exe",用以随微软系统进程Explorer.exe一并启动。另外msconfig不会更改该项的值。

      当然,知道了如何攻破,我也应该提出软件保护的建议。我会归纳起来,在以后的日志中一并记载下来。

    Comments

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    Trackbacks

    The trackback URL for this entry is:
    http://iedimem.spaces.live.com/blog/cns!5A0E46A6F171D604!130.trak
    Weblogs that reference this entry
    • None