首页 > 实战入侵 > 记一次反爆黑阔菊花

记一次反爆黑阔菊花

2013年11月13日 发表评论 阅读评论

因为之前西电比赛,而因为我当时国庆节外出旅游,又十分想参加比赛,所以找残废那厮要了一个VPS,登上去之后发现有个进程不对劲,

系统进程列表里多了一个自启动项fwq.exe
是以我的账号的身份登录的

立马感觉就不对劲,不过当时沉醉于西电的比赛,这个事情倒没有多在意
等到今天回学校之后才好好的去看这个玩意,首先有几个东西很搞笑,

黑阔的这个fwq.exe我当时搜遍全盘还没找到,于是祭出msconfig,在系统启动项里发现有个启动项为fwq.exe,路径指向开始菜单的启动,但是开始菜单里死活没找到,结果手贱搜索了下启动,发现问题了


这有个启动不太对劲啊,而且为什么有几个启动文件夹是隐藏的,定位进去以后发现啥都没有,然后删除的,啥提示都没有,进到那些隐藏的文件夹里,发现了罪魁祸首fwq.exe,立马扔给火眼分析一下,
分析结果在这里

往下翻的查看信息的时候,发现一个信息让我很兴奋


亮点不是创建了一个互斥体,亮点是那个域名,于是直接ping域名得到IP
IP:115.28.40.46

然后根据系统入侵的思路,首先是扫描了一下主机开放了什么端口

115.28.40.46     21    Open
115.28.40.46     80    Open
115.28.40.46     81    Open
115.28.40.46     135   Open
115.28.40.46     139   Open
115.28.40.46     445   Open
115.28.40.46     1025  Open
115.28.40.46     1026  Open
115.28.40.46     1433  Open
115.28.40.46     2013  Open
115.28.40.46     3389  Open
115.28.40.46     8080  Open

看了一下,根据以往经验,80 81 8080都应该是web服务端口
2013目测是这个黑阔肉鸡的上线端口
鄙人比较熟练玩1433,于是直接把IP丢到工具里穷举密码去
然后就习惯性的5下shift
于是…….


喜闻乐见的shift后门,不过这个看起来有些诡异,第一是标题栏,为何是system32/cmd.exe

第二,既然是cmd.exe为何要输入密码,当时有两种想法,第一,黑阔君自己吧自己修改过的cmd.exe替换了原系统,第二映像劫持。

于是随便输入了一点什么,丫的秒退,我就纳闷了····,秒退一般是程序执行完了才会有的事情,那么就是说这个程序执行完了,习惯性的按下Ctrl+C,一个喜闻乐见的事情来了

卧槽,居然是批处理,给跪了,然后就想着这里应该输入什么,当时也不知道脑子咋想的,就寻思着,网页能通过注入绕过验证,我试试变量注入,说不定能成功
于是我先在自己机器上写了个批处理,用来测试这个理论是否正确

@echo off
set /p a=input:
echo %a%
pause

执行之后键入了

&net user

结果出现了我想要的一幕


果然注入进去了,于是就绞尽脑汁的想着怎么注入进去一绕过他这个狗屁验证
找了一些资料,最终在http://tieba.baidu.com/p/902294704 这里找到了办法

1.首先先让我们来看看最简单的if判别格式,也是大多数人都喜欢用的:

@echo off
set /p a=password:
if "%a%" == "123" goto right
echo your password is wrong & ping -n 3 127.1>nul & exit
:right
echo right!!!!

这种最最普通的格式,效果很明显,只用输入正确的密码“123”才可以跳到后面的right去
不然就会提示密码错误,然后退出,导致没法继续进行程序。
然而绕过的方式很简单,只需要输入 【” == “” if not “】 不加两个括号。
这种绕过的方式很简单,我们把括号里的内容代入到命令里去看看
if “” == “” if not “” == “123” goto right 就变成了这种形式,程序先辨认第一句if “” == “”
而这一句无疑是正确的,于是就辨认后面的一句
if not “” == “123” ,如果”” 不等于 “123” 就 goto right
这样一来,不管密码是什么,都可以成功的绕过去,直接跳到right 中去。

看了下原理,基本上和网站的and 1=1 ,and 1=2的原理一样,都是一个判断真假的问题,只要让最后的结果为真,那么就成功的绕过去了,
那么他原先的判断语句
if “%a%” == “123” goto right
输入密码来自于用户键入,并且没做任何过滤(- -!,哪家批处理还给做过滤)
于是构造一个语句带入进去就成功的实现了饶过,首先它是在双引号当中
那么就先闭合引号,闭合了之后,接下来就是逻辑问题了
根据贴吧贴子当中说的,直接加入这个代码,构造成一个逻辑语句为真的语句即可
构造成功之后变成了

if "" == "" if not "" == "123" goto right
|         |      |          |
|    T    |      |     F    |
|    1    |      |     2    |

那么代码的意思就很明显了
表达式.1,都是空的,肯定恒等,
表达式.2,空的不可能去等于一个值,所以为假
由于这个是一个或的关系,所以只要有一个为真,那么最终结果就为真,于是就成功的绕过去了,
So……


都到这里了,直接net user XXX&net localgroup上去先看看
上去一看,吓尿了

抓鸡黑阔牛逼大发了····
接下来帮服务器的主人打扫卫生,通告主人,Over

其他说明

如需转载烦请注明出处
来自于LinE's Blog
From: http://blog.l1n3.net
谢谢~~

分类: 实战入侵 标签: ,
  1. firing
    2014年8月5日23:53 | #1

    楼主写好棒,支持,酷壳解密的也不错

  2. 徽弘
    2014年8月19日17:29 | #3

    略叼、

    • line
      2014年8月20日01:39 | #4

      哈,运气而已···

  3. Guest
    2014年8月20日09:06 | #5

    很有意思的说

    • line
      2014年8月20日12:47 | #6

      哈,过程确实很有趣

  4. Rice
    2014年10月15日15:01 | #7

    略屌,这个注入有意思

  1. 本文目前尚无任何 trackbacks 和 pingbacks.